[Ajuda] Criar objetos em loop!?
#1

Й possнvel criar objetos em um loop, onde a variбvel responsбvel pelas posiзхes e ID's й global?

O problema й que se й posiзгo, devemos criar a var Float, porйm hб inteiros no meio
PHP код:
new LoadObjects[][] =
{
    {
/*modelid*/ 1/*Float:x*/ 0.0/*Float:y*/ 0.0/*Float:z*/ 0.0/*Float:rx*/ 0.0/*Float:ry*/ 0.0/*Float:rz*/ 0.0/*worldid*/ -1/*interiorid*/ -1/*playerid*/ -1/*streamdistance*/ 300.0}
};
for(new 
0sizeof(LoadObjects); ++)
        
CreateDynamicObject(LoadObjects[o][0], LoadObjects[o][1], LoadObjects[o][2], LoadObjects[o][3], LoadObjects[o][4], LoadObjects[o][5], LoadObjects[o][6], LoadObjects[o][7], LoadObjects[o][8], LoadObjects[o][9], LoadObjects[o][10]); 
Reply
#2

Nгo entendi mto bem .-.
Reply
#3

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
Nгo entendi mto bem .-.
Desculpa se nгo ficou claro.

Seguindo a lуgica correta:

*Isso й simples:
PHP код:
new Float:LoadObjects[][] =
{
    {
/*Float:x*/ 0.0/*Float:y*/ 0.0/*Float:z* 0.0}
};
for(new o = 0; o < sizeof(LoadObjects); o ++) SetPlayerPos(LoadObjects[o][0], LoadObjects[o][1], LoadObjects[o][2]); 
Mas e envolvendo inteiros e floats?
PHP код:
new Float:LoadObjects[][] =
{
    {
/*Inteiro*/ 0/*Float:x*/ 0.0/*Float:y*/ 0.0/*Float:z* 0.0}
}; 
Se eu colocar a var global como inteiro da warning, se colocar com float, da warning tbm!
Isso nгo й relevante para mim, porйm eu gostaria de saber se й possнvel usar Inteiros e Floats juntos em uma variбvel global.
Reply
#4

entгo faz 2 arrays.
Reply
#5

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
entгo faz 2 arrays.
Sugere isso?
PHP код:
new Float:LoadObjectsFloat[][] =
{
    {
0.00.00.00.00.00.0300.0}
};
new 
LoadObjectsInt[][] =
{
    {
1, -1, -1, -1}
}; 
@EDIT

Certo atй deu. O porйm й no loop para implementar as 2 variбveis.
Reply
#6

como ficou o cуdigo ?
Reply
#7

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
como ficou o cуdigo ?
To com dъvida em relaзгo ao loop.

Sу alguns objetos pra testar...

PHP код:
new Float:LoadObjectsFloat[][] =
{
    {
3276.03175.0, -2443.53.40.00.00.0300.0},
    {
3175.0, -2443.55.10.00.00.0300.0},
    {
3175.0, -2443.56.90.00.00.0300.0},
    {
3175.0, -2443.58.60.00.00.0300.0},
    {
3175.0, -2443.010.1325.00.00.0300.0},
    {
3175.0, -2442.011.5324.9980.00.0300.0},
    {
3175.0, -2441.012.9324.9980.00.0300.0},
    {
3175.0, -2440.014.3324.9980.00.0300.0},
    {
3175.0, -2438.514.3324.9980.0180.0300.0},
    {
3175.0, -2437.512.9324.9980.0180.0300.0},
    {
3175.0, -2436.511.5324.9980.0180.0300.0},
    {
3175.0, -2435.510.1324.9980.0180.0300.0},
    {
3175.0, -2435.08.60.00.0180.0300.0},
    {
3175.0, -2435.06.90.00.0179.995300.0},
    {
3175.0, -2435.05.10.00.0179.995300.0}
};
new 
LoadObjectsInt[][] =
{
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1},
    {
3276, -1, -1, -1}
};
for(new 
0sizeof LoadObjectsFloat && sizeof LoadObjectsInt++)
        
CreateDynamicObject(LoadObjectsInt[o][0], LoadObjectsFloat[o][0], LoadObjectsFloat[o][1], LoadObjectsFloat[o][2], LoadObjectsFloat[o][3], LoadObjectsFloat[o][4], LoadObjectsFloat[o][5], LoadObjectsInt[o][1], LoadObjectsInt[o][2], LoadObjectsInt[o][3], LoadObjectsFloat[o][6]); 
Reply
#8

PHP код:
CreateDynamicObject(LoadObjectsInt[o][0], LoadObjectsFloat[o][0], LoadObjectsFloat[o][1], LoadObjectsFloat[o][2], LoadObjectsFloat[o][3], LoadObjectsFloat[o][4], LoadObjectsFloat[o][5], LoadObjectsInt[o][1], LoadObjectsInt[o][2], LoadObjectsInt[o][3], STREAMER_OBJECT_SDLoadObjectsFloat[o][6]); 
Qual й a dъvida ?
Reply
#9

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
Qual й a dъvida ?
Acredito que utilizar sizeof LoadObjectsFloat && sizeof LoadObjectsInt й desnecessбrio, jб q ambas vгo ter o mesmo tamanho e ordem, respectivamente.

Invйs de:
PHP код:
sizeof LoadObjectsFloat && sizeof LoadObjectsInt 
Alterar para:
PHP код:
sizeof LoadObjectsInt 
Mesmo assim vou dar algumas testadas aqui e ter um resultado preciso quanto а funcionalidade do cуdigo.
Reply
#10

Vocк deve utilizar enum como no exemplo abaixo:

PHP код:

enum enumobj 
{
    
modelo,
    
Float:x,
    
Float:y,
    
Float:z,
}
new 
LoadObjects[][enumobj] = {
    {
3276/*CoordX*/0.0/*CoordY*/0.0/*CoordZ*/0.0},
    {
3276/*CoordX*/0.0/*CoordY*/0.0/*CoordZ*/0.0},
    {
3276/*CoordX*/0.0/*CoordY*/0.0/*CoordZ*/0.0},
    {
3276/*CoordX*/0.0/*CoordY*/0.0/*CoordZ*/0.0},
    {
3276/*CoordX*/0.0/*CoordY*/0.0/*CoordZ*/0.0},
    {
3276/*CoordX*/0.0/*CoordY*/0.0/*CoordZ*/0.0}
};
for(new 
idid sizeof (LoadObjects); id++) {
    
CreateDynamicObject(LoadObjects[id][modelo], LoadObjects[id][x], LoadObjects[id][y], LoadObjects[id][z], 0.00.00.0);

Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)