Как сделать что бы в игре постоянно объект по замкнутой троектории например:
Quote
MoveObject( 1, 100,200,300, 10 ); // точка 1 затем, MoveObject( 1, 150,250,350, 20 ); // точка 2 затем, MoveObject( 1, 200,300,400, 7 ); // точка 3 затем, MoveObject( 1, 250,-350,450, 10 ); // точка 4 и опять MoveObject( 1, 100,200,300, 10 ); // точка 1 затем, MoveObject( 1, 150,250,350, 20 ); // точка 2 затем...
И это вставить в public OnGameModeInit() или public OnPlayerSpawn(playerid) что бы по этой троектории объект летал постоянно. И ещё как сделать что бы обьект двигался за игроком (но не Attach) ? Вот по примеру этого:
Quote
new Float:x,Float:y,Float:z // GetPlayerPos(playerid,x,y,z+50); // запрос кординат +50 м высоты MoveObject( 1, x,y,z, 10 ); // двигатся к позиции игрока (на самом деле в 50 над ним)
Сообщение отредактировал Wise - Четверг, 13.03.2008, 12:32
Я в си пока не сильно разбираюсь но конструкция GetPlayerPos(playerid,x,y,z+50); верно будет работать или нет? т.е. она вернёт просто Z или Z+50? А если нужно двигать объект на игроком, то сделай это по таймеру
Может как то переделать это: MoveObject(Plane,1699.186646, -2593.892090, 18.449501,45); // двигайся сюда } if (PlaneInPos(1,1699.186646, -2593.892090, 18.449501)) // ты сдесь теперь двигася туда { MoveObject(Plane,543.694946, -1865.636719, 400.341370,50); ты тут }
Я видел что бы например модель акулы вращалась, а потом летает над головой чела. А то что ты хочешь уже скорее ботоводство. Сложно ведь будет, запаришься.
Я видел что бы например модель акулы вращалась, а потом летает над головой чела. А то что ты хочешь уже скорее ботоводство. Сложно ведь будет, запаришься.
Что тут сложного, привязку объекта очень лекго, так что бы объект двигался за игроком с определённой скоростью уже посложнее, но я уже это сделал, осталось это Вот в таймере почистил и 5 сек задерка что бы не нагружать сервер:
Code
#include <a_samp> forward OneSecTimer(); main() { } public OnGameModeInit() { SetTimer("OneSecTimer", 5000, 1); return 1; } public OneSecTimer() { new Float:x,Float:y,Float:z; GetPlayerPos(0,x,y,z); MoveObject( 1, x,y,z+20, 10 ); }
Сообщение отредактировал Wise - Пятница, 14.03.2008, 11:53