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 Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. На сервере есть трейдер зоны и базы игроков. 
      Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
      На сервере используется TraderPlus.
       
      Есть такие решения у кого?
      За ранние благодарю.
    • By Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство. 
      Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
      Есть такие решения у кого?
      За ранние благодарю.
    • By BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • By CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • By 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
  • 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.