Hey
Ich habe ein Problem mit meinem Wanted System , undzwar möchte ich , dass jede 3 Minuten der Spieler 1 Wanted weniger bekommt , jedoch werden seine Wanteds auf 1 gesetzt.
zB. hat Spieler Peter 4 Wanteds , nach 3 Minuten werden die Wanteds auf 1 gesetzt !
Hier der code:
[pwn]
public wantedtimer(playerid)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
new wanteds=aGetPlayerWantedLevel(playerid);
if(wanteds>=1)
{
aRemovePlayerWantedLevel(playerid,1);
new wanteds2=aGetPlayerWantedLevel(playerid);
new string[256];
format(string,sizeof(string),"Aktuelles Wantedlevel: %d",wanteds2);
SendClientMessage(playerid,Grau,string);
dini_IntSet(Spieler,"Wanteds",wanteds2);
}
else
{
}
}
public wantedtimer(playerid)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
new wanteds=aGetPlayerWantedLevel(playerid);
if(wanteds>=1)
{
aRemovePlayerWantedLevel(playerid,1);
new wanteds2=aGetPlayerWantedLevel(playerid);
new string[256];
format(string,sizeof(string),"Aktuelles Wantedlevel: %d",wanteds2);
SendClientMessage(playerid,Grau,string);
dini_IntSet(Spieler,"Wanteds",wanteds2);
}
else
{
}
}
stock aRemovePlayerWantedLevel(playerid,amount)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
new wtds=dini_Int(Spieler,"Wanteds");
dini_IntSet(Spieler,"Wanteds",wtds-amount);
return 1;
}
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
new wtds=dini_Int(Spieler,"Wanteds");
dini_IntSet(Spieler,"Wanteds",wtds-amount);
return 1;
}
stock aGetPlayerWantedLevel(playerid)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
dini_Int(Spieler,"Wanteds");
return 1;
}
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
dini_Int(Spieler,"Wanteds");
return 1;
}
[/pwn]
Edit: Würde der Tazer Befehl so funktionieren ?
ocmd:tazer(playerid,params[])
{
if(isPlayerACop(playerid))
{
for(new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!isPlayerACop(i))
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(IsPlayerInRangeOfPoint(i,15.0,x,y,z))
{
TogglePlayerControllable(i,0);
SetTimerEx("Tazertimer",10000,0,"i",i);
new string[256];
new string2[256];
format(string,sizeof(string),"Du hast %s für 10 Sekunden getazert!",PlayerName(i));
format(string2,sizeof(string2),"Du wurdest von %s für 10 Sekunden getazert!",PlayerName(playerid));
SendClientMessage(playerid,Gelb,string);
SendClientMessage(i,Gelb,string2);
for(new j=0;j<MAX_PLAYERS;j++)
{
if(IsPlayerConnected(j))
{
if(IsPlayerInRangeOfPoint(j,15.0,x,y,z))
{
new string3[256];
format(string3,sizeof(string3),"%s tazert %s !",PlayerName(playerid),PlayerName(i));
SendClientMessage(j,Gelb,string3);
}
}
}
break;
}
}
}
}
}
}
{
if(isPlayerACop(playerid))
{
for(new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!isPlayerACop(i))
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(IsPlayerInRangeOfPoint(i,15.0,x,y,z))
{
TogglePlayerControllable(i,0);
SetTimerEx("Tazertimer",10000,0,"i",i);
new string[256];
new string2[256];
format(string,sizeof(string),"Du hast %s für 10 Sekunden getazert!",PlayerName(i));
format(string2,sizeof(string2),"Du wurdest von %s für 10 Sekunden getazert!",PlayerName(playerid));
SendClientMessage(playerid,Gelb,string);
SendClientMessage(i,Gelb,string2);
for(new j=0;j<MAX_PLAYERS;j++)
{
if(IsPlayerConnected(j))
{
if(IsPlayerInRangeOfPoint(j,15.0,x,y,z))
{
new string3[256];
format(string3,sizeof(string3),"%s tazert %s !",PlayerName(playerid),PlayerName(i));
SendClientMessage(j,Gelb,string3);
}
}
}
break;
}
}
}
}
}
}