[AJUDA/DЪVIDA] Update das 3D's TextLabels's...
#1

Assim, eu nгo faзo idйia de como fazer o update, ja tentei de tudo, e apуs varias tentativas, eu percebi que o Update sу funciona na funзгo que cria... Se vocк botar em otro lugar nгo vai acontecer nada, e assim pra Deletar tbm...
Eu ja tentei fazer com que ela se destruisse e criasse otra, mais ela n se destroi... olhem como estб meu cуdigo...

Код:
public Carregar3DsBSH()
{
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
        new Text3D:HouseLabel;
        new Casa[256];
        if(HouseInfo[h][hOwned] == 0)
        {
            if(DsBSH[h] == 1)
            {
                Delete3DTextLabel(HouseLabel);
            }
            format(Casa, sizeof(Casa), "[CASA A VENDA]\n|Nome: %s |\n|Nнvel: %d|\n|Preзo: US$%d|\n|Use /comprarcasa para esta propriedade.|",HouseInfo[h][hDiscription],HouseInfo[h][hLevel],HouseInfo[h][hValue]);
            HouseLabel = Create3DTextLabel(Casa,0x006400FF,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],60,0,1);
            DsBSH[h] = 1;
            if(DsBSH[h] == 0)
            {
                DsBSH[h] = 1;
            }
        }
        if(HouseInfo[h][hOwned] == 1)
        {
            if(DsBSH[h] == 1)
            {
                Delete3DTextLabel(HouseLabel);
            }
            format(Casa, sizeof(Casa), "[CASA]\n|Nome: %s |\n|Nнvel: %d|\n|Dono: %s|\n|Use /alugarquarto para alugar um quarto nesta propriedade.|",HouseInfo[h][hDiscription],HouseInfo[h][hLevel],HouseInfo[h][hOwner]);
            HouseLabel = Create3DTextLabel(Casa,0x006400FF,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],60,0,1);
            if(DsBSH[h] == 0)
            {
                DsBSH[h] = 1;
            }
        }
    }
}
essa public й usada no "OnGameModeInit" e nos comandos de "/comprarcasa" e "/vendercasa", por isso o delete... e se eu botar o cуdigo desta maneira...

Код:
public Carregar3DsBSH()
{
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
        new Text3D:HouseLabel;
        new Casa[256];
        if(HouseInfo[h][hOwned] == 0)
        {
            format(Casa, sizeof(Casa), "[CASA A VENDA]\n|Nome: %s |\n|Nнvel: %d|\n|Preзo: US$%d|\n|Use /comprarcasa para esta propriedade.|",HouseInfo[h][hDiscription],HouseInfo[h][hLevel],HouseInfo[h][hValue]);
            HouseLabel = Create3DTextLabel(Casa,0x006400FF,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],60,0,1);
            Update3DTextLabelText(HouseLabel, 0x006400FF, Casa);
        }
        if(HouseInfo[h][hOwned] == 1)
        {
            format(Casa, sizeof(Casa), "[CASA]\n|Nome: %s |\n|Nнvel: %d|\n|Dono: %s|\n|Use /alugarquarto para alugar um quarto nesta propriedade.|",HouseInfo[h][hDiscription],HouseInfo[h][hLevel],HouseInfo[h][hOwner]);
            HouseLabel = Create3DTextLabel(Casa,0x006400FF,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez],60,0,1);
            Update3DTextLabelText(HouseLabel, 0x006400FF, Casa);
        }
    }
}
ele fika criando vбrios 3ds, um em cima do otro ._. ' PFF me ajudem, eu ja perdi MUITO tempo tentando fazer com que essa bosta fizesse update normalmente... Aguardo respostas...

Se for postar dizendo pra eu botar o "Update3DTextLabelText" no cmd, nem posta, pq eu ja testei isso...

Att,
Reply
#2

bom poderia criar um settime pra ver no que da.
Reply
#3

Quote:
Originally Posted by brunogysin
Посмотреть сообщение
bom poderia criar um settime pra ver no que da.
ja tentei tbm, e alem de dar um lag mais que fudido, nгo faz update ._.
Reply
#4

No Topo do GM

Код:
new Text3D:TudoLabel[MAX_PLAYERS];
forward Atualizar3DText();
Em Ongamemodeinit

pawn Код:
for(new h = 0; h < sizeof(CasaInfo); h++)
    {
        if(CasaInfo[h][hOwned] == 0)
        {
            new Casa[128];
            format(Casa, sizeof(Casa), \"Casa a Venda! \n Preco: $%d \n Informacoes: %s \n Nivel Necessario: %d\n Para comprar, Digite:/comprarcasa\", CasaInfo[h][hValue],CasaInfo[h][hDiscription], CasaInfo[h][hLevel]);
            TudoLabel[h] = Create3DTextLabel(Casa,0x33FF00FF,CasaInfo[h][hEntrancex], CasaInfo[h][hEntrancey], CasaInfo[h][hEntrancez],10, 0, 1);
            AddStaticPickup(1273, 2, CasaInfo[h][hEntrancex], CasaInfo[h][hEntrancey], CasaInfo[h][hEntrancez]);
            pickups++;
        }
        if(CasaInfo[h][hOwned] == 1)
        {
            new Casa2[128];
            format(Casa2, sizeof(Casa2), \"Dono da Casa %s \n Preco Aluguel: $%d \n Descricao: %s \n Para alugar, Digite: /alugarquarto\", CasaInfo[h][hOwner], CasaInfo[h][hRent], CasaInfo[h][hDiscription]);
            TudoLabel[h] = Create3DTextLabel(Casa2,0x33FF00FF,CasaInfo[h][hEntrancex], CasaInfo[h][hEntrancey], CasaInfo[h][hEntrancez],10, 0, 1);
            AddStaticPickup(1318, 1, CasaInfo[h][hEntrancex], CasaInfo[h][hEntrancey], CasaInfo[h][hEntrancez]);
            pickups++;
        }
    }
      for(new h = 0; h < sizeof(BizzInfo); h++)
    {
        if(BizzInfo[h][bOwned] == 0)
        {
            new empresa[128];
            format(empresa,sizeof(empresa),\"%s \n Empresa a Venda! \n Preco: $%d \n Level Necessario: %d \n Para comprar, Digite: /compraremp.\", BizzInfo[h][bMessage],BizzInfo[h][bBuyPrice], BizzInfo[h][bLevelNeeded]);
            TudoLabel[h] = Create3DTextLabel(empresa ,0x33FF00FF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],10, 0, 1);
            AddStaticPickup(1272,1,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],-1);
        }
        else if(BizzInfo[h][bOwned] == 1)
        {
            new empresa1[128];
            format(empresa1,sizeof(empresa1),\"%s \n Dono: %s \n Extorcao: %s \n Taxa Entrada: $%d. \n  Para Entrar, Aperte F.\",BizzInfo[h][bMessage],BizzInfo[h][bOwner], BizzInfo[h][bExtortion], BizzInfo[h][bEntranceCost]);
            TudoLabel[h] = Create3DTextLabel(empresa1 ,0x33FF00FF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],10, 0, 1);
            AddStaticPickup(1318,1,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],-1);
          }
      }
    for(new h = 0; h < sizeof(SBizzInfo); h++)
    {
        if(SBizzInfo[h][sbOwned] == 0)
        {
            new empresa3[128];
            format(empresa3,sizeof(empresa3),\"Empresa a Venda! \n Preco: $%d \n Level Necessario: %d \n Para comprar, Digite: /compraremp.\", SBizzInfo[h][sbBuyPrice], SBizzInfo[h][sbLevelNeeded]);
            TudoLabel[h] = Create3DTextLabel(empresa3 ,0x33FF00FF,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ],10, 0, 1);
            AddStaticPickup(1272,1,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ],-1);
        }
        else if(SBizzInfo[h][sbOwned] == 1)
        {
            new empresa4[128];
            format(empresa4,sizeof(empresa4),\"%s \n Dono: %s \n Extorcao: %s \n Taxa Entrada: $%d. \n  Para Entrar, Aperte F.\",SBizzInfo[h][sbMessage],SBizzInfo[h][sbOwner], SBizzInfo[h][sbExtortion], BizzInfo[h][bEntranceCost]);
            TudoLabel[h] = Create3DTextLabel(empresa4 ,0x33FF00FF,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ],10, 0, 1);
            AddStaticPickup(1318,1,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ],-1);
          }
      }
crie um settimer logo abaixo

Код:
SetTimer("Atualizar3DText", 1000, 1);
crie uma public no final do game mode
pawn Код:
public Atualizar3DText()
{
    for(new h = 0; h < sizeof(CasaInfo); h++)
    {
        if(CasaInfo[h][hOwned] == 0)
        {
            new Casa[128];
            format(Casa, sizeof(Casa), \"Casa a Venda! \n Preco: $%d \n Informacoes: %s \n Nivel Necessario: %d\n Para comprar, Digite:/comprarcasa\", CasaInfo[h][hValue],CasaInfo[h][hDiscription], CasaInfo[h][hLevel]);
            Update3DTextLabelText(TudoLabel[h], 0x33FF00FF, Casa);
            AddStaticPickup(1273, 2, CasaInfo[h][hEntrancex], CasaInfo[h][hEntrancey], CasaInfo[h][hEntrancez]);
            pickups++;
        }
        if(CasaInfo[h][hOwned] == 1)
        {
            new Casa2[128];
            format(Casa2, sizeof(Casa2), \"Dono da Casa %s \n Preco Aluguel: $%d \n Descricao: %s \n Para alugar, Digite: /alugarquarto\", CasaInfo[h][hOwner], CasaInfo[h][hRent], CasaInfo[h][hDiscription]);
            Update3DTextLabelText(TudoLabel[h], 0x33FF00FF, Casa2);
            AddStaticPickup(1318, 1, CasaInfo[h][hEntrancex], CasaInfo[h][hEntrancey], CasaInfo[h][hEntrancez]);
            pickups++;
        }
    }
    for(new h = 0; h < sizeof(BizzInfo); h++)
    {
    if(BizzInfo[h][bOwned] == 0)
    {
            new empresa[128];
        format(empresa,sizeof(empresa),\"%s \n Empresa a Venda! \n Preco: $%d \n Level Necessario: %d \n Para comprar, Digite: /compraremp.\", SBizzInfo[h][sbMessage],BizzInfo[h][bBuyPrice], BizzInfo[h][bLevelNeeded]);
            Update3DTextLabelText(TudoLabel[h], 0x33FF00FF, empresa);
        AddStaticPickup(1272,1,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],-1);
    }
    else if(BizzInfo[h][bOwned] == 1)
    {
        new empresa1[128];
        format(empresa1,sizeof(empresa1),\"%s \n Dono: %s \n Extorcao: %s \n Taxa Entrada: $%d. \n  Para Entrar, Aperte F.\",BizzInfo[h][bMessage],BizzInfo[h][bOwner], BizzInfo[h][bExtortion], BizzInfo[h][bEntranceCost]);
            Update3DTextLabelText(TudoLabel[h], 0x33FF00FF, empresa1);
            AddStaticPickup(1318,1,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],-1);
    }
    }
    for(new h = 0; h < sizeof(SBizzInfo); h++)
    {
    if(SBizzInfo[h][sbOwned] == 0)
    {
            new empresa3[128];
        format(empresa3,sizeof(empresa3),\"%s \n Empresa a Venda! \n Preco: $%d \n Level Necessario: %d \n Para comprar, Digite: /compraremp.\", SBizzInfo[h][sbMessage],SBizzInfo[h][sbBuyPrice], SBizzInfo[h][sbLevelNeeded]);
            Update3DTextLabelText(TudoLabel[h], 0x33FF00FF, empresa3);
        AddStaticPickup(1272,1,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ],-1);
    }
    else if(SBizzInfo[h][sbOwned] == 1)
    {
        new empresa4[128];
        format(empresa4,sizeof(empresa4),\"%s \n Dono: %s \n Extorcao: %s \n Taxa Entrada: $%d. \n  Para Entrar, Aperte F.\",SBizzInfo[h][sbMessage],SBizzInfo[h][sbOwner], SBizzInfo[h][sbExtortion], BizzInfo[h][bEntranceCost]);
        Update3DTextLabelText(TudoLabel[h], 0x33FF00FF, empresa4);
        AddStaticPickup(1318,1,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ],-1);
          }
      }
}
Creditos totalmente meu.
Reply
#5

vo tentar, se der, fiko agradeзido... TESTANDO
Reply
#6

Quote:
Originally Posted by jonas_gabriel
Посмотреть сообщение
Creditos totalmente meu.
Sei nгo hein, a um tempo atras, Rodrigo Vilhena postou um code identico ao seu.
Reply
#7

Resultado: Como eu disse, settimer nгo adiantou de nada... ' no update persiste


@EDIT
ja consigui aki... fiz umas coisa doida... vlw a todos mesmo assim.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)