[Ajuda] Estou com problemas no meu sistema de administraзгo :(
#1

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;

Reply
#2

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;

Reply
#3

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(); .
Reply
#4

ss kk
Reply
#5

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
Reply
#6

o codigo do Dark funciona eu testei e salvou mano.
Reply
#7

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)); 
Reply
#8

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


Coloca na callback OnPlayerConnect
Reply
#9

Vou tentar amanhг.
Reply
#10

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])); 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)