Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. ["Dog Mod", "Convert Person to Dog",
  2. {
  3. private _object = [_logic, false] call Ares_fnc_GetUnitUnderCursor;
  4. private _pos = getPos _object;
  5. private _dir = getDir _object;
  6. if (isNull _object) exitWith { [localize "STR_AMAE_NO_OBJECT_SELECTED"] call Achilles_fnc_showZeusErrorMessage; };
  7. killDog = 0;
  8. hintSilent "Converted to Dog";
  9. [_this select 1,"Fin_random_F"] spawn {
  10. params ["_guy","_class","_act"];
  11. private ["_dog"];
  12. _dog = createAgent [_class, getPos _guy, [], 0, "CAN_COLLIDE"];
  13. _dog setVariable ["BIS_fnc_animalBehaviour_disable", true];
  14. if (isServer) then {
  15. _grp = createGroup CIVILIAN;
  16. _rabbit = _grp createUnit ["rabbit_F", getPos player, [], 5, "CAN_COLLIDE"];
  17. _rabbit attachTo [_dog,[0,0,0]];
  18. _rabbit hideObjectGlobal true;
  19. _rabbit setVariable ["BIS_fnc_animalBehaviour_disable", true];
  20. _guy hideObjectGlobal true;
  21. } else {
  22. [[_dog, _guy, player], {
  23. params ["_dog", "_guy", "_player"];
  24. _grp = createGroup CIVILIAN;
  25. _rabbit = _grp createUnit ["rabbit_F", getPos _player, [], 5, "CAN_COLLIDE"];
  26. _rabbit attachTo [_dog,[0,0,0]];
  27. _rabbit hideObjectGlobal true;
  28. _rabbit setVariable ["BIS_fnc_animalBehaviour_disable", true];
  29. _guy hideObjectGlobal true;
  30. }] remoteExec ["spawn", 2];
  31. };
  32. while {alive _guy && alive _dog} do {
  33. removeAllWeapons _guy;
  34. if (killDog ==1) then { //couldnt think of another way to remove the dog other than doing this, when killDog is set to 1 by the 2nd set of scripts it allows me to remove the dog & the rabbit (a place holder)
  35. deleteVehicle _dog;
  36. deleteVehicle _rabbit;
  37. };
  38.  
  39. if (speed _guy > 10) then {
  40. _dog playMoveNow "Dog_Sprint";
  41. } else {
  42. if (speed _guy > 6) then {
  43. _dog playMoveNow "Dog_Run";
  44. } else {
  45. if ((speed _guy > 2) || (speed _guy < -2)) then {
  46. _dog playMoveNow "Dog_Walk";
  47. } else {
  48. if !(_guy getVariable ["bark",false]) then {
  49. if ((stance _guy) == "STAND") then {
  50. _dog playMoveNow "Dog_Stop";
  51. } else {
  52. if ((stance _guy) == "PRONE") then {
  53. _dog playMoveNow "Dog_Sit";
  54. } else {
  55. _dog playMoveNow "Dog_Idle_Stop";
  56. };
  57. };
  58. };
  59. };
  60. };
  61. };
  62. sleep 0.05;
  63. };
  64. while {alive _guy && !alive _dog && alive _rabbit} do {
  65. _guy setDamage 1;
  66. deleteVehicle _rabbit;
  67. };
  68. };}] call Ares_fnc_RegisterCustomModule;
  69.  
  70. //reverses previous module
  71. ["Dog Mod", "Turn back to Human", {
  72. private _object = [_logic, false] call Ares_fnc_GetUnitUnderCursor;
  73. private _pos = getPos _object;
  74. private _dir = getDir _object;
  75. if (isNull _object) exitWith { [localize "STR_AMAE_NO_OBJECT_SELECTED"] call Achilles_fnc_showZeusErrorMessage; };
  76. _rabbit = _object getVariable ["rabbit_id", objNull];
  77. _rabbit setDamage 1;
  78. remoteExec ["_guy hideObjectGlobal true"];
  79. killDog = 1;
  80. }] call Ares_fnc_RegisterCustomModule;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement