Hallo Community,
seit ca 2 Wochen beschäftige Ich mich damit und bis heute habe ich keine Lösung gefunden.
Ich spawne mit dem Skin "26" (wanderer Skin) ... und überspringe dadurch am anfang die Skin Selection. Dass will ich ja auch so haben.
Im Spiel geh ich in einen Skin Shop und ändere denn Skin .. bei /kill bleibt der Skin auch beim neuem Spawn erhalten. Sobald Ich aber das Game restarte bzw einfach mal beende und
später nochmal starte, dann spawn er wieder mit dem wanderer Skin.
D.h. ja im Grunde irgendetwas stimmt beim OnPlayerDisco nicht? oder beim SpielerSpeichern ... ich weiß es nicht!!
enum playerdata
{
SkinID,
Skinshop
}
new pInfo[MAX_PLAYERS][playerdata];
public OnPlayerRequestClass(playerid, classid)
{
if(pInfo[playerid][Skinshop]==1)
{
SetPlayerPos(playerid,216.8071,-98.6221,1005.2578);
SetPlayerFacingAngle(playerid,271.9583);
SetPlayerCameraPos(playerid,216.8071,-98.6221,1005.2578);
SetPlayerCameraLookAt(playerid,216.8071,-98.6221,1005.2578);
SetPlayerInterior(playerid,15);
pInfo[playerid][SkinID]=GetPlayerSkin(playerid);
pInfo[playerid][Skinshop]=1;
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
PlayerPlaySound(playerid, 1097,-119.9460,23.1096,12.2238);
}
else
{
SetSpawnInfo( playerid, 0, 26, 2001.1754,1520.2993,17.0625,0.9500, 0, 0,0, 0, 0, 0 );
SpawnPlayer(playerid);
}
return 1;
}
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid))return 1;
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
}
public OnPlayerSpawn(playerid)
{
// LSPD SPAWN
if(isPlayerInFrakt(playerid,1))
{
SetPlayerPos(playerid,246.783996,63.900199,1003.64062); SetPlayerInterior(playerid,6);
}
// MAFIA SPAWN
if(isPlayerInFrakt(playerid,2))
{
if(GetPVarInt(playerid,"Rang")<=4)
{
SetPlayerSkin(playerid,111);
}
}
if(isPlayerInFrakt(playerid,2))
{
if(GetPVarInt(playerid,"Rang")>4)
{
SetPlayerSkin(playerid,113);GivePlayerWeapon(playerid,4,1);GivePlayerWeapon(playerid,23,40);
}
}
if(pInfo[playerid][Skinshop]==1)
{
SetPlayerPos(playerid,216.8071,-98.6221,1005.2578);
SetPlayerFacingAngle(playerid,271.9583);
SetPlayerInterior(playerid,15);
pInfo[playerid][Skinshop]=0;
PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0);
ClearAnimations(playerid);
}
return 1;
}
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"SkinID"));
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,"SkinID",GetPlayerSkin(playerid));
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
}