detain
#1

this detain doest work? Why?

Код:
CMD:detain(playerid, params[])
{
	if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 1 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 5)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SendClientMessageEx(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
			return 1;
		}

		new string[128], giveplayerid, seat;
		if(sscanf(params, "ud", giveplayerid, seat)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /detain [playerid] [seatid 1-3]");

		if(IsPlayerConnected(giveplayerid))
		{
			if(seat < 1 || seat > 3)
			{
				SendClientMessageEx(playerid, COLOR_GRAD1, "The seat ID cannot be above 3 or below 1.");
				return 1;
			}
			if(PlayerInfo[giveplayerid][pFaction] == 5 || IsACop(giveplayerid))
			{
				SendClientMessageEx(playerid, COLOR_GREY, "You can't detain other law enforcement officers.");
				return 1;
			}
			if(IsPlayerInAnyVehicle(giveplayerid))
			{
				SendClientMessageEx(playerid, COLOR_GREY, "That person is in a car - get them out first.");
				return 1;
			}
			if (ProxDetectorS(8.0, playerid, giveplayerid))
			{
				if(giveplayerid == playerid) { SendClientMessageEx(playerid, COLOR_GREY, "You cannot detain yourself!"); return 1; }
				if(PlayerCuffed[giveplayerid] == 2)
				{
					new carid = gLastCar[playerid];
					if(IsSeatAvailable(carid, seat))
					{
						new Float:pos[6];
						GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
						GetPlayerPos(giveplayerid, pos[3], pos[4], pos[5]);
						GetVehiclePos( carid, pos[0], pos[1], pos[2]);
						if (floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
						floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
						floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
						format(string, sizeof(string), "* You were detained by %s .", GetPlayerNameEx(playerid));
						SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "* You detained %s .", GetPlayerNameEx(giveplayerid));
						SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "* %s throws %s in the vehicle.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
						ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						GameTextForPlayer(giveplayerid, "~r~Detained", 2500, 3);
						ClearAnimations(giveplayerid);
						TogglePlayerControllable(giveplayerid, false);
						PutPlayerInVehicle(giveplayerid, carid, seat);
					}
					else
					{
						SendClientMessageEx(playerid, COLOR_GREY, "That seat isn't available!");
						return 1;
					}
				}
				else
				{
					SendClientMessageEx(playerid, COLOR_GREY, "That person isn't cuffed.");
					return 1;
				}
			}
			else
			{
				SendClientMessageEx(playerid, COLOR_GREY, " You're not close enough to the player or your car!");
				return 1;
			}
		}
		else
		{
			SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
			return 1;
		}
	}
	else
	{
		SendClientMessageEx(playerid, COLOR_GRAD2, "   You are not a Cop / FBI / Goverment");
	}
	return 1;
}
Reply
#2

why doesn't it work? What is the command doing?
Reply
#3

Quote:
Originally Posted by Infinitas
Посмотреть сообщение
why doesn't it work? What is the command doing?
When player is cuff and if i type /detain <id> <seatid> The last car i entered the player will be put in the seat id.

Its like a police detaining a suspect in the custody

and while i type /detain <id> <seatid> player doesnt detained. why?
Reply
#4

bmp!
Reply
#5

Show the gLastCar function.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)