SA-MP Forums Archive
[Ajuda] Estou com problemas no meu sistema de administraзгo :( - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Estou com problemas no meu sistema de administraзгo :( (/showthread.php?tid=639237)



Estou com problemas no meu sistema de administraзгo :( - fxckshzt - 13.08.2017

Bom, o sistema de administraзгo em si, estб уtimo.
O Ъnico problema й que quando o player que й ADM sai e entra no server, toda vez que ele sai, eu tenho que setar ele de novo. parece que o <DOF2> que estou utilizando nгo ta servindo pra nd
Simulaзгo:

Setei meu amigo agora de admin level 5
fui na pasta scripfiles/Admins/[GM].ini, estб lб tudo certinho, Admin Level = 5
Quando entro no servidor e coloco o comando que sу ADM level 5 pode utilizar, diz que eu nгo tenho permissгo (sу ADM), aн eu me seto dnv (/setadmin 0 5). Aн agora sim eu posso usar o comando!
aн eu saio e entro e persiste no mesmo problema.


Segue abaixo as linhas aonde estб todo o adm system

Linhas:
PHP код:
#include <a_samp>
#include <zcmd>
#include <DOF2>
enum PlayerAdmin
{
    
Level
}
new 
pAdmin[MAX_PLAYERS][PlayerAdmin];
public 
OnPlayerConnect(playerid)
{
    new 
arquiva[34], playernome[MAX_PLAYER_NAME]; 
    
GetPlayerName(playeridplayernomesizeof(playernome)); 
    
format(arquivasizeof(arquiva), "Admins/%s.ini"playernome);
    if(
DOF2_FileExists(arquiva))
    {
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile(); 
    }
    else 
    {
        
DOF2_CreateFile(arquiva); 
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile(); .
    }
return 
0;
}
public 
OnPlayerDisconnect(playeridreason)
{
    new 
arquiva[34], playernome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayernomesizeof(playernome));
    
format(arquivasizeof(arquiva), "Admins/%s.ini"playernome);
    if(
DOF2_FileExists(arquiva))
    {
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile();
    }
    else
    {
        
DOF2_CreateFile(arquiva);
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile();
    }
    return 
1;
}
stock GetLevelAdmin(levelid)
{
    new 
str[50];
    if(
levelid == 1)
    {
        
str "Administrador em Teste";
    }
    else if (
levelid == 2)
    {
        
str "Administrador";
    }
    else if (
levelid == 3)
    {
        
str "Master Administrador";
    }
    else if (
levelid == 4)
    {
        
str "SubGameMaster";
    }
    else if (
levelid == 5)
    {
        
str "GameMaster";
    }
    return 
str;
}
Acho desnecessбrioacrescentarmas por algum problema ou caso vocкs pedirem vou inserir:
public 
OnGameModeExit()
{
    
DOF2_Exit();
    return 
1;




Re: Estou com problemas no meu sistema de administraзгo :( - DarkBr - 13.08.2017

troque:
PHP код:
public OnPlayerConnect(playerid)
{
    new 
arquiva[34], playernome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayernomesizeof(playernome));
    
format(arquivasizeof(arquiva), "Admins/%s.ini"playernome);
    if(
DOF2_FileExists(arquiva))
    {
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile();
    }
    else
    {
        
DOF2_CreateFile(arquiva);
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile(); .
    }
    return 
1;

por:
PHP код:
public OnPlayerConnect(playerid)
{
    new 
arquiva[34], playernome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayernomesizeof(playernome));
    
format(arquivasizeof(arquiva), "Admins/%s.ini"playernome);
    if(
DOF2_FileExists(arquiva))
    {
        
pAdmin[playerid][Level]     =   DOF2_GetInt(arquiva"Admin Level");
    }
    else
    {
        
DOF2_CreateFile(arquiva);
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile(); .
    }
    return 
1;




Re: Estou com problemas no meu sistema de administraзгo :( - GuilhermeNunes - 13.08.2017

Quote:
Originally Posted by DarkBr
Посмотреть сообщение
troque:
PHP код:
public OnPlayerConnect(playerid)
{
    new 
arquiva[34], playernome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayernomesizeof(playernome));
    
format(arquivasizeof(arquiva), "Admins/%s.ini"playernome);
    if(
DOF2_FileExists(arquiva))
    {
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile();
    }
    else
    {
        
DOF2_CreateFile(arquiva);
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile(); .
    }
    return 
1;

por:
PHP код:
public OnPlayerConnect(playerid)
{
    new 
arquiva[34], playernome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayernomesizeof(playernome));
    
format(arquivasizeof(arquiva), "Admins/%s.ini"playernome);
    if(
DOF2_FileExists(arquiva))
    {
        
pAdmin[playerid][Level]     =   DOF2_GetInt(arquiva"Admin Level");
    }
    else
    {
        
DOF2_CreateFile(arquiva);
        
DOF2_SetInt(arquiva"Admin Level"pAdmin[playerid][Level]);
        
DOF2_SaveFile(); .
    }
    return 
1;

zak tu esqueзeu de tirar o ponto

DOF2_SaveFile(); .



Re: Estou com problemas no meu sistema de administraзгo :( - DarkBr - 13.08.2017

ss kk


Re: Estou com problemas no meu sistema de administraзгo :( - fxckshzt - 14.08.2017

Dark, era isso que pensei exatamente em fazer. Eu fiquei lendo a include do DOF2 no notepad++ e vi as funзoes exercidas e fui traduzindo e entendendo. Mas tive que sair e nгo completei a callback e nao resolvi o problema


Re: Estou com problemas no meu sistema de administraзгo :( - GuilhermeNunes - 14.08.2017

o codigo do Dark funciona eu testei e salvou mano.


Re: Estou com problemas no meu sistema de administraзгo :( - fxckshzt - 14.08.2017

E sу uma perguntinha, como faзo pra enviar uma mensagem de tipo: Vocк logou com nнvel %s de Administrador!

Eu faзo assim?:

PHP код:
SendClientMessage(playerid, -1"{00BFFF}[SERVER]{FFFFFF}:
Vocк logou com nнvel %s de Administrador"
GetLevelAdmin(playerid)); 



Re: Estou com problemas no meu sistema de administraзгo :( - GuilhermeNunes - 14.08.2017

PHP код:
 if(VARIAVELADMAQUI >= 1) return SendClientMessage(playerid, -1" Vocк logou como adm  ); 
Usa aquela stock dele para pegar o LEVEL...


Coloca na callback OnPlayerConnect


Re: Estou com problemas no meu sistema de administraзгo :( - fxckshzt - 14.08.2017

Vou tentar amanhг.


Re: Estou com problemas no meu sistema de administraзгo :( - Fakeger2 - 14.08.2017

PHP код:
public OnPlayerConnect(playerid)
{
    if(
leveladm 0)
    {
    new 
string[50];
    
format(stringsizeof(string),"{00BFFF}[SERVER]{FFFFFF}:
    Vocк logou com nнvel %d de Administrador"
pAdmin[playerid][Level]);
    
SendClientMessage(playerid, -1string);
    return 
1;
    }

Ou use a stock:
PHP код:
format(stringsizeof(string),"{00BFFF}[SERVER]{FFFFFF}:
Vocк logou como %s"
GetLevelAdmin(pAdmin[playerid][Level]));