_dog = player getVariable "CLAY_DogUnit"; switch (_this select 0) do { case 1: { player setVariable ["CLAY_DogStatus", "Boarding"]; _vehicle = _this select 1; if (_vehicle iskindof "all") then { _pos = [0,-2.5, 0]; _dir = 270; if (_vehicle isKindOf "olrpg_pdk9cv_fpb") then { _pos = [0.07,-0.7, 0.4]; }; if (_vehicle isKindOf "olrpg_pdk9taurusfpb") then { _pos = [0.1,-0.6, 0.35]; }; if (_vehicle isKindOf "olrpg_pdk9charger") then { _pos = [0.1,-1, -0.2]; }; if (_vehicle isKindOf "olrpg_pdk9suburban") then { _pos = [0.1,-2.55, -0.65]; }; if (_vehicle isKindOf "olrpg_pdk9suburban_slick") then { _pos = [0.1,-2.6, -0.55]; }; while {alive _dog && _dog distance _vehicle > 10 && player getVariable "CLAY_DogStatus" == "Boarding"} do { _dog doMove getPos _vehicle; sleep 2; }; if (alive _dog && _dog distance _vehicle <= 10 && player getVariable "CLAY_DogStatus" == "Boarding") then { _dog attachTo [_vehicle, _pos]; _dog setDir _dir; _dog switchMove "Dog_Stop"; _dog disableAI "ANIM"; sleep 1; player setVariable ["CLAY_DogStatus", "InVehicle"]; _dog setVariable ["CLAY_DogVehicle", _vehicle]; (DOGCTRL_MENU select 1) set [6, "0"]; (DOGCTRL_MENU select 2) set [6, "0"]; (DOGCTRL_MENU select 3) set [6, "0"]; (DOGCTRL_MENU select 6) set [6, "0"]; (DOGCTRL_MENU select 7) set [6, "0"]; (DOGCTRL_MENU select 10) set [6, "1"]; }; } Else { Hint "Invalid Vehicle Type!"; _dog doMove getPos _dog; sleep 1; //_dog playMove "Dog_Siting"; player setVariable ["CLAY_DogStatus", "Waiting"]; }; }; case 2: { _vehicle = _dog getVariable "CLAY_DogVehicle"; detach _dog; _dog setPos [(getPos _vehicle select 0) + (-5 * sin (getDir _vehicle)), (getPos _vehicle select 1) + (-5 * cos (getDir _vehicle)), 0.5]; _dog setDir (getDir _vehicle + 180); _dog enableAI "ANIM"; _dog playMove "Dog_Run"; sleep 1; player setVariable ["CLAY_DogStatus", "Waiting"]; (DOGCTRL_MENU select 1) set [6, "1"]; (DOGCTRL_MENU select 3) set [6, "1"]; (DOGCTRL_MENU select 6) set [6, "1"]; (DOGCTRL_MENU select 7) set [6, "1"]; (DOGCTRL_MENU select 10) set [6, "0"]; }; };