Originally Posted by antonio112
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; }
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; }
|