08.02.2013, 07:13
pawn Code:
//On top of your script, under #includes
new playerWarn[MAX_PLAYERS];
CMD:warn(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Only admins can use this command.");
new pID, str[128], pName[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
if(sscanf(params, "u", pID))
return SendClientMessage(playerid, -1, "Usage: /warn [Player ID]");
if(!IsPlayerConnected(pID))
return SendClientMessage(playerid, -1, "Selected player is not connected.");
playerWarn[pID] ++;
GetPlayerName(playerid, pName, sizeof pName);
GetPlayername(pID, name, sizeof name);
format(str, sizeof str, "Admin %s warned you. Total warnings %i.", pName, playerWarn[pID]);
SendClientMessage(pID, -1, str);
format(str, sizoef str, "You warned player %s. Total warnings %i.", name, playerWarn[pID]);
SendClientMessage(playerid, -1, str);
if(playerWarn[pID] > 2)
{
format(str, sizeof str, "%s accumulated 3 warnings and got kicked from the server.", name);
SendClientMessageToAll(-1, str);
SendClientMessage(pID, -1, "You were warned three (3) times and got kicked.");
Kick(pID);
}
return 1;
}
CMD:kick(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Only admins can use this command.");
new pID, str[128], pName[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
if(sscanf(params, "u", pID))
return SendClientMessage(playerid, -1, "Usage: /kick [Player ID]");
if(!IsPlayerConnected(pID))
return SendClientMessage(playerid, -1, "Selected player is not connected.");
GetPlayerName(playerid, pName, sizeof pName);
GetPlayerName(pID, name, sizeof name);
format(str, sizeof str, "You kicked player %s.", name);
SendClientMessage(playerid, -1, str);
format(str, sizeof str, "Admin %s kicked you.", pName);
SendClientMessage(pID, -1, str);
format(str, sizeof str, "Admin %s kicked player %s.", pName, name);
SendClientMessageToAll(-1, str);
Kick(pID);
return 1;
}
Quote:
I need a detain command that places said id into the last car you was in (Must be close to the car and person though) the command I would like is to be /detain [thereid] [seatid] I would prefer the command script to be in ZCMD. This won't be used as a police faction only command therefore I want it so everyone can use it.
Thank you. |
pawn Code:
//On top of your script
new LastCar[MAX_PLAYERS];
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
LastCar[playerid] == GetPlayerVehicleID(playerid);
return 1;
}
CMD:detain(playerid, params[])
{
if(LastCar[playerid] < 1)
return SendClientMessage(playerid, -1, "You haven't entered a vehicle, as a driver yet.");
new Float: vehPos[3], Float: Pos[3], pID, str[128], seatid, pName[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
if(sscanf(params, "ui", pID, seatid))
return SendClientMessage(playerid, -1, "Usage: /detain [Player ID] [Seat (1-3)]");
if(!IsPlayerConnected(pID))
return SendClientMessage(playerid, -1, "Selected player is not connected.");
if(seatid < 1 || seatid > 3)
return SendClientMessage(playerid, -1, "Invalid seat ID. Use values between 1 and 3");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(!IsPlayerInRangeOfPoint(pID, 5.0, Pos[0], Pos[1], Pos[2]))
return SendClientMessage(playerid, -1, "Selected player is not close enough.");
GetVehiclePos(LastCar[playerid], vehPos[0], vehPos[1], vehPos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 10.0, vehPos[0], vehPos[1], vehPos[2]))
return SendClientMessage(playerid, -1, "You're not near the last vehicle.");
GetPlayerName(playerid, pName, sizeof pName);
GetPlayerName(pID, name, sizeof name);
format(str, sizeof str, "You detained %s in the vehicle ID %i, seat %i.", name, LastCar[playerid], seatid);
SendClientMessage(playerid, -1, str);
format(str, sizeof str, "You've been detained by %s in vehicle ID %i, seat %i.", pName, LastCar[playerid], seatid);
SendClientMessage(pID, -1, str);
PutPlayerInVehicle(pID, LastCar[playerid], seatid);
return 1;
}