Перейти к публикации
ZizionarD

1.0.6.2 Система выбора спавна ESS v3

Рекомендованные сообщения


Предоставляет дополнительные варианты спавна для DayZ Epoch 1.0.6.2 и vanilla DayZ Mod 1.9:

  • Выбор воздушный или наземный спавн
  • Спавн и загрузка может быть ограничена за счет хуманити и UID
  • Спавн в пределах n-метров от игрока могут быть заблокированы
  • Возможность появления рядом с плотом или группой

  • Возможность спавна на заднем сиденье самолета для HALO

  • Загрузка может быть заданной или случайной

  • Совместим с анти-телепортом vanilla DayZ Mod

  • Форматы конфигурации обратно совместимы с конфигурациями V2

Улучшения по сравнению с V2:

  • Минимизация была удалена, файлы были реструктурированы для удобства чтения, а код был оптимизирован.
  • Списки UID теперь хранятся на стороне сервера и никогда не отправляются клиентам.
  • Частные классы, загрузки, спавн и базы теперь поддерживаются на стороне сервера. Игрок отправляет только то, к чему у них есть доступ.
  • Добавлена поддержка dayz_onBack
  • Добавлена локализация для легкого перевода скрипта

Установка:

  1. Скачиваем архив GitHub.com
  2. Распаковываем в папку с миссией, чтобы получилось так - папка с игрой\mpmissions\ВашаМиссия\Spawn\ папка Functions и файлы dialogs, config, main и init.sqf
  3. В файле init.sqf (что у вас в папке с миссией) находим строку
execFSM "\z\addons\dayz_code\system\player_monitor.fsm";

и выше нее вставляем

call compile preprocessFileLineNumbers "spawn\init.sqf";
  1. Открываем файл description.ext и в самом низу вставляем
#include "spawn\dialogs.hpp"
  1. Теперь открываем серверную часть (распаковываем dayz_server.pbo). Переходим в папку compile и открываем файл server_playerSetup.sqf и в нем находим
PVCDZ_plr_Login2 = [_worldspace,_state,_randomKey];

и заменяем на это:

PVCDZ_plr_Login2 = [[0,respawn_west_original],_state,_randomKey,_worldspace,_randomSpot,([_randomSpot,_playerID] call spawn_config)];
  1. Далее в той же папке открываем файл server_playerDied.sqf и в нем находим:
_newObject setVariable ["bodyName",_playerName,true];

и сразу под ней добавляем

_newObject setVariable ["bodyUID",_playerID,true];
  1. Из архива копируем файл spawn_config.sqf в папку dayz_server\init\ (в нем можно настраивать випы, выдаваемую снарягу при появлении и т.д.)
  2. В самом низу файла dayz_server\init\server_functions.sqf вставляем это
#include "spawn_config.sqf"

P.S. Возможно потребуется выключение переменной "dayz_spawnselection = 0" в init.sqf в папке с миссией.

  1. Добавьте необходимые исключения для BattlEye\scripts.txt. Они прописаны в файле SCRIPTS EXAMPLE.txt.

 

UPD:

26.04.19 - Обновлен код в 5 шаге

Статья взята с сайта: epochmod.com

Понравилась статья? Поставь +

  • Лайк 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
S-Platoon.ru
Свободное место

server_playerSetup.sqf я у себя найти не могу

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 часов назад, dyuskinvas сказал:

server_playerSetup.sqf я у себя найти не могу

Привет, смотри, этот файл находится в пакете dayz_server.pbo, находится этот пакет по пути @DayZ_Epoch_Server\addons. dayz_server.pbo открывается программой PBO Manager. Файл server_playerSetup.sqf находится в папке compile.

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 У меня vds не на железе ну я разобрался спасибо тебе за гайд лайкккк)

 

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 часов назад, dyuskinvas сказал:

 У меня vds не на железе ну я разобрался спасибо тебе за гайд лайкккк)

Ааа, понятно) Да не за что)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

После смерти не получается отключить выбор пола персонажа. Это можно реализовать этой системой спавна?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, Lupercal сказал:

После смерти не получается отключить выбор пола персонажа. Это можно реализовать этой системой спавна?

Привет, идешь по пути @DayZ_Epoch\addons и с помощью PBO Manager извлекаешь все файлы из dayz_code.pbo. Далее идешь по в папку system и открываешь файл player_monitor.fsm и ищешь код:

       "    if (dayz_selectGender == ""Survivor2_DZ"") then {" \n
       "        _rand = floor(random (count (DZE_defaultSkin select 0)));" \n
       "        _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 0) select _rand) >> ""playerModel""); //MALE" \n
       "    } else {" \n
       "        _rand = floor(random (count (DZE_defaultSkin select 1)));" \n
       "        _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 1) select _rand) >> ""playerModel""); //FEMALE" \n
       "    };" \n

И меняешь на:

       "        _rand = floor(random (count (DZE_defaultSkin select 0)));" \n
       "        _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 0) select _rand) >> ""playerModel""); //MALE" \n

Ищешь код:

                /*%FSM</STATE>*/
                /*%FSM<STATE "Gender_Selection">*/
                class Gender_Selection
                {
                        name = "Gender_Selection";
                        itemno = 58;
                        init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Gender_Selection'];};" \n
                         "endLoadingScreen;" \n
                         "freshSpawn = 2;" \n
                         "" \n
                         "_gender = createDialog 'RscDisplayGenderSelect';" \n
                         "" \n
                         "dayz_loadScreenMsg = localize 'STR_UI_GENDER_TITLE';" \n
                         "_timeNem=diag_tickTime;" \n
                         "_model = 'Survivor2_DZ';" \n
                         "dayz_preloadFinished=nil;//do not remove this"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "Reopen__Gender_2">*/
                                class Reopen__Gender_2
                                {
                                        itemno = 93;
                                        priority = 0.000000;
                                        to="Gender_Selection";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"!_gender"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/"closeDialog 0;"/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                                /*%FSM<LINK "Gender_Opened_22">*/
                                class Gender_Opened_22
                                {
                                        itemno = 89;
                                        priority = 0.000000;
                                        to="Waiting_for_Gender";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"_gender"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };

И удаляешь его полностью.

Далее ищешь код:

init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Character_Type_6'];};" \n
                         "" \n
                         "_model = dayz_selectGender;"/*%FSM</STATEINIT""">*/;

И заменяешь на:

init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Character_Type_6'];};" \n
                         "" \n
                         "_model = ""Survivor2_DZ"";"/*%FSM</STATEINIT""">*/;

Все! После этого у тебя будет только мужской пол автоматически выбираться)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все сделал по инструкции. Не помогло. Первый код который нужно заменить отличается. player_monitor.fsm нужно делать кастомным?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Lupercal сказал:

Все сделал по инструкции. Не помогло. Первый код который нужно заменить отличается. player_monitor.fsm нужно делать кастомным?

Необязательно. У тебя я так понимаю все равно остался выбор между мужским и женским полом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

18 часов назад, ZizionarD сказал:

Необязательно. У тебя я так понимаю все равно остался выбор между мужским и женским полом?

Выбор остался. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Lupercal сказал:

Выбор остался. 

Знаешь как можешь попробовать, попробуй сделать его кастомным, вынеси player_monitor.fsm в папку миссии и в init.sqf пропиши путь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если же нет, то попробуй мой файл подключить

player_monitor.fsm

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 03.04.2019 в 00:41, ZizionarD сказал:

Если же нет, то попробуй мой файл подключить

player_monitor.fsm

Извиняюсь за столь долгое отсутствие! 
Пробовал твой файл посетить в стем и сделать кастомным. Результат отрицательный! Выбор так же присутствует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, Lupercal сказал:

Извиняюсь за столь долгое отсутствие! 
Пробовал твой файл посетить в стем и сделать кастомным. Результат отрицательный! Выбор так же присутствует.

Задам конечно глупый вопрос, ты в init.sqf путь до player_monitor.fsm менял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

20 часов назад, ZizionarD сказал:

Задам конечно глупый вопрос, ты в init.sqf путь до player_monitor.fsm менял?

Именно в нем.
Строчку 

execFSM "\z\addons\dayz_code\system\player_monitor.fsm"; поменял на

execFSM  "fixes\Base\player_monitor.fsm";

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 часа назад, Lupercal сказал:

Именно в нем.
Строчку 

execFSM "\z\addons\dayz_code\system\player_monitor.fsm"; поменял на

execFSM  "fixes\Base\player_monitor.fsm";

Тогда буду думать что еще можно сделать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все изображения и файлы загружайте только на наш сайт! Для этого используйте кнопку выберите файлы..., расположенную ниже или просто перетащите необходимые файлы/изображения со своего компьютера в окно редактора.

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...