Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
MarokoLiberti

(Call Car) Вызов вашего автомобиля v0.1

Recommended Posts

Данный скрипт призывает машину к вашему местунахождению через ключ.
Машина поедет к вам, если в ней будет бензин, и она будет в состоянии ездить

F7 переключает режим CAM ( F8 переключает NV в режиме CAM) во время поездки .
Малый отладки монитор показывает некоторую информацию ( расстояние , время, скорость , топливо, повреждения).
Автомобиль будет заблокирован во время езды и после прибытия.

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

Установка

1)Создайте файл в папке с миссией callcar.sgf и прописать в нем:

/////////////////////////////////////////////////////////////////////
//
// Script: Call Car v0.1 (12/2014)
// Created by: jahangir13 (jahangir@gmx.de)
// Calls the car belonging to the key this script was executed by
//
// Player needs the key of the car (right click option) and a watch in the inventory.
// Car needs enough fuel to be called (config value). For now only cars/motorcycles are allowed.
// When car is moving, press F7 to toggle Cam mode (F8 in Cam mode to toggle night vision).
// Car is locked during movement and after arrival.
//
/////////////////////////////////////////////////////////////////////

private [
"_scanRadius", "_debrisArray", "_minFuelLevel", "_wpSpeed", "_wpCombatMode", "_behaviour", "_targetRadius", "_debrisRemoveRadius", "_zedKillRadius", "_camHeight", "_driverModel",
"_loopLimiter", "_keyCode", "_inventoryItems", "_keyOwner", "_keyName", "_vehFoundInRange", "_vehTarget", "_ownerID", "_vehDisplayName", "_vehicle", "_minFuelLimit",
"_timeBegin", "_timeEnd", "_doLoop", "_count", "_startPos", "_destPos", "_vehGroup", "_vehDriver", "_wayPoint", "_camera", "_countZombies", "_countDebris","_i"
];

//###############################################################################################################################################
////////// Configuration Begin //////////
// Radius around player to scan for the car belonging to the key
_scanRadius = 25000;
// Debris array (all objects of classnames listed here are removed if car is too near)
_debrisArray = [
    "Fort_Barricade_EP1","LADAWreck","Rubbish1","Rubbish2","Rubbish3","Rubbish4","Rubbish5","Land_Misc_Rubble_EP1","UralWreck",
    "SKODAWreck","HMMWVWreck","datsun02Wreck","hiluxWreck","UAZWreck","datsun01Wreck","Land_Misc_Garb_Heap_EP1"
];
// Minimum fuel level the car needs to have (0.1 = 10%)
_minFuelLevel = 0.1;
// Waypoint speed (Possible values: "UNCHANGED","LIMITED","NORMAL","FULL")
_wpSpeed = "FULL";
// Waypoint combat mode ( https://community.bi...pointCombatMode )
_wpCombatMode = "GREEN";
// Driving behaviour of the vehicle group ( https://community.bi...ypointBehaviour )
_behaviour = "CARELESS";
// Target radius: if the car reaches this radius around the destination position, it is near enough and stops (destination zone)
_targetRadius = 20;
// Radius around the car in which debris/junk will be deleted (otherwise car stops or tries to get around somehow)
_debrisRemoveRadius = 10;
// Radius around the car in which Zombies will be killed (otherwise car stops or tries to get around somehow)
_zedKillRadius = 15;
// Height of the camera above target vehicle
_camHeight = 60;
// Classname/model of the driver
_driverModel = "USMC_Soldier_Medic";
// Inner loop limiter ( Execute the code in this if only each n-th execution of the loop (debug monitor update, looking for Zeds, check cam on/off))
_loopLimiter = 20;
////////// Configuration End //////////
//###############################################################################################################################################

// Keydown function
fnc_key = {
    private ["_keyCode"];
    _keyCode = _this select 0;
    //diag_log format ["keyCode: %1", _keyCode];
    // F7 pressed (Cam mode)
    if ( (_keyCode == 65) ) then {
        if ( showCam ) then {
            showCam = false;
        } else {
            showCam = true;
        };
    };
    // F8 pressed (NV mode)
    if ( (_keyCode == 66) ) then {
        if ( showNV ) then {
            showNV = false;
            camUseNVG false;
        } else {
            showNV = true;
            camUseNVG true;
        };
    };
};
//###############################################################################################################################################

// Exit if player has no watch in inventory
_inventoryItems = [player] call BIS_fnc_invString;
if ( !("ItemWatch" in _inventoryItems) ) exitWith {systemChat "JCC: You don't wear your watch. Calling not possible.";};

// Get key Owner, key name from ui_selectSlot.sqf
_keyOwner = _this select 0;
_keyName = _this select 1;

// Variable to remember if vehicle has been found in range
_vehFoundInRange = false;
// The target vehicle which belongs to the key
_vehTarget = objNull;

//---------------------------------------------------------------------------------------------------------    
// Compare with vehicles on map (allow only land vehicles)
{
    _ownerID = _x getVariable ["CharacterID", "0"];
    if ( _keyOwner == _ownerID ) exitWith {
        _vehFoundInRange = true;
        _vehTarget = _x;
    };
} count ( player nearEntities [["Car","Motorcycle"], _scanRadius] );
//---------------------------------------------------------------------------------------------------------    
    
// if vehicle has been found
if (_vehFoundInRange) then {
    _vehDisplayName = gettext (configFile >> "CfgVehicles" >> (typeof _vehTarget) >> "displayName");

    //Fuel check
    if ( (fuel _vehTarget) < _minFuelLimit) exitWith { systemChat "JCC: Not enough fuel for the ride. Exit."; };
    
    systemChat format["JCC: (%1) KITT, come here... I need you buddy.",_vehDisplayName];    
    
    // Variable init
    _timeBegin = 0;
    _timeEnd = 0;
    showCam = false;
    showNV = false;
    _doLoop = true;
    _count = 0;
    
    _destPos = player modelToWorld [0, 8, 0];
    
    // Start counter
    _timeBegin = time;
    
    // Create a unit group
    _vehGroup = createGroup WEST;
    _vehDriver = _vehGroup createUnit [_driverModel, _vehTarget, [], 0,"LIEUTENANT"];
    _vehDriver assignAsDriver _vehTarget;
    _vehDriver moveInDriver _vehTarget;
    _vehDriver setSkill 1;
    _vehGroup setBehaviour _behaviour;
    
    // Waypoint at destination where car should drive to
    _wayPoint = _vehGroup addwaypoint [_destPos, 0];
    _wayPoint setwaypointtype "MOVE";
    _wayPoint setWaypointSpeed _wpSpeed;
    _wayPoint setWaypointCombatMode _wpCombatMode;
    
    // Lock the vehicle
    _vehTarget setVehicleLock "LOCKED";
   
   // Add keydown Event Handler
    jccKeyDown = (findDisplay 46) displayAddEventHandler ["KeyDown","[_this select 1] call fnc_key; false;"];
    
    // Camera init
    cameraEffectEnableHUD true;
    showCinemaBorder true;
    _camera = "camera" camCreate [0,0,0];
    
    systemChat "JCC: Toggle CAM (F7) ... Toggle NV (F8)";
    
    // Loop until destination is reached, driver died or left car or car cannot move anymore
    for "_i" from 0 to 1 step 0 do {
        _count = _count + 1;
        _camera camSetTarget _vehTarget;
        _camera camSetRelPos [0, -20, _camHeight];
        _camera setVectorDirAndUp [[0,0.5,0.5],[0,-0.5,0.5]];

        _camera camCommitPrepared 0;
        _camera camCommit 0;
        
        // Do not execute the commands within the if condition too often (each _loopLimiter time only)
        if ( (_count mod _loopLimiter) == 0 ) then {
        
            if ( showCam ) then {
                _camera cameraeffect ["internal", "back"];
            } else {
                _camera cameraeffect ["terminate", "back"];
            };
            
            // Get rid of zombies
            _countZombies = _vehTarget nearEntities ["zZombie_Base", _zedKillRadius];
            if ( count _countZombies > 0 ) then {
                {
                    _x setDamage 1;             
                } count _countZombies;
            };
            
            // take the current time
            _timeEnd = time;
    
            // Show debug info
            hintSilent parseText format ["
            <t size='1.2' font='Bitstream' align='right' color='#5882FA'>JCC Autodrive Monitor</t><br/>
            <t size='1.0' font='Bitstream' align='left' color='#FFBF00'>Distance Target:</t><t size='1.0' font='Bitstream' align='right'>%1(m)</t><br/>
            <t size='1.0' font='Bitstream' align='left' color='#FFBF00'>Duration:</t><t size='1.0' font='Bitstream' align='right'>%4(s)</t><br/>
            <t size='1.0' font='Bitstream' align='left' color='#FFBF00'>Velocity:</t><t size='1.0' font='Bitstream' align='right'>%2(km/h)</t><br/>
            <t size='1.0' font='Bitstream' align='left' color='#FFBF00'>Fuel:</t><t size='1.0' font='Bitstream' align='right'>%5(%6)</t><br/>
            <t size='1.0' font='Bitstream' align='left' color='#FFBF00'>Damage:</t><t size='1.0' font='Bitstream' align='right'>%3(%7)</t><br/>",
            (round ( _vehTarget distance _destPos)),
            (round (speed _vehTarget)),
            (round(100*(damage _vehTarget))),
            (round( _timeEnd - _timeBegin)),
            (round(100*(fuel _vehTarget))),
            "%","%"
            ];

           // Leave the loop if condition is true
           if ( (_vehTarget distance _destPos < _targetRadius ) OR ( !canMove _vehTarget ) OR ( {alive _x} count crew _vehTarget == 0 ) OR !( alive _vehDriver) ) exitWith { _doLoop = false; };
        };
        
        // Get rid of debris/junk
        _countDebris = nearestObjects [(getPosATL _vehTarget), _debrisArray, _debrisRemoveRadius];
        if ( count _countDebris > 0 ) then {
            {
                deleteVehicle _x;
            } count _countDebris;
        };
        
        if ( !_doLoop ) exitWith { true };
            
        sleep 0.01;
    }; // end of loop
    
    sleep 1;
    
    // Destroy camera not needed anymore
    _camera cameraeffect ["terminate", "back"];
    camdestroy _camera;
    
    // Remove keydown Event Handler
    (findDisplay 46) displayRemoveEventHandler ["KeyDown", jccKeyDown];

    // Exit if driver is not alive (to send player right error message)
    if ( !(alive _vehDriver) ) exitWith {systemChat "JCC: Driver was killed. Exit.";};
    // Nobody there to drive anymore
    if ( {alive _x} count crew _vehTarget == 0 ) exitWith {systemChat "JCC: Nobody in the car anymore. Exit.";};
    
    sleep 1;
    
    // Get crew out and delete members
    {
        moveOut _x;
        deleteVehicle _x;
    } forEach (crew _vehTarget);
    
    // Delete crew that got out before arrival / delete vehicle group
    {deleteVehicle _x} forEach units _vehGroup;
    deleteGroup _vehGroup;
    
    // Lock the vehicle again
    _vehTarget setVehicleLock "LOCKED";
    
    // Exit if vehicle cannot move (to send player right error message)
    if ( !canMove _vehTarget ) exitWith {systemChat "JCC: Vehicle cannot move anymore. Exit.";};    
    
    // Success message if car arrived in the destination zone
    systemChat format ["JCC: %1 arrived. Damage: %2%5 Fuel: %3%6 Time: %4s", _vehDisplayName, (round(100*(damage _vehTarget))), (round(100*(fuel _vehTarget))),(round( _timeEnd - _timeBegin)),"%","%"];
    
    
// If vehicle has not been found in range
} else {
    systemChat format ["JCC: Car not found in range or key %1 does not belong to a car", _keyName];
 
};

2) В ui_selectSlot.sgf добавляем:

///// jahan - begin CallCar
        // key colors
        _colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
        if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _item)) in _colors) then {
            // characterID of the key (car character number)
            _keyOwner = getNumber(configFile >> "CfgWeapons" >> _item >> "keyid");
            // key name (like: e3f2)
            _keyName = getText(configFile >> "CfgWeapons" >> _item >> "displayName");
            
            //Menu entry Key CallCar
            _control =  _parent displayCtrl (1600 + _numActions);
            _control ctrlShow true;
            _height = _height + (0.025 * safezoneH);
            // this needs to point the place where the script is in your mission (CallCar.sqf)
            _script =  "custom\jtools\CallCar.sqf";
            _exescript = format["_id = ['%2','%3'] execVM '%1';closeDialog 0;",_script,_keyOwner,_keyName];
            uiNamespace setVariable ['uiControl', _control];
            // sets the text in the right button menu
            _control ctrlSetText "Kitt, come here!";
            _control ctrlSetTextColor [0.3,0.4,1,1];
            _control ctrlSetTooltip "Call your car";
            _control ctrlSetTooltipColorBox [0.3,0.4,1,1];
            _control ctrlSetTooltipColorShade [0, 0, 0, 1];
            _control ctrlSetTooltipColorText [0.3,0.4,1,1];
            _control ctrlSetEventHandler ["ButtonClick",_exescript];
            _numActions = _numActions + 1; // if there are other item action after that (other mods) add 1 to _numactions
        };
///// jahan - end CallCar 

3)Battleye:

Подредактируйте эти 3 файла: waypointstatement.txt,  remoteexec.txt, waypointcondition.txt
!="true" !=""
 
-----
 
E.g.: waypointcondition.txt
//new
5 "" !="true" !=""
 
-----
 
Check the line number which is responsible for the kick in waypointstatements.log.
Оригинал:http://epochmod.com/forum/index.php?/topic/29713-release-call-your-car-v01/

ВидеоОбзор:

 

 

Share this post


Link to post
Share on other sites







Глупо! это уже не DayZ а трансформаторы вы что с игрой хотите сделать???

Share this post


Link to post
Share on other sites

Глупо! это уже не DayZ а трансформаторы вы что с игрой хотите сделать???

Что хотели уже сделали :)

Это давно уже не DayZ.

Share this post


Link to post
Share on other sites

Что хотели уже сделали :)

Это давно уже не DayZ.

за всех говорить не буду, но я за то чтобы приблизить игру к реальности, а всякие моды типа вызов транспорта, нитро и т.п. ГЛУПОСТЬ!!!

Share this post


Link to post
Share on other sites

 

Что хотели уже сделали :) Это давно уже не DayZ.

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

Share this post


Link to post
Share on other sites

Надо сделать, чтобы зомби от игрока убегали, вот такого скрипта еще нет  и тогда дейзи совсем превратится в аркадный шутер)

Share this post


Link to post
Share on other sites

Надо сделать, чтобы зомби от игрока убегали, вот такого скрипта еще нет  и тогда дейзи совсем превратится в аркадный шутер)

И боты чтоб оружие бросали, руки за голову и падали на землю )))

Share this post


Link to post
Share on other sites

"Надо сделать, чтобы зомби от игрока убегали"  .....- а боты их отлавливали и заставляли строить здания , охраняя периметр чтоб они не сбежали, а ботов надо добавить торговцам (поставить продавца душ например), а игроку останется покупать им оружие, патроны. абгрейдить ии.....(... мат )

 Я только по тому и сделал свой серв, что играть то негде стало , одни плюшевые серваки остались.

Share this post


Link to post
Share on other sites

Больше гайдов, делать вообще небуду, ну их на*уй, за**али то это не нравится, то то(

Эй, друже тихо. Ты просто сделал гайд :)

Судим мы автора скрипта, ибо реально скриптописцы бред делают... Раньше скрипты нормальные были, делающие реально нужные вещи (Стройка, снег, кастом лут, апгрейд оружия, настройка зомби)

 

Вот это реально полезно для DayZ.

 

Но блин, нитро, крафт вертолета из малозначемой херни, Щит от зомби (Ладно для приваток, но для игрока).

 

Это уже не DayZ, а хрень какая-то.

 

Ну сам посуди, не смешно ли...

Share this post


Link to post
Share on other sites

Эй, друже тихо. Ты просто сделал гайд :)

Судим мы автора скрипта, ибо реально скриптописцы бред делают... Раньше скрипты нормальные были, делающие реально нужные вещи (Стройка, снег, кастом лут, апгрейд оружия, настройка зомби)

 

Вот это реально полезно для DayZ.

 

Но блин, нитро, крафт вертолета из малозначемой херни, Щит от зомби (Ладно для приваток, но для игрока).

 

Это уже не DayZ, а хрень какая-то.

 

Ну сам посуди, не смешно ли...

Если так судить, то тогда нам всем тут делать нечего, потому что уже сама Эпоха принесла полное разрушение в Дейз. Так что смиритесь с этим или удалите на... игру. Кто хочет тот добавляет себе всякие скрипты а кто не хочет тот не добавляет. Так что можно спокойно добавлять все что угодно, потому что это ЭПОХА а не Дейз.

Share this post


Link to post
Share on other sites

Если так судить, то тогда нам всем тут делать нечего, потому что уже сама Эпоха принесла полное разрушение в Дейз. Так что смиритесь с этим или удалите на... игру. Кто хочет тот добавляет себе всякие скрипты а кто не хочет тот не добавляет. Так что можно спокойно добавлять все что угодно, потому что это ЭПОХА а не Дейз.

Факт следующий.

 

Название используется даже тут на форуме. DayZ Epoch. DayZ это основа, а эпоха дополнение, которое в ранее время было реально хорошим. Идентичные скрипты можно сделать и на сам дейз легко. Вот если бы эпоха на Арма 3, то там да, Именно эпоха, а тут...

Share this post


Link to post
Share on other sites

Че вы накинулись на чувака, полезно не полезно, это не тема для обсуждения скриптов в целом и дейзи с эпохой, человек выложил, кому не нравится не заставляют же. У каждого есть выбор.

Share this post


Link to post
Share on other sites

Че вы накинулись на чувака, полезно не полезно, это не тема для обсуждения скриптов в целом и дейзи с эпохой, человек выложил, кому не нравится не заставляют же. У каждого есть выбор.

Повторюсь, накинулись не на автора гайда, а на скриптописца. Разные вещи :)

Share this post


Link to post
Share on other sites

Больше гайдов, делать вообще небуду, ну их на*уй, за**али то это не нравится, то то(

За гайд-то плюс тебе. Мы обсуждаем сам скрипт, не кипишуй.

Share this post


Link to post
Share on other sites

Надо замутить такое управление на бомбардировшик, и обозвать "поддержка с воздуха". Ну чтобы вообще вообще круто было. 

Share this post


Link to post
Share on other sites

Повторюсь, накинулись не на автора гайда, а на скриптописца. Разные вещи :)

может проще создать тему спецально для обсирания скриптописцев =) и ежи с ними )))

Share this post


Link to post
Share on other sites

Подскажите пожалуйста, куда и как прописывать callcar.sqf ?

Share this post


Link to post
Share on other sites

Я тоже не пойму как включить данные скрипты

Share this post


Link to post
Share on other sites

Не понимаю, у меня нет ui_selectSlot.sgf 

Где его взять ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By 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, с его помощью можно творить поистину интересные локации!
    • By Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
    • By CubeIn
      Здарова, уважаемые знатоки, вопрос.
      Мне скриптер скинул скрипт и сказал закинуть её в северную часть, но не указал куда именно. Подскажите пожалуйста, куда мне её деть? 
    • By CubeIn
      Здарова всем!
      У меня срочный вопрос опытным хозяинам серверостроения. Есть ли возможность настроить холод на карте Namalsk? А то слишком холодновато игрокам, а где это настраивать...
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.