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

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



Предоставляет дополнительные варианты спавна для 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

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


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


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";

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

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


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

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


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