07.05.2012, 00:38
Bom Eu Queria Criar Um cmd de ban nick que o player estiver off
tipo /bannick [conta]
o GM ja tem alguns cmd de ban
tipo /bannick [conta]
o GM ja tem alguns cmd de ban
pawn Код:
COMMAND:ban(playerid, params[])
{
new PlayerToBan, Days, Hours, Reason[128], TotalBanTime, Msg[128], Name[24], AdminName[24];
if (APlayerData[playerid][LoggedIn] == true)
{
if (APlayerData[playerid][PlayerLevel] >= 3)
{
if (sscanf(params, "uiis[128]", PlayerToBan, Days, Hours, Reason))
SendClientMessage(playerid, 0xFF0000AA, "Use: /ban [id] [dias] [horas] [motivo]");
else
{
if (IsPlayerConnected(PlayerToBan))
{
GetPlayerName(playerid, AdminName, sizeof(AdminName));
GetPlayerName(PlayerToBan, Name, sizeof(Name));
APlayerData[PlayerToBan][Bans]++;
TotalBanTime = (Days * 86400) + (Hours * 3600) + gettime();
if (APlayerData[PlayerToBan][Bans] == 5)
APlayerData[PlayerToBan][BanTime] = 2147483640;
else
APlayerData[PlayerToBan][BanTime] = TotalBanTime;
if (APlayerData[PlayerToBan][Bans] == 5)
{
format(Msg, 128, "Vocк foi banido permanentemente por %s, pois ja й o seu 5° banimento.", AdminName);
SendClientMessage(PlayerToBan, 0x808080FF, Msg);
}
else
{
format(Msg, 128, "Vocк foi banido por %s por %i dias e %i horas.", AdminName, Days, Hours);
SendClientMessage(PlayerToBan, 0x808080FF, Msg);
format(Msg, 128, "Reason: %s", Reason);
SendClientMessage(PlayerToBan, 0x808080FF, Msg);
format(Msg, 128, "Vocк jб foi banido %i vezes, a 5° serб permanente.", APlayerData[PlayerToBan][Bans]);
SendClientMessage(PlayerToBan, 0x808080FF, Msg);
}
}
Kick(PlayerToBan);
format(Msg, 128, "{FF0000}-| O administrador %s %s baniu %s por %i dias e %i horas |-", AdminLevelName[APlayerData[playerid][PlayerLevel]], AdminName, Name, Days, Hours);
SendClientMessageToAll(0x808080FF, Msg);
}
}
}
return 1;
}
COMMAND:banip(playerid, params[])
{
new PlayerToBan, Reason[128], Msg[128], Name[24], AdminName[24];
if (APlayerData[playerid][LoggedIn] == true)
{
if (APlayerData[playerid][PlayerLevel] >= 4)
{
if (sscanf(params, "us[128]", PlayerToBan, Reason))
SendClientMessage(playerid, 0xFF0000AA, "Use: /banip [id] [motivo]");
else
{
if (IsPlayerConnected(PlayerToBan))
{
if(APlayerData[PlayerToBan][PlayerLevel] <= 5)
{
GetPlayerName(playerid, AdminName, sizeof(AdminName));
GetPlayerName(PlayerToBan, Name, sizeof(Name));
format(Msg, 128, "Vocк teve o IP banido permanentemente por %s.", AdminName);
SendClientMessage(PlayerToBan, 0xFF0000, Msg);
format(Msg, 128, "Motivo: {FFFFFF}%s{FF0000}.", Reason);
SendClientMessage(PlayerToBan, 0xFF0000, Msg);
BanEx(PlayerToBan, Reason);
format(Msg, 128, "-| O Administrador %s %s baniu o ip de %s |-", AdminLevelName[APlayerData[playerid][PlayerLevel]], AdminName, Name);
SendClientMessageToAll(0xFF0000, Msg);
}
}
}
}
}
return 1;
}
COMMAND:banclasse(playerid, params[])
{
new PlayerToBan, PlayerIP[16], FirstPartsOfIP[16], BanCmd[24], Reason[128], Msg[128], Name[24], AdminName[24];
if (APlayerData[playerid][LoggedIn] == true)
{
if (APlayerData[playerid][PlayerLevel] >= 6)
{
if (sscanf(params, "us[128]", PlayerToBan, Reason))
SendClientMessage(playerid, 0xFF0000AA, "Use: /banbanclasse [id] [motivo]");
else
{
if (IsPlayerConnected(PlayerToBan))
{
if(APlayerData[PlayerToBan][PlayerLevel] <= 5)
{
GetPlayerName(playerid, AdminName, sizeof(AdminName));
GetPlayerName(PlayerToBan, Name, sizeof(Name));
GetPlayerIp(PlayerToBan, PlayerIP, 16);
format(Msg, 128, "Vocк teve a faixa de ip banida permanentemente por %s.", AdminName);
SendClientMessage(PlayerToBan, 0xFF0000, Msg);
format(Msg, 128, "Motivo: {FFFFFF}%s{FF0000}.", Reason);
SendClientMessage(PlayerToBan, 0xFF0000, Msg);
FirstPartsOfIP = GetFirstThreeDigitsFromIP(PlayerIP);
for (new i; i < 256; i++)
{
format(BanCmd, 24, "banip %s%i", FirstPartsOfIP, i);
SendRconCommand(BanCmd);
}
Kick(PlayerToBan);
format(Msg, 128, "-| O Administrador %s %s baniu a faixa de IP de %s |-", AdminLevelName[APlayerData[playerid][PlayerLevel]], AdminName, Name);
SendClientMessageToAll(0xFF0000, Msg);
}
}
}
}
}
return 1;
}
COMMAND:desbanir(playerid, params[])
{
new PlayerToUnban[24], Msg[128], Name[24];
new file[100], File:PFile, LineForFile[100];
if (APlayerData[playerid][LoggedIn] == true)
{
if (APlayerData[playerid][PlayerLevel] >= 4)
{
if (sscanf(params, "s[128]", PlayerToUnban))
SendClientMessage(playerid, 0xFF0000AA, "Use: /desbanir [nick]");
else
{
GetPlayerName(playerid, Name, sizeof(Name));
format(file, sizeof(file), PlayerFile, PlayerToUnban);
if (fexist(file))
{
PFile = fopen(file, io_append);
format(LineForFile, 100, "BanTime 0\r\n");
fwrite(PFile, LineForFile);
fclose(PFile);
format(Msg, 128, "%s %s desbaniu %s", AdminLevelName[APlayerData[playerid][PlayerLevel]], Name, PlayerToUnban);
SendClientMessageToAll(0x808080FF, Msg);
}
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000} Nгo existe nenhuma conta com esse nome.");
}
}
}
return 1;
}