.| Autor | Beitrag |
|---|---|
|
000 10.12.2001, 19:32 Nicemice Moderator |
Hi, Mein Problem: ...und ich bekomme einen Pointer zurück, wenn ich die Liste von Indexe durchgehe. (klar) -noch ein Spieler verbinder ...und ich bekomme zwei Pointer zurück, wenn ich die Liste von Indexe durchgehe. (auch klar) -nun trennt ein Spieler die Verbindung. ...und ich bekomme wieder zwei Pointer zurück, wenn ich die Liste von Indexe durchgehe. (warum das ?, es müßte doch eigntlich einer sein) --www.d3opencoop.com - A Doom3 Cooperative Mod |
|
Profil || Suche |
|
001 10.12.2001, 21:40 Mazze |
Weiß nicht. Kann mir grad den Source-Code der Funktion nicht ansehen, aber du kannst ja mit if(pPlayer) dosomething testen, ob es den Player auch gibt! --BattleTech-MOD: |
|
Profil || Suche |
|
002 10.12.2001, 23:44 Nicemice Moderator |
Alles was ich machen will, ist eine Liste mit den Spieler, die aktuell verbunden sind. Das ist alles. --www.d3opencoop.com - A Doom3 Cooperative Mod |
|
Profil || Suche |
|
003 11.12.2001, 09:21 hausi |
Gibt es nicht in der client.cpp eine Funktion, wenn ein Spieler connected und eine, wenn der Spieler disconnected (Bin gerade bei der Arbeit, kann also nicht nachsehen) -- |
|
Profil || Suche |
|
004 11.12.2001, 14:23 Archangel |
das sollte funzen... kA ob das funzt, kanns gerade nit ausprobieren.. -- |
|
Profil || Suche |
|
005 11.12.2001, 14:49 Nicemice Moderator |
Hi, Die Sache ist die: Wenn ein Spieler den Server wieder verläßt, wird das dazugehörende CBasePlayer Objekt nicht gelöscht, sondern nur in so eine Art 'Init' Zustand versetzt. Das hat zu Folge, das man 'leere' CBasePlayer Objekte zurückbekommt. Wenn man die obige Funktion testet, einen Spieler connecten und wieder trennen läßt, wird trotzdem seine ID aufgelistet. Ich hab jetzt ein mäßig elegant Möglichkeit gefunden, die einem die (tatsächlich) verbunden Spieler liefert:
www.d3opencoop.com - A Doom3 Cooperative Mod Dieser Beitrag wurde am 11.12.2001 um 14:50 von Nicemice bearbeitet. |
|
Profil || Suche |
|
006 11.12.2001, 15:31 Archangel |
öhm, nur mal so rein aus interesse, ist &pPlayer->edict()->v nicht gleich pPlayer->pev ? -- |
|
Profil || Suche |
|
007 11.12.2001, 17:37 Prefect |
Archangel: ja :) Das Problem, das ihr habt, liegt eigentlich in der Engine. Die entfernt nämlich Playeredicts nicht sofort bzw. nicht komplett (das sieht man auch im Spiel; Leute, die Offline gegangen sind haben noch eine Zeit lang einen "Geist" von sich im Spiel). Wenn du tatsächlich eine genauere Auflistung der verbundenen Spieler brauchst solltest du entsprechenden Code in ClientPutInServer() und ClientDisconnect() einbauen. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
008 11.12.2001, 17:55 Another1 |
soweit ich weiß, muss man einfach den netname checken Another1 ...relaxing..atm =) |
|
Profil || Suche |

