24.08.2017, 21:45
Hello everyone? I Need your help now!! Guys i've making a command for police and there are no problem but i need your help for OnPlayerTakeDamage If someone had shooted police and he were wanted +4wanted level Police cannot arrest him Because he shooting police And if he are not shot police The cop can arrest him. how to do that? Convert?!
Can you do that pls ?
Can you do that pls ?
PHP код:
CMD:ar(playerid, params[])
{
new pskin = GetPlayerSkin(playerid);
if(pskin == 265 || pskin == 266 || pskin == 267 || pskin == 280 || pskin == 281 || pskin == 284 || pskin == 285 || pskin == 286 || pskin == 287 || pskin == 288)
{
return SendClientMessage(playerid, 0xFF0000AA, "{FF0017}[ERROR]{FFFFFF}: Only Cops can use this command.");
}
new pName[MAX_PLAYER_NAME],tName[MAX_PLAYER_NAME],targetid,string[128];
new Float:targetidpos[3];
if(GetPlayerInterior(targetid) > 0) return SendClientMessage(playerid, red, "ERROR: You can't arrest players inside an interior.");
if(sscanf(params, "ui", targetid)) SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ar <playerid> / <PlayerName>");
if(GetPVarInt(playerid,"ArTime")>GetTickCount())return SendClientMessage(playerid,0xFF0000FF,"Please wait 5 seconds before arresting a suspect again.");
if(PlayerInfo[targetid][pJailed] == 1) return SendClientMessage(playerid, red, "This player is already in jail,you can't arrest him.");
if(IsPlayerInAnyVehicle(targetid)) return SendClientMessage(playerid,red,"You can't arrest players if they're in a vehicle.");
if(GetPlayerWantedLevel(targetid) <= 3) return SendClientMessage(playerid, red, "{FF0000}ERROR: {FFFFFF}[ERROR]: No eligible players are in range to receive a ticket.");
if(GetPlayerWantedLevel(targetid) <= 2) return SendClientMessage(playerid, red, "{FF0000}ERROR: {FFFFFF}[ERROR]: No eligible players are in range to receive a ticket.");
if(GetPlayerWantedLevel(targetid) <= 1) return SendClientMessage(playerid, red, "{FF0000}ERROR: {FFFFFF}[ERROR]: No eligible players are in range to receive a ticket.");
if(GetPlayerWantedLevel(targetid) == 0) return SendClientMessage(playerid, red, "This player is not wanted,you can't arrest him");
if(playerid == targetid) return SendClientMessage(playerid,red, "You can't arrest yourself,you stupid or what?");
if(gTeam[playerid] == TEAM_COP && gTeam[targetid] == TEAM_COP) return SendClientMessage(playerid,red, "You can't arrest who is in your team.");
GetPlayerPos(playerid, targetidpos[0], targetidpos[1], targetidpos[2]);
if (!IsPlayerInRangeOfPoint(playerid, 5.0, targetidpos[0], targetidpos[1], targetidpos[2])) return SendClientMessage(playerid, -1, "Nobody close enough to arrest.");
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(targetid, tName, sizeof(tName));
if(IsPlayerConnected(targetid))
{
if(GetPlayerWantedLevel(targetid) >= 4)
{
format(string, sizeof(string), "You have been arrested by %s (%d).", pName, playerid);
SendClientMessage(targetid, red, string);
ShowDescriptionText(targetid, string);
SetPlayerAttachedObject(targetid, 9, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
SetPlayerSpecialAction(targetid, SPECIAL_ACTION_CUFFED);
format(string, sizeof(string), "~b~Arrested by %s (%d)", pName, playerid);
GameTextForPlayer(targetid, string, 4000, 5);
format(string, sizeof(string), "You have arrested %s (%d) and recieved $5000 as a bonus!", tName, targetid);
SendClientMessage(playerid, red, string);
ShowDescriptionText(playerid, string);
new current_zone = player_zone[targetid];
format(string, sizeof(string), "Suspect %s (%d) has been arrested by %s (%d) - Location: %s", tName, targetid, pName, playerid,zones[current_zone][zone_name]);
SendClientMessageToAll(yellow, string);
format(string, sizeof(string), "~b~%s (%d) arrested, Well Done! You have recieved $5000 as a bonus.", tName, targetid);
GameTextForPlayer(playerid, string, 4000, 5);
GivePlayerMoney(playerid, 5000);
SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
pJailTimerID[targetid] = SetTimerEx("pJailTimer", 1000, true, "i", targetid);
pJailCount[targetid] = 20 + random(41);
new Random = random(sizeof(RandomJailSpawns));
SetPlayerPos(targetid, RandomJailSpawns[Random][0], RandomJailSpawns[Random][1], RandomJailSpawns[Random][2]);
SetPlayerFacingAngle(targetid, RandomJailSpawns[Random][3]);
ResetPlayerWeapons(targetid);
SetPlayerInterior(targetid, 10);
SetPlayerWantedLevel(targetid,0);
SetPVarInt(playerid,"ArTime",GetTickCount()+5000);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i))continue;
if(gTeam[i] == TEAM_COP)
{
new copmsg[170];
format(copmsg, sizeof(copmsg), "%s (%d) has arrested %s (%d)",pName,playerid,tName,targetid);
SendClientMessage(i, COLOR_BLUE, copmsg);
}
}
}
}
return 1;
}