Jump to content
Sign in to follow this  
.kju

Scripted weapon collision addon - looking for input

Recommended Posts

As we all know the weapon interaction with objects (door/walls/etc) is a major annoyance in Arma.

However there are games like the UT Infiltration MOD, Vietcong or RO2 (?) (are said to) do it fairly well.

The general idea is to lower the weapon/put it aside, when getting too close to objects, and have it back ready,

where there is enough room again.

With the recent intersect commands, I think we might be able to script a decent solution or at least build a prototype BI could build upon.

If someone has access to the source code of these games, it would help immensely to understand how they do it.

Not sure if its available though - can you check or does someone know developers from these games?

My basic concept so far is this:

  1. Create a game logic
  2. Attach it to the player so that its in front of him
  3. This way you can easily check for objects between the logic and the player with lineIntersectsWith (note: another approach could be to use nearestObjects or such first and only use lineIntersectsWith if an object is actually nearby, if lineIntersectsWith is too demanding to be run constantly with a high frequency)
  4. Next check the distance from the player to the object
  5. This has to involve boundigBox and some geometry/trigonometry I believe for proper distance checking to the edges of the object (rather than just center)
  6. If the player is too close, lower the weapon via script (player action ["WeaponOnBack", player])
  7. If the player moves away again, pull the weapon back up via script (player action ["WeaponInHand", player])

This may work more or less. I'd very much appreciate help with this. :bounce3:

Testing code:

sign = "sign_sphere25cm_ep1" createVehicleLocal (getpos player);
sign attachTo [player];//actual offset to be defined 
objects = lineIntersectsWith [eyePos player, eyePos sign, player, sign]; 
object = if (count objects > 0) then {objects select 0} else {objNull};
player distance object;
player action ["WeaponOnBack", player];
player action ["WeaponInHand", player];

Ref:

http://dslyecxi.com/botg_infiltration_2.html - Weapon Collision with Environment

http://forums.tripwireinteractive.com/showthread.php?t=30529

http://www.serellan.com/forums/index.php?/topic/30-weapon-and-body-collision/

http://forums.beyondunreal.com/showthread.php?t=80902

http://forums.bistudio.com/showthread.php?70154-PROPER-Weapon-Collision-Shape

Edited by .kju [PvPscene]

Share this post


Link to post
Share on other sites

Interesting concept, and a good idea.

Potential sticking points:

- The actions causing the player to stop mid-stride, for example, when cutting the pie. It would be great if the weapon raising/lowering animation could be a gesture (i.e. limited to the upper body) rather than a full body animation.

- When looking through optics and using the WeaponOnBack action, the lowering animation is played and the weapon is raised immediately after (perhaps kick the player out of optics?).

- When prone, either action causes the player to stand up, hence you'll need an animation check or somesuch. Similar anomalies occur when kneeling.

There may be too many issues with the particular actions WeaponInHand or WeaponOnBack to be used - would the use of the specific kneeling and standing animations be a better bet?

Share this post


Link to post
Share on other sites

I think talking to the guys that did the SMK Animations would help. Some of there action are connected to surface arround you. For example, lean on wall or jump over wall.

Share this post


Link to post
Share on other sites

Good points CMD - in the end only BI can do the smooth and nice solution.

To get a working prototype would improve chances significantly to see it in A3 I believe.

Share this post


Link to post
Share on other sites

ShackTac movement made it so you wont get stuck on a corner if you get too close.

(not lowering the weapon but keeps some of the CQB clumpsyness away from arma)

This idea in this thread is about making the player do a "lower weapon" animation if he gets too close.

(lowering the weapon making it unusable while you're too close to a wall)

Share this post


Link to post
Share on other sites

@ PVP - I must admit I haven't looked at the intersect command yet so I can't comment on its suitability, but I've often wondered about solving this problem. This is all very pie in the sky and you'll know a lot more about how movable objects interact with static environmental objects so you may say straight off the bat that what I'm about to propose is impossible.

Add to all wall, building etc class objects a custom config entry stating that if its a solid object then it forces the players weapon to be lowered (eg. lowerWeapon = true). This could be done fairly high up the class tree or you could be more specific if you liked based on wall/vehicle height etc (for example, some objects would only occlude if you were kneeling). I then envisaged a nearObjects type loop that would look for all objects that contained the custom config statement within a metre or so of the player and if a players hands or weapon were within a certain distance the player would be forced to lower his weapon - I imagine this would have to be done in model space. A similar method could be used to identify walls etc that a player could use for cover or when stacking up next to a closed door using something like smookies custom animations. All of this would be fairly processor intensive I guess so it it may not be worth contemplating.

Anyway my 2 cents let me know if you want me to flesh out the idea further - if I ever get the time I may even get around to giving it a go.

norrin

EDIT: Ignore all of that :)

Try this, it seems to work, the distance from the wall may need a little tweaking and you can also get locked into a weapon up/down loop because the players eye position moves when the weapon is lowered - this would probably work better with the shactac addon. The only other problem I can see is that when you are in aiming mode you only lower your weapon for a second if you are standing against a wall, seems to work fine when you're kneeling in aim mode though.

_occlude = false;
_c = 0;
while {true} do {
_wepDir = player weaponDirection (primaryWeapon player);
_wepRotate = (_wepDir select 0) atan2 (_wepDir select 1);
_playerPos = eyePos player;
_viewPos = [(_playerPos select 0) + (sin _wepRotate) * 1.2, (_playerPos select 1) + (cos _wepRotate) * 1.2, (_playerPos select 2)]; //eye distance from wall = 1.2 metres
_occlude = lineIntersects [eyePos player, _viewPos];
hintSilent format ["%1", _occlude];// Hint Player against wall
if (_occlude) then {
	if (_c == 0) then {
		player action ["WeaponOnBack", player]; 
		_c = 1;
	};
} else {
	if (_c == 1) then {
		player action ["WeaponInHand", player];
		_c = 0;
	};
};
sleep 0.1;
};

One final thing if you were to reverse the distance eg. -1.2 you could determine whether a players back was against a wall!

Edited by norrin
Added working code

Share this post


Link to post
Share on other sites

Here is a test mission if someone wants to test norrin approach:

http://www.file-upload.net/download-4523128/WeaponCollisionTest.desert_e.7z.html

It works fairly well. Thanks for sharing norrin :)

Can you please clarify - you use eyePos to try to see if there is actually a blocking shape between you and the object?

This is an interesting idea and approach - well done. Question if usable enough within the SQF command limits.

Share this post


Link to post
Share on other sites
Can you please clarify - you use eyePos to try to see if there is actually a blocking shape between you and the object?

This is an interesting idea and approach - well done. Question if usable enough within the SQF command limits.

Yes that's correct, the code checks to see if there is an object 1.2 metres directly in front of the players eyes in the direction that the player's weapon is currently facing, so if you were to turn your head without turning your body and your line of sight was no longer blocked then the weapon would remain lowered. From the limited testing I've done it seems to work correctly with windows ie. if standing in front of a window the weapon does not lower and it also works properly if you are standing in front of a waist high wall ie. when standing view is not blocked weapon is up, when kneeling and the view is blocked the weapon is lowered.

CamMcD is right the weapononback/weaponinhand action is far from perfect for this function for all the reasons he describes. I'll try and find a way around it - might make a new animation - the big sticking point will be incorporating it smoothly into the existing suite of movements without resorting to the switchMove command. If on the otherhand BIS could create an upper body weapon up/down action as CamMc suggests then we'd be getting pretty close to something that was usable.

EDIT: I've revised the code to make things work a little better, still far from perfect though.

1. I've increased the "sleep" time a little (to 0.3 seconds), this makes the code slightly less responsive however it reduces the chance of getting stuck in a weapon raised/lowered loop.

2. I've added an animation check to determine whether the player is standing or kneeling when approaching and moving away from a wall so that the correct weapon up/down animation is played

3. I've added an anim check to determine whether the player's weapon is already lowered (default key: 2 x ctrl) when he gets to the wall so that it doesn't play the lower weapon animation if it is not necessary.

4. If you're prone and against a wall no animation is played

5. I haven't added it yet but I've worked out a fix for the aiming bug while standing using the switchCamera command, I also think I may have come up with an idea that will fix the looping animation bug. I'll see if I can post some further revisions tomorrow night.

_occlude 	= false;
_c 			= 0;
_animState  = "";
_anim 		= "";
_wepReady	= ""; 
_stance 	= nil;
_toArray 	= [];

while {true} do {
_wepDir = player weaponDirection (primaryWeapon player);
_wepRotate = (_wepDir select 0) atan2 (_wepDir select 1);
_playerPos = eyePos player;
_viewPos = [(_playerPos select 0) + (sin _wepRotate) * 1.2, (_playerPos select 1) + (cos _wepRotate) * 1.2, (_playerPos select 2)]; //eye distance from wall = 1.2 metres
_occlude = lineIntersects [eyePos player, _viewPos];
_animState = animationState player; // Determine player's current animation
_toArray = toArray _animState; // convert animation string to an array of numbers
_stance = _toArray select 5; // check player's current stance 101 = standing, 107 = kneeling
_wepReady = _toArray select 13; //// check whether player's weapon is ready 114 = raised, 108 = lowered
hintSilent format ["%1", _occlude];// Hint player's weapon against wall
if (_occlude) then {
	if (_c == 0 && _wepReady == 114) then {
		_anim = switch (_stance) do {
			case 101 : {"AmovPercMstpSlowWrflDnon"};
			case 107 : {"AmovPknlMstpSlowWrflDnon"};
		};
		player playMove _anim;
		_c = 1;
	};
} else {
	if (_c == 1) then {
		_anim = switch (_stance) do {
			case 101 : {"AidlPercMstpSrasWrflDnon_aiming0S"};
			case 107 : {"AidlPknlMstpSrasWrflDnon0S"};
		};
		player playMove _anim;
		_c = 0;
	};
};
sleep 0.3;
};

Edited by norrin

Share this post


Link to post
Share on other sites

Oops I've double posted again. :)

Here's a link to a test mission containing the latest suite of scripts: http://home.iprimus.com.au/simonnsl/weaponOcclusion/weapOccl_testMission.Zargabad.7z

Fixes:

1. Weapon is only lowered if you have a rifle/LMG readied as you cannot lower pistols or launchers.

2. Optimised code to lower processor requirements on client eg. Added functions to remove code from main loop NB: this script only runs on client

3. Added a check to stop multiple instances of the rifle lowering scripts from running if you are squad leader and your squad contains AI

4. Fixed bug whereby once your weapon was lowered you could still raise it by aiming.

5 Almost completely removed the possibility of being stuck in an animation loop.

Over the next few days I'll add some more checks for movement speed so you don't stop for an instant every time you auto-raise your rifle.

If you try it please let me know how you get on.

norrin

Edited by norrin
Inability to type

Share this post


Link to post
Share on other sites

With the fear that some moderator may electrocute me I'm going for the triple post.

Here's a new version: http://www.norrin.org/norrin/ArmA2/scripts/WepOcclusion/weapOccl_v04.Zargabad.7z

Fixes:

1. Sped up the lower/raise weapon animations so that it hardly affects movement, not sure whether I'll be able to do much better than this with the currently available animations.

Edited by norrin
Added video

Share this post


Link to post
Share on other sites

Ugh that's way too fast. The animation just immediately jumps between raised and lowered.

Share this post


Link to post
Share on other sites
Ugh that's way too fast. The animation just immediately jumps between raised and lowered.

An alternative to the first video using a blended animation method to raise and lower weapons. Certainly looks more natural but movement is clearly interrupted when raising and lowering your rifle. I agree that the first method is too fast but from a first person view it looks a hell of a lot smoother. The only alternative is to use the blended animation method (which would be seen by all clients on a dedicated server) and to remove some frames from existing animations so that we get a compromise between the 2 methods - this will require an addon however.

If you want to try it for yourself a test mission is available here: http://www.norrin.org/norrin/ArmA2/scripts/WepOcclusion/weapOccl_v05.Zargabad.7z

Share this post


Link to post
Share on other sites

So there's no way to make soldier not stop when playing that animation with only higher body being affected?

Isn't there some kind of ArmA2 animation editor which will let you create a custom animation out of the original one to simply play lower/raise weapon anim while still moving?

Share this post


Link to post
Share on other sites
So there's no way to make soldier not stop when playing that animation with only higher body being affected?

Isn't there some kind of ArmA2 animation editor which will let you create a custom animation out of the original one to simply play lower/raise weapon anim while still moving?

That's a good question. I can make the animation no problem its incorporating it into the existing anims that will be difficult. In one of my tests I made, I set it up so that the player would lower his weapon and continue the same action he was doing when he reached the wall, should have made a video of it, but it was a bit of a disaster. For instance, if I was sprinting towards a wall I would stop raise then lower my weapon and then continue sprinting until the animation was completed - was a much worse result. I'll spend some time seeing if I can work out how to better incorporate the up/down animations.

Share this post


Link to post
Share on other sites

Way to go norrin - great stuff :bounce3:

You would need weapon up/down as gesture to have played smoothly during normal movement animations.

Like with weapon reload. I dont know much about gesture but they should be normal animations should configured differently in animation configs.

Share this post


Link to post
Share on other sites
You would need weapon up/down as gesture to have played smoothly during normal movement animations.

Like with weapon reload. I dont know much about gesture but they should be normal animations should configured differently in animation configs.

Yes exactly, I've got the config info I need for the gestures but the stumbling block using that method is that the playGesture command doesn't work as of the last few betas so at the moment there's no way I can trigger the gesture. I'm in the process of trying an alternative though, I'm creating short hybrid animations which are combinations of the movement required with raising/lowering the weapons with a view to playing these when you change weapon readiness while moving. Part of the problem is that the only weapon lowering/raising animations currently available in ArmA2 occur while the unit is stationary - you may notice if you lower your weapon while walking forwards (double tap left cntrl by default) that your avatar stops moving and lowers/raises his weapon before walking forward again. I've almost got my first hybrid animation complete so hopefully I'll be able to test tonight and I'll let you know then if it works.

norrin

Share this post


Link to post
Share on other sites

I might be way out of topic right now, but you might wanna check that SMK addon though, there is definitely a lower/raise weapon in it, that happens while moving. I don't have a clue as to how he did that, but i might try and see.

Share this post


Link to post
Share on other sites

You may be able to accomplish this without a gesture, though it would require some tedious config work. What you can do (and I've tried this before) is allow the raised movement anim states to interpolate to the lowered states (and vice versa). The result actually looks very smooth, and there's no interruption of movement. There is one issue I had with it, which is that if you try to stop moving during the transition you end up taking a couple extra steps, though maybe you can find a way to fix/improve that. Here's an example of the config (for walking right):

class AmovPercMwlkSlowWrflDr: AmovPercMwlkSlowWrflDf
{
InterpolateFrom[] = {"AmovPercMwlkSrasWrflDr",0.01};
};
class AmovPercMwlkSrasWrflDr: AmovPercMwlkSrasWrflDf
{
InterpolateFrom[] = {"AmovPercMwlkSlowWrflDr",0.01};
};

Share this post


Link to post
Share on other sites
So there's no way to make soldier not stop when playing that animation with only higher body being affected?

via gesture as kju said or via interpolation as big dawg put it (tried it myself as well - the interpolation - , ended up in a proper config mess in the end)

Isn't there some kind of ArmA2 animation editor which will let you create a custom animation out of the original one to simply play lower/raise weapon anim while still moving?

1. there is some sort of animation editor tool in O2, although i would rather cut my nutsack off than actually use for creating a new anim from ground up

2. all A2/OA rtm anims are binarized. Which means you can only use A1 ones, but not all of those match the the A2 skeleton.

so it is far from being as easy as you put it.

@norrin: brilliant work mate. Look forward to more of it. One thing, although i know kju would have wanted it to stay addon free (script only) i doubt that is possible if you aim for a proper implementation.

Share this post


Link to post
Share on other sites
via gesture as kju said or via interpolation as big dawg put it (tried it myself as well - the interpolation - , ended up in a proper config mess in the end)

Running into a few problems getting my new animations working with playMove in game, switchMove is fine; however, its way too fast. I must be missing some relevant config entry, which I'll try to hunt down over the weekend.

@PuFu - I tried Big Dawg suggestion last night as well and had the same problem he did. This config should work if you want to try his method yourself.

class CfgMovesBasic;
class CfgMovesMaleSdr: CfgMovesBasic
{
class States
{
	class AmovPercMwlkSlowWrflDf;
	class AmovPercMwlkSrasWrflDf;
	class AmovPercMwlkSlowWrflDr: AmovPercMwlkSlowWrflDf
	{		
		file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\Wlk\Low\Rfl\AmovPercMwlkSlowWrflDr";
		speed = 0.535714;
		duty = -0.1;
		soundOverride = "walk";
		soundEnabled = 1;
		actions = "RifleLowStandActionsWlkR";
		ConnectTo[] = {};
		InterpolateTo[] = {"AmovPercMstpSlowWrflDnon",0.02,"AmovPercMwlkSlowWrflDbr",0.025,"AmovPercMwlkSlowWrflDfr",0.025,"AmovPercMrunSlowWrflDr",0.025,"AmovPknlMwlkSlowWrflDr",0.03,"AdthPercMstpSlowWrflDnon_1",0.01,"AdthPercMstpSlowWrflDnon_2",0.01,"AdthPercMstpSlowWrflDnon_4",0.01,"AdthPercMstpSlowWrflDnon_8",0.01,"AdthPercMstpSlowWrflDnon_16",0.01,"AdthPercMstpSlowWrflDnon_32",0.01};
		InterpolateFrom[] = {"AmovPercMwlkSrasWrflDr",0.01};
	};
	class AmovPercMwlkSrasWrflDr: AmovPercMwlkSrasWrflDf
	{	
		file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\Wlk\Low\Rfl\AmovPercMwlkSrasWrflDr";
		speed = 0.535714;
		duty = -0.1;
		soundOverride = "walk";
		soundEnabled = 1;
		actions = "RifleStandActionsWlkR";
		ConnectTo[] = {};
		InterpolateTo[] = {"AmovPercMstpSrasWrflDnon",0.02,"AmovPercMwlkSrasWrflDnon_transition",0.015,"AmovPercMwlkSrasWrflDbr",0.025,"AmovPercMwlkSrasWrflDfr",0.025,"AmovPercMrunSrasWrflDr",0.025,"AmovPknlMwlkSrasWrflDr",0.03,"AdthPercMstpSrasWrflDnon_1",0.01,"AdthPercMstpSrasWrflDnon_2",0.01,"AdthPercMstpSrasWrflDnon_4",0.01,"AdthPercMstpSrasWrflDnon_8",0.01,"AdthPercMstpSrasWrflDnon_16",0.01,"AdthPercMstpSrasWrflDnon_32",0.01};
		InterpolateFrom[] = {"AmovPercMwlkSlowWrflDr",0.01};
	};
	class AmovPercMwlkSlowWrflDl: AmovPercMwlkSlowWrflDf
	{
		file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\Wlk\Low\Rfl\AmovPercMwlkSlowWrflDl";
		speed = 0.526316;
		duty = -0.1;
		soundOverride = "walk";
		soundEnabled = 1;
		actions = "RifleLowStandActionsWlkL";
		ConnectTo[] = {};
		InterpolateTo[] = {"AmovPercMstpSlowWrflDnon",0.02,"AmovPercMwlkSlowWrflDfl",0.025,"AmovPercMwlkSlowWrflDbl",0.025,"AmovPercMrunSlowWrflDl",0.025,"AmovPknlMwlkSlowWrflDl",0.03,"AdthPercMstpSlowWrflDnon_1",0.01,"AdthPercMstpSlowWrflDnon_2",0.01,"AdthPercMstpSlowWrflDnon_4",0.01,"AdthPercMstpSlowWrflDnon_8",0.01,"AdthPercMstpSlowWrflDnon_16",0.01,"AdthPercMstpSlowWrflDnon_32",0.01};
		InterpolateFrom[] = {"AmovPercMwlkSrasWrflDl",0.01};
	};		
	class AmovPercMwlkSrasWrflDl: AmovPercMwlkSrasWrflDf
	{
		file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\Wlk\Low\Rfl\AmovPercMwlkSrasWrflDl";
		speed = 0.526316;
		duty = -0.1;
		soundOverride = "walk";
		soundEnabled = 1;
		actions = "RifleStandActionsWlkL";
		ConnectTo[] = {};
		InterpolateTo[] = {"AmovPercMstpSrasWrflDnon",0.02,"AmovPercMwlkSrasWrflDnon_transition",0.015,"AmovPercMwlkSrasWrflDfl",0.025,"AmovPercMwlkSrasWrflDbl",0.025,"AmovPercMrunSrasWrflDl",0.025,"AmovPknlMwlkSrasWrflDl",0.03,"AdthPercMstpSrasWrflDnon_1",0.01,"AdthPercMstpSrasWrflDnon_2",0.01,"AdthPercMstpSrasWrflDnon_4",0.01,"AdthPercMstpSrasWrflDnon_8",0.01,"AdthPercMstpSrasWrflDnon_16",0.01,"AdthPercMstpSrasWrflDnon_32",0.01};
		InterpolateFrom[] = {"AmovPercMwlkSlowWrflDl",0.01};
	};
};
};

Share this post


Link to post
Share on other sites

Smk animation have the type of lower gun typ that fits the type of animation, Try it yourself.

Basically walk n double tap c and

you will lower your gun in a nicer way.

(Just Anim suggestion)

Share this post


Link to post
Share on other sites

OK here's my latest attempt: http://www.norrin.org/norrin/ArmA2/addons/rflOcclusion/v01/norrn_rflocc.pbo (version 0.1)

Its now an addon and it requires the extended eventhandlers in CBA to work.

I've modified BigDawks method (thanks for posting that mate) and have used existing in game animations to smooth out the rifle raising lowering anims. You can now move and your weapon will lower when you are facing a wall and be raised when you're clear without the little hiccup (pause) in movement. The animations may still be a little fast in some cases but I can adjust those easily enough if I get any feedback. There's still the possibility of getting stuck in the looping animation but its quite rare now. I haven't been able to test on a dedicated server yet so I'm not sure how it will look to other players. Just drop the pbo into an addon folder and it will automatically load in any mission as long as you're running CBA of course so give it a try and let me know if you think it needs tweaking and/or its worth persisting with.

norrin

Edited by norrin
Changed link

Share this post


Link to post
Share on other sites

Works quite well. Awesome job norrin! :bounce3:

Of course the change is quite snappy, but I guess that's due to non being a gesture or just needing tweaking/polish in the animation config.

Two issues I found:

1) When climbing a ladder you get these two:

Error in expression < _toArray select 13; 
_wep 		= _toArray select 17; 
_dir		= _toArray select 21; >
 Error position: <select 17; 
_dir		= _toArray select 21; >
 Error Zero divisor

Error in expression <= _toArray select 17; 
_dir		= _toArray select 21; 
if (count _toArray == 23) th>
 Error position: <select 21; 
if (count _toArray == 23) th>
 Error Zero divisor

2) When you crouch and trigger weapon up-down-up, you remain crouch (correct).

However when you do cross movement (forward + left/right), you end up standing afterwards.

Plus a few rpt warnings and errors

bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerF.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseF.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerF.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseF.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerFL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseFL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerFL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseFL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerFR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseFR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerFR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseFR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerB.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseB.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerB.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseB.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerBL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseBL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerBL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseBL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerBR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseBR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerBR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseBR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseL.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRfllowerR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nStandRflraiseR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRfllowerR.ConnectTo: item count not multiple of 2 (is 1)
bin\config.bin/CfgMovesMaleSdr/States/nKneelRflraiseR.ConnectTo: item count not multiple of 2 (is 1)

Animation ca\anims\characters\data\anim\sdr\mov\erc\wlk\low\rfl\amovpercmwlkslowwrfldfbl.rtm not found or empty
Animation ca\anims\characters\data\anim\sdr\mov\knl\wlk\low\rfl\amovpknlmwlkslowwrfldfbl.rtm not found or empty
Animation ca\anims\characters\data\anim\sdr\mov\erc\wlk\low\rfl\amovpercmwlkslowwrfldfbr.rtm not found or empty
Animation ca\anims\characters\data\anim\sdr\mov\knl\wlk\low\rfl\amovpknlmwlkslowwrfldfbr.rtm not found or empty

Again works really well already and shows a lot of promise!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×