Hallo Leute,
sorry dass ich so viele Fragen stelle, aber bei MySQL bin ich noch neu :-/.
Ich habe es geschafft dass der Skin gespeichert wird und geladen wird, jedoch passiert es manchmal dass man wieder den CJ Skin am Anfang kriegt und nicht den zugewiesenen Skin.
Das passiert zb. wenn ich den Server ausschalte oder wenn ich einen GMX mache. Habe jetzt nicht ganz mitbekommen ob es nur beim Ausschalten oder nur beim GMX passiert.
Hier mal die Codes
Mit dem Adminbefehl den Skin zuweisen.
ocmd:setskin(playerid,params[])
{
if(!isPlayerAnAdmin(playerid, 3)) return SendClientMessage(playerid, GRAU, keineadminrechte);
new pID, skinID, string[128], string2[128];
if(sscanf(params,"ui", pID, skinID)) return SendClientMessage(playerid, GRAU, "Verwendung: /setskin [Spieler] [Skin]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, GRAU, "Spieler ist nicht online.");
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, ROT, "* Du musst dich einloggen.");
SetPlayerSkin(pID,skinID);
SpielerInfo[playerid][pSkin]=skinID;
format(string, sizeof(string), "AdminBefehl: Der Admin %s hat dem Spieler %s die Skin-ID %i zugewiesen.", sName(playerid), sName(pID), skinID);
format(string2, sizeof(string2), "** Du hast den Skin %i von Admin %s bekommen.", skinID, sName(playerid));
SendClientMessageToAll(BLAU, string);
SendClientMessage(pID, WHITE, string2);
return 1;
}
Hier wird im Stock wird er geladen
SetPlayerSkin(playerid,mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]));
Hier im Stock wird er gespeichert.
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][pSkin], "Name", SpielerInfo[playerid][pName]);
Und hier bei OnPlayerSpawn dann zugewiesen.
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid,mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]));
return 1;
}
Habe ich etwas Falsch gemacht ?
Lg, Makaveli