Jump to content

pomoc Pohyb více objektů


stonersvojta

Recommended Posts

Ahoj,

potřebuji pomoct. protože já si už opravdu nevím rady. 

Chci udělat něco jako párty loď, že na příkaz /odplout se loď i s objekty na ní budou posouvat na určité souřadnice.

CreateObject(10230, -3013.40845, 468.79062, 6.87490,   0.00000, 0.00000, -91.00000);
CreateObject(19129, -3015.18457, 445.35400, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(19129, -3014.64868, 465.34436, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(19129, -3014.54907, 485.31909, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(19129, -3014.33057, 504.89417, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(1499, -3014.48828, 421.49289, 9.93949,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3024.74341, 443.00983, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3024.66699, 452.30084, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3024.66748, 461.56860, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3023.92334, 481.98740, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3023.73120, 491.37079, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3023.73291, 500.71823, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(14582, -3014.19287, 472.29291, 9.53280,   0.00000, 0.00000, 0.00000);
CreateObject(16151, -3012.19238, 433.63309, 6.49630,   0.00000, 0.00000, -91.00000);
CreateObject(16151, -3018.93579, 433.69540, 6.49630,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3005.18408, 447.25394, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3005.12817, 450.92957, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3005.19116, 443.66763, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3004.67651, 483.70245, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3004.64917, 487.61212, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3004.58203, 491.46548, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(641, -3022.93408, 514.02130, 4.14870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3003.93042, 513.56952, 4.14870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3013.23828, 527.35217, 4.14870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3024.65405, 437.47745, 3.64870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3005.18628, 437.24036, 3.64870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3023.94556, 473.19510, 3.64870,   0.00000, 0.00000, 0.00000);
CreateObject(3515, -3018.20459, 515.88263, 7.14710,   0.00000, 0.00000, 0.00000);
CreateObject(3515, -3009.39600, 515.78058, 7.14710,   0.00000, 0.00000, 0.00000);
CreateObject(3515, -3013.70459, 515.75885, 7.14710,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3016.01904, 440.01520, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3014.69482, 450.78259, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3014.09351, 460.66107, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3013.11938, 482.95987, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3013.30981, 497.40417, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3018.39380, 522.12537, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3009.45410, 521.47101, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3016.26880, 413.13089, 6.02910,   0.00000, 0.00000, 0.00000);

Tyto objekty, prosím Vás, jak udělám, aby se všechny objekty pohybovali stejně na určitou souřadnici, mockrát děkuji.

Link to comment
Share on other sites

Skus:

#define TotalBoatObjects (X) //X zmen na kolko mas tych objektov

//Vytvorenie lode
new BoatObjects[TotalBoatObjects], i;

BoatObjects[i++] = CreateObject(10230, -3013.40845, 468.79062, 6.87490, 0.00000, 0.00000, -91.00000);
BoatObjects[i++] = CreateObject(19129, -3015.18457, 445.35400, 5.98448, 0.00000, 0.00000, 0.00000);
//Atď si to dorob pre všetky objekty

//Pohyb lode
for(new j; j < TotalBoatObjects; j++) MoveObject(BoatObjects[j], ...);

Možno by to šlo inak ale nič ma nenapadlo ale malo by to ist :d

Edited by Sanios
Link to comment
Share on other sites

Zvol si "hlavní" objekt a připevni k němu ostatní (AttachObjectToObject). Teď posouvej "hlavním" objektem pomocí MoveObject a máš to vyřešený.

 

Pozor, neexistuje verze připevnění objektu pro PlayerObject. To znamená, že pokud plánuješ využívat streamer, tak ti tato metoda nepůjde.

Pak bych doporučil si zase určit "hlavní" objekt, vzít z něho souřadnice a dopočítat offsety ostatních objektů od tvého zvoleného. 

Pak něco ve stylu

MoveObject( object_id, pozice_x + off_set_x, pozice_y + off_set_y, pozice_z + off_set_z ...);
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites


new lod; // proměnná pro náš hlavní objekt, pro pozdější pohyb


// Vytváříme objekty, nejspíš v OnGameModeInit, nebo ve FilterScriptInit

lod = CreateObject(10230, -3013.40845, 468.79062, 6.87490, 0.00000, 0.00000, -91.00000);

// teď to můžeme připevňovat třeba takto
AttachObjectToObject( CreateObject( .... ), lod, 0, 0, 0, 0, 0, 0, 1);
AttachObjectToObject( CreateObject( .... ), lod, 0, 0, 0, 0, 0, 0, 1);
...

// nebo takto
new objid =  CreateObject( .... );
AttachObjectToObject(objid, lod, 0, 0, 0, 0, 0, 0, 1);
objid =  CreateObject( .... );
AttachObjectToObject(objid, lod, 0, 0, 0, 0, 0, 0, 1);
Link to comment
Share on other sites

Děkuji, ale vyskytl se takový problém, teď jsem se díval a mapa přístavu, který jsem udělal tam normálně je, ale loď na které jsou dance floor a nějaké ty kravinky tam vůbec nejsou jakto ??

Kod:

reateObject(10230, -3013.40845, 468.79062, 6.87490,   0.00000, 0.00000, -91.00000);
CreateObject(19129, -3015.18457, 445.35400, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(19129, -3014.64868, 465.34436, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(19129, -3014.54907, 485.31909, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(19129, -3014.33057, 504.89417, 5.98448,   0.00000, 0.00000, 0.00000);
CreateObject(1499, -3014.48828, 421.49289, 9.93949,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3024.74341, 443.00983, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3024.66699, 452.30084, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3024.66748, 461.56860, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3023.92334, 481.98740, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3023.73120, 491.37079, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(16152, -3023.73291, 500.71823, 6.03683,   0.00000, 0.00000, 0.00000);
CreateObject(14582, -3014.19287, 472.29291, 9.53280,   0.00000, 0.00000, 0.00000);
CreateObject(16151, -3012.19238, 433.63309, 6.49630,   0.00000, 0.00000, -91.00000);
CreateObject(16151, -3018.93579, 433.69540, 6.49630,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3005.18408, 447.25394, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3005.12817, 450.92957, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3005.19116, 443.66763, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3004.67651, 483.70245, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3004.64917, 487.61212, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(1836, -3004.58203, 491.46548, 6.04440,   0.00000, 0.00000, -91.00000);
CreateObject(641, -3022.93408, 514.02130, 4.14870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3003.93042, 513.56952, 4.14870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3013.23828, 527.35217, 4.14870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3024.65405, 437.47745, 3.64870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3005.18628, 437.24036, 3.64870,   0.00000, 0.00000, 0.00000);
CreateObject(641, -3023.94556, 473.19510, 3.64870,   0.00000, 0.00000, 0.00000);
CreateObject(3515, -3018.20459, 515.88263, 7.14710,   0.00000, 0.00000, 0.00000);
CreateObject(3515, -3009.39600, 515.78058, 7.14710,   0.00000, 0.00000, 0.00000);
CreateObject(3515, -3013.70459, 515.75885, 7.14710,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3016.01904, 440.01520, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3014.69482, 450.78259, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3014.09351, 460.66107, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3013.11938, 482.95987, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3013.30981, 497.40417, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3018.39380, 522.12537, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3009.45410, 521.47101, 2.52910,   0.00000, 0.00000, 0.00000);
CreateObject(3472, -3016.26880, 413.13089, 6.02910,   0.00000, 0.00000, 0.00000);
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...