Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
DrTauren

[DayZ Group Management (DZGM)] - Управление группами игроков

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

attachicon.gifseiezb.jpg

 

Собственно всем известный и отлично работающий скрипт по создания групп игроков. Попросил перевести пользователь форума, так что получайте   :tounge1:

P.S. В приватном разделе выложена локализация для данного скрипта (перевод всех файлов)

 

Особенности и описание:

  • Это портированная версия с Wasteland мода
  • Стабильно работает на Epoch 1.0.5.1, DayZ 1.8.4.1 и Overwatch 0.2.5​
  • Члены группы видят ники и иконки друг-друга на расстоянии до 2.5 км
  • Ники можно скрыть при помощи кнопки left-win
  • Члены группы могут использовать чат группы (ранее был бесполезен). Причём работают как письменные, так и голосовые сообщения
  • Только лидер может приглашать в группу, кикать из неё и распускать саму группу
  • Игрок, которого приглашают, не должен быть в другой группе
  • Группа сохраняется в профиль игрока. Вы остаётесь в группе даже после рестарта\смены скина\смерти

Прежде всего качаем архив  :wink1: attachicon.gifDZGM-master.zip

 

Инструкция:

1) Открываем ваш init.sqf и находим эту строку:

_playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";

и добавляем этот код ниже:

execVM "dzgm\init.sqf";

 

 

2) Если у вас нет кастомного compiles.sqf:

 

 

  1. В init.sqf находим:
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
  2. Добавляем этот код ниже:
    call compile preprocessFileLineNumbers "custom\compiles.sqf";
  3. В папке миссии создаём папку custom, в которой делаем файл compiles.sqf с таким содержимым:
    if (!isDedicated) then {
       player_switchModel = compile preprocessFileLineNumbers "custom\player_switchModel.sqf";
    };

 

 

 

 

3) Если у вас нет кастомного player_switchModel.sqf:

 

 

  1. Распаковываем файл dayz_code.pbo, который находится в папке @DayZ_Epoch\addons
  2. Копируем файл player_switchModel.sqf из \dayz_code\compile\ в папку custom, что мы сделали в папке миссии
  3. В файле compiles.sqf в директории  !isDedicated вставляем этот код:
    player_switchModel = compile preprocessFileLineNumbers "custom\player_switchModel.sqf";
  4. Если у вас уже есть такая линия, то замените её на новую (которую мы сделали). Иначе может появиться ошибка, не позволяющая нормально запустить сервер.

 

 

 

 

4) В файле player_switchModel.sqf находим эту строку:

 _oldUnit = player;

И ниже добавляем эту:

_oldGroup = group player;

 

 

5) Там же находим эту строку:

selectPlayer _newUnit;

И добавляем после неё:

if ((count units _oldGroup > 1) && {!isNil "PVDZE_plr_LoginRecord"}) then {
    [_newUnit] join _oldGroup;
    if (count units _group < 1) then {deleteGroup _group;};
};

 

 

6) Если у вас @DayZ 1.8.4.1 или @Overwatch (НЕ @Overpoch), то в коде выше это:

PVDZE_plr_LoginRecord

вам нужно заменить на это:

PVDZ_plr_LoginRecord

 

 

7) В самый конец этого же файла вставьте код:

_savedGroup = profileNamespace getVariable["savedGroup",[]];
player setVariable ["savedGroup",_savedGroup,true];
player setVariable ["purgeGroup",0,true];

 

 

8) Выбираем свой мод и следуем инструкции ↓

Для Epoch:

 

 

  1. Если у вас нет кастомного dayz_spaceInterrupt.sqf:

    А) В файл compiles.sqf в секцию !isDedicated добавить:

    dayz_spaceInterrupt = compile preprocessFileLineNumbers "custom\dayz_spaceInterrupt.sqf";
    Если у вас уже есть такая линия в файле, то замените её на нашу

    Б) Файл dayz_spaceInterrupt скопируйте из папки dayz_code\actions в папку custom, что в нашей папке миссии

     

     

  2. В конце файла dayz_spaceInterrupt найдите это кусок строки:
    _handled
    И прямо над ним добавьте этот код:
    if (_dikCode == 0xDB) then {
        if (tagName) then {tagName = false;titleText ["Group name tags OFF","PLAIN DOWN"];titleFadeOut 4;} else {tagName = true;titleText ["Group name tags ON","PLAIN DOWN"];titleFadeOut 4;};
        _handled = true;
    };
    
    if (_dikCode in actionKeys "TacticalView") then {_handled = true;};

 

 

Для DayZ 1.8.4.1:

 

 

Раскомментируйте первые три строки в файле dzgm\init.sqf, который лежит в архиве

 

 

Для Overwatch:

 

 

dayz_spaceInterrupt тут это просто функция в файле compiles.sqf. Так что просто скопируйте эту функцию в ваш кастомный compiles.sqf и выполните последнее указание из текста для Epoch под спойлером выше.

 

 

 

 

9) Если у вас нет кастомного ui_selectSlot.sqf:

 

 

  1. Копируем файл ui_selectSlot.sqf из dayz_code\compile в папку custom в вашей папке с миссией
  2. В файл ui_selectSlot.sqf добавьте этот код: (ниже цикла, но выше строки: _pos set [3,_height];. Примерно на 57 строке)
    _erc_cfgActions = (missionConfigFile >> "ExtraRc" >> _item);
       _erc_numActions = (count _erc_cfgActions);
       if (isClass _erc_cfgActions) then {
         for "_j" from 0 to (_erc_numActions - 1) do
         {
           _menu =  _parent displayCtrl (1600 + _j + _numActions);
           _menu ctrlShow true;
           _config =  (_erc_cfgActions select _j);
           _text =  getText (_config >> "text");
           _script =  getText (_config >> "script");
           _height = _height + (0.025 * safezoneH);
           uiNamespace setVariable ['uiControl', _control];
           _menu ctrlSetText _text;
           _menu ctrlSetEventHandler ["ButtonClick",_script];
         };
       };
  3. В файле compiles.sqf в секции !isDedicated добавить это:
    player_selectSlot = compile preprocessFileLineNumbers "custom\ui_selectSlot.sqf";
  4. Если вы уже имеете строку player_selectSlot, то замените её нашей
  5. В самый низ description.ext добавьте:
    #include "custom\extra_rc.hpp"
  6. В папке custom что в папке вашей миссии, сделайте файл extra_rc.hpp с таким содержимым:
    class ExtraRc {
      class ItemRadio {
         class GroupManagement {
            text = "Group Management";
            script = "execVM 'dzgm\loadGroupManagement.sqf'";
         };
       };
    };
    

     

  7. Если у вас уже есть класс ExtraRc, то вместо последнего пункта просто добавьте в него всё кроме первой и последней строки предыдущего кода, то есть это:
    class ItemRadio {
         class GroupManagement {
            text = "Group Management";
            script = "execVM 'dzgm\loadGroupManagement.sqf'";
         };
    };
    Если и класс  ItemRadio есть, то добавьте в него это код:
    class GroupManagement {
            text = "Group Management";
            script = "execVM 'dzgm\loadGroupManagement.sqf'";
         };
    

     

  8. Для DayZ 1.8.4.1:

    Если в вашем description.ext уже есть такая строка:

    #include "\z\addons\dayz_code\gui\description.hpp"
    То замените её содержимым этого файла (дословный перевод. Точно не понял что автор имел ввиду  :smiling:)

 

 

 

 

10) Если в вашем description.ext уже есть класс RscTitles, то:

 

 

  1. Выше этого самого класса добавьте этот код:
    #include "dzgm\defines.hpp"
  2. Внутри этого  самого класса добавьте это:
    #include "dzgm\icons.hpp"

 

 

Если у вас ещё нет RscTitles, то в самый низ description.ext добавьте:

#include "dzgm\defines.hpp"
class RscTitles
{
    #include "dzgm\icons.hpp"
};

 

 

11) Вниз вашего descripton.ext добавьте:

#include "dzgm\groupManagement.hpp"

 

 

12) Папку dzgm из архива, приложенного выше, копируем в папку вашей миссии

 

 

13) В самый низ файла dayz_server\init\server_functions.sqf добавляем этот код:

currentInvites = [];
publicVariable "currentInvites";
"currentInvites" addPublicVariableEventHandler {publicVariable "currentInvites";};

 

 

Для владельцев InfiSTAR:

  • В AHConfig.sqf в раздел ALLOWED_Dialogs добавьте: 55510. Выглядеть должно примерно так:
    _ALLOWED_Dialogs = [-1,106, ... ,55510];
  • В файле AH.sqf найдите и удалите эти операторы:

     

     

    playableUnits = [player]; (повторяется в файле два раза)

    lbsetpicture='no';

    lbSetData='no';

    createMarkerLocal='no';

    setMarkerTextLocal='no';

    setMarkerTypeLocal='no';

    setMarkerColorLocal='no';

     

  • Найдите и удалите эти строки в разделе FNCRestored check (_FRC)

     

     

    'lbsetpicture',

    'lbSetData',

    'createMarkerLocal',

    'setMarkerTextLocal',

    'setMarkerTypeLocal',

    'setMarkerColorLocal',

     

  • В этом же файле находим: admin_fnc_esp = {

    И выше добавляем это:

    #include "dzgmAdminESPicons.sqf"
  • Файл dzgmAdminESPicons.sqf из архива скопируйте в папку dayz_server\init

 

Фильтры:

В файле publicvariable.txt (находится в папке фильтров BattlEye) найдите первую линию, которая начинается с этого:

5 "" !...

или этого:

5 !...

и в конец этой строки добавьте:

!="currentInvites"

P.S. Фильтры последних версий античита InfiSTAR уже включают в себя это исправление

 

 

Вот, собственно, и всё  :smiling: 

Потратил на перевод и оформление этого гайда много времени, так что не откажусь от заслуженного плюса в репу  :embarrased:

Скрип хорош, держи +. Но есть проблема, никак не могу уменьшить расстояние, 2500 метров перебор и как бы сделать, что-бы после смерти он не работал, так как смысл рации почти пропадает. А ух можно убрать у ботов и добавить в продажу по неплохой цене.

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


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



Скрип хорош, держи +. Но есть проблема, никак не могу уменьшить расстояние, 2500 метров перебор и как бы сделать, что-бы после смерти он не работал, так как смысл рации почти пропадает. А ух можно убрать у ботов и добавить в продажу по неплохой цене.

Лови: http://s-platoon.ru/index.php?/topic/3006-upravlenie-gruppami-igrokov-dayz-group-management-dzgm/?p=26128

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


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

Спасибо. Но по расстоянию, вопрос все еще актуален.

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


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

Спасибо. Но по расстоянию, вопрос все еще актуален.

Ща  тогда схожу в ванну и гляну по поводу твоих 2500м потом   :wink:

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


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

Ты чот лажанул. @@JohnWayne, тебе всё верно говорит. А лично я вчера сразу как гайд выложил - проверил его и поставил по нему это дело на серв. Всё как часы работало  :wink1:

Тауренчег, скажи плз не выделывался ли у тебя инфистар? Именно ESP отображение.

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


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

Тауренчег, скажи плз не выделывался ли у тебя инфистар? Именно ESP отображение.

Не, всё ок вроде было. Правда у меня более старая версия стояла.

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


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

Классная штука. Правда вынес себе мозг пока поставил. Меня интересует следующее. На карте появились метки местоположения игрока и его трупа (видит только игрок), как можно это отключить?

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


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

что то у меня он слишком сильно контачил, запорол снаппинг и вектора, так что удалил и вместо него другой скрипт поставил на радио коммутацию

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


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

 

что то у меня он слишком сильно контачил, запорол снаппинг и вектора, так что удалил и вместо него другой скрипт поставил на радио коммутацию

Значит ручки кривые, этот скрипт никак не вредит всем остальным скриптам

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


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

Значит ручки кривые, этот скрипт никак не вредит всем остальным скриптам

не знаю, у меня он натворил делов, и в итоге не зароботал, так что снес я его

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


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

Готов  вознаградить за помощь по этому скрипту!

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


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

 

Готов вознаградить за помощь по этому скрипту!

Там установка минутная, какая ещё помощь...

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


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

Там установка минутная, какая ещё помощь...

Ну, это кому как...

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


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

Там установка минутная, какая ещё помощь...

Насчет установки все сложно тут,я очень долго мучился,первое это если уже что установлено на сервере типа иконок с ориджинса или ещё чего пишет ошибки что такой класс уже используется,и поэтому их надо совмещать в там где он уже используется,и второе я всё не мог понять почему не работало у меня,а дело было просто установлен скрипт простая сборка велика,есть здесь на сайте.вот пока его не отключил не пошло дело  :smile:

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


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

Насчет установки все сложно тут,я очень долго мучился,первое это если уже что установлено на сервере типа иконок с ориджинса или ещё чего пишет ошибки что такой класс уже используется,и поэтому их надо совмещать в там где он уже используется,и второе я всё не мог понять почему не работало у меня,а дело было просто установлен скрипт простая сборка велика,есть здесь на сайте.вот пока его не отключил не пошло дело  :smile:

Лучше установите EVD, для велосипеда, он в разы лучше, да и контачить не будет.

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


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

Лучше установите EVD, для велосипеда, он в разы лучше, да и контачить не будет.

так и сделал уже  :smile:

 

Готов  вознаградить за помощь по этому скрипту!

Если более опытные ребята не согласятся, готов попробовать помочь с установкой 

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


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

так и сделал уже  :smile:

 

Если более опытные ребята не согласятся, готов попробовать помочь с установкой 

уже установили)

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


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

Там установка минутная, какая ещё помощь...

Это смотря когда и на что ставишь!

 

Насчет установки все сложно тут,я очень долго мучился,первое это если уже что установлено на сервере типа иконок с ориджинса или ещё чего пишет ошибки что такой класс уже используется,и поэтому их надо совмещать в там где он уже используется,и второе я всё не мог понять почему не работало у меня,а дело было просто установлен скрипт простая сборка велика,есть здесь на сайте.вот пока его не отключил не пошло дело  :smile:

+1 копия моей проблемы!

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


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

 

+1 копия моей проблемы!

 
На сколько я знаю ты свою проблему решил, но вместо того чтобы рассказать человеку как именно, ты просто флудишь и набиваешь посты, оставляешь сообщения, которые смысла не несут и никому не помогают. Ещё раз увижу флуд - начну выдавать предупреждения.

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


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

После установки стали некорректно отображаться игроки на карте (ESP Admin InfiStar). Подскажите как исправить?

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


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

вы прописали файл adminesp выше скобок в AH .sqf ? и сам этот файл закинули в сервер? 

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


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

вы прописали файл adminesp выше скобок в AH .sqf ? и сам этот файл закинули в сервер? 

Сначала нет, но потом прописал и начало показывать кто лидер группы, остальные игроки безымянные бегают.

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


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

какие еще скрипты установлены на сервере? наверное с чем - то контачит,  либо что то сделали неправильно при установке

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


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

Сначала нет, но потом прописал и начало показывать кто лидер группы, остальные игроки безымянные бегают.

В процессе самой игры, нажми клавишу Windows

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


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

какие еще скрипты установлены на сервере? наверное с чем - то контачит,  либо что то сделали неправильно при установке

Перечислять очень долго, а устанавливал всё правильно, работает же.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • Автор: 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: 123new
      Много вопросов на данную тему наблюдаю от новичков, попробую прояснить немного сей вопрос.
       
      Предположим. что вы уже знаете на каких координатах вам надо спавнить определенное здание или объект\животное\бота, с каким углом поворота. И так. эта тема для вас.
       
      Сразу делаю пометку, метод, который добавили нам разработчики игры в патче 1.15, очень хорошо описал наш товарищ в сообщении форума:
      Рекоммендую вам использовать именно его!
      Ниже опубликованы старые методы.
       
      Если вы с расставили их с модифицированной версии Offline (Offline by Arksenor это называется), то вы получили и нашли код вида:
      GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13260.040039 0.0 3670.984131").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13262.756836 0.0 3645.180176").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13265.441406 0.0 3619.531982").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13268.124023 0.0 3593.995361").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13270.844727 0.0 3568.186523").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13273.514648 0.0 3542.561279").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13276.195313 0.0 3517.048828").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13278.399414 0.0 3496.097900").SetOrientation("-96.000000 0.000000 0.000000"); Здесь (по примеру первой строки) 1 значение в скобках - id постройки/объекта, 2 значение - координаты в формате X Y Z, разделенные пробелом, 3 - значение поворота примерно в том же формате.
      Как это делать в Offline - статья от автора Offine:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Add-custom-objects-to-your-server-or-mission
       
      И так, инструкция:
      1. Добавляем в начало init.c файла в вашей mpmissions следующий код:
      #include "$CurrentDir:mpmissions\dayzOffline.chernarusplus\spawn_buildings.c" 2. Создаем в папке вашей активной mpmissions файлик spawn_buildings.c и заполняем его следующей информацией.
      void SpawnObject( string type, vector position, vector orientation ) { private string NameBlockLog = "[CreateObject] "; private string InfoLog = ""; if(type != "") { auto obj = GetGame().CreateObject( type, "0 0 0" ); if(obj) { if ((position[0] != 0) && (position[1] != 0) && (position[2] != 0)) { obj.SetPosition( position ); obj.SetOrientation( orientation ); obj.Update(); if (obj.CanAffectPathgraph()) { obj.SetAffectPathgraph(true, false); GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj); } InfoLog = "[Type: '" + obj.GetType() + "' Position: '" + obj.GetPosition().ToString() + "' Orientation: '" + obj.GetOrientation().ToString() + "']"; Write_Log(NameBlockLog + " Object has been created successfully! Info " + InfoLog); } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed position. Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed type. Info " + InfoLog); } } void Write_Log(string message) { Print(String(message)); } 3. Открываем созданный нами файл,  и в конце файла дописываем следующее:
      void SpawnAirfeeldBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } void SpawnKrasnoBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } Где после void - название функции идет, а между открытыми скобками вызов спавна самих зданий на указанных координатах.
      На примере 1 строки:
      Land_CementWorks_ExpeditionB - id постройки (type)
      13251.875000 0.0 3748.525879 - координаты в формате X Y Z
      -96.000000 0.000000 0.000000 - значение поворота в формате X Y Z
      Внимание: id постройки и координаты в примере указаны не верные и требуют подключения дополнительной модификации для корректной работы!!! Координаты не соответствуют названию функции!!!
      4. открываем в MpMissions в папке с вашей активной миссией init.c и перед ЗАКРЫВАЮЩЕЙ скобкой '}' дописываем нужную нам функцию (это будет активация спавна на карте):
      SpawnAirfeeldBuildings(); 5. Готово, Запускайте сервер, и в scripts.log вы увидите процедуру спавна ваших зданий и увидите, спавнятся ли они на карте или нет.
      Можно написать конечно и более готовую, универсальную систему спавна на карте со считыванием конфигурации из файла, но я считаю это лишним.
       
      Как заполнить добавленные здания лутом на карте:
      вариант 1:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Enable-loot-for-custom-placed-objects
      вариант 2: вручную заполнить xml-файл  mapgrouppos.xml в mpmssions данными о местоположении зданий, где rpy - значение поворота здания в формате Z Y X
       
      С помощью данной статьи вы можете разместить любой элемент игры(постройку, животное, зомби, бота), доступный к спавну через любую модификацию-админ. панель. Очень полезный мод в этом смысле BuilderItems, с его помощью можно творить поистину интересные локации!
    • Автор: Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
  • Наш выбор

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

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.