Код:
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;
}
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.
and while i type /detain <id> <seatid> player doesnt detained. why?