Hio,
ich habe ein Problem,
wenn ich nach ner Minute oder so meinen Server Verlassen oder warte, dann setzt sich alles auf 0!
Liegt das daran?
forward Timer1();
public Timer1()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(SInfo[i][pPayday] == 60)
{
SInfo[i][pReskept] += 1;
SendClientMessage(i,0x0000FFFF," ==================|Kontoauszug|==================");
SendClientMessage(i,0x0000FFFF," Es fallen 200 $ Steuern ab...");
SendClientMessage(i,0x0000FFFF," ==================|Kontoauszug|==================");
SInfo[i][pPayday] = 0;
SpielerSpeichern(i);
SpielerLaden(i);
}
else
{
SInfo[i][pPayday] += 1;
SpielerSpeichern(i);
SpielerLaden(i);
}
if(SInfo[i][pJailed] == 1)
{
if(SInfo[i][zeiteingesperrt] == 0)
{
SInfo[i][zeiteingesperrt] = 0;
SetSpawnInfo(i,0,SInfo[i][pskin],1724.4227,-1607.3707,13.1473,136.8591,0,0,0,0,0,0);
SpielerSpeichern(i);
SpielerLaden(i);
SendClientMessage(i,Rot,"Du bist nun frei! Benehm dich bitte!");
}
else
{
SInfo[i][zeiteingesperrt] -= 1;
SpielerSpeichern(i);
SpielerLaden(i);
}
}
SpielerSpeichern(i);
SpielerLaden(i);
}
}
forward SpielerSpeichern(playerid);
public SpielerSpeichern(playerid)
{
GetPlayerName(playerid, Name, sizeof( Name));
format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
if(!fexist(Datei)) //fexist = file exists = Datei existiert?
{
dini_Create(Datei);
dini_Set(Datei,"Passwort",SInfo[playerid][Passwort]);
dini_IntSet(Datei,"Geld",40000);
dini_IntSet(Datei,"Skin",23);
dini_IntSet(Datei,"Level",1);
dini_IntSet(Datei,"Adminlevel",0);
dini_IntSet(Datei,"gebannt",0);
dini_IntSet(Datei,"Fraktion",0);
dini_IntSet(Datei,"Rang",0);
dini_IntSet(Datei,"Job",0);
dini_IntSet(Datei,"zeiteingesperrt",0);
dini_IntSet(Datei,"wantedpunkte",0);
dini_IntSet(Datei,"Jailed",0);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte Tippe dein Passwort ein, um dich zu einzuloggen","Einloggen","Abbrechen");
}
else
{
dini_IntSet(Datei,"Geld",SInfo[playerid][pGeld]);
dini_IntSet(Datei,"Skin", GetPlayerSkin(playerid));
dini_IntSet(Datei,"Level",GetPlayerScore(playerid));
dini_IntSet(Datei,"Adminlevel",SInfo[playerid][Adminlevel]);
dini_IntSet(Datei,"gebannt",SInfo[playerid][gebannt]);
dini_IntSet(Datei,"Fraktion",SInfo[playerid][Fraktion]);
dini_IntSet(Datei,"Rang",SInfo[playerid][Rang]);
dini_IntSet(Datei,"Job",SInfo[playerid][Job]);
dini_IntSet(Datei,"zeiteingesperrt",SInfo[playerid][zeiteingesperrt]);
dini_IntSet(Datei,"wantedpunkte",GetPlayerWantedLevel(playerid));
dini_IntSet(Datei,"Jailed",SInfo[playerid][pJailed]);
dini_IntSet(Datei,"Payday",SInfo[playerid][pPayday]);
dini_IntSet(Datei,"Reskept",SInfo[playerid][pReskept]);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SpawnPlayer(playerid);
return 1;
}
forward SpielerLaden(playerid);
public SpielerLaden(playerid)
{
GetPlayerName(playerid, Name, sizeof( Name));
format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
SInfo[playerid][pGeld] = dini_Int(Datei,"Geld");
SInfo[playerid][pskin] = dini_Int(Datei, "Skin");
SetPlayerScore(playerid,dini_Int(Datei,"Level"));
SInfo[playerid][Adminlevel] = dini_Int(Datei,"AdminLevel");
SInfo[playerid][gebannt] = dini_Int(Datei,"gebannt");
SInfo[playerid][Fraktion] = dini_Int(Datei,"Fraktion");
SInfo[playerid][Rang] = dini_Int(Datei,"Rang");
SInfo[playerid][zeiteingesperrt] = dini_Int(Datei,"zeiteingesperrt");
SInfo[playerid][wantedpunkte] = dini_Int(Datei,"wantedpunkte");
SInfo[playerid][pJailed] = dini_Int(Datei,"Jailed");
SInfo[playerid][pPayday] = dini_Int(Datei,"Payday");
SInfo[playerid][pReskept] = dini_Int(Datei,"Reskekt");
SetPlayerWantedLevel(playerid,SInfo[playerid][wantedpunkte]);
//SetSpawnInfo( playerid,0,SInfo[playerid][pskin],1721.3622,-1627.8937,20.2129,136.8591,0,0,0,0,0,0); //XYZ Ändern Muss gemacht werde sonst wirst du bei 0.3D Gekickt!
if(SInfo[playerid][gebannt]==1)
{
SendClientMessage(playerid,0xF50000FF,"Du bist doch vom Server gebannt! Mach ein Entbannungsantrag im Forum!");
Kick(playerid);
}
return 1;
}
Hoffe es kann ei9ner helfen
MFG
Moritz