Advertisement
Guest User

http://opendayz.net/ Remove Clothes

a guest
Jun 30th, 2013
1,707
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Created by [GEEK SQUAD]Churchie
  2. // Contributors to getting it working are:| cyrq | Manatee Hunter | Deasil | Seaweeduk |Thank you!
  3. player removeAction s_clothes;
  4. s_clothes = -1;
  5. private["_body","_result"];
  6. _body = _this select 3;
  7. _model = typeOf _body;
  8. if( _model in ["Sniper1_DZ","Camo1_DZ"] ) then { _model = "Skin_" + _model;
  9. _rnd = random 1;
  10. if (_rnd > 0.4) then {
  11. _result = [player,_model] call BIS_fnc_invAdd;
  12. }
  13. else {
  14. _model = "Skin_Survivor2_DZ";
  15. _result = [player,_model] call BIS_fnc_invAdd;
  16. cutText ["The clothing tears as you try to remove it from the corpse", "PLAIN DOWN"];
  17. };
  18. if (_result) then { player playActionNow "PutDown";
  19. private["_name","_method","_methodStr"];
  20. _name = _body getVariable["bodyName","unknown"];
  21. _method = _body getVariable["deathType","unknown"];
  22. _methodStr = localize format ["str_death_%1",_method];
  23. _class = "Survivor2_DZ";
  24. _position = getPosATL _body;
  25. _dir = getDir _body;
  26. _currentAnim = animationState
  27. _body; private ["_weapons","_magazines","_primweapon","_secweapon"];
  28. _weapons = weapons _body;
  29. _primweapon = primaryWeapon
  30. _body; _secweapon = secondaryWeapon _body;
  31. if(!(_primweapon in _weapons) && _primweapon != "") then { _weapons = _weapons + [_primweapon]; };
  32. if(!(_secweapon in _weapons) && _secweapon != "") then { _weapons = _weapons + [_secweapon]; };
  33. _magazines = magazines _body;
  34. private ["_newBackpackType","_backpackWpn","_backpackMag"]; dayz_myBackpack = unitBackpack _body;
  35. _newBackpackType = (typeOf dayz_myBackpack);
  36. if(_newBackpackType != "") then { _backpackWpn = getWeaponCargo unitBackpack _body;
  37. _backpackMag = getMagazineCargo unitBackpack _body; };
  38. _currentWpn = currentWeapon _body;
  39. _muzzles = getArray(configFile >> "cfgWeapons" >> _currentWpn >> "muzzles");
  40. if (count _muzzles > 1) then { _currentWpn = currentMuzzle _body; };
  41. diag_log "Attempting to switch model";
  42. diag_log str(_weapons);
  43. diag_log str(_magazines);
  44. diag_log (str(_backpackWpn));
  45. diag_log (str(_backpackMag));
  46. _body setPosATL dayz_spawnPos;
  47. _oldUnit = _body;
  48. _group = createGroup west;
  49. _newUnit = _group createUnit [_class,position player,[],0,"NONE"];
  50. _newUnit setPosATL _position;
  51. _newUnit setDir _dir; {_newUnit removeMagazine _x;} forEach magazines _newUnit;
  52. removeAllWeapons _newUnit; {
  53. if (typeName _x == "ARRAY") then {_newUnit addMagazine [_x select 0,_x select 1]
  54. } else { _newUnit addMagazine _x };
  55. } forEach _magazines; { _newUnit addWeapon _x; } forEach _weapons;
  56. if(str(_weapons) != str(weapons _newUnit)) then { { _weapons = _weapons - [_x];
  57. } forEach (weapons _newUnit); {
  58. _newUnit addWeapon _x;
  59. } forEach _weapons; };
  60. if(_primweapon != (primaryWeapon _newUnit)) then { _newUnit addWeapon _primweapon; };
  61. if(_secweapon != (secondaryWeapon _newUnit) && _secweapon != "") then { _newUnit addWeapon _secweapon; };
  62. if (!isNil "_newBackpackType") then {
  63. if (_newBackpackType != "") then { _newUnit addBackpack _newBackpackType;
  64. _oldBackpack = dayz_myBackpack; dayz_myBackpack = unitBackpack _newUnit; _backpackWpnTypes = [];
  65. _backpackWpnQtys = [];
  66. if (count _backpackWpn > 0) then { _backpackWpnTypes = _backpackWpn select 0;
  67. _backpackWpnQtys = _backpackWpn select 1; };
  68. _countr = 0; { dayz_myBackpack addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];
  69. _countr = _countr + 1;
  70. } forEach _backpackWpnTypes;
  71. _backpackmagTypes = [];
  72. _backpackmagQtys = [];
  73. if (count _backpackmag > 0) then { _backpackmagTypes =
  74. _backpackMag select 0;
  75. _backpackmagQtys = _backpackMag select 1; };
  76. _countr = 0; { dayz_myBackpack addmagazineCargoGlobal [_x,(_backpackmagQtys select _countr)];
  77. _countr = _countr + 1;
  78. } forEach _backpackmagTypes; }; };
  79. diag_log "Taking Clothes. Equipment:";
  80. diag_log str(weapons _newUnit); diag_log str(magazines _newUnit);
  81. diag_log str(getWeaponCargo unitBackpack _newUnit);
  82. diag_log str(getMagazineCargo unitBackpack _newUnit);
  83. removeAllWeapons _oldUnit; {_oldUnit removeMagazine _x;
  84. } forEach magazines _oldUnit; deleteVehicle _oldUnit;
  85. _newUnit setDamage 1;
  86. _newUnit setVariable["bodyName",_name,true];
  87. _newUnit setVariable["deathType",_method,true];
  88. } else {
  89. cutText ["You need a free slot to take clothing.", "PLAIN DOWN"];
  90. };
  91. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement