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

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

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

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

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

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

Описание:

Таксист на машине (AI). Когда игрок появляется в одной из трейд-зон, он может вызвать такси, которое появится за приделами трейда, подъедет к нему и будет ждать пока в неё (машину такси) не сядет игрок. Затем игрок может выбрать любое из предопределённых направлений движения машины. Как только игрок выбрал место, бот рассчитывает самый короткий путь до точки по дорогам. В любой момент времени игрок может остановить таксиста и выйти из машины. Так же! если игрок выйдет из такси не заплатив (50 едениц), водитель так же выйдет и попытается убить "зайца" при помощи пистолета. Так же в радиусе 200м от таксиста появляются ещё два бота, которые ему помогут.

 

 

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

  • Стоимость такси в 50 едениц
  • Водитель любит честных клиентов и отстреливает "зайцев"
  • Максимум 3 таксиста (один на главной трейд-зоне или где укажет Администратор)
  • 4 маршрута (точки маршрута можно поменять)
  • Сообщения от водителя игроку (можно изменить)
  • Множество функций для запрета игроку эксплуатировать такси
  • Изначально  место появления такси установлено для карты Altis

 

Видео-демонстрация:

 

 

 

 

Инструкция:
1) Качаем архив с GitHub (или тот что приложен ниже)  :smiling: NibbleGaming_Taxis-master.zip

2) Папку Taxis копируем в папку миссии

3) Компилируем .pbo из папки NibbleGaming_Taxis с тем же именем

4) Копируем NibbleGaming_Taxis.pbo в папку @epochhive\addons

5) В самый низ init.sqf добавляем это:

if(isDedicated)exitWith{};
cabcost = 50; //change this to change to cost of the cab
[] execVM "Taxis\player_cab.sqf";

6) В самый низ description.ext добавляем это:

class CfgNotifications
{
class cabtext
{
title = "Nibble Taxis";
iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
color[] = {0.8,0.8,0,1};
description = "%1";
duration = 5;
priority = 0;
};
};

7) В файл mission.sqm ниже закрывающей скобки (};) класса class Markers добавляем:

 

 

class Sensors {
items = 3;

class Item0
{
position[] = {13326.5,0.16426,14515.2}; //position of trader 1
name="trader1";
activationBy = "ANY";
repeating = 1;
interruptable = 1;
age = "UNKNOWN";
expCond = "(player distance trader1) < 40;";
expActiv= "[]execVM ""Taxis\init_cab1.sqf"";";
expDesactiv = "player removeAction addcab;";
class Effects{};

};
class Item1
{
position[] = {18451.9,0.00143814,14278.1}; //position of trader 2
name="trader2";
activationBy = "ANY";
repeating = 1;
interruptable = 1;
age = "UNKNOWN";
expCond = "(player distance trader2) < 40;";
expActiv= "[]execVM ""Taxis\init_cab2.sqf"";";
expDesactiv = "player removeAction addcab;";
class Effects{};
};
class Item2
{

position[] = {6192.46,0.00154114,16834}; //position of trader 3
name="trader3";
activationBy = "ANY";
repeating = 1;
interruptable = 1;
age = "UNKNOWN";
expCond = "(player distance trader3) < 40;";
expActiv= "[]execVM ""Taxis\init_cab3.sqf"";";
expDesactiv = "player removeAction addcab;";
class Effects{};
};
};

 

 

 

Infistar:
Убедитесь что в run.sqf все значения установлены как тут:

/* Notification check */ _UNC = false;
/* HandleDamage check */ _HDC = false; //perhaps not needed because it only applies to driver, which is serverside
/* Remove Hit Handler */ _REH = false; //perhaps not needed because it only applies to driver, which is serverside
/* Revert HandleDamage */ _RHD = false; //perhaps not needed because it only applies to driver, which is serverside
/* Remove Action Plrs */ _OAP = false;
/* Remove Action Objs */ _OAO = false;
/* Use Anti Teleport */ _UAT = false; //can probably be true, but if server lags the taxi jumps a bit, which can be mistaken for teleport
/* Check Local Markers */ _CLM = false;
_UVC = false;

 

Фильтры BattlEye:
1) Для scripts.txt:

7 "BIS_fnc_" !"call bis_fnc_showNotification"
7 removeAllActions !="RemoveAllActions _cab;" 
7 setMarker !"Local"
7 createMarker !"createmarkerlocal"
7 addEventHandler !"GetIn" !"GetOut"
7 deleteMarker !"deletemarkerlocal"

2) Для publicvariable.txt:

5 "" !="\"cab1\"" !="\"cab2\"" !="\"cab3\""

 

Оригинал:

http://epochmod.com/forum/index.php?/topic/32340-release-taxi-script-v02/

 

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


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



Установил все по гайду, ошибок при запуске сервера нету, такси приезжает после вызова, но как ему сказать куда ехать непонятно

Изменено пользователем TroyTech (история изменений)

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


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

Установил все по гайду, ошибок при запуске сервера нету, такси приезжает после вызова, но как ему сказать куда ехать непонятно

Колесико мышки крутишь и выбираешь город куда он тебя повезет

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


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

Колесико мышки крутишь и выбираешь город куда он тебя повезет

 

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

 

ps: Все разобрался с проблемой, теперь все работает как надо !!! Всем спс !!!

Изменено пользователем TroyTech (история изменений)

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


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

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

 

ps: Все разобрался с проблемой, теперь все работает как надо !!! Всем спс !!!

Ну так может скажешь что за проблема и как разобрался? Мб людям надо будет.

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


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

Ну так может скажешь что за проблема и как разобрался? Мб людям надо будет.

садишься и колесико крутишь, там выбор места куда ехать

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


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

садишься и колесико крутишь, там выбор места куда ехать

Да ладно, а яя и не догадывался  :huh1: 

Я думал у него там проблема нормальная, а не с тем что он колёсико покрутить не догадался.

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


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

Проблема как я понял была в том что я в init.sqf прописал в самый низ

              

 

if(isDedicated)exitWith{};
              cabcost = 50; //change this to change to cost of the cab
              [] execVM "Taxis\player_cab.sqf";
 

 

но у меня в init.sqf ещё подключены мисси SEM,  где уже есть       

 

 if(isDedicated)exitWith{};
и я просто сразу после этого в SEM миссии добавил
             cabcost = 50; //change this to change to cost of the cab
             [] execVM "Taxis\player_cab.sqf";
 

 

и все заработало

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


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

У меня вылетали эксепшены.

 

добавляем

в setvariable.txt

 

!"gotin" !"gotout" !"cabdest" !"passengergotout" !"plyrpaid" !"askstopcab"
 

для publicvariable.txt

 

 

!"getcab" !"cab1" !"cab2" !"cab3"
 
Изменено пользователем IntelOut (история изменений)

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


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

Для Чернорусии есть вариант? Запутался в координатах :(

И как не кручу, не появляется на скролле надпись "Вызвать такси"

PS Пока пытаюсь в Козловке запустить

В логах только

 

    Line 292: 10:41:05 C:\SteamGames\steamapps\common\Arma 3 Server\@EpochHive\addons\nibblegaming_taxis.pbo - unknown
    Line 703: 10:41:19 "#NibbleGaming: Starting Nibblescripts"
    Line 708: 10:41:19 "#NibbleGaming Taxis: Published client variables"
    Line 709: 10:41:19 "#NibbleGaming Taxis: added Callcab variable eventhandler"

 

Изменено пользователем boRada (история изменений)

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


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

всё супер спасибо +++++

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


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

А как этот скрипт на AltisLife сервере прикрутить?

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Galatimus сказал:

А как этот скрипт на AltisLife сервере прикрутить?

1) Качаем архив с GitHub (или тот что приложен ниже)  :smiling: NibbleGaming_Taxis-master.zip

2) Папку Taxis копируем в папку миссии

3) Компилируем .pbo из папки NibbleGaming_Taxis с тем же именем

4) Копируем NibbleGaming_Taxis.pbo в папку @life_server\addons

5) В самый низ mpmission/ваша миссия/init.sqf добавляем это:

if(isDedicated)exitWith{}; cabcost = 50; //change this to change to cost of the cab [] execVM "Taxis\player_cab.sqf";

6) В самый низ mpmission/ваша миссия/description.ext добавляем это:

class CfgNotifications { class cabtext { title = "Nibble Taxis"; iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa"; color[] = {0.8,0.8,0,1}; description = "%1"; duration = 5; priority = 0; }; };

В файл mpmission/ваша миссия/mission.sqm ниже закрывающей скобки (};) класса class Markers добавляем:

 

class Sensors { items = 3; class Item0 { position[] = {13326.5,0.16426,14515.2}; //position of trader 1 name="trader1"; activationBy = "ANY"; repeating = 1; interruptable = 1; age = "UNKNOWN"; expCond = "(player distance trader1) < 40;"; expActiv= "[]execVM ""Taxis\init_cab1.sqf"";"; expDesactiv = "player removeAction addcab;"; class Effects{}; }; class Item1 { position[] = {18451.9,0.00143814,14278.1}; //position of trader 2 name="trader2"; activationBy = "ANY"; repeating = 1; interruptable = 1; age = "UNKNOWN"; expCond = "(player distance trader2) < 40;"; expActiv= "[]execVM ""Taxis\init_cab2.sqf"";"; expDesactiv = "player removeAction addcab;"; class Effects{}; }; class Item2 { position[] = {6192.46,0.00154114,16834}; //position of trader 3 name="trader3"; activationBy = "ANY"; repeating = 1; interruptable = 1; age = "UNKNOWN"; expCond = "(player distance trader3) < 40;"; expActiv= "[]execVM ""Taxis\init_cab3.sqf"";"; expDesactiv = "player removeAction addcab;"; class Effects{}; }; };

 

ну как бы так наверное....

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


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

не работает

Cannot open file '...@life_server\addons\nibblegaming_taxis'
23:58:43 Critical:Destroying running thread!

 

Сервер на LInux

Изменено пользователем Galatimus (история изменений)

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • Автор: 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: MrMiBl
      Всем привет! С наступающим!  
      Проблема такая: безсознанка очень долгая (от двух минут и больше от рандомной пульки...)
      Собственно вопрос: как её отключить либо сократить время?  
      покопавшись в файлах нашел такую тему: fn_unconscious.sqf
      // (c) facoptere@gmail.com, licensed to DayZMod for the community private ["_count","_anim","_weapon","_sprint","_stance","_transmove","_start","_timeout","_short","_sandLevel","_speed"]; if (r_player_unconsciousInProgress) exitWith {}; r_player_unconsciousInProgress = true; r_player_unconsciousInputDisabled = true; //this is like this in order to release the current user input disableUserInput true; disableUserInput true; disableUserInput false; disableUserInput false; disableUserInput true; disableUserInput true; _start = diag_tickTime; _timeout = abs r_player_timeout; _short = _timeout < 4; if (!_short) then { 4 cutRsc ["playerStatusWaiting", "PLAIN",1]; playSound "heartbeat_1"; }; _count = 0; // can be set to false by medEPI.sqf, during the 'while' loop r_player_unconscious = true; player setVariable ["NORRN_unconscious", r_player_unconscious, true]; _sandLevel = ctrlPosition ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400); //diag_log [(diag_tickTime - _start) < _timeout , !r_player_unconscious , alive player ]; dayz_autoRun = false; if (player == vehicle player) then { player playAction "CanNotMove"; }; "dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0; "colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0; if (dayz_soundMuted) then {call player_toggleSoundMute;}; // hide icon before fadeSound 0 fadeSound 0.05; while { (diag_tickTime - _start) < _timeout and r_player_unconscious and alive player } do { player setVariable ["unconsciousTime", _timeout - diag_tickTime + _start, (_count % 10) == 0]; if (!_short) then { _sandLevel set [ 3, 0.136829 * safezoneH * (diag_tickTime - _start) / _timeout ]; ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlSetPosition _sandLevel; ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlCommit 0.05; }; /*_veh = vehicle player; if ((player != _veh) and {(_veh iskindOf "LandVehicle")}) then { _speed = [0,0,0] distance velocity _veh; if (_speed > 10) then { _veh engineOn false; } else { player action ["eject", _veh]; player leaveVehicle _veh; [] spawn { uiSleep 0.1; player playMoveNow "amovppnemstpsnonwnondnon"; }; // instant prone }; }; if (player == _veh) then { player setVelocity [0,0,0]; }; */ uiSleep 0.1; _count = _count + 1; }; if (!_short) then{ 4 cutRsc ["default", "PLAIN",0]; }; r_player_unconscious = false; player setVariable ["NORRN_unconscious", r_player_unconscious, true]; r_player_timeout = 0; player setVariable ["unconsciousTime", r_player_timeout, true]; r_player_cardiac = false; player setVariable ["USEC_isCardiac",r_player_cardiac, true]; r_player_unconsciousInProgress = false; 4 cutRsc ["default", "PLAIN",1]; if (player == vehicle player) then { // "AinjPpneMstpSnonWnonDnon" rolls from back first (jarring transition if player was knocked out prone or fell to stomach) [nil, player, rSWITCHMOVE, "AmovPpneMstpSnonWnonDnon_healed"] call RE; player SWITCHMOVE "AmovPpneMstpSnonWnonDnon_healed"; PVDZ_plr_SwitchMove = [player,"AmovPpneMstpSnonWnonDnon_healed"]; publicVariableServer "PVDZ_plr_SwitchMove"; //Needed to execute switchMove on server machine. rSwitchMove only executes on other clients player playMoveNow "AmovPpneMstpSnonWnonDnon_healed"; }; 10 fadeSound 1; "dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; "colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; if ({getNumber (configFile >> "CfgWeapons" >> _x >> "type") in [1,2]} count (weapons player) > 0) then { //Prevent firing while weapon is still shown on back or holstered. AmovPpneMstpSnonWnonDnon_healed has disableWeapons=0 in config (should be 1) waitUntil {uiSleep 1; !(animationState player in ["ainjppnemstpsnonwnondnon_rolltofront","amovppnemstpsnonwnondnon_healed","amovppnemstpsnonwnondnon"])}; }; //once more to be safe disableUserInput false; disableUserInput false; disableUserInput true; disableUserInput true; disableUserInput false; disableUserInput false; r_player_unconsciousInputDisabled = false; //diag_log [ __FILE__, diag_tickTime, "done" ]; Копать тут или где-то в другом месте?
    • Автор: 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, с его помощью можно творить поистину интересные локации!
  • Наш выбор

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

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

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