Addons & Mods Depot > Arma2 - Addons & Mods Discussion

config.cpp and model.cfg

(1/2) > >>

MikePhoeniX:
Hi im new to creating addons for Arma 2, Iv built a model of a boat and am looking for some template config.cpp and model.cfg files for my boat, anyone have any or know where I could find some?

Gnat:
Good luck Mike

--- Quote ---class CfgSkeletons
{
   class default
   {
      isDiscrete = 1;
      skeletonInherit = "";
      skeletonBones[] = {};
   };
   class GNT_FSFBones: default
   {
      isDiscrete=1;
      skeletonInherit = "";
      skeletonBones[]=
   {
      "ZL1","",
      "ZL2","",
      "CL1","",
      "CL2",""
   };
    };
};
class CfgModels
{
   class Default
   {
      sectionsInherit="";
      sections[] = {};
      skeletonName = "";
   };
   class allvehicle : Default
   {
      sectionsInherit="";
      sections[] = {};
      skeletonName = "";
   };
   class Ship : allvehicle
          {
              sectionsInherit="";
              sections[] = {"otocvez","otochlaven","radar","kompas","fuel","hodinova","minutova","mph","rpm","rpm2","main1turret","main1gun"};
              skeletonName = "";
          };
   class GNTFSF : Ship
   {
      skeletonName = "GNT_FSFBones";
      sectionsInherit = "Ship";
      sections[] = {"ZL1","ZL2","CL1","CL2","skin"};
      class Animations
      {
         class ZL1
         {
            type="rotation";
            initPhase=0;
            source = "FUser1";
            animPeriod=0.1;
            sourceAddress = "clamp";
            selection="ZL1";
            axis="axis_swt";
            minValue = 0;
            maxValue = 1;
            angle0=0;
            angle1="rad -70";
         };
         class ZL2
         {
            type="rotation";
            initPhase=0;
            source = "FUser2";
            animPeriod=0.1;
            sourceAddress = "clamp";
            selection="ZL2";
            axis="axis_swt";
            minValue = 0;
            maxValue = 1;
            angle0=0;
            angle1="rad -70";
         };
         class CL1
         {
            type="rotation";
            initPhase=0;
            source = "FUser3";
            animPeriod=0.1;
            sourceAddress = "clamp";
            selection="CL1";
            axis="axis_swt";
            minValue = 0;
            maxValue = 1;
            angle0=0;
            angle1="rad -70";
         };
         class CL2
         {
            type="rotation";
            initPhase=0;
            source = "FUser4";
            animPeriod=0.1;
            sourceAddress = "clamp";
            selection="CL2";
            axis="axis_swt";
            minValue = 0;
            maxValue = 1;
            angle0=0;
            angle1="rad -70";
         };
         
      };
      
   };

};

--- End quote ---


--- Quote ---// -----------------------------------------------
// Gnat's FSF for ArmAII
// March 2010
// (c) p3d models and code
// permission required before using code or models
// Not for commercial or military use
// See readme for more detail
// -----------------------------------------------


#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

// type scope
#define private 0
#define protected 1
#define public 2

#define WeaponNoSlot 0// dummy weapons
#define WeaponSlotPrimary 1// primary weapons
#define WeaponSlotSecondary 16// secondary weapons
#define WeaponSlotItem 256// items
#define WeaponSlotBinocular 4096// binocular
#define WeaponHardMounted 65536


#define CanSeeRadar 1
#define CanSeeRye 2
#define CanSeeOptics 4
#define CanSeeEar 8
#define CanSeeCompass 16
#define CanSeeAll 31


class CfgPatches
{
   class GNTFSF
        {
         units[] = {GNTFSF,FSF_Ladder};
         weapons[] = {};
         requiredAddons[] = {};      
        };

};

class CfgCloudlets
{   
   class Default;
   class RightWater1;   // External class reference
   class LeftWater1;
   class LeftEng1;   // External class reference
   class RightEng1;
   class GNTRWaterFrig1FSF  : RightWater1 {
      position[] = {"positionX - 8.5","positionY","positionZ + 31.6" };
   };

   class GNTLWaterFrig1FSF  : LeftWater1 {
      position[] = {"positionX + 8.5","positionY","positionZ + 31.6" };
   };
   class GNTLeftEng1FSF  : LeftEng1 {
      lifeTime = 5.500000;
      moveVelocity[] = {"speedX","speedY + 2","speedZ" };
      position[] = {"positionX - 8.5","positionY","positionZ - 31" };
      positionVar[] = {0,0,0 };
      MoveVelocityVar[] = {0.500000,1,0.500000 };
      weight = 1.450000;      
   };
   class GNTRightEng1FSF  : RightEng1 {
      lifeTime = 5.500000;
      moveVelocity[] = {"speedX","speedY + 2","speedZ" };
      position[] = {"positionX + 8.5","positionY","positionZ - 31" };
      positionVar[] = {0,0,0 };
      MoveVelocityVar[] = {0.500000,1,0.500000 };
      weight = 1.450000;      
   };   
};
class GNTREngEffects1FSF  {

   class GNTRightEng  {
      simulation = "particles";
      type = "GNTRightEng1FSF";
   };
};

class GNTLEngEffects1FSF  {

   class GNTLeftEng  {
      simulation = "particles";
      type = "GNTLeftEng1FSF";
   };
};

class GNTRWaterFSF1Effects  {

   class GNTRightWater  {
      simulation = "particles";
      type = "GNTRWaterFrig1FSF";
   };
};

class GNTLWaterFSF1Effects  {

   class GNTLeftWater {
      simulation = "particles";
      type = "GNTLWaterFrig1FSF";
   };
};
   
class CfgAmmo
{   
};

class CfgMagazines
{
};

class cfgWeapons
{
};

class CfgVehicles
{
   class Ship;
   class StaticShip;
   class Land_ladder_half;
   class FSF_Ladder : Land_ladder_half
   {
      scope = 2;
      displayName = "Ladder (FSF)";
      model = "\GNT_FSF\ladder_h.p3d";
      mapSize = 0.01;
      icon = "";
      armor = 150;
      ladders[] =
      {
         {
            "start",
            "end"
         }
      };
      vehicleClass = "Misc";
   };   
   class GNTFSF: Ship
   {
      scope=public;
      displayName="FSF SeaFighter";
      crew = "USMC_Soldier_Pilot";
      faction = "USMC";
      side=TWest;
      picture="\GNT_FSF\FSFPic.paa";
      icon="\GNT_FSF\FSFIcon.paa";
      hiddenSelections[] = {"skin"};
      hiddenSelectionsTextures[] = {"\gnt_fsf\afs_s2.paa"};
      mapSize=60;
//      hiddenselections[] ={"num1","num2","zodx1","zodx2","zodx3","zodx4","zodx5","zodx6","zodx7","zodx8"};

      model="\GNT_FSF\GNTFSF.p3d";

//      accuracy=0.50;
      unloadInCombat = false;
      leftWaterEffect = "GNTLWaterFSF1Effects";
      rightWaterEffect = "GNTRWaterFSF1Effects";
      leftEngineEffect = "GNTLEngEffects1FSF";
      rightEngineEffect = "GNTREngEffects1FSF";
      armorHull=1;
      armorTurret=0.800000;
      armorGun=0.600000;
      armorEngine=0.800000;
      armorLights=0.400000;
      armorTracks=0.600000;

      weapons[]={};
      magazines[]={};
      castDriverShadow = 0;
      castCargoShadow = 0;
      castGunnerShadow = 0;

      hasdriver = true;
      hasCommander = 0;
      hasGunner=0;
      driverisCommander=1;
      gunneriscommander = 0;
      getInRadius=80;
      driverCanSee = 31+32;
      gunnerCanSee = 2+4+8+16+1;
      memoryPointDriverOptics[] =
      {
         "driverview",
         "pilot"
      };
      memoryPointsGetInDriver = "pos driver";
      memoryPointsGetInDriverDir = "pos driver dir";

      hideWeaponsGunner=true;
      hideWeaponsCommander=true;
      hideWeaponsDriver = true;
      hideWeaponsCargo = true;
      hideProxyInCombat = false;
      ejectDeadGunner=1;
      ejectDeadDriver=1;
      ejectDeadCargo=0;
      
      insideSoundCoef = 0.3;
      soundEngineOnInt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-start-01",0.1,1.0};
      soundEngineOnExt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-start-01",1.0,0.8,100};
      soundEngineOffInt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-stop-01",0.1,1.0};
      soundEngineOffExt[] = {"ca\sounds\vehicles\water\rhib\ext-boat-stop-01",1.0,0.8,100};
      class Sounds
      {
       class Engine
       {
          sound[] = {"ca\sounds\vehicles\water\rhib\ext-boat-engine-low-01",1.0,0.9,300};
         frequency = "(randomizer*0.05+0.95)*rpm";
         volume = "engineOn*(rpm factor[0.5, 0.1])";
       };
       class EngineHighOut
       {
         sound[] = {"ca\sounds\vehicles\water\rhib\ext-boat-engine-high-01",1.0,0.8,300};
         frequency = "(randomizer*0.05+0.95)*rpm";
         volume = "engineOn*(rpm factor[0.4, 1.3])";
       };
       class IdleOut
       {
         sound[] = {"ca\sounds\vehicles\water\rhib\ext-boat-engine-idle-03",0.562341,1.0,150};
         frequency = "1";
         volume = "engineOn*(rpm factor[0.5, 0])";
       };
       class WaternoiseOutW0
       {
         sound[] = {"ca\sounds\vehicles\water\water_sfx\ext-water-noise-nospeed",0.398107,1.0,100};
         frequency = "1";
         volume = "(speed factor[7, 0])";
       };
       class WaternoiseOutW1
       {
         sound[] = {"ca\sounds\vehicles\water\water_sfx\ext-boat-lospd-noise-02",0.398107,1.0,100};
         frequency = "1";
         volume = "((speed factor[2, 12]) min (speed factor[12, 2]))";
       };
       class WaternoiseOutW2
       {
         sound[] = {"ca\sounds\vehicles\water\water_sfx\ext-boat-hispd-noise-02",0.398107,1.0,100};
         frequency = "1";
         volume = "(speed factor[9, 18.7])";
       };
      };
      
      irTarget=true;
      irScanRangeMin=500;
      irScanRangeMax=4000;
      irScanToEyeFactor=7;
      irScanGround= false;
//      laserTarget=0;
//      laserScanner=0;
      nightVision = true;
      threat[] = {0.8,1,0.8};
      type = 1;


      secondaryExplosion = -1;
         precision=220;

      brakeDistance = 120;
         steerAheadSimul=6.0;
         steerAheadPlan=3.0;
         predictTurnSimul=1.0;
         predictTurnPlan=1.0;
/*
      brakeDistance = 120;
         steerAheadSimul=6.0;
         steerAheadPlan=3.0;
         predictTurnSimul=1.0;
         predictTurnPlan=1.0;      
*/
//      simulation = "Ship";
//      namesound = "Ship";

      maxSpeed=70;
      fuelCapacity=10000;

      transportSoldier=17;
      typicalCargo[] = {"USMC_Soldier","USMC_Soldier_AT"};
      cargoAction[] = {"searchlight_Gunner","searchlight_Gunner"};
         getInAction="AH1Z_Gunner";
      driverAction = "AH1Z_Gunner";
      gunnerAction = "AH1Z_Gunner";

      class TransportMagazines {};
      
      transportAmmo = 10000;
      accuracy = 1.25;
      transportVehiclesCount = 0;
      enableGPS = 1;

      cost=2000000;
      armor=2500;
      armorStructural=40.0;

      extCameraPosition[] = {0, 8.0, -65.0};      

      animated=1;
      memoryPointCommonDamage = "zamerny";
      memoryPointCameraTarget = "pilot";
      memoryPointcommanderOptics = "pilot";
      commanderOpticsModel = "\ca\wheeled\optika_BRDM";
      
      
      memoryPointMissile[] = {"spicerakety", "ustihlavne2"};
      memoryPointMissileDir[] = {"konecrakety", "konechlavne2"};
//      memoryPointMissile[] = {"spicerakety"};
//      memoryPointMissileDir[] = {"konecrakety"};

//      class Turrets : Turrets {

      class Turrets
      {
      };
      class AnimationSources
      {
         class  FUser1
         {
            source = "user";
            animPeriod = 0.1;
            initPhase=0;
         };
         class  FUser2
         {
            source = "user";
            animPeriod = 0.1;
            initPhase=0;
         };
         class  FUser3
         {
            source = "user";
            animPeriod = 0.1;
            initPhase=0;
         };
         class  FUser4
         {
            source = "user";
            animPeriod = 0.1;
            initPhase=0;
         };
      };
      class UserActions
      {
         class Zodiac2
         {
            displayName="Dock Left";
            position="BBay";
            onlyforplayer=0;
            radius=13;
            condition="(vehicle player isKindOf ""Boat"") and (this animationPhase ""ZL1"" == 0)";
            statement= "this animate [""ZL1"",1];[this, vehicle player] execVM ""\GNT_FSF\scr\FSFZodiacDock1.sqf""";
         };
         class Zodiac3
         {
            displayName="Dock Right";
            position="BBay";
            onlyforplayer=0;
            radius=13;
            condition="(vehicle player isKindOf ""Boat"") and (this animationPhase ""ZL2"" == 0)";
            statement= "this animate [""ZL2"",1];[this, vehicle player] execVM ""\GNT_FSF\scr\FSFZodiacDock2.sqf""";
         };
         class Zodiac4
         {
            displayName="Release Left";
            position="BBay";
            onlyforplayer=0;
            radius=13;
            condition="(this animationPhase ""ZL1"" == 1)";
            statement= "this animate [""ZL1"",0];";
         };
         class Zodiac5
         {
            displayName="Release Right";
            position="BBay";
            onlyforplayer=0;
            radius=13;
            condition="(this animationPhase ""ZL2"" == 1)";
            statement= "this animate [""ZL2"",0];";
         };         
         class LChopper1
         {
            displayName="Lash Chopper";
            position="CBay";
            onlyforplayer=0;
            radius=20;
            condition="(vehicle player isKindOf ""Air"")";
            statement= "[this, vehicle player] execVM ""\GNT_FSF\scr\FSFHeliLand.sqf""";
         };
      };
      
   class EventHandlers
         {
       init = "[_this select 0] execVM ""\GNT_FSF\scr\FSFInit.sqf""; ";
   };

   };
};

class CfgNonAIVehicles
{

};


--- End quote ---

MikePhoeniX:
Thank you very much Gnat, I post how I get on with these!!!!

MPX

MikePhoeniX:
Gnat,

Having an issue with my config.cpp wihen trying to add animation. I have a simple door that opens vertically, and when I compile my pbo i get the following error in the log


--- Quote ---File p:\yacht\config.cpp, line 32: /CfgVehicles/Yacht.AnimationSources: Undefined base class 'AnimationSources'
Config : some input after EndOfFile.
Error 3 while parsing
Error in config p:\yacht\config.cpp
w:\C_branch\Poseidon\Arrowhead\El\ParamFile\paramFile.cpp(753) : Class destroyed, but still locked
--- End quote ---

Just wondered if you could help me spot the error, below are my config.cpp and model.cfg  for refrence.


--- Quote ---
Config.cpp

class CfgPatches
{
   class Yacht
   {
      units[] = {Yacht};
      weapons[] = {};
      requiredVersion = 1.0;
   };
};
class CfgAmmo {
};
class CfgVehicles
 {
   class Fishing_Boat; // extend & copy existing definition
   class  Yacht: Fishing_Boat
      {   
         displayName = "Mikes Yacht";
         side = 3;
         mapSize = 60;
         model = "\Yacht\Yacht.p3d";
         extCameraPosition[] = {0,5,-30}; // x y z
         driverAction = "Datsun_Driver";
         faction = "CIV";
         Icon = "\Ca\water2\Data\UI\icon_fishboat_ca.paa";
         ejectDeadCargo = 1;
         ejectDeadDriver = 1;
         hideWeaponsCargo = 1;
         maxSpeed = 25;
         transportSoldier = 7;
         cost = 10000;
         armor = 10;
         damageResistance = 0.003180;
         class AnimationSources:AnimationSources
         {
            class AnimateBackDoor
            {
               source = "user";
               animPeriod = 20;
               initPhase=0;
            };
         class UserActions :UserActions
  {
   class OpenBackDoor// ensure no possibilty of a clash with base names (if any)
   {
    displayName = "Open Back door";
    onlyforplayer = "true";
    position = "ACTION_BackDoor";// THE axis declared in the model
    radius = 8;
    condition = "this animationPhase ""AnimateBackDoor"" == 0)";
    statement="this animate [""AnimateBackDoor"",1];";
   };
    class CloseBackDoorR
   {
    displayName="Close Back Door";
    position="ACTION_BackDoor";
    onlyforplayer=0;
    radius=8;
    condition="(this animationPhase ""AnimateBackDoor"" == 1)";
    statement="this animate [""AnimateBackDoor"",0];";
   };
  };
 };

--- End quote ---


--- Quote ---Model.cfg

class CfgSkeletons
{
class Fishing_Boat;
class YachtBones: Fishing_Boat
      {
         isDiscrete=1;
         skeletonInherit = "";
         skeletonBones[]=
         {
            "BackDoor","",
         };
      };
};
class CfgModels
{
   class Fishing_Boat;
    class Yacht: Fishing_Boat
   {
      sectionsInherit="";
      skeletonName = "YachtBones";
      sections[] = {};
      class animations
      {
         class AnimateBackDoor
         {
            type="rotation";
            source="UserBackDoor";
            sourceAddress="clamp";
            selection="BackDoor";
            axis="AXIS_BackDoor";
            memory=1;
            angle0="rad 0";
            angle1="rad 90";
            minValue=0.000;
            maxValue=1.000;
         };
         
      };
   };
};


--- End quote ---

Gnat:
Try


--- Code: ---...
...
class CfgVehicles
 {
   class Ship;
   class Fishing_Boat: Ship
   {
class AnimationSources;
   };
   class  Yacht: Fishing_Boat
      {   
         displayName = "Mikes Yacht";
...
...

--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version