Автор Тема: Связи (скрипты)  (Прочитано 4111 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zmey

  • Опытный Вор
  • Сообщений: 765
Связи (скрипты)
« : 29 Июня 2011 21:05:55 »
Люди, кто знает какие скрипты или связи пишите сюда. Может туториал на русском где есть?
Сделал в игре запертый сундук на отмычки, и ужаснулся на тот обьём действий который я делал, незнаю может и проще есть способ зделать запертый сундук. Вот пример:

Как зделать запертый на отмычки сундук.

Запертый сундук -(Ставим модель сундука)

Свойства (Entity inspector) Должны соответствовать этим

Classname atdm:froblock
name FootLockerBody_1
immune_to_target_setfrobable 1 ставим галку
lock_picktype s
lock_pins 2
locked 1 ставим галку
target FootlockerLid
used_by FootLockerKey_1
model models/darkmod/containers/openable/footlocker_wood.ase  Модель сундука

Свойcтва крышки от сундука-( Ставим модель двери )

Свойства (Entity inspector) Должны соответствовать этим

Classname atdm:mover_door
name FootlockerLid
frob_master FootLockerBody_1   Эту строку вбить в ручную правда не знаю зачем
immune_to_target_setfrobable 1 ставим галку
lock_picktype -
lock_pins 0
locked 0 галки нет
move_time 1
rotate 0 0 -80         (Подразумевается открывание по оси X Y Z)
target ChestFrobControl_1
trigger_on_close 1 ставим галку
used_by -
model models/darkmod/containers/openable/footlocker_wood_lid.ase   Модель крышки

Добавляем третий объект к сундуку. Для начала ставим кисть обычный куб, затем не снимая выделения жмём правую клавишу мыши, далее по адресу: Create Entity/Darkmod/Targets/ atdm:target_set_frobable
Затем натяните на неё текстуру: по адресу textures/common/clip

Свойства (Entity inspector) Должны соответствовать этим

Classname atdm:target_set_frobable
Name ChestFrobControl_1
Model ChestFrobControl_1

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Связи (скрипты)
« Ответ #1 : 29 Июня 2011 23:09:30 »
заставляем мувер летать по кривым траекториям

 
Цитировать
void ghostlight()
 {
 $НазваниеМувера.startSpline($ИмяКривой);
 sys.wait(49);
 }

 void main()
 {
 $НазваниеМувера.time(49); \\\\время за которое мувер будет облетать траекторию
 $НазваниеМувера.decelTime(1);
 $НазваниеМувера.accelTime(1);

 while(1)
 {
 ghostlight();
 }
 }

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Связи (скрипты)
« Ответ #2 : 29 Июня 2011 23:11:52 »
Цитировать
$ИмяДвери.Open(); открывает дверь
$ИмяДвери.Close(); закрывает дверь


Оффлайн Zmey

  • Опытный Вор
  • Сообщений: 765
Связи (скрипты)
« Ответ #3 : 29 Июня 2011 23:30:05 »
Патрулирующий стражник.

Нам понадобиться три вида обьектов, 1. Стражник. 2. Одна точка path_wait.  И нужное нам количество точек path_corner.
Точки можно найти щёлкнув на правую клавишу мыши, далее Create Entity… далее Darkmod/Path  в этой папке находятся эти точки.
Ставим стражника и рядом с ним точку path_wait. Заходим в свойства стражника и добавляем функцию Target в этой функции пишем имя (Name) точки path_wait. Далее подтвердить. У нас образовалась первая связь между стражником и точкой, таким же методом точку path_wait привязываем к точке path_corner, затем точку path_corner привязываем к последующей точке path_corner и тогдалее…. Смотря на сколько длинный путь патруля вы собрались делать. И наконец чтобы патруль работал нужно эту цепь точек замкнуть! Привязать последний path_corner к первому path_corner. Смотрите не перепутайте не к первой точке path_wait а именно первой точке path_corner. Желательно чтобы последняя точка была близка от первой, можно сделать кольцом патруль!


Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Связи (скрипты)
« Ответ #4 : 30 Июня 2011 01:36:50 »
кстати есть ещё path_anim,path_use,path_sleep
так что можно сделать так чтоб стражник во время патруля присаживался,ложился спать,использовал что-нибудь и тд

Оффлайн Zmey

  • Опытный Вор
  • Сообщений: 765
Связи (скрипты)
« Ответ #5 : 30 Июня 2011 10:07:40 »
А есть список с анимациями для точки path_cycleanim. Я так понял эта точка анимацию должна проигрывать?

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Связи (скрипты)
« Ответ #6 : 02 Июля 2011 01:17:18 »
скрипт,добавляющий предмет в инвентарь
Цитировать
$player1.addInvItem($НазваниеПредмета); add item to players inventory

Оффлайн Zmey

  • Опытный Вор
  • Сообщений: 765
Связи (скрипты)
« Ответ #7 : 03 Июля 2011 23:41:29 »
скрипт,добавляющий предмет в инвентарь
Цитировать
$player1.addInvItem($НазваниеПредмета); add item to players inventory

А в каком окне прописывать этот скрипт нужно?

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Связи (скрипты)
« Ответ #8 : 03 Июля 2011 23:51:18 »
в скриптовом файле миссии

Оффлайн Zmey

  • Опытный Вор
  • Сообщений: 765
Связи (скрипты)
« Ответ #9 : 03 Июля 2011 23:56:17 »
В этом самом окне?

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357

Оффлайн Zmey

  • Опытный Вор
  • Сообщений: 765
Связи (скрипты)
« Ответ #11 : 04 Июля 2011 16:52:20 »
Попробовал прописать в файле mine.script   строчку с привязкой предмета выдало ошибку! Потом в редакторе скриптов попробовал вбить тоже самое, нажал Run Script  и тоже выдало ошибку   File "<string>", line 1
    $player1.addInvItem($atdm_playertools_lockpick_snake_1);
    ^
SyntaxError: invalid syntax

Вбивал строку: $player1.addInvItem($atdm_playertools_lockpick_snake_1);

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Связи (скрипты)
« Ответ #12 : 04 Июля 2011 16:54:35 »
объясни пожалуйста,что ты пытаешся сделать ?
может опять повторить процедуру с обменом карты :)

Оффлайн Zmey

  • Опытный Вор
  • Сообщений: 765
Связи (скрипты)
« Ответ #13 : 04 Июля 2011 17:00:18 »
Я пытаюсь присвоить две отмычки в инвентарь )) неполучается. Если у тебя есть время то можно повторить процедуру с картой  :biggrin:

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Связи (скрипты)
« Ответ #14 : 04 Июля 2011 17:02:39 »
для этого не надо писать скрипт
достаточно добавить им свойство :
iv_map_start
1

вот если бы нужно было что АИ давал отмычку  или что-то перемещалось в инвентарь волшебным образом,вот тогда,да,нужен скрипт