Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a theme in the appropriate section
    No need to write everything in the chat!
  • Sell or buy?

    Use the services of a guarantor
    We will make your transaction safe
  • Don't want a BAN?

    Please read our rules
    Don't disturb the order
  • Visit the market

    There you can sell or buy
    Everything related to game servers
  • 0
Doktor

Пропажа рюкзаков

Здравствуйте подскажите кто понимает вот есть код он снимает скин с трупа но при этом на трупе пропадает рюкзак

if (_isModel &&  !(_model in ["Survivor2_DZ"])) then {
	_model = "Skin_" + _model;
	_result = [player,_model] call BIS_fnc_invAdd;
	if (_result) then {
		player playActionNow "PutDown";
		private["_name","_method"];
		_name = _body getVariable["bodyName","unknown"];
		_method = _body getVariable["deathType","unknown"];
		_money = _body getVariable["cashMoney",0];
		_class = "Survivor2_DZ";
		_position = getPosATL _body;
		_dir = getDir _body;
		//---------_currentAnim = animationState _body;
		private ["_weapons","_magazines","_primweapon","_secweapon"];
		_weapons = weapons _body;
		_primweapon = primaryWeapon _body;
		_secweapon = secondaryWeapon _body;
		if (!(_primweapon in _weapons) && _primweapon != "") then {_weapons = _weapons + [_primweapon];};
		if (!(_secweapon in _weapons) && _secweapon != "") then {_weapons = _weapons + [_secweapon];};
		_magazines = magazines _body;
		private ["_newBackpackType","_backpackWpn","_backpackMag"];
		dayz_myBackpack = unitBackpack _body;
		if (isNull (unitBackpack _body)) then {
			_hasBackPack = false;
		} else {
			_hasBackPack = true;
			_newBackpackType = typeOf dayz_myBackpack;
			_backpackWpn = getWeaponCargo dayz_myBackpack;
			_backpackMag = getMagazineCargo dayz_myBackpack;
		};
		_currentWpn = currentWeapon _body;
		_muzzles = getArray(configFile >> "cfgWeapons" >> _currentWpn >> "muzzles");
		if (count _muzzles > 1) then {_currentWpn = currentMuzzle _body;};
		_body setPosATL dayz_spawnPos;
		_oldUnit = _body;
		_group = createGroup west;
		_newUnit = _group createUnit [_class,position player,[],0,"NONE"];
		_newUnit setPosATL _position;
		_newUnit setDir _dir;
		{_newUnit removeMagazine _x;} forEach magazines _newUnit;
		removeAllWeapons _newUnit;
		{if (typeName _x == "ARRAY") then {_newUnit addMagazine [_x select 0,_x select 1];} else {_newUnit addMagazine _x;};} forEach _magazines;
		{_newUnit addWeapon _x;} forEach _weapons;
		if (str(_weapons) != str(weapons _newUnit)) then {
			{_weapons = _weapons - [_x];} forEach (weapons _newUnit);
			{_newUnit addWeapon _x;} forEach _weapons;
		};
		if (_primweapon != (primaryWeapon _newUnit)) then { _newUnit addWeapon _primweapon; };
		if (_secweapon != (secondaryWeapon _newUnit) && _secweapon != "") then { _newUnit addWeapon _secweapon; };
		if (_hasBackPack) then {
			_newUnit addBackpack _newBackpackType;
			_oldBackpack = dayz_myBackpack;
			dayz_myBackpack = unitBackpack _newUnit;
			_backpackWpnTypes = [];
			_backpackWpnQtys = [];
			if (count _backpackWpn > 0) then {
				_backpackWpnTypes = _backpackWpn select 0;
				_backpackWpnQtys = _backpackWpn select 1;
			};
			_countr = 0;
			{
				dayz_myBackpack addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];
				_countr = _countr + 1;
			} forEach _backpackWpnTypes;
			_backpackmagTypes = [];
			_backpackmagQtys = [];
			if (count _backpackmag > 0) then {
				_backpackmagTypes 	= _backpackMag select 0;
				_backpackmagQtys 	= _backpackMag select 1;
			};
			_countr = 0;
			{
				dayz_myBackpack addmagazineCargoGlobal [_x,(_backpackmagQtys select _countr)];
				_countr = _countr + 1;
			} forEach _backpackmagTypes;
		};
		removeAllWeapons _oldUnit;
		{
			_oldUnit removeMagazine _x;
		} forEach magazines _oldUnit;
		deleteVehicle _oldUnit;
		_oldUnit = nil;
		_newUnit setDamage 1;
		_newUnit setVariable["bodyName",_name,true];
		_newUnit setVariable["deathType",_method,true];
		_newUnit setVariable["cashMoney",_money,true];
	} else {cutText ["Нет места в инвентаре! Освободите слот!", "PLAIN DOWN"];};
};
Edited by Doktor (see edit history)

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Попробуй заменить это:

 

if (isNull (unitBackpack _body)) then {

На это:

 

if (isNull dayz_myBackpack) then {

Share this post


Link to post
Share on other sites

  • 0

 

Здравствуйте подскажите кто понимает вот есть код он снимает скин с трупа но при этом на трупе пропадает рюкзак

if (_isModel &&  !(_model in ["Survivor2_DZ"])) then {
	_model = "Skin_" + _model;
	_result = [player,_model] call BIS_fnc_invAdd;
	if (_result) then {
		player playActionNow "PutDown";
		private["_name","_method"];
		_name = _body getVariable["bodyName","unknown"];
		_method = _body getVariable["deathType","unknown"];
		_money = _body getVariable["cashMoney",0];
		_class = "Survivor2_DZ";
		_position = getPosATL _body;
		_dir = getDir _body;
		//---------_currentAnim = animationState _body;
		private ["_weapons","_magazines","_primweapon","_secweapon"];
		_weapons = weapons _body;
		_primweapon = primaryWeapon _body;
		_secweapon = secondaryWeapon _body;
		if (!(_primweapon in _weapons) && _primweapon != "") then {_weapons = _weapons + [_primweapon];};
		if (!(_secweapon in _weapons) && _secweapon != "") then {_weapons = _weapons + [_secweapon];};
		_magazines = magazines _body;
		private ["_newBackpackType","_backpackWpn","_backpackMag"];
		dayz_myBackpack = unitBackpack _body;
		if (isNull (unitBackpack _body)) then {
			_hasBackPack = false;
		} else {
			_hasBackPack = true;
			_newBackpackType = typeOf dayz_myBackpack;
			_backpackWpn = getWeaponCargo dayz_myBackpack;
			_backpackMag = getMagazineCargo dayz_myBackpack;
		};
		_currentWpn = currentWeapon _body;
		_muzzles = getArray(configFile >> "cfgWeapons" >> _currentWpn >> "muzzles");
		if (count _muzzles > 1) then {_currentWpn = currentMuzzle _body;};
		_body setPosATL dayz_spawnPos;
		_oldUnit = _body;
		_group = createGroup west;
		_newUnit = _group createUnit [_class,position player,[],0,"NONE"];
		_newUnit setPosATL _position;
		_newUnit setDir _dir;
		{_newUnit removeMagazine _x;} forEach magazines _newUnit;
		removeAllWeapons _newUnit;
		{if (typeName _x == "ARRAY") then {_newUnit addMagazine [_x select 0,_x select 1];} else {_newUnit addMagazine _x;};} forEach _magazines;
		{_newUnit addWeapon _x;} forEach _weapons;
		if (str(_weapons) != str(weapons _newUnit)) then {
			{_weapons = _weapons - [_x];} forEach (weapons _newUnit);
			{_newUnit addWeapon _x;} forEach _weapons;
		};
		if (_primweapon != (primaryWeapon _newUnit)) then { _newUnit addWeapon _primweapon; };
		if (_secweapon != (secondaryWeapon _newUnit) && _secweapon != "") then { _newUnit addWeapon _secweapon; };
		if (_hasBackPack) then {
			_newUnit addBackpack _newBackpackType;
			_oldBackpack = dayz_myBackpack;
			dayz_myBackpack = unitBackpack _newUnit;
			_backpackWpnTypes = [];
			_backpackWpnQtys = [];
			if (count _backpackWpn > 0) then {
				_backpackWpnTypes = _backpackWpn select 0;
				_backpackWpnQtys = _backpackWpn select 1;
			};
			_countr = 0;
			{
				dayz_myBackpack addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];
				_countr = _countr + 1;
			} forEach _backpackWpnTypes;
			_backpackmagTypes = [];
			_backpackmagQtys = [];
			if (count _backpackmag > 0) then {
				_backpackmagTypes 	= _backpackMag select 0;
				_backpackmagQtys 	= _backpackMag select 1;
			};
			_countr = 0;
			{
				dayz_myBackpack addmagazineCargoGlobal [_x,(_backpackmagQtys select _countr)];
				_countr = _countr + 1;
			} forEach _backpackmagTypes;
		};
		removeAllWeapons _oldUnit;
		{
			_oldUnit removeMagazine _x;
		} forEach magazines _oldUnit;
		deleteVehicle _oldUnit;
		_oldUnit = nil;
		_newUnit setDamage 1;
		_newUnit setVariable["bodyName",_name,true];
		_newUnit setVariable["deathType",_method,true];
		_newUnit setVariable["cashMoney",_money,true];
	} else {cutText ["Нет места в инвентаре! Освободите слот!", "PLAIN DOWN"];};
};

Вот так попробуй:

if (_isModel &&  !(_model in ["Survivor2_DZ"])) then {
	_model = "Skin_" + _model;
	_result = [player,_model] call BIS_fnc_invAdd;
	if (_result) then {
		player playActionNow "PutDown";
		private["_name","_method"];
		_name = _body getVariable["bodyName","unknown"];
		_method = _body getVariable["deathType","unknown"];
		_money = _body getVariable["cashMoney",0];
		_class = "Survivor2_DZ";
		_position = getPosATL _body;
		_dir = getDir _body;
		//---------_currentAnim = animationState _body;
		private ["_weapons","_magazines","_primweapon","_secweapon"];
		_weapons = weapons _body;
		_primweapon = primaryWeapon _body;
		_secweapon = secondaryWeapon _body;
		if (!(_primweapon in _weapons) && _primweapon != "") then {_weapons = _weapons + [_primweapon];};
		if (!(_secweapon in _weapons) && _secweapon != "") then {_weapons = _weapons + [_secweapon];};
		_magazines = magazines _body;
		_currentWpn = currentWeapon _body;
		_muzzles = getArray(configFile >> "cfgWeapons" >> _currentWpn >> "muzzles");
		if (count _muzzles > 1) then {_currentWpn = currentMuzzle _body;};
		_body setPosATL dayz_spawnPos;
		_oldUnit = _body;
		_group = createGroup west;
		_newUnit = _group createUnit [_class,position player,[],0,"NONE"];
		_newUnit setPosATL _position;
		_newUnit setDir _dir;
		{_newUnit removeMagazine _x;} forEach magazines _newUnit;
		removeAllWeapons _newUnit;
		{if (typeName _x == "ARRAY") then {_newUnit addMagazine [_x select 0,_x select 1];} else {_newUnit addMagazine _x;};} forEach _magazines;
		{_newUnit addWeapon _x;} forEach _weapons;
		if (str(_weapons) != str(weapons _newUnit)) then {
			{_weapons = _weapons - [_x];} forEach (weapons _newUnit);
			{_newUnit addWeapon _x;} forEach _weapons;
		};
		if (_primweapon != (primaryWeapon _newUnit)) then { _newUnit addWeapon _primweapon; };
		if (_secweapon != (secondaryWeapon _newUnit) && _secweapon != "") then { _newUnit addWeapon _secweapon; };
		removeAllWeapons _oldUnit;
		{
			_oldUnit removeMagazine _x;
		} forEach magazines _oldUnit;
		deleteVehicle _oldUnit;
		_oldUnit = nil;
		_newUnit setDamage 1;
		_newUnit setVariable["bodyName",_name,true];
		_newUnit setVariable["deathType",_method,true];
		_newUnit setVariable["cashMoney",_money,true];
	} else {cutText ["Нет места в инвентаре! Освободите слот!", "PLAIN DOWN"];};
};

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Sancezz063
      Пропадают машины, люди говорят до рестарта оставляют машину, а после она просто пропадает, может ли на это влиять админка ? 
      Машины пропадают которые собирают на сервере
    • By Ильяя
      После перезахода у каждого игрока пропадает лут, игрок появляется только с рюкзаком и всё что есть в рюкзаке. помогите
    • By SlavaGl
      Установил на сервер SC 3.0. Появилась проблема что после переодевания скина валюта, которая у игрока, пропадает. Логи чисты. Все остальные функции работают нормально. В чём может быть проблема?
    • By Gromillla
      Доброго времени суток господа, вопрос таков:
      Пропадают деньги из сейфов, всё установлено как надо.
      С админом хоста прологировали БД и выяснилось вот что:
       
      19:41 зашел игрок 19:42 открыл этот сейф 19:44 открыл этот же сейф... 19:44:58 - закрыл этот сейф...   19:44:47 - в сейфе чуть больше 2 миллионов 19:44:58 - в сейфе ноль   вопрос в том, как организовать проверку на открыт ли сейф, если нет то открывать, если открыт то закрыть? логи будут чуть позже, какие может ещё файлы нужны знатокам?   19:41:23 "[АнтиХак] Игрок присоединился: ["76561198203064248","serg"]" 19:42:08 "[АнтиХак] - [Открытие/Закрытие]: СЕЙФ ОТКРЫТ: ID:42976 UID:0 ИГРОК: serg(76561198203064248) @138035" 19:44:22 "[АнтиХак] - [Открытие/Закрытие]: СЕЙФ ОТКРЫТ: ID:42976 UID:0 ИГРОК: serg(76561198203064248) @138035" 19:44:58 "[АнтиХак] - [Открытие/Закрытие]: СЕЙФ ЗАКРЫТ: ID:42976 UID:0 ИГРОК: serg(76561198203064248) @138035"
       

    • By MisaAmane
      Периодически у некоторых людей из банка пропадают деньги из банка. Некоторые люди почему-то не записываются в таблицу банка, хотя триггер стоит да и скрипт вроде сам делает. С чем всё это может быть связано? Ошибок нет.
×
×
  • Create New...