Ich habe ein kleines Problem mit dem Speichern meines Spielers. Wenn ich
/q mache geht das ganze perfekt aber wenn ich ingame den Spieler
speicher läd der Skin und die Pos nicht.
public OnPlayerSpawn(playerid)
{
SetPlayerScore(playerid,Spieler[playerid][Level]);
GivePlayerMoney(playerid,Spieler[playerid][Geld]);
SetPlayerSkin(playerid,Spieler[playerid][Skin]);
SetPlayerInterior(playerid,Spieler[playerid][Interior]);
SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
SetPlayerWantedLevel(playerid,Spieler[playerid][Wanted]);
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid, botname, sizeof(botname));
if(!strcmp(botname, "Zoll1", true))
{
SetPlayerSkin(playerid,280);
}
if(!strcmp(botname, "Zoll2", true))
{
SetPlayerSkin(playerid,280);
}
}
return 1;
}
if (strcmp("/test", cmdtext, true, 10) == 0)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y,(Z)-2);
SpielerSpeichern(playerid);
SCM(playerid,ORANGE,"Du wurdest gespeichert");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new string[44],name[23];
GetPlayerName(playerid,name,23);
format(string,sizeof(string),"%s hat den Server verlassen.",name);
SendClientMessageToAll(GRAU,string);
KillTimer(PDT);
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"/Spieler/%s.txt",pname);
if(fexist(accFormat))
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
dini_IntSet(accFormat,"Admin",Spieler[playerid][Admin]);
dini_IntSet(accFormat,"Level",GetPlayerScore(playerid));
dini_IntSet(accFormat,"Skin",GetPlayerSkin(playerid));
dini_FloatSet(accFormat,"lastx",X);
dini_FloatSet(accFormat,"lasty",Y);
dini_FloatSet(accFormat,"lastz",Z);
dini_IntSet(accFormat,"Fraktion",Spieler[playerid][Fraktion]);
dini_IntSet(accFormat,"Nebenjob",Spieler[playerid][Nebenjob]);
dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
dini_IntSet(accFormat,"F1",Spieler[playerid][F1]);
dini_IntSet(accFormat,"F2",Spieler[playerid][F2]);
dini_IntSet(accFormat,"F3",Spieler[playerid][F3]);
dini_IntSet(accFormat,"Geschlecht",Spieler[playerid][Geschlecht]);
dini_IntSet(accFormat,"Herkunft",Spieler[playerid][Herkunft]);
dini_IntSet(accFormat,"Levelpunkte",Spieler[playerid][Levelpunkte]);
dini_IntSet(accFormat,"Interior",GetPlayerInterior(playerid));
dini_IntSet(accFormat,"Bankgeld",Spieler[playerid][Bankgeld]);
dini_IntSet(accFormat,"Leader",Spieler[playerid][Leader]);
dini_IntSet(accFormat,"Rang",Spieler[playerid][Rang]);
dini_IntSet(accFormat,"Premium",Spieler[playerid][Premium]);
dini_IntSet(accFormat,"Wanted",GetPlayerWantedLevel(playerid));
dini_IntSet(accFormat,"Pass",Spieler[playerid][Pass]);
}
Spieler[playerid][Skin] = 29;
Spieler[playerid][lastx] = (90.1844);
Spieler[playerid][lasty] = (-153.0807);
Spieler[playerid][lastz] = (2.5789);
Spieler[playerid][Geld] = 0;
Spieler[playerid][Fraktion] = 0;
Spieler[playerid][Admin] = 0;
Spieler[playerid][Nebenjob] = 0;
Spieler[playerid][Herkunft] = 0;
Spieler[playerid][Geschlecht] = 0;
Spieler[playerid][Level] = 1;
Spieler[playerid][F1] = 0;
Spieler[playerid][F2] = 0;
Spieler[playerid][F3] = 0;
Spieler[playerid][Levelpunkte] = 0;
Spieler[playerid][Interior] = 0;
Spieler[playerid][Bankgeld] = 0;
Spieler[playerid][Leader] = 0;
Spieler[playerid][Rang] = 0;
Spieler[playerid][Premium] = 0;
Spieler[playerid][Wanted] = 0;
Spieler[playerid][Pass] = 0;
}
if(response==1)
{
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
{
SetPVarInt(playerid,"eingeloggt",1);
Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
Spieler[playerid][Herkunft] = dini_Int(accFormat,"Herkunft");
Spieler[playerid][Geschlecht] = dini_Int(accFormat,"Geschlecht");
Spieler[playerid][Fraktion] = dini_Int(accFormat,"Fraktion");
Spieler[playerid][Nebenjob] = dini_Int(accFormat,"Nebenjob");
Spieler[playerid][Level] = dini_Int(accFormat,"Level");
Spieler[playerid][Geld] = dini_Int(accFormat,"Geld");
Spieler[playerid][Skin] = dini_Int(accFormat,"Skin");
Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
Spieler[playerid][F1] = dini_Int(accFormat,"F1");
Spieler[playerid][F2] = dini_Int(accFormat,"F2");
Spieler[playerid][F3] = dini_Int(accFormat,"F3");
Spieler[playerid][Levelpunkte] = dini_Int(accFormat,"Levelpunkte");
Spieler[playerid][Interior] = dini_Int(accFormat,"Interior");
Spieler[playerid][Bankgeld] = dini_Int(accFormat,"Bankgeld");
Spieler[playerid][Leader] = dini_Int(accFormat,"Leader");
Spieler[playerid][Rang] = dini_Int(accFormat,"Rang");
Spieler[playerid][Premium] = dini_Int(accFormat,"Premium");
Spieler[playerid][Wanted] = dini_Int(accFormat,"Wanted");
Spieler[playerid][Pass] = dini_Int(accFormat,"Pass");
SpawnPlayer(playerid);
}
Ich weiß überhaupt nich an was das liegen kann
Hier der Stock
stock SpielerSpeichern(playerid)
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"/Spieler/%s.txt",pname);
if(fexist(accFormat))
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
dini_IntSet(accFormat,"Admin",Spieler[playerid][Admin]);
dini_IntSet(accFormat,"Level",GetPlayerScore(playerid));
dini_IntSet(accFormat,"Skin",GetPlayerSkin(playerid));
dini_FloatSet(accFormat,"lastx",X);
dini_FloatSet(accFormat,"lasty",Y);
dini_FloatSet(accFormat,"lastz",Z);
dini_IntSet(accFormat,"Fraktion",Spieler[playerid][Fraktion]);
dini_IntSet(accFormat,"Nebenjob",Spieler[playerid][Nebenjob]);
dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
dini_IntSet(accFormat,"F1",Spieler[playerid][F1]);
dini_IntSet(accFormat,"F2",Spieler[playerid][F2]);
dini_IntSet(accFormat,"F3",Spieler[playerid][F3]);
dini_IntSet(accFormat,"Geschlecht",Spieler[playerid][Geschlecht]);
dini_IntSet(accFormat,"Herkunft",Spieler[playerid][Herkunft]);
dini_IntSet(accFormat,"Levelpunkte",Spieler[playerid][Levelpunkte]);
dini_IntSet(accFormat,"Interior",GetPlayerInterior(playerid));
dini_IntSet(accFormat,"Bankgeld",Spieler[playerid][Bankgeld]);
dini_IntSet(accFormat,"Leader",Spieler[playerid][Leader]);
dini_IntSet(accFormat,"Rang",Spieler[playerid][Rang]);
dini_IntSet(accFormat,"Premium",Spieler[playerid][Premium]);
dini_IntSet(accFormat,"Wanted",GetPlayerWantedLevel(playerid));
dini_IntSet(accFormat,"Pass",Spieler[playerid][Pass]);
}
return 1;
}
(e) OnPlayerSpawn neu gemacht. Problem noch immer