jeudi 23 octobre 2014

[Ajuda] COMANDO DE BAN



pawn Code:




CMD:ban(playerid, params[])

{

new string[128], Dia, Mes, Ano, Hora, Minuto, Segundo, MesBan, AnoBan,

giveplayerid, giveplayername[MAX_PLAYER_NAME];

if(!sscanf(params, "uds[128]", giveplayerid, DiaBan, Motivo))

{

SendClientMessage(playerid, COLOR_ERRO, "[ERRO]: /ban [id] [dias] [motivo]");

}

else

{

getdate(Ano, Mes, Dia);

gettime(Hora, Minuto, Segundo);

GetPlayerName(playerid, playername, sizeof(playername));

GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));

GetPlayerIp(giveplayerid, Ip, sizeof(Ip));

if(IsPlayerConnected(playerid))

{

if(Jogador[playerid][pAdmin] >= 1)

{

if(IsPlayerConnected(giveplayerid))

{

if(DiaBan > 999)

{

SendClientMessage(playerid, COR_AZULCLARO, "[TesteBan]: Você só pode banir este player no máximo 999 dias!");

return 1;

}

format(string, sizeof(string), "[TesteBan]: O Administrador %s baniu %s por %i dias. | Motivo: %s", playername, giveplayername, DiaBan, Motivo);

SendClientMessageToAll(COR_VERMELHO, string);

new file[100];

format(string, sizeof(string), "%d/%d/%d", Dia, Mes, Ano);

format(file, sizeof(file), "Teste/ContasBAN/%s.ini", giveplayername);

if(INI_Open(file))

{

INI_WriteString("Admin", playername);

INI_WriteInt("Dia", Dia);

INI_WriteInt("Mes", Mes);

INI_WriteInt("Ano", Ano);

INI_WriteInt("Hora", Hora);

INI_WriteInt("Minuto", Minuto);

INI_WriteInt("Segundo", Segundo);

INI_WriteInt("DiaBan", Dia);

INI_WriteInt("MesBan", Mes);

INI_WriteInt("AnoBan", Ano);

INI_WriteInt("HoraBan", Hora);

INI_WriteInt("MinutoBan", Minuto);

INI_WriteInt("SegundoBan", Segundo);

INI_WriteString("MotivoBan", Motivo);

INI_WriteString("IP", Ip);

Dia += DiaBan;

INI_WriteInt("DiaBan", Dia);

while(Dia > 31)

{

Dia -= 31;

Mes++;

INI_WriteInt("DiaBan", Dia);

INI_WriteInt("MesBan", Mes);

}

while(Mes > 12)

{

Mes -= 12;

Ano++;

INI_WriteInt("MesBan", Mes);

INI_WriteInt("AnoBan", Ano);

}

DiaBan = INI_ReadInt("DiaBan");

MesBan = INI_ReadInt("MesBan");

AnoBan = INI_ReadInt("AnoBan");

INI_Save();

INI_Close();

}

format(file, sizeof(file), "Teste/IPSBAN/%s.ini", Ip);

if(INI_Open(file))

{

INI_WriteString("Admin", playername);

INI_WriteInt("Dia", Dia);

INI_WriteInt("Mes", Mes);

INI_WriteInt("Ano", Ano);

INI_WriteInt("Hora", Hora);

INI_WriteInt("Minuto", Minuto);

INI_WriteInt("Segundo", Segundo);

INI_WriteInt("DiaBan", DiaBan);

INI_WriteInt("MesBan", MesBan);

INI_WriteInt("AnoBan", AnoBan);

INI_WriteInt("HoraBan", Hora);

INI_WriteInt("MinutoBan", Minuto);

INI_WriteInt("SegundoBan", Segundo);

INI_WriteString("MotivoBan", Motivo);

INI_WriteString("IP", Ip);

INI_Save();

INI_Close();

}

Kick(giveplayerid);

}

else

{

format(string, sizeof(string), "[TesteBan]: O ID %d não está online.", giveplayerid);

SendClientMessage(playerid, COR_AZULCLARO, string);

}

}

else

{

SendClientMessage(playerid, COR_AZULCLARO, "[TesteBan]: Você não tem permissão para usar este comando!");

}

}

else

{

SendClientMessage(playerid, COR_AZULCLARO, "[TesteBan]: Você tem que está logado para usar este comando!");

}

}

return 1;

}



o comando tá funfando perfeitamente o unico problema é que se eu da só /ban ele bane o id 0 não corrige como tem q ser feito, mais se eu digitar corretamente bane corretamente.




Aucun commentaire:

Enregistrer un commentaire