Nein SpielerAutoInfo da steht irgendwo ein new davor, das will ich sehen ![]()
Beiträge von Kaliber
-
-
Dann...
SpielerAutoInfo[vid][slot][saAnmeldungsOrt]
Wie sieht die Deklaration davon aus?
-
Steht irgendwo in deinem Skript #define MAX_VEHICLES
Das halt doof, kann auch sein, dass das irgendwo in Includes von dir steht.
Mit Glück ist es auch nicht neu definiert worden, printe dir am besten mal den Wert von MAX_VEHICLES

Falls dieser > 250 sein sollte, dann liegt der Fehler wo anders und es muss noch eine andere Variable in deinem Code geben

Diese kannst du durch print Debugging finden...mach viele print Statements und da wo der Code abbricht, die darunter werden nicht mehr aufgerufen

-
und wie du MAX_VEHICLES
sammal..les doch nicht immer nur die Hälfte

-
Dann zeig mal, wie die Variablen deklariert sind und wie du MAX_VEHICLES definiert hast

-
Schau dir deine Variablen an, die in dem Codeabschnitt verwendet werden.
Und nun suche die, wo [vid] verwendet wird.
...hast du meinen Beitrag auch wirklich gelesen?

Ich hab sogar ein Beispiel gemacht...
Alles anzeigenTankInhalt[vid] = SpielerAutoInfo[playerid][slot][saTankInhalt];
Batterie[vid] = SpielerAutoInfo[playerid][slot][saBatterie];
MeterStand[vid] = SpielerAutoInfo[playerid][slot][saMeterStand];
Motor[vid] = SpielerAutoInfo[playerid][slot][saMotor];
Licht[vid] = SpielerAutoInfo[playerid][slot][saLicht];
HandbremsePos[vid][0] = Pos[0];
HandbremsePos[vid][1] = Pos[1];
HandbremsePos[vid][2] = Pos[2];
HandbremsePos[vid][3] = Pos[3];
Handbremse[vid] = SpielerAutoInfo[playerid][slot][saHandbremse];
TagesMeterStand[vid] = SpielerAutoInfo[playerid][slot][saTagesMeterStand];
FRadio[vid] = SpielerAutoInfo[playerid][slot][saFRadio];
TankInhaltArt[vid] = SpielerAutoInfo[playerid][slot][saTankArt];Da schau, es geht um diese Variablen, da wo [vid] verwendet wird...
-
Aber wohl irgendwas < 204...
Sonst würde der Fehler ja nicht auftreten

-
Dann wird es das nicht sein.
Schau dir deine Variablen an, die in dem Codeabschnitt verwendet werden.
Und nun suche die, wo [vid] verwendet wird.
Zum Beispiel: TankInhalt[vid]
Wie ist jetzt TankInhalt deklariert?
Wenn es new TankInhalt[203]; ist, dann ist hier der Fehler...da das Array zu klein ist.
Überprüfe eben deine Variablen...und vergrößere den Array Bereich so, dass es sagen wir mal 250 Autos platz haben, man will da ja auch immer ein bisschen Puffer haben, falls man eben InGame Autos erstellt...
-
Naja, irgendwas muss ja auf 203 oder so definiert sein...wenn das MAX_SPIELERAUTOS ist, dann ja.
Keine Ahnung, ich kennen deinen Code nicht...
-
Ich meinte nur den Log vom crashdetect...
Accessing element at index 204 past array upper bound 203
Da, das ist dein Fehler.
Das bedeutet die vehicleid ist 204, allerdings ist dein Array nur für 203 ausgelegt.
Sprich du musst dein Array einfach nur vergrößern bzw einfach MAX_VEHICLES verwenden und das halt groß genug definieren

-
Dann bitte doch einfach mal den ganzen Log posten

-
Du setzt das in der falschen Reihenfolge zurück.
Du solltest adVeh als letztes auf INVALID_VEHICLE_ID setzen, sonst wird versucht auf den INVALID_VEHICLE_ID index zuzugreifen, was dann zu einen Fehler führt

Mit crashdetect kannst du dir solche Fehler im server.log anzeigen lassen

-
-
Wie speicherst du denn jetzt, ich hoffe du speicherst trotzdem noch immer saModelID.
Und änderst du diesen Wert von der Modelid nochmal irgendwo?!
-
SpielerAutoInfo[playerid][slot][saModelID] = CreateVehicleEx(SpielerAutoInfo[playerid][slot][saModelID]
Fällt dir was hier auf?
Du überschreibst die Modelid hier mit der vehicleid.
Das macht nicht soviel Sinn, da solltest du wohl eher eine temporäre Variable für die Vehicleid verwenden, oder diese in deinem enum anlegen.
-
SpielerAutoInfo[playerid][slot][saModelID]
Da handelt es sich ja um diesen Wert.
Offensichtlich weist du diesen falsch zu.
Zeig uns doch mal, wo bzw wie du das machst bzw wo du das verwendest

-
Vor dem `PosX` fehlt offensichtlich ein , was man sofort sieht, wenn man das Query vor Augen hat

-
Printe dir doch wieder direkt das Query, da siehst es dann doch direkt...
-
204 = vehicleid die du speicherst.
560 = modelid die du speichern willst

Jetzt such die Stelle im Code und nutze GetVehicleModel oder greif auf die richtige Model Variable zu

-
, WHERE `ID`
Lösche genau das...das hat da nichts verloren
