|
|
Серьёзные Игры на Тушино
Ваш IP 3.15.168.2 | Группа "Гости" Приветствую Вас Гость | RSS
|
Как использовать команду а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 пилот отряда
|
|
| |
|
| |