SA-MP Forums Archive
[Ajuda] Carregamento - 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] Carregamento (/showthread.php?tid=656239)



Carregamento - Luiiiz - 10.07.2018

Gostaria de saber um melhor jeito para poder getar e setar a profissгo do jogador assim que ele loga!
Eu jб tentei fazer um esquema tipo:
PHP код:
new ProfissaoGetada[30];
ProfissaoGetada[29] = DOF2_GetString(file"Profissao");
if(
ProfissaoGetada[29] == Desempregado)
{
    
pProfissao[playerid] = Desempregado;
}
if(
ProfissaoGetada[29] == Caminhoneiro)
{
    
pProfissao[playerid] = Caminhoneiro;

Porйm sempre que eu logo, mesmo lб estando escrito Caminhoneiro, estб setando Desempregado.
Ou entгo
PHP код:
pProfissao[playerid] = DOF2_GetString(file"Profissao"); // error must be assigned to an array 
Porйm tambйm nгo funciona bem. Se alguйm me falar um bom jeito para poder pegar a profissгo salva de modo texto e salvar automaticamente na variбvel pProfissao, agradeзo xD

PHP код:
forward CarregarDados(playerid);
public 
CarregarDados(playerid)
{
        new 
file[50];
        
format(filesizeof(file), "Contas/%s.ini"Nome(playerid));
        
pAdmin[playerid] = DOF2_GetInt(file"LevelAdmin");
        
Avisos[playerid] = DOF2_GetInt(file"Avisos");
        
Calado[playerid] = DOF2_GetInt(file"Calado");
        
aPreso[playerid] = DOF2_GetInt(file"AdminPreso");
        
MinAPreso[playerid] = DOF2_GetInt(file"MinutosAPreso");
        
SegAPreso[playerid] = DOF2_GetInt(file"SegundosAPreso");
        
pVIP[playerid] = DOF2_GetInt(file"VIP");
        
ProfissaoQuePegou[playerid] = 0;
        
GivePlayerMoney(playeridDOF2_GetInt(file"DinheiroNaMao"));
        
SetTimerEx("AtualizarGrana"5001"i"playerid);
        
SetTimer("AtualizarData"10001);
        return 
1;




Re: Carregamento - Cidiei - 10.07.2018

Bom amigo,

Tente da seguinte forma:

new
ProfissaoGetada;

Код:
ProfissaoGetada = DOF2_GetString(file, "Profissao"); 
if(ProfissaoGetada == "Caminhoneiro") { 
    pProfissao[playerid] = Caminhoneiro; 
} else { 
    pProfissao[playerid] = Desempregado; 
}



Re: Carregamento - SammyJ - 10.07.2018

Quote:
Originally Posted by Luiiiz
Посмотреть сообщение
Gostaria de saber um melhor jeito para poder getar e setar a profissгo do jogador assim que ele loga!
Eu jб tentei fazer um esquema tipo:
PHP код:
new ProfissaoGetada[30];
ProfissaoGetada[29] = DOF2_GetString(file"Profissao");
if(
ProfissaoGetada[29] == Desempregado)
{
    
pProfissao[playerid] = Desempregado;
}
if(
ProfissaoGetada[29] == Caminhoneiro)
{
    
pProfissao[playerid] = Caminhoneiro;

Porйm sempre que eu logo, mesmo lб estando escrito Caminhoneiro, estб setando Desempregado.
Ou entгo
PHP код:
pProfissao[playerid] = DOF2_GetString(file"Profissao"); // error must be assigned to an array 
Porйm tambйm nгo funciona bem. Se alguйm me falar um bom jeito para poder pegar a profissгo salva de modo texto e salvar automaticamente na variбvel pProfissao, agradeзo xD

PHP код:
forward CarregarDados(playerid);
public 
CarregarDados(playerid)
{
        new 
file[50];
        
format(filesizeof(file), "Contas/%s.ini"Nome(playerid));
        
pAdmin[playerid] = DOF2_GetInt(file"LevelAdmin");
        
Avisos[playerid] = DOF2_GetInt(file"Avisos");
        
Calado[playerid] = DOF2_GetInt(file"Calado");
        
aPreso[playerid] = DOF2_GetInt(file"AdminPreso");
        
MinAPreso[playerid] = DOF2_GetInt(file"MinutosAPreso");
        
SegAPreso[playerid] = DOF2_GetInt(file"SegundosAPreso");
        
pVIP[playerid] = DOF2_GetInt(file"VIP");
        
ProfissaoQuePegou[playerid] = 0;
        
GivePlayerMoney(playeridDOF2_GetInt(file"DinheiroNaMao"));
        
SetTimerEx("AtualizarGrana"5001"i"playerid);
        
SetTimer("AtualizarData"10001);
        return 
1;

Cara seu cуdigo estб muito confuso e mal otimizado.

Se pProfissao[playerid] й um array 2D para armazenar o nome da profissгo, entгo simplesmente isso jб basta.
PHP код:
strcat(pProfissao[playerid], DOF2_GetString(file,"Profissao")); 
Enfim, eu nгo acho essa a melhor maneira de fazer um sistema de profissгo. Tem bons tutorias aqui na board, procure e saberбs o porque eu falo isso.


Re: Carregamento - AutoMatic2 - 10.07.2018

PHP код:
//  Defines

#define Desempregado                                                            0
#define Caminhoneiro                                                            1

//  Enum + New

enum pInfo
{
    
pProfissao
};

new 
PlayerInfoMAX_PLAYERS ][ pInfo ];

//  Seta a Profissгo

PlayerInfoplayerid ][ pProfissao ] = Caminhoneiro;

//  Salva a Profissгo

DOF2::SetInt(File"Profissao"PlayerInfoplayerid ][ pProfissao ]);

//  Carrega a Profissгo

PlayerInfoplayerid ][ pProfissao ] = DOF2::GetInt(File"Profissao"); 
+/- Assim?


Re: Carregamento - SammyJ - 10.07.2018

Olhe esse tutorial: http://forum.sa-mp.com/showthread.ph...r+profiss%F5es