Bei deinem Query fehlt die WHERE Klausel.
Kannst doch kein offenes Query abschicken...
Bei deinem Query fehlt die WHERE Klausel.
Kannst doch kein offenes Query abschicken...
Laut dem Forum ist die Version upper R7
Sobald du mich zitierst wird mir das schon angezeigt, du brauchst nicht nochmal extra mich anstupsen mit dem Ding.
Zum anderen, laut welchem Forum?
und wenn man googelt und nichts dazu findet, dann handelt es sich entweder um ein geheimes mysteriöses Plugin, welches nur im Darknet oder per PNs verteilt und entwickelt wird oder es ist mumpitz und die aktuellste Version ist auf dem bestehenden Github repository, so wie schon seit den letzten ~10 Jahren...
An dem Code ist soviel komisch, da bin ich gerade zu faul auf das alles ein zugehen.
Ich hoffe du siehst, dass man den Code auch etwas verkürzen und vereinfachen kann:
forward ShowMembers(Showid);
public ShowMembers(Showid)
{
new rows=cache_num_rows(), Name[MAX_PLAYER_NAME], string[250], playerid, Rang, fID = pInfo[Showid][pFraktion];
for(new i = 0; i<rows; i++)
{
cache_get_value(i, "Name", Name);
cache_get_value_name_int(i, "Rang", Rang);
playerid = GetPlayerIdFromName(Name);
format(string, sizeof(string), "%s\n%s\t%d\t%s", string, Name, GetFrakRangName(Rang, fID), (IsPlayerConnected(playerid))?("Online"):("Offline"));
}
strins(string,"{FFFFFF}Name\tRang\tOnline/Offline\n",0,sizeof(string));
ShowPlayerDialog(Showid, DIALOG_MEMBERS, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Fraktionsmember", string, "Ok", "");
return 1;
}
Alles anzeigen
Versuche den Code mal ![]()
Ich denke das kam daher, dass du viel zu oft direkt auf diese playerid zugegriffen hast und wenn der Spieler nicht online ist, wird playerid = INVALID_PLAYER_ID zugewiesen.
INVALID_PLAYER_ID = 65535
Und ich denke eine andere Funktion konnte diesen Wert nicht handeln und hat dann verkackt ![]()
Wäre nett, falls mir jmd die github Page geben könnte.
Wie kann man die github Page nicht finden?
Ich meine, sie ist der 1. Treffer bei google wenn man das eingibt und überall auf allen anderen Seiten verlinkt: https://github.com/pBlueG/SA-MP-MySQL/releases
SpielerAutoInfo[MAX_PLAYERS]
...da ist der Fehler.
Da kannst du nicht SpielerAutoInfo[vid] nutzen, wenn das für playerid vorgesehen ist.
Nein SpielerAutoInfo da steht irgendwo ein new davor, das will ich sehen ![]()
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.