Dein Code versucht eine Datei zu öffnen die nicht existiert. Ohne die pwn Datei kannst du das wohl kaum herausfinden, welche das ist.
Beiträge von Jeffry
-
-
Da jede Zeile die gleiche Größe haben muss kannst du nur
sizeof(FrakSkinM[])
verwenden, um die Anzahl pro Zeile herauszufinden.sizeof(FrakSkinM)
Wäre die Anzahl der Zeilen. -
Den Code bei OnPlayerSpawn - unter der Voraussetzung, dass der Spieler dort bereits eingeloggt ist.
-
new Float:health;
GetPlayerHealth(playerid, health);
SetPlayerHealth(playerid, health + 2.0); -
Nutze http://wiki.sa-mp.com/wiki/SetSpawnInfo vor SpawnPlayer.
-
Wie funktioniert das Callback OnPlayerUpdate?
[ SCRIPTING ] OnPlayerUpdate - Warum man es meiden solltePrinzipiell ist es wie ein Timer, der alle 30 - 500ms aufgerufen wird, je nach dem was du machst.
-
Ja.
if(IsPlayerInVehicle(playerid, 407))
zu:
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 407) -
stock SaveFracVehCheck(vehicleid)
{
new query[256];
for(new i;i<MAX_FACTION_CARS ;i++)
{
if(FactionCars[i][fVehid] >= 400 && FactionCars[i][fVehid] <= 611 && vehicleid == FactionCars[i][fCarid])
{
GetVehiclePos(FactionCars[i][fCarid], FactionCars[i][v_X], FactionCars[i][v_Y], FactionCars[i][v_Z]);
GetVehicleZAngle(FactionCars[i][fCarid], FactionCars[i][v_A]);
format(query, sizeof(query), "UPDATE fraktionsautos SET FVehid = '%d', Fv_aX = '%f', Fv_aY = '%f', Fv_aZ = '%f', Fv_aA = '%f', FCol1 = '%d', FCol2 = '%d', FracID = '%d' WHERE id = '%d'",
FactionCars[i][fVehid], FactionCars[i][v_X], FactionCars[i][v_Y], FactionCars[i][v_Z], FactionCars[i][v_A], FactionCars[i][fCol][0], FactionCars[i][fCol][1], FactionCars[i][fFaction], FactionCars[i][fdb_id]);
mysql_tquery(dbhandle, query);
return 1;
}
}
return 0;
}Du darfst die fVehid und fCarid nicht durcheinander bringen. Das hast du etwas schlecht benannt.
fVehid = Model
fCarid = vehicleid -
In 529 hat die Überschrift des Dialogs gefehlt und am Ende des Callbacks hat eine Klammer gefehlt.
So:
Spoiler anzeigen public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "/spieler/%s.ini", pname);
switch(dialogid)
{
case DIALOG_REGISTER1:
{
if(!response)
{
Kick(playerid);
}
else
{
new pwlength = strlen(inputtext);
if(pwlength > 0)
{
dini_Create(path); //i
dini_Set(path, "password", inputtext);
ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Sex", "male\r\female", "OK", "Cancel");
}
else
{
ShowPlayerDialog(playerid, DIALOG_NOPW1, DIALOG_STYLE_MSGBOX, "Register", "You have to enter a password!", "OK", "Cancel");
}
}
}
case DIALOG_REGISTER2:
{
if(!response)
{
dini_Remove(path);
Kick(playerid);
}
else
{
dini_IntSet(path, "sex", listitem);
ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "Register", "Your Age?", "OK", "Cancel");
}
}
case DIALOG_REGISTER3:
{
if(!response)
{
dini_Remove(path);
Kick(playerid);
}
else
{
dini_Set(path, "age", inputtext);
ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "Register", "Your Register is complete!", "OK", "OK");
}
}
case DIALOG_REGISTER4:
{
pInfo[playerid][sex] = dini_Int(path, "sex");
pInfo[playerid][age] = dini_Int(path, "age");
pInfo[playerid][logged] = 1;
}
case DIALOG_LOGIN1:
{
if(!response)
{
Kick(playerid);
}
else
{
new pwlength = strlen(inputtext);
if(pwlength > 0)
{
new pw[200];
format(pw, sizeof(pw), "%s", dini_Get(path, "password"));
if(strcmp(inputtext, pw) == 0)
{
pInfo[playerid][sex] = dini_Int(path, "sex");
pInfo[playerid][age] = dini_Int(path, "age");
pInfo[playerid][logged] = 1;
}
else
{
ShowPlayerDialog(playerid, DIALOG_WRONGPW, DIALOG_STYLE_MSGBOX, "Login", "Wrong Password!", "OK", "Cancel");
}
}
else
{
ShowPlayerDialog(playerid, DIALOG_NOPW2, DIALOG_STYLE_MSGBOX, "Login", "SYou have to enter a password!", "OK", "Cancel");
}
}
}
case DIALOG_NOPW1:
{
if(!response)
{
Kick(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Register", "Your Password", "OK", "Cancel");
}
}
case DIALOG_NOPW2:
{
if(!response)
{
Kick(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Your Password:", "OK", "Abbrechen");
}
}
case DIALOG_WRONGPW:
{
if(!response)
{
Kick(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Your Password:", "OK", "Cancel");
}
}
}
return 1;
} -
SetTimerEx("CreateFire", random(60000) + 80000, false, "i", random(MAX_FIRES));
Da haben wir doch das Problem.Füge bei CreateFire direkt als erstes das ein:
if(!IsFWDuty()) return 1;Dann sollte kein Feuer mehr ausbrechen.
-
Hi, es gibt doch eine Ess Animation wie heißt die?
"FOOD", "EAT_Burger" -
Versuche dich mal hiermit: http://forum.sa-mp.com/showthread.php?t=282883
-
Du hast in deiner Tabelle keine Spalte "Adminlevel". Die musst du anlegen.
-
Du scheinst "id" als A_I zu verwenden.
forward LoadFactionCars();
public LoadFactionCars()
{
if(!cache_num_rows())return 1;
for(new fc = 0; fc < cache_num_rows(); fc++)
{
FactionCars[fc][db_id] = cache_get_field_content_int(fc, "id", dbhandle);
FactionCars[fc][fVehid] = cache_get_field_content_int(fc, "FVehId", dbhandle);
FactionCars[fc][fFaction] = cache_get_field_content_int(fc, "FFaction", dbhandle);
FactionCars[fc][v_X] = cache_get_field_content_float(fc, "Fv_aX", dbhandle);
FactionCars[fc][v_Y] = cache_get_field_content_float(fc, "Fv_aY", dbhandle);
FactionCars[fc][v_Z] = cache_get_field_content_float(fc, "Fv_aZ", dbhandle);
FactionCars[fc][v_A] = cache_get_field_content_float(fc, "Fv_aA", dbhandle);
FactionCars[fc][fCol][0] = cache_get_field_content_int(fc, "FCol1", dbhandle);
FactionCars[fc][fCol][1] = cache_get_field_content_int(fc, "FCol2", dbhandle);
FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][v_X],FactionCars[fc][v_Y],FactionCars[fc][v_Z],FactionCars[fc][v_A],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
}
return 1;
}Und dann:
forward SaveAllFactionCars();
public SaveAllFactionCars()
{
new query[256];
for(new i;i<sizeof(FactionCars);i++)
{
if(FactionCars[i][fVehid] >= 400 && FactionCars[i][fVehid] <= 611)
{
GetVehiclePos(FactionCars[i][fVehid], FactionCars[i][v_X], FactionCars[i][v_Y], FactionCars[i][v_Z]);
GetVehicleZAngle(FactionCars[i][fVehid], FactionCars[i][v_A]);
format(query, sizeof(query), "UPDATE fraktionsautos SET FVehid = '%d', Fv_aX = '%f', Fv_aY = '%f', Fv_aZ = '%f', Fv_aA = '%f', FCol1 = '%d', FCol2 = '%d', FracID = '%d' WHERE id = '%d'",
FactionCars[i][fVehid], FactionCars[i][v_X], FactionCars[i][v_Y], FactionCars[i][v_Z], FactionCars[i][v_A], FactionCars[i][fCol][0], FactionCars[i][fCol][1], FactionCars[i][fFaction], FactionCars[i][db_id]);
mysql_tquery(dbhandle, query);
}
}
return 1;
}Die db_id musst du dann noch im enum anlegen.
-
Was steht so im Server Log?
stock SavePlayer(playerid)
{
new query[500];
#define SA SpielerInfo[playerid]
format(query, sizeof(query), "UPDATE `accounts` SET Adminlevel='%d',Score='%d',Sprache='%d',Geld='%d',Erfahrung='%d' WHERE `Name`='%s';",SA[uAdmin],SA[uScore],SA[uSprache],SA[uGeld],SA[uEP],PlayerName(playerid));
printf("Speichere: %s", query);
mysql_tquery(MysqlConnection, query, "","");
#undef SA
}Und steht etwas im MySQL Log?
-
Poste bitte einen Screenshot der Daten aus der Tabelle und den Code mit dem du die Fahrzeuge lädst & speicherst.
-
Ja, ich meinte außer diesem Code.
Du hast ja den CheckFeuer-Timer, der ruft - mit print - das CreateFire Callback auf.
Jetzt erstellt es dir ja ein Feuer ohne den Print. Daher die Frage wo du CreateFire noch aufrufst (außer in dem Timer), oder wo du noch ein Feuer erstellst, außer in CreateFire. -
Hast du noch einen anderen Code, der diese Nachricht in den Chat sendet?
-
Dann ändere mal:
if(IstSpielerInFraktion(playerid,0)) // ZIVI SPAWN
{
SetSpawnInfo(playerid,0,skin,1766.2850,-1895.8571,13.5629,273.2245,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerColor(playerid, weiß);
return 1;
}
zu:
if(IstSpielerInFraktion(playerid,0)) // ZIVI SPAWN
{
SetPlayerPos(playerid,1766.2850,-1895.8571,13.5629);
SetPlayerColor(playerid, weiß);
return 1;
} -
Im
login_absenden_register
Textdraw fehlt:
Register(playerid, inputtext);Dann klappt es.