Серьёзные Игры на Тушино



                                           Ваш IP 3.236.219.157 | Группа "Гости" Приветствую Вас Гость | RSS
Пятница, 29.03.2024, 02:34:44
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: conKORD  
Cерьёзные Игры на Тушино - Форум » ArmA II и Arma II CO » Картостроение » Как использовать команду аddAction?
Как использовать команду аddAction?
PetrarkaДата: Суббота, 22.12.2012, 14:21:44 | Сообщение # 1
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
Как можно команду addAction и то на что она ссылается запилить в один скрипт?
Как можно привязать появление пунктиков в меню действия к определенному месту в технике?
Как можно команду setHit, с учетом первых 2-х пунктов, привязать к технике у которой активирован этот "скрипт"?


Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
[SUB7]BlenderДата: Среда, 26.12.2012, 04:07:50 | Сообщение # 2
Старожил АТ
Группа: Разработчик ПО
Сообщений: 167
Статус: Offline
Можно создать файл со скриптом, в котором будет компилиться и выполняться все, что передает addAction.
В условиях появления addAction можно указать например (driver _vehicle == player).
Сделать контрольную переменную (включен ли скрипт) и повесить на каждую технику EventHandler на повреждения и обрабатывать в случае если контрольная переменная например равна true.


Сообщение отредактировал [SUB7]Blender - Среда, 26.12.2012, 04:08:11
 
PetrarkaДата: Среда, 26.12.2012, 16:02:57 | Сообщение # 3
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
Цитата (|SUB7|Blender)
Можно создать файл со скриптом, в котором будет компилиться и выполняться все, что передает addAction.

можно тут поподробней?


Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
[SUB7]BlenderДата: Среда, 26.12.2012, 18:05:12 | Сообщение # 4
Старожил АТ
Группа: Разработчик ПО
Сообщений: 167
Статус: Offline
Создаешь какой-нибудь файл в миссии, например:
runScript.sqf
В него помещаешь:
Код
call compile format["%1", _this select 3];


Далее:
player addaction ["Имя пункта меню","runScript.sqf",'hint "Этот скрипт будет выполняться"',1,false,true,"","Здесь прописываешь условие появления экшена"];


Сообщение отредактировал [SUB7]Blender - Среда, 26.12.2012, 18:05:30
 
PetrarkaДата: Среда, 26.12.2012, 22:39:14 | Сообщение # 5
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
кстати как цвет экшона менять?

Добавлено (26.12.2012, 21:20:43)
---------------------------------------------
скрипт вызывать execVM?

Добавлено (26.12.2012, 22:39:14)
---------------------------------------------
что то условие driver _vehicle == player не работает, а при условии true при каждом нажатии на экшон кол-во последних удваивается


Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
[SUB7]BlenderДата: Среда, 26.12.2012, 23:21:54 | Сообщение # 6
Старожил АТ
Группа: Разработчик ПО
Сообщений: 167
Статус: Offline
Менять цвет можно через теги, например:
Код
player addaction [("<t color=""#FF0000"">" + "Имя пункта меню" + "</t>"),

execVM использовать не надо, достаточно того, что указано мной выше.
Условие (driver _vehicle == player) работать и не должно, т.к. было для примера.


Сообщение отредактировал [SUB7]Blender - Среда, 26.12.2012, 23:22:12
 
PetrarkaДата: Четверг, 27.12.2012, 15:54:14 | Сообщение # 7
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
где можно узнать как делать условия?

Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
abdurahmanДата: Четверг, 27.12.2012, 16:11:53 | Сообщение # 8
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 108
Статус: Offline
http://community.bistudio.com/wiki/Category:Scripting_Commands
 
PetrarkaДата: Четверг, 27.12.2012, 19:13:14 | Сообщение # 9
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
блин всё равно не получается, вроде всё правильно
скрипт
Код

call compile format["%1", _this select 3];
player addAction [("<t color=""#ff6e6e"">" + "Проверка скрипта (СЛОМАТЬ ДВИГАТЕЛЬ)" + "</t>"),' "setHit [""motor"", 1]";',1,false,true,"","if (_player == _veh gunner )"];
player addAction [("<t color=""#ff6e6e"">" + "Проверка скрипта (СЛОМАТЬ ВИНТ)" + "</t>"),' "setHit [""vrtule"", 1]";',1,false,true,"","if (_player == _veh gunner )"];
player addAction [("<t color=""#ff6e6e"">" + "Проверка скрипта (CЛОМАТЬ ПРИБОРЫ)" + "</t>"),' "setHit [""elektronika"", 1]";',1,false,true,"","if (player == _veh gunner )"];


инит техники
Код

this addEventHandler ["getIn", {_this exec "runScript.sqf"}];

арма жалуется на на экшон: type string, expected bool


Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
[SUB7]BlenderДата: Четверг, 27.12.2012, 22:28:52 | Сообщение # 10
Старожил АТ
Группа: Разработчик ПО
Сообщений: 167
Статус: Offline
Я же писал, что не надо exec'ов никаких.
Код
this addEventHandler ["getIn", "runScript.sqf"];

Добавлено (27.12.2012, 22:28:52)
---------------------------------------------
Только после runScript.sqf нужен скрипт, который компилить:

Код
this addEventHandler ["getIn", "runScript.sqf", 'hint "SCRIPT HERE!"'];
 
PetrarkaДата: Суббота, 29.12.2012, 14:35:09 | Сообщение # 11
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
можно кстати сделать так, чтоб addAction не ссылался на какой нибудь файл? и чтоб только при активации оного выполнялась команда goto или EventHandler или следующая строка(это предпочтительней)?

Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
[SUB7]BlenderДата: Суббота, 29.12.2012, 17:51:03 | Сообщение # 12
Старожил АТ
Группа: Разработчик ПО
Сообщений: 167
Статус: Offline
Название пункта и имя файла указывать обязательно!
Все остальное является опцией.
 
PetrarkaДата: Суббота, 29.12.2012, 20:11:40 | Сообщение # 13
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
и другой команды на создание экшона нету?
А то я тут балку декомпильнул и не нашел там addAction, хотя перерыл всё, но только нашел, что название экшонов прописаны через стрингтэйбл


Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
[SUB7]BlenderДата: Воскресенье, 30.12.2012, 07:37:26 | Сообщение # 14
Старожил АТ
Группа: Разработчик ПО
Сообщений: 167
Статус: Offline
Не знаю что там в балке, может экшены через функции, может классы.. да и вообще какая разница!?
Не вижу смысла в поисках каких-то альтернативных вариантах создания экшена.
Чем не устраивает то, что уже существует?
Хочешь каких-то отдельных вычислений - пожалуйста, обрабатывай все в файле, передавая туда нужные аргументы, либо выполняй скрипт на ходу используя компиляцию в файле.
Если сложно соорентироваться - опиши конкретно свою задачу - попробую помочь более конкретным кодом.
 
PetrarkaДата: Воскресенье, 30.12.2012, 14:56:18 | Сообщение # 15
Старожил АТ
Группа: Участник проекта SeriousGames
Сообщений: 105
Статус: Offline
ну в общем я хотел, чтобы при активации скрипта на технике на определенном месте в технике или определенного человека появлялся экшон на ломание определенной части техники(двигатель, задниц ротор, бензобак, колесо, гусеница и т.п.). Для начала я планировал сделать для вертолетов, а дальше просто меняя путь к строке в конфиге подонять под любую машину

Петр
Ник в арме и ТС: [AS] Petrarka
пилот отряда
 
Cерьёзные Игры на Тушино - Форум » ArmA II и Arma II CO » Картостроение » Как использовать команду аddAction?
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024