|
|
Модератор форума: Slon |
Форум » РЕДАКТОР - ArmA 2 » Вопрос-Ответ » Скрипты в МП (server<->client) |
Скрипты в МП (server<->client) |
› Воскресенье
› 03.02.2013
› 12:19
› Сообщение #
Доброго времени суток.
При создании миссии столкнулся с рядом трудностями, в основном из области разграничения выполнения скриптов на серверной и клиентской машинах. Постараюсь быть кратким, собственно вот те вещи, которые ставят меня в тупик: 1)Как осуществить запуск скриптов на клиентских машинах, при входе на сервер. (То есть само условие как должно выглядеть, и где должно быть прописано, мб в ините?). В частности, как запустить скрипт, который должен выполняться при заходе на сервер или при смене слота в лобби (не обязательно при смене слота, но при перезаходе на карту не отключаясь от сервера). 2)Какая разница между isServer и isDedicated. 3)Как решить вот эту задачку: Имеем Объект с инитом: _Object addaction ["Действие1","Script.sqf"]; Игрок 1 подходит к Объекту и выполняет действие из контекстного меню предмета, тем самым изменяя список действий этого меню (скриптом заменяется "Действие 1" на "Действие 2"): _Object removeAction _id; _Object addaction ["Действие 2","Script.sqf"]; Далее Игрок 1 выходит из сервера, заходит Игрок 2, подойдя к Объекту видит в меню "Действие 1", а не "Действие 2", так как при входе на сервер выполняется инит Объекта "_Object addaction ["Действие 1","Script.sqf"];" Собственно вопрос, как сохранить состояние объектов, маркеров, контекстных меню объектов и etc. уже измененных в ходе игры для передачи их свойств нововошедшим игрокам. Заранее благодарю, Chris [70Rus]. P.S. Администрации: При регистрации на http://arma.at.ua, в поле логина максимальное число символов 8, в то время как там указано что не белее 10, мб у меня баг? Сообщение отредактировал Chris70R - Воскресенье, 03.02.2013, 12:21
|
› Воскресенье
› 05.05.2013
› 21:24
› Сообщение #
Если ты вообще заходишь сюда, то отвечу:
1) onPlayerConnected выполняет скрипты на всех машинах которые заходят (ну я так вроде понял). 2) isServer - это когда ты создаешь сервер, играешь, админ ТОЛЬКО ты, а когда уходишь он падает (создается в меню, где сервера показывает). isDedicated - это сервера, в которых "царит демократия", то есть админ выборочный, сервер никогда не падает (есть частые исключения). Сервер создается НЕ на компе админа. 3) Не знаю ---------------------. P.S. Да, тоже не больше 8 символов.
-_-_-_-_?Хочешь что-то спросить?_-_-_-_
-=-=-=-=!ЗАРЕГИСТРИРУЙСЯ!=-=-=-= |
› Вторник
› 07.05.2013
› 18:10
› Сообщение #
Deaster, здесь бываю, но не часто, спасибо за ответ.
С isServer и isDedicated разобрался давно, ты объяснил в принципе верно, но несколько запутанно, приведу цитату из труда PIONEER_web может кому полезно будет: "... isServer — проверяет является ли компьютер сервером, и если да, то возвращает true. В сингле она также возвращает true. isDedicated — проверяет является ли компьютер выделенным сервером. В отличие от изСервер в сингле возвращает false. local — проверяет является ли объект локальным. Т.е. игрок будет локален для компьютера игрока, а бот будет локален для сервера ..." А по поводу 1го и 3го вопросов топика, думаю вряд ли кто ответит, так как они слишком объемны что бы дать на них тут развернутый ответ, там используются и ивентхендлеры и логика и тригеры, а также можно юзать СВАшные или бисовские функции (еще тот темный лес...), в общем еще раз спасибо за ответ. С наступающим праздником! Сообщение отредактировал Chris70R - Вторник, 07.05.2013, 20:26
|
| |||
| |||
Чат сайта |