[Ajuda]Como pegar a pos e gravar (:
#1

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;
}
Reply
#2

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;
}
Reply
#3

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
Reply
#4

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.
Reply
#5

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
Reply
#6

Poste o enum CaixasInfo.
Reply
#7

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;
}
Reply
#8

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 (:
(:
Reply
#9

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 .
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)