10.10.2012, 19:18
PHP код:
#define LOCALBANNICK "/Banidos/%s.cfg"
#define LOCALBANIP "/IPs Banidos/%s.cfg"
stock BanNick(playerid, mMotivo[])
{
new mStr[128];
format(mStr, 128, LOCALBANNICK, getnome(playerid));
if(!fexist(mStr))
{
DOF2_CreateFile(mStr);
DOF2_SetString(mStr, "Motivo", mMotivo);
format(mStr, 128, "-Aviso- O jogador %s foi banido [Motivo: %s]", getnome(playerid), mMotivo);
SendClientMessageToAll(-1, mStr);
}
return Kick(playerid);
}
stock BanIP(playerid, mMotivo[])
{
new mStr[128];
format(mStr, 128, LOCALBANIP, getip(playerid));
if(!fexist(mStr)
{
DOF2_CreateFile(mStr);
DOF2_SetString(mStr, "Motivo", mMotivo);
format(mStr, 128, "-Aviso- O IP %i foi banido [Motivo: %s]", mIP, mMotivo);
SendClientMessageToAll(-1, mStr);
}
return Kick(playerid);
}
stock getnome(playerid)
{
static nome[24];
GetPlayerName(playerid, nome, 24);
return nome;
}
stock getip(playerid)
{
static ip[16];
GetPlayerIp(playerid, ip, 16);
return ip;
}
stock UnBanNick(playerid, Nome[])
{
new mStr[128];
format(mStr, 128, LOCALBANNICK, Nome);
if(!fexist(mStr))return SendClientMessage(playerid, -1,"[ERRO] Conta nao banida.");
DOF2_RemoveFile(mStr);
format(mStr, 128, "Aviso- O nick %s acaba de ser desbanido.",Nome);
return SendClientMessageToAll(-1, mStr);
}
stock UnBanIP(playerid, mIP[])
{
new mStr[128];
format(mStr, 128, LOCALBANIP, mIP);
if(!fexist(mStr))return SendClientMessage(playerid, -1,"[ERRO] Conta nao banida.");
DOF2_RemoveFile(mStr);
format(mStr, 128, "-Aviso- O ip %i acaba de ser desbanido.", mIP);
return SendClientMessageToAll(-1, mStr);
}
stock CheckBan(playerid)
{
new str[50],str2[50], mName[24], mIP[16];
GetPlayerIp(playerid, mIP, 16);
GetPlayerName(playerid, mName, 24);
format(str, 50, LOCALBANIP, mIP);
format(str2, 50, LOCALBANNICK, mName);
return fexist(str) ? (SendClientMessage(playerid,-1,"-Aviso- Voce esta banido"),Kick(playerid)) : 0 || fexist(str2) ? (SendClientMessage(playerid,-1,"-Aviso- Voce esta banido"),Kick(playerid)) : 0;
}
CMD:ban(playerid, mParams[])
{
new id, mMotivo[128];
if(sscanf(mParams, "us[128]", id, mMotivo)) return SendClientMessage(playerid, -1, "/ban (id/name) (motivo)");
return BanNick(id,mMotivo);
}
CMD:desban(playerid, mParams[])
{
if(isnull(mParams)) return SendClientMessage(playerid, -1, "/desban (ip/nick)");
static a,b;
for(a = strlen(mParams); a > -1; --a)
{
if(mParams[a] == '.')
{
++b;
}
}
return b > 2 ? UnBanIP(playerid,mParams) : UnBanNick(playerid,mParams);
}