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

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

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

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

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

Выпадание лута из уничтоженного транспорта (v1.1)

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

5) Открываем init.sqf и около переменных DayZ наверху добавляем это:

  •  
  •  
  •  
  1. /*
  2. select 0 = Prevent gear from spawning on locked vehicles (boolean)
  3. select 1 = Guaranteed loot piles (int)
  4. select 2 = Max additional loot piles on top of guaranteed (int)
  5. select 3 = Radius around crash site to spawn loot (double or int)
  6. select 4 = Chance of gear being destroyed (Between 0-1, Ex: 0 = Never lost, 0.5 = Half lost, 1 = All lost)
  7. Default: DZE_crashLootConfig = [true,2,5,5,0];
  8. */
  9. DZE_crashLootConfig = [true,2,5,5,0];

 

Получается без разницы в какое место вставлять этот код?

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


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



 

5) Открываем init.sqf и около переменных DayZ наверху добавляем это:

  •  
  •  
  •  
  1. /*
  2. select 0 = Prevent gear from spawning on locked vehicles (boolean)
  3. select 1 = Guaranteed loot piles (int)
  4. select 2 = Max additional loot piles on top of guaranteed (int)
  5. select 3 = Radius around crash site to spawn loot (double or int)
  6. select 4 = Chance of gear being destroyed (Between 0-1, Ex: 0 = Never lost, 0.5 = Half lost, 1 = All lost)
  7. Default: DZE_crashLootConfig = [true,2,5,5,0];
  8. */
  9. DZE_crashLootConfig = [true,2,5,5,0];

 

Получается без разницы в какое место вставлять этот код?

Да, но в приделах разумного. В гайде же написано, что возле других переменных DayZ.

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

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


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

Да, но в приделах разумного. В гайде же написано, что возле других переменных DayZ.

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

Простите я неуч)) Но по тихой начинаю понимать эти коды.

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


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

Все же помогите понять, где я ошибся? Спавню тачку Ural_CDF, спавню м16 и сатнаги, кладу в машину и отрываю двигатель, тачка взрывается и горит но лута нет рядом((

init.sqf

/*Mission Loading*/
startLoadingScreen ["","RscDisplayLoadCustom"];
cutText ["","BLACK OUT"];
enableSaving [false, false];

/*
select 0 = true)
select 1 = 1
select 2 = 100
select 3 = 10
select 4 = 0        ///Chance of gear being destroyed (Between 0-1, Ex: 0 = Never lost, 0.5 = Half lost, 1 = All lost)
Default: DZE_crashLootConfig = [true,2,5,5,0];
*/

DZE_crashLootConfig = [true,2,5,5,0];

//REALLY IMPORTANT VALUES
dayZ_instance =	11;					//The instance
dayZ_serverName = "PAiN";
dayzHiveRequest = [];
initialized = false;
dayz_previousID = 0;

server_monitor.sqf

if (_object isKindOf "AllVehicles") then {
			
				{
				    _object setVariable ["lastInventory", _intentory];
					_selection = _x select 0;
					_dam = _x select 1;
					if (_selection in dayZ_explosiveParts && _dam > 0.8) then {_dam = 0.8};
					[_object,_selection,_dam] call object_setFixServer;
				} count _hitpoints;
				_object setFuel _fuel;

				if (!((typeOf _object) in dayz_allowedObjects)) then {
					
					//_object setvelocity [0,0,1];
					_object call fnc_veh_ResetEH;	

server_updateObject.sqf

_object_inventory = {
	private["_inventory","_previous","_key"];
		_inventory = [
			getWeaponCargo _object,
			getMagazineCargo _object,
			getBackpackCargo _object,
			_object getVariable["bankMoney",0]
		];
		_previous = str(_object getVariable["lastInventory",[]]);
		if (str(_inventory) != _previous) then {
			if(alive _object) then{
        _object setVariable["lastInventory",_inventory];
    };
			if (_objectID == "0") then {
				_key = format["CHILD:309:%1:%2:",_uid,_inventory];
			} else {
				_key = format["CHILD:303:%1:%2:",_objectID,_inventory];
			};
			//diag_log ("HIVE: WRITE: "+ str(_key));
			_key call server_hiveWrite;
		};
};

server_publishVehicle3.sqf

// for non JIP users this should make sure everyone has eventhandlers for vehicles.
	PVDZE_veh_Init = _object;
	publicVariable "PVDZE_veh_Init";
	_object setVariable ["lastInventory", [_weapons,_magazines,_backpacks]];

server_publishVehicle.sqf

// testing - should make sure everyone has eventhandlers for vehicles was unused...
	PVDZE_veh_Init = _object;
	publicVariable "PVDZE_veh_Init";
	_object setVariable ["lastInventory", []];

server_publishVehicle2.sqf

// for non JIP users this should make sure everyone has eventhandlers for vehicles.
	PVDZE_veh_Init = _object;
	publicVariable "PVDZE_veh_Init";
	_object setVariable ["lastInventory", []];

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


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

Отбой! Заработало только после того как я из init.sqf перенес конфиг EpochConfig.sqf но почему то из админ меню пропал спавн техники без ключа, осталось только три единицы. А спавн под ключ остался в прежнем составе. Всем спасибо, Таурену плюсан в репу))

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

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


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

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

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


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

ТО что надо)

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


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

1) В папке compile вашего dayz_server.pbo создаём файл server_crashLoot.sqf со следующим содержимым:

не верно указан путь создания фаила...создаем в папке "Dayz_server.pbo\compile" либо в коде нужно поменять путь к фаилу...и почему то не работает

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

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


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

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

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


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

Спасибо

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


Ссылка на сообщение
Поделиться на других сайтах
В 05.12.2014 в 09:42, DrTauren сказал:

В общем-то этот скрипт выкидывает лут из техники если она была уничтожена. Довольно гибкая настрока. Файл миссии почти не увеличивается, так как всё находится в pbo, в миссии меняет только init.sqf :)

 


 

Инструкция:
1)
В папке compile вашего dayz_server.pbo создаём файл server_crashLoot.sqf со следующим содержимым:

 

  Показать содержимое

 



private["_veh","_gear","_pos","_crashPile","_crashPiles","_element","_objWpnTypes","_objWpnQty","_isOK","_countr","_count","_cont","_temp","_rnd","_lockPrevent","_guaranteedLoot","_randomizedLoot","_radius","_chance"];
_veh = _this;
_gear = _veh getVariable ["lastInventory", []];

if(isNil "DZE_crashLootConfig") then{
    DZE_crashLootConfig = [true,2,5,5,0];
};
    
_lockPrevent = DZE_crashLootConfig select 0;
_guaranteedLoot = DZE_crashLootConfig select 1;
_randomizedLoot = DZE_crashLootConfig select 2;
_radius = DZE_crashLootConfig select 3;
_chance = DZE_crashLootConfig select 4;

_crashPile = objNull;
_crashPiles = [];
_cont = false;


if(_lockPrevent) then{
    if(locked _veh) then{
        _cont = false;
    }else{
        _cont = true;
    };
}else{
    _cont = true;
};

if(((count _gear) > 0) && _cont) then{
    
    //Wait for vehicle to stop moving
    sleep 1;
    _count = 0;
    while{(speed _veh) > 0.1 && _count <= 20} do{
        sleep 0.1;
        _count = _count + 0.1;
    };
    
    //Spawn the loot
    diag_log format["DEAD VEHICLE - server_crashLoot.sqf - %1",_gear];
    
    _pos = getPos _veh;
    _num = round(random _randomizedLoot) + _guaranteedLoot;

    for "_x" from 1 to _num do {
        _temp = createVehicle ["WeaponHolder", [_pos select 0, _pos select 1, 0], [], _radius, "CAN_COLLIDE"];
        _crashPiles = _crashPiles + [_temp];
    };
    
    //Add weapons
    _objWpnTypes = (_gear select 0) select 0;
    _objWpnQty = (_gear select 0) select 1;
    _countr = 0;                    
    {
        if(_x in (DZE_REPLACE_WEAPONS select 0)) then {
            _x = (DZE_REPLACE_WEAPONS select 1) select ((DZE_REPLACE_WEAPONS select 0) find _x);
        };
        _isOK =     isClass(configFile >> "CfgWeapons" >> _x);
        if (_isOK) then {
            _element = floor(random _num);
            _crashPile = _crashPiles select _element;
            for "_i" from 1 to (_objWpnQty select _countr) do {
                _rnd = random 1;
                if(_rnd >= _chance) then{
                    _crashPile addWeaponCargoGlobal [_x,1];
                };
            };
        };
        _countr = _countr + 1;
    } count _objWpnTypes;

    //Add Magazines
    _objWpnTypes = (_gear select 1) select 0;
    _objWpnQty = (_gear select 1) select 1;
    _countr = 0;
    {
        if (_x == "BoltSteel") then { _x = "WoodenArrow" }; // Convert BoltSteel to WoodenArrow
        if (_x == "ItemTent") then { _x = "ItemTentOld" };
        _isOK =     isClass(configFile >> "CfgMagazines" >> _x);
        if (_isOK) then {
            _element = floor(random _num);
            _crashPile = _crashPiles select _element;
            for "_i" from 1 to (_objWpnQty select _countr) do {
                _rnd = random 1;
                if(_rnd >= _chance) then{
                    _crashPile addMagazineCargoGlobal [_x,1];
                };
            };
        };
        _countr = _countr + 1;
    } count _objWpnTypes;
    
    //Add Backpacks
    _objWpnTypes = (_gear select 2) select 0;
    _objWpnQty = (_gear select 2) select 1;
    _countr = 0;
    {
        _isOK =     isClass(configFile >> "CfgVehicles" >> _x);
        if (_isOK) then {
            _element = floor(random _num);
            _crashPile = _crashPiles select _element;
            for "_i" from 1 to (_objWpnQty select _countr) do {
                _rnd = random 1;
                if(_rnd >= _chance) then{
                    _crashPile addBackpackCargoGlobal [_x,1];
                };
            };
        };
        _countr = _countr + 1;
    } count _objWpnTypes;
};

 

 

2) Всё в том же нашем dayz_server находим файл server_monitor.sqf и в нём эту строку:


if (_object isKindOf "AllVehicles") then {

и добавляем это после неё:


_object setVariable ["lastInventory", _intentory];

3) Открываем файл server_updateObject.sqf и находим там строку:


_object setVariable["lastInventory",_inventory];

и заменяем её на это:


if(alive _object) then{
        _object setVariable["lastInventory",_inventory];
    };

теперь находим эти строки:


_object_killed = {
    private["_hitpoints","_array","_hit","_selection","_key","_damage"];

и снизу добавляем этот код:


if(_object isKindOf "AllVehicles") then{
        _object execVM "\z\addons\dayz_server\compile\server_crashLoot.sqf";
    }; 

4) Открываем файлы server_publishVehicle.sqf, server_publishVehicle2.sqf, server_publishVehicle3.sqf и во всех трёх находим эту строку:


publicVariable "PVDZE_veh_Init";

в файле server_publishVehicle3.sqf после этой строки добавляем это:


_object setVariable ["lastInventory", [_weapons,_magazines,_backpacks]];

а в остальных двух это:


_object setVariable ["lastInventory", []];

5) Открываем init.sqf и около переменных DayZ наверху добавляем это:


/*
select 0 = Prevent gear from spawning on locked vehicles (boolean)
select 1 = Guaranteed loot piles (int)
select 2 = Max additional loot piles on top of guaranteed (int)
select 3 = Radius around crash site to spawn loot (double or int)
select 4 = Chance of gear being destroyed (Between 0-1, Ex: 0 = Never lost, 0.5 = Half lost, 1 = All lost)
Default: DZE_crashLootConfig = [true,2,5,5,0];
*/
DZE_crashLootConfig = [true,2,5,5,0];


Значения переменных:

  • select 0 - предотвращение спавна лута если машина была закрыта
     → true - включено
     → false - выключено
  • select 1 - минимальное количество появляющихся куч с лутом
  • select 2 - максимальное количество появляющихся куч с лутом
  • select 3 - радиус по которому спавнится лут (отчёт от "трупа" транспорта)
  • select 4 - шанс разрушения лута
     → 0 - появляется весь лут что был в технике
     → 1 - лут вообще не появляется

какой именно инит ? В пбо или миссии? подробнее можно объяснить?

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

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


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

какой именно инит ? В пбо или миссии? подробнее можно объяснить?

Который в миссии, добавить

DZE_crashLootConfig = [true,2,5,5,0];

 и настроить по своему усмотрению.

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


Ссылка на сообщение
Поделиться на других сайтах
В 05.12.2014 в 09:42, DrTauren сказал:

В общем-то этот скрипт выкидывает лут из техники если она была уничтожена. Довольно гибкая настрока. Файл миссии почти не увеличивается, так как всё находится в pbo, в миссии меняет только init.sqf :)

 


 

Инструкция:
1)
В папке compile вашего dayz_server.pbo создаём файл server_crashLoot.sqf со следующим содержимым:

 

  Скрыть содержимое

 



private["_veh","_gear","_pos","_crashPile","_crashPiles","_element","_objWpnTypes","_objWpnQty","_isOK","_countr","_count","_cont","_temp","_rnd","_lockPrevent","_guaranteedLoot","_randomizedLoot","_radius","_chance"];
_veh = _this;
_gear = _veh getVariable ["lastInventory", []];

if(isNil "DZE_crashLootConfig") then{
    DZE_crashLootConfig = [true,2,5,5,0];
};
    
_lockPrevent = DZE_crashLootConfig select 0;
_guaranteedLoot = DZE_crashLootConfig select 1;
_randomizedLoot = DZE_crashLootConfig select 2;
_radius = DZE_crashLootConfig select 3;
_chance = DZE_crashLootConfig select 4;

_crashPile = objNull;
_crashPiles = [];
_cont = false;


if(_lockPrevent) then{
    if(locked _veh) then{
        _cont = false;
    }else{
        _cont = true;
    };
}else{
    _cont = true;
};

if(((count _gear) > 0) && _cont) then{
    
    //Wait for vehicle to stop moving
    sleep 1;
    _count = 0;
    while{(speed _veh) > 0.1 && _count <= 20} do{
        sleep 0.1;
        _count = _count + 0.1;
    };
    
    //Spawn the loot
    diag_log format["DEAD VEHICLE - server_crashLoot.sqf - %1",_gear];
    
    _pos = getPos _veh;
    _num = round(random _randomizedLoot) + _guaranteedLoot;

    for "_x" from 1 to _num do {
        _temp = createVehicle ["WeaponHolder", [_pos select 0, _pos select 1, 0], [], _radius, "CAN_COLLIDE"];
        _crashPiles = _crashPiles + [_temp];
    };
    
    //Add weapons
    _objWpnTypes = (_gear select 0) select 0;
    _objWpnQty = (_gear select 0) select 1;
    _countr = 0;                    
    {
        if(_x in (DZE_REPLACE_WEAPONS select 0)) then {
            _x = (DZE_REPLACE_WEAPONS select 1) select ((DZE_REPLACE_WEAPONS select 0) find _x);
        };
        _isOK =     isClass(configFile >> "CfgWeapons" >> _x);
        if (_isOK) then {
            _element = floor(random _num);
            _crashPile = _crashPiles select _element;
            for "_i" from 1 to (_objWpnQty select _countr) do {
                _rnd = random 1;
                if(_rnd >= _chance) then{
                    _crashPile addWeaponCargoGlobal [_x,1];
                };
            };
        };
        _countr = _countr + 1;
    } count _objWpnTypes;

    //Add Magazines
    _objWpnTypes = (_gear select 1) select 0;
    _objWpnQty = (_gear select 1) select 1;
    _countr = 0;
    {
        if (_x == "BoltSteel") then { _x = "WoodenArrow" }; // Convert BoltSteel to WoodenArrow
        if (_x == "ItemTent") then { _x = "ItemTentOld" };
        _isOK =     isClass(configFile >> "CfgMagazines" >> _x);
        if (_isOK) then {
            _element = floor(random _num);
            _crashPile = _crashPiles select _element;
            for "_i" from 1 to (_objWpnQty select _countr) do {
                _rnd = random 1;
                if(_rnd >= _chance) then{
                    _crashPile addMagazineCargoGlobal [_x,1];
                };
            };
        };
        _countr = _countr + 1;
    } count _objWpnTypes;
    
    //Add Backpacks
    _objWpnTypes = (_gear select 2) select 0;
    _objWpnQty = (_gear select 2) select 1;
    _countr = 0;
    {
        _isOK =     isClass(configFile >> "CfgVehicles" >> _x);
        if (_isOK) then {
            _element = floor(random _num);
            _crashPile = _crashPiles select _element;
            for "_i" from 1 to (_objWpnQty select _countr) do {
                _rnd = random 1;
                if(_rnd >= _chance) then{
                    _crashPile addBackpackCargoGlobal [_x,1];
                };
            };
        };
        _countr = _countr + 1;
    } count _objWpnTypes;
};

 

 

2) Всё в том же нашем dayz_server находим файл server_monitor.sqf и в нём эту строку:


if (_object isKindOf "AllVehicles") then {

и добавляем это после неё:


_object setVariable ["lastInventory", _intentory];

3) Открываем файл server_updateObject.sqf и находим там строку:


_object setVariable["lastInventory",_inventory];

и заменяем её на это:


if(alive _object) then{
        _object setVariable["lastInventory",_inventory];
    };

теперь находим эти строки:


_object_killed = {
    private["_hitpoints","_array","_hit","_selection","_key","_damage"];

и снизу добавляем этот код:


if(_object isKindOf "AllVehicles") then{
        _object execVM "\z\addons\dayz_server\compile\server_crashLoot.sqf";
    }; 

4) Открываем файлы server_publishVehicle.sqf, server_publishVehicle2.sqf, server_publishVehicle3.sqf и во всех трёх находим эту строку:


publicVariable "PVDZE_veh_Init";

в файле server_publishVehicle3.sqf после этой строки добавляем это:


_object setVariable ["lastInventory", [_weapons,_magazines,_backpacks]];

а в остальных двух это:


_object setVariable ["lastInventory", []];

5) Открываем init.sqf и около переменных DayZ наверху добавляем это:


/*
select 0 = Prevent gear from spawning on locked vehicles (boolean)
select 1 = Guaranteed loot piles (int)
select 2 = Max additional loot piles on top of guaranteed (int)
select 3 = Radius around crash site to spawn loot (double or int)
select 4 = Chance of gear being destroyed (Between 0-1, Ex: 0 = Never lost, 0.5 = Half lost, 1 = All lost)
Default: DZE_crashLootConfig = [true,2,5,5,0];
*/
DZE_crashLootConfig = [true,2,5,5,0];


Значения переменных:

  • select 0 - предотвращение спавна лута если машина была закрыта
     → true - включено
     → false - выключено
  • select 1 - минимальное количество появляющихся куч с лутом
  • select 2 - максимальное количество появляющихся куч с лутом
  • select 3 - радиус по которому спавнится лут (отчёт от "трупа" транспорта)
  • select 4 - шанс разрушения лута
     → 0 - появляется весь лут что был в технике
     → 1 - лут вообще не появляется

Всё по 10 раз перепроверил! Не работает  не хочет скрипт(

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


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

Работает и на 1.0.5.1 и на 1.0.6 В server_monitor с переменными не ошибся? В гайде указана _intentory, а у тебя может _inventory.

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


Ссылка на сообщение
Поделиться на других сайтах
В 26.02.2017 в 22:04, Ник сказал:

Работает и на 1.0.5.1 и на 1.0.6 В server_monitor с переменными не ошибся? В гайде указана _intentory, а у тебя может _inventory.

всё разобрался)

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

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


Ссылка на сообщение
Поделиться на других сайтах
В 25.02.2017 в 17:46, vostok сказал:

какой именно инит ? В пбо или миссии? подробнее можно объяснить?

Куда уж подробнее-то :upsidedown:

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


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

поставил этот скрипт на 106, всё норм тока теперь игроки не могут открыть технику ключём((

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


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

поставил этот скрипт на 106, всё норм тока теперь игроки не могут открыть технику ключём((

Этот скрипт под 1.0.5.1 как бы. Если хочешь его на 1.0.6 поставить, то надо уже голову включать немножко :laugh:

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


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

Этот скрипт под 1.0.5.1 как бы. Если хочешь его на 1.0.6 поставить, то надо уже голову включать немножко :laugh:

Два раза ещё раз пытался! Не работает хоть убей!

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


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

Я не знаю как тебе ещё сказать то же самое чтобы дошло... :wacko:

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


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

построил, спасибо за скрипт.

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


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

Всё работает отлично, ставлю +, ну а по поводу дюпа то надо фиксить конечно.

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


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

на  1.0.6.1 у кого работает?

У меня работает.

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


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

для Армы 3 есть похожий скрипт?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: paranoyk
      Делается это немного нудно,но сравнительно просто (когда есть точки спавна).
      При спавне Land_Wreck_Uaz с помощью оффлайнера получим строку следующего вида.
      SpawnObject( "Land_Wreck_Uaz", "14348.268555 4.133186 13191.887695", "0.000000 0.000000 0.000000" );
      Нам необходимо задать точку для спавна "сетки лута".
      Для этого мы в файл по mapgrouppos.xml прописываем координаты взятые из строчки для спавна объекта (выше).
      <group name="Land_Wreck_Uaz" pos="14348.268555 4.133186 13191.887695" rpy="0.000000 0.000000 0.000000" a="0.000000" />
       
      group name="Land_Wreck_Uaz" pos="14348.268555 4.133186 13191.887695 - координаты запавненого УАЗика.
      rpy="0.000000 0.000000 0.000000" - числовые значения Yaw,Pitch,Roll соответственно. Берём их из всё той же строчки, но важно помнить что они там записаны в обратном порядке.
      a="0.000000"- угол порота сетки относительно угла поворота......короче! (Yaw-90) х (-1) Уже писал,что можно играться с 360 градусами,но пишу всегда полученное значение,проблем нет.

      И главное "сетка лута". Изначально её УАЗик не имеет, пишем её сами в файл mapGroupProto.xml .
       
      <group name="Land_Wreck_Uaz" lootmax="11"> <usage name="...класс вещей для спавна" /> <usage name="...класс вещей для спавна" /> <container name="lootfloor" lootmax="5"> -"контейнер" для описания спавна, максимальное колличество в спавне. <category name="...категория вещей для спавна" /> (возможен тэг- <tag name="floor" /> или <tag name="shelves" /> ) <point pos="0.511211 -0.372110 0.0254000" range="0.244141" height="0.513353" />-левое сиденье <point pos="-0.320921 -0.387334 -0.400000" range="0.310141" height="0.610353" />-правое переднее седение полик <point pos="-0.000921 -0.383194 0.301000" range="0.400186" height="0.590424" />-место за кпп середина <point pos="-0.211211 0.228620 -0.698000" range="0.360231" height="0.520142" />-правая часть капота возле стекла <point pos="0.681211 0.216190 -1.358000" range="0.262781" height="0.621102" />левая часть капота впереди </container> <container name="lootshelves" lootmax="3"> -"контейнер" для описания спавна, максимальное колличество в спавне. <category name="...категория вещей для спавна" /> (возможен тэг- <tag name="floor" /> или <tag name="shelves" /> ) <point pos="-0.406211 -0.098190 -1.131250" range="0.246819" height="0.620459" />-правое переднее крыло <point pos="0.306211 -0.436570 -1.651250" range="0.424141" height="0.810353" />- центр переднего бампера <point pos="0.906211 -0.359570 -1.664250" range="0.124141" height="0.100353" />-слева на бампере </container> <container name="lootweapons" lootmax="3">-"контейнер" для спавна длинногоствольного оружия, максимальное колличество в спавне, патронов и гранат. <category name="weapons" /> <category name="explosives" /> (возможен тэг- <tag name="floor" /> или <tag name="shelves" /> ) <point pos="0.256211 -0.372050 1.264250" range="0.724141" height="1.313353" /> -центр багажника <point pos="0.868211 -0.138190 1.398000" range="0.293625" height="0.605487" />-заднее левое крыло <point pos="-0.506211 -0.108190 1.431250" range="0.250879" height="0.582143" />-заднее правое крыло </container> </group> Вставляем нужные категории,классы и тэги,это практически конструктор.
      К примеру у меня пока выглядит так -
       
      <group name="Land_Wreck_Uaz" lootmax="11"> <usage name="Military" /> <usage name="Industrial" /> <usage name="Office" /> <container name="lootfloor" lootmax="5"> <category name="food" /> <category name="clothes" /> <point pos="0.511211 -0.372110 0.0254000" range="0.244141" height="0.513353" /> <point pos="-0.320921 -0.387334 -0.400000" range="0.310141" height="0.610353" /> <point pos="-0.000921 -0.383194 0.301000" range="0.400186" height="0.590424" /> <point pos="-0.211211 0.228620 -0.698000" range="0.360231" height="0.520142" /> <point pos="0.681211 0.216190 -1.358000" range="0.262781" height="0.621102" /> </container> <container name="lootshelves" lootmax="3"> <category name="tools" /> <category name="vehiclesparts" /> <point pos="-0.406211 -0.098190 -1.131250" range="0.246819" height="0.620459" /> <point pos="0.306211 -0.436570 -1.651250" range="0.424141" height="0.810353" /> <point pos="0.906211 -0.359570 -1.664250" range="0.124141" height="0.100353" /> </container> <container name="lootweapons" lootmax="3"> <category name="weapons" /> <category name="explosives" /> <point pos="0.256211 -0.372050 1.264250" range="0.724141" height="1.313353" /> <point pos="0.868211 -0.138190 1.398000" range="0.293625" height="0.605487" /> <point pos="-0.506211 -0.108190 1.431250" range="0.250879" height="0.582143" /> </container> </group> Также можно даже исключить полностью строчку lootmax="...". Большой разницы я не заметил.
      Сразу скажу,баги стандартные -длинноствол в багажнике может пробить ствол,иногда возможна "левитация" предметов.
      Во общем как то так.
      (возможно позже вылож сетку и для обломков V3S и С130. Решение для "заброшенной колонны" на севере-тоже в процессе.Кому надо-пишите)
    • Автор: AntonivkA
      Итак, господа. В 1.05 разрабы похоже сломали механику спавна лута. У меня предметы стали спавниться там, где их не должно быть. Заметил сразу, поскольку таблица лута у меня переделана основательно. Например, Песочный барьер у меня прописан только на Военках и Полиц.участке, и все работало корректно до 1.05. Теперь, песочный барьер я нахожу в гаражах, мастерских и жилых домах вокруг полиц. участка и в самом полиц. участке. Помимо этого, ребята стали замечать и скинули инфу, что на СЗ в гаражах и мастерских стал появлятся военный лут, хотя его там не должно быть.
      Кто-что скажет по этому поводу. Заметил ли кто-то подобное у себя?
       
    • Автор: zra47
      Забыл где это настраивается спавн лута ? в домах в казарамах и тп
    • Автор: BorizzK
      Не изучал эту тему, было не нужно
      Поглядел пару тем включая эту
      И пытаюсь понять
      А как мне увеличить спавн лута, например на базе Павлово + добавить туда спавн лута, который по умолчанию ТАМ не спавнится?
       
      Спасибо!
       
    • Автор: DrTauren
      В этом гайде расскажу как сделать несколько комплектов стартового лута для игроков. При появлении будет случайно выбираться один из трёх комплектов.
      Всё практически одинаково: Топор, одежда, сумка. Разница только в оружии.
      Присутствует три комплекта: М4А1, SVD, UMP. Всё с прицелами, прикладами и т.д., плюс три магазина патронов.

      Инструкция:
      1) Открываем файл init.c и находим этот код:
      class CustomMission: MissionServer { ........ } Mission CreateCustomMission(string path) { return new CustomMission(); } 2) Весь первый класс (который CustomMission: MissionServer) заменяем на это:
      class CustomMission: MissionServer { void SetRandomHealth(EntityAI itemEnt) { int rndHlt = Math.RandomInt(40,100); itemEnt.SetHealth("","",rndHlt); } override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName) { Entity playerEnt; playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player Class.CastTo(m_player, playerEnt); GetGame().SelectPlayer(identity, m_player); return m_player; } void addMags(PlayerBase player, string mag_type, int count) { if (count < 1) return; EntityAI mag; for (int i = 0; i < count; i++) { mag = player.GetInventory().CreateInInventory(mag_type); } player.SetQuickBarEntityShortcut(mag, 1, true); } EntityAI assaultClass(PlayerBase player) { EntityAI gun = player.GetHumanInventory().CreateInHands("M4A1"); gun.GetInventory().CreateAttachment("M4_RISHndgrd_Black"); gun.GetInventory().CreateAttachment("M4_MPBttstck_Black"); gun.GetInventory().CreateAttachment("ACOGOptic"); addMags(player, "Mag_STANAG_30Rnd", 3); return gun; } EntityAI sniperClass(PlayerBase player) { EntityAI gun = player.GetHumanInventory().CreateInHands("SVD"); gun.GetInventory().CreateAttachment("PSO1Optic"); addMags(player, "Mag_SVD_10Rnd", 3); return gun; } EntityAI smgClass(PlayerBase player) { EntityAI gun = player.GetHumanInventory().CreateInHands("UMP45"); gun.GetInventory().CreateAttachment("PistolSuppressor"); addMags(player, "Mag_UMP_25Rnd", 3); return gun; } override void StartingEquipSetup(PlayerBase player, bool clothesChosen) { player.RemoveAllItems(); player.GetInventory().CreateInInventory("TTSKOPants"); player.GetInventory().CreateInInventory("TTsKOJacket_Camo"); player.GetInventory().CreateInInventory("CombatBoots_Black"); player.GetInventory().CreateInInventory("ImprovisedBag"); player.GetInventory().CreateInInventory("SodaCan_Pipsi"); player.GetInventory().CreateInInventory("SpaghettiCan"); player.GetInventory().CreateInInventory("HuntingKnife"); ItemBase rags = player.GetInventory().CreateInInventory("Rag"); rags.SetQuantity(4); EntityAI primary; EntityAI axe = player.GetInventory().CreateInInventory("FirefighterAxe"); switch (Math.RandomInt(0, 3)) { case 0: primary = assaultClass(player); break; case 1: primary = sniperClass(player); break; case 2: primary = smgClass(player); break; } player.LocalTakeEntityToHands(primary); player.SetQuickBarEntityShortcut(primary, 0, true); player.SetQuickBarEntityShortcut(rags, 2, true); player.SetQuickBarEntityShortcut(axe, 3, true); } };
      Вы также можете настроить оружие и всё остальное под себя при помощи статьи, где указаны ID всех предметов:

      Так же есть возможность выдавать лут конкретным людям через UID:
       
  • Наш выбор

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

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

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