[Ajuda] Salvar admin
#1

Opa boa noite, to com uma duvida pra salvar o admin. Pois oq acontece й o seguinte, entro no meu servidor logo na rcon dou admin. Ao deslogar o level do admin nгo fica salvo. continua 0 na Scripfiles.

PHP код:
CMD:daradmin(playeridparams[])
{
    if (!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"» {FF0000}Vocк nгo tem permissгo para usar este comando!");
    if(
sscanf(params"ii"IDNumero))        return SendClientMessage(playeridCorErroNeutro"USE: /daradmin [ID] [LEVEL]");
    if(!
IsPlayerConnected(ID))                    return SendClientMessage(playeridCorErroNeutro"O jogador nгo estб conectado");
    if(
Numero || Numero == 0)                return SendClientMessage(playeridVermelho"ERRO: O Level deve esstar entre 1 e 6 !");
     
format(Str256"Vocк definiu o level de administraзгo de %s para %i.",NomePlayer(playerid), Numero);
    
SendClientMessage(playeridAzulStr);
    
//
    
format(Str256"Vocк foi promovido a Level %i de administraзгo. Vocк foi promovido por %s."NumeroNomePlayer(playerid));
    
SendClientMessage(IDAzulStr);
    
//
    
format(Strsizeof(Str), "AdmCmd: O administrador %s definiu o nнvel de administraзгo de %s para %i."NomePlayer(playerid), NomePlayer(playerid), Numero);
    
Jogador[ID][Admin] = Numero;
    
//
//    Log("pAdmin/Logs/DarAdmin.ini", Str);
    
return 1;

Estou usando o sistema de salvamento da HumildadeForever pois era exatamente oque eu estava precisando ah uns tempos atras, aqui estгo as stock de salvamento.

e as enum caso queira ver q esta la pra salvar Admin

PHP код:
enum jInfo
{
    
Sexo,
    
Idade,
    
Admin,
    
Cidade,
    
SenhaErrada
}; 
PHP код:
stock CarregarPlayer(playerid)
{
    if(
DOF2_FileExists(ContaPlayer(playerid)))
    {
        
Jogador[playerid][Idade] = DOF2_GetInt(ContaPlayer(playerid),"Idade");
        
Jogador[playerid][Cidade] = DOF2_GetInt(ContaPlayer(playerid),"Cidade");
        
Jogador[playerid][Sexo] = DOF2_GetInt(ContaPlayer(playerid),"Sexo");
        
SetPlayerScore(playeridDOF2_GetInt(ContaPlayer(playerid), "Score"));
        
SetPlayerSkin(playeridDOF2_GetInt(ContaPlayer(playerid),"Skin"));
        
Jogador[playerid][Admin] = DOF2_GetInt(ContaPlayer(playerid),"Admin");
        
//DOF2_SetInt(arquivo,"Admin Level",PlayerInfo[playerid][Admin]);
    
}
    return 
1;
}
stock SalvarPlayer(playerid)
{
    if(
DOF2_FileExists(ContaPlayer(playerid)))
    {
        
DOF2_SetInt(ContaPlayer(playerid),"Idade"Jogador[playerid][Idade]);
        
DOF2_SetInt(ContaPlayer(playerid),"Cidade"Jogador[playerid][Cidade]);
        
DOF2_SetInt(ContaPlayer(playerid),"Sexo"Jogador[playerid][Sexo]);
        
DOF2_SetInt(ContaPlayer(playerid),"Score"GetPlayerScore(playerid));
        
DOF2_SetInt(ContaPlayer(playerid),"Skin"GetPlayerSkin(playerid));
        
DOF2_SetInt(ContaPlayer(playerid),"Admin"Jogador[playerid][Admin]);
        
DOF2_SaveFile();
    }
    return 
1;

Como posso revolver isso? Detalhe tudo q tem na GM atй agora й Registro e esse comando de dar admin. nгo tem mais nada.
Obs: Nгo criei os cargos de admin ainda, sera q й por isso? Tipo, level 1 - 2 - 3 - 4 - 5 e assim vai ...
Reply
#2

Cк tб salvando os dados do jogador quando ele desloga? OnPlayerDisconnect
Reply
#3

Faz o que o Vithin falou.
PHP код:
//e troca isso
format(Strsizeof(Str), "AdmCmd: O administrador %s definiu o nнvel de administraзгo de %s para %i."NomePlayer(playerid), NomePlayer(playerid), Numero);
// por isso
format(Strsizeof(Str), "AdmCmd: O administrador %s definiu o nнvel de administraзгo de %s para %i."NomePlayer(playerid), NomePlayer(ID), Numero); 
Reply
#4

Opa sim deu certo foi erro meu mesmo galera kkk Sгo duas Stock

Stock CarregarPlayer

e

Stock SalvarPlayer

Na OnPlayerDisconnect tava CarregarPlayer Por isso nгo estava salvando. Sу estou verificando o resto se й isto mesmo, porem o level de admin ja salvou. entгo deve ser. Muito obrigado a vocкs.
Reply
#5

@Ryuzaki07

Nгo se esqueзa de outra coisa essencial:
PHP код:
public OnGameModeExit()
{
    for(new 
0<= GetPlayerPoolSize(); ++i)
        
SalvarPlayer(i);
    
DOF2_Exit();
    return 
1;

Reply
#6

Quote:
Originally Posted by Vithinn
Посмотреть сообщение
@Ryuzaki07

Nгo se esqueзa de outra coisa essencial:
PHP код:
public OnGameModeExit()
{
    for(new 
0<= GetPlayerPoolSize(); ++i)
        
SalvarPlayer(i);
    
DOF2_Exit();
    return 
1;

Isso й caso o servidor feche sozinho correto? ai ele salva. ?
Reply
#7

Quote:
Originally Posted by Ryuzaki07
Посмотреть сообщение
Isso й caso o servidor feche sozinho correto? ai ele salva. ?
Exatamente, nгo me recordo se й necessбrio fazer dessa forma, mas й como estava em um antigo sistema de registro que havia feito.
Reply
#8

Quote:
Originally Posted by Vithinn
Посмотреть сообщение
Exatamente, nгo me recordo se й necessбrio fazer dessa forma, mas й como estava em um antigo sistema de registro que havia feito.
Ele pode fazer no OnPlayerDisconnect tambйm. Й atй melhor por lб, na verdade...
Reply
#9

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Ele pode fazer no OnPlayerDisconnect tambйm. Й atй melhor por lб, na verdade...
Uma dъvida besta cujo sempre me assombrou. Quando o gamemode й fechado "OnGameModeExit" conta como se o jogador tivesse desconectado do mesmo?
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)