
Активация триггера только для одного игрока
#21
OFFLINE
Отправлено 15 September 2022 - 23:26
#23
OFFLINE
Отправлено 16 September 2022 - 00:03
Gonarx, нифига он не глобален. initPlayerLocal.sqf и init.sqf запускаются у каждого игрока, поэтому локальный триггер создаётся у каждого игрока. Суть перемещения кода в файл -- добавить проверку, чтобы триггер был создан у конкретного игрока.
Тогда не могу понять, почему создавая триггер из скрипта, он виден всем игрокам, на всех сторонах и каждый может его запустить, разве не может быть, что рация всегда глобальна, ведь запуск через "0"- а это вызов глобального радио. Читая вики я понял - это так.
#24
OFFLINE
Отправлено 16 September 2022 - 00:13
Тогда не могу понять, почему создавая триггер из скрипта, он виден всем игрокам, на всех сторонах и каждый может его запустить
initPlayerLocal.sqf и init.sqf запускаются у каждого игрока, поэтому локальный триггер создаётся у каждого игрока.
Для ограничения попробуй такое условие:
if (!(isNil "s1")) then { ... };
То есть если юнита s1 кто-то выберет, то переменная s1 будет определена, и код выполнится.
разве не может быть, что рация всегда глобальна, ведь запуск через "0"- а это вызов глобального радио
Не знаю, но очень сомневаюсь.
Сообщение отредактировал Schatten: 16 September 2022 - 00:13
#25
OFFLINE
Отправлено 16 September 2022 - 00:43
Тогда не могу понять, почему создавая триггер из скрипта, он виден всем игрокам, на всех сторонах и каждый может его запустить
initPlayerLocal.sqf и init.sqf запускаются у каждого игрока, поэтому локальный триггер создаётся у каждого игрока.
Для ограничения попробуй такое условие:
if (!(isNil "s1")) then { ... };То есть если юнита s1 кто-то выберет, то переменная s1 будет определена, и код выполнится.
разве не может быть, что рация всегда глобальна, ведь запуск через "0"- а это вызов глобального радио
Не знаю, но очень сомневаюсь.
не помогает, то же самое!!!
#26
OFFLINE
Отправлено 16 September 2022 - 00:57
не помогает, то же самое!!!
А у меня всё отлично в hosted-игре работает. Причём также с таким кодом в init-поле юнита:
if (local this) then { ... };
#27
OFFLINE
Отправлено 16 September 2022 - 19:47
Это уже радует, если у тебя работает, значит, точно разберемся, почему не работает у меня!
Давай только уточним, как и что работает?
1. Карта - 3 игровых юнита, 2 за West, один за East.
2. Имя одного из юнитов s1 (у других нет имен)
3. В ините юнита s1 текст:
if (local this) then {
#28
OFFLINE
Отправлено 16 September 2022 - 20:36
#29
OFFLINE
Отправлено 16 September 2022 - 20:57
Открыть миссию не смог так как у меня нет пустынного мода, но создал такую же, пока все та же проблема _t - что за юнит?
#30
OFFLINE
Отправлено 16 September 2022 - 21:10
Открыть миссию не смог так как у меня нет пустынного мода
Руками миссию можно подкорректировать, заменив юниты из WS и требуемые дополнения. Или можешь загрузить
.но создал такую же, пока все та же проблема
Чудеса какие-то.
_t - что за юнит?
Вообще-то это переменная.
Сообщение отредактировал Schatten: 16 September 2022 - 21:15
#31
OFFLINE
Отправлено 16 September 2022 - 22:14
Я правильно понимаю, что у тебя в миссии, принудительно отключен ИИ? И грузиться только юнит под управлением Player?
Если отключать ИИ, то действительно работает. Подумаю, принципиально ли оставлять ИИ для смысла миссии. Больше спасибо за помощь.
Сообщение отредактировал Gonarx: 16 September 2022 - 22:19
#32
OFFLINE
Отправлено 16 September 2022 - 22:24
Gonarx, да, ИИ отключён.
Если ИИ оставить неотключённым, то его юниты будут локальны игроку-серверу, и, соответственно, радио будет доступно юниту p2 (в моей миссии).
Можно вот так сделать:
if ((vehicleVarName player) == "p1") then { ... };
Тогда даже с включённым ИИ радио будет доступно только для юнита p1.
Сообщение отредактировал Schatten: 16 September 2022 - 22:25
#33
OFFLINE
Отправлено 16 September 2022 - 22:30
Gonarx, да, ИИ отключён.
Если ИИ оставить неотключённым, то его юниты будут локальны игроку-серверу, и, соответственно, радио будет доступно юниту p2 (в моей миссии).
Можно вот так сделать:if ((vehicleVarName player) == "p1") then { ... };Тогда даже с включённым ИИ радио будет доступно только для юнита p1.
почему то при таком условии нет рации. Могу предположить, проверка не срабатывает и действие не запускается! Вроде юниты названы правильно, но пока не работает.
Сообщение отредактировал Gonarx: 16 September 2022 - 22:51
#35
OFFLINE
Отправлено 16 September 2022 - 23:09
Так у меня не создается триггер при таком условии, скидывай миссию)) Посмотрю, как видишь, чудес не было и в прошлый раз, просьба поставь только ванильных юнитов.