OFPEC Forum
Addons & Mods Depot => OFP - Addons & Mods General => Topic started by: US-Marine on 28 Dec 2004, 17:20:38
-
I need a config file for 4 sorts of G36
two with 40mm grenade launcher but different 3d models
(http://www.bundeswehrforum.de/contents/46g36gran.gif)
one with turned down riflebutt (i think its the same like a normal)
(http://remtek.com/arms/hk/mil/g36/g36kfold.gif)
and one normal G36
-
i try it myself but i dosn't work :-\ :-\
// some basic defines
#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
CfgPatches
{
   class g36 //G36c
   {
   units[] = {""};
   weapons[] = {"g36gran", "g36kurz", "g36kurzgran", "g36c"};  ÂÂ
   ammo[] = {"g36einzel","g36burst","g36auto","g36granate"};  ÂÂ
   requiredversion = 1.91    ÂÂ
   };
};
class CfgModels
{
   class default {};
   class weapon: default {};
   class g36gran: weapon {g36gren};
   class g36kurz: weapon {g36};
class g36kurzgran: weapon {g36cgren};
class g36c: weapon {g36c}     ÂÂ
};
CfgAmmo
{
class default {};
class Bulletsingle: default {};     ÂÂ
class g36einzel: Bulletsingle   /
   {
      hit=9;indirectHit=2;indirectHitRange=0.1; ÂÂ
      model=shell;
      simulation=shotBullet;
      simulationStep=0.05;
      soundFly[]={objects\bulletnoise,db-12,0.7};
      explosive=false;
      visibleFire=16; // how much is visible when this weapon is fired
      audibleFire=16;
      visibleFireTime=3; // how long is it visible
      minRange=10;minRangeProbab=0.10;
      midRange=50;midRangeProbab=0.38;
      maxRange=200;maxRangeProbab=0.04;
      soundHit1[]={weapons\bulletricochet1,db-30,1};
      soundHit2[]={weapons\bulletricochet2,db-30,1};
      soundHit3[]={weapons\bulletricochet3,db-30,1};
      soundHitMan1[]={weapons\bullethitman1,db-38,1};
      soundHitMan2[]={weapons\bullethitman2,db-38,1};
      soundHitArmor1[]={weapons\small_impact1,db-30,1};
      soundHitArmor2[]={weapons\Big_Impact2,db-30,1};
      soundHitBuilding1[]={weapons\bulletricochet4,db-30,1};
      soundHitBuilding2[]={weapons\bulletricochet5,db-30,1};
      hitGround[]={soundHit1,0.33,soundHit2,0.33,soundHit3,0.33};
      hitMan[]={soundHitMan1,0.5,soundHitMan2,0.5};
      hitArmor[]={soundHitArmor1,0.7, soundHitArmor2, 0.3};
      hitBuilding[]={soundHitBuilding1,0.5,soundHitBuilding2,0.5};
      cartridge="FxCartridge";
      cost = 0.7;  ÂÂ
      class g36burst: g36einzel   /
         {
         minRange=0.5;minRangeProbab=0.25;
         midRange=70;midRangeProbab=0.50;
         maxRange=250;maxRangeProbab=0.08;
         visibleFire=25; // how much is visible when this weapon is fired
         audibleFire=25;
         visibleFireTime=5; // how long is it visible
  ÂÂ
         cost = 2.1;
         };
      class g36auto: g36burst
         {
         cost = 2.5;   /
         };
   };
   class grenade: default {};
   class g36granate: grenade    /
      {
      hit=20;indirectHit=18;indirectHitRange=7;
      minRange=15;minRangeProbab=0.30;
      midRange=80;midRangeProbab=0.55;
      maxRange=150;maxRangeProbab=0.00;
      model=granat;
      cost=40;
      simulation=shotShell;
      simulationStep=0.05;
      soundHit[]={Explosions\expl3,db20,1};
      soundFly[]={objects\noise,db-90,1};
      soundEngine[]={,db-80,4};
  ÂÂ
      visibleFire=2;
      audibleFire=0.25;
      visibleFireTime=0;
      };
};
class CfgWeapons
{
class default {};
class MGun:Default {};
class Riffle:MGun {};
class g36kurz     ÂÂ
   {
      scopeWeapon = public;      ÂÂ
      scopeMagazine = public;     ÂÂ
      model="/g36bw/g36";  ÂÂ
      modelOptics="g36_optics";
picture="\G36BW\w_g36.paa";  ÂÂ
      displayName = G36kurz;
      displayNameMagazine = $STR_MN_HK;
      shortNameMagazine = $STR_SN_HK;
      drySound[]={"weapons\m16dry",db-70,1};   // empty magazine
      optics = true;
      opticsZoomMin=0.3; //better zoom than M16 because it is a spec ops weapon
      opticsZoomMax=0.3;
      distanceZoomMin=150;
      distanceZoomMax=150;
      valueWeapon = NEVER_DESTROY;
      valueMagazine = NEVER_DESTROY;
  ÂÂ
      magazines[] = {g36cmag};
  ÂÂ
      class g36mag:
         {
         scopeWeapon=0;
         scopeMagazine=2;
         picture="";       //pfad für das bild des magazins.
         displayNAmeMagazine="G36 Magazin";
         };  ÂÂ
     ÂÂ
     ÂÂ
      modes[] = {Single, Burst, FullAuto};
      class Single
      {
         ammo = g36einzel;      ÂÂ
         multiplier = 1;
         burst=1;
         displayName = G36;  ÂÂ
         dispersion=0.0002;
         sound[]={"G36BW\G36fire",db0,1};
         soundContinuous=true;
         reloadTime=0.10;
         ffCount=1;
         recoil=riffleSingle;
         autoFire = false;
         aiRateOfFire=0.5; // delay between shots at given distance
         aiRateOfFireDistance=500; // at shorter distance delay goes lineary to zero
         useAction = false;
         useActionTitle = "";
      };
      class Burst
      {
         ammo = g36burst;     ÂÂ
         multiplier=1;
         burst=3;
         displayName=G36BURST;
         dispersion=0.0004;
         sound[]={"G36BW\G36fire",db0,1};
         //sound[]={"",db0,1};
         soundContinuous=true;
         reloadTime=0.1;
         ffCount=3;
         recoil=riffleBurst3;
         autoFire = false;
         aiRateOfFire=0.5; // delay between shots at given distance
         aiRateOfFireDistance=500; // at shorter distance delay goes lineary to zero
         useAction = false;
         useActionTitle = "";
      };
      class FullAuto
      {
         ammo = g36auto;   //wie in der cfgammo abtielung
         multiplier=1;
         burst=1;
         displayName=G36AUTO;
         dispersion=0.0008;
         sound[]={"G36BW\G36fire",db0,1};
         soundContinuous=true;
         reloadTime=0.1;
         ffCount=30;
         recoil=riffleBurst3;
         autoFire = true;
         aiRateOfFire=0.5; // delay between shots at given distance
         aiRateOfFireDistance=500; // at shorter distance delay goes lineary to zero
         useAction = false;
         useActionTitle = "";
      };
   };
class g36  ÂÂ
   {
      scopeWeapon = public;      ÂÂ
      scopeMagazine = public;     ÂÂ
      model="/g36bw/g36c";  ÂÂ
      modelOptics="g36_optics";
picture="\G36BW\w_g36.paa";  ÂÂ
      displayName = G36c;
      displayNameMagazine = $STR_MN_HK;
      shortNameMagazine = $STR_SN_HK;
      drySound[]={"weapons\m16dry",db-70,1};   // empty magazine
      optics = true;
      opticsZoomMin=0.3; //better zoom than M16 because it is a spec ops weapon
      opticsZoomMax=0.3;
      distanceZoomMin=150;
      distanceZoomMax=150;
      valueWeapon = NEVER_DESTROY;
      valueMagazine = NEVER_DESTROY;
  ÂÂ
      magazines[] = {g36cmag};
  ÂÂ
      class g36mag:
         {
         scopeWeapon=0;
         scopeMagazine=2;
         picture="";       //pfad für das bild des magazins.
         displayNAmeMagazine="G36 Magazin";
         };  ÂÂ
     ÂÂ
     ÂÂ
      modes[] = {Single, Burst, FullAuto};
      class Single
      {
         ammo = g36einzel;       //wie in der cfgammo abtielung
         multiplier = 1;
         burst=1;
         displayName = $STR_DN_AK74;   //sounds und displaynames sind alle noch von der AK, bitte ändern.
         dispersion=0.0002;
         sound[]={"G36BW\G36fire",db0,1};
         soundContinuous=true;
         reloadTime=0.10;
         ffCount=1;
         recoil=riffleSingle;
         autoFire = false;
         aiRateOfFire=0.5; // delay between shots at given distance
         aiRateOfFireDistance=500; // at shorter distance delay goes lineary to zero
         useAction = false;
         useActionTitle = "";
      };
      class Burst
      {
         ammo = g36burst;      //wie in der cfgammo abtielung
         multiplier=1;
         burst=3;
         displayName=$STR_DN_AK74_BURST;
         dispersion=0.0004;
         sound[]={"G36BW\G36fire",db0,1};
         //sound[]={"",db0,1};
         soundContinuous=true;
         reloadTime=0.1;
         ffCount=3;
         recoil=riffleBurst3;
         autoFire = false;
         aiRateOfFire=0.5; // delay between shots at given distance
         aiRateOfFireDistance=500; // at shorter distance delay goes lineary to zero
         useAction = false;
         useActionTitle = "";
      };
      class FullAuto
      {
         ammo = g36auto;   //wie in der cfgammo abtielung
         multiplier=1;
         burst=1;
         displayName=$STR_DN_AK74_AUTO;
         dispersion=0.0008;
         sound[]={"G36BW\G36fire",db0,1};
         soundContinuous=true;
         reloadTime=0.1;
         ffCount=30;
         recoil=riffleBurst3;
         autoFire = true;
         aiRateOfFire=0.5; // delay between shots at given distance
         aiRateOfFireDistance=500; // at shorter distance delay goes lineary to zero
         useAction = false;
         useActionTitle = "";
      };
   };
   class GrenadeLauncher: Default {};
   class usm_granatwerfer_base: grenadelauncher
   {
      cursor = "t_select.paa";
     ÂÂ
      scopeMagazine = public;
      valueWeapon = 3;
      valueMagazine = 2;
      weaponType = WeaponNoSlot;
      magazineType = 2 * WeaponSlotItem;
      ammo=Grenade;
      displayName = $STR_DN_GRENADE;
      displayNameMagazine = $STR_MN_GRENADE;
      shortNameMagazine = $STR_SN_GRENADE;
      count=1;
      reloadTime=1.0;
      reloadTime=0;
      sound[]={Weapons\grenade_launch,db-70,1};
      reloadSound[]={Weapons\M16load,db-70,1};
      initSpeed=60;
      canLock=LockNo;
      autoReload = false;
      ffMagnitude=0.1;
      ffFrequency=1;
      ffCount=1;
      recoil=Empty;
      dispersion=0.015;
      aiDispersionCoefY=2.0; // dispersion used to simulate distance est. error
     ÂÂ
      maxLeadSpeed = 15;
      optics = false;
      muzzlePos="usti granatometu";
      muzzleEnd="konec granatometu";
      uiPicture = igrenadier;
   };
  ÂÂ
class g36gran: usm_grenadelauncher_base
      {
      scopeWeapon = public;
      scopeMagazine = private;
      weaponType = WeaponSlotPrimary;
      valueWeapon = 2;
      valueMagazine = 2;
      displayName = "G36gran";     ÂÂ
      model="/G36BW/G36gren";
      picture="";
      uiPicture = igrenadier;
     ÂÂ
      muzzles[] = {g36Muzzle, granatMuzzle};  ÂÂ
      class g36Muzzle :
      {
         magazines[] = {g36};
      };
      class usm_granatMuzzle : GrenadeLauncher
      {
         displayName=$STR_DN_M203;
         sound[]={weapons\M16GrenadeLaunch, db-70,1};
         magazines[] = {granatwerfer, granatwerfer, granatwerfer};
         //optics = true;
         //opticsZoomMin=0.40;
         //opticsZoomMax=0.40;
         //modelOptics="optika_m16_granatomet";
      }
      canDrop = true;
   };
};
class g36kurzgran: usm_grenadelauncher_base
      {
      scopeWeapon = public;
      scopeMagazine = private;
      weaponType = WeaponSlotPrimary;
      valueWeapon = 2;
      valueMagazine = 2;
      displayName = "G36gran";     ÂÂ
      model="/G36BW/G36cgren";
      picture="";
      uiPicture = igrenadier;
     ÂÂ
      muzzles[] = {g36Muzzle, granatMuzzle};  ÂÂ
      class g36Muzzle :
      {
         magazines[] = {g36};
      };
      class usm_granatMuzzle : GrenadeLauncher
      {
         displayName=$STR_DN_M203;
         sound[]={weapons\M16GrenadeLaunch, db-70,1};
         magazines[] = {granatwerfer, granatwerfer, granatwerfer};
         //optics = true;
         //opticsZoomMin=0.40;
         //opticsZoomMax=0.40;
         //modelOptics="optika_m16_granatomet";
      }
      canDrop = true;
   };
};
class CfgNonAIVehicles  ÂÂ
-
I hope you realise that you don't actually have to write out the entire config.
There is already a G36 on OFP, so if you use inhertience to link to that it will use all its properties, just change the ones you need (like the models etc.)
-
i don't think that it gives an G36 with grenade launcher allready ^^
-
True :)
Then you might want to pick another weapon that does eg. AK74 w/ Grenades etc.
And then change the relevant names to "G36...." and the models etc.
-
could try it but then i have4 more pbo files :-/
-
Why do you have four more ,pbo files?
-
i try to make 4 sorts of G36
-
OK, so what's the problem?
Its all in one config and it'll be much shorter than what you have in your first post.
-
i need one config then i have only one pbo file
-
Yeah, what's wrong with that?
-
the problem is i never make a config befor so i don't have any skills in it
-
Oh, ok.
Well, I can help you out there ;)
If you tell me the names of your models, the folders they are in etc. then I'll make it for you.
-
well that would be cool
i have as names "g36" , "g36short" ,"g36gren" and "g36shortgren"
gren = with grenadelauncher
they shoul in folder "G36BW"
-
OK, have a look.
You might need to chnage some of the model names and display names to suit your preferences.
// BW's G36 Range
// config by
// Lean Bear
// version 0.1 BETA
// Here's your config.cpp
// Feel free to edit it etc.
// There are probably some errors/ bugs so send me a PM
// telling me what they are and I'll fix 'em for you ^_^
// There are 4 units under the West side under "BW Men"
// You can change this to whatever you want though.
// here's yer basic defines etc.
#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
#define private 0
#define protected 1
#define public 2
#define WeaponNoSlot
#define WeaponSlotPrimary
#define WeaponSlotSecondary
#define WeaponSlotItem
#define WeaponSlotBinocular
#define WeaponHardMounted
class CfgPatches
{
class g36BWAddon
{
units[]={"g36Man","g36shortMan","g36grenMan","g36shortgrenMan"};
weapons[]={"g36","g36short","g36gren","g36shortgren"};
requiredVersion=1.85;
};
};
class CfgAmmo
{
class default {};
class BulletSingle: default {};
class G36a: BulletSingle {};
class g36: G36A
{
hit=11;
indirectHit=1;
indirectHitRange=0.1;
};
};
class CfgWeapons
{
class Default {};
class MGun:Default {};
class Riffle:MGun {};
class G36aBase:Riffle
class g36: G36aBase
{
scopeWeapon=2;
scopeMagazine=2;
model="\G36A\g36.p3d"; // You may need to change this to your model .p3d filename
modelOptics="\G36A\G36_optics";
picture="\G36A\w_g36.paa";
optics=1;
opticsZoomMin=0.28;
opticsZoomMax=0.28;
distanceZoomMin=300;
distanceZoomMax=300;
displayName="G36 BW";
magazines[]={"g36"};
modes[]={"Single","Burst","Fullauto"};
class Single
{
ammo="g36";
multiplier=1;
burst=1;
displayName="$STR_DN_ADD_G36";
dispersion=0.0002;
sound[]={"\G36A\g36a.wss",1.0,1};
soundContinuous=0;
reloadTime=0.1;
ffCount=1;
recoil="riffleSingle";
autoFire=0;
aiRateOfFire=0.5;
aiRateOfFireDistance=500;
useAction=0;
useActionTitle="";
};
class Burst
{
ammo="g36";
multiplier=1;
burst=3;
displayName="$STR_DN_ADD_G36_BURST";
dispersion=0.001;
sound[]={"\G36A\g36a_burst",1.0,1};
soundContinuous=0;
reloadTime=0.1;
ffCount=3;
recoil="riffleBurst3";
autoFire=0;
aiRateOfFire=0.5;
aiRateOfFireDistance=500;
useAction=0;
useActionTitle="";
};
class FullAuto
{
ammo="g36";
multiplier=1;
burst=1;
displayName="G36 Auto";
dispersion=0.0003;
sound[]={"\G36A\g36a_full",1.0,1};
soundContinuous=0;
reloadTime=0.07;
ffCount=1;
recoil="riffleBurst3";
autoFire=1;
aiRateOfFire=0.5;
aiRateOfFireDistance=500;
useAction=0;
useActionTitle="";
};
};
class G36aMag:G36aBase
class g36Mag: G36aMag
{
scopeMagazine=2;
picture="\G36a\m_G36.paa";
};
class G36a:G36aBase
class g36: G36a
{
scopeWeapon=2;
magazines[]={"g36Mag"};
};
class g36short: g36
{
model="\G36A\g36short.p3d"; // You may need to change this to your model .p3d filename
displayName="G36 Short BW";
class GrenadeLauncher: Default {};
class M16GrenadeLauncher: GrenadeLauncher {};
class g36gren: M16GrenadeLauncher
{
//--
scopeWeapon = public;
scopeMagazine = private;
weaponType = WeaponSlotPrimary;
valueWeapon = 2;
valueMagazine = 2;
displayName = "G36 w/ Grenade;
model="\G36BW\g36gren.p3d"; // You might need to change this to suit your .p3d filename
picture="";
uiPicture = igrenadier;
muzzles[] = {g36Muzzle, g36grenMuzzle};
class M16Muzzle : M16
class g36Muzzle : M16Muzzle
{
magazines[] = {g36};
};
class M203Muzzle : GrenadeLauncher
class g36grenMuzzle : M203Muzzle
{
displayName="G36 Grenade";
sound[]={weapons\M16GrenadeLaunch, db-70,1};
magazines[] = {GrenadeLauncher, Flare, FlareGreen, FlareRed, FlareYellow};
//optics = true;
//opticsZoomMin=0.40;
//opticsZoomMax=0.40;
//modelOptics="optika_m16_granatomet";
}
canDrop = true;
};
class g36shortgren: g36gren
{
//--
scopeWeapon = public;
scopeMagazine = private;
displayName = "G36 Short w/ Grenade;
model="\G36BW\g36shortgren.p3d"; // You might need to change this to suit your .p3d filename
picture="";
uiPicture = igrenadier;
};
};
class CfgVehicles
{
class All {};
class AllVehicles:All {};
class Land:AllVehicles {};
class Man:Land {};
class Soldier:Man {};
class SoldierWB:Soldier {};
class SoldierWG36a:SoldierWB {};
class g36Man: SoldierWG36a
{
displayName="BW G36 Soldier";
vehicleClass"BW Men";
weapons[]={"g36","Throw","Put"};
magazines[]={"g36Mag","g36Mag","g36Mag","g36Mag","g36Mag","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade"};
};
class g36shortMan: g36Man
{
displayName="BW G36 Short Soldier";
weapons[]={"g36short","Throw","Put"};
magazines[]={"g36Mag","g36Mag","g36Mag","g36Mag","g36Mag","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade"};
};
class g36grenMan: g36Man
{
displayName="BW G36 Grenade Soldier";
weapons[]={"g36gren","Throw","Put"};
magazines[]={"g36Mag","g36Mag","g36Mag","g36Mag","GrenadeLauncher","GrenadeLauncher","HandGrenade","HandGrenade","HandGrenade","HandGrenade"};
};
class g36shortgrenMan: g36Man
{
dislplayName="BW G36 S G SOldier";
weapons[]={"g36shortgren","Throw","Put"};
magazines[]={"g36Mag","g36Mag","g36Mag","g36Mag","GrenadeLauncher","GrenadeLauncher","HandGrenade","HandGrenade","HandGrenade","HandGrenade"};
};
};
class CfgNonAIVehicles
{
class ProxyWeapon {};
class ProxyG36:ProxyWeapon
{
};
};