Info ban -
Hunterx157 - 25.05.2018
Olб pessoal, recentemente criei o /ban pro gamemode que uso pra aprender, e quando um player й banido eu gostaria que quando ele tentasse logar mostra-se as informaзхes do ban, mas quando ele tenta logar e conecta й kickado e nгo aparece o dialog, queria que aparecesse o dialog do info ban e logo depois ele fosse kickado mas que continuasse mostrando o info ban, o comando e o dialogo do info ban:
/Ban
Код:
CMD:ban(playerid, params[])
{
new ID, Motivo[32], Msgban[128];
new aName[MAX_PLAYER_NAME];
new pName[MAX_PLAYER_NAME];
if(Player[playerid][Fundador] <= 0) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Vocк nгo tem permissгo!");
if(sscanf(params, "us[50]", ID, Motivo)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Uso correto: /Ban [ ID ] [ Motivo ]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Jogador(a) nгo conectado(a)!");
Player[ID][Banido] = 1;
Kick(ID);
format(Msgban, sizeof(Msgban), "O(a) Moderador(a) %s baniu o jogador(a) %s pelo motivo: %s.", aName, pName, Motivo);
SendClientMessageToAll(COLOR_AZUL, Msgban);
return 1;
}
Info ban
Код:
if(Player[playerid][Banido] == 1)
{
new aNome[MAX_PLAYER_NAME], ip[16];
GetPlayerIp(playerid, ip, 16);
GetPlayerName(playerid, aNome, 24);
format(gStr, sizeof(gStr), "{FFFFFF}Olб %s, vocк foi banido!\n\n\t{FF0000}IP:{FFFFFF}%s\n\n{FFFFFF}Caso queira voltar a jogar, crie uma revisгo no nosso fуrum.\n\n{FF0000}Fуrum: {FFFFFF}www.embreve.forumeiros.com", aNome, ip);
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_LIST, "{FF0000}Banido", gStr, "Ok", "");
Kick(playerid);
}
Coloquei na public onplayerconnect logo no comeзo antes do dialog de login e registro.
Re: Info ban -
AutoMatic2 - 25.05.2018
Faz criando uma pasta tipo:
PHP код:
public OnGameModeInit()
{
if(!DOF2_FileExists("Banidos/Nick.ini"))
{
DOF2_CreateFile("Banidos/Nick.ini");
}
}
Connect
PHP код:
public OnPlayerConnect(playerid)
{
new aNome[MAX_PLAYER_NAME];
GetPlayerName(playerid, aNome, MAX_PLAYER_NAME);
if(DOF2_GetInt("Banidos/Nick.ini", aNome) == 1)
{
new ip[16];
GetPlayerIp(playerid, ip, 16);
format(gStr, sizeof(gStr), "Vocк estб banido(a)!\n\nNick: %s\nResponsбvel: Nнnguem\nMotivo: Nada\nIP: %s", aNome, ip);
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "{FF0000}Banido", gStr, "Ok", "");
SetTimerEx("KickPlayer", 200, false, "d", playerid);
}
return 1;
}
Comando:
PHP код:
CMD:Ban(playerid, params[])
{
new ID, Motivo[32], Msgban[128];
new aName[MAX_PLAYER_NAME];
GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
if(Player[playerid][Fundador] <= 0) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Vocк nгo tem permissгo!");
if(sscanf(params, "us[50]", ID, Motivo)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Uso correto: /Ban [ ID ] [ Motivo ]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Jogador(a) nгo conectado(a)!");
new pName[MAX_PLAYER_NAME];
GetPlayerName(ID, pName, MAX_PLAYER_NAME);
SetTimerEx("KickPlayer", 200, false, "d", ID);
DOF2_SetInt("Banidos/Nick.ini", pName, 1);
format(Msgban, sizeof(Msgban), "| INFO | O(A) Moderador(a) %s baniu o jogador(a) %s ( Motivo: %s )", aName, pName, Motivo);
SendClientMessageToAll(COLOR_AZUL, Msgban);
return 1;
}
//Public Kick
forward KickPlayer(playerid);
public KickPlayer(playerid)
{
Kick(playerid);
return 1;
}
Ai sim vai verificar se o player esta banido(a) ou n! Se nгo de certo assim, o certo e salvar se o player ta banido ou nao! :\
* Obs: no /Ban nгo precisa de colocar Ban(ID);