19.04.2014, 13:46
Код:
dcmd_kidnap(playerid,params[]) { if(sscanf(params, "u", ID)) { SendClientMessage(playerid,COLOR_ERROR,"USAGE: /kidnap (Player Name/ID)"); return 1; } if(IsSpawned[playerid] != 1) { SendClientMessage(playerid,COLOR_ERROR,"You must be alive and spawned in order to be able to use this command."); return 1; } if(IsFrozen[playerid] == 1) { SendClientMessage(playerid,COLOR_ERROR,"You have been frozen by a Server Administrator. You cannot use this command."); return 1; } if(LastVehicle[playerid] == -1) { SendClientMessage(playerid,COLOR_ERROR,"You must enter a vehicle before attempting to kidnap a player."); return 1; } if(InAdminMode[ID] == 1) { SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command on this player because they are in Administrator mode."); return 1; } if(IsCuffed[playerid] == 1) { SendClientMessage(playerid,COLOR_ERROR,"You are cuffed. You cannot use this command."); return 1; } if(IsKidnapped[playerid] == 1) { SendClientMessage(playerid,COLOR_ERROR,"You are kidnapped. You cannot use this command."); return 1; } if(GetPlayerInterior(playerid) != 0) { SendClientMessage(playerid,COLOR_ERROR,"You cannot kidnap indoors"); return 1; } if(IsKidnapped[ID] == 1) { SendClientMessage(playerid,COLOR_ERROR,"They are kidnapped. You cannot kidnap them twGOB."); return 1; } if(!IsPlayerConnected(ID)) { format(string,sizeof(string),"The player ID (%d) is not connected to the server. You cannot kidnap them",ID); SendClientMessage(playerid,COLOR_ERROR,string); return 1; } if(GetDistanceBetweenPlayers(playerid,ID) > 4) { format(string,sizeof(string),"%s(%d) is too far away. You cannot reach him to kidnap him.",PlayerName(ID),ID); SendClientMessage(playerid,COLOR_ERROR,string); return 1; } if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) { SendClientMessage(playerid,COLOR_ERROR,"You cannot kidnap someone while in a vehicle. Exit the vehicle first."); return 1; } if(GetPlayerState(ID) == PLAYER_STATE_DRIVER || GetPlayerState(ID) == PLAYER_STATE_PASSENGER) { SendClientMessage(playerid,COLOR_ERROR,"You cannot kidnap someone while they are in a vehicle. Get them to exit the vehicle first."); return 1; } if(playerid == ID) { SendClientMessage(playerid,COLOR_ERROR,"You cannot kidnap yourself, how can you even manage that?"); return 1; } if(gTeam[ID] == TEAM_STUNT) { SendClientMessage(playerid,COLOR_ERROR,"You can't kidnap any stunter"); return 1; } if(IsSpawned[ID] != 1) { format(string,sizeof(string),"%s(%d) is not spawned. You cannot kidnap dead people ..",PlayerName(ID),ID); SendClientMessage(playerid,COLOR_ERROR,string); return 1; } if(IsFrozen[ID] == 1) { format(string,sizeof(string),"%s(%d) is frozen by a Server Administrator. You cannot kidnap them.",PlayerName(ID),ID); SendClientMessage(playerid,COLOR_ERROR,string); return 1; } if(AttemptedToKidnapRecently[playerid] >= 1) { SendClientMessage(playerid,COLOR_ERROR,"You are tired from your last kidnap attempt. Please wait before trying to kidnap again."); return 1; } if(HasKidnappedRecently[playerid] >= 1) { SendClientMessage(playerid,COLOR_ERROR,"You are tired from your last kidnap. Please wait before kidnapping someone again."); return 1; } if(HasRope[playerid] == 0) { SendClientMessage(playerid,COLOR_ERROR,"You must have rope in order to use this command. Buy one from Supa Save."); return 1; } new crand = random(100); if(crand <= 20) { SendClientMessage(playerid,COLOR_ERROR,"Kidnap attempt failed. The player slipped out of your grasp."); AttemptedToKidnapRecently[playerid] =60; return 1; } if(GetDistanceBetweenPlayers(playerid,ID) <= 4 && crand > 30) { new current_zone = player_zone[playerid]; SendClientMessage(playerid,COLOR_DEADCONNECT,"[[_Kidnapped Player_]]"); format(string,sizeof(string),"You have grabbed %s(%d), tied them up with your rope and thrown them into your vehicle.",PlayerName(ID),ID); SendClientMessage(playerid,COLOR_RED,string); IncreaseWantedLevel(playerid,8); HasKidnappedRecently[playerid] =300; HasRope[playerid] --; IncreasePlayerScore(playerid,3); SendClientMessage(ID,COLOR_DEADCONNECT,"[[_Kidnapped_]]"); format(string,sizeof(string),"%s(%d) has tied you up and thrown you into their vehicle!. If you have Scissors you can /cutrope.",PlayerName(playerid),playerid); SendClientMessage(ID,COLOR_RED,string); PutPlayerInVehicle(ID,LastVehicle[playerid],1); TogglePlayerControllable(ID,0); IsKidnapped[ID] =600; format(string,sizeof(string),"[KIDNAP] %s(%d) has tied %s(%d) up and thrown them into their vehicle!",PlayerName(playerid),playerid,PlayerName(ID),ID); SendClientMessageToAll(COLOR_RED,string); format(string,sizeof(string),"[POLICE RADIO] %s(%d) has tied %s(%d) up with rope and thrown them into their vehicle! Location: %s",PlayerName(playerid),playerid,PlayerName(ID),ID,zones[current_zone][zone_name]); SendClientMessageToAllCops(string); return 1; } return 1; }