[Ajuda] DOF2 nгo estб salvando
#1

bom pessoal estou fazendo uma filterscript pro meu sv pq n tenho a pwn dele entгo eu resolvi criar aqui pra salvar o level adm do player e o clan dele porem nгo estб salvando na pasta Contas em scriptfiles eu jб criei a pasta jб puis printf pra indentificar se tem algo de errado mas n tem nada de errado so nгo estб salvando oque eu faзo

codigo

PHP Code:
// NEW.PWN BY: $C0pAs
//===========================INCLUDES===================================//
#include <a_samp>
#include <ZCMD>
#include <sscanf>
#include <DOF2>
//===========================DEFINES==========================//
#define    CONTASS    "Contas/%s.ini"
//===========================ENUMS==========================//
enum pSupremo
{
    
Supremo,
     
Clan
};
new 
pSuper[MAX_PLAYERS][pSupremo];
//===========================NADA======================================//
main()
{
}
//===========================PUBLICS====================================//
public OnGameModeInit()
{
    
printf(" eu me abri o init adm");
    return 
1;
}
public 
OnGameModeExit()
{
    for(new 
0MAX_PLAYERSi++)
    {
        
SalvarPlayer(i);
    }
    
DOF2_Exit();
    
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    new 
ip[16],name[20],string[150];
    
GetPlayerIp(playeridipsizeof(ip));
    
GetPlayerName(playerid,name,sizeof(name));
    
format(string150"[LOGIN] Player %s has Connected with ip: %s."nameip);
    for(new 
i=0;i<MAX_PLAYERS;i++)
    {
      if(
pSuper[playerid][Supremo] >= 1)
     {
    
SendClientMessage(i, -1string);
     }
    }
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
SalvarPlayer(playerid);
    
//==========================================================
    
new file[155], aname[MAX_PLAYER_NAME];
     
GetPlayerName(playeridanamesizeof(aname));
    
format(filesizeof(file), "Contas/%s.ini"aname);
       
DOF2_SetInt(file"vSupremo"pSuper[playerid][Clan]);
    
DOF2_SetInt(file"vClan"pSuper[playerid][Clan]);
    
printf(" eu me salvei tudo");
    
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
CarregarPlayer(playerid);
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    return 
1;
}
//===========================CMDS=====================================//
CMD:setsupremo(playeridparams[])
{
    new 
Levelidplayeraname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], file[155];
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}Vocк nгo tem acesso a este comando!");
    if(
sscanf(params"dd"idplayerLevel)) return SendClientMessage(playerid, -1"[ ERRO] {FF0000}use: /setsupremo [playerid] [level 0-1]");
    if(
Level || Level 1) return SendClientMessage(playerid, -1"[ ERRO] {FF0000}Level invalido tente novamente (0-1)");
    
GetPlayerName(playeridanamesizeof(aname));
    
GetPlayerName(idplayerpnamesizeof(pname));
    
format(filesizeof(file), CONTASSpname);
    
DOF2_SetInt(file"Supremo"Level);
    
pSuper[idplayer][Supremo] = Level;
    
SalvarPlayer(idplayer);
    
printf(" eu me setei adm");
    return 
1;
}
CMD:myskin(playeridparams[])
{
    new 
id;
    if(
pSuper[playerid][Supremo] >= 1) return SendClientMessage(playerid,-1"{FFFFFF} Vocк nгo tem permissгo!");
    if(
sscanf(params"d"id)) return SendClientMessage(playerid, -"/myskin id");
    
SetPlayerSkin(playerid,id);
    
SendClientMessage(id, -1" skin id %d");
    return 
1;
}
CMD:ss(playeridparams[])
{
    
SalvarPlayer(playerid);
    
CarregarPlayer(playerid);
    
printf(" eu salvei tudo");
    return 
1;
}
//===========================STOCKS===================================//
stock PegarNome(playerid)
{
    new 
Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNameMAX_PLAYER_NAME);
    return 
Name;
}
stock SalvarPlayer(playerid)
{
    new 
pArquivos[50];
    
format(pArquivossizeof(pArquivos), CONTASSPegarNome(playerid));
    if(
DOF2_FileExists(pArquivos))
    {
        
DOF2_SetInt(pArquivos"vClan"pSuper[playerid][Clan]);
        
DOF2_SetInt(pArquivos"vSupremo"pSuper[playerid][Supremo]);
        
DOF2_SaveFile();
    }
    return 
1;
}
stock CarregarPlayer(playerid)
{
    new 
pArquivos[50];
    
format(pArquivossizeof(pArquivos), CONTASSPegarNome(playerid));
    if(
DOF2_FileExists(pArquivos))
    {
        
pSuper[playerid][Clan] = DOF2_GetInt(pArquivos"vClan");
        
pSuper[playerid][Supremo] = DOF2_GetInt(pArquivos"vSupremo");
    }
    return 
1;

Reply
#2

Tente "desafogar" o Disconnect:

Code:
public OnPlayerDisconnect(playerid, reason) 
{ 

    SalvarPlayer(playerid); 
    return 1; 
}
No seu ai ele faz com que repita a funзгo 2x, via stock e via manual.
Reply
#3

E a manual estб faltando o
Code:
DOF2_SaveFile();
Reply
#4

Quote:
Originally Posted by willttoonn
View Post
Tente "desafogar" o Disconnect:

Code:
public OnPlayerDisconnect(playerid, reason) 
{ 

    SalvarPlayer(playerid); 
    return 1; 
}
No seu ai ele faz com que repita a funзгo 2x, via stock e via manual.
nгo entendi tentei remover o onplayerdisconnect pra ver se arrumava e n consegui :S
Reply
#5

//Essa funзгo aqui \/ jб faz o que estб abaixo desses ===
SalvarPlayer(playerid);

//O que tem aqui embaixo em verde, vocк pode tirar:
//================================================== ========
new file[155], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), "Contas/%s.ini", aname);
DOF2_SetInt(file, "vSupremo", pSuper[playerid][Clan]);
DOF2_SetInt(file, "vClan", pSuper[playerid][Clan]);

printf(" eu me salvei tudo");
Reply
#6

Quote:
Originally Posted by willttoonn
View Post
//Essa funзгo aqui \/ jб faz o que estб abaixo desses ===
SalvarPlayer(playerid);

//O que tem aqui embaixo em verde, vocк pode tirar:
//================================================== ========
new file[155], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), "Contas/%s.ini", aname);
DOF2_SetInt(file, "vSupremo", pSuper[playerid][Clan]);
DOF2_SetInt(file, "vClan", pSuper[playerid][Clan]);

printf(" eu me salvei tudo");
eu tentei fz isso dnv eu refiz tudo e nгo deu certo

PHP Code:
// NEW.PWN BY: $C0pAs
//===========================INCLUDES===================================//
#include <a_samp>
#include <ZCMD>
#include <sscanf>
#include <DOF2>
#define    CONTASS    "Contas/%s.ini"
//===========================NEWS AND FORWARDS==========================//
enum pSupremo
{
    
Supremo,
     
Clan
};
new 
pSuper[MAX_PLAYERS][pSupremo];
//======================================================================//
main()
{
}
//===========================PUBLICS====================================//
public OnGameModeExit()
{
    for(new 
0MAX_PLAYERSi++)
    {
        
SalvarPlayer(i);
    }
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
SalvarPlayer(playerid);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
CarregarPlayer(playerid);
      return 
1;
}
//===========================CMDS=====================================//
CMD:setsupremo(playeridparams[])
{
    new 
Levelidplayeraname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], file[155];
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}Vocк nгo tem acesso a este comando!");
    if(
sscanf(params"dd"idplayerLevel)) return SendClientMessage(playerid, -1"[ ERRO] {FF0000}use: /setsupremo [playerid] [level 0-1]");
    if(
Level || Level 1) return SendClientMessage(playerid, -1"[ ERRO] {FF0000}Level invalido tente novamente (0-1)");
    
GetPlayerName(playeridanamesizeof(aname));
    
GetPlayerName(idplayerpnamesizeof(pname));
    
format(filesizeof(file), CONTASSpname);
    
DOF2_SetInt(file"Supremo"Level);
    
pSuper[idplayer][Supremo] = Level;
    
SalvarPlayer(idplayer);
    
printf(" eu me setei adm");
    return 
1;
}
//=================[STOCKS DO SERVIDOR]================
stock PegarNome(playerid)
{
    new 
Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNameMAX_PLAYER_NAME);
    return 
Name;
}
stock SalvarPlayer(playerid)
{
    new 
pArquivos[50];
    
format(pArquivossizeof(pArquivos), CONTASSPegarNome(playerid));
    if(
DOF2_FileExists(pArquivos))
    {
        
DOF2_SetInt(pArquivos"vClan"pSuper[playerid][Clan]);
        
DOF2_SetInt(pArquivos"vSupremo"pSuper[playerid][Supremo]);
        
DOF2_SaveFile();
    }
    return 
1;
}
stock CarregarPlayer(playerid)
{
    new 
pArquivos[50];
    
format(pArquivossizeof(pArquivos), CONTASSPegarNome(playerid));
    if(
DOF2_FileExists(pArquivos))
    {
        
pSuper[playerid][Clan] = DOF2_GetInt(pArquivos"vClan");
        
pSuper[playerid][Supremo] = DOF2_GetInt(pArquivos"vSupremo");
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)