Results 1 to 9 of 9

Thread: static weapon config help, please!

  1. #1

    static weapon config help, please!

    Im new to config, I have several 3d models but none of them I've finished, so I decided to finish at least one, the thing is that config is not easy to understand, so I downloaded a some sample models released by BI to understand config files. Now, its not been easy so I went to original config files of original addons I took what I thought was related. I took an M2 machine gun sample to work with. So what I have a carpet named "myweap", within there the files: config.cpp, MyWeapon_mg.p3d and MyWeapon_static.p3d; I just renamed original models (m2_mg.p3d and m2_static.p3d).

    I think config works fine, it appears no error message but as you can see it has lot of information that probably just reduplicates information with no necessity.
    The weapon appears in the library and can be accessed, can shoot and eve appears with the same texture as the orignal m2 (I didn't altered textures path) but can't mouve the barrel to different directions, it always points at the same place which is useless.

    I post the config file it helps someone, problably the mistake is not in the config file but in finishing the 3d model, but I have no idea. If you can tell me what things of the config file are just repating, please tell, it's too long file! (My questions are in the config file...)

    #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
    #define private 0
    #define protected 1
    #define public 2
    class CfgMovesBasic {
    class DefaultDie; //Extended
    class ManActions {
    MyWeapon_Gunner = "MyWeapon_Gunner";
    };
    };
    class CfgMovesMaleSdr : CfgMovesBasic {
    class States {
    class Static_Dead : DefaultDie {
    actions = "DeadActions";
    file = "\ca\Anims\characters\data\anim\sdr\Mov\Sit\stp\no n\non\AmovPsitMstpSnonWnonDnon_basic.rtm";
    speed = 10000000000.000000;
    terminal = 1;
    soundEnabled = 0;
    };
    class Crew; //Extended
    class M2_Gunner : Crew {
    file = "\ca\weapons\Data\Anim\M2_Gunner.rtm";
    connectTo[] = {"Static_Dead",1 };
    };
    };
    };
    class cfgRecoils {
    machinegunBase[] = {0,0,0,0.080000,0.010000,0.040000,0.050000,-0.003000,-0.010000,0.200000,0,0 };
    };
    class CfgAmmo {
    class Default; //Extended
    class BulletCore; //Extended
    class BulletBase : BulletCore {
    hit = 8;
    indirectHit = 0;
    indirectHitRange = 0;
    model = "\ca\Weapons\shell"; //do I have to put all these bullet base? I removed but "class B_127x99_Ball : BulletBase" ask for this
    soundFly[] = {"\ca\Weapons\Data\Sound\bulletnoise1",0.112202,1. 200000 };
    soundHit1[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_01",0.010 000,1 };
    soundHit2[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_02",0.031 623,1 };
    soundHit3[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_03",0.010 000,1 };
    soundHit4[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_04",0.031 623,1 };
    soundHit5[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_05",0.010 000,1 };
    soundHit6[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_06",0.010 000,1 };
    soundHit7[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_07",0.010 000,1 };
    soundHit8[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_08",0.031 623,1 };
    soundHit9[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_09",0.017 783,1 };
    soundHit10[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_10",0.010 000,1 };
    soundHit11[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_13",0.031 623,1 };
    soundHit12[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_16",0.010 000,1 };
    soundHitMan1[] = {"\ca\Weapons\Data\Sound\bullet_man_hit_01",0.3162 28,1 };
    soundHitMan2[] = {"\ca\Weapons\Data\Sound\bullet_man_hit_02",0.3162 28,1 };
    soundHitMan3[] = {"\ca\Weapons\Data\Sound\bullet_man_hit_03",0.3162 28,1 };
    soundHitMan4[] = {"\ca\Weapons\Data\Sound\bullet_man_hit_04",0.3162 28,1 };
    soundHitMan5[] = {"\ca\Weapons\Data\Sound\bullet_man_hit_05",0.3162 28,1 };
    soundHitMan6[] = {"\ca\Weapons\Data\Sound\bullet_man_hit_06",0.3162 28,1 };
    soundHitMan7[] = {"\ca\Weapons\Data\Sound\bullet_man_hit_07",0.3162 28,1 };
    soundHitArmor1[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_01",0.10 0000,1 };
    soundHitArmor2[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_02",0.10 0000,1 };
    soundHitArmor3[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_03",0.10 0000,1 };
    soundHitArmor4[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_04",0.10 0000,1 };
    soundHitArmor5[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_05",0.10 0000,1 };
    soundHitArmor6[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_06",0.10 0000,1 };
    soundHitArmor7[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_07",0.10 0000,1 };
    soundHitArmor8[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_08",0.10 0000,1 };
    soundHitArmor9[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_09",0.10 0000,1 };
    soundHitArmor10[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_10",0.10 0000,1 };
    soundHitArmor11[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_11",0.10 0000,1 };
    soundHitArmor12[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_12",0.10 0000,1 };
    soundHitArmor13[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_13",0.10 0000,1 };
    soundHitArmor14[] = {"\ca\Weapons\Data\Sound\bullet_armor_hit_14",0.10 0000,1 };
    soundHitBuilding1[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_02",0.017 783,1 };
    soundHitBuilding2[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_04",0.017 783,1 };
    soundHitBuilding3[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_10",0.017 783,1 };
    soundHitBuilding4[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_12",0.017 783,1 };
    soundHitBuilding5[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_13",0.005 623,1 };
    soundHitBuilding6[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_14",0.017 783,1 };
    soundHitBuilding7[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_15",0.017 783,1 };
    soundHitBuilding8[] = {"\ca\Weapons\Data\Sound\bullet_ricochet_16",0.017 783,1 };
    supersonicCrackNear[] = {"\ca\Weapons\Data\Sound\supersonic_crack_close.ws s",1,1 };
    supersonicCrackFar[] = {"\ca\Weapons\Data\Sound\supersonic_crack_50meters .wss",1,1 };
    hitGround[] = {"soundHit1",0.083000,"soundHit2",0.083000,"soundH it3",0.083000,"soundHit4",0.083000,"soundHit5",0.0 83000,"soundHit6",0.083000,"soundHit7",0.083000,"s oundHit8",0.083000,"soundHit9",0.083000,"soundHit1 0",0.083000,"soundHit11",0.083000,"soundHit12",0.0 83000 };
    hitMan[] = {"soundHitMan1",0.143000,"soundHitMan2",0.143000," soundHitMan3",0.143000,"soundHitMan4",0.143000,"so undHitMan5",0.143000,"soundHitMan6",0.143000,"soun dHitMan7",0.143000 };
    hitArmor[] = {"soundHitArmor1",0.071000,"soundHitArmor2",0.0710 00,"soundHitArmor3",0.071000,"soundHitArmor4",0.07 1000,"soundHitArmor5",0.071000,"soundHitArmor6",0. 071000,"soundHitArmor7",0.071000,"soundHitArmor8", 0.071000,"soundHitArmor9",0.071000,"soundHitArmor1 0",0.071000,"soundHitArmor11",0.071000,"soundHitAr mor12",0.071000,"soundHitArmor13",0.071000,"soundH itArmor14",0.071000 };
    hitBuilding[] = {"soundHitBuilding1",0.125000,"soundHitBuilding2", 0.125000,"soundHitBuilding3",0.125000,"soundHitBui lding4",0.125000,"soundHitBuilding5",0.125000,"sou ndHitBuilding6",0.125000,"soundHitBuilding7",0.125 000,"soundHitBuilding8",0.125000 };
    cartridge = "FxCartridge";
    cost = 0.700000;
    deflecting = 10;
    tracerColor[] = {0,0,0,0 };
    tracerColorR[] = {0,0,0,0 };
    };

    class FlareCore; //Extended
    class FlareBase : FlareCore {
    };
    class B_127x99_Ball : BulletBase {
    hit = 26;
    indirectHit = 3;
    indirectHitRange = 0.010000;
    visibleFire = 22;
    audibleFire = 22;
    visibleFireTime = 3;
    cost = 20;
    airLock = 1;
    tracerColor[] = {0.800000,0.100000,0.100000,0.040000 };
    tracerColorR[] = {0.800000,0.100000,0.100000,0.040000 };
    };
    };
    class CfgVehicles {
    class All; //Extended
    class Strategic; //Extended
    class Land; //Extended
    class LandVehicle : Land {
    class ViewPilot; //Extended
    class NewTurret; //Extended
    };
    class StaticWeapon : LandVehicle {
    vehicleClass = "Static";
    driverOpticsModel = "\ca\weapons\optika_empty";
    selectionClan = "clan";
    selectionDashboard = "podsvit pristroju";
    selectionShowDamage = "poskozeni";
    selectionBackLights = "light_back";
    bounding = "usti hlavne";
    alphaTracks = 0.700000;
    textureTrackWheel = 0;
    selectionLeftOffset = "";
    selectionRightOffset = "";
    memoryPointTrack1L = "";
    memoryPointTrack1R = "";
    memoryPointTrack2L = "";
    memoryPointTrack2R = "";
    selectionFireAnim = "zasleh";
    fireDustEffect = "FDustEffects";
    class DestructionEffects {
    };
    memoryPointMissile[] = {"spice rakety","usti hlavne" };
    memoryPointMissileDir[] = {"konec rakety","konec hlavne" };
    memoryPointCargoLight = "cargo light";
    gunnerCanSee = "2+8+32";
    gunnerHasFlares = 0;
    class Turrets {
    class MainTurret : NewTurret {
    memoryPointsGetInGunner = "pos_gunner";
    memoryPointsGetInGunnerDir = "pos_gunner_dir";
    memoryPointGunnerOptics = "gunnerview";
    memoryPointGun = "usti hlavne";
    outGunnerMayFire = 1;
    gunnerOpticsModel = "\ca\Weapons\optika_empty";
    minTurn = -180;
    maxTurn = 180;
    initTurn = 0;
    minElev = -7;
    maxElev = 70;
    initElev = 0;
    castGunnerShadow = 1;
    ejectDeadGunner = 1;
    class ViewOptics {
    initAngleX = 0;
    minAngleX = -30;
    maxAngleX = 30;
    initAngleY = 0;
    minAngleY = -100;
    maxAngleY = 100;
    initFov = 0.420000;
    minFov = 0.220000;
    maxFov = 0.640000;
    };
    };
    };
    damperSize = 1.400000;
    damperForce = 0.800000;
    gearBox[] = {-1,0,1 };
    soundEnviron[] = {"",1.000000,0.700000 };
    soundEngine[] = {"",10.000000,1 };
    soundCrash[] = {"",0.562341,1 };
    soundGear[] = {"",0.000316,1 };
    soundDammage[] = {"",0.010000,1 };
    getInAction = "GetInMedium";
    getOutAction = "GetOutMedium";
    class Wounds {
    tex[] = {};
    mat[] = {};
    };
    icon = "iconTank";
    mapSize = 5;
    displayName = "$STR_DN_TANK";
    nameSound = "tank";
    accuracy = 0.120000;
    getInRadius = 3.500000;
    fuelCapacity = 0;
    irScanRangeMin = 500;
    irScanRangeMax = 4000;
    irScanToEyeFactor = 1;
    armor = 20;
    armorStructural = 2.000000;
    class HitEngine {
    armor = 0.800000;
    material = 60;
    name = "motor";
    passThrough = 1;
    };
    class HitHull {
    armor = 1;
    material = 50;
    name = "telo";
    passThrough = 1;
    };
    class HitTurret {
    armor = 0.800000;
    material = 51;
    name = "vez";
    passThrough = 1;
    };
    class HitGun {
    armor = 0.600000;
    material = 52;
    name = "zbran";
    passThrough = 1;
    };
    class HitLTrack {
    armor = 0.600000;
    material = 53;
    name = "pas_L";
    passThrough = 1;
    };
    class HitRTrack {
    armor = 0.600000;
    material = 54;
    name = "pas_P";
    passThrough = 1;
    };
    extCameraPosition[] = {0,1.500000,-9 };
    class ViewPilot : ViewPilot {
    initAngleX = 7;
    minAngleX = -15;
    maxAngleX = 25;
    initAngleY = 0;
    minAngleY = -90;
    maxAngleY = 90;
    };
    cost = 1000000;
    steerAheadSimul = 0.400000;
    steerAheadPlan = 0.600000;
    predictTurnSimul = 1.200000;
    predictTurnPlan = 1.800000;
    hasGunner = 1;
    hasCommander = 0;
    ejectDeadDriver = 1;
    ejectDeadCargo = 1;
    hasDriver = 0;
    nightVision = 0;
    driverAction = "ManActCargo";
    driverInAction = "ManActCargo";
    simulation = "tank";
    occludeSoundsWhenIn = 1.000000;
    obstructSoundsWhenIn = 1.000000;
    formationX = 10;
    formationZ = 10;
    precision = 1;
    brakeDistance = 0;
    maxSpeed = 0;
    canFloat = 0;
    weapons[] = {"FakeWeapon" };
    magazines[] = {"FakeWeapon" };
    type = 1;
    threat[] = {0.700000,1,0.300000 };
    camouflage = 1;
    audible = 1;
    hideProxyInCombat = 0;
    driverOpticsColor[] = {0,0,0,1 };
    class CargoLight {
    color[] = {0,0,0,0 };
    ambient[] = {0.600000,0,0.150000,1 };
    brightness = 0.007000;
    };
    transportMaxMagazines = 0;
    transportMaxWeapons = 0;
    class Reflectors {
    };
    secondaryExplosion = 0;
    };
    class MyWeaponStaticMG : StaticWeapon { //orginally was M2StaticWeapon, so I don't know if it is right
    scope = 2;
    side = 1;
    crew = "SoldierWB";
    model = "\myweap\myweapon_mg"; //this is where the model is located,
    picture = "\ca\Weapons\data\ico\m2_mg_CA.paa"; //I didn't change this path so textures appear applied
    icon = "\Ca\weapons\Data\map_ico\icomap_M2_CA.paa"; //same here, so same icon
    mapSize = 4;
    sound[] = {"\ca\Weapons\Data\Sound\MachineGuns_M2HB_SS_v5",1 00.000000,1 };
    reloadMagazineSound[] = {"\ca\Weapons\Data\Sound\m2gun_inout",0.031623, 1 };
    displayName = "$STR_DN_MyWeapon_MG";
    nameSound = "mgun";
    typicalCargo[] = {"SoldierWB" };
    class Turrets : Turrets {
    class MainTurret : MainTurret {
    minElev = -10;
    minTurn = -70;
    maxTurn = 70;
    initTurn = 0;
    weapons[] = {"MyWeapon" }; //is this right?
    magazines[] = {"100Rnd_127x99_M2","100Rnd_127x99_M2","100Rnd_127 x99_M2","100Rnd_127x99_M2" };
    gunnerAction = "MyWeapon_Gunner"; //same doubt here? originally it was "M2_Gunner"
    };
    };
    class AnimationSources {
    class belt_rotation {
    source = "reload";
    weapon = "MyWeapon";
    };
    };
    soundGetOut[] = {"\ca\Weapons\Data\Sound\m2gun_inout",0.001000, 1 };
    soundGetIn[] = {"\ca\Weapons\Data\Sound\m2gun_inout",0.000316, 1 };
    armorStructural = 10.000000;
    class Library {
    libTextDesc = "$STR_LIB_MyWeapon_MG";
    };
    };
    };
    class CfgNonAIVehicles {
    class ProxyGunner; //Extended
    class ProxyM2Gunner : ProxyGunner {
    };
    class ProxyWeapon {
    };
    class ProxySecWeapon {
    };
    class ProxyM2_Static : ProxyWeapon {
    model = "\ca\Weapons\MyWeapon_Static";
    simulation = "alwaysshow";
    };
    };
    class CfgMagazines {
    class Default; //Extended
    class CA_Magazine : Default {
    scope = 1;
    value = 1;
    displayName = "";
    model = "\ca\weapons\mag_univ.p3d";
    picture = "";
    modelSpecial = "";
    useAction = 0;
    useActionTitle = "";
    reloadAction = "ManActReloadMagazine";
    ammo = "";
    count = 30;
    type = 256;
    initSpeed = 900;
    selectionFireAnim = "zasleh";
    nameSound = "";
    maxLeadSpeed = 23;
    };
    class VehicleMagazine : CA_Magazine {
    type = 0;
    reloadAction = "";
    maxLeadSpeed = 100;
    };
    class 100Rnd_127x99_M2 : VehicleMagazine {
    scope = 2;
    displayName = "$STR_DN_MyWeapon_MG";
    ammo = "B_127x99_Ball";
    count = 100;
    initSpeed = 930;
    maxLeadSpeed = 200;
    };
    };
    class CfgPatches {
    class CAWeapons {
    units[] = {};
    weapons[] = {};
    requiredVersion = 0.100000;
    requiredAddons[] = {"CAData","CA_Anims_Char" };
    };
    };
    class cfgWeapons {
    class Default; //Extended
    class MGunCore; //Extended
    class MGun : MGunCore {
    type = 65536;
    cursor = "\ca\Weapons\Data\w_weapon_mg";
    cursoraim = "\ca\Weapons\Data\w_weapon_mg";
    displayName = "$STR_DN_MGUN";
    nameSound = "mgun";
    reloadTime = 0.250000;
    autoFire = 1;
    reloadAction = "ManActReloadMagazine";
    sound[] = {"\ca\Weapons\Data\Sound\M60_SS",1.000000,1 };
    soundContinuous = 0;
    reloadSound[] = {"",1,1 };
    initSpeed = 900;
    flash = "gunfire";
    flashSize = 0.500000;
    optics = 0;
    };
    class MyWeapon : MGun {
    scope = 1;
    displayName = "$STR_DN_MyWeapon_MG"; //does it display weapon name in-game or in the editor?
    autoFire = 1;
    magazines[] = {"100Rnd_127x99_M2" };
    sound[] = {"\ca\Weapons\Data\Sound\MachineGuns_M2HB_SS_v2",3 .162278,1 };
    soundServo[] = {"",0.000100,1.000000 };
    reloadTime = 0.110000;
    magazineReloadTime = 10;
    dispersion = 0.002000;
    canLock = 0;
    minRange = 1;
    minRangeProbab = 0.100000;
    midRange = 400;
    midRangeProbab = 0.700000;
    maxRange = 1200;
    maxRangeProbab = 0.040000;
    aiDispersionCoefY = 7.000000;
    aiDispersionCoefX = 7.000000;
    maxLeadSpeed = 600;
    };
    }; //ends config

    I lighter problem is that the name of this addon appears as "*", I mean, no real name but Im not really worried about it.
    So this is about three main questions:
    1)how to make my turret point to different directions? is it the config?
    2)how to simplify the config file?
    3)how to display a proper name in-game?

  2. #2
    Corporal
    Join Date
    Jun 23 2010
    Location
    Mexico
    Posts
    75
    Author of the Thread
    no one?... Well, I've been looking the p3d model, I do not know if it is related but selections are not written in the config.cpp file, for exemple "bolt" and those czech names. I've looked for a config file with animations, maybe that helps me but not sure, I don't find anything like CfgAnimations or something in the BIS wiki, actually there is no CfgPatches there to be explained, so I changed it to:
    class CfgPatches {
    class MyWeapon {
    units[] = {};
    weapons[] = {"MyWeapon"};
    requiredVersion = 0.100000;
    requiredAddons[] = {"CAData","CA_Anims_Char" };
    };
    };
    I tested and same thing as before, barrel has no movement.
    Last edited by Rhamka; Nov 27 2010 at 21:25.

  3. #3
    Quote Originally Posted by Rhamka View Post
    but can't mouve the barrel to different directions, it always points at the same place which is useless.
    Probably because you model doesnt have its own compiled MODEL.CFG file.
    This "replacement" method is going to give you nothing but trouble.
    You need to look at other peoples addon configs to see how they work, you dont need 90% of the below.
    And you need a MODEL.CFG for your models.


    Quote Originally Posted by Rhamka View Post
    1)how to make my turret point to different directions? is it the config?
    2)how to simplify the config file?
    3)how to display a proper name in-game?
    First off you need to work out what your guns will be most like from the standard BIS provided stuff, then INHERIT that config, but NOT copy the whole config.

  4. #4
    Corporal
    Join Date
    Jun 23 2010
    Location
    Mexico
    Posts
    75
    Author of the Thread
    I tried to find an static weapon addon with no result. I thought it was too large file but worked almost completely. I just ignore everything about config files, I've been on BIS wiki so some things are clearer but not enough to me. Some unbinarized samples could help noobs like me to understand how the whole addon works, but all addons I have are binarized. I tried to download SLX sample but can't be open. So probably a basic config for static weapon helps me.

  5. #5
    BIS provided just about EVERY model from ArmA1 as a unbinarized sample, with model.cfg's and configs. Suggest you search for that thread, download and look.
    You will find a bunch of Static weapons in that.

  6. #6
    Corporal
    Join Date
    Jun 23 2010
    Location
    Mexico
    Posts
    75
    Author of the Thread
    For what you say I have to include a model.cfg file, right? I have samples of BIS an the config I take in my post is taken from there. Anyway, I'll give a try with model.cfg wich I don't have. I just meant that I haven't found static weapons addons done by players to see how the whole thing works, as BIS samples are just like reference stuff. Thanks for the advice, probably I'm missing a config file.

  7. #7
    If the config for an existing BIS model already exists, you only need to redefine it IF you change it's value. Obvious ones being displayName, model etc.

    Depending on how different your static model is compared to a BIS one will vary the amount of config values you will redefine.

    The reason your name is appearing blank is probably because you don't have "$STR_DN_MyWeapon_MG" defined in a stringtable? For now just put exactly what you want it to be in the string. Eg:

    displayName = "My Static Weapon";

    I'm no good with anims so I can't help you with that, but the basic rule with the config is that you don't copy the config, only use it as a reference and then redefine whats different.

  8. #8

  9. #9
    Staff Sergeant F2F_BHO's Avatar
    Join Date
    Jan 27 2010
    Location
    Jacksonville Al
    Posts
    276
    is it possible to have this entire thread recreated on Armastack, it has good information in it, and could be benificial to have all in one place.

    "Some of u been trying to write rhymes for years but weak ideas irratate my ears,is this the best that you can make? Cause if not and you got more then I'll wait"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •