Перейти к содержимому

DustBlue IPB Skin by CodeGame Networks

Вопрос по скрипту стартового лута у донаторов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 OMOH-71

OMOH-71

    Пользователь

  • Проверенные
  • PipPip
  • 15 сообщений

Отправлено 08 февраля 2015 - 14:14

Вопрос,уважаемый))) Все работает,но почему то при добавлении более 3 групп , донаторский лут уже добавить невозможно,все выдается по дефолту. Т.е 3 группы прокатывают,но если создать 4-ую все катится на дефолт,причем у всех.... и второй вопрос,если позволите...,существует ли возможность очистить лут у донатора после его внезапной кончины )))

#2 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 08 февраля 2015 - 16:21

По поводу групп, попробуйте такой код:
Private ["_uid"];
_uid	=	getPlayerUID player;
switch true do
	{
		//	Группа донаторов 1
		case (_uid in Donatrors1):
			{
				DefaultMagazines		=	["ItemBandage","ItemBandage","ItemBandage","ItemBandage","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","30Rnd_9x19_MP5","30Rnd_9x19_MP5","ItemMorphine","ItemPainkiller","ItemBloodbag","ItemAntibiotic","ItemWaterbottleBoiled","ItemWaterbottleBoiled","FoodSteakCooked","Skin_Soldier1_DZ"];
				DefaultWeapons			=	["M9SD","MP5A5","Binocular","ItemMap","ItemCompass","ItemFlashlightRed","ItemKnife","ItemMatchbox_DZE","ItemHatchet_DZE","ItemToolbox"];
				DefaultBackpack			=	"DZ_CivilBackpack_EP1";
				DefaultBackpackItems	=	[];
			};
		//	Группа донаторов 2
		case (_uid in Donatrors2):
			{
				DefaultMagazines		=	["ItemBandage","ItemBandage","ItemBandage","ItemBandage","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","30Rnd_9x19_MP5","30Rnd_9x19_MP5","ItemMorphine","ItemPainkiller","ItemBloodbag","ItemAntibiotic","ItemWaterbottleBoiled","ItemWaterbottleBoiled","FoodSteakCooked","Skin_Soldier1_DZ"];
				DefaultWeapons			=	["M9SD","MP5A5","Binocular","ItemMap","ItemCompass","ItemFlashlightRed","ItemKnife","ItemMatchbox_DZE","ItemHatchet_DZE","ItemToolbox"];
				DefaultBackpack			=	"DZ_CivilBackpack_EP1";
				DefaultBackpackItems	=	[];
			};
		//	Инвентарь, если игрок с данным UID не входит ни в 1 группу(по умолчанию)
		default {
					DefaultMagazines		=	["ItemBandage","ItemBandage","17Rnd_9x19_glock17","17Rnd_9x19_glock17","ItemMorphine","ItemPainkiller","ItemWaterbottleBoiled","FoodSteakCooked"];
					DefaultWeapons			=	["glock17_EP1","ItemFlashlight","ItemHatchet_DZE","ItemMap"];
					DefaultBackpack			=	"DZ_Patrol_Pack_EP1";
					DefaultBackpackItems	=	[];
				};
	};

По поводу очистки, - да возможно.
На каждом игроке висит событие которое срабатывает при смерти.
В эпоче это:
@DayZ_Epoch\addons\dayz_code\compile\player_death.sqf
Добавте туда удаление предметов, у оставшегося после смерти игрока тела.

#3 OMOH-71

OMOH-71

    Пользователь

  • Проверенные
  • PipPip
  • 15 сообщений

Отправлено 08 февраля 2015 - 18:01

Просмотр сообщенияNoNameUltima (08 февраля 2015 - 16:21) писал:

По поводу групп, попробуйте такой код:
Private ["_uid"];
_uid = getPlayerUID player;
switch true do
{
// Группа донаторов 1
case (_uid in Donatrors1):
{
DefaultMagazines = ["ItemBandage","ItemBandage","ItemBandage","ItemBandage","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","30Rnd_9x19_MP5","30Rnd_9x19_MP5","ItemMorphine","ItemPainkiller","ItemBloodbag","ItemAntibiotic","ItemWaterbottleBoiled","ItemWaterbottleBoiled","FoodSteakCooked","Skin_Soldier1_DZ"];
DefaultWeapons = ["M9SD","MP5A5","Binocular","ItemMap","ItemCompass","ItemFlashlightRed","ItemKnife","ItemMatchbox_DZE","ItemHatchet_DZE","ItemToolbox"];
DefaultBackpack = "DZ_CivilBackpack_EP1";
DefaultBackpackItems = [];
};
// Группа донаторов 2
case (_uid in Donatrors2):
{
DefaultMagazines = ["ItemBandage","ItemBandage","ItemBandage","ItemBandage","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","30Rnd_9x19_MP5","30Rnd_9x19_MP5","ItemMorphine","ItemPainkiller","ItemBloodbag","ItemAntibiotic","ItemWaterbottleBoiled","ItemWaterbottleBoiled","FoodSteakCooked","Skin_Soldier1_DZ"];
DefaultWeapons = ["M9SD","MP5A5","Binocular","ItemMap","ItemCompass","ItemFlashlightRed","ItemKnife","ItemMatchbox_DZE","ItemHatchet_DZE","ItemToolbox"];
DefaultBackpack = "DZ_CivilBackpack_EP1";
DefaultBackpackItems = [];
};
// Инвентарь, если игрок с данным UID не входит ни в 1 группу(по умолчанию)
default {
DefaultMagazines = ["ItemBandage","ItemBandage","17Rnd_9x19_glock17","17Rnd_9x19_glock17","ItemMorphine","ItemPainkiller","ItemWaterbottleBoiled","FoodSteakCooked"];
DefaultWeapons = ["glock17_EP1","ItemFlashlight","ItemHatchet_DZE","ItemMap"];
DefaultBackpack = "DZ_Patrol_Pack_EP1";
DefaultBackpackItems = [];
};
};

По поводу очистки, - да возможно.
На каждом игроке висит событие которое срабатывает при смерти.
В эпоче это:
@DayZ_Epoch\addons\dayz_code\compile\player_death.sqf
Добавте туда удаление предметов, у оставшегося после смерти игрока тела.
Благодарю,попробуем. А можно чуть подробнее по второму вопросу,файлик вышеуказанный я вытащил,а вот куда прописывать предметы,которые должны пропасть,не совсем понятно
Откопал у себя вышеуказанный файлик,в котором действует вызов другого скрипта таким вот образом
// Begin adding skin to player body
call compile preprocessFileLineNumbers "Scripts\Dded.sqf";
// End adding skin to player body

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


_body = player;
_backpack = unitbackpack player;
player removeWeapon "FHQ_RSASS_TAN";
player removeWeapon "vil_VSS_PSO";
player removeWeapon "FHQ_MSR_DESERT";
player removeMagazine "ItemObsidian";
player removeMagazine "ItemEmerald";
[player,"ItemEmerald",1] call BIS_fnc_invRemove;
[player,"ItemObsidian",1] call BIS_fnc_invRemove;
[player,"FHQ_MSR_DESERT",1] call BIS_fnc_invRemove;
[player,"vil_VSS_PSO",1] call BIS_fnc_invRemove;
[player,"FHQ_RSASS_TAN",1] call BIS_fnc_invRemove;

[_backpack, "FHQ_RSASS_TAN", 1] call fnc_removeWeaponCargoGlobal;
[_backpack, "vil_VSS_PSO", 1] call fnc_removeWeaponCargoGlobal;
[_backpack, "FHQ_MSR_DESERT", 1] call fnc_removeWeaponCargoGlobal;
[_backpack, "ItemObsidian", 1] call fnc_removeMagazineCargoGlobal;
[_backpack, "ItemEmerald", 1] call fnc_removeMagazineCargoGlobal;

if ((getPlayerUID player) in DLYNX) then {
[_backpack, "SCAR_H_LNG_Sniper_SD", 1] call fnc_removeWeaponCargoGlobal;
[_backpack, "SCAR_L_CQC_CCO_SD", 1] call fnc_removeWeaponCargoGlobal;
player removeWeapon  "SCAR_H_LNG_Sniper_SD";
player removeWeapon  "SCAR_L_CQC_CCO_SD";
[player,"SCAR_H_LNG_Sniper_SD",1] call BIS_fnc_invRemove;
[player,"SCAR_L_CQC_CCO_SD",1] call BIS_fnc_invRemove;
};

Или я может не совсем что то правильно понял?)))

#4 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 02 сентября 2015 - 21:33

Обновил скрипт стартового инвентаря, в разделе готовые скрипты. Можешь взять оттуда.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных