ocmd:arrest(playerid,params[])
{
if(Fraktion(playerid,1)||Fraktion(playerid,2))//ist er in Fraktion 1 oder 2
if(IsPlayerInRangeOfPoint(playerid,2,200.6969,168.2510,1003.0234))
{
new pID,string[128],Float:PosX, Float:PosY, Float:PosZ;
{
if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutze: /arrest [ID]");
if(GetPVarInt(pID,"Wanteds") == 0)return SendClientMessage(playerid,ROT,"Der Spieler hat keine Wanteds!");
if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,ROT,"Spieler nicht gefunden");
if(pID == playerid)return SendClientMessage(playerid,ROT,"Du kannst dich nicht selber einsperren!");
{
GetPlayerPos(pID,PosX,PosY,PosZ);
if(IsPlayerInRangeOfPoint(playerid, 5.0 ,PosX, PosY, PosZ))
{
SetTimer("Jailtimer1",GetPVarInt(pID,"Wanteds")*60000,0);
Jailtimer = SetTimerEx("Jailtimer2", 2000, 1,"i",playerid);
SetPVarInt(pID,"Jailtime",GetPVarInt(pID,"Wanteds")*60000);
SetPlayerWorldBounds(pID,203.9931,188.1784,180.7820,156.5854);
format(string, sizeof string,"Du hast %s verhaftet!",Spielername(pID));
SendClientMessage(playerid,BLAU,string);
format(string, sizeof string,"Du wurdest von %s verhaftet!",Spielername(playerid));
SendClientMessage(pID,BLAU,string);
new Float:RandomSpawnJail[][4] =
{
{193.2786, 174.6594, 1003.0234, 3.4033},
{197.5484, 174.7399, 1003.0234, 1.2100},
{198.3096, 161.9169, 1003.0300, 181.9817}
};
new rand = random(sizeof(RandomSpawnJail));
SetPlayerPos(pID, RandomSpawnJail[rand][0], RandomSpawnJail[rand][1],RandomSpawnJail[rand][2]);
SetPlayerFacingAngle(pID, RandomSpawnJail[rand][3]);
SetPVarInt(pID,"Wanteds",0);
SetPlayerWantedLevel(pID, 0);
SetPVarInt(pID,"Jail",1);
SpielerSpeichern(pID);
}
else
{
SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe");
}
}
}
}
else
{
SendClientMessage(playerid,ROT,"Du kannst hier niemanden verhaften!");
}
return 1;
}
forward Jailtimer1(playerid);
public Jailtimer1(playerid)
{
SetPlayerPos(playerid,200.6969,168.2510,1003.0234);
SendClientMessage(playerid,BLAU, "Du hast deine Haftstrafe erfolgreich abgesessen!");
SetPVarInt(playerid,"Jail",0);
SetPlayerWorldBounds(playerid,20000,-20000,20000,-20000);
}
forward Jailtimer2(playerid);
public Jailtimer2(playerid)
{
if(GetPVarInt(playerid,"Jailtimer") == 0)
{
KillTimer(Jailtimer);
}
else
{
if(GetPVarInt(playerid, "Jail") == 1)
{
SetPVarInt(playerid,"Jailtime",-2000);
SpielerSpeichern(playerid);
SendClientMessage(playerid, ROT, "2Sekunden weniger");
}
}
}
das ist mein befehl mit den beiden publics, welche aufgerufen werden sollen...
doch die timer funktionieren nicht.... es wird zb. von der Variable der Spielerdatei einfach nicht alle 2 sekunden 2000 abgezogen...
man kommt auch nicht nach 60000 msekunden frei....
kann mir wer mit den timern helfen, das die richtig funktionieren
//e
kennt sich keiner mit dem problem aus?