Hallo liebe Community,
nach längerer Zeit der Inaktivität haben wir uns entschlossen mal wieder ein wenig zu scripten bzw. es zu versuchen.
Um von Anfang an den richtigen Weg zu gehen habe ich da 1-2 Fragen.
Wir nutzen zur Zeit folgende Befehle um mit der DB zu kommunizieren:
format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",name,passwort);
mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
oder aber:
Mir wurde nahe gelegt, diese Methode nicht mehr zu verwenden, da sie veraltet ist und später zu Serverlaggs führen könnte.
Meine Frage an euch wäre, wie sieht die neue Methode aus um Variablen zu speichern/laden sodass es effizienter wird?
Meine zweite Frage wäre dann,
wir versuchen einen Skin in die Datenbank zu speichern und nach erneutem einloggen wieder abzurufen.
Leider funktioniert dies nicht.
public OnPlayerSpawn(playerid)
{
if(newPlayer)
{
new query[128];
format(query,sizeof(query),"UPDATE user SET skin='%i' WHERE id='%i'",GetPlayerSkin(playerid),playerid);
mysql_function_query(dbhandle,query,false,"","");
}
return 1;
}
Soll dafür sorgen, wenn dieser Spieler neu ist sich also vorher Registriert hat und einen Skin gewählt hat, das der gespeichert wird sobald er dann Spawnt.
public OnPlayerRequestClass(playerid, classid)
{
if(newPlayer)
{
//Spieler Spawn Position und Blick
SetPlayerPos(playerid,1093.9086,-1791.2839,13.6191);
SetPlayerCameraPos(playerid, 1095.4351,-1802.8259,13.6042);
SetPlayerCameraLookAt(playerid,1099.5956,-1801.8181,13.6052);
SetPlayerFacingAngle(playerid,89.9928);
}
else
{
SetTimerEx("Spawn",1,false,"i",playerid);
}
return 1;
}
public Spawn(playerid)
{
SpawnPlayer(playerid);
SetPlayerSkin(playerid,cache_get_field_content_int(0,"skin",dbhandle));
}
Alles anzeigen
Soll weiter schauen, wenn es ein neuer Spieler ist, dann darf er sich einen Skin aussuchen, wenn nicht dann soll er direkt spawnen und den vorhandenen Skin laden.
Leider funktioniert der Teil mit dem Skin laden nicht
Gruß,
The.Boonze