09.11.2012, 13:36
you didnt say what command processors so im going to use ZCMD & sscanf
pawn Код:
//make this variable
new PlayerReconnecting[MAX_PLAYERS];
//the command
COMMAND:reconnect(playerid, params[])
{
new targetid;if(sscanf(params,"u", targetid)) return SendClientMessage(playerid, COLOR_WHITE, ""WHITE" Usage: "GREEN"/Reconnect "WHITE"[playerid]");
new string[16 + 6],destid = targetid,ipstring[16];
if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, ""RED"» Error: "WHITE"Player Is Not Connected!");
GetPlayerIp(destid, ipstring, 16), SetPVarString(destid, "pIp", ipstring);
format(string, sizeof(string), "banip %s",ipstring);
SendRconCommand(string);
PlayerReconnecting[destid]=1;
return SendClientMessage(destid, COLOR_WHITE, "Reconnecting...");
}
//then later on
public OnPlayerDisconnect(playerid, reason)
{
if(PlayerReconnecting[playerid]==1)
{
new string[8+16];
GetPVarString(playerid, "pIp", string, 16);
format(string, sizeof(string), "unbanip %s", string);
SendRconCommand(string);
}
}