Portal SAMP
[Ajuda] dof2 - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] dof2 (/showthread.php?tid=1605)

Páginas: 1 2


dof2 - Smith - 05/09/2021

galera auguem me ajuda fiz o sistema de cofre esta salvando tudo ok mas não esta carregando quando player reloga e usa comando pra ver o cofre as variaveis estão zerada sendo que o arquivo i.ini esta salvo com valor correto eu coloco o carregarcofre(); na call onplayerconnect e em gamemodeinit,

o arquivo ta salvo la com um valor  x porem se o player relogar  o cofre fica com valor 0 eo arquivo continua salvo com valor antigo de x

Código:
VOID::CarregaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{

format(ff, sizeof(ff), "Cofres/%i.ini",  i);

if(DOF2::FileExists(ff))
{
CaixaFac[i][Maconha] = DOF2::GetInt(ff, "Maconha");
CaixaFac[i][Cocaina] = DOF2::GetInt(ff, "Cocaina");
CaixaFac[i][Dinheiro] = DOF2::GetInt(ff, "Dinheiro");
}

}
return 1;
}



RE: dof2 - SrBlue - 05/09/2021

(05/09/2021 17:54)Smith Escreveu: galera auguem me ajuda fiz o sistema de cofre esta salvando tudo ok mas não esta carregando quando player reloga e usa comando pra ver o cofre as variaveis estão zerada sendo que o arquivo i.ini esta salvo com valor correto eu coloco o carregarcofre(); na call onplayerconnect e em gamemodeinit,

o arquivo ta salvo la com um valor  x porem se o player relogar  o cofre fica com valor 0 eo arquivo continua salvo com valor antigo de x

Código:
VOID::CarregaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{

format(ff, sizeof(ff), "Cofres/%i.ini",  i);

if(DOF2::FileExists(ff))
{
CaixaFac[i][Maconha] = DOF2::GetInt(ff, "Maconha");
CaixaFac[i][Cocaina] = DOF2::GetInt(ff, "Cocaina");
CaixaFac[i][Dinheiro] = DOF2::GetInt(ff, "Dinheiro");
}

}
return 1;
}
tira do onplayerconnect, e bota somente no gamemodeinit e apos tenta fazer "desbug"
dando printf("%d",CaixaFac[i][Dinheiro]);


RE: dof2 - Smith - 05/09/2021

(05/09/2021 18:54)SrBlue Escreveu:
(05/09/2021 17:54)Smith Escreveu: galera auguem me ajuda fiz o sistema de cofre esta salvando tudo ok mas não esta carregando quando player reloga e usa comando pra ver o cofre as variaveis estão zerada sendo que o arquivo i.ini esta salvo com valor correto eu coloco o carregarcofre(); na call onplayerconnect e em gamemodeinit,

o arquivo ta salvo la com um valor  x porem se o player relogar  o cofre fica com valor 0 eo arquivo continua salvo com valor antigo de x

Código:
VOID::CarregaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{

format(ff, sizeof(ff), "Cofres/%i.ini",  i);

if(DOF2::FileExists(ff))
{
CaixaFac[i][Maconha] = DOF2::GetInt(ff, "Maconha");
CaixaFac[i][Cocaina] = DOF2::GetInt(ff, "Cocaina");
CaixaFac[i][Dinheiro] = DOF2::GetInt(ff, "Dinheiro");
}

}
return 1;
}
tira do onplayerconnect, e bota somente no gamemodeinit e apos tenta fazer "desbug"
dando printf("%d",CaixaFac[i][Dinheiro]);

ja tentei mas nao vai


RE: dof2 - ipsLuan - 05/09/2021

Qual o código de salvar?


RE: dof2 - xbruno1000x - 06/09/2021

Talvez o problema não seja na stock de carregar, mas sim na de salvar.


RE: dof2 - AztecaJr - 06/09/2021

Tenta fazer sem o loop


RE: dof2 - Smith - 06/09/2021

(06/09/2021 11:44)xbruno1000x Escreveu: Talvez o problema não seja na stock de carregar, mas sim na de salvar.

Código:
VOID::CriaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{
format(ff, sizeof(ff), "Cofres/%i", i);
if(DOF2::FileExists(ff))
{
CarregaCofres();
}
else
{
DOF2::CreateFile(ff);
DOF2::SetInt(ff, "Maconha", CaixaFac[i][Maconha]);
DOF2::SetInt(ff, "Cocaina", CaixaFac[i][Cocaina]);
DOF2::SetInt(ff, "Dinheiro", CaixaFac[i][Dinheiro]);
DOF2::SaveFile();
}

}
return 1;
}

VOID::SalvaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{
format(ff, sizeof(ff), "Cofres/%i.ini",  i);
if(DOF2::FileExists(ff))
{
DOF2::SetInt(ff, "Maconha", CaixaFac[i][Maconha]);
DOF2::SetInt(ff, "Cocaina", CaixaFac[i][Cocaina]);
DOF2::SetInt(ff, "Dinheiro", CaixaFac[i][Dinheiro]);
DOF2::SaveFile();
}
}
return 1;
}

VOID::CarregaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{

format(ff, sizeof(ff), "Cofres/%i.ini",  i);

if(DOF2::FileExists(ff))
{
CaixaFac[i][Maconha] = DOF2::GetInt(ff, "Maconha");
CaixaFac[i][Cocaina] = DOF2::GetInt(ff, "Cocaina");
CaixaFac[i][Dinheiro] = DOF2::GetInt(ff, "Dinheiro");
}

}
return 1;
}
Código:
CMD:cofre(playerid)
{

new Text[200];
new OrgId = pInfo[playerid][Org];
CarregaCofres();

if(IsPlayerInRangeOfPoint(playerid, 4.0, -151.3022, -721.3117, 14.2099))
{
if(pInfo[playerid][Org] != 29) return SCM(playerid, Vermelho, "Voce nao e um interante desta fac");
format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[OrgId][Maconha], CaixaFac[OrgId][Cocaina], CaixaFac[OrgId][Dinheiro]);
ShowPlayerDialog(playerid, DIALOG_COFREORG, DIALOG_STYLE_LIST, "Cofre", Text, "Ok", "Cancelar");
}else{}

if(IsPlayerInRangeOfPoint(playerid, 4.0, 2608.1567, -1661.6380, 11.0828))
{
if(pInfo[playerid][Org] != 15) return SCM(playerid, Vermelho, "Voce nao e um interante desta fac");
format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[OrgId][Maconha], CaixaFac[OrgId][Cocaina], CaixaFac[OrgId][Dinheiro]);
ShowPlayerDialog(playerid, DIALOG_COFREORG, DIALOG_STYLE_LIST, "Cofre", Text, "Ok", "Cancelar");
}else{}


return 1;
}

ta salvando tudo certinho só não esta carregando os valores salvos quando player conecta e usa o comando /cofre as variaveis estão zeradas mas o arquivo i.ini esa com o valor correto salvo, ja tentei usar o CarregaCofres(); na call gamemodeinit e na onplayerconnect, onplayerspawn mas nenha deu certo int creio eu que seja carregamento


RE: dof2 - xbruno1000x - 06/09/2021

(06/09/2021 19:18)Smith Escreveu:
(06/09/2021 11:44)xbruno1000x Escreveu: Talvez o problema não seja na stock de carregar, mas sim na de salvar.

Código:
VOID::CriaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{
format(ff, sizeof(ff), "Cofres/%i", i);
if(DOF2::FileExists(ff))
{
CarregaCofres();
}
else
{
DOF2::CreateFile(ff);
DOF2::SetInt(ff, "Maconha", CaixaFac[i][Maconha]);
DOF2::SetInt(ff, "Cocaina", CaixaFac[i][Cocaina]);
DOF2::SetInt(ff, "Dinheiro", CaixaFac[i][Dinheiro]);
DOF2::SaveFile();
}

}
return 1;
}

VOID::SalvaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{
format(ff, sizeof(ff), "Cofres/%i.ini",  i);
if(DOF2::FileExists(ff))
{
DOF2::SetInt(ff, "Maconha", CaixaFac[i][Maconha]);
DOF2::SetInt(ff, "Cocaina", CaixaFac[i][Cocaina]);
DOF2::SetInt(ff, "Dinheiro", CaixaFac[i][Dinheiro]);
DOF2::SaveFile();
}
}
return 1;
}

VOID::CarregaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{

format(ff, sizeof(ff), "Cofres/%i.ini",  i);

if(DOF2::FileExists(ff))
{
CaixaFac[i][Maconha] = DOF2::GetInt(ff, "Maconha");
CaixaFac[i][Cocaina] = DOF2::GetInt(ff, "Cocaina");
CaixaFac[i][Dinheiro] = DOF2::GetInt(ff, "Dinheiro");
}

}
return 1;
}
Código:
CMD:cofre(playerid)
{

new Text[200];
new OrgId = pInfo[playerid][Org];
CarregaCofres();

if(IsPlayerInRangeOfPoint(playerid, 4.0, -151.3022, -721.3117, 14.2099))
{
if(pInfo[playerid][Org] != 29) return SCM(playerid, Vermelho, "Voce nao e um interante desta fac");
format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[OrgId][Maconha], CaixaFac[OrgId][Cocaina], CaixaFac[OrgId][Dinheiro]);
ShowPlayerDialog(playerid, DIALOG_COFREORG, DIALOG_STYLE_LIST, "Cofre", Text, "Ok", "Cancelar");
}else{}

if(IsPlayerInRangeOfPoint(playerid, 4.0, 2608.1567, -1661.6380, 11.0828))
{
if(pInfo[playerid][Org] != 15) return SCM(playerid, Vermelho, "Voce nao e um interante desta fac");
format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[OrgId][Maconha], CaixaFac[OrgId][Cocaina], CaixaFac[OrgId][Dinheiro]);
ShowPlayerDialog(playerid, DIALOG_COFREORG, DIALOG_STYLE_LIST, "Cofre", Text, "Ok", "Cancelar");
}else{}


return 1;
}

ta salvando tudo certinho só não esta carregando os valores salvos quando player conecta e usa o comando /cofre as variaveis estão zeradas mas o arquivo i.ini esa com o valor correto salvo, ja tentei usar o CarregaCofres(); na call gamemodeinit e na onplayerconnect, onplayerspawn mas nenha deu certo int creio eu que seja carregamento

A stock CarregaCofres deve ser usada somente na OnGameModeInit. SalvarCofres na OnGameModeExit. Uma hipotese é que essa new OrgId não esteja retornando o valor certo. Tenta substituir o OrgId pelo ID da Organização dona do cofre.

EX:
Código:
CaixaFac[15][Maconha]



RE: dof2 - Smith - 06/09/2021

(06/09/2021 19:53)xbruno1000x Escreveu:
Código:
CaixaFac[15][Maconha]

tentei já mas não vai


RE: dof2 - Smith - 13/09/2021

Código:
public OnGameModeInit(){
CarregaCofres();
return 1;
}
public OnGameModeExit()
{
   
    SalvaCofres();
    DOF2_Exit();
   
return 1;
}
Código:
VOID::CriaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{
format(ff, sizeof(ff), "Cofres/%i", i);
if(DOF2::FileExists(ff))
{
CarregaCofres();
}
else
{
DOF2::CreateFile(ff);
DOF2::SetInt(ff, "Maconha", CaixaFac[i][Maconha]);
DOF2::SetInt(ff, "Cocaina", CaixaFac[i][Cocaina]);
DOF2::SetInt(ff, "Dinheiro", CaixaFac[i][Dinheiro]);
DOF2::SaveFile();
}

}
return 1;
}

VOID::SalvaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{
format(ff, sizeof(ff), "Cofres/%i.ini",  i);
if(DOF2::FileExists(ff))
{
DOF2::SetInt(ff, "Maconha", CaixaFac[i][Maconha]);
DOF2::SetInt(ff, "Cocaina", CaixaFac[i][Cocaina]);
DOF2::SetInt(ff, "Dinheiro", CaixaFac[i][Dinheiro]);
DOF2::SaveFile();
}
}
return 1;
}

VOID::CarregaCofres()
{
new ff[15];
for(new i; i < MAX_ORGS; i++)
{

format(ff, sizeof(ff), "Cofres/%i.ini",  i);

if(DOF2::FileExists(ff))
{
CaixaFac[i][Maconha] = DOF2::GetInt(ff, "Maconha");
CaixaFac[i][Cocaina] = DOF2::GetInt(ff, "Cocaina");
CaixaFac[i][Dinheiro] = DOF2::GetInt(ff, "Dinheiro");
}

}
return 1;
}

Código:
CMD:cofre(playerid)
{

new Text[200];
new OrgId = pInfo[playerid][Org];

if(IsPlayerInRangeOfPoint(playerid, 4.0, -151.3022, -721.3117, 14.2099))
{
if(pInfo[playerid][Org] != 29) return SCM(playerid, Vermelho, "Voce nao e um interante desta fac");
format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[OrgId][Maconha], CaixaFac[OrgId][Cocaina], CaixaFac[OrgId][Dinheiro]);
ShowPlayerDialog(playerid, DIALOG_COFREORG, DIALOG_STYLE_LIST, "Cofre", Text, "Ok", "Cancelar");
}else{}

if(IsPlayerInRangeOfPoint(playerid, 4.0, 2608.1567, -1661.6380, 11.0828))
{
if(pInfo[playerid][Org] != 15) return SCM(playerid, Vermelho, "Voce nao e um interante desta fac");
format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[OrgId][Maconha], CaixaFac[OrgId][Cocaina], CaixaFac[OrgId][Dinheiro]);
ShowPlayerDialog(playerid, DIALOG_COFREORG, DIALOG_STYLE_LIST, "Cofre", Text, "Ok", "Cancelar");
}else{}

if(IsPlayerInRangeOfPoint(playerid, 4.0, 2882.5288, -1995.4431, 17.5291))
{
if(pInfo[playerid][Org] != 17) return SCM(playerid, Vermelho, "Voce nao e um interante desta fac");
format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[OrgId][Maconha], CaixaFac[OrgId][Cocaina], CaixaFac[OrgId][Dinheiro]);
ShowPlayerDialog(playerid, DIALOG_COFREORG, DIALOG_STYLE_LIST, "Cofre", Text, "Ok", "Cancelar");
}else{}

return 1;
}

//ja tentei tbm format(Text, sizeof(Text), "Maconha \t[%i] \nCocaina \t[%i] \nDinheiro \t[%i]", CaixaFac[1][Maconha], CaixaFac[1][Cocaina], CaixaFac[1][Dinheiro]);


auguem me ajuda salva mas não carrega quando player reloga