Mach bitte die Deklarierung von "buscar" zu dem was ich vorhin geschrieben habe, sonst macht der Code keinen Sinn:
new buscar[ANZAHL] = {-1,...};
Dann poste es bitte als Text und nicht als Bild, da sieht man nur ein paar Zeilen.
Mach bitte die Deklarierung von "buscar" zu dem was ich vorhin geschrieben habe, sonst macht der Code keinen Sinn:
new buscar[ANZAHL] = {-1,...};
Dann poste es bitte als Text und nicht als Bild, da sieht man nur ein paar Zeilen.
Das hat nichts mit dem Enum zu tun.
Der Fehler dürfte in der Zeile drüber liegen. Und zwar fehlt dort ein: "
Kompiler: Ich habe ein STRING ENDE erwartet, habe aber keinen gefunden.
Ich habe die "return 1;" - e entfernt und ich habe den Motor-Teil ganz nach oben gezogen um die Ausführung des Motor-Codes zu garantieren.
Aha.
Dann füg es mal so ein, und sage uns was in dem server_log steht.
for(new i=0; i<sizeof(buscar); i++)
{
printf("Called %d"; i);
if(buscar[i] == -1) continue;
printf("Passed %d"; i);
Bus3DText[i]=Create3DTextLabel("Leerfahrt",0x00C8E9FF,0.0,0.0,0.0,50.0,0,1);
Attach3DTextLabelToVehicle(Bus3DText[i],buscar[i],0.0,0.0,2.0);
printf("Progressed %d (Label %d attached to %d)"; i, _:Bus3DText[i], buscar[i]);
}
Versuche es mal so:
Ich hab dir auch gleich mal das Durcheinander behoben.
Ich sehe grade, dass du "bus" verwendest, und nicht "buscar"
bus[0]=AddStaticVehicle(...);
Dann müsste es so aussehen:
new bus[ANZAHL] = {-1,...};
for(new i=0; i<sizeof(bus); i++)
{
if(bus[i] == -1) continue;
Bus3DText[i]=Create3DTextLabel("Leerfahrt",0x00C8E9FF,0.0,0.0,0.0,50.0,0,1);
Attach3DTextLabelToVehicle(Bus3DText[i],bus[i],0.0,0.0,2.0);
}
Poste mal das gesamte OnPlayerKeyStateChange.
Zuvor kannst du auch mal versuchen, den Code zu debuggen, damit du siehst wie weit er überhaupt kommt, dann findest du den Fehler vielleicht selbst.
for(new i=0; i<sizeof(buscar); i++)
{
Bus3DText[i]=Create3DTextLabel("Leerfahrt",0x00C8E9FF,0.0,0.0,0.0,50.0,0,1);
Attach3DTextLabelToVehicle(Bus3DText[i],buscar[i],0.0,0.0,2.0);
}
Falls es so nicht tut, wie ist denn "buscar" definiert und zu was wird es gesetzt? Und wie ist "Bus3DText" definiert?
strcat(str1,Spieler[playerid][Flugschein]);
strcat(str1,Spieler[playerid][Waffenschein]);
strcat(str1,Spieler[playerid][AutoPunkte]);
strcat(str1,Spieler[playerid][BikePunkte]);
strcat(str1,Spieler[playerid][LKWPunkte]);
Oder besser:
format(str1,sizeof(str1), "%s%s%s%s%s", Spieler[playerid][Flugschein],Spieler[playerid][Waffenschein],Spieler[playerid][AutoPunkte],Spieler[playerid][BikePunkte],Spieler[playerid][LKWPunkte]);
Den einzigen gescheiten Rat den ich dir dazu geben kann: Lass es und nutze weiter ocmd.
Du erlangst dadurch keine Vorteile, es wird nur unnötig umständlich jedes mal die Parameter abzusplitten, letztenendes kommst du dann auf das Selbe raus, nur dass es unter dem callback OnPlayerCommandText steht, anstatt bei den Befehlen von ocmd.
Welche Vorteile hättest du dir davon denn erhofft?
format(string,sizeof string,"%02d:%02d",h[0],h[1]); //(gibt aus): Hour:Min
Ja, ich denke schon. Du schältst einfach die Box aus:
TextDrawUseBox(textdraw, 0);
Bzw, wenn du es mit dem Editor machst, siehst du ja ob sich was ändert. Alternativ könntest du als Hintergrundfarbe/Boxfarbe auch 0x00000000 nehmen.
Hiermit: http://forum.sa-mp.com/showthread.php?t=406833
Oder eben selbst Coden:
http://wiki.sa-mp.com/wiki/TextDrawSetPreviewModel
So kann das aussehen:
Nutzt du zufällig einen anderen Editor als den Standardeditor?
Probier es mal so:
new vehicleid, ID1;
vehicleid = GetPlayerVehicleID(playerid);
Wobei so wie du es hast es eigentlich richtig ist.
Poste mal den ganzen Befehl und markiere die Zeile in der der Error ist.
bla[123]blub
0123456789
start = 3
ende = 7
strdel löscht von 0 bis start + 1 (4) wobei es vor der 4 endet, als nur 0123 löscht. Daher das +1, sonst würde es nur 012 löschen.
Schau dir unter anderem mal das an:
[ SCRIPTING ] [jTuT] Interaktive Dialoge
Die ID könntest du mit strfind rausbekommen:
start = strfind(string, "[");
ende = strfind(string, "]");
strdel(string, 0, start+1);
strdel(string, ende, strlen(string));
id = strval(string);
Schick mir mal in PM deine TeamViewer Daten, dann schau ich mir das mal genauer an, sonst können wir hier noch 100 mal posten und das macht ja wenig Sinn. Ich hätte grade 30 Minuten frei.
EDIT: Es liegt nicht an MySQL, soweit sind wir schon mal gekommen. Der Rest werden wir später noch machen, die Lösung wird sich dann hier finden, sobald sie gefunden wurde.
Fehlerstelle ist diese Zeile:
ssinfo[GetPlayerID(vdata[i][owner])][outVehicle] --;
Hast du meinen Code vom Post über dir eingefügt? Was ist mit den "print("Test1.2");", werden die gezeigt, oder haste das gar nicht eingefügt?
Das wäre wichtig zu wissen wie weit er vor dem query kommt.
Sofern das bei OnPlayerConnect aufgerufen wird, solltest du:
SetPlayerSkin(playerid, dini_Int(Playerdatei, "Skin"));
zu OnPlayerSpawn setzen, samt der Angabe des Pfads versteht sich.
Oder du speicherst es in einer Variable (wie Level) und setzt dann über die Variable bei OnPlayerSpawn den Skin.