Hey Community,
habe ein großes Problem mit meinem Selfmade,
wenn ich /arrest schreibe löschen sich die WTDS und komme in den Knast, Relogge ich bekomme ich alles back
und werde normal gespawnt am Spawn!
Hier mein Code:
[pwn]dcmd_arrest(playerid,params[])
{
new frak = SInfo[playerid][Fraktion];
new pID,price,time;
if(frak == 1
frak == 2
frak == 3)
{
if(sscanf(params,"uii",pID, price, time))
{
SendClientMessage(playerid,Rot,"Benutze: /arrest [playerid][preis][zeit]");
}
else
{
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Spieler nicht online!");
format(str,sizeof(str),"Verbrecher %s wurde von %s für %d Minute/n eingesperrt",SpielerName(pID),SpielerName(playerid),time);
SendClientMessageToAll(Lila,str);
format(str,sizeof(str),"Du wurdest für %d Minute/n eingesperrt",time);
SendClientMessage(pID,Rot,str);
SInfo[pID][zeiteingesperrt] = time;
SInfo[pID][wantedpunkte] = 0;
SInfo[pID][pGeld] -= price;
SInfo[playerid][pGeld] += price;
SpielerSpeichern(pID);
SpielerLaden(pID);
SetPlayerPos(pID,1770.5513,-1543.8702,9.7431);
}
return 1;
}
else
{
SendClientMessage(playerid,Rot,"Du bist doch kein Cop!");
return 1;
}
}[/pwn]
[pwn]
SetTimer("OnMinute",60000,1);[/pwn]
[pwn]public OnMinute()
{
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(SInfo[zeiteingesperrt] > 0)
{
// 1 Minute weniger
SInfo[i][zeiteingesperrt]--;
}
if(SInfo[i][zeiteingesperrt] == 0)
{
//Befreit
SetPlayerPos(i,1770.5513,-1543.8702,9.7431);
}
}
}
return 1;
}[/pwn]
Spielerspeichern
[pwn]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);
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));
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SpielerLaden(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");
SetPlayerWantedLevel(playerid,SInfo[playerid][wantedpunkte]);
if(SInfo[playerid][zeiteingesperrt] > 0){SetPlayerPos(playerid,1770.5513,-1543.8702,9.7431);}
//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!
SpielerSpawn(playerid);
if(SInfo[playerid][gebannt]==1)
{
SendClientMessage(playerid,0xF50000FF,"Du bist doch vom Server gebannt! Mach ein Entbannungsantrag im Forum!");
Kick(playerid);
}
return 1;
}[/pwn]
hoffe es kann wer helfen
Mfg
moritz
habe ein großes Problem mit meinem Selfmade,
wenn ich /arrest schreibe löschen sich die WTDS und komme in den Knast, Relogge ich bekomme ich alles back
und werde normal gespawnt am Spawn!
Hier mein Code:
[pwn]dcmd_arrest(playerid,params[])
{
new frak = SInfo[playerid][Fraktion];
new pID,price,time;
if(frak == 1


{
if(sscanf(params,"uii",pID, price, time))
{
SendClientMessage(playerid,Rot,"Benutze: /arrest [playerid][preis][zeit]");
}
else
{
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Spieler nicht online!");
format(str,sizeof(str),"Verbrecher %s wurde von %s für %d Minute/n eingesperrt",SpielerName(pID),SpielerName(playerid),time);
SendClientMessageToAll(Lila,str);
format(str,sizeof(str),"Du wurdest für %d Minute/n eingesperrt",time);
SendClientMessage(pID,Rot,str);
SInfo[pID][zeiteingesperrt] = time;
SInfo[pID][wantedpunkte] = 0;
SInfo[pID][pGeld] -= price;
SInfo[playerid][pGeld] += price;
SpielerSpeichern(pID);
SpielerLaden(pID);
SetPlayerPos(pID,1770.5513,-1543.8702,9.7431);
}
return 1;
}
else
{
SendClientMessage(playerid,Rot,"Du bist doch kein Cop!");
return 1;
}
}[/pwn]
[pwn]
SetTimer("OnMinute",60000,1);[/pwn]
[pwn]public OnMinute()
{
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(SInfo[zeiteingesperrt] > 0)
{
// 1 Minute weniger
SInfo[i][zeiteingesperrt]--;
}
if(SInfo[i][zeiteingesperrt] == 0)
{
//Befreit
SetPlayerPos(i,1770.5513,-1543.8702,9.7431);
}
}
}
return 1;
}[/pwn]
Spielerspeichern
[pwn]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);
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));
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SpielerLaden(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");
SetPlayerWantedLevel(playerid,SInfo[playerid][wantedpunkte]);
if(SInfo[playerid][zeiteingesperrt] > 0){SetPlayerPos(playerid,1770.5513,-1543.8702,9.7431);}
//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!
SpielerSpawn(playerid);
if(SInfo[playerid][gebannt]==1)
{
SendClientMessage(playerid,0xF50000FF,"Du bist doch vom Server gebannt! Mach ein Entbannungsantrag im Forum!");
Kick(playerid);
}
return 1;
}[/pwn]
hoffe es kann wer helfen
Mfg
moritz