можно ли из брифинга запустить выполнение скрипта?

можно ли из брифинга запустить выполнение скрипта?
#1
OFFLINE
Отправлено 24 October 2015 - 16:19
#3
OFFLINE
Отправлено 24 October 2015 - 17:36
можно ли в стадии брифинга вручную запустить выполнение нужного мне скрипта - кликом мыши на нужный из списка?
#5
OFFLINE
Отправлено 24 October 2015 - 18:01
поподробней плиз насчет "контролов поверх карты"
как я понимаю нужно создать альтернативное диалоговое окно, которое будет вылазить поверх карты во время брифинга, из которого можно запускать нужный мне сценарий...
Сообщение отредактировал Dimon UA: 24 October 2015 - 18:03
#6
OFFLINE
Отправлено 24 October 2015 - 20:18
Лично я думаю, что не особо получится именно до старта миссии, все скрипты основные загружаются после и как сделать поверх карты диалоговое окно не знаю, возможно можно.
Можно после старта действия на колесико выбор сделать или по рации 0-0-0, или написать скрипт, открываешь карту и в зависимости куда тыкнул - какое-то действие.
Сообщение отредактировал PIONEER: 24 October 2015 - 20:19
#7
OFFLINE
Отправлено 24 October 2015 - 20:28
Нихрена! Init.sqf и все с ним связанное: после исчезновения экрана загрузки перед брифингом, если вставить sleep или waitUntil, то данный скрипт дойдет до этого sleep'а и продолжит после старта в игрувсе скрипты основные загружаются после
#8
OFFLINE
Отправлено 24 October 2015 - 20:33
все скрипты основные загружаются после
Не зря же пишут
waitUntil { sleep 0.1; !(isNull player) };
или
waitUntil { sleep 0.1; time > 0 };
или и то, и другое вместе.
#10
OFFLINE
Отправлено 24 October 2015 - 20:44
БЕСы придумали круче всех)
enableSaving [false, false]; if (!isDedicated) then { onPreloadFinished {PTm_IsPreloadFinished = true; onPreloadFinished {};}; waitUntil {!isNil "PTm_IsPreloadFinished"}; ["PTm_loadingScreen"] call BIS_fnc_startLoadingScreen; };
#11
OFFLINE
Отправлено 24 October 2015 - 23:48
в description.ext
class Extended_PreInit_EventHandlers { class "имя класса" { Init = "call compile preProcessFileLineNumbers 'preInit.sqf'"; }; };
позволяет запускать код до срабатывания init.sqf
в preInit.sqf:
if (hasInterface) then { 0 = [] spawn { waitUntil { if (getClientState == "BRIEFING READ") then {
позволяет уловить момент когда клиент читает брифинг
Сообщение отредактировал Dimon UA: 24 October 2015 - 23:49
#12
OFFLINE
Отправлено 25 October 2015 - 00:24
Нихрена! Init.sqf и все с ним связанное: после исчезновения экрана загрузки перед брифингом, если вставить sleep или waitUntil, то данный скрипт дойдет до этого sleep'а и продолжит после старта в игрувсе скрипты основные загружаются после
Это всё фигня, sqf грузит, но годится на брифинги и на некоторые команды, всё остальное уже после загрузки нормально работать будет. Попробуйте сделать поверх брифинга что-то до старта миссии.
#13
OFFLINE
Отправлено 25 October 2015 - 00:50
player createDiaryRecord ["-----", ["------","------: [<execute expression='call fnc_-------'>------</execute>] <br />"]];
#14
OFFLINE
Отправлено 25 October 2015 - 02:58
Сообщение отредактировал Dimon UA: 25 October 2015 - 02:59
#15
OFFLINE
Отправлено 25 October 2015 - 12:49

PS Над красотой не работал!
Сообщение отредактировал vlad333000: 25 October 2015 - 13:02
#16
OFFLINE
Отправлено 28 October 2015 - 01:23
Сл.проблема:
так работает запуск скрипта "call fnc_dim_respawn"
player createDiaryRecord ["TU_actions", [format["Управляемый респ группы %1",group z1], "Действие: [<execute expression='z1 call fnc_dim_respawn'>Выбрать место респа</execute>] <br /> "]]; player createDiaryRecord ["TU_actions", [format["Управляемый респ группы %1",group z11], "Действие: [<execute expression='z11 call fnc_dim_respawn'>Выбрать место респа</execute>] <br /> "]]; player createDiaryRecord ["TU_actions", [format["Управляемый респ группы %1",group z111], "Действие: [<execute expression='z111 call fnc_dim_respawn'>Выбрать место респа</execute>] <br /> "]];
а так нет
{ player createDiaryRecord ["TU_actions", [format["Управляемый респ группы %1",group _x], "Действие: [<execute expression='_x call fnc_dim_respawn'>Выбрать место респа</execute>] <br /> "]]; } foreach [z1,z11,z111];
Сообщение отредактировал Dimon UA: 28 October 2015 - 09:47
#17
OFFLINE
Отправлено 28 October 2015 - 09:41
_x в данном случае не существует и поэтому у вас не работает""Действие: [<execute expression='_x call fnc_dim_respawn'>Выбрать место респа</execute>]"
Можно попробовать через формат включить переменную в текст
#18
OFFLINE
Отправлено 28 October 2015 - 09:51
_x в данном случае не существует и поэтому у вас не работает""Действие: [<execute expression='_x call fnc_dim_respawn'>Выбрать место респа</execute>]"
Можно попробовать через формат включить переменную в текст
просто когда
[format["Управляемый респ группы %1",group _x],
то _х читается и название группы пишется, а вот в сл. ситуации _х не не видит...
Просто как-то нужно в функцию отправить указание какая именно группа...
#19
OFFLINE
Отправлено 28 October 2015 - 10:07
{ player createDiaryRecord [ "TU_actions", [ format ["Управляемый респ группы %1", call (compile ("group " + _x))], format ["Действие: [<execute expression='%1 call fnc_dim_respawn'>Выбрать место респа</execute>]<br/>", _x] ] ]; } foreach ["z1", "z11", "z111"];
#20
OFFLINE
Отправлено 28 October 2015 - 10:25
{ player createDiaryRecord [ "TU_actions", [ format ["Управляемый респ группы %1", call (compile ("group " + _x))], format ["Действие: [<execute expression='%1 call fnc_dim_respawn'>Выбрать место респа</execute>]<br/>", _x] ] ]; } foreach ["z1", "z11", "z111"];
спс, ща заценим.
Спасибо!
Сообщение отредактировал Dimon UA: 28 October 2015 - 10:38