Hallo,
ich habe schon edliche Themen darüber gelesen, doch nichts hat geholfen.
Ich habe das Problem das mit Skin beim restart nicht geladen wird, wenn man sich normal ausloggt und sich wieder einloggt funktioniert alles.
Auch wenn ich nen Player spawne per Befehl funtioniert das alles.
Halt nur bei nem restart net.
Hier mal mein Acc System mit dem restart Befehl und wie ich es beim spawnen auslesen lasse (Acc Sys. mit Enum):
Spieler speichern:
public OnPlayerDisconnect(playerid, reason)
{
new pName[MAX_PLAYER_NAME],path[200];
GetPlayerName(playerid,pName,sizeof(pName));
format(path,sizeof(path),"/Spieler/%s.ini",pName);
dini_IntSet(path,"Level",GetPlayerScore(playerid));
dini_IntSet(path,"Geld",GetPlayerMoney(playerid));
dini_IntSet(path,"Skin",GetPlayerSkin(playerid));
dini_IntSet(path,"Geschlecht",pInfo[playerid][Geschlecht]);
dini_IntSet(path,"Alter",pInfo[playerid][Alter]);
dini_IntSet(path,"Fraktion",pInfo[playerid][Fraktion]);
dini_IntSet(path,"Leader",pInfo[playerid][Leader]);
dini_IntSet(path,"Adminlevel",pInfo[playerid][Adminlevel]);
dini_IntSet(path,"Gebannt",pInfo[playerid][Gebannt]);
pInfo[playerid][Skin] = GetPlayerSkin(playerid);
pInfo[playerid][Leader] = 0;
pInfo[playerid][loggedin] = 0;
new string[56];
switch(reason)
{
case 0: format(string, sizeof(string), "%s hat den Server verlassen (Error)", pName);
case 1: format(string, sizeof(string), "%s hat den Server verlassen", pName);
case 2: format(string, sizeof(string), "%s hat den Server verlassen (Kick/ban)", pName);
}
SendClientMessageToAll(COLOR_GREY, string);
return 1;
}
Spieler laden:
new pw[200];
format(pw,sizeof(pw),"%s",dini_Get(path,"Passwort"));
if(strcmp(inputtext,pw) == 0)
{
pInfo[playerid][Level] = SetPlayerScore(playerid, dini_Int(path,"Level"));
pInfo[playerid][Geld] = GivePlayerMoney(playerid, dini_Int(path,"Geld"));
pInfo[playerid][Skin] = SetPlayerSkin(playerid, dini_Int(path,"Skin"));
pInfo[playerid][Geschlecht] = dini_Int(path,"Geschlecht");
pInfo[playerid][Alter] = dini_Int(path,"Alter");
pInfo[playerid][Fraktion] = dini_Int(path,"Fraktion");
pInfo[playerid][Leader] = dini_Int(path,"Leader");
pInfo[playerid][Adminlevel] = dini_Int(path,"Adminlevel");
pInfo[playerid][Gebannt] = dini_Int(path,"Gebannt");
pInfo[playerid][loggedin] = 1;
Spieler spawn:
public OnPlayerSpawn(playerid)
{
new pName[MAX_PLAYER_NAME],path[200];
GetPlayerName(playerid,pName,sizeof(pName));
format(path,sizeof(path),"/Spieler/%s.ini",pName);
SetPlayerSkin(playerid,dini_Int(path,"Skin"));
if(pInfo[playerid][Fraktion] == 0)
{
SetPlayerPos(playerid,ZIVI_SPAWN);
SetPlayerFacingAngle(playerid,91.5039);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,COLOR_WHITE);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 1)
{
SetPlayerPos(playerid,SFPD_SPAWN);
SetPlayerFacingAngle(playerid,273.2344);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,SFPD_BLUE);
GivePlayerWeapon(playerid,3,1);
GivePlayerWeapon(playerid,17,3);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
GivePlayerWeapon(playerid,31,500);
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 2)
{
SetPlayerPos(playerid,SEK_SPAWN);
SetPlayerFacingAngle(playerid,269.6898);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,SEK_DARKBLUE);
GivePlayerWeapon(playerid,3,1);
GivePlayerWeapon(playerid,17,3);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
GivePlayerWeapon(playerid,31,500);
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 3)
{
SetPlayerColor(playerid,BUNDESWEHR_GREEN);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 4)
{
SetPlayerColor(playerid,SANI_RED);
SetPlayerPos(playerid,SANI_SPAWN);
SetPlayerFacingAngle(playerid,180.9012);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 5)
{
SetPlayerColor(playerid,ADAC_YELLOW);
SetPlayerPos(playerid,ADAC_SPAWN);
SetPlayerFacingAngle(playerid,177.4293);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 6)
{
SetPlayerColor(playerid,N24_ORANGE);
SetPlayerPos(playerid,N24_SPAWN);
SetPlayerFacingAngle(playerid,359.1059);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 7)
{
SetPlayerPos(playerid,GOLF_SPAWN);
SetPlayerFacingAngle(playerid,47.0345);
GivePlayerWeapon(playerid,2,1);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
SetPlayerHealth(playerid,100);
}
if(pInfo[playerid][Fraktion] == 8)
{
SetPlayerPos(playerid,STRIP_SPAWN);
SetPlayerFacingAngle(playerid,180.0000);
GivePlayerWeapon(playerid,10,1);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
SetPlayerHealth(playerid,100);
}
return 1;
}
Ich habe bei OnPlayerRequestClass noch:
public OnPlayerRequestClass(playerid, classid)
{
if(pInfo[playerid][Fraktion] == 0)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],ZIVI_SPAWN,0,0,0,0,0,0,0);
SetPlayerFacingAngle(playerid,91.5039);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,COLOR_WHITE);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 1)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],SFPD_SPAWN,0,0,0,0,0,0,0);
SetPlayerFacingAngle(playerid,273.2344);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,SFPD_BLUE);
GivePlayerWeapon(playerid,3,1);
GivePlayerWeapon(playerid,17,3);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
GivePlayerWeapon(playerid,31,500);
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 2)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],SEK_SPAWN,0,0,0,0,0,0,0);
SetPlayerFacingAngle(playerid,269.6898);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,SEK_DARKBLUE);
GivePlayerWeapon(playerid,3,1);
GivePlayerWeapon(playerid,17,3);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
GivePlayerWeapon(playerid,31,500);
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 3)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],-1592.7244,715.9481,-5.2422,0,0,0,0,0,0,0);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 4)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],SANI_SPAWN,0,0,0,0,0,0,0);
SetPlayerColor(playerid,SANI_RED);
SetPlayerFacingAngle(playerid,180.9012);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 5)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],ADAC_SPAWN,0,0,0,0,0,0,0);
SetPlayerColor(playerid,ADAC_YELLOW);
SetPlayerFacingAngle(playerid,177.4293);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 6)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],N24_SPAWN,0,0,0,0,0,0,0);
SetPlayerColor(playerid,N24_ORANGE);
SetPlayerFacingAngle(playerid,359.1059);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 7)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],GOLF_SPAWN,0,0,0,0,0,0,0);
SetPlayerFacingAngle(playerid,47.0345);
GivePlayerWeapon(playerid,2,1);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
if(pInfo[playerid][Fraktion] == 8)
{
SetSpawnInfo(playerid,0,pInfo[playerid][Skin],GOLF_SPAWN,0,0,0,0,0,0,0);
SetPlayerFacingAngle(playerid,180.0000);
GivePlayerWeapon(playerid,10,1);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,29,500);
SetPlayerHealth(playerid,100);
SpawnPlayer(playerid);
}
return 1;
}
/Restart Befehl:
if(strcmp(cmdtext,"/restart",true)==0)
{
if(pInfo[playerid][Adminlevel] >= 4)
{
SaveAllPlayerAccounts();
GameModeExit();
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du hast nicht die nötigen Rechte für diesen Befehl!");
return 1;
}
}
stock SaveAccount(playerid)
{
new pName[MAX_PLAYER_NAME],path[200];
GetPlayerName(playerid,pName,sizeof(pName));
format(path,sizeof(path),"/Spieler/%s.ini",pName);
dini_IntSet(path,"Level",GetPlayerScore(playerid));
dini_IntSet(path,"Geld",GetPlayerMoney(playerid));
dini_IntSet(path,"Skin",GetPlayerSkin(playerid));
dini_IntSet(path,"Geschlecht",pInfo[playerid][Geschlecht]);
dini_IntSet(path,"Alter",pInfo[playerid][Alter]);
dini_IntSet(path,"Fraktion",pInfo[playerid][Fraktion]);
dini_IntSet(path,"Leader",pInfo[playerid][Leader]);
dini_IntSet(path,"Adminlevel",pInfo[playerid][Adminlevel]);
dini_IntSet(path,"Gebannt",pInfo[playerid][Gebannt]);
pInfo[playerid][loggedin] = 0;
}
stock SaveAllPlayerAccounts()
{
for(new playerid = 0; playerid < GetMaxPlayers(); playerid++)
{
if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
{
SaveAccount(playerid);
}
}
return 1;
}
#e: Was hinzugefügt