13:41
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: Alcoholik  
Движение объектов по замкнутой троектории
RockStarGamerДата: Четверг, 13.03.2008, 12:31 | Сообщение # 1
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
Как сделать что бы в игре постоянно объект по замкнутой троектории например:
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
DarkByteДата: Четверг, 13.03.2008, 13:13 | Сообщение # 2
Долгожитель
Группа: Продвинутые
Сообщений: 1577
Награды: 7
Город: Челябинск
Репутация: 182
Замечания: 0%
Статус:
Я в си пока не сильно разбираюсь но конструкция
GetPlayerPos(playerid,x,y,z+50); верно будет работать или нет? т.е. она вернёт просто Z или Z+50?
А если нужно двигать объект на игроком, то сделай это по таймеру :)



MusicSig vkontakte - расширение функционала ВКонтакте для Google Chrome
RockStarGamerДата: Четверг, 13.03.2008, 19:41 | Сообщение # 3
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
1.Не, я вот о чём:
В аирбот есть такое:
MoveObject(Plane,2092.911133, -2584.532715, 18.449501,15);
Code
SetObjectRot(Plane,0.0000, 0.0000, 270.0001);
}
if (PlaneInPos(1,2092.911133, -2584.532715, 18.449501))
{
MoveObject(Plane,1699.186646, -2593.892090, 18.449501,45);
SetObjectRot(Plane,0.0000, 0.0000, 180.0000);
}
if (PlaneInPos(1,1699.186646, -2593.892090, 18.449501))
{
MoveObject(Plane,543.694946, -1865.636719, 400.341370,50);
SetObjectRot(Plane,0.0000, 350.5462, 135.0000);
}

Вот по этому примеру сделать что бы объект летул сам оп себе по замкнутой троектории всегда.
Со вторым разобрался:
Code
#include <a_samp>
forward OneSecTimer();
main()
{
}
public OnGameModeInit()
{
   // Set timer of 1 second.
   SetTimer("OneSecTimer", 1000, 1);
   print("GameModeInit()");
   SetGameModeText("Timer Test");
   return 1;
}
public OneSecTimer() {
   new Float:x,Float:y,Float:z;
   GetPlayerPos(0,x,y,z);
   MoveObject( 1, x,y,z+20, 10 );
}



Сообщение отредактировал Wise - Четверг, 13.03.2008, 19:41
BazДата: Четверг, 13.03.2008, 21:51 | Сообщение # 4
Постоялец
Группа: Продвинутые
Сообщений: 390
Награды: 2
Город: Moscow
Репутация: 48
Замечания: 0%
Статус:
Насколько я помню, ты действие загоняешь в
while(true)
{
действие
}
и оно выполняется беспрерывно. Попробуй туда MoveObject загнать



Делаю дизайны сайтов, недорого. Обращаться в ЛС
RockStarGamerДата: Четверг, 13.03.2008, 22:12 | Сообщение # 5
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
Может как то переделать это:
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); ты тут
}

ConqerorДата: Пятница, 14.03.2008, 11:46 | Сообщение # 6
Постоялец
Группа: Продвинутые
Сообщений: 397
Награды: 2
Город: =/
Репутация: 4
Замечания: 20%
Статус:
Я видел что бы например модель акулы вращалась, а потом летает над головой чела. А то что ты хочешь уже скорее ботоводство. Сложно ведь будет, запаришься.
RockStarGamerДата: Пятница, 14.03.2008, 11:49 | Сообщение # 7
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
Quote (Conqeror)
Я видел что бы например модель акулы вращалась, а потом летает над головой чела. А то что ты хочешь уже скорее ботоводство. Сложно ведь будет, запаришься.

Что тут сложного, привязку объекта очень лекго, так что бы объект двигался за игроком с определённой скоростью уже посложнее, но я уже это сделал, осталось это fun
Вот в таймере почистил и 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
ConqerorДата: Пятница, 14.03.2008, 11:51 | Сообщение # 8
Постоялец
Группа: Продвинутые
Сообщений: 397
Награды: 2
Город: =/
Репутация: 4
Замечания: 20%
Статус:
Ну и прекрасно. Я не подумал о привязке как то. Если подумать как я говорил, то мутота бы вышла. lol
ConqerorДата: Пятница, 14.03.2008, 16:25 | Сообщение # 9
Постоялец
Группа: Продвинутые
Сообщений: 397
Награды: 2
Город: =/
Репутация: 4
Замечания: 20%
Статус:
Надо бы. Да я ещё не доучил его. Ща тока калькуляторы могу писать. Через пару месяцев может и смогу чё то мутить.
RockStarGamerДата: Пятница, 14.03.2008, 16:57 | Сообщение # 10
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
Quote (GoNT1k)
Вы издеваетесь?
while(2*2==4)
{
//Код
}

От этого игра пострепенно зависает лол fun

DeXt3RДата: Пятница, 14.03.2008, 17:00 | Сообщение # 11
Местный
Группа: Продвинутые
Сообщений: 748
Награды: 1
Город: hz
Репутация: 14
Замечания: 0%
Статус:
xDDDDDDDDD
Калоеды

RockStarGamerДата: Пятница, 14.03.2008, 18:09 | Сообщение # 12
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
Quote (GoNT1k)
Почему зависает?

Потому что не выгружаются данные из памяти

  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua