Beiträge von Kaliber
-
-
Einer ne Idee ?
Ja, es scheint dass das Skript wirklich schlecht geskriptet wurde.
Es wurden zu große Arrays lokal deklariert und auch global wurde anscheinend zuviel Speicher reserviert.
Also schau wann dieser Fehler auftritt und verkleinere die Arrays

-
Er zeigt mir den fehler weiterhin
Bist du sicher?
Hast du neu kompiliert und den Server neugestartet
-
Hat jemand da einen Tipp, wie ich diesen Block hier mit ternären Operatoren ausdrücken kann?
Hier mein Vorschlag

return (!tmp) ? INVALID_PLAYER_ID : randoms[(idx>tmp)?0:((idx<0)?(tmp-1):idx)];
//Edit: Hatte hier was übersehen

Was meint er den damit?
Du wendest z.B. cache_get..._int auf einen String oder einen Float an

-
welches Genie meint das 19:30 Uhr nachmittags ist?
Alsooo für mich ist das schon fast morgens

-
Man sieht einfach fast gar nichts...
Und welche Textur?! Ich denke mal du meinst den Zaun...dann hier: https://textures.xyin.ws/?page…es&limit=100&search=fence
Ich kann da sogut wie nichts erkennen

-
Wie kann ich ein Fahrzeug in abgeschleppten Zustand bringen
Das machst du mit der Funktion: http://wiki.sa-mp.com/wiki/AttachTrailerToVehicle
Musst das nähste Fahrzeug finden und dann anhängen

//e: Jemand zudem eine Ahnung, warum mein Game crashed?
Wie gesagt, solche globalen Strings sind nicht gut.
Aber vielleicht weiß crashdetect was da vor sich geht
-
Achso das meinst du mit "buggt" ahja.
Ja, das liegt daran, dass du in der Schleife immer wieder den Header mit rein packst.
Cformat(DialogString, sizeof(DialogString),"%s\n%d\t%s\t%d", DialogString, i, waffenname, waffenmuni);
Also das reicht in der Schleife und unterhalb der Schleife machst du dann einfach sowas: -
Man sollte dafür keine globalen Strings nutzen.
Da kommt es öfters mal zu Überschreibungen und Fehlern, vermutlich ist das dein Problem hier

-
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:
C
Alles anzeigenforward 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; }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 = 65535Und 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...