I need a system that checks the player is cuffed or not in my server cops can arrest criminal wihout doing cuff can i get this ? Criminal must be cuffed then he will be arrested otherwise No
thats if you use special actions to 'handcuff' them. Otherwise set a variable inside the /cuff command, and check it under /arrest or whatever you have it set as.
Код:
CMD:cuff(playerid, params[])
{
new rangepass = 0, vehiclepass = 0, wantedpass = 0, dutypass = 0, eventpass = 0, cuffedpass = 0;
if(GetTeam{playerid} == CLASS_CIV || GetTeam{playerid} == CLASS_MEDIC) return SendClientMessage(playerid, RED, "Only law enforcement can cuff players.");
if(HasBeenTied{playerid} == true) return SendClientMessage(playerid, RED, "You cant cuff players while your tied up.");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED, "You cant cuff players from a vehicle.");
foreach(Player, i)
{
if(i == playerid) continue;
new Float:x, Float:y, Float:z;
GetPlayerPos(i, x, y, z);
new Float:hp;
GetPlayerHealth(i, hp);
if(hp > 0.0)
if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
{
rangepass++;
if(GetPlayerWantedLevel(i) >= 4)
{
wantedpass++;
if(!IsPlayerInAnyVehicle(i))
{
vehiclepass++;
if(IsOnduty{i} == 0)
{
dutypass++;
if(IsAtEvent{i} == 0)
{
eventpass++;
if(HasBeenCuffed{i} == false)
{
cuffedpass++;
GameTextForPlayer(i, "~r~Cuffed", 3000, 5);
SendClientMessage(i, RED, "You have been cuffed, use /breakcuffs to try break free.");
GameTextForPlayer(playerid, "~g~Suspect Cuffed", 3000, 5);
SetPlayerSpecialAction(i, SPECIAL_ACTION_CUFFED);
HasBeenCuffed{i} = true;
break;
}
}
}
}
}
}
}
if(rangepass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(wantedpass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(vehiclepass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(dutypass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(eventpass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(cuffedpass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
new astring[100];
format(astring, sizeof(astring),"%s [%d] typed: /cuff", GetName(playerid), playerid);
SendAdminMessage(GREY, astring);
return true;
}
Код:
CMD:ar(playerid, params[])
{
new rangepass = 0, vehiclepass = 0, wantedpass = 0, dutypass = 0, eventpass = 0, arrestpass = 0;
if(GetTeam{playerid} == CLASS_CIV || GetTeam{playerid} == CLASS_MEDIC) return SendClientMessage(playerid, RED, "Only law enforcement can arrest players.");
if(HasBeenTied{playerid} == true) return SendClientMessage(playerid, RED, "You cant arrest players while your tied up.");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED, "You cant arrest players from a vehicle.");
foreach(Player, i)
{
if(i == playerid) continue;
new Float:x, Float:y, Float:z;
GetPlayerPos(i, x, y, z);
new Float:hp;
GetPlayerHealth(i, hp);
if(hp > 0.0)
if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
{
rangepass++;
if(GetPlayerWantedLevel(i) >= 4)
{
wantedpass++;
if(!IsPlayerInAnyVehicle(i))
{
vehiclepass++;
if(IsOnduty{i} == 0)
{
dutypass++;
if(IsAtEvent{i} == 0)
{
eventpass++;
if(HasBeenArrested{i} == false)
{
arrestpass++;
if(GetTeam{playerid} == CLASS_COPS)
{
PlayerInfo[i][pArrests] ++;
TogglePlayerControllable(i, false);
GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
format(fstr, sizeof(fstr), "Officer %s [%d] has just arrested you.", GetName(playerid), playerid);
SendClientMessage(i, RED, fstr);
GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
new pay = random(10000) + 5000;
GivePlayerCash(playerid, pay);
PlayerInfo[playerid][pTakedowns] ++;
ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
format(fstr2, sizeof(fstr2), "Suspect %s [%d] has been arrested by Officer %s [%d]", GetName(i), i, GetName(playerid), playerid);
SendClientMessageToAll(LIGHTGREEN, fstr2);
SetPlayerScore(i, GetPlayerScore(i) - 1);
SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
HasBeenArrested{i} = true;
break;
}
else if(GetTeam{playerid} == CLASS_CIA)
{
PlayerInfo[i][pArrests] ++;
TogglePlayerControllable(i, false);
GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
SendClientMessage(i, RED, "You have been arrested by a Undercover CIA Agent.");
GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
new pay = random(10000) + 5000;
GivePlayerCash(playerid, pay);
PlayerInfo[playerid][pTakedowns] ++;
ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover CIA Agent.", GetName(i), i);
SendClientMessageToAll(LIGHTGREEN, fstr);
SetPlayerScore(i, GetPlayerScore(i) - 1);
SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
HasBeenArrested{i} = true;
break;
}
else if(GetTeam{playerid} == CLASS_FBI)
{
PlayerInfo[i][pArrests] ++;
TogglePlayerControllable(i, false);
GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
SendClientMessage(i, RED, "You have been arrested by a Undercover FBI Agent.");
GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
new pay = random(10000) + 5000;
GivePlayerCash(playerid, pay);
PlayerInfo[playerid][pTakedowns] ++;
ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover FBI Agent.", GetName(i), i);
SendClientMessageToAll(LIGHTGREEN, fstr);
SetPlayerScore(i, GetPlayerScore(i) - 1);
SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
HasBeenArrested{i} = true;
break;
}
else if(GetTeam{playerid} == CLASS_ARMY)
{
PlayerInfo[i][pArrests] ++;
TogglePlayerControllable(i, false);
GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
SendClientMessage(i, RED, "You have been arrested by a New Vegas Army Soldier.");
GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
new pay = random(10000) + 5000;
GivePlayerCash(playerid, pay);
PlayerInfo[playerid][pTakedowns] ++;
ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a New Vegas Army Soldier.", GetName(i), i);
SendClientMessageToAll(LIGHTGREEN, fstr);
SetPlayerScore(i, GetPlayerScore(i) - 1);
SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
HasBeenArrested{i} = true;
break;
}
}
}
}
}
}
}
}
if(rangepass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(wantedpass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(vehiclepass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(dutypass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(eventpass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
else if(arrestpass == 0)
{
SendClientMessage(playerid, RED, "No wanted players in range.");
}
new astring[100];
format(astring, sizeof(astring),"%s [%d] typed: /ar", GetName(playerid), playerid);
SendAdminMessage(GREY, astring);
return true;
}