[Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0.
#1

Bom, eu sempre usei um loop pra checar as empresas no OnGameModeInit, pra verificar se uma empresa tem dono ou nгo e criar um pickup e um 3dtext.
Antes, funcionava para todas as empresas, mas agora, sу funciona na empresa 0.
Vou explicar.
pawn Код:
for(new h = 0; h < sizeof(BizzInfo); ++h)
    {    
        if(BizzInfo[h][bOwned] == 0)
        {
            new string20[550];
            format(string20, sizeof(string20), "[%s]\nEmpresa а venda.\nLucro: %d$.", BizzInfo[h][bMessage], BizzInfo[h][bLucro]);
            BizzLabel[h] = Create3DTextLabel(string20,0x0080FFFF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+0.30,20.0,0,1);
            CreateDynamicPickup(1272,1,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],-1);
        }
        else if(BizzInfo[h][bOwned] == 1)
        {
            new string20[550];            
            format(string20, sizeof(string20), "[%s]\nDono: %s.\nLucro: %d$.", BizzInfo[h][bMessage], BizzInfo[h][bOwner],BizzInfo[h][bLucro]);
            BizzLabel[h] = Create3DTextLabel(string20,0x0080FFFF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+0.30,20.0,0,1);
            CreateDynamicPickup(1272,1,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ], -1);
        }        
         
    }
Eu nunca tive problemas nele atй usar o format.
Na pasta "Bizz", em scriptfiles, contйm 10 empresas (nomeadas de 0 a 9) mas o cуdigo acima funciona somente no ID 0.
Eu sei que ele sу lк o id 0 porque eu jб inverti as empresas: renomeava o nъmero das empresas, mas SEMPRE, a que era nomeade de 0, era a ъnica a ser lida...

help
Reply
#2

Vocк poderia me mandar a new BizzInfo e a new BizzLabel assim fica mais fбcil pra eu achar o erro.
Reply
#3

PHP код:
new BizzInfo[10][bInfo];
new 
Text3D:BizzLabel[sizeof(BizzInfo)]; 
Reply
#4

Quote:
Originally Posted by iansinho
Посмотреть сообщение
PHP код:
new BizzInfo[10][bInfo];
new 
Text3D:BizzLabel[sizeof(BizzInfo)]; 
Bom tente colocar assim:
pawn Код:
new BizzInfo[10][bInfo];
new Text3D:BizzLabel[10];
ou

pra facilita use assim:

pawn Код:
//topo
#define NumeroDeEmpresas 10

new BizzInfo[NumeroDeEmpresas][bInfo];
new Text3D:BizzLabel[NumeroDeEmpresas];
Reply
#5

Acho que isso nгo tem nada haver com o problema...
Mas nгo custa nada tentar.
Jб jб posto o resutado
Reply
#6

Quote:
Originally Posted by iansinho
Посмотреть сообщение
Acho que isso nгo tem nada haver com o problema...
Mas nгo custa nada tentar.
Jб jб posto o resutado
ok caso nгo desbugue avise que vamos tentar outras coisas
Reply
#7

Й, como previsto, o erro nгo era esse...
O que eu nгo entendendo й que somente a empresa 0 funciona, o resto nгo.
Se fosse um problema, como vocк citou acima, em nenhuma empresa iria funcionar...
#Tenso
Reply
#8

Boa noite,
Tente isso...
pawn Код:
for(new h = 0; h < sizeof(BizzInfo); h++)
{
    new wii[128];
    if(BizzInfo[h][bOwned] == 0)
    {
        AddStaticPickup(1272, 1, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]);
        format(wii, sizeof(wii), "[%s]\nEmpresa a venda\nLucro %d$.",BizzInfo[h][bMessage],BizzInfo[h][bLucro]);
        BizzLabel[h] = Create3DTextLabel(wii,0x0080FFFF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+0.5,20.0,0);
    }
    if(BizzInfo[h][bOwned] == 1)
    {
        AddStaticPickup(1272, 1, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]);
        format(wii, sizeof(wii), "[%s]\nDono: %s\nLucro.",BizzInfo[h][bMessage],BizzInfo[h][bOwner],BizzInfo[h][bLucro]);
        BizzLabel[h] = Create3DTextLabel(wii,0x0080FFFF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+0.5,20.0,0);
    }
}
Reply
#9

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Boa noite,
Tente isso...
pawn Код:
for(new h = 0; h < sizeof(BizzInfo); h++)
{
    new wii[128];
    if(BizzInfo[h][bOwned] == 0)
    {
        AddStaticPickup(1272, 1, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]);
        format(wii, sizeof(wii), "[%s]\nEmpresa a venda\nLucro %d$.",BizzInfo[h][bMessage],BizzInfo[h][bLucro]);
        BizzLabel[h] = Create3DTextLabel(wii,0x0080FFFF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+0.5,20.0,0);
    }
    if(BizzInfo[h][bOwned] == 1)
    {
        AddStaticPickup(1272, 1, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]);
        format(wii, sizeof(wii), "[%s]\nDono: %s\nLucro.",BizzInfo[h][bMessage],BizzInfo[h][bOwner],BizzInfo[h][bLucro]);
        BizzLabel[h] = Create3DTextLabel(wii,0x0080FFFF,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]+0.5,20.0,0);
    }
}
Boa noite...
O problema continua igual.
Ah, esqueci de mencionar, na empresa 0 tudo funciona perfeito (Pickup e 3DText), mas nas outras somente aparece o pickup.
Reply
#10

Quote:
Originally Posted by iansinho
Посмотреть сообщение
Й, como previsto, o erro nгo era esse...
O que eu nгo entendendo й que somente a empresa 0 funciona, o resto nгo.
Se fosse um problema, como vocк citou acima, em nenhuma empresa iria funcionar...
#Tenso
bom eu vou explicar por que eu achei que era isso:

bom eu nгo sei se vocк estava setando a new BizzLabel antes da new BizzInfo, porque pelo que eu sei se vocк setar essa new BizzLabel antes da new BizzInfo ela nao tera de onde pegar o sizeof(BizzInfo) por que a new BizzInfo ainda nгo existe, entгo isso faria ele setar para:

pawn Код:
new Text3D:BizzLabel[0];
porem se vocк falou que nгo desbugou entгo eu estava errado.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)