[Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
iansinho - 30.10.2011
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
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
TopFuel - 30.10.2011
Vocк poderia me mandar a new BizzInfo e a new BizzLabel assim fica mais fбcil pra eu achar o erro.
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
iansinho - 30.10.2011
PHP код:
new BizzInfo[10][bInfo];
new Text3D:BizzLabel[sizeof(BizzInfo)];
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
TopFuel - 30.10.2011
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];
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
iansinho - 30.10.2011
Acho que isso nгo tem nada haver com o problema...
Mas nгo custa nada tentar.
Jб jб posto o resutado
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
TopFuel - 30.10.2011
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
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
iansinho - 30.10.2011
Й, 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
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
WLSF - 30.10.2011
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);
}
}
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
iansinho - 30.10.2011
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.
Re: [Ajuda]Uso loop pra checar as empresas mas funciona somente na emp. 0. -
TopFuel - 30.10.2011
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:
porem se vocк falou que nгo desbugou entгo eu estava errado.