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
  • 0
Sign in to follow this  
ripdok

custom spawn

До сегодняшнего дня было все нормально, но после внесения очредных изменений в файл кастомного спавна ботов wai появились "пенки" от сервера

 

22:47:15 Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression if(_skill == "hard")>
22:47:15 Error position: if(_skill == "hard")>
22:47:15 Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression if(_skill == "hard")>
22:47:15 Error position: if(_skill == "hard")>
22:47:15 Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:16 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:16 Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:16 Error Undefined variable in expression: _aicskill
22:47:16 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17 Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17 Error Undefined variable in expression: _aicskill
22:47:17 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17 Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17 Error Undefined variable in expression: _aicskill
22:47:17 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>

;>;>

 

как лечить? кучу вариантов уже перепробывал....

Edited by ripdok (see edit history)

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts




  • 0

 

22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <loadSpeed","commanding","general"];

if(debug_mode) then { diag_log "WAI: Paradr>
22:47:15   Error position: <debug_mode) then { diag_log "WAI: Paradr>
22:47:15   Error Undefined variable in expression: debug_mode
22:47:15 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 34
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <loadSpeed","commanding","general"];

if(debug_mode) then { diag_log "WAI: Paradr>
22:47:15   Error position: <debug_mode) then { diag_log "WAI: Paradr>
22:47:15   Error Undefined variable in expression: debug_mode
22:47:15 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 34
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:15 Error in expression <l == "medium")         exitWith { _aicskill = ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error position: <ai_skill_medium; };
if(_skill == "hard")>
22:47:15   Error Undefined variable in expression: ai_skill_medium
22:47:15 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 24
22:47:16 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:16   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:16   Error Undefined variable in expression: _aicskill
22:47:16 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error Undefined variable in expression: _aicskill
22:47:17 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error Undefined variable in expression: _aicskill
22:47:17 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error Undefined variable in expression: _aicskill
22:47:17 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error Undefined variable in expression: _aicskill
22:47:17 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:17 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:17   Error Undefined variable in expression: _aicskill
22:47:17 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86
22:47:18 Error in expression < [(_x select 0),(_x select 1)];
} count _aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error position: <_aicskill;

ai_vehicle_units = (ai_vehic>
22:47:18   Error Undefined variable in expression: _aicskill
22:47:18 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 86

 

 

файл

 

if(isServer) then {
   
    [[14255.0,17025.0,0],[14255.0,17025.0,0],50,2,"Pickup_PK_TK_GUE_EP1_DZE","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[14270.0,17025.0,0],[14270.0,17025.0,0],50,2,"UAZ_MG_TK_EP1","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;

    [[10110.0,7570.0,0],[10110.0,7570.0,0],50,2,"HMMWV_Armored","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;

    [[4975.0,4440.0,0],[5200.0,4450.0,0],50,2,"Pickup_PK_TK_GUE_EP1_DZE","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[5100.0,4550.0,0],[5200.0,4550.0,0],50,2,"Pickup_PK_TK_GUE_EP1_DZE","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;

    [[18206.0,2583.0,0],[18206.0,2583.0,0],50,2,"Pickup_PK_GUE_DZE","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;

    [[18206.0,2583.0,0],[18206.0,2583.0,0],50,2,"UAZ_MG_TK_EP1","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;

    [
        [14270.0, 16880.0, 0],
        [11270.0, 16380.0, 0],
        200,
        "Mi17_DZ",
        6,
        "Medium",
        1,
        2,
        "DZ_Patrol_Pack_EP1",
        "Soldier1_DZ",
        0,
        "Hero",
        True
    ] spawn heli_para;

    [
        [10165.0,7430.0,0],
        [6165.0,3430.0,0],
        100,
        "UH1H_DZ",
        6,
        "Medium",
        1,
        2,
        "DZ_Patrol_Pack_EP1",
        "Bandit2_DZ",
        0,
        "Bandit",
        True
    ] spawn heli_para;

 


    [[3100.0,13520.0,87.0],[3100.0,13520.0,87.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[7480.0,17380.0,35.0],[7480.0,17380.0,35.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[14250.0,14950.0,12.0],[14250.0,14950.0,12.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[17660.0,13160.0,82.0],[17660.0,13160.0,82.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[17170.0,6340.0,46.0],[17170.0,6340.0,46.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[2100.0,5220.0,92.0],[2100.0,5220.0,92.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[14720.0,19400.0,92.0],[14720.0,19400.0,92.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;
    [[12900.0,2450.0,76.0],[12900.0,2450.0,76.0],3000,2,"RHIB","Medium","GUE_Soldier_2_DZ","Bandit"] spawn vehicle_patrol;

 

 

Раньше все было тоже самое и без проблем, попытался добавить кастом пулеметы - полетели ошибки, закомментил блок пулеметов, а спавн все равно не идет - ошибки....

Пробывал по разному строить скрипт, но толку нет...

Почему перестало идти чтение готового конфига в ....\vehicle_patrol.sqf ?

Edited by ripdok (see edit history)

Share this post


Link to post
Share on other sites
  • 0

У вас стандартные переменные не объявляются. Что делали с WAI?

Share this post


Link to post
Share on other sites
  • 0

добавил миссии для героев методом копирования =)

 

wai_hero_missions            = [                                 // ["mission filename",% chance of picking this mission],Make sure the chances add up to 100,or it will not be accurate percentages
                                        ["helicopter_crash",8],
                                        ["armed_vehicle",6],
                                        ["bandit_base",2],
                                        ["captured_mv22",4],
                                        ["ikea_convoy",5],
                                        ["destroyed_ural",8],
                                        ["disabled_milchopper",6],
                                        ["mayors_mansion",3],
                                        ["angry_axeman's",6],
                                        ["bandit_firebase",4],
                                        ["stash_house",7],
                                        ["humvee_crash",8],
                                        ["armed_party",8],
                                        ["weapons_truck",6],
                                        ["c-130_crash",5],
                                        ["hillbillies",8],
                                        ["weapon_cache",6]
                                    ];
                                    
        wai_hero2_missions            = [                                 // ["mission filename",% chance of picking this mission],Make sure the chances add up to 100,or it will not be accurate percentages
                                        ["helicopter_crash",8],
                                        ["armed_vehicle",6],
                                        ["bandit_base",2],
                                        ["captured_mv22",4],
                                        ["ikea_convoy",5],
                                        ["destroyed_ural",8],
                                        ["disabled_milchopper",6],
                                        ["mayors_mansion",3],
                                        ["angry_axeman's",6],
                                        ["bandit_firebase",4],
                                        ["stash_house",7],
                                        ["humvee_crash",8],
                                        ["armed_party",8],
                                        ["weapons_truck",6],
                                        ["c-130_crash",5],
                                        ["hillbillies",8],
                                        ["weapon_cache",6]
                                    ];

    

 

    // Start mission monitor
    while {true} do
    {
        _cnt         = {alive _x} count playableUnits;
        _currTime     = floor(time);

        if (isNil "_h_missionTime") then { _h_missionTime = ((wai_mission_timer select 0) + random((wai_mission_timer select 1) - (wai_mission_timer select 0))); };
        if (isNil "_h2_missionTime") then { _h2_missionTime = ((wai_mission_timer select 0) + random((wai_mission_timer select 1) - (wai_mission_timer select 0))); };
        //if (isNil "_b_missionTime") then { _b_missionTime = ((wai_mission_timer select 0) + random((wai_mission_timer select 1) - (wai_mission_timer select 0))); };
        //if (isNil "_s_missionTime") then { _s_missionTime = ((wai_mission_timer select 0) + random((wai_mission_timer select 1) - (wai_mission_timer select 0))); };

        if((_currTime - _h_startTime >= _h_missionTime) && (!h_missionrunning)) then { _result = 1; };
        if((_currTime - _h2_startTime >= _h2_missionTime) && (!h2_missionrunning)) then { _result = 4; };
        //if((_currTime - _b_startTime >= _b_missionTime) && (!b_missionrunning)) then { _result = 2; };
        //if((_currTime - _s_startTime >= _s_missionTime) && (!s_missionrunning)) then { _result = 3; };

        if(h_missionrunning) then { _h_startTime = floor(time); };
        if(h2_missionrunning) then { _h2_startTime = floor(time); };
        //if(b_missionrunning) then { _b_startTime = floor(time); };
        //if(s_missionrunning) then { _s_startTime = floor(time); };

        if((_cnt >= wai_players_online) && (markerready) && ((diag_fps) >= wai_server_fps)) then {
            
            
            if (_result == 1) then {
                h_missionrunning     = true;
                _h_startTime         = floor(time);
                _h_missionTime        = nil;
                _result             = 0;

                _mission             = wai_hero_mission call BIS_fnc_selectRandom;
                execVM format ["\z\addons\dayz_server\WAI\missions\hero\%1.sqf",_mission];
            };
            
            if (_result == 4) then {
                h2_missionrunning     = true;
                _h2_startTime         = floor(time);
                _h2_missionTime        = nil;
                _result             = 0;

                _mission             = wai_hero2_mission call BIS_fnc_selectRandom;
                execVM format ["\z\addons\dayz_server\WAI\missions\hero2\%1.sqf",_mission];
            };

 

 

и добавил новые наподобие:

if(isServer) then {

    private            ["_complete","_crate","_mission","_position","_num_guns","_num_tools","_num_items","_rndnum","_crate_type"];

    _hint = parseText format["<t align=center' color='#f2cb0b' shadow='2' shadowColor='#000000' size='1.50'>Новая миссия!</t><br/><t align='center' color='#f2cb0b' shadow='2' shadowColor='#000000' size='1.00'>____________________________</t><br/><t align='center' color='#ffffff' size='1.25'>Замечена группа мясников-педофилов!</t&gt];
    customRemoteMessage = ['hint', _hint];
    publicVariable "customRemoteMessage";
    
    _position        = [30] call find_position;
    _mission        = [_position,"Medium","Angry Axeman's","MainHero",true] call mission_init;
    
    diag_log         format["WAI: [Mission:[Hero] Angry Axeman's]: Starting... %1",_position];

    //Setup the crate
    _crate_type     = crates_medium call BIS_fnc_selectRandom;
    _crate             = createVehicle [_crate_type,[(_position select 0) + 5,(_position select 1) + 5,0], [], 0, "CAN_COLLIDE"];

    //Base

    
    //Troops
    _rndnum     = 3 + round (random 2);

    [[_position select 0,_position select 1,0],_rndnum,"Hard","Random",2,"","Bandit","Random","Bandit",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],3,"Hard","Random",2,"","Bandit","Random","Bandit",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],3,"Hard","Random",2,"","Bandit","Random","Bandit",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],3,"Hard","Random",2,"","Bandit","Random","Bandit",_mission] call spawn_group;

    //Angry Axeman's
    [[_position select 0,_position select 1,0],3,"Hard","MeleeHatchet_DZE",0,"","Bandit","Random","Bandit",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],3,"Hard","MeleeHatchet_DZE",0,"","Bandit","Random","Bandit",_mission] call spawn_group;
    
    
    //Condition
    _complete = [
        [_mission,_crate],        // mission number and crate
        ["kill"],                    // ["crate"], or ["kill"], or ["assassinate", _unitGroup],
        [],                        // cleanup objects
        "Angry Axeman's party! Watch out before they catch you!",            // mission announcement
        "Finally! THEY died! Check the bodies for some supplies!",            // mission success
        "Survivors didn't kill the Axeman's party in time..."                // mission fail
    ] call mission_winorfail;

    if(_complete) then {
        [_crate,2,3,18,1,[1,crate_items_high_value]] call dynamic_crate;
    };

    diag_log format["WAI: [Mission:[Hero] Angry Axeman's]: Ended at %1",_position];
    
    h2_missionrunning = false;
};

 

 

Причем по началу (вчера) все работало, а сегодня добавил в кастомспавн спавн турелей

/*
    [[10304.0,7987.0,0],[10304.0,7987.0,0],"M2StaticMG","Medium","Bandit2_DZ","Bandit"] call spawn_static;
    
    [[6472.0,14535.0,0],[6472.0,14535.0,0],"M2StaticMG","Medium","Bandit2_DZ","Bandit"] call spawn_static;
    
    [[12754.0,14667.0,0],[12754.0,14667.0,0],"M2StaticMG","Medium","Bandit2_DZ","Bandit"] call spawn_static;
    
    [[14363.0,17041.0,0],[14363.0,17041.0,0],"M2StaticMG","Medium","Bandit2_DZ","Bandit"] call spawn_static;
*/

  

  и все раком встало и трындец хз что делать...... =)))

 

Мысли??

Edited by ripdok (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Перезалив wai в dayz_server не помогает. куда копать?

Share this post


Link to post
Share on other sites
  • 0

другой вопрос: что делать если стандартные переменные ботов не объявляются? что перезалить накрайняк?

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
Sign in to follow this  

  • Similar Content

    • By paranoyk
      ©(краткая ода как я выносил себе мозг с помощью лута)
      Настроить лут на сервере постарались сразу после релиза ибо многое "не там и не тут"....
      Первая фигура Марлезонского балета.
       
         Файлов которые отвечают за лут прямым и коственным образом,судя по всему мнго,но настройки которые нам доступны сосредоточены в папке mpmissions\dayzOffline.chernarusplus  и mpmissions\dayzOffline.chernarusplus\db
       
      cfglimitsdefinition.xml -файл в котором обозначены категории лута, тэги спавна, классы объектов для спавна и зоны спавна.(если я правельно понял,в информатике это называеться "заданием классов" или как то так). Даллее с чем я экспериментировал.
       
              <category name="......."/> Спавнящийся лут имеет (а может и не иметь) определенную категорию и только одну. Сюда можно вписать свою категорию и давать её предметам.(в файле тайпс)
         Тэги...  в ванили
              <tag name="floor"/>
              <tag name="shelves"/>
              <tag name="ground"/>
      Лут может иметь или не иметь, для более точного "определения" что и где должно спавнится. Можно вводить свои и потом в mapgroupproto.xml вставлять в нужном мест. Если нет-спавнятся везде, если для лута есть тэг, только в тех местах где тэг присутствует .("пол"," полка","земля"-всего лишь для удобства и понимания, можно назвать тэг хоть "мистер питкин", без кирилицы ебстестенно, вводится в другом файле о чём ниже)
         Классы объектов для спавна
              <usage name="......."/> Стационарные объекты имеют в своём обозначении один или несколько таких классов имён. Легко можно прописать свой и дать его категории стационарных объектов или объекту. (правда уникальных объектов на карте-раз,два и обчёлся). Опять таки используется в тайпс. Лут может иметь или нет. (насчёт нескольких-не проверял, но не советую).
      Прописав свой к примеру "MyBox"....и потом в mapgroupproto.xml у военных контейнеров убрав все классы и оставив только этот, в нём будут спавниться только те предметы которым вы в "тайпс" пропишите данную категорию. Так же есть на карте СЕ в виде пятен, минус в том что нанесены они небрежно, результат-спавн к примеру медпредметов в машинах и киосках больницы Черногорска. Любой объект попавший в ореол получит спавн только обозначенного ореола. (после патча 1.20 стало проблематично сразу ввести новый класс, мгновенно ломается вся экономика. Приходится несколько раз пробовать с разными именами)
         Зоны спавна
              <value name="....."/> Тиры и иже с ними. Глобальные зоны на карте для определения спавна. Лут может иметь несколько или ни одного. Будет спавнится только там, если не оговорено особые условия. см опис. тайпс) И как они нанесены на карту-опять таки СЕ редактор... (картинка устаревшая).

      Они могут накладыватся друг на друга. Так же их можно редактировать в редакторе СЕ.
       
      mapgrouppos.xml - Файл в котором определяться координаты точки "карты" лута для каждого обьекта.(мдя,чего я счас сморозил то)
      То есть указывает спавнеру "в этой точке будет спанится лут по "сетке" из файла mapgroupproto " и если там ЕСТЬ описание. Это не место спавна лута конкретно, а место спавна массива координат по которым спавнится лут. Проще всего это понять если у вас есть нормальный маппинг со спавном....и убрать маппинг-лут будет спавнится в старых местах и даже висеть в воздухе. (получить все точки для "спавна" можно с помощью команд в init )
      Пример:
          <group name="Land_Misc_FeedShack" pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" a="160.013718" />
       
      Land_Misc_FeedShack - название обьекта из файла mapgroupproto ,его ID...Можно написать хоть "Мой генимальный спавн". И спавнер если найдёт в mapgroupproto объект с таким названием-заспавнит лут по сетке. (вот ещё способ как модифицировать спавн лута).
      pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" - координаты центра "карты" лута для этого обьекта, совпадают с координатами обьекта
      формат записи X-Y-Z завал,наклон,поворот.
      a="........" Вектор поворота карты лута обьекта относительно самого обьекта.
      Как он определяется - экспериментально выяснил в принципе....(угол поворота объекта - 90)х(-1)...как то там ещё можно возиться переводить с +360, но я просто пишу полученное значение и всё работает.
      Да-да,именно тут прописывается что в вашей точке появляется лут и если он имеет прописанную сетку лута в mapgroupproto .(имееться ввиду в оффлайн редакторе поставив "француз"-тут вы пропишите в него лут,как прописать в он-лайн сам обьект-другая история под названием "возврат водяных колонок"). Сам объект НЕ НУЖЕН даже. Он всего лишь декорация карты и для спавна ка видите НЕ НУЖЕН.
       
      mapgroupproto.xml - Файл в котором прописана "карта" лута для объекта. Вначале идёт описание для "дефолта" ,то есть деревьев и растений,а также камней! (тут я не понял,но ...это нам и не нужно,яблоки падают и хорошо..)
      Пример:
              <group name="Land_Tisy_Barracks"> - название обьекта, ID ИЛИ придуманный вами обьект.
                      <usage name="Military" /> - класс имени обьекта,может быть не один. (а если вы ввели свои-писать именно сюда)
                      <container name="lootFloor" lootmax="8"> - имя "контейнера" и максимальное количество лута которое может там появиться.(количество лута может быть и не обозначено,но если есть-никогда не будет больше чем количество точек спавна что ниже. НЕ РАБОТАЕТ- можно даже не мучатся, есть подозрения что количество лута ни как не изменить именно этой переменной для обьекта. )
                              <category name="tools" /> - класс лута который будет спавниться в данном "контейнере" ,может быть не один.                      
                             <tag name="ground" /> - тэг лута который будет спавнится.(может быть несколько). Спавн лута с этим тэгом. Если у лута нет тэга-спавн ТОЖЕ.
                              <point pos="-2.429444 -3.799637 3.698242" range="1.199951" height="2.000000" flags="32" /> - точка спавна лута, расстояние по X-Y-Z от центральной точки "карты лута" (где она,можно выяснить только эксперементально для каждого обьекта или в редакторе или...с помощью мода).
      range="......." радиус спавна от заданной точки, то есть в этом "круге" будет спавниться лут.(не точно,если обьект имеет большие линейные размеры-не заспанится)
      height="........."-высота объекта спавна,как я понял....(не точно,если обьект имеет большие линейные размеры-не заспавнится)
      flags="32" -  указание что спавн лута будет на уровне земли игнорируя координаты по высоте. Грубо говоря к примеру если спавн вокруг елки рождественской -весь лут будет лежать на земле. Вокруг ёлки. Или округ "воображаемой точки", если надо.
      ниже всё тоже самое, но для своего "контейнера" данном здании.То есть обьект может иметь несколько контейнеров.
      </container> <container name="lootshelves" lootmax="8"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <tag name="shelves" /> <point pos="0.968751 -3.434326 7.507324" range="0.581250" height="0.532341" /> .................................................. </container> <container name="lootweapons" lootmax="8"> <category name="weapons" /> <category name="explosives" /> <point pos="3.985354 -3.434326 6.267576" range="0.478125" height="0.533684" /> ................................................... </container> </group>  
      cfgrandompresets.xml - Файл в котором мы найдём так называемые "грузы"-группы предметов спавнящихся в предметах,зомби и тому подобное....(судя по всему сделано для удобства)
              <cargo chance="0.35" name="foodVillage"> - шанс появления  и его название.
      Тут маленькое отступление. Поначалу я тоже думал что это какие то проценты, да так легче воспринимать. Но таки и немного не так. Просто опишу как спавнер "думает".
      "Обьект имеет спавна внутри, получаем псевдослучайное число от 0 до 1. Сравниваем. Псевдочисло больше-нет спавна, иначе-спавн есть". Будем привычно называть его "шанс" и обозначим его как проценты, но ещё раз это НЕ ПРОЦЕНТЫ в прямом смысле.
                      <item name="SodaCan_Cola" chance="0.11" /> - название (ID) предмета и его шанс выпадения
      .......................................................................
                      <item name="SpaghettiCan" chance="0.11" />
                      <item name="BakedBeansCan" chance="0.11" />
              </cargo>
       То есть "груз" foodVillage может выпасть в 35% случаев, если условее истинно,то может выпасть предмет из списка с вероятностью которая задана для предмета или ,если ни один предмет не прошёл-то опять таки ничего не выпадет. Выпадает только один предмет из списка, так и не выяснил,влияет ли очерёдность списка предметов или нет. То есть возможностей настройки тут-море,кто хорошо разбираеться в теорией вероятности поймёт данный раздел влёгкую.
      Дополненно. Судя по всему спавнер не перебирает все предметы,а выбирает "случайно" какой тоодин и проверяет его.
       
      Можно создавать свои собственные "миксы"....к примеру.
      </cargo> <cargo chance="1.0" name="mixOptics"> <item name="PUScopeOptic" chance="0.33" /> <item name="PSO1Optic" chance="0.33" /> <item name="HuntingOptic" chance="0.3" /> </cargo> То есть "микс" появиться стопроцентно в объекте из него может выпасть....с вероятностью 33% ...перечисленные вещи.
      Важно помнить,что если размер "контейнера" маленький (к примеру мишка),то в нём ни как не заспавниться ПСО-1. Размер имеет значение.
       
      cfgspawnabletypes.xml - Список тех вещей, "контейнеры" в которых спавняться наборы из прошлого файла.
      Так же можно прописать спавн в контейнер отдельной вещи.
      И самое важное!
      Именно тут можно указать степень износа заспавненых вещей по отдельности, если степень износа не указана-вещь будет иметь износ зданный в файле globals.xml, это строчки:
      "LootDamageMax" и "LootDamageMin" .
      Но это не относится что спавнится в них, то есть наборы грузов, аттачменты и сами грузы в контейнере всегда будут "идеальны".....(но контейнером может стать и обычная вещь!)
      Тут же прописывается аттачменты если они есть и вы хотите заспавнитьвещь с прикреплёным аттачем.
          <type name="ammobox"> - название (ID) вещи-контейнера.
          <damage min="0.0" max="0.0" /> - этой строчки может и не быть, тогда износ будет взят из "глобалс". Означает что лут будет иметь при спавне не меньше едениц урона и не больше. То есть если выствите
      min=0.2 то лут всегда будет всегда иметь при спвне 20% урона. Не меньше, максимальный урон это max, поставите к примеру 0,9 то вещи даже заруиненые будут спавнится.
      Пороги когда вещь считается неповреждённой,а когда поношеной и тк.дл.-в другом файле и меняется уже сервер модом.
           <cargo preset="optics" /> -название набора который может появиться внутри с шансом( как было описано выше)....
      ........................................
              <cargo preset="ammoArmy" />
          </type>
      То есть можно прописать несколько наборов и если из каждого заспавниться вещь,то ограничение только "размер" контейнера и вещей.
      Так же тут есть наборы аттачей для зомби, о них ниже, собраны примерно также.
       
      Вторая фигура Марлезонского балета.
       
      <type name="ZmbM_PatrolNormal_Autumn"> <cargo preset="foodArmy" /> <cargo preset="ammoArmy" /> </type>   Вот вам и первый "ходячий" контейнер.....Увеличив к примеру в cfgrandompresets.xml шанс выпадения данных наборов-получите "доставщиков пиццы на дом".
      Но не в каждом зомби такой набор и опять таки,вы можете их менять,добавлять,убирать....
      А так же для зомби тут прописано что них может быть одето в виде аттачей. Не все зомби такое могут,смотреть нужно по ванильным файлам.
      Пример:
      <type name="ZmbM_HunterOld_Winter">-наш подопытный <cargo preset="foodHermit" />-набор лута в зомби <cargo preset="toolsHermit" />-набор лута в зомби <attachments preset="glassesVillage" />-какой набор может прирепится на местоаттача (очки в данном случае) <attachments preset="hatsFarm" />-какой набор может прирепится на местоаттача (кепка в данном случае) <attachments preset="bagsHunter" />-какой набор может прирепится на местоаттача (рюкзак в данном случае) <attachments preset="vestsHunter" />-какой набор может прирепится на местоаттача (разгрузка\броник в данном случае) </type> (очки ни когда не прописывайте-не работают)
       
         А дальше-оружие...(так,дышите глубже)
       
          <type name="CZ61"> - ID оружия
              <attachments chance="0.10"> -Шанс что на нём будет прикреплён аттачмент 10%
                  <item name="AK_Suppressor" chance="1.00" /> - шанс появления самого аттачмента 100%
      (не факт что так и надо,просто так проще высчитыывать процент появления аттачементов на оружии)
              </attachments>
              <attachments chance="0.30"> -то же самое и для другого аттачмента,обратите внимание,что мы не смешиваем в одну кучу "глушители и магазины"...
                  <item name="Mag_CZ61_20Rnd" chance="1.00" />
              </attachments>
          </type>
      А если хочется "АКМ" что бы мог спавниться в полном обвесе?
      А легко...
      <type name="AKM"> <damage min="0.0" max="0.5" /> <attachments chance="1.00"> <item name="AK_WoodBttstck" chance="0.80" /> <item name="AK_PlasticBttstck" chance="0.30" /> <item name="AK_FoldingBttstck" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="AK_WoodHndgrd" chance="0.80" /> <item name="AK_PlasticHndgrd" chance="0.30" /> <item name="AK_RailHndgrd" chance="0.10" /> </attachments> <attachments chance="0.30"> <item name="Mag_AKM_30Rnd" chance="1.00" /> </attachments> <attachments chance="0.30"> <item name="AK_Suppressor" chance="0.50" /> </attachments> Видим что он может появляться с разными прикладами, цевьями, может с глушителем или без,с магазином или без....(хотите,можете и ПСО ему прописать).
       
      Как видитев в этом файле нет многих вещей, тут нет ни ИЖ18,ни МП133....и они,гады спавняться всегда как прописано в globals.....Стоит добавить
          <type name="Izh18">
               <damage min="0.0" max="0.2" />
          </type>
      .....и ИЖ18 будет спавниться с дамагом который вы установили!
      Думаете это всё?....Индейское жилище-фигвам!
      Машины!....
      <type name="OffroadHatchback"> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarRadiator" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarBattery" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_Driver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_CoDriver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackHood" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="HatchbackTrunk" chance="0.20" /> </attachments> </type> Это он так выглядит сейчас вроде...раньше было всё намного хуже...Машина стандартно спавнилась с ОДНИМ колесом.
      Можете изменить аттачментам шансы хоть до "1.00" что бы машина спавнилась сразу собранная.(залить в неё жидкости-знает Боррзик,описывал на форуме,ищите).
      Правда мы подло могЁм положить в машину.....бензин,масло...можно и ремкомплект.
       
              <attachments chance="1.00">
                  <item name="SparkPlug" chance="0.6" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
       
      (в этом же файле,ПОЗЖЕ,появились и рождественские наборы...но было уже поздно-бегемоты должны быть повешаны!)
      Дальше мы можем мелочь привесть к предметам,обычно это батарейка
      Но можно и "предмет в предмете"! Поле для извращений-огромно.
      Как пример:
       
      <type name="PersonalRadio"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> <type name="GPSReceiver"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> Файлы с названием по типу mapgroupcluster.xml -это тот же mapgrouppos для камней, грибов,яблок и прочего.
      Глыбжее,ширее,нижее. Преходим в папку db
       
      events.xml - файл в котором описаны "случайные"  события,такие как зомби,полицейская волга, хеликраш, адми...тоесть петух!, ну и прочие коровы и звери.
      Например
       
          <event name="AnimalCow"> -название ивента. Можно прописывать свои НО! Название ивента может начинатся ТОЛЬКО строго определенно.
      аnimal - события с животными.
      static - для спавна статичных ивентов типа Ми-8 или дома...
      item - Для различных игровых предметов,как пример в ванили - блок досток.
      Infected-зомби
      Trajectory - спавн грибов,ягод и прочих камней
       
      <nominal>10</nominal> - Колличество ивентов на карту единомоментно.То есть сразу. Именно ИВЕНТОВ. Десять машин, десять СТАЙ волков, десять ТОЧЕК спавна зомби....(может и меньше если невозможно заспавнить ивент из-за других условий, к примеру наличие игрока на спавне)

      <min>6</min> -  минимальное количество дочерних объектов указанных в <children> в ивенте
      <max>15</max> - максимальноеколичество дочерних объектов указанных в <children> в ивенте
      (обычно для стай волков и прочих живых организмов)
      Причем от 6 до 15 ВСЕХ вписанных <children>. А вот сколько конкретно каждого,это  уже в них настраивается

       <lifetime>180</lifetime> - "время жизни" события Именно СОБЫТИЯ. То есть заспавнаня ивентом машина-пока стоит на точке спавна-это СОБЫТИЕ,как только вы отехали-это уже лут и время её жизни будет считыватся с (не кночи будет помянут сей файл) тайпса.

       <restock>0</restock> - на сколько будет отложен спавн ивента до номинала, когда остальные условия для начала ивента выполнены.
      Думате если два хеликраша они исчезнут и заспавнятся одновременно? Ага,счасЗъ. Тут зависит от много,даже от взаимодействия с ними игрока.

      <saferadius>200</saferadius> - это расстояние от позиции игрока, на котором может возникнуть это событие.(поставте для интреса 50 для зомби:)))
       <distanceradius>0</distanceradius> - минимальное расстояние от другого события.(очень актульно для машин, решать вам)
      <cleanupradius>0</cleanupradius> - это расстояние от позиции игрока, на котором событие исчезнет после того, как время жизни закончится. (добвлено- для хеликрашей имхо лучше ставить ОЧЕНЬ большое,с хороший километр)
      <secondary>InfectedArmy</secondary> - это имя другого события, которое вы хотите вызвать одновременно с этим событием, например, чтобы вызвать зомби вокруг здания или предмета. Настраивается в дочернем событии.(можно создать свой, но смешать зомбей с волками-не получится, генетика не та)
      <flags deletable="0" init_random="0" remove_damaged="1" sec_spawner="0"/> -флаги настройки
      deletable 1/0 - ивент удалятеся согласно параметрам самого события или по истечению времени в тайпс (не точно)...ИМХО
      init_random 1/0 - ???
      remove_damaged 1/0 -  будет ли событие удаляться если достигла состояния "уничтожено" или останется лежать до истечения срока события.(актуально для машин...но ТОЛЬКО НА ТОЧКЕ СПАВНА!)
      sec_spawner="0" - сорри не знаю, а чего не знаю-не меняю.
      <position>fixed</position>
      <position>player</position> - позиция будет выбираться из зафиксированых в файле cfgeventspawns.xml или событие срабатывает "на игрока".

      <limit>.......</limit> - может быть следующии
      custom - относится к внешнему файлу, например, для территорий животных.
      child - событие будет обращатся к атрибутам min и max каждого дочернего элемента
      parent - lотносятся к минимальным и максимальным атрибутам самого события
      mixed -  будет учитыватся и дочерние и собсвенное min-max события
       
      <active>1/0</active> - включение и выключение события.(Вот она кнопка!)
       
       <children>
                  <child lootmax="0" lootmin="0" max="3" min="0" type="Animal_BosTaurusF_Brown"/>
      lootmax="0" lootmin="0" ....если предмет имеет сетку лута или контейнер -колличество лута при спавне (а теперь фокус, если в ивенте есть <secondary> с зомбями то их колличество будет равно.... мин + макс)
      max="3" min="0" ......минимальное и максимальное колличество дочерних обьектов. (к примеру-коров данного типа в стаде)
       
      types.xml-великий и ужасный.Содержит в себе данные о всём спавнещемся луте и контейнерах (хеликраши,машины,зомби-по сути-контейнеры).
      Всякий лут должен быть в этом файле иначе-нет его спавна на карте. Также и синтаксическая ошибка в этом файле приводит к исчезновению всего лута с карты.
      Если из него убрать что-то,(но этот предмет останеться лежать на земле до истечения срока)....и игрок его поднимет-краш.Так что файл требует трезвого ума и терпения.
       
          <type name="Canteen"> - Название ID предмета
              <nominal>30</nominal> -номинальное колличество спавна на карте к которому стремиться "спавнер".
              <lifetime>7200</lifetime> - время "лежания" предмета после спавна ( а также судя,по всему-время после падения на землю с игрока).в сек. (на параметр не влияет ускорение времени на сервере, но влияет параметр из скриптс-"колличество тактов в секунду")
              <restock>0</restock> - на сколько будет отложен спавн предмета до номинала, когда остальные условия для начала спавна выполнены. "задержка спавна".
              <min>20</min>- минимальное колличество предмета на карте после которого начинаеться работа спавнера.
              <quantmin>-1</quantmin> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
              <quantmax>-1</quantmax> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
             (теперь это значение работает и для оружия у котрого нет "сьёмного" магазина, типа СКС или 133 ружжа)
              <cost>100</cost> - приоритет спавна грубо говоря. чем меньше-тем ниже будет вещь в очереди.
              <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> -Флаги спавнера, они указывают в каких типах объектов считать nominal и min значения:
      count_in_cargo - считает все предметы в контейнерах, ящики, рюкзаки, включая автомобили
      count_in_hoarder - будет считаться в таких вещах как закопанные предметы, бочки, сундуки и всевозможные палатки
      count_in_map - объекты, размещенные на карте (здания)
      count_in_player - внутри инвентаря игроков, исключая руки (учёт для игроков онлайн, проверяется)
      crafted - указывает на то, что данный предмет может быть закрафчен игроками
      deloot - указывает что это объекты для спавна на динамических ивентах (событиях). (хеликрашыи, крушения поездов, дтп и прочее)
              <category name="food"/> -категория лута ,может быть ТОЛЬКО одна.
              <tag name="shelves"/> - тэги для настройки точек спавна
              <usage name="Military"/> - класс  лута может быть не один.
              <value name="Tier2"/>  - Зоны в каких будет спавниться лут
              <value name="Tier3"/>
              <value name="Tier4"/>
          </type>
      Если по простому,то "фляжка" будет спавниться в колличестве 30 штук постоянно в зонах 2-3-4 на военных обектах где возможно появление еды с использованием тэга shelves, то есть если в объекте совпадает в начале описания в mapgroupproto.xml,класс,категория,тэг -то предмет заспаниться в точке спавна,которые в этом же файле,для обьекта на карте из файла mapgrouppos.xml
      <type name="ACOGOptic"> <nominal>20</nominal> <lifetime>7200</lifetime> <restock>1800</restock> <min>15</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="weapons"/> <usage name="Military"/> </type> <type name="AgaricusMushroom"> <lifetime>900</lifetime> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> </type> как видите,есть даже грибы,которые спавняться динамически.
      И на закуску...
       
      (если вещевые или другие моды перезаписывают эти файлы,то следите за тем что бы они сливались в экстазе,а не выпихивали друг друга)
      По идее-ничего сложного,даже я разобрался.....почти.
       
      Третья фигура Марлезонского балета....
      Пара примеров....
      <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>40</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Это "квадратик" или....гхм!. Что видим?Лут из категории "инструменты",спавниться постоянно в местах с тэгом,по всей карте....А какой он категории?А ни какой,вот и спавниться,хоть на лодках на берегу,хоть на вышке.
      Добавляем категорию...
      <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>20</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <usage name="Medic"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Всё,теперь только на обьектах с классом "медик"-как и положено. (бегемоты должны быть повешаны!)....
      Обьект радиовышка,кто лазил на неё,тот помнит что на ней спавнился полецейский лут. Почему?
      А смотрим mapgroupproto.xml
      <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <usage name="Police" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="books" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> Лут категории "инструмент","контейнер"...."оружие" классов ...Да,"Полиция".....Удаляем нафинг полицию!
      <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> </group> Теперь в лучшем случае дробаш там будет.
       
      Ну,как то так....

      Запрещено копирование данной статьи без соглосование с Администрацией и автором на другие ресурсы. All Rights Reserved
    • By ZizionarD
      Описание:
      Данный скрипт добавляет HUD в левый нижний угол. В нем вы можете увидеть 5 или 4 предмета (в зависимости от конфигурации) с основным оружием, вашем вторичным оружием, обезболивающим и бинтом, так же используются горячих клавиш которые можно использовать чтобы активировать каждый предмет.
       
       
      Установка:
      На чистый сервер
      1. Скачать архив CUSTOMWEAPONHUD-MASTER.ZIP
      2. Разархивировать скаченный архив
      3. Папки dayz_code и rlnt, а так же файлы description.ext и init.sqf поместить в корень папки миссии
      4. Если у вас не стоит InfiStar, то шаг 4 и 5, если у вас стоит InfiStar, то в файле AHconfig.sqf добавить 7000,7001,7002,7003 в массиве "_ALLOWED_Dialogs"
      5. В файле AT.sqf найдите:
      if(_key == 0x05)then{call admin_fly_up;}; if(_key == 0x06)then{call admin_tpdirection;}; и замените их на:
      if(_key == 0x09)then{call admin_fly_up;}; if(_key == 0x0A)then{call admin_tpdirection;}; Найдите:
      adminadd = adminadd + [" 4 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 5 - TP LookingDirection","","0","1","0","0",[]]; и замените на:
      adminadd = adminadd + [" 8 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 9 - TP LookingDirection","","0","1","0","0",[]]; 6. Вот и все.
       
      На измененный сервер
      1. Скачать архив CUSTOMWEAPONHUD-MASTER.ZIP
      2. Разархивировать скаченный архив
      3. В корне миссии открыть файл init.sqf и найти:
      DZE_selfTransfuse_Values = [12000,15,120]; после этой строки добавить:
      DZE_TwoPrimaries = 2; //Copy this only if you don't have it yet DZE_weaponHUD = true; /* RLNT - WeaponHUD */ Далее найти:
      call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; После добавить:
      call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; call compile preprocessFileLineNumbers "rlnt\client\init\compiles.sqf"; /* RLNT - Relentless */ Далее найти:
      if (isServer) then { if (dayz_POIs && (toLower worldName == "chernarus")) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus\poi\init.sqf";}; call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\dynamic_vehicle.sqf"; call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\server_monitor.sqf"; execVM "\z\addons\dayz_server\traders\chernarus11.sqf"; //Add trader agents //Get the server to setup what waterholes are going to be infected and then broadcast to everyone. if (dayz_infectiousWaterholes && (toLower worldName == "chernarus")) then {execVM "\z\addons\dayz_code\system\mission\chernarus\infectiousWaterholes\init.sqf";}; // Lootable objects from CfgTownGeneratorDefault.hpp if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\system\mission\chernarus\MainLootableObjects.sqf"; }; }; после добавить:
      if (!isServer) then { //RLNT - Relentless execVM "rlnt\scripts\Weapon HUD\weaponhud_init.sqf"; /* RLNT - WeaponHUD */ }; 4. Открыть файл description.ext и найти:
      #include "\z\addons\dayz_code\gui\description.hpp" заменить ее на:
      #include "dayz_code\gui\description.hpp" #include "rlnt\dialogs\rlnt_defines.hpp" /* RLNT - WeaponHUD */ class RscTitles { #include "rlnt\dialogs\rlnt_weaponhud.hpp" /* RLNT - WeaponHUD */ class wm_disp { idd = -1; onLoad = "uiNamespace setVariable ['wm_disp', _this select 0]"; fadein = 0; fadeout = 0; duration = 10e10; controlsBackground[] = {}; objects[] = {}; class controls { class wm_text2 { idc = 1; x = safeZoneX+0.027; y = safeZoneY+safeZoneH-0.16; w = 0.151*safeZoneH; h = 0.057*safeZoneH; shadow = 2; class Attributes { font = "EtelkaNarrowMediumPro"; color = "#24FFFFFF"; align = "left"; valign = "middle"; shadow = 2; }; colorBackground[] = { 1, 0.3, 0, 0 }; font = "EtelkaNarrowMediumPro"; size = 0.06*safeZoneH; type = 13; style = 0; text=""; }; }; }; }; 5. Папки dayz_code и rlnt залить в корень миссии
      6. Если у вас уже используется кастомный файл keyboard.sqf то найдите в нем:
      _rifle = { 2 call dz_fn_switchWeapon; _handled = true; }; _pistol = { 3 call dz_fn_switchWeapon; _handled = true; }; _melee = { // Also works for rifle on back if DZE_TwoPrimaries = 2; 4 call dz_fn_switchWeapon; _handled = true; }; _throwable = { // select next non empty throwable weapon if (vehicle player == player) then { _ammo_throwable = []; _muzzles_throwable = []; _weapon_throwable = []; { _weapon = _x; _muzzles = getArray(configFile >> "cfgWeapons" >> _weapon >> "muzzles"); if (count _muzzles == 0) then { _muzzles = [_weapon ]; }; { _muzz = _x; { if (_x in magazines player) then { _ammo_throwable set [ count _ammo_throwable, getText(configFile >> "cfgMagazines" >> _x >> "ammo") ]; _muzzles_throwable set [ count _muzzles_throwable, _muzz ]; _weapon_throwable set [ count _weapon_throwable, _weapon ]; }; } forEach getArray(configFile >> "cfgWeapons" >> _weapon >> _muzz >> "magazines"); } forEach _muzzles; } forEach ["Throw"]; _magCount = count _ammo_throwable; if (_magCount > 0) then { if (isNil "KB_CurrentThrowable") then { KB_CurrentThrowable = -1; }; _currentAmmo = (weaponState player) select 3; _idx = _ammo_throwable find _currentAmmo; if (_idx >= 0) then { KB_CurrentThrowable = _idx; }; KB_CurrentThrowable = (KB_CurrentThrowable + 1) mod _magCount; player selectWeapon (_muzzles_throwable select KB_CurrentThrowable); _handled = true; }; }; }; и замените на:
      _rifle1 = { 2 call dz_fn_switchWeapon; _handled = true; }; _rifle2 = { 4 call dz_fn_switchWeapon; _handled = true; }; _pistol = { 3 call dz_fn_switchWeapon; _handled = true; }; _painkiller = { [0,0,0,[player]] execVM "rlnt\scripts\Weapon HUD\actions\rlnt_painkiller.sqf"; _handled = true; }; _bandage = { [0,0,0,[player]] execVM "rlnt\scripts\Weapon HUD\actions\rlnt_bandage.sqf"; _handled = true; }; найдите:
      DIK_8,DIK_7,DIK_6,DIK_5,DIK_4], _block] call _addArray; и замените на:
      DIK_8,DIK_7,DIK_6], _block] call _addArray; найдите строчку:
      if (!isNil "bis_fnc_halo_keydown_eh") then {bis_fnc_halo_keydown_eh = (finddisplay 46) displayaddeventhandler ["keydown","_this call bis_fnc_halo_keydown;"];}; // halo in progress и удалите ее.
      7. Если у вас не стоит InfiStar, то шаг 4 и 5, если у вас стоит InfiStar, то в файле AHconfig.sqf добавить 7000,7001,7002,7003 в массиве "_ALLOWED_Dialogs"
      8. В файле AT.sqf найдите:
      if(_key == 0x05)then{call admin_fly_up;}; if(_key == 0x06)then{call admin_tpdirection;}; и замените их на:
      if(_key == 0x09)then{call admin_fly_up;}; if(_key == 0x0A)then{call admin_tpdirection;}; Найдите:
      adminadd = adminadd + [" 4 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 5 - TP LookingDirection","","0","1","0","0",[]]; и замените на:
      adminadd = adminadd + [" 8 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 9 - TP LookingDirection","","0","1","0","0",[]]; 9. Вот и все.
       
      TODO:
      18.06.18 - Обновление ссылок
    • By Alex39
      [4.4R4] (5.0)Tanoa/Altis Life Spawn Menu

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      В вашей мисии Tanoa найти файл spawnSelection.hpp и заменить содержимое на это:
       
      /* Author: Deadlesszombie / Neil Smith made for www.altisliferpg, tanoalife spawn menu, something basic, enjoy. https://www.altisliferpg.com/topic/4103-44r4-tanoa-life-spawn-menu/ */ class life_spawn_selection { idd = 38500; movingEnable = 0; enableSimulation = 1; class ControlsBackground { class Background: Life_RscText { type = 0; idc = -1; x = safeZoneX + safeZoneW * -0.00125; y = safeZoneY + safeZoneH * -0.00111111; w = safeZoneW * 1.011875; h = safeZoneH * 1.01333334; style = 0+48; text = "textures\Spawn_Menu.paa"; colorBackground[] = {0,0,0,1}; colorText[] = {1,1,1,0.7765}; font = "PuristaMedium"; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); }; }; class Controls { class MapView: Life_RscMapControl { idc = 38502; x = safeZoneX + safeZoneW * 0.360625; y = safeZoneY + safeZoneH * 0.30222223; w = safeZoneW * 0.509375; h = safeZoneH * 0.45666667; maxSatelliteAlpha = 0.75;//0.75; alphaFadeStartScale = 1.15;//0.15; alphaFadeEndScale = 1.29;//0.29; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); }; class SpawnPointList: Life_RscListNBox { idc = 38510; text = ""; x = safeZoneX + safeZoneW * 0.135; y = safeZoneY + safeZoneH * 0.29444445; w = safeZoneW * 0.16125; h = safeZoneH * 0.47; drawSideArrows = 0; idcLeft = -1; idcRight = -1; rowHeight = 0.050; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); onLBSelChanged = "_this call life_fnc_spawnPointSelected;"; }; class spawnButton: Life_RscButton { type = 1; idc = -1; x = safeZoneX + safeZoneW * 0.364375; y = safeZoneY + safeZoneH * 0.86888889; w = safeZoneW * 0.18625; h = safeZoneH * 0.03666667; style = 0; text = "$STR_Spawn_Spawn"; colorBackground[] = {0.2,0.4,0.2,1}; colorBackgroundActive[] = {1,1,1,1}; colorBackgroundDisabled[] = {0.2,0.2,0.2,1}; colorBorder[] = {0,0,0,0}; colorDisabled[] = {0.2,0.2,0.2,1}; colorFocused[] = {0.2,0.2,0.2,1}; colorShadow[] = {0,0,0,0}; colorText[] = {1,1,1,1}; font = "PuristaMedium"; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1.0}; soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1.0}; soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1.0}; soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1.0}; onButtonClick = "[] call life_fnc_spawnConfirm"; }; }; };  
    • By ZizionarD
      Ребят прошу помощи, как сделать платные точки спавна?
    • By MisaAmane
      Собсна поставил я сообщения об убийствах и перестал работать нормально спавн. А точнее не проверяет где умер персонаж. Исправил, но перестали показываться сообщения об убийствах :D Проблема в файле serverPlayer_died.sqf.
       
      Файл, который требует система сообщений об убийствах:
       
      То, что у меня сейчас:
       
      То, что нужно добавить для нормальной работы спавна и из-за чего не работает система сообщений:
       
       
      Как совместить это дело всё? Оба скрипта очень нужны.
  • 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.