printf("ID: %d", _:JobcenterUnclicked[JobcenterListitem[playerid]]);
Das _: entfernt den Tag, somit kommt keine Warnung, falls eine kommen sollte, und gibt nur die ID ohne Tag weiter (Text: = Tag).
printf("ID: %d", _:JobcenterUnclicked[JobcenterListitem[playerid]]);
Das _: entfernt den Tag, somit kommt keine Warnung, falls eine kommen sollte, und gibt nur die ID ohne Tag weiter (Text: = Tag).
Dann ändere die "böse" Zeile zu:
createFrakCar(fID,fahCars[id][fmodel],fahInfo[0][fs_x],fahInfo[0][fs_y],fahInfo[0][fs_z],fahInfo[0][fs_r],0,0);
Das liegt daran, weil eines der 5 Textdraws, die beim Klick auf JobcenterUnclicked[1] angezeigt werden, wahrscheinlich nicht existiert, bzw. der Variablenwert 0 ist.
Du kannst dir da ja mal alle IDs ausgeben lassen und schauen, welche davon 0 ist.
Für jeden, oder fraktionsabhängig woanders?
Das ist wirklich komisch.
Kannst du mir via PN deinen ganzen Server Ordner schicken, dann würde ich es bei mir mal ausprobieren, ob der Fehler dort auch auftritt und falls ja, dann kann ich es direkt testen und im besten Fall beheben.
EDIT:
Ok, das Problem habe ich gefunden, allerdings weiß ich nicht genau, was du mit dem Code bezwecken willst.
new fahInfo[][fchEnum] = {
{2144.3640,-1215.9510,23.5110,90.0}
};
Dies hat nur einen Datensatz, du greifst in deinem Kauf-Dialog aber auf weiteres Indizes (id > 0) zu, daher geht es nur bei id = 0.
Für was stehen denn die Koordinaten aus fahInfo?
Dann ist wahrscheinlich eine der Variablen der Textdraws leer und zeigt daher ID 0 an.
Das kannst du mit einem Dummy als ID 0 umgehen.
Ändere
ServerNameBig[0] = TextDrawCreate(0.000000, 09.000000, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
zu:
TextDrawCreate(0.000000, 0.000000, " "); //Textdraw-Dummy mit der ID 0
ServerNameBig[0] = TextDrawCreate(0.000000, 09.000000, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
Kannst du mal die mysql_GetIntByInt Funktion posten?
Setze doch den Inhalt vom Filterscript in eine Include, dann kannst du es übergreifend nutzen.
Das geht nicht. Daten einer Include sind immer direkt an den Script gebunden, in der die Include inkludiert ist. Hat man die Include in zwei verschiedenen Scripts, dann kann die gleiche Variable zwei verschiedene Werte haben, sprich im Gamemode z.B. 1 und im Filterscript z.B. 1000.
Geht das mit CallRemoteFuntion und wenn ja, wie?
Dann erstellst du im Gamemode folgendes:
forward setPBanned(playerid, value);
public setPBanned(playerid, value)
{
pData[playerID][P_Banned] = value;
return 1;
}
Und im Filterscript machst du:
CallRemoteFunction("setPBanned", "dd", playerid, 1);
würde das bedeuten das ich dann nur eine der Waffen hätte?
Ja, dann kannst du nur eine davon haben.
Pro Slot kann eine Waffe aufgenommen werden.
https://wiki.sa-mp.com/wiki/Weapons
Eine Waffe mit 0 Schuss kann nicht gehalten werden, außer man löst es mit SetPlayerAttachedObject, was allerdings ziemlich umständlich wäre.
Wie gesagt, der Code steht außerhalb jeder Callbacks und Funktionen, daher wird er nie fehlerfrei kompilieren.
Ich nehme an, da der Code auskommentiert war, wurde er woanders entfernt und dort zwischengespeichert, bzw. von woanders her kopiert.
Beim Speichern:
if(mysql_num_rows() != 0)
Zu
if(mysql_num_rows() == 0)
Nein, ich meine den Code-Teil, den du versuchst irgendwo einzufügen.
Der steht zu dem Rest vom Code doch völlig außer Bezug.
Was steht im Log in den ersten Zeilen, wenn du den Befehl ausführst?
Das Fahrzeug wird aber erstellt, und die Nachrichten siehst du auch?
Setze das lablemid an die letzte Stelle, da du es im Array nicht mit einem Wert vorbelegst.
enum muellInfo{
mid,
Pfand,
Float:mx,
Float:my,
Float:mz,
Float:mrx,
Float:mry,
Float:mrz,
Text3D:lablemid
}
Nein.
Wo hast du denn diesen Code her?
Du kannst den nicht einfach wahllos im Script einfügen.
Füge in den Befehl, nach EnterToLog, mal das ein:
SaveGangAutos();
Dann müsste es das erstellte Fahrzeug in die Datenbank eintragen. Teste das mal.
Der Code steht zusammenhanglos am Ende der Datei. Das funktioniert nicht.
Er muss an die entsprechende Stelle im Code (Callback (public)) eingefügt werden, wo er ausgeführt werden soll (z.B. in OnPlayerConnect, oder woanders (Timer?)).
Wie sieht dein muellInfo enum aus?
Das passt.
Da keine Daten in den Variablen stehen, können auch keine Daten in der Datenbank stehen.
Wie erstellst du denn so ein Fahrzeug, welches dann gespeichert werden soll?