[Ajuda] Info ban
#1

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.
Reply
#2

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(playeridaNomeMAX_PLAYER_NAME);
    if(
DOF2_GetInt("Banidos/Nick.ini"aNome) == 1)
    {
        new 
ip[16];
        
GetPlayerIp(playeridip16);
        
        
format(gStrsizeof(gStr), "Vocк estб banido(a)!\n\nNick: %s\nResponsбvel: Nнnguem\nMotivo: Nada\nIP: %s"aNomeip);
        
ShowPlayerDialog(playerid9999DIALOG_STYLE_MSGBOX"{FF0000}Banido"gStr"Ok""");
        
SetTimerEx("KickPlayer"200false"d"playerid);    
    }
    return 
1;

Comando:

PHP код:
    CMD:Ban(playeridparams[])
    {
        new 
IDMotivo[32], Msgban[128];
        new 
aName[MAX_PLAYER_NAME]; 
        
GetPlayerName(playeridaNameMAX_PLAYER_NAME);               
        if(
Player[playerid][Fundador] <= 0) return SendClientMessage(playeridCOLOR_ERRO"[ x ] Vocк nгo tem permissгo!");
        if(
sscanf(params"us[50]"IDMotivo)) return SendClientMessage(playeridCOLOR_ERRO"[ x ] Uso correto: /Ban [ ID ] [ Motivo ]");
        if(!
IsPlayerConnected(ID)) return SendClientMessage(playeridCOLOR_ERRO"[ x ] Jogador(a) nгo conectado(a)!");
        new 
pName[MAX_PLAYER_NAME];
        
GetPlayerName(IDpNameMAX_PLAYER_NAME);
        
        
SetTimerEx("KickPlayer"200false"d"ID);
        
DOF2_SetInt("Banidos/Nick.ini"pName1);
        
format(Msgbansizeof(Msgban), "| INFO | O(A) Moderador(a) %s baniu o jogador(a) %s ( Motivo: %s )"aNamepNameMotivo);
        
SendClientMessageToAll(COLOR_AZULMsgban);
        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);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)