Search the Community
Showing results for tags 'prone'.
Found 2 results
-
Hello, I am looking for a solution to an issue which troubles me greatly - AI going prone on contact. I guess all of us have experienced it before and know that once the AI changes combat mode, it instantly goes to the ground which is not always realistic, nor is it good for the players. I have searched for a solution for some time now and most of the solutions suggested forcing AI to one specific stance, either by Zeus or by setUnitPos. Unfortunately, none of the solutions considered allowing the AI to either STAND or KNEEL, which is what I'm hoping for. Maybe there is a way to add an eventhandler of some sort which could override the PRONE stance with KNEEL, if possible. Otherwise, maybe it could just disable prone itself, leaving kneel and stand for the AI to choose normally. I did find a semi-solution to this, which is using trigger areas and modules, which force the stance change of the AI within a trigger to whatever I set, however that's a) fixed to one stance, and b) always in zones that have been predefined by me, not dynamic in any way. I lack enough experience to write something like this on my own, but I do feel like forbidding AIs PRONE stance only is possible - I just don't know exactly how to do it. Will be grateful for any help! Adam
-
I am attempting to add Launcher animations and transitions for the prone stance. Selecting a launcher in prone only to make your character stand or crouch, revealing yourself to enemy fire or sight, is unacceptable. Not being able to ready a launcher or even fire one from the prone position is unacceptable. ACE 1 and 2 did this by creating new States in the animation config, and altering the Actions for transitions. As ArmA 3 has added more actions and made some animation config entries defunct, I am having difficulty porting this feature over. Currently the animation state works correctly when switching from a rifle in prone to a launcher in prone. Attempting to switch to a launcher without a weapon (civil Lying) goes into multiple animations ending up in civil standing, and it does not work when switching from launcher standing or launcher kneeling. Can someone assist with this animation config? class CfgPatches { class pizza_launcher_prone { units[] = {}; weapons[] = {}; requiredVersion = 1; requiredAddons[] = {"A3_Anims_F", "A3_Anims_F_Data","A3_Anims_F_Config_Sdr"}; version = 1; }; }; class CfgMovesBasic { class Default; // External class reference class Actions { class NoActions; // External class reference class CivilStandActions; // External class reference class CivilProneActions : CivilStandActions { SecondaryWeapon = "ACE_LauncherProne"; }; class PistolStandActions; // External class reference class PistolProneActions : PistolStandActions { SecondaryWeapon = "ACE_LauncherProne"; }; class RifleBaseStandActions; // External class reference class RifleProneActions : RifleBaseStandActions { SecondaryWeapon = "ACE_LauncherProne"; }; class LauncherKneelActions : NoActions { down = "ACE_LauncherProne"; up = "AmovPercMstpSrasWlnrDnon"; Lying = "ACE_LauncherProne"; PlayerProne = "ACE_LauncherProne"; EvasiveBack = ""; Stand = "AmovPercMstpSrasWlnrDnon"; PlayerStand = "AmovPercMstpSrasWlnrDnon"; Crouch = "AmovPknlMstpSrasWlnrDnon"; PlayerCrouch = "AmovPknlMstpSrasWlnrDnon"; }; class LauncherStandActions : LauncherKneelActions { down = "ACE_LauncherProne"; PlayerProne = "ACE_LauncherProne"; Lying = "ACE_LauncherProne"; }; class ACE_LauncherProneActions : LauncherKneelActions { stop = "ACE_LauncherProne"; default = "ACE_LauncherProne"; binocOn = "awopppnemstpsoptwbindnon_non"; binocOff = "ACE_LauncherProne"; handGunOn = "AmovPpneMstpSrasWpstDnon"; ReloadRPG = ""; GestureReloadRPG7[] = {"", ""}; down = "AmovPercMstpSrasWlnrDnon"; up = "AmovPknlMstpSrasWlnrDnon"; PlayerStand = "AmovPercMstpSrasWlnrDnon"; PlayerCrouch = "AmovPknlMstpSrasWlnrDnon"; PlayerProne = "ACE_LauncherProne"; Combat = "ACE_LauncherProne"; Lying = "ACE_LauncherProne"; Stand = "AmovPercMstpSrasWlnrDnon"; Crouch = "AmovPknlMstpSrasWlnrDnon"; die = "AdthPpneMstpSrasWrflDnon_1"; Civil = "AmovPpneMstpSnonWnonDnon"; CivilLying = "AmovPpneMstpSnonWnonDnon"; walkF = "ACE_LauncherProneCrawlF"; walkLF = "ACE_LauncherProneCrawlfl"; walkRF = "ACE_LauncherProneCrawlfr"; walkL = "ACE_LauncherProneCrawll"; walkR = "ACE_LauncherProneCrawlr"; walkLB = "ACE_LauncherProneCrawlbl"; walkRB = "ACE_LauncherProneCrawlbr"; walkB = "ACE_LauncherProneCrawlb"; slowF = "ACE_LauncherProneCrawlf"; slowLF = "ACE_LauncherProneCrawlfl"; slowRF = "ACE_LauncherProneCrawlfr"; slowL = "ACE_LauncherProneCrawll"; slowR = "ACE_LauncherProneCrawlr"; slowLB = "ACE_LauncherProneCrawlbl"; slowRB = "ACE_LauncherProneCrawlbr"; slowB = "ACE_LauncherProneCrawlb"; fastF = "ACE_LauncherProneCrawlf"; fastLF = "ACE_LauncherProneCrawlfl"; fastRF = "ACE_LauncherProneCrawlfr"; fastL = "ACE_LauncherProneCrawll"; fastR = "ACE_LauncherProneCrawlr"; fastLB = "ACE_LauncherProneCrawlbl"; fastRB = "ACE_LauncherProneCrawlbr"; fastB = "ACE_LauncherProneCrawlb"; EvasiveForward = ""; EvasiveLeft = ""; EvasiveRight = ""; EvasiveBack = ""; turnL = ""; turnR = ""; turnLRelaxed = ""; turnRRelaxed = ""; getInCar = "AmovPknlMstpSrasWrflDnon"; getOutCar = "AmovPknlMstpSrasWrflDnon"; getInTank = "AmovPknlMstpSrasWrflDnon"; getOutTank = "AmovPknlMstpSrasWrflDnon"; upDegree = "ManPosWeapon"; leanRRot = 0; leanRShift = 0; leanLRot = 0; leanLShift = 0; turnSpeed = 2; }; }; }; class CfgMovesMaleSdr : CfgMovesBasic { class States { class ACE_LauncherProne : Default { actions = "ACE_LauncherProneActions"; duty = -0.7; file = "\ace_anims\movement\ACE_Launcher_Lying.rtm"; collisionShape = "A3\anims_f\Data\Geom\Sdr\Ppne.p3d"; showWeaponAim = false; disableWeapons = false; disableWeaponsLong = false; enableMissile = true; canPullTrigger = true; aimPrecision = 0.3; speed = 1e+010; relSpeedMin = 0.7; relSpeedMax = 1.1; aiming = "aimingLauncher"; looped = true; soundEnabled = false; connectTo[] = {}; connectFrom[] = {}; interpolateFrom[] = {"ACE_LauncherProne", 0.04}; interpolateTo[] = {"ACE_LauncherProne", 0.04}; enableBinocular = true; preload = false; headBobStrength = 0.20398; headBobMode = 2; leftHandIKBeg = true; leftHandIKCurve[] = {1}; leftHandIKEnd = true; rightHandIKBeg = true; rightHandIKCurve[] = {1}; rightHandIKEnd = true; weaponIK = 4; legs = "legsLyingAimingPistol"; visibleSize = 0.15; onLandBeg = true; onLandEnd = true; leaningFactorBeg = 0; leaningFactorEnd = 0; enableOptics = 4; }; class TransAnimBase; class ACE_LauncherKneel_LauncherProne : TransAnimBase { actions = "ACE_LauncherProneActions"; file = "\A3\anims_f\Data\Anim\Sdr\mov\knl\stp\ras\lnr\amovpknlmstpsraswlnrdnon_amovppnemstpsraswlnrdnon"; speed = 0.33; weaponIK = 4; aiming = "aimingCivil"; aimingBody = "aimingUpCivil"; onLandBeg = false; onLandEnd = true; interpolationSpeed = 1; soundOverride = "laydown"; soundEnabled = true; enableMissile = true; interpolateFrom[] = {"AmovPknlMstpSrasWlnrDnon", 0.01}; interpolateTo[] = {"ACE_LauncherProne", 0.01}; }; class ACE_LauncherProne_LauncherKneel : TransAnimBase { actions = "LauncherKneelActions"; file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\stp\ras\lnr\amovppnemstpsraswlnrdnon_amovpknlmstpsraswlnrdnon"; speed = 0.31; aiming = "aimingCivil"; aimingBody = "aimingUpCivil"; onLandBeg = true; onLandEnd = false; enableMissile = true; interpolationSpeed = 1; soundOverride = "standup"; soundEnabled = true; leaningFactorBeg = 0.5; leaningFactorEnd = 0.5; weaponIK = 4; interpolateFrom[] = {"ACE_LauncherProne", 0.01}; interpolateTo[] = {"AmovPknlMstpSrasWlnrDnon", 0.01}; }; class ACE_RifleProne_LauncherProne : TransAnimBase { actions = "ACE_LauncherProneActions"; file = "\A3\anims_f\Data\Anim\Sdr\mov\pne\stp\ras\rfl\AmovPpneMstpSrasWrflDnon_AwopPpneMstpSoptWbinDnon"; speed = 0.66; disableWeapons = true; aiming = "aimingCivil"; aimingBody = "aimingUpCivil"; interpolationSpeed = 1; leftHandIKBeg = 0.0; leftHandIKCurve[] = {}; leftHandIKEnd = 0.0; rightHandIKBeg = 0.0; rightHandIKCurve[] = {}; rightHandIKEnd = 0.0; soundEnabled = false; leaningFactorBeg = 1.0; leaningFactorEnd = 0.5; interpolateFrom[] = {"AmovPpneMstpSrasWrflDnon", 0.01}; interpolateTo[] = {"ACE_LauncherProne", 0.01}; weaponIK = 4; onLandBeg = true; onLandEnd = true; }; class ACE_LauncherProne_RifleProne : TransAnimBase { actions = "RifleProneActions"; file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\stp\ras\pst\AmovPpneMstpSrasWpstDnon_AmovPpneMstpSrasWrflDnon_end"; speed = 0.16; disableWeapons = true; aiming = "aimingCivil"; aimingBody = "aimingUpCivil"; interpolationSpeed = 1; leftHandIKBeg = 0.0; leftHandIKCurve[] = {0}; leftHandIKEnd = false; rightHandIKBeg = 0.0; rightHandIKCurve[] = {0}; rightHandIKEnd = false; soundEnabled = false; leaningFactorBeg = 0; leaningFactorEnd = 0; interpolateFrom[] = {"ACE_LauncherProne", 0.01}; interpolateTo[] = {"AmovPpneMstpSrasWrflDnon", 0.01}; weaponIK = 4; onLandBeg = true; onLandEnd = true; }; class ACE_LauncherProneCrawlf : ACE_LauncherProne { actions = "ACE_LauncherProneActions"; file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDf"; speed = 0.9; collisionShape = "A3\anims_f\Data\Geom\Sdr\Ppne.p3d"; duty = -0.3; leaningFactorBeg = 0; leaningFactorEnd = 0; disableWeapons = true; disableWeaponsLong = true; soundEnabled = true; connectTo[] = {"ACE_LauncherProneCrawlf", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawlf", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlfl", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlfl", 0.025}; weaponIK = 0; }; class ACE_LauncherProneCrawlfl : ACE_LauncherProneCrawlf { file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDfl"; speed = 0.9; connectTo[] = {"ACE_LauncherProneCrawlfl", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawlfl", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawll", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawll", 0.025}; }; class ACE_LauncherProneCrawll : ACE_LauncherProneCrawlf { file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDl"; speed = 1.2; connectTo[] = {"ACE_LauncherProneCrawll", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawll", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlbl", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlbl", 0.025}; }; class ACE_LauncherProneCrawlbl : ACE_LauncherProneCrawlf { file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDbl"; speed = 0.9; connectTo[] = {"ACE_LauncherProneCrawlbl", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawlbl", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlb", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlb", 0.025}; }; class ACE_LauncherProneCrawlb : ACE_LauncherProneCrawlf { file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDb"; speed = 0.9; connectTo[] = {"ACE_LauncherProneCrawlb", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawlb", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlbr", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlbr", 0.025}; }; class ACE_LauncherProneCrawlbr : ACE_LauncherProneCrawlf { file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDbr"; speed = 0.8; connectTo[] = {"ACE_LauncherProneCrawlbr", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawlbr", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlr", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlr", 0.025}; }; class ACE_LauncherProneCrawlr : ACE_LauncherProneCrawlf { file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDr"; speed = 1.2; connectTo[] = {"ACE_LauncherProneCrawlr", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawlr", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlfr", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlfr", 0.025}; }; class ACE_LauncherProneCrawlfr : ACE_LauncherProneCrawlf { file = "\A3\anims_f\Data\Anim\Sdr\Mov\pne\run\non\non\AmovPpneMrunSnonWnonDfr"; speed = 0.75; connectTo[] = {"ACE_LauncherProneCrawlfr", 0.02}; connectFrom[] = {"ACE_LauncherProneCrawlfr", 0.02}; interpolateFrom[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlf", 0.025}; interpolateTo[] = {"ACE_LauncherProne", 0.02, "ACE_LauncherProneCrawlf", 0.025}; }; }; class Interpolations { ACE_LauncherProneMove[] = {2, "ACE_LauncherProne", "ACE_LauncherProneCrawlF", "ACE_LauncherProneCrawlfl", "ACE_LauncherProneCrawlfr", "ACE_LauncherProneCrawll", "ACE_LauncherProneCrawlr", "ACE_LauncherProneCrawlbl", "ACE_LauncherProneCrawlbr", "ACE_LauncherProneCrawlb"}; }; };