Hi.
Ich habe ein problem.
Ich hab ka wie ich unseren Arrest Timer machen soll.
Unserer Funkt nur wenn 1 einzelner eingesperrt ist. Wenn 2 Eingesperrt sind funkt er nicht mehr.
Hier ist das Commando und der Timer:
ps: Das Kommando ist nicht ganz weil es dann viel zu lange wäre ist eh immer das gleiche.
if(strcmp(strget(cmdtext,0), "/einsperren", true) == 0)
{
new zelle = strval(strget(cmdtext,2));
new wantedlvl = GetPlayerWantedLevel(ziel);
new Float:x[3], Float:y[3], Float:z[3];
new name[128];
new save[128];
GetPlayerName(ziel,name,sizeof(name));
format(save,sizeof(save),"/Acc/%s.ini",name);
x[1]=264.085;y[1]=86.612;z[1]=1000.688;
x[2]=264.276;y[2]=82.211;z[2]=1000.688;
new aname[MAX_PLAYER_NAME], string[256];
new zname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(ziel, zname, sizeof(zname));
if(gTeam[playerid] == 1 || gTeam[playerid] == 2 || gTeam[playerid] == 5)
{
if(IsPlayerInRangeOfPoint(playerid, 10, 268.650, 80.156, 1000.688)||IsPlayerInRangeOfPoint(playerid, 10, -1592.8340, 715.9332, -5.2422))
{
if(IsPlayerInRangeOfPoint(ziel, 10, 268.650, 80.156, 1000.688)||IsPlayerInRangeOfPoint(playerid, 10, -1592.8340, 715.9332, -5.2422))
{
if(wantedlvl == 1)
{
if(zelle == 1)
{
SetPlayerPos(ziel, x[1] , y[1], z[1]);
SetPlayerWantedLevel(ziel, 0);
ClearAnimations(ziel);
TogglePlayerControllable(ziel, 1);
ResetPlayerWeapons(ziel);
IsArrested[ziel]=1;
ArrestTime[ziel]=300;
dini_IntSet(save, "eingesperrt" , IsArrested[playerid]);
dini_IntSet(save, "Zelle" , zelle);
ArrestCheckTimer = SetTimerEx("ArrestCheck", 1000, 1, "i", ziel);
SendClientMessage(playerid, COLOR_WHITE, "Du wurdest 5min eingesperrt!");
format(string, sizeof(string), "%s hat %s eingesperrt!", aname, zname);
SendClientMessageToAll(COLOR_GOLD, string);
}
}
forward ArrestCheck(ziel);
public ArrestCheck(ziel)
{
new name[128];
new save[128];
GetPlayerName(ziel,name,sizeof(name));
format(save,sizeof(save),"/Acc/%s.ini",name);
if(ArrestTime[ziel]>0)
{
ArrestTime[ziel]=ArrestTime[ziel]-1;
}
else
{
if(IsArrested[ziel]==1)
{
if(NeedArrestCheck[ziel]==1)
{
SetPlayerPos(ziel,268.650, 80.156, 1000.688);
IsArrested[ziel]=0;
NeedArrestCheck[ziel]=0;
dini_IntSet(save,"eingesperrt", IsArrested[ziel]);
SendClientMessage(ziel, COLOR_GREEN, "Du bist wieder frei.");
}
}
if(IsArrested[ziel]==2)
{
if(NeedArrestCheck[playerid]==1)
{
ClearAnimations(ziel);
TogglePlayerControllable(ziel, 1);
IsArrested[ziel]=0;
NeedArrestCheck[ziel]=0;
KillTimer(ArrestCheckTimer);
dini_IntSet(save,"eingesperrt", IsArrested[ziel]);
SetCameraBehindPlayer(ziel);
SendClientMessage(ziel, COLOR_GREEN, "Du hast dich wieder erholt und wurdest entlassen.");
}
}
}
}