Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
20.11.2003, 18:54
thinktank



Hi alle,

Ich habe das Problem, dass bei dieser Stelle immer eine Exception kommt, wenn ich auf pPlayer->origin zugreife, wenn es einen Mapchange gibt und man in der 3rd person ist. Hier ist der Code:
Quellcode:// cl_dll / in_camera.cpp / void DLLEXPORT CAM_Think( void )
// ...
    if(pPlayer = gEngfuncs.GetLocalPlayer())
    {
        VecEnd = pPlayer->origin; // <- Exception
// ...
Der Fehler ist (afaik) klar: Der Zeiger zeigt nicht dorthin, wohin er zeigen soll. Doch wie kann ich das überprüfen, ohne dass ich eine Exception werfe?

--


Dieser Beitrag wurde am 20.11.2003 um 18:56 von thinktank bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
20.11.2003, 23:16
Creeper



hi,

1. gibts da noch ein problem. mach mal wenn du in 3rd person modus bist ein teamwechsel. der aendert das model naemlich nich richtig. hab das leider auch noch nicht hinbekommen. man muesste ihn wieder in 1st-person modus schicken, team wechseln und wieder in 3rd modus. oder den fehler aufm client beheben :/

k, nun zu deinem problem, das liegt daran dass hl in den ersten 3-5 sekunde nach nem mapchange den pPlayer Pointer noch nciht richtig erstellt hat, du aber schon da rein wechseln willst. so war das jedenfalls bei mir. hab einfach ne zeitabfrage reingebaut

Quellcode:cl_entity_t *pPlayer = NULL;
    pPlayer = gEngfuncs.GetLocalPlayer();

    float time = gEngfuncs.GetClientTime();

    if (time < 4.0f)
        return;
nur mal nebenbei, ist das bei dir da richtig?

if (pPlayer = gEngfuncs.GetLocalPLayer())

weil ein if auf ne wertzuweisung ist immer richtig, glaub ich.

es reicht auch nich pPlayer zu pruefen, weil da ein wert drinsteht, nru halt ein falscher pointer. aber so gehts jedenfalls

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com


Dieser Beitrag wurde am 20.11.2003 um 23:17 von Creeper bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
21.11.2003, 17:07
thinktank



Danke, darauf wäre ich nicht gekommen, dass er ja die ClientTime wieder auf 0.0 setzt. Das dürfte damit gelöst sein.

Zu deiner Frage:
Ich glaub du verwechselst da was ;). Es ist praktisch der Standard-Anfänger-Fehler in C/C++, dass man statt z.B.
Quellcode:if(b==true)
Quellcode:if(b=true)
schreibt, also Vergleichs- mit Zuweisungsoperatoren verwechselt.

In meinem Code weist er zuerst pPlayer den Rückgabewert von GetLocalPlayer zu und überprüft dann, obs true oder false(oder halt NULL) ist.

Wenn du das nicht glauben willst, weil ich bis jetzt durch nicht so geistreiche Antworten geglänzt habe: Hier sind ein paar Zeilen, die du fast überall finden kannst:
Quellcode://...
FILE* file;
if(!(file=fopen("hallo.txt","r"))
// Fehler

//...

--

zum Seitenanfang zum Seitenende Profil || Suche
003
23.11.2003, 17:01
Creeper



hey, jo stimmt, naja ich war mir halt nicht ganz sicher ;)

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com

zum Seitenanfang zum Seitenende Profil || Suche
004
23.11.2003, 23:14
Creeper



sag mal, hast du das teamwechsel-model-problem gefixt bekommen ?

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com

zum Seitenanfang zum Seitenende Profil || Suche
005
24.11.2003, 03:02
Gott



team wechsel moddel wechsel wat fürn problem erklärs ma

--

millirem und bequerel , kleine kinder sterben schnell

Arsch für alles bei War in Europe
www.warineuropemod.com

zum Seitenanfang zum Seitenende Profil || Suche
006
26.11.2003, 15:43
thinktank



Ehrlich gesagt, kenn ich den Bug auch nicht. Wenn ich was rausfinde schreib ichs hier rein.

--


Dieser Beitrag wurde am 26.11.2003 um 15:43 von thinktank bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
26.11.2003, 19:36
Creeper



k, ich bin in team1 und im 3rd und wechsle dann zu team2, also sterbe, komm in observer und spawne als team2 und bleibe im 3rd, dann wechselt der das model nicht. obwohl die model variablen stimmen, der wechselt halt irgendwie die anzeige des models nicht. wenn ich dann im 1st das team wieder wechsle, sodass ich wieder team1 bin und dann wieder in 3rd gehe, hab ich das model von team2.

k, dank Gott ;) hat sichs erledigt. Ich hab den Modelwechsel einfach vor dem PlayerSpawn eingebaut, anstatt sofort beim Teamwechsel. Damit gehts komischerweise.

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com


Dieser Beitrag wurde am 26.11.2003 um 20:50 von Creeper bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
03.12.2003, 13:34
gp



HI

Hat jemand ein FAQ wie man die 3rd-person sicht im Mp einbaut??

danke

--

zum Seitenanfang zum Seitenende Profil || Suche