SA-MP Forums Archive
[Ajuda]Como pegar a pos e gravar (: - 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]Como pegar a pos e gravar (: (/showthread.php?tid=342425)



[Ajuda]Como pegar a pos e gravar (: - lyllrasta - 13.05.2012

Bom fiz uma enum para gravar a pos do personagem.
Mas ela Nгo grava a Pos.
fica. O.OOOO
pawn Код:
stock SalvarPersonagem(playerid)
{
    format(PersonagemINI(playerid),128,"Personagens/Contas/%s.ini",Nome(playerid));
    if(INI_Open(PersonagemINI(playerid)))
    {
        INI_WriteFloat("PosX",Personagem[playerid][PosX]);
        INI_WriteFloat("PosY",Personagem[playerid][PosY]);
        INI_WriteFloat("PosZ",Personagem[playerid][PosZ]);
        INI_Save();
        INI_Close();
    }
    return 1;
}

pawn Код:
cmd:salvar(playerid)
{
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    Pos[0] = INI_WriteFloat("PosX",CaixasInfo[playerid][PosX]);
    Pos[1] = INI_WriteFloat("PosY",CaixasInfo[playerid][PosY]);
    Pos[2] = INI_WriteFloat("PosZ",CaixasInfo[playerid][PosZ]);
    SalvarPersonagem(playerid);
      return 1;
}



Re: [Ajuda]Como pegar a pos e gravar (: - CidadeNovaRP - 13.05.2012

pawn Код:
cmd:salvar(playerid)
{
    new Float:PosP[3]
    GetPlayerPos(playerid, PosP[0], PosP[1], PosP[2]);
    PosP[0] = INI_WriteFloat("PosX", CaixasInfo[playerid][PosX]);
    PosP[1] = INI_WriteFloat("PosY", CaixasInfo[playerid][PosY]);
    PosP[2] = INI_WriteFloat("PosZ", CaixasInfo[playerid][PosZ]);
    SalvarPersonagem(playerid);
    return 1;
}



Re: [Ajuda]Como pegar a pos e gravar (: - lyllrasta - 13.05.2012

Quote:
Originally Posted by CidadeNovaRP
Посмотреть сообщение
pawn Код:
cmd:salvar(playerid)
{
    new Float:PosP[3]
    GetPlayerPos(playerid, PosP[0], PosP[1], PosP[2]);
    PosP[0] = INI_WriteFloat("PosX", CaixasInfo[playerid][PosX]);
    PosP[1] = INI_WriteFloat("PosY", CaixasInfo[playerid][PosY]);
    PosP[2] = INI_WriteFloat("PosZ", CaixasInfo[playerid][PosZ]);
    SalvarPersonagem(playerid);
    return 1;
}
Nem funciono velho eu tenho a variavel Pos[3];
Mudo em nada isto


Re: [Ajuda]Como pegar a pos e gravar (: - Dolby - 13.05.2012

pawn Код:
cmd:salvar(playerid)
{
    GetPlayerPos(playerid,CaixasInfo[playerid][PosX],CaixasInfo[playerid][PosY],CaixasInfo[playerid][PosZ]);
    SalvarPersonagem(playerid);
    return 1;
}
e certifique-se que esta declarando PosX,PosY e PosZ como variaveis do tipo float.


Re: [Ajuda]Como pegar a pos e gravar (: - lyllrasta - 13.05.2012

Quote:
Originally Posted by Gustavo_Araujo
Посмотреть сообщение
pawn Код:
cmd:salvar(playerid)
{
    GetPlayerPos(playerid,CaixasInfo[playerid][PosX],CaixasInfo[playerid][PosY],CaixasInfo[playerid][PosZ]);
    SalvarPersonagem(playerid);
    return 1;
}
e certifique-se que esta declarando PosX,PosY e PosZ como variaveis do tipo float.
3 warnigns

pawn Код:
warning 213: tag mismatch
warning 213: tag mismatch
warning 213: tag mismatch



Re: [Ajuda]Como pegar a pos e gravar (: - Dolby - 13.05.2012

Poste o enum CaixasInfo.


Re: [Ajuda]Como pegar a pos e gravar (: - Abravanel - 13.05.2012

Veja se o enum ligado ao CaixasInfo, as variбveis PosX, PosY e PosZ estгo declaradas como Floats.
Como no exemplo abaixo
pawn Код:
enum SEILA
{
    Float:PosX,
    Float:PosY,
    Float:PosZ
}
new CaixasInfo[MAX_PLAYERS][SEILA];


cmd:salvar(playerid)
{
    GetPlayerPos(playerid, CaixasInfo[playerid][PosX], CaixasInfo[playerid][PosY], CaixasInfo[playerid][PosZ]);
    SalvarPersonagem(playerid);
    return 1;
}
pawn Код:
stock SalvarPersonagem(playerid)
{
    format(PersonagemINI(playerid),128,"Personagens/Contas/%s.ini",Nome(playerid));
    if(INI_Open(PersonagemINI(playerid)))
    {
        INI_WriteFloat("PosX",CaixasInfo[playerid][PosX]);
        INI_WriteFloat("PosY",CaixasInfo[playerid][PosY]);
        INI_WriteFloat("PosZ",CaixasInfo[playerid][PosZ]);
        INI_Save();
        INI_Close();
    }
    return 1;
}



Re: [Ajuda]Como pegar a pos e gravar (: - lyllrasta - 13.05.2012

Quote:
Originally Posted by AFerreira
Посмотреть сообщение
Veja se o enum ligado ao CaixasInfo, as variбveis PosX, PosY e PosZ estгo declaradas como Floats.
Como no exemplo abaixo
pawn Код:
enum SEILA
{
    Float:PosX,
    Float:PosY,
    Float:PosZ
}
new CaixasInfo[MAX_PLAYERS][SEILA];


cmd:salvar(playerid)
{
    GetPlayerPos(playerid, CaixasInfo[playerid][PosX], CaixasInfo[playerid][PosY], CaixasInfo[playerid][PosZ]);
    SalvarPersonagem(playerid);
    return 1;
}
pawn Код:
stock SalvarPersonagem(playerid)
{
    format(PersonagemINI(playerid),128,"Personagens/Contas/%s.ini",Nome(playerid));
    if(INI_Open(PersonagemINI(playerid)))
    {
        INI_WriteFloat("PosX",CaixasInfo[playerid][PosX]);
        INI_WriteFloat("PosY",CaixasInfo[playerid][PosY]);
        INI_WriteFloat("PosZ",CaixasInfo[playerid][PosZ]);
        INI_Save();
        INI_Close();
    }
    return 1;
}
Funfiono.
esqueci de colocar float na enum

Mais uma coisa.

Como que eu faзo para deixar as floats gravada ?
tipo ele escreve /salvar dai grava.
dai quando ele digitar denovo /salvar tambem mas nao й para substituir o primeiro. e sim cria outro (:
(:


Re: [Ajuda]Como pegar a pos e gravar (: - CidadeNovaRP - 13.05.2012

Quote:
Originally Posted by lyllrasta
Посмотреть сообщение
Funfiono.
esqueci de colocar float na enum

Mais uma coisa.

Como que eu faзo para deixar as floats gravada ?
tipo ele escreve /salvar dai grava.
dai quando ele digitar denovo /salvar tambem mas nao й para substituir o primeiro. e sim cria outro (:
(:
Get no que tinha no arquivo antes e use o "\n" para pular linha .


Re: [Ajuda]Como pegar a pos e gravar (: - lyllrasta - 13.05.2012

Quote:
Originally Posted by CidadeNovaRP
Посмотреть сообщение
Get no que tinha no arquivo antes e use o "\n" para pular linha .
Nгo entendi :/