Ändere das hier:
format(loadstr,40,"%smeta.xml",path);
mal zu:
format(loadstr,sizeof(loadstr),"%smeta.xml",path);
Falls es nicht geht, poste nochmal den Log.
Ändere das hier:
format(loadstr,40,"%smeta.xml",path);
mal zu:
format(loadstr,sizeof(loadstr),"%smeta.xml",path);
Falls es nicht geht, poste nochmal den Log.
http://germanrsbot.square7.de/Klammerfehler/?Seite=profile
Alternativ kann ich dir anbieten es mir in PN zu schicken, dann jage ich es durch ein Programm von mir, wenn ich zu Hause bin.
Erstelle in dem /pawno/ Ordner neben der pawno.exe eine "pawn.cfg" Datei und schreibe dort "-d3" rein (ohne die Anführungszeichen). Anschließend öffne die pawno.exe und wähle deinen Code aus, dann kompiliere ihn neu.
Dann poste nochmal was das crashdetect Plugin ausgibt.
Poste außerdem die LoadFromMeta Funktion dazu.
Poste bitte mal deine LoadRandomMap Funktion.
Dann kannst du es ja so lassen.
Das müsstest du mal debuggen, wenn du den Grund wissen willst, sprich zwischen jede Zeile einen print setzen und dir die Werte ausgeben lassen. Möglicherweise hast du irgendwas anderes was ein Faggio betrifft (oder Motorräder allgemein) vor diesem Code und dadurch endet es. Genau kann ich es dir nicht sagen, da ich dein ganzes OnPlayerStateChange nicht kenne.
Dann setze die Faggio-Abfrage mal direkt unter den Print, geht es dann?
Das muss so aussehen:
case Dialog_Register:
{
if(!response)
{
return Kick(playerid);
}
if(strlen(inputtext) < 6 || strlen(inputtext) > 12)
{
ShowPlayerDialog(playerid, Dialog_Register, DIALOG_STYLE_INPUT, ""SERVER_NAME" - Register", "{FFFFFF}Willkommen auf "SERVER_NAME"\n\nEs wurde kein Account unter diesem Namen gefunden, gib dein Passwort niemals weiter.\nAuch nicht an Supporter, Du kannst dich nun Registrieren.\nBitte gib nun dein Passwort ein:", "Register", "Abbrechen");
SendClientMessage(playerid, Grau, "Dein Passwort ist zu kurz oder zu lang (mind 6 zeichen & max 12 Zeichen!");
return 1;
}
mysql_format(Handle, query, sizeof(query), "INSERT INTO "SERVER_TAG"_accounts (Name, Passwort, IP) VALUES ('%e',MD5('%e'),'%e')",SpielerName(playerid),inputtext,SpielerIP(playerid));
mysql_tquery(Handle, query);
sInfo[playerid][pEingeloggt] = 1;
mysql_format(Handle, query, sizeof(query), "UPDATE "SERVER_TAG"_accounts SET Eingeloggt = '%i' WHERE Name = '%e'",sInfo[playerid][pEingeloggt],SpielerName(playerid));
mysql_tquery(Handle, query);
SetPlayerColor(playerid, Weiss); SpawnPlayer(playerid);
}
Der Error liegt aber weiter unten, dort wo du den Banrange ausliest.
Dann sollte es funktionieren.
Ziehe entweder die Codes von den Motorrädern nach ganz oben hin in OnPlayerStateChange, oder poste das gesamte OnPlayerStateChange, vielleicht hast du da ungewollt ein return drin.
Wenn In = 0 ist, dann bist du in kein Fahrzeug eingestiegen. ![]()
Függe da bitte ganz oben (erste Zeile von OnPlayerStateChange) das ein:
printf("In: %d | Faggio: %d | Check: %d", GetPlayerVehicleID(playerid), bFaggio, IsPlayerInVehicle(playerid, bFaggio));
Dann steige in das Faggio ein und poste was im Server Log steht.
Und lies dir das durch: Der Pawn BB Code - Die richtige Anwendung
Kann es sein, dass sich keine Dialöge bei Motorädern öffnen lassen?
Nein, eigentlich nicht.
Poste bitte dein OnPlayerStateChange, dann schauen wir mal.
Schau mal hier:
Scripten besser lernen
Möglicherweise passt da was anderes am Code nicht.
Poste mal das gesamte Callback in dem du den Dialog anzeigen lässt (OnPlayerStateChange?).
Sorry, war nicht da.
Interessant, sprich, wenn du diese Zeile hier weg machst geht es?
TogglePlayerControllable(GetVehicleDriver(i),0);
Wenn ja, wofür brauchst du dies überhaupt, wenn du den Motor ohnehin aus machst?
Naja, an sich lädst du ja die Häuser auch. Somit kannst du, gleich wie du die Koordinaten des Hauses lädst auch die Koordinaten des Tores laden.
Versuch das mal selbst hinzubekommen.
Vielleicht bekommst du es so sogar größtenteils selbst hin, wenn ich dir Schritt für Schritt sage was du machen musst. Wäre eine schöne Herausforderung.
Hast du vielleicht irgendwo einen Timer der das macht?
Ansonsten versuche mal:
SetVehicleHealth(i,250);
zu:
SetVehicleHealth(i,250.0);
Vielleicht kapiert er es dann.
Mach mal /dl, was steht da als Vehicle ID und Health?
Wie erstellst du die Tore vor den Häusern denn?
Ändere das
GetVehicleHealth(vID, health);
mal zu:
GetVehicleHealth(vID, health);
printf("vID: %d / health: %f / schaden: %d", vID, health, motorschaden[vID]);
Was steht dann im Server Log, wenn du das Fahrzeug an machen willst?