a kidnap cmd [DIFFERENT]
#1

I want a kidnap cmd which needs the following things
WHEN a player /kidnap a player if he is in range then the player cannot move and will go inside the kidnappers car
Then the kidnapper can take him anywhere he wants If someone wants to release him then he has to give money to the kidnapper
And is it possible the the kidnapper can control the kidnapped person like can he move him or make him walk?
Reply
#2

Код:
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;
}
Reply
#3

Thank You !!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)