Guten tag comunity,
ich habe probeleme mit Speichern..
Die daten von Usern werden nciht gespeichert.. Die müssen sich manchmal neu registrieren und etc.
Mein Server läuft auf mysql.. also bitte dringend um hilfe..
Danke im voraus.
Viele grüße
Akman
Guten tag comunity,
ich habe probeleme mit Speichern..
Die daten von Usern werden nciht gespeichert.. Die müssen sich manchmal neu registrieren und etc.
Mein Server läuft auf mysql.. also bitte dringend um hilfe..
Danke im voraus.
Viele grüße
Akman
hast du auch bei deinen restart befehl das drin das alle gespeichert werden?
Ja /saveplayer.. doch jedesmal kann ich doch nicht das befehl da eingeben.. gibt es da was anderes, dass ich machen kann?
save und load stock plx
Ansonsten können wir dir nicht die Ursache erklären
Hää wo meinst du jetzt Blunt?^^
public OnPlayerDisconnect(playerid, reason)
{
//SavePlayer(playerid);
if(!IsPlayerNPC(playerid))
{
Spieler[playerid][Eingeloggt] = 0;
Spieler[playerid][Money] = GetPlayerMoney(playerid);
GetPlayerName(playerid, Spieler[playerid][Name], MAX_PLAYER_NAME);
mysql_SetInt("accounts", "Admin", Spieler[playerid][Admin], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Level", Spieler[playerid][Level], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Respekt", Spieler[playerid][Respekt], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Geschlecht", Spieler[playerid][Geschlecht], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Exp", Spieler[playerid][Exp], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Eingeloggt", Spieler[playerid][Eingeloggt], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Tut", Spieler[playerid][Tut], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "PayDay", Spieler[playerid][PayDay], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "PayDayHad", Spieler[playerid][PayDayHad], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Leader", Spieler[playerid][Leader], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Team", Spieler[playerid][Team], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Rank", Spieler[playerid][Rank], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Job", Spieler[playerid][Job], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Money", Spieler[playerid][Money], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Festgeld", Spieler[playerid][Festgeld], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Morde", Spieler[playerid][Morde], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Gestorben", Spieler[playerid][Gestorben], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Verbrechen", Spieler[playerid][Verbrechen], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Spielzeit", Spieler[playerid][Spielzeit], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Knast", Spieler[playerid][Knast], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Wanteds", Spieler[playerid][Wanteds], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Verwarnungen", Spieler[playerid][Verwarnungen], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Mats", Spieler[playerid][Mats], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "SafeMats", Spieler[playerid][SafeMats], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Drugs", Spieler[playerid][Drugs], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "SafeDrugs", Spieler[playerid][SafeDrugs], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "DrugSkill", Spieler[playerid][DrugSkill], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "NewsSkill", Spieler[playerid][NewsSkill], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "AnglerSkill", Spieler[playerid][AnglerSkill], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "BusSkill", Spieler[playerid][BusSkill], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "AnwaltSkill", Spieler[playerid][AnwaltSkill], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "PilotSkill", Spieler[playerid][PilotSkill], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "BusExp", Spieler[playerid][BusExp], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "AnwaltExp", Spieler[playerid][AnwaltExp], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "BusMaxExp", Spieler[playerid][BusMaxExp], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "AnwaltMaxExp", Spieler[playerid][AnwaltMaxExp], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Skin", Spieler[playerid][Skin], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "DrivLic", Spieler[playerid][DrivLic], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "FlugLic", Spieler[playerid][FlugLic], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "BootLic", Spieler[playerid][BootLic], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "AngelLic", Spieler[playerid][AngelLic], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "DrivLicPoint", Spieler[playerid][DrivLicPoint], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "FestgeldTime", Spieler[playerid][FestgeldTime], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Spawnchange", Spieler[playerid][Spawnchange], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Hauskey", Spieler[playerid][Hauskey], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "pLocal", Spieler[playerid][pLocal], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "pInt", Spieler[playerid][pInt], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "pWorld", Spieler[playerid][pWorld], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Perso", Spieler[playerid][Perso], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Bizkey", Spieler[playerid][Bizkey], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "KH", Spieler[playerid][KH], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "JailTime", Spieler[playerid][JailTime], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Jailed", Spieler[playerid][Jailed], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "JailType", Spieler[playerid][JailType], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Muted", Spieler[playerid][Muted], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "MuteTime", Spieler[playerid][MuteTime], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "LottoZahl", Spieler[playerid][LottoZahl], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "HandyGeld", Spieler[playerid][HandyGeld], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Erstehilfe", Spieler[playerid][Erstehilfe], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "ContractGeld", Spieler[playerid][ContractGeld], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "PayDayGeld", Spieler[playerid][PayDayGeld], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Paintball", Spieler[playerid][Paintball], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Modcheck", Spieler[playerid][Modcheck], "Name", Spieler[playerid][Name]);
mysql_SetInt("accounts", "Autoradio", Spieler[playerid][Autoradio], "Name", Spieler[playerid][Name]);
}
//Sicherheitsspeicherung
// mysql_SetInt("accounts", "Kredit", Spieler[playerid][Kredit], "Name", Spieler[playerid][Name]);
//Sicherheitsspeicherung -> Ende!
//DeletePVar(playerid,"Eingeloggt");
BankSpeichern(playerid);
inHaus[playerid] = -1;
KillTimer(bustimer[playerid]);
KillTimer(shuttlebustimer[playerid]);
KillTimer(reisebustimer[playerid]);
KillTimer(khtimer[playerid]);
KillTimer(pilottimer[playerid]);
KillTimer(liefertimer[playerid]);
DestroyVehicle(startbmx[playerid]);
DestroyVehicle(SupCar[playerid]);
//OnPlayerCarUpdate(playerid);
SavePlayerCar(playerid);
KillTimer(jetpack_timer[playerid]);
KillTimer(armor_timer[playerid]);
KillTimer(health_timer[playerid]);
KillTimer(check_timer[playerid]);
Spieler[playerid][Paintball] = 0;
/*if(mysql_CheckAccount(playerid))
{
SetTimerEx("DIALOG_LOGIN", 4000, 0, "%i", playerid);
}
else
{
SetTimerEx("DIALOG_REG", 4000, 0, "%i", playerid);
}*/
return 1;
}
meinst du das?
ok ne, das geht mal garnicht was du da fabrizierst.
Also erstmal brauchst du defintiv mehr Ordnung in deinem Script. Ausserdem, wenn "mysql_SetInt" genau so funktioniert wie "dini_setInt" dann rate ich dir sehr stark an, dass du mal das ganze Mysql System umschreibst! Denn wenn mehrere User eine exe bekommen, dann kratzt der Server ab, dass kann ich dir versichern.
Dazu darfst du nicht einfach bei einem Disconnect sachen speichern! Denn wenn ein Spieler nicht eingeloggt ist, werden die Werte ja logischerweise nicht zugewiesen, was dann auch alles mit 0 abspeichert, daher anscheinend auch dein "Manchmal neu registrieren" problem.
Ich rate dir stark an, das System neu zu schreiben, denn momentan ist es pures Chaos
Alles anzeigenok ne, das geht mal garnicht was du da fabrizierst.
Also erstmal brauchst du defintiv mehr Ordnung in deinem Script. Ausserdem, wenn "mysql_SetInt" genau so funktioniert wie "dini_setInt" dann rate ich dir sehr stark an, dass du mal das ganze Mysql System umschreibst! Denn wenn mehrere User eine exe bekommen, dann kratzt der Server ab, dass kann ich dir versichern.
Dazu darfst du nicht einfach bei einem Disconnect sachen speichern! Denn wenn ein Spieler nicht eingeloggt ist, werden die Werte ja logischerweise nicht zugewiesen, was dann auch alles mit 0 abspeichert, daher anscheinend auch dein "Manchmal neu registrieren" problem.
Ich rate dir stark an, das System neu zu schreiben, denn momentan ist es pures Chaos
dazu ist es auch noch ratsam mit dem neuen mysql plugin zu arbeiten oder wenigstens OnQueryFinish zu verwenden um
Lags oder Servercrashes, die in Verbindung mit MySQL auftreten können zu vermieden
dazu ist es auch noch ratsam mit dem neuen mysql plugin zu arbeiten oder wenigstens OnQueryFinish zu verwenden um
Lags oder Servercrashes, die in Verbindung mit MySQL auftreten können zu vermieden
Guck dir lieber das ganze an. Query wird geschlossen! Nur wieviele male, deswegen mein Einwand, wenn paar leute auf einmal dcen, crasht der Server. Der Query wird pro zeile auf gemacht, wird was geschrieben, zu gemacht und das ganze dann wieder von vorne. Das ist für mich eine Katastrophe, damit kannst du schnell und zielsicher dein MYSQL zeugs überlasten.
verstehe ich nicht..
teamviewer bitte?
abgelehnt. Ich schreibe Grundsätzlich nicht einfach für jemanden den ich nicht kenne nen Code.
Aber kleine Erklärung, warum deine Methode eine schlechte ist.
Normalerweise muss man die Verbdinung zu einer MYSQL DB machen, danach holt man sich die ganzen Daten, schreibt diese in die Datenbank und schließt sie anschließend.
Bei dir ist es aber der fall, dass du es wie folgt machst.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
Du machste dir eine Verbdinung, holst dir eine Sache, fügst sie ein, schliesst die verbindung.
noch 50x wiederholen.
Das heißt, selbst für nur einen Disconnect, ist das Extrem Ressourcenfressend, wenn du jetzt aber mehrere Leute, die auf einmal wegen einem Exenverteile oÄ den Server verlassen, kannst du damit rechnen, dass dein Rootserver und die Datenbank warscheinlich abstürzen werden.