.
|
|
| Autor | Beitrag |
|---|---|
|
000 25.09.2001, 16:37 Morgan[HLF] |
Hi Leute, Nun möchte ich das am Anfang des Spiels ein Spieler das Monster wird ! Wenn dieses Monster einen Spieler tötet , dann wird dieser Spieler das Monster! Wie könnte man das realisieren ?! Problemlösungen und Denkanstöße sind willkommen! --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
001 25.09.2001, 17:38 R2-D2 |
definier ne variable in der player.h, die du zb "m_iClassNumber" nennst. if(m_iClassNumber==0) alles klar? --®2-D2
Projects:
|
|
Profil || Suche |
|
002 25.09.2001, 17:45 Morgan[HLF] |
Das ist mir von Anfang an klar gewesen, mein Problem liegt darin, das wenn das "Monster " einen tötet dieser dann das Monster wird ! alles klar ?!:) --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
003 25.09.2001, 17:47 Retro |
Dürfte per "pev->attacker->m_iClassNumber = 1;" gehen --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
004 25.09.2001, 18:02 anothergb02 |
wenn du es ganz simpel mache willst machst du das so: Being in john Malkovich |
|
Profil || Suche |
|
005 25.09.2001, 18:30 Morgan[HLF] |
öhm ja alles klar:=) Du meinst also ich soll in der CBaseAttacker oder wied das heißt die Abfrage machen wen das "Monster" getötet hat ja? Oder sehe ich das falsch ? Andere Denkansätze sind willkommen:) --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
006 25.09.2001, 21:09 Morgan[HLF] |
So das mit den beiden Spielerklassen habe ich jetzt hinbekommen!! Meine Variable heißt m_iPlayerClass!! Wenn man in Spiel kommt soll einer der Spieler das Monster werden! Ich habe dafür diesen Code: pPlayer->m_iPlayerClass = rand()%1+1; Es gibt ja 2 Klassen also soll er auch nur 2 Zufallszahlen generieren! Aber wo soll dieser Code hin, ich denke mal entweder in der multyplay_gamerules.cpp in PlayerSpawn oder in player.cpp in Spawn! Was denkt ihr ? Und wie kann ich es machen das nur einer von allen Spielern der Scream am Anfang wird ?? --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
007 26.09.2001, 13:15 thinktank |
Du kannst aber auch die Variable pev->playerclass benutzen (ist ja extra dafür vorgesehen (oder?)). Aber benutze nicht pev->classname , da das der Name der Klasse(also in diesem Fall : "player") ist und nicht der Name der anderen Klasse (z.B.:"Monster"). Oder ? pPlayer->m_iPlayerClass = rand()%1+1; Da Punkt-Vor-Strich gilt muss du es folgendermaßen schreiben : pPlayer->m_iPlayerClass = rand()%2; Oder wenn du willst, dass nur eine 1 und eine 2 rauskommen können, dann so: pPlayer->m_iPlayerClass = (rand()%2)+1; Verstanden ;) ? Oder war das falsch ( ich bin ziemlich unsicher, bei den ganzen Profs hier ;) ) [/edit] --Dieser Beitrag wurde am 26.09.2001 um 13:19 von thinktank bearbeitet. |
|
Profil || Suche |
|
008 26.09.2001, 13:51 Archangel |
nein, das ist falsch rand()%2 liefert eine zahl zwischen 0 und 2, also 3 zahlen und @Morgan: |
|
Profil || Suche |
|
009 26.09.2001, 14:14 Morgan[HLF] |
Ja das habe ich ja, jetzt habe ich noch ein paar Probleme und zwar 1. soll das Monster solange das Monster bleiben bis ein Spieler den killt Need Assistance! --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
010 26.09.2001, 14:54 Archangel |
versuchs mal so: in der CBasePlayer::Killed(entvars_t *attacker, ...........) schreibst du hin: ich weiß nit ob der param attacker heißt, und garantie, daß es absturzsicher funzt hab ich auch nich, aber ich geh mal davon aus, das die entindizes 1 - 32 (oder 1 - MAXCLIENTS) für die spieler reserviert sind.. wenn m_iPlayerClass private is, musst du noch ne funktion SetPlayerClass einbauen.. -- |
|
Profil || Suche |
|
011 26.09.2001, 15:15 Morgan[HLF] |
Muss das nicht so aussehen: 0 ist für Spielerklasse Mensch if(m_iPlayerClass==0) { // Spieler ist Mensch Der erkennt das attacker nicht, ich habe daraus pevAtacker gemacht! Solbald ich dann sterbe stürzt hl ab! --http://www.powercreator.de <-Screen & Printdesign Dieser Beitrag wurde am 26.09.2001 um 15:31 von Morgan[HLF] bearbeitet. |
|
Profil || Suche |
|
012 26.09.2001, 16:20 Archangel |
nein nein... |
|
Profil || Suche |
|
013 26.09.2001, 16:47 Morgan[HLF] |
Also muss das so bei mir aussegehen wenn Monster 1 und Opfer 0 ist ? if(m_iPlayerClass!=1) // Spieler ist Mensch Ich habe jetzt noch ein Probelem und zwar wie kann ich abfragen ob schon ein Spieler ein Monster ist ? Bestimmt nicht mit pPlayer ! --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
014 26.09.2001, 18:36 anothergb02 |
int monsters = 0; CBasePlayer *pPlayer = NULL; das ist alles ! --Being in john Malkovich |
|
Profil || Suche |
|
015 26.09.2001, 21:13 Prefect |
OMG was müssen meine armen Augen da lesen? zahl % 2 ergibt _nur_ 0 oder 1. Das ist doch eigentlich logisch, denn es ist der Rest einer Division durch 2. Und wenn man was durch 2 teilt, dann kriegt man entweder Rest 0 oder Rest 1. Das hat man mal in der Grundschule gelesen ;p Um also einem Spieler rein zufällig eine PlayerClass zuzuweisen machst du einfach m_iPlayerClass = rand()%2; bzw. im HL-Code sowieso m_iPlayerClass = RANDOM_LONG(0,1); Und danach würde ich den DeathMessage-Code in den Gamerules durchsuchen, da hat man nämlich alles schön aufgelistet: Wer getötet wurde, von wem usw. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
016 26.09.2001, 21:15 Archangel |
ack :\ -- |
|
Profil || Suche |
|
017 26.09.2001, 21:52 thinktank |
Danke , Prefect ;) ! Wenigstens einer, der an mich glaubt :D ! |
|
Profil || Suche |
|
018 26.09.2001, 22:04 Morgan[HLF] |
Jungens Jungens das Problem mit dem Zufall ist doch schon laaaaaange gelöst!!!! Also nochmal meine Probleme: THX For Help --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
019 27.09.2001, 15:51 Morgan[HLF] |
Keiner eine Idee ? --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
020 27.09.2001, 16:40 Linga Administrator |
du hast das gestern erst gepostet. vielleicht wartest du mal einen moment ab? deinen alten post hättest du übrigens auch editieren können. -- |
|
Profil || Suche |
|
021 29.09.2001, 10:17 Morgan[HLF] |
Also den 2. Punkt habe ich jetzt jetzt benötige ich nur noch Punkt 1: 1. Wie und wo kann ich es machen das nur einer der Spieler am Anfang das Monster wird! Jemand eine Idee wie das aussehen könnte ? --http://www.powercreator.de <-Screen & Printdesign |
|
Profil || Suche |
|
022 01.10.2001, 19:33 SAugSTelle |
also wo denk ich mal in multiplayer_gamerules.cpp unter CHalfLifeMultiplay :: PlayerSpawn aber wie weis ich nich (wüsst ich aba gern) ich versuchs jez mal selber (bei mir geht es nicht um nachmachungen oder monster!!). also wenn ich meine idee hinkrieg dann kann ich dir wahrscheinlich auch sagen wie du dein monter hinkriegst... mal sehen ;) -- |
|
Profil || Suche |
|
023 01.10.2001, 19:51 Prefect |
Lies dir mal den Code von anothergb02 durch, das ist eine Schleife mit der du die humans und monsters zählen kannst. Und jetzt rate mal was zu tun ist... genau, immer wenn !monsters mußt du den Spieler, der in Erwägung kommt, zum Monster machen. Am Besten wäre es, du würdest regelmäßig (alle 30-60 Sekunden) so einen Sicherheitstest machen für den Fall, daß der Monsterspieler das Spiel verläßt. Zwar wird normalerweise eine entsprechende Disconnect-Funktion aufgerufen (in der du natürlich auch einen Aufruf auf den Test machen solltest), aber die Engine ist in Sonderfällen afaik etwas nachlässig. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
024 07.10.2001, 18:36 bbjoker |
Mache doch einfach ein VGUI-Menü, das am Anfang einer Map erscehint in dem einer das Monster wählen kann, der Rest dann NUR den Menschen! Ich kenne deine Spielidee auf dem HULK-Mod zu Q3A! die Dateien die du veränden musst: hud.cpp u.s.w.! Les dir einfach nen Tut´durch gibt viele zu diesem Thema! -- |
|
Profil || Suche |
|

