Jump to content

misakagong

Member
  • Content Count

    3
  • Joined

  • Last visited

  • Medals

Everything posted by misakagong

  1. Hi everyone! :D I am planning that to make a series of video to explain the basic of modding of ARMA3. In fact when I was learning to make mod, there is really limited info whatever on WIKI or Youtube. So I decide to make a whole series of videos base on my own knowledge to explain the mod making. Here comes my first tutorial for [ Introduction to Oxygen 2 & Import ] part. :rolleyes: https://www.youtube.com/watch?v=KNPxsj19RBk In the future, I will try to cut the all mod making steps into apart so that you guys can easier to understand. Future Plans & Contents (This content maybe change in the future :blink: ) 1. Introduction to Oxygen 2 & Import 2. Scaling weapon size/position (In Oxygen 2) & Texturing model (Only *_CO texture) 3. Making advance texture (In Photoshop & *_smdi, *_as and *_nohq texture) 4. Making shadow model, physical model and memory point of weapon (In Oxygen 2) 5. config.cpp (In Notepad ++) 6. model.cfg (In Notepad ++) And we are done! :D Hoping that more people can enjoy a totally different ARMA3, not only spend the whole day to kill people in SANDBOX but also enjoy making your own weapon mods for ARMA3 :lol: .
  2. misakagong

    Weapon Mod Making Tutorial [Basic]

    You got a lot questions here hh. :wacko: I will try to set a new picture thembnail for this series. And I don't think I need to talk about the Object builder (But I will talk about Addonbuilder - setting and packing something like that). I know I can select arma3 tools and it will give me the hole package if you pay attention to my video maybe you are able to see that I had a P drive ^_^ And I am not sure what do you mean by go over P drive. Because these series of videos, I just want to make it more likely to the basic. I don't know if there are new functions in the object builder. But I decide to finish this tutorial in Oxygen 2. (I will try to use that)
  3. Hi, everyone. This is my first time making addon for arma3. And right now I have made a HK416 assault rifle. Not perfect work as you guys can see....but I do need help with the reload problem. :( Here is the short vedio: https://youtu.be/zQIUBNguqGE As you can see when the mag was took out and there was no problem with that. But when it was starting to insert the mags, there was nothing there until the animation finished then the mag just pop out from nowhere. And here is my code for model.cfg. Is there any step I missed? class CfgSkeletons { class Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = {}; }; class HK416 : Default { SkeletonBones[]= { "trigger", "", /// not in this model, but good to use "bolt", "", "bolt_catch", "", "magazine", "", "safety", "", "muzzleFlash", "", "OP", "", "ForeSight", "", "BackSight", "" }; }; }; class CfgModels { class Default { sections[]= { "zasleh" }; htMin = 1; // Minimum half-cooling time (in seconds) htMax = 600; // Maximum half-cooling time (in seconds) afMax = 0; // Maximum temperature in case the model is alive (in celsius) mfMax = 0; // Maximum temperature when the model is moving (in celsius) mFact = 1; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)). tBody = 100; // Metabolism temperature of the model (in celsius) sectionsInherit=""; skeletonName = "HK416"; }; class HK416 : Default { skeletonName="HK416"; sectionsInherit = ""; sections[] = {"zasleh","muzzleFlash","Camo"}; class Animations { class trigger /// not in this model, but good to use { type = "rotation"; source = "reload"; sourceAddress = "clamp"; selection = "trigger"; axis = "trigger_axis"; minValue = 0; maxValue = "1"; angle0 = "0"; angle1 = "rad -30"; }; class bolt { type = "translation"; source = "reload"; sourceAddress = clamp; selection = "bolt"; axis = "bolt_axis"; minValue = 0.5; maxValue = 1; offset0 = 0; offset1 = 0.3; }; class bolt_2: bolt { minValue = 0; maxValue = 0.5; offset0 = 0; offset1 = 0.7; }; class bolt_empty: bolt{ source = "isEmptyNoReload"; minValue = 0; maxValue = 1; offset0 = 0; offset1 = 1; }; class bolt_reload_move_1: bolt_empty { source="reloadMagazine"; // z: should work like that only if weapon is empty minValue=0; maxValue=0.00001; }; class bolt_reload_move_2: bolt_reload_move_1 { source="reloadMagazine"; // z: should work like that only if weapon is empty minValue=0.78; maxValue=0.80; offset1 = -1; }; class bolt_catch: bolt { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_2: bolt_2 { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_empty: bolt_empty { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_reload_move_1: bolt_reload_move_1 { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class bolt_catch_reload_move_2: bolt_reload_move_2 { selection = "bolt_catch"; axis = "bolt_catch_axis"; }; class magazine_hide { type="hide"; source="reloadMagazine"; selection="magazine"; minValue=0.000000; maxValue=1.00000; hideValue=0.188; unhideValue = 0.550; }; class no_magazine { type="hide"; source="hasMagazine"; selection="magazine"; minValue=0.000000; maxValue=1.00000; hideValue=0.5; unhideValue = -1.0; }; class magazine_reload_move_1 { type = "translation"; source = "reloadMagazine"; selection = "magazine"; axis = "magazine_axis"; minValue = 0.145; maxValue = 0.170; offset0 = 0.0; offset1 = 0.5; }; class magazine_reload_move_2: magazine_reload_move_1 { minValue = 0.573; maxValue = 0.602; offset0 = 0.0; offset1 = -0.5; }; 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 OP_ROT { type="rotation"; source="zeroing2"; // use second muzzle zeroing for rotation sourceAddress="loop"; // loop when phase out of bounds selection="OP"; // selection we want to rotate axis="OP_axis"; // has its own axis minValue=0; maxValue=3; angle0="rad 0"; angle1="rad 65"; }; class BackSight_optic { type="rotation"; source="hasOptics"; selection="BackSight"; axis="BackSight_axis"; memory=1; minValue=0.0000000; maxValue=1.0000000; angle0=0.000000; angle1=(rad 70); }; class ForeSight_optic: BackSight_optic { selection="ForeSight"; axis="ForeSight_axis"; angle1=(rad 70); }; }; }; };
×