Portal SAMP
[Ajuda] Sistema whitelist - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Sistema whitelist (/showthread.php?tid=2790)

Páginas: 1 2


RE: Sistema whitelist - fear - 13/09/2022

(13/09/2022 11:50)MarcosBrazz Escreveu: Substitui por isso
Código:
stock IsWhitelisted(playerid)
{
    new string[256], name[24];
    GetPlayerName(playerid, name, 32);
    if(!fexist(Whitelist)) {new File:fhandle = fopen(Whitelist,io_write); fclose(fhandle);}
    new File:hfile = fopen("Whitelist.txt", io_read);
    while(fread(hfile, string))
    {
        if(strfind(string, name, true) != -1 && strlen(string))
        {
            return 1;
        }
    }
    fclose(hfile);
    return 0;
}

Show! unico problema que agora ficou foi do comando de deletar o nick da wl ele não esta apagando no whitelist.txt

cmd:

Código PHP:
CMD:deletarwl(playerid,params[])
{
    new 
name[24+1];
    if(
AdmServer(playerid2)) return 1;
    {
        if(
sscanf(params,"s[24]",name)) return SendClientMessage(playerid,-1,"Use /deletar wl [playerid / name]");
        
RemovePlayerFromWhitelist(name);
    }
    return 
1;


STOCK

Código PHP:
stock RemovePlayerFromWhitelist(name[])
{
    new 
string[256], line=0;
    if(!
fexist(Whitelist)) {new File:fhandle fopen(Whitelist,io_write); fclose(fhandle);}
    new 
File:hfile fopen(Whitelistio_read);
    while(
fread(hfilestring))
    {
        if(!
strcmp(stringnamefalse) && strlen(string))
        {
            
fdeleteline(Whitelistline);
        }
        
line++;
    }
    
fclose(hfile);




RE: Sistema whitelist - MarcosBrazz - 13/09/2022

Substitui
Código:
stock RemovePlayerFromWhitelist(name[])
{
    new string[256], line=0;
    if(!fexist(Whitelist)) {new File:fhandle = fopen(Whitelist,io_write); fclose(fhandle);}
    new File:hfile = fopen(Whitelist, io_read);
    while(fread(hfile, string))
    {
        if(strfind(string, name, true) != -1 && strlen(string))
        {
            fdeleteline(Whitelist, line);
        }
        line++;
    }
    fclose(hfile);
}



RE: Sistema whitelist - fear - 13/09/2022

(13/09/2022 18:23)MarcosBrazz Escreveu: Substitui
Código:
stock RemovePlayerFromWhitelist(name[])
{
    new string[256], line=0;
    if(!fexist(Whitelist)) {new File:fhandle = fopen(Whitelist,io_write); fclose(fhandle);}
    new File:hfile = fopen(Whitelist, io_read);
    while(fread(hfile, string))
    {
        if(strfind(string, name, true) != -1 && strlen(string))
        {
            fdeleteline(Whitelist, line);
        }
        line++;
    }
    fclose(hfile);
}

Ele removeu.. porém o nick errado coloquei /deletarwl teste e removeu o nick fear que estava acima do nick teste no whitelist.txt


RE: Sistema whitelist - Sants - 13/09/2022

Olá fear, 

em visão de auxiliar não só você como demais usuários do fórum desenvolvi um simples WL.

Disponível em:

https://portalsamp.com/showthread.php?tid=2794&pid=10896#pid10896


RE: Sistema whitelist - fear - 14/09/2022

(13/09/2022 23:35)Sants Escreveu: Olá fear, 

em visão de auxiliar não só você como demais usuários do fórum desenvolvi um simples WL.

Disponível em:

https://portalsamp.com/showthread.php?tid=2794&pid=10896#pid10896

Obrigado! Porém eu preciso liberar o IP em questão ou somente o Nick? Pois tem muitos player que não tem IP fixo e muda depois


RE: Sistema whitelist - Sants - 14/09/2022

(14/09/2022 16:59)fear Escreveu:
(13/09/2022 23:35)Sants Escreveu: Olá fear, 

em visão de auxiliar não só você como demais usuários do fórum desenvolvi um simples WL.

Disponível em:

https://portalsamp.com/showthread.php?tid=2794&pid=10896#pid10896

Obrigado! Porém eu preciso liberar o IP em questão ou somente o Nick? Pois tem muitos player que não tem IP fixo e muda depois

Você escolhe, Nick (com qualquer IP conseguirá entrar)  ou IP (com qualquer Nick conseguirá entrar).


RE: Sistema whitelist - fear - 14/09/2022

(14/09/2022 17:52)Sants Escreveu:
(14/09/2022 16:59)fear Escreveu:
(13/09/2022 23:35)Sants Escreveu: Olá fear, 

em visão de auxiliar não só você como demais usuários do fórum desenvolvi um simples WL.

Disponível em:

https://portalsamp.com/showthread.php?tid=2794&pid=10896#pid10896

Obrigado! Porém eu preciso liberar o IP em questão ou somente o Nick? Pois tem muitos player que não tem IP fixo e muda depois

Você escolhe, Nick (com qualquer IP conseguirá entrar)  ou IP (com qualquer Nick conseguirá entrar).

Entendi. mano uma pergunta teria como eu colocar o comando de mudar nick para alterar o nick do WL la?

meu comando de mudar o nick e esse:

Código PHP:
CMD:nick(playeridparams[])
{
    if(
ChecarPermissoes(playerid)) return 1;
    if(!
nickChangeAuthorized[playerid])
    return 
Msg(playeridCOLOR_RED"<!> {FFFFFF}Voce nao tem autorizado para mudar seu nick,peça a um admin on! /Admins");
    new 
novo[MAX_PLAYER_NAME];
    if(
sscanf(params"s[512]"novo))
    return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Digite: /Nick <Novonick>");
    if(
strlen(novo) > MAX_PLAYER_NAME-4)
    return 
Msg(playeridVermelho"Maximum 20 caracteres.");
    new 
strReg[41], strReg2[41];
    
format(strReg40"zP/Contas/%s.ini"novo);
    if(
fexist(strReg))
    return 
Msg(playeridcortag"nick registrado");
    
format(strReg40"zP/Contas/%s.ini"Nome(playerid));
    
format(strReg240"zP/Contas/%s.ini"novo);
    
DOF2_RenameFile(strRegstrReg2);
    
DOF2_SaveFile();
    
format(String100"Novo Nick: [%s]",novo);
    
SetPlayerName(playeridnovo);
    
format(playerOriginalName[playerid], MAX_PLAYER_NAMEnovo);
    
Msg(playeridcortagString);

    
nickChangeAuthorized[playerid] = false;
    return 
1;




RE: Sistema whitelist - Sants - 14/09/2022

(14/09/2022 19:39)fear Escreveu:
(14/09/2022 17:52)Sants Escreveu:
(14/09/2022 16:59)fear Escreveu:
(13/09/2022 23:35)Sants Escreveu: Olá fear, 

em visão de auxiliar não só você como demais usuários do fórum desenvolvi um simples WL.

Disponível em:

https://portalsamp.com/showthread.php?tid=2794&pid=10896#pid10896

Obrigado! Porém eu preciso liberar o IP em questão ou somente o Nick? Pois tem muitos player que não tem IP fixo e muda depois

Você escolhe, Nick (com qualquer IP conseguirá entrar)  ou IP (com qualquer Nick conseguirá entrar).

Entendi. mano uma pergunta teria como eu colocar o comando de mudar nick para alterar o nick do WL la?

meu comando de mudar o nick e esse:

Código PHP:
CMD:nick(playeridparams[])
{
    if(
ChecarPermissoes(playerid)) return 1;
    if(!
nickChangeAuthorized[playerid])
    return 
Msg(playeridCOLOR_RED"<!> {FFFFFF}Voce nao tem autorizado para mudar seu nick,peça a um admin on! /Admins");
    new 
novo[MAX_PLAYER_NAME];
    if(
sscanf(params"s[512]"novo))
    return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Digite: /Nick <Novonick>");
    if(
strlen(novo) > MAX_PLAYER_NAME-4)
    return 
Msg(playeridVermelho"Maximum 20 caracteres.");
    new 
strReg[41], strReg2[41];
    
format(strReg40"zP/Contas/%s.ini"novo);
    if(
fexist(strReg))
    return 
Msg(playeridcortag"nick registrado");
    
format(strReg40"zP/Contas/%s.ini"Nome(playerid));
    
format(strReg240"zP/Contas/%s.ini"novo);
    
DOF2_RenameFile(strRegstrReg2);
    
DOF2_SaveFile();
    
format(String100"Novo Nick: [%s]",novo);
    
SetPlayerName(playeridnovo);
    
format(playerOriginalName[playerid], MAX_PLAYER_NAMEnovo);
    
Msg(playeridcortagString);

    
nickChangeAuthorized[playerid] = false;
    return 
1;



Adicionei ao código do FS uma função para fazer a atualização:

Código PHP:
UpdateWLNick(oldnicknick) {
    format(pathsizeof(path), PASTAWLNICKnick);
    DOF2_CreateFile(path);
    DOF2_SaveFile();
    format(pathsizeof(path), PASTAWLNICKoldnick);
    DOF2_RemoveFile(path);
 
    return 1;




RE: Sistema whitelist - fear - 14/09/2022

(14/09/2022 20:17)Sants Escreveu:
(14/09/2022 19:39)fear Escreveu:
(14/09/2022 17:52)Sants Escreveu:
(14/09/2022 16:59)fear Escreveu:
(13/09/2022 23:35)Sants Escreveu: Olá fear, 

em visão de auxiliar não só você como demais usuários do fórum desenvolvi um simples WL.

Disponível em:

https://portalsamp.com/showthread.php?tid=2794&pid=10896#pid10896

Obrigado! Porém eu preciso liberar o IP em questão ou somente o Nick? Pois tem muitos player que não tem IP fixo e muda depois

Você escolhe, Nick (com qualquer IP conseguirá entrar)  ou IP (com qualquer Nick conseguirá entrar).

Entendi. mano uma pergunta teria como eu colocar o comando de mudar nick para alterar o nick do WL la?

meu comando de mudar o nick e esse:

Código PHP:
CMD:nick(playeridparams[])
{
    if(
ChecarPermissoes(playerid)) return 1;
    if(!
nickChangeAuthorized[playerid])
    return 
Msg(playeridCOLOR_RED"<!> {FFFFFF}Voce nao tem autorizado para mudar seu nick,peça a um admin on! /Admins");
    new 
novo[MAX_PLAYER_NAME];
    if(
sscanf(params"s[512]"novo))
    return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Digite: /Nick <Novonick>");
    if(
strlen(novo) > MAX_PLAYER_NAME-4)
    return 
Msg(playeridVermelho"Maximum 20 caracteres.");
    new 
strReg[41], strReg2[41];
    
format(strReg40"zP/Contas/%s.ini"novo);
    if(
fexist(strReg))
    return 
Msg(playeridcortag"nick registrado");
    
format(strReg40"zP/Contas/%s.ini"Nome(playerid));
    
format(strReg240"zP/Contas/%s.ini"novo);
    
DOF2_RenameFile(strRegstrReg2);
    
DOF2_SaveFile();
    
format(String100"Novo Nick: [%s]",novo);
    
SetPlayerName(playeridnovo);
    
format(playerOriginalName[playerid], MAX_PLAYER_NAMEnovo);
    
Msg(playeridcortagString);

    
nickChangeAuthorized[playerid] = false;
    return 
1;



Adicionei ao código do FS uma função para fazer a atualização:

Código PHP:
UpdateWLNick(oldnicknick) {
    format(pathsizeof(path), PASTAWLNICKnick);
    DOF2_CreateFile(path);
    DOF2_SaveFile();
    format(pathsizeof(path), PASTAWLNICKoldnick);
    DOF2_RemoveFile(path);
 
    return 1;


Bah vlw mano. adaptei no meu comando ali e funcionou perfeitamente. +REP