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

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

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

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

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
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>

;>;>

 

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

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

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


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

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






  • 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 ?

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

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


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

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 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;
*/

  

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

 

Мысли??

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

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


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

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

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: 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
    • Автор: 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 - Обновление ссылок
    • Автор: 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"; }; }; };  
    • Автор: ZizionarD
      Ребят прошу помощи, как сделать платные точки спавна?
    • Автор: MisaAmane
      Собсна поставил я сообщения об убийствах и перестал работать нормально спавн. А точнее не проверяет где умер персонаж. Исправил, но перестали показываться сообщения об убийствах :D Проблема в файле serverPlayer_died.sqf.
       
      Файл, который требует система сообщений об убийствах:
       
      То, что у меня сейчас:
       
      То, что нужно добавить для нормальной работы спавна и из-за чего не работает система сообщений:
       
       
      Как совместить это дело всё? Оба скрипта очень нужны.
  • Наш выбор

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

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

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