[Pedido]/ban
#1

ajuda eu qeria um fs de /ban so pra adm mas so que eu querias que ele proibice os nick banido tipo ele criace uma pasta com os nicks banis atencao a base do meu gm e o bsl se conseguir fazer um compativel ou um que aki nele tem dentro do gm aki


PHP код:
    if(strcmp(cmd"/ban"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            
tmp strtok(cmdtextidx);
            if(!
strlen(tmp))
            {
                
SendClientMessage(playeridCOLOR_GRAD2"USE: /ban [playerid/ParteDoNome] [motivo]");
                return 
1;
            }
            
giveplayerid ReturnUser(tmp);
            new 
nome[24];
            
GetPlayerName(playeridnomesizeof nome);
            if(
PlayerInfo[playerid][pAdmin] >= || strfind(nomeADMPLAYERtrue) == || strfind(nomeADMPLAYER2true) == 0)
            {
                if(
IsPlayerConnected(giveplayerid))
                {
                    if(
giveplayerid != INVALID_PLAYER_ID)
                    {
                        
GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                        
GetPlayerName(playeridsendernamesizeof(sendername));
                        new 
length strlen(cmdtext);
                        while ((
idx length) && (cmdtext[idx] <= ' '))
                        {
                            
idx++;
                        }
                        new 
offset idx;
                        new 
result[64];
                        while ((
idx length) && ((idx offset) < (sizeof(result) - 1)))
                        {
                            
result[idx offset] = cmdtext[idx];
                            
idx++;
                        }
                        
result[idx offset] = EOS;
                        if(!
strlen(result))
                        {
                            
SendClientMessage(playeridCOLOR_GRAD2"USE: /ban [playerid/ParteDoNome] [motivo]");
                            return 
1;
                        }
                        new 
yearmonth,day;
                        
getdate(yearmonthday);
                        if(
strfind(nomeADMPLAYERtrue) == || strfind(nomeADMPLAYER2true) == 0)
                        {
                            
format(stringsizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s (%d-%d-%d)|"giveplayerADMMASTER, (result),month,day,year);
                            
BanLog(string);
                            
format(stringsizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s|"giveplayerADMMASTER, (result));
                            
SendClientMessageToAll(LARANJA1string);
                        }
                        else
                        {
                            
format(stringsizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s (%d-%d-%d)|"giveplayersendername, (result),month,day,year);
                            
BanLog(string);
                            
format(stringsizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s|"giveplayersendername, (result));
                            
SendClientMessageToAll(LARANJA1string);
                        }
                        
Ban(giveplayerid);
                        return 
1;
                    } 
Reply
#2

[I]Como funciona:
Vocк vai ter que adicionar a include dini no topo do Game Mode, no caso seria " #include <dini> ", feito isso vocк precisa criar uma pasta chamada: " Bans " dentro da pasta scriptfiles, depois coloque o script da seguinte forma:

Em OnPlayerConnect:
CONCERTADO, POIS COLOQUEI UMA ARRAY A MAIS, ME EMPOLGUEI e.e!
pawn Код:
public OnPlayerConnect(playerid)
{
new String[128], Jogador[24];
GetPlayerName(playerid, Jogador, 24);
format(String, 128, "Bans/%s.ini",Jogador);
if(fexist(String))
{
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    format(String, sizeof(String),  "***** Vocк estб banido do servidor %s, se vocк quiser ser desbanido vб atй a comunidade chora emo! ****",Jogador), SendClientMessage(playerid,0xFF5868AA, String);
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    Kick(playerid);
    return true;
}
Troque o comando:
pawn Код:
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [playerid/ParteDoNome] [motivo]");
    giveplayerid = ReturnUser(tmp);
    new nome[24];
    GetPlayerName(playerid, nome, sizeof nome);
    if(PlayerInfo[playerid][pAdmin] >= 5 || strfind(nome, ADMPLAYER, true) == 0 || strfind(nome, ADMPLAYER2, true) == 0)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
        GetPlayerName(playerid, sendername, sizeof(sendername));
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
        idx++;
        }
        new offset = idx;
        new result[64];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
            result[idx - offset] = cmdtext[idx];
            idx++;
        }
        result[idx - offset] = EOS;
        if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [playerid/ParteDoNome] [motivo]");
        new year, month,day;
        getdate(year, month, day);
        if(strfind(nome, ADMPLAYER, true) == 0 || strfind(nome, ADMPLAYER2, true) == 0)
        {
            format(string, sizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s (%d-%d-%d)|", giveplayer, ADMMASTER, (result),month,day,year);
            BanLog(string);
            format(string, sizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s|", giveplayer, ADMMASTER, (result));
            SendClientMessageToAll(LARANJA1, string);
        }
        else
        {
            format(string, sizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s (%d-%d-%d)|", giveplayer, sendername, (result),month,day,year);
            BanLog(string);
            format(string, sizeof(string), "|ADMIN|: %s foi banido por %s |Motivo: %s|", giveplayer, sendername, (result));
            SendClientMessageToAll(LARANJA1, string);
        }
        new String[20];
        format(String, 20, "Bans/%s.ini",giveplayerid);
        dini_Create(String);
        Ban(giveplayerid);
        return true;
    }
Fiz meio na correria, ta ai ! espero ter ajudado
Reply
#3

nao foi man erros atgraz de erros o que deu o erro foi esta parte aki

PHP код:
new String[128], Jogador[24];
GetPlayerName(playeridJogador24);
format(String128"Bans/%s.ini",Jogador);
if(
fexist(String))
{
    
SendClientMessage(playerid0x900000AA"************************************************************************************************");
    
format(Stringsizeof(String),  "***** Vocк estб banido do servidor %s, se vocк quiser ser desbanido vб atй a comunidade chora emo! ****",Jogador), SendClientMessage(playerid,0xFF5868AAString);
    
SendClientMessage(playerid0x900000AA"************************************************************************************************");
    
Kick(playerid);
    }
    return 
true;

esta parte ai ta dando erro
Reply
#4

@Edit,nao vi todo o code,man..
que erro da?
Reply
#5

pawn Код:
new String[128], Jogador[24];
GetPlayerName(playerid, Jogador, 24);
format(String, 128, "Bans/%s.ini",Jogador);
if(fexist(String))
{
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    format(String, sizeof(String),  "***** Vocк estб banido do servidor %s, se vocк quiser ser desbanido vб atй a comunidade chora emo! ****",Jogador), SendClientMessage(playerid,0xFF5868AA, String);
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    Kick(playerid);
    return true;
}
Reply
#6

pawn Код:
new String[128], Jogador[24];
GetPlayerName(playerid, Jogador, 24);
format(String, 128, "Bans/%s.ini",Jogador);
if(fexist(String))
{
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    format(String, sizeof(String),  "***** Vocк estб banido do servidor %s, se vocк quiser ser desbanido vб atй a comunidade chora emo! ****",Jogador), SendClientMessage(playerid,0xFF5868AA, String);
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    Kick(playerid);
    return true;
}
Coloque desta forma, pois coloquei uma array a +
Reply
#7

Quote:
Originally Posted by StrondA_
Посмотреть сообщение
pawn Код:
new String[128], Jogador[24];
GetPlayerName(playerid, Jogador, 24);
format(String, 128, "Bans/%s.ini",Jogador);
if(fexist(String))
{
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    format(String, sizeof(String),  "***** Vocк estб banido do servidor %s, se vocк quiser ser desbanido vб atй a comunidade chora emo! ****",Jogador), SendClientMessage(playerid,0xFF5868AA, String);
    SendClientMessage(playerid, 0x900000AA, "************************************************************************************************");
    Kick(playerid);
    return true;
}
Coloque desta forma, pois coloquei uma array a +
{ e } nгo sгo arrays, sгo brackets.

pawn Код:
static
    aaa[3] =
{  
    1,
    2,
    3
};
Isso й uma array.
Reply
#8

Nao se esqueзa de criar a pasta "Bans" na pasta scriptfiles, se nao o servidor vai cair toda vez que voce banir alguem. E voce tem que mudar de "Ban(para1);" para "Kick(para1);" porque se nao quando ele entrar nao vai mandar aquela mensagem, e nao vai mudar em nada.
Reply
#9

Rock, eu me confundo muito as vezes, entгo eu chamo de array mesmo, nem me importo!
Eu jб expliquei que й necessбrio usar uma pasta " bans " no scriptfiles esse tуpico jб era pra estar cloused ! :\
Reply
#10

Stronda, foi por isso que eu coloquei:
"Nгo se esqueзa", para ele se lembrar ^^
Mas oque eu realmente queria postar йra do ban> kick, porque se nao nao ia mudar nada
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)