[Ajuda] /ban em zcmd.
#1

Olб,
me falaram pra eu comeзar a usar zcmd por ser mais fбcil que strcmp. Entгo decidi aprender e achei muito mais fбcil. Estou em um projeto em minha GM do 0 de /ban. Porйm, ele nгo bane. Quero um sistema de ban que quando ele logue, apareзa que ele estб banido e por quem. Entгo eu decidi tentar fazer. Nгo deu erro nenhum, porйm quando ele entra no servidor banido, nгo dб nada, й como se ele nгo fosse banido. Nгo quero que bana ip nem nada, apenas o nick.

Code do /ban:
PHP код:
CMD:ban(playeridparams[])
{
    new 
idmotivo[128], iname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], text[128], file[50];
    
GetPlayerName(idinamesizeof(iname));
    
GetPlayerName(playeridpnamesizeof(pname));
    
format(filesizeof(file), "Contas/%s.ini"pname);
    if(
sscanf(params"us[128]"idmotivo)) return SendClientMessage(playerid0xFF0000AA"[ERRO] Use /ban [id] [motivo]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid0xFF0000AA"[ERRO] Jogador nгo conectado.");
    
format(textsizeof(text), "[ADMIN] O(a) Administrador(a) %s baniu o(a) jogador(a) %s. Motivo: %s"pnameinamemotivo);
    
SendClientMessageToAll(0xFF0000AAtext);
    
format(textsizeof(text), "[BAN] Vocк foi banido(a) pelo(a) Administrador(a) %s. Motivo: %s"pnamemotivo);
    
SendClientMessage(id0xFF0000AAtext);
    
DOF2_SetInt(file"Banido"1);
    
GameTextForPlayer(id"~r~BANIDO(a)"80000);
    
DOF2_SetString(file"Banido por"pname);
    
TogglePlayerControllable(id0);
    
Kick(id);
    return 
1;
    } 
OnPlayerConnect:
PHP код:
public OnPlayerConnect(playerid)
{
    new 
file[50], pname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridpnamesizeof(pname));
    
format(filesizeof(file), "Contas/%s.ini"pname);
    if(
DOF2_GetInt(file"Banido""1")){
    
SendClientMessage(playerid0xFF0000AA"[ERRO] Vocк estб banido do servidor.");
    return 
1;
    }else{
    
Tentativas[playerid] = 0;
    return 
1;
}

Se puderem a me ajudar a por quem baniu ;-; tentei fazer um DOF2_GetString, mas deu erro no argumento 3 ;-;
Reply
#2

Claro que nгo bane a funзгo ta Kick(id);
Troque para Ban(id);
Reply
#3

Quote:
Originally Posted by FStralioti
Посмотреть сообщение
Claro que nгo bane a funзгo ta Kick(id);
Troque para Ban(id);
ele estб banindo a conta do cara, por isso o kick '-'
Reply
#4

pawn Код:
CMD:ban(playerid, params[])
{
    new id, motivo[128], iname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], text[128], file[50];
    GetPlayerName(id, iname, sizeof(iname));
    GetPlayerName(playerid, pname, sizeof(pname));
    format(file, sizeof(file), "Contas/%s.ini", pname);
    if(sscanf(params, "us[128]", id, motivo)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Use /ban [id] [motivo]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Jogador nгo conectado.");
    format(text, sizeof(text), "[ADMIN] O(a) Administrador(a) %s baniu o(a) jogador(a) %s. Motivo: %s", pname, iname, motivo);
    SendClientMessageToAll(0xFF0000AA, text);
    format(text, sizeof(text), "[BAN] Vocк foi banido(a) pelo(a) Administrador(a) %s. Motivo: %s", pname, motivo);
    SendClientMessage(id, 0xFF0000AA, text);
    DOF2_SetInt(file, "Banido", 1);
    GameTextForPlayer(id, "~r~BANIDO(a)", 8000, 0);
    DOF2_SetString(file, "Banido por", pname);
    DOF2_SaveFile();
    TogglePlayerControllable(id, 0);
    Kick(id);
    return 1;
    }
Reply
#5

Код:
public OnPlayerConnect(playerid) 
{ 
    new file[50], pname[MAX_PLAYER_NAME], getbanval; 
    GetPlayerName(playerid, pname, sizeof(pname)); 
    format(file, sizeof(file), "Contas/%s.ini", pname); 
    getbanval = DOF2_GetInt(file, "Banido");
    if(getbanval){ 
    SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Vocк estб banido do servidor."); 
    Kick(playerid);
    return 1; 
    }else{ 
    Tentativas[playerid] = 0; 
    return 1; 
} 
}
Reply
#6

Mas tipo, como faзo pra por quem baniu e por qual motivo?
Tentei usar DOF2_GetString pro motivo mas nгo deu certo e tirei
Reply
#7

Quote:
Originally Posted by Luiiiz
Посмотреть сообщение
Mas tipo, como faзo pra por quem baniu e por qual motivo?
Tentei usar DOF2_GetString pro motivo mas nгo deu certo e tirei
PHP код:
public OnPlayerConnect(playerid)
{
    new 
file[50], pname[MAX_PLAYER_NAME], getbanvalgetbanidoporgetmotivostring[128];
    
GetPlayerName(playeridpnamesizeof(pname));
    
format(filesizeof(file), "Contas/%s.ini"pname);
    
getbanval DOF2_GetInt(file"Banido");
    
getbanidopor DOF2_GetString(file,"Banido por");
    
getmotivo DOF2_GetString(file,"Motivo Ban");
    if(
getbanval){
    
format(string,sizeof(string),"[ERRO] Vocк estб banido do servidor, e quem te baniu foi %s, motivo: %s",getbanidopor,getmotivo);
    
SendClientMessage(playerid0xFF0000AA,string);
    
Kick(playerid);
    return 
1;
    }else{
    
Tentativas[playerid] = 0;
    return 
1;
}
}
CMD:ban(playeridparams[])
{
    new 
idmotivo[128], iname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], text[128], file[50];
    
GetPlayerName(idinamesizeof(iname));
    
GetPlayerName(playeridpnamesizeof(pname));
    
format(filesizeof(file), "Contas/%s.ini"pname);
    if(
sscanf(params"us[128]"idmotivo)) return SendClientMessage(playerid0xFF0000AA"[ERRO] Use /ban [id] [motivo]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid0xFF0000AA"[ERRO] Jogador nгo conectado.");
    
format(textsizeof(text), "[ADMIN] O(a) Administrador(a) %s baniu o(a) jogador(a) %s. Motivo: %s"pnameinamemotivo);
    
SendClientMessageToAll(0xFF0000AAtext);
    
format(textsizeof(text), "[BAN] Vocк foi banido(a) pelo(a) Administrador(a) %s. Motivo: %s"pnamemotivo);
    
SendClientMessage(id0xFF0000AAtext);
    
DOF2_SetInt(file"Banido"1);
    
GameTextForPlayer(id"~r~BANIDO(a)"80000);
    
DOF2_SetString(file"Banido por"pname);
    
DOF2_SetString(file,"Motivo Ban",motivo);
    
TogglePlayerControllable(id0);
    
Kick(id);
    return 
1;
    } 
Reply
#8

Muito obrigado mano! +Rep
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)