Guten Tag.
Ich habe mir ein Skinauswahl-Dialog gescriptet. Dort kann man sich 5 Verschiedene Skins aussuchen, welche auch von Spieler zu Spieler gespeichert & wiedergegeben werden sollte, was jedoch nicht Funktioniert. Man gibt Ingame /skin ein & kommt in ein Listen-Dialog. Dort sind die Skins aufgelistet & per Doppelklick oder auf den Button "Ok", bekommt der Spieler den Skin. Wenn ich nun aber Relogge, um zu Testen ob der Skin Gespeichert bzw. Geladen wird, habe ich wieder den normalen Skin wie vorher?
-------
Hier die Zeilen:
SpawnInfo
SetSpawnInfo(playerid,0,100,-1631.0098,-2234.3188,31.4766,0,0,0,0,0,0,0 ); //SkinID 100 bekomme ich IMMER!
SetupPlayerForClassSelection(playerid);
Hier war vorher auch noch "SetPlayerSkin". Dies hab ich jedoch schon entfernt, gebracht hat es jedoch nichts.
forward SetPlayerSpawn(playerid);
public SetPlayerSpawn(playerid)
{
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:
{
SetPlayerPos(playerid,spawn);
}
}
return 1;
}
OnDialogResponse (/Skin Dialog)
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 10)
{
if(listitem == 0)
{
SetPlayerSkin(playerid,288);//Cop
}
if(listitem == 1)
{
SetPlayerSkin(playerid,287);//Army
}
if(listitem == 2)
{
SetPlayerSkin(playerid,93);//Woman
}
if(listitem == 3)
{
SetPlayerSkin(playerid,100);//Biker
}
if(listitem == 4)
{
SetPlayerSkin(playerid,101);//Normal Man
}
}
Der /skin Befehl
ocmd:skin(playerid,params[])
{
ShowPlayerDialog(playerid,10,DIALOG_STYLE_LIST,"Skinauswahl","Polizist \nSoldat \nFrau \nRocker \nMann ","Ok","Abbrechen");
return 1;
}
Speichern & Laden
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));//Hier war ein kleiner Loadfehler.. Wird trotzdem nicht richtig geladen..
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
}
return 1;
}
Ich hoffe ihr könnt mir dabei Helfen!
MfG
//Edit: PwnQuelltext Fail. +fixxed