Guten Tag,
Und zwar speichert + lädt er nicht die Spieler.
Grundgerüst von Maddin das MysqL r5 Tut.
Vielleicht kann mir jemand helfen.
Mfg
ToniPrice
Guten Tag,
Und zwar speichert + lädt er nicht die Spieler.
Grundgerüst von Maddin das MysqL r5 Tut.
Vielleicht kann mir jemand helfen.
Mfg
ToniPrice
Zeig mal dein Loadplayer & Saveplayer...
Zeig mal dein Loadplayer & Saveplayer...
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
{
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
SetPlayerScore(playerid,mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName])); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]));
SpielerInfo[playerid][Adminlevel] = mysql_GetInt("accounts", "Adminlevel", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][Banned] = mysql_GetInt("accounts", "Banned", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][Banngrund] = mysql_GetInt("accounts", "Banngrund", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][Skin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][Tut] = mysql_GetInt("accounts", "Tut", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][Geschlecht] = mysql_GetInt("accounts", "Geschlecht", "Name", SpielerInfo[playerid][pName]);
}
new querys[128];
format(querys, sizeof(querys), "UPDATE accounts SET IP = '%s' WHERE Name = '%s'", SpielerIP(playerid), SpielerName(playerid));
mysql_query(querys);
return 1;
}
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
mysql_SetInt("accounts", "Level", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Adminlevel", SpielerInfo[playerid][Adminlevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Banned", SpielerInfo[playerid][Banned], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Banngrund", SpielerInfo[playerid][Banngrund], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][Skin], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Tut", SpielerInfo[playerid][Tut], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Geschlecht", SpielerInfo[playerid][Geschlecht], "Name", SpielerInfo[playerid][pName]);
}
}
new querys[128];
format(querys, sizeof(querys), "UPDATE accounts SET IP = '%s' WHERE Name = '%s'", SpielerIP(playerid), SpielerName(playerid));
mysql_query(querys);
return 1;
}
Hier.
Copy & Past zahlt sich nicht immer aus, nicht?
Wenn eine MySQL Log in deinem Server Ordner liegt, kannst du diese hier mal eben Posten?
Copy & Past zahlt sich nicht immer aus, nicht?
Wenn eine MySQL Log in deinem Server Ordner liegt, kannst du diese hier mal eben Posten?
Wo ist denn CopyAndPaste ?
Habe doch geschrieben das es das MysqL Tut von Maddin ist
Ne habe keine MysQL Log .
hm.. ja das ist das Tutorial von Maddin aber es ist dennoch nur Copy & Past. =)
Und dann bitte noch die Server Log Posten, mal sehen ob da was drinnen steht.
hm.. ja das ist das Tutorial von Maddin aber es ist dennoch nur Copy & Past. =)
Und dann bitte noch die Server Log Posten, mal sehen ob da was drinnen steht.
SA-MP Dedicated Server
----------------------
v0.3x-R2, (C)2005-2013 SA-MP Team
[23:48:42] filterscripts = "" (string)
[23:48:42]
[23:48:42] Server Plugins
[23:48:42] --------------
[23:48:42] Loading plugin: mysql
[23:48:42]
> MySQL plugin R5 successfully loaded.
[23:48:42] Loaded.
[23:48:42] Loaded 1 plugins.
[23:48:42]
[23:48:42] Filterscripts
[23:48:42] ---------------
[23:48:42] Loaded 0 filterscripts.
[23:48:42] <-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!
[23:48:42]
======================================================
[23:48:42] Reallfe and Detahmatch Script by ToniPrice
[23:48:42] ======================================================
[23:48:42] Number of vehicle models: 0
[23:49:25] Incoming connection: 127.0.0.1:52488
[23:49:25] [join] ToniPrice has joined the server (0:127.0.0.1)
[23:49:51] [part] ToniPrice has left the server (0:1)
Bei SavePlayer in den Stock das hier reinkopieren.
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
Sollte dann gehen, verspreche es aber nicht.
Ich bin mal so frei und zitiere aus dem besagten Tutorial:
ZitatSollten irgendwelche Fehler auftreten, oder etwas nicht so funktionieren wie es sollte, empfiehlt es sich immer die eingebaut debug funktion zu verwenden.
Um den Debug Modus ein zu schalten, schreibt ihr einfach
mysql_debug(1);
Unter OnGameModeInit(). Wenn das script nun irgendwelche aktionen per mysql macht, sei es abfragen, verbinden oder sonst was, wird das ganze in der dateimysql_log.txt gespeichert. Diese findet sich in eurem Server Verzeichniss, da wo auch die samp-server.exe und die server_log.txt datei liegen.
Eine Auflistung aller Fehler Codes findet ihr Hier: Client | Sever
Das hilft nicht nur dir bei der Suche nach Fehlern, sondern auch den Leuten hier im Forum wenn du probleme hast, da sich die mysql-logs relativ gut analysieren lassen.
BTW würde ich dir abraten nach meinem Tutorial zu gehen. Das ist zwar ein gutes Tutorial (ist ja schliesslich von mir, höhö), allerdings von 2011 und deshalb etwas zu alt. Auch die da verwendete MySQL version ist nicht mehr aktuell, und ich glaube in zwischenzeit hat sich da ne menge geändert.
Deshalb solltest du bei gelegenheit mal im Tutoria-Bereich nach einem aktuellen Tutorial suchen.
Bei SavePlayer in den Stock das hier reinkopieren.
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
Sollte dann gehen, verspreche es aber nicht.
Thanks