penguin1018 10 Posted September 11, 2015 The other day I threw together a very simple gun just to try and learn how to get it into Arma 3. The model appears correctly and it functions but the muzzle flash is simply frozen (http://i.imgur.com/ZNjJVSY.jpg) and the bolt doesn't move. I followed Zachs tutorial on making weapons, and I based my model.cfg on the one he included. In Object Builder, I added a proxy with \A3\Data_f\proxies\muzzle_flash\muzzle_flash_rifle_Mk20 and a selection of the proxy called zasleh (http://i.imgur.com/0hzTG8n.png). For the muzzleflash (Zachs guide didn't include one) I copied the relevant lines from the Arma Tools example weapon. In the config.cpp, there is selectionFireAnim = "zasleh"; I'm sure I did something wrong, but I just can't see what. I've included the entire model.cfg hoping someone can spot the issue. class CfgSkeletons { class Default { isDiscrete=0; skeletonInherit=""; skeletonBones[]={}; }; class tb_arifle_m16a4_base: Default { skeletonBones[]= { "magazine", "", "bolt", "", "zasleh", "" }; }; }; class CfgModels { class Default { sectionsInherit=""; sections[]={}; skeletonName=""; }; class tb_arifle_m16a4_base: Default { sections[]= { "magazine", "zasleh", "bolt" }; skeletonName="tb_arifle_m16a4_base"; class Animations { }; }; class Test_weapon_01_F: tb_arifle_m16a4_base { class Animations { class zaslehROT { type="rotation"; source="clockMinute"; sourceAddress="loop"; selection="zasleh"; begin="usti hlavne"; end="konec hlavne"; memory=1; minValue=0.0166665; maxValue=0.016666666666666666666666666666667; angle0="rad 0"; angle1="rad 360"; }; //ALSO TRY THIS class muzzleFlashROT //{ // type="rotationX"; // source="ammoRandom"; //use ammo count as phase for animation // sourceAddress="loop"; //loop when phase out of bounds // selection="muzzleFlash"; //selection we want to rotate // axis=""; //no own axis - center of rotation is computed from selection // centerFirstVertex=true; //use first vertex of selection as center of rotation // minValue=0; // maxValue=4; //rotation angle will be 360/4 = 90 degrees // angle0="rad 0"; // angle1="rad 360"; //}; class magazine_reload_move_1 { type="translation"; source="reloadMagazine"; selection="magazine"; axis="magazine_axis"; minValue=0.145; maxValue=0.2; offset0=0; offset1=0.40000001; }; class magazine_hide { type="hide"; source="reloadMagazine"; selection="magazine"; minValue= 0; maxValue=1; minPhase= 0; maxPhase=1; hideValue=1; sourceAddress="mirror"; }; class bolt_empty { type="translation"; source="isempty"; selection="bolt"; memory=1; sourceAddress="clamp"; minValue=0; maxValue=1; begin="bolt_start"; end="bolt_end"; offset0=0; offset1=1; }; class bolt_empty_1 { type="translation"; source="reloadMagazine"; selection="bolt"; memory=1; sourceAddress="clamp"; minValue=0; maxValue=1; begin="bolt_start"; end="bolt_end"; offset0=0; offset1=1; }; { type="translation"; source="reload"; selection="bolt"; axis="bolt_axis"; memory=1; minValue=0.000000; maxValue=0.300000; offset0=0; offset1=0.5; }; class bolt_fire_end:bolt_fire_begin { minValue=0.500000; maxValue=1.000000; offset0=0; offset1=-0.5; }; class bolt_reload_begin { type="translation"; source="reloadMagazine"; selection="bolt"; axis="bolt_axis"; memory=1; minValue=0.1; maxValue=0.15; offset0=0; offset1=0.5; }; class bolt_reload_end:bolt_reload_begin { minValue=0.980000; maxValue=1.000000; offset0=0; offset1=-0.5; }; }; }; }; Share this post Link to post Share on other sites
da12thMonkey 1943 Posted September 11, 2015 What's the .p3d of your model called? Share this post Link to post Share on other sites
penguin1018 10 Posted September 11, 2015 testrifle.p3d Share this post Link to post Share on other sites
da12thMonkey 1943 Posted September 11, 2015 Then you have to change the name of your cfgModels class to be exactly the same as your .p3d name. i.e change this: class Test_weapon_01_F: tb_arifle_m16a4_base { to this: class testrifle: tb_arifle_m16a4_base { Share this post Link to post Share on other sites
penguin1018 10 Posted September 11, 2015 I managed to get the bolt to move properly. No luck with the muzzleflash though. Let me just make sure I'm doing it right. I created a proxy and entered \A3\Data_f\proxies\muzzle_flash\muzzle_flash_rifle_Mk20 into the dialog/name box. I then selected the proxy and created a selection called "zasleh". In the config.cpp, I have selectionfireanim = "zasleh"; within CfgWeapons, just where I see it in other peoples configs. All the paths to models are correct, and I made the change you suggested. I removed the zaslehROT section from the model.cfg in case that was interfering with something. Now I'm just stumped. Share this post Link to post Share on other sites
penguin1018 10 Posted September 13, 2015 Alright I fixed it. In model.cfg I removed "zasleh", "", from skeletonBones and left it in the sections[]= under class tb_arifle_m16a4_base: Default. In the config.cpp I moved selectionFireAnim = "muzzleFlash"; to class Test_weapon_01_Base_F: Rifle_Base_F. I'm not sure which switch made it work, but it does. Thanks for the CfgModel tip too. Share this post Link to post Share on other sites
EricJ 759 Posted September 13, 2015 Muzzleflash fixed it, devs started moving from zasleh anyway. Share this post Link to post Share on other sites