Takko 10 Posted February 20, 2010 This is my config // Basic def.#define TEast 0 #define TWest 1 #define TGuerrila 2 #define TCivilian 3 #define TSideUnknown 4 #define TEnemy 5 #define TFriendly 6 #define TLogic 7 #define true 1 #define false 0 class CfgPatches { class F1Smg { units[]={F1Smgsoldier}; weapons[]={F1Smg}; requiredVersion=1.00000; }; }; class CfgSkeletons { class F1Smg { isDiscrete=0; skeletonInherit=""; skeletonBones[]={ "trigger", "", "trigger_bar", "", "hammer", "", "slide", "", "loaded_indicator", "slide", "slide_catch", "", "magazine_release", "", "magazine", "", "follower", "magazine" }; }; }; class CfgModels { class F1Smg { skeletonName="F1Smg"; class Animations { class trigger { type="rotation"; //The type of animation. source="reload"; //The controller that provides input. selection="trigger"; //The name of the skeleton bone used. begin="trigger_axis_begin"; end="trigger_axis_end"; minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="rad -5"; //The ending angle of this animation, where the animation phase is 1. }; class trigger_bar { type="translation"; //The type of animation. source="reload"; //The controller that provides input. selection="trigger_bar"; //The name of the skeleton bone used. begin="trigger_bar_axis_begin"; end="trigger_bar_axis_end"; minValue="0"; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. offset0="0"; offset1="1"; }; class hammer { type="rotationZ"; //The type of animation. source="reload"; //The controller that provides input. selection="hammer"; //The name of the skeleton bone used. axis="hammer_axis"; //The name of the axis in the model. minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="63"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="-63"; //The ending angle of this animation, where the animation phase is 1. }; class slide { type="translation"; // The type of animation. source="reload"; // The controller that provides input. selection="slide"; // The name of the skeleton bone used. begin="slide_axis_begin"; end="slide_axis_end"; minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. offset0="0"; offset1="1"; }; class slide_back:slide { source="isEmpty"; //The controller that provides input. }; class slide_catch { type="rotationZ"; //The type of animation. source="isEmpty"; //The controller that provides input. selection="slide_catch"; //The name of the skeleton bone used. axis="slide_catch_axis"; //The name of the axis in the model. minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="rad -9"; //The ending angle of this animation, where the animation phase is 1. }; class loaded_indicator_empty { type="rotation"; //The type of animation. source="isEmpty"; //The controller that provides input. selection="loaded_indicator"; //The name of the skeleton bone used. begin="loaded_indicator_axis_begin"; end="loaded_indicator_axis_end"; minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="rad 3"; //The ending angle of this animation, where the animation phase is 1. }; class magazine_follower { type="translation"; // The type of animation. source="revolving"; // The controller that provides input. selection="follower"; // The name of the skeleton bone used. begin="follower_axis_begin"; end="follower_axis_end"; minValue="0"; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. offset0="1"; offset1="0"; }; class magazine_release { type="translationZ"; // The type of animation. source="reloadMagazine"; // The controller that provides input. selection="magazine_release"; // The name of the skeleton bone used. minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue=".002"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="-.002"; //The ending angle of this animation, where the animation phase is 1. }; class reload_magazine_hide { type="hide"; source="reloadMagazine"; selection="magazine"; hidevalue=0.22; }; class reload_magazine { type="rotationZ"; // The type of animation. source="reloadMagazine"; // The controller that provides input. selection="magazine"; // The name of the skeleton bone used. axis="magazine_axis"; // The name of the axis in the model. minValue="0.15"; // The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="0.5"; // The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; // The starting angle of this animation, where the animation phase is 0. angle1="rad -1.5"; // The ending angle of this animation, where the animation phase is 1. }; }; sections[]={"zasleh"}; sectionsInherit=""; }; ambient[]={1.000000,1.000000,1.000000,1.000000}; diffuse[]={1.000000,1.000000,1.000000,1.000000}; forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; emmisive[]={0.000000,0.000000,0.000000,1.000000}; specular[]={1.000000,1.000000,1.000000,1.000000}; specularPower=70.000000; PixelShaderID="NormalMapSpecularDIMap"; VertexShaderID="NormalMap"; class Stage1 { texture="F1Smg\Galil1BlackShine_nohq.paa"; uvSource="tex"; class uvTransform { aside[]={1.000000,0.000000,0.000000}; up[]={0.000000,1.000000,0.000000}; dir[]={0.000000,0.000000,0.000000}; pos[]={0.000000,0.000000,0.000000}; }; }; class Stage2 { texture="F1Smg\Galil1BlackShine_smdi.paa"; uvSource="tex"; class uvTransform { aside[]={1.000000,0.000000,0.000000}; up[]={0.000000,1.000000,0.000000}; dir[]={0.000000,0.000000,0.000000}; pos[]={0.000000,0.000000,0.000000}; }; }; } class CfgAmmo { class Default; // External class reference class TimeBombCore; // External class reference class MineCore; // External class reference class BulletCore; // External class reference class BulletBase : BulletCore { }; class FlareCore; // External class reference class FlareBase : FlareCore {}; class ShellCore; // External class reference class ShellBase : ShellCore {}; class RocketCore; // External class reference class RocketBase : RocketCore { }; class MissileCore; // External class reference class MissileBase : MissileCore {}; class B_545x39_Ball : BulletBase {}; class B_556x45_Ball : BulletBase {}; class B_762x51_Ball: BulletBase {}; class B_762x54_Ball: BulletBase {}; class B_127x99_Ball : BulletBase {}; class B_127x107_Ball : BulletBase {}; class B_145x115_AP : BulletBase {}; class F1Smgammo : BulletBase { hit = 6.5; typicalspeed = 360; }; } class CfgMagazines { class Default; // External class reference class CA_Magazine : Default {}; class CA_LauncherMagazine : CA_Magazine {}; class F1SmgRound : CA_Magazine { scope = 2; cartridge="FxCartridge_Small"; picture="\ca\weapons\data\equip\m_30stanag_CA.paa"; displayName = F1Smg Ammo; ammo = "F1Smgammo"; count = 34; initSpeed = 360; }; } class Mode_SemiAuto {}; class Mode_Burst : Mode_SemiAuto {}; class Mode_FullAuto : Mode_SemiAuto {}; class CfgWeapons { class Default {}; class MGun: Default {}; class Riffle: MGun {}; class SniperRiffle : Riffle {}; class m16a2 : SniperRiffle{}; class F1Smg : m16a2 { model = "\F1Smg\F1Smg"; picture="\F1Smg\picture\F1S.paa"; UiPicture="\F1Smg\picture\F1S.paa"; value = 1; opticsZoomMin = 0.27; opticsZoomMax = 0.42; distanceZoomMin = 50; distanceZoomMax = 50; modes[] = {"single","Burst","FullAuto"}; magazines[] = {"F1SmgRound"}; scope = 2; displayName ="F1Smg"; class single : Mode_SemiAuto { sound[] = {"\F1Smg\sound\308win.ogg",10,1}; reloadTime = 0.1; recoil = "M240Recoil"; recoilProne = "M240RecoilProne"; dispersion = 0.008; minRange = 2; minRangeProbab = 0.1; midRange = 5; midRangeProbab = 0.9; maxRange = 10; maxRangeProbab = 0.01; }; class Burst : Mode_Burst { sound[]={"\F1Smg\sound\308win.ogg",10,1}; //AK74_1_BS_A soundBurst = false; reloadTime=0.1; ffCount=3; recoil=M240Recoil; recoilProne=AK74Recoil; dispersion=0.007; minRange=2;minRangeProbab=0.10; midRange=60;midRangeProbab=0.7; maxRange=400;maxRangeProbab=0.05; showToPlayer = false; }; class FullAuto : Mode_FullAuto { sound[]={"\F1Smg\sound\308win.ogg",10,1}; reloadTime=0.08; ffCount=35; recoil=M240Recoil; recoilProne=M240RecoilProne; dispersion=0.002; minRange=2;minRangeProbab=0.10; midRange=30;midRangeProbab=0.7; maxRange=75;maxRangeProbab=0.05; }; class Library { libTextDesc = "The Owen© submachine gun of australian forces"; }; }; }; class CfgVehicles { class Land; // External class reference class LandVehicle : Land { class NewTurret; class ViewOptics; class ViewPilot; }; class Man : Land {}; class Soldier : Man {}; class SoldierGB : Soldier {}; class SoldierWB : Soldier {}; class SoldierEB : Soldier {}; class F1Smgsoldier : SoldierWB { access=2 displayName="Soldier (F1Smg)"; weapons[]={"Throw","Put","F1Smg"}; magazines[]={"F1Smground","F1Smground","F1Smground","F1Smground"}; }; }; class CfgNonAIVehicles { class ProxyWeapon {}; class Proxysuperv : ProxyWeapon {}; }; And this is my problem: In Singleplayer Mode, everything seems fine with no errors. As soon as I get the Addon into a Multiplayer game, there are 2 critical errors which do show up: [West Soldier, equipped with the F1SMG] 1: Missing Addon: F1SMG In the briefing menu (the one with the map), is "Missing addon: F1SMG" shown and I have to approve with OK. When I start the missing, the addon appears. 2: Everything is just local Animations, recoil and the sound, everything is local. Means, I cannot hear the others shooting nor I would notice it. I can just see the hits. These errors seem to be new in ArmA 2, as they never occured while doing the same addon in ArmA 1. Share this post Link to post Share on other sites
scars09 9 Posted February 21, 2010 class Man : Land {}; class Soldier : Man {}; class SoldierGB : Soldier {}; class SoldierWB : Soldier {}; class SoldierEB : Soldier {}; check the new classnames (in mission editing forum) why do you refer to almost any ammo when your ammo refers to bulletbase only? and with m16a2 you maybe overwrite the original bis settings, which is m16a2 : m16_base. and why the heck is a rvmat file between model.cfg and config.cpp file? try something like that class CfgAmmo {class Default; // External class reference class BulletCore; // External class reference class BulletBase; class F1Smgammo : BulletBase { hit = 6.5; typicalspeed = 360; }; }; class CfgMagazines {class Default; // External class reference class CA_Magazine; class F1SmgRound : CA_Magazine { scope = 2; cartridge="FxCartridge_Small"; picture="\ca\weapons\data\equip\m_30stanag_CA.paa" ; displayName = F1Smg Ammo; ammo = "F1Smgammo"; count = 34; initSpeed = 360; }; }; class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; class CfgWeapons { class Default; class M16_Base; class m16a2; class F1Smg : m16a2 { model = "\F1Smg\F1Smg"; picture="\F1Smg\picture\F1S.paa"; UiPicture="\F1Smg\picture\F1S.paa"; value = 1; opticsZoomMin = 0.27; opticsZoomMax = 0.42; distanceZoomMin = 50; distanceZoomMax = 50; modes[] = {"single","Burst","FullAuto"}; magazines[] = {"F1SmgRound"}; scope = 2; displayName ="F1Smg"; class single : Mode_SemiAuto { sound[] = {"\F1Smg\sound\308win.ogg",10,1}; reloadTime = 0.1; recoil = "M240Recoil"; recoilProne = "M240RecoilProne"; dispersion = 0.008; minRange = 2; minRangeProbab = 0.1; midRange = 5; midRangeProbab = 0.9; maxRange = 10; maxRangeProbab = 0.01; }; class Burst : Mode_Burst { sound[]={"\F1Smg\sound\308win.ogg",10,1}; //AK74_1_BS_A soundBurst = false; reloadTime=0.1; ffCount=3; recoil=M240Recoil; recoilProne=AK74Recoil; dispersion=0.007; minRange=2;minRangeProbab=0.10; midRange=60;midRangeProbab=0.7; maxRange=400;maxRangeProbab=0.05; showToPlayer = false; }; class FullAuto : Mode_FullAuto { sound[]={"\F1Smg\sound\308win.ogg",10,1}; reloadTime=0.08; ffCount=35; recoil=M240Recoil; recoilProne=M240RecoilProne; dispersion=0.002; minRange=2;minRangeProbab=0.10; midRange=30;midRangeProbab=0.7; maxRange=75;maxRangeProbab=0.05; }; class Library { libTextDesc = "The Owen© submachine gun of australian forces"; }; }; }; }; im not sure if the .ogg soundfiles are a problem, i never used them for weapon sounds, somehow i have .wav and .wss as weaponsounds in mind, but i can be totally wrong with that. .wss work for sure thats all i know for sure. as written before for the soldier you should use the new classnames, there is no soldierwb anymore. Share this post Link to post Share on other sites
Takko 10 Posted February 21, 2010 Hey, thank you for your advice. Now I've got another problem, \f1smg\config.cpp, line 135: /CfgModels/: Missing '}' But I do not seem to find any error in the config? // Basic def.#define TEast 0 #define TWest 1 #define TGuerrila 2 #define TCivilian 3 #define TSideUnknown 4 #define TEnemy 5 #define TFriendly 6 #define TLogic 7 #define true 1 #define false 0 class CfgPatches { class F1Smg { units[]={F1Smgsoldier}; weapons[]={F1Smg}; requiredVersion=1.00000; }; }; class CfgModels { class CfgAmmo { class Default; // External class reference class BulletCore; // External class reference class BulletBase; class F1Smgammo : BulletBase { hit = 6.5; typicalspeed = 360; }; }; class CfgMagazines { class Default; // External class reference class CA_Magazine; class F1SmgRound : CA_Magazine { scope = 2; cartridge="FxCartridge_Small"; picture="\ca\weapons\data\equip\m_30stanag_CA.paa" ; displayName = F1Smg Ammo; ammo = "F1Smgammo"; count = 34; initSpeed = 360; }; }; class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; class CfgWeapons { class Default; class M16_Base; class m16a2; class F1Smg : m16a2 { model = "\F1Smg\F1Smg"; picture="\F1Smg\picture\F1S.paa"; UiPicture="\F1Smg\picture\F1S.paa"; value = 1; opticsZoomMin = 0.27; opticsZoomMax = 0.42; distanceZoomMin = 50; distanceZoomMax = 50; modes[] = {"single","Burst","FullAuto"}; magazines[] = {"F1SmgRound"}; scope = 2; displayName ="F1Smg"; class single : Mode_SemiAuto { sound[] = {"\F1Smg\sound\308win.ogg",10,1}; reloadTime = 0.1; recoil = "M240Recoil"; recoilProne = "M240RecoilProne"; dispersion = 0.008; minRange = 2; minRangeProbab = 0.1; midRange = 5; midRangeProbab = 0.9; maxRange = 10; maxRangeProbab = 0.01; }; class Burst : Mode_Burst { sound[]={"\F1Smg\sound\308win.ogg",10,1}; //AK74_1_BS_A soundBurst = false; reloadTime=0.1; ffCount=3; recoil=M240Recoil; recoilProne=AK74Recoil; dispersion=0.007; minRange=2;minRangeProbab=0.10; midRange=60;midRangeProbab=0.7; maxRange=400;maxRangeProbab=0.05; showToPlayer = false; }; class FullAuto : Mode_FullAuto { sound[]={"\F1Smg\sound\308win.ogg",10,1}; reloadTime=0.08; ffCount=35; recoil=M240Recoil; recoilProne=M240RecoilProne; dispersion=0.002; minRange=2;minRangeProbab=0.10; midRange=30;midRangeProbab=0.7; maxRange=75;maxRangeProbab=0.05; }; class Library { libTextDesc = "The Owen© submachine gun of australian forces"; }; }; }; class CfgVehicles { class Land; // External class reference class LandVehicle : Land { class NewTurret; class ViewOptics; class ViewPilot; }; class Man : Land {}; class Soldier : Man {}; class SoldierGB : Soldier {}; class USMC_SoldierS_Engineer : Soldier {}; 135 would be around here class SoldierEB : Soldier {}; class F1Smgsoldier : USMC_SoldierS_Engineer { access=2; displayName="Soldier (F1Smg)"; weapons[]={"Throw","Put","F1Smg"}; magazines[]={"F1Smground","F1Smground","F1Smground","F1Smground"}; }; }; class CfgNonAIVehicles { class ProxyWeapon {}; class Proxysuperv : ProxyWeapon {}; }; ---------- Post added at 02:01 PM ---------- Previous post was at 01:32 PM ---------- Now its working using a seperate model cfg and this config (incase anyone needs to know) Config.cpp class CfgPatches { class F1Smg { units[]={F1Smgsoldier}; weapons[]={F1Smg}; requiredVersion=1.00000; }; }; class CfgAmmo { class Default; // External class reference class BulletCore; // External class reference class BulletBase; class F1Smgammo : BulletBase { hit = 6.5; typicalspeed = 360; }; }; class CfgMagazines { class Default; // External class reference class CA_Magazine; class F1SmgRound : CA_Magazine { scope = 2; cartridge="FxCartridge_Small"; picture="\ca\weapons\data\equip\m_30stanag_CA.paa" ; displayName = F1Smg Ammo; ammo = "F1Smgammo"; count = 34; initSpeed = 360; }; }; class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; class CfgWeapons { class Default; class M16_Base; class m16a2; class F1Smg : m16a2 { model = "\F1Smg\F1Smg"; picture="\F1Smg\picture\F1S.paa"; UiPicture="\F1Smg\picture\F1S.paa"; value = 1; opticsZoomMin = 0.27; opticsZoomMax = 0.42; distanceZoomMin = 50; distanceZoomMax = 50; modes[] = {"single","Burst","FullAuto"}; magazines[] = {"F1SmgRound"}; scope = 2; displayName ="F1Smg"; class single : Mode_SemiAuto { sound[] = {"\F1Smg\sound\308win.ogg",10,1}; reloadTime = 0.1; recoil = "M240Recoil"; recoilProne = "M240RecoilProne"; dispersion = 0.008; minRange = 2; minRangeProbab = 0.1; midRange = 5; midRangeProbab = 0.9; maxRange = 10; maxRangeProbab = 0.01; }; class Burst : Mode_Burst { sound[]={"\F1Smg\sound\308win.ogg",10,1}; //AK74_1_BS_A soundBurst = false; reloadTime=0.1; ffCount=3; recoil=M240Recoil; recoilProne=AK74Recoil; dispersion=0.007; minRange=2;minRangeProbab=0.10; midRange=60;midRangeProbab=0.7; maxRange=400;maxRangeProbab=0.05; showToPlayer = false; }; class FullAuto : Mode_FullAuto { sound[]={"\F1Smg\sound\308win.ogg",10,1}; reloadTime=0.08; ffCount=35; recoil=M240Recoil; recoilProne=M240RecoilProne; dispersion=0.002; minRange=2;minRangeProbab=0.10; midRange=30;midRangeProbab=0.7; maxRange=75;maxRangeProbab=0.05; }; class Library { libTextDesc = "The Owen© submachine gun of australian forces"; }; }; }; Model CFG class CfgSkeletons{ class F1Smg { isDiscrete=0; skeletonInherit=""; skeletonBones[]={ "trigger", "", "trigger_bar", "", "hammer", "", "slide", "", "loaded_indicator", "slide", "slide_catch", "", "magazine_release", "", "magazine", "", "follower", "magazine" }; }; }; class CfgModels { class F1Smg { skeletonName="F1Smg"; class Animations { class trigger { type="rotation"; //The type of animation. source="reload"; //The controller that provides input. selection="trigger"; //The name of the skeleton bone used. begin="trigger_axis_begin"; end="trigger_axis_end"; minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="rad -5"; //The ending angle of this animation, where the animation phase is 1. }; class trigger_bar { type="translation"; //The type of animation. source="reload"; //The controller that provides input. selection="trigger_bar"; //The name of the skeleton bone used. begin="trigger_bar_axis_begin"; end="trigger_bar_axis_end"; minValue="0"; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. offset0="0"; offset1="1"; }; class hammer { type="rotationZ"; //The type of animation. source="reload"; //The controller that provides input. selection="hammer"; //The name of the skeleton bone used. axis="hammer_axis"; //The name of the axis in the model. minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="63"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="-63"; //The ending angle of this animation, where the animation phase is 1. }; class slide { type="translation"; // The type of animation. source="reload"; // The controller that provides input. selection="slide"; // The name of the skeleton bone used. begin="slide_axis_begin"; end="slide_axis_end"; minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. offset0="0"; offset1="1"; }; class slide_back:slide { source="isEmpty"; //The controller that provides input. }; class slide_catch { type="rotationZ"; //The type of animation. source="isEmpty"; //The controller that provides input. selection="slide_catch"; //The name of the skeleton bone used. axis="slide_catch_axis"; //The name of the axis in the model. minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="rad -9"; //The ending angle of this animation, where the animation phase is 1. }; class loaded_indicator_empty { type="rotation"; //The type of animation. source="isEmpty"; //The controller that provides input. selection="loaded_indicator"; //The name of the skeleton bone used. begin="loaded_indicator_axis_begin"; end="loaded_indicator_axis_end"; minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="rad 3"; //The ending angle of this animation, where the animation phase is 1. }; class magazine_follower { type="translation"; // The type of animation. source="revolving"; // The controller that provides input. selection="follower"; // The name of the skeleton bone used. begin="follower_axis_begin"; end="follower_axis_end"; minValue="0"; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="1"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. offset0="1"; offset1="0"; }; class magazine_release { type="translationZ"; // The type of animation. source="reloadMagazine"; // The controller that provides input. selection="magazine_release"; // The name of the skeleton bone used. minValue=0; //The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue=".002"; //The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; //The starting angle of this animation, where the animation phase is 0. angle1="-.002"; //The ending angle of this animation, where the animation phase is 1. }; class reload_magazine_hide { type="hide"; source="reloadMagazine"; selection="magazine"; hidevalue=0.22; }; class reload_magazine { type="rotationZ"; // The type of animation. source="reloadMagazine"; // The controller that provides input. selection="magazine"; // The name of the skeleton bone used. axis="magazine_axis"; // The name of the axis in the model. minValue="0.15"; // The minimum value of the motion range. i.e. The controller input when animation phase is 0. maxValue="0.5"; // The maximum value of the motion range. i.e. The controller input when animation phase is 1. angle0="0"; // The starting angle of this animation, where the animation phase is 0. angle1="rad -1.5"; // The ending angle of this animation, where the animation phase is 1. }; }; sections[]={"zasleh"}; sectionsInherit=""; }; }; One error solved, still got that "missing f1smg addon" in mp Share this post Link to post Share on other sites
scars09 9 Posted February 21, 2010 You use f1smg for several things, your overall addon has that name, your weapon has that name, the skeleton has that name. too much to say what is really missing. Maybe just changing the cfgpatches like written below allrdy helps. but i cant say for sure what will happen. class CfgPatches{ class F1Smg { units[]={F1Smgsoldier}; weapons[]={F1Smg}; requiredVersion = 0.1; requiredAddons[] = {"CACharacters", "CAWeapons", "CA_Anims_Char","F1Smg","CAData"}; }; }; reading the 2 config you posted i wonder if you can choose the unit in editor since the soldier doesnt seem to be defined anywhere now. maybe think about using f1smgaddon, f1smggun, f1smgbones and f1smgsoldier to make it clearer what exactly is missing. Share this post Link to post Share on other sites
Takko 10 Posted February 23, 2010 Good idea, wilo post results Share this post Link to post Share on other sites
Takko 10 Posted March 3, 2010 I gave the Class: F1SMG the following name: Class: F1SMGAddon "Missing addon: F1SMGAddon" There lies the error! We're way closer to the end now. Share this post Link to post Share on other sites
scars09 9 Posted March 3, 2010 did you check the mission.sqm if F1SMGAddon is in the required addon list? If not add it manually and make sure that every1 that join the mp session have the newest version of your addon. See what happens then. Share this post Link to post Share on other sites