Jump to content
Sign in to follow this  
Powerslide

Ammo in cpp

Recommended Posts

I have two rifles using the same pbo but with different texture paths. Now, they will both use the same ammo, but for some reason one doesn't have any ammo in it. Does anyone know what to do in the cpp to make the rifles use the same ammo?

Powerslide

Operation Northstar

Share this post


Link to post
Share on other sites

Ok, I am trying to get the C8 and the C8A1 use the same ammo. Here is the cpp. The problen is the C8A1 shows no ammo ingame, but the C8 does. Thanks in advance.

Powerslide

// based on the C7 by Matthijs Crielaard <MCrielaard@triple-p.nl> modified (slightly) for Operation Northstar with consent.

// by Sigma-6.

// some basic defines

#define TEast 1

#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

class CfgPatches

{

class CAF_CPack

{

units[] = {};

weapons[] = {"C7A1","C8A1","C8",};

requiredVersion = 1.01;

};

};

class CfgVehicles

{

class All{};

class AllVehicles : All{};

class Land : AllVehicles{};

class Man : Land{};

class Soldier : Man{};

class SoldierWB : Soldier{};

class C7A1_SoldierWB: SoldierWB

{

displayName="C7A1 Soldier";

weapons[]={"C7A1","binocular","NVgoggles"};

magazines[]={"C7A1","C7A1","C7A1","C7A1","C7A1",&amp

;

;quo

t;C7A1","C7A1","SmokeShell","HandGrenade"};

};

       class C8A1_SoldierWB: SoldierWB

{

displayName="C8A1 Soldier";

weapons[]={"C8A1","binocular","NVgoggles"};

magazines[]={"C8","C8","C8","C8","C8","C8"

,"C8","SmokeShell","HandGrenade"};

};

       class C8_SoldierWB: SoldierWB

{

displayName="C8 Soldier";

weapons[]={"C8","binocular","NVgoggles"};

magazines[]={"C8","C8","C8","C8","C8","C8"

,"C8","SmokeShell","HandGrenade"};

       };

};

class CfgModels

{

class Default

{

sections[]={};

sectionsInherit="";

};

class Weapon: Default

{

sections[]={"zasleh"};

};

class CAF_CPack: Weapon{};

};

class CfgWeapons

{

class Default {};

class MGun: Default {};

class Riffle: MGun {};

class C7A1: Riffle

{

displayName = C7A1;

displayNameMagazine = C7A1 Magazine;

shortNameMagazine = C7A1Mag;

scopeWeapon=public;

scopeMagazine=public;

model="\CAF_CPack\CAF_C7A1.p3d";

modelOptics="\CAF_CPack\optika_elcan.p3d";

picture="\dtaext\equip\w\w_m16.paa";

optics=true;

opticsZoomMin=.1;

opticsZoomMax=.1;

modes[]={"Single","FullAuto"};

class Single

{

ammo="BulletSingleW";

multiplier=1;

burst=1;

displayName="C7A1 Repetition";

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

dispersion=0.002000;

soundContinuous=0;

reloadTime=0.150000;

ffCount=1;

recoil="riffleSingle";

autoFire=0;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

class FullAuto

{

ammo="BulletFullAutoW";

multiplier=1;

burst=1;

displayName="C7A1 Automatic";

dispersion=0.004000;

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.100000;

ffCount=30;

recoil="riffleBurst3";

autoFire=1;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

};

class C8A1: Riffle

{

displayName = C8A1;

displayNameMagazine = C8 Magazine;

shortNameMagazine = C8Mag;

scopeWeapon=public;

scopeMagazine=public;

model="\CAF_CPack\CAF_C8FT.p3d";

modelOptics="\CAF_CPack\optika_elcan.p3d";

picture="\dtaext\equip\w\w_m16.paa";

optics=true;

opticsZoomMin=.1;

opticsZoomMax=.1;

modes[]={"Single","FullAuto"};

class Single

{

ammo="BulletSingleW";

multiplier=1;

burst=1;

displayName="C8A1 Repetition";

sound[]={"\CAF_CPAck\M4Single.ogg",4.633333,1};

dispersion=0.002000;

soundContinuous=0;

reloadTime=0.150000;

ffCount=1;

recoil="riffleSingle";

autoFire=0;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

class FullAuto

{

ammo="BulletFullAutoW";

multiplier=1;

burst=1;

displayName="C8A1 Automatic";

dispersion=0.004000;

sound[]={"\CAF_Cpack\M4Single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.100000;

ffCount=30;

recoil="riffleBurst3";

autoFire=1;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

};

class C8: Riffle

{

displayName = C8;

displayNameMagazine = C8 Magazine;

shortNameMagazine = C8Mag;

scopeWeapon=public;

scopeMagazine=public;

model="\CAF_CPack\CAF_C8.p3d";

modelOptics="\CAF_CPack\optika_m16.p3d";

picture="\dtaext\equip\w\w_m16.paa";

optics=true;

opticsZoomMin=.1;

opticsZoomMax=.1;

modes[]={"Single","FullAuto"};

class Single

{

ammo="BulletSingleW";

multiplier=1;

burst=1;

displayName="C8 Repetition";

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

dispersion=0.002000;

soundContinuous=0;

reloadTime=0.150000;

ffCount=1;

recoil="riffleSingle";

autoFire=0;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

class FullAuto

{

ammo="BulletFullAutoW";

multiplier=1;

burst=1;

displayName="C8 Automatic";

dispersion=0.004000;

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.100000;

ffCount=30;

recoil="riffleBurst3";

autoFire=1;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

};

};

class CfgNonAIVehicles

{

class ProxyWeapon {};

class ProxyC7: ProxyWeapon {};

};

Share this post


Link to post
Share on other sites

Long config, eh.

you may try something like that:

class CfgPatches

{

class CAF_CPack

{

units[] = {CAF_C7A1_SoldierW, CAF_C8A1_SoldierW, CAF_C8_SoldierW};

weapons[] = {CAF_C7A1,CAF_C8A1,CAF_C8};

requiredVersion = 1.01;

};

};

class CfgVehicles

{

class All{};

class AllVehicles : All{};

class Land : AllVehicles{};

class Man : Land{};

class Soldier : Man{};

class SoldierWB : Soldier{};

class CAF_C7A1_SoldierW: SoldierWB

{

displayName="C7A1 Soldier";

weapons[]={"C7A1","binocular","NVgoggles"};

magazines[]=

{

C7A1, C7A1, C7A1, C7A1, C7A1

C7A1, C7A1, SmokeShell, HandGrenade

};

};

      class CAF_C8A1_SoldierW: SoldierWB

{

displayName="C8A1 Soldier";

weapons[]={"C8A1","binocular","NVgoggles"};

magazines[]=

{

C8, C8, C8, C8, C8, C8,

C8, SmokeShell, HandGrenade

};

};

      class CAF_C8_SoldierW: SoldierWB

      {

displayName="C8 Soldier";

weapons[]={"C8","binocular","NVgoggles"};

magazines[]=

{

C8, C8, C8, C8, C8, C8,

C8, SmokeShell, HandGrenade

};

};

};

class CfgModels

{

class Default {};

class Weapon: Default{};

class CAF_C7A1: Weapon{};

class CAF_C8FT: Weapon{};

class CAF_C8: Weapon{};

class optika_elcan : Weapon {};

};

class CfgWeapons

{

class Default {};

class MGun: Default {};

class Riffle: MGun {};

class CAF_C7A1: Riffle

{

displayName = C7A1;

displayNameMagazine = C7A1 Magazine;

shortNameMagazine = C7A1Mag;

scopeWeapon=2;

scopeMagazine=2;

model="\CAF_CPack\CAF_C7A1.p3d";

modelOptics="\CAF_CPack\optika_elcan.p3d";

picture="\dtaext\equip\w\w_m16.paa";

optics=1;

magazines[]= {"CAF_C7A1"};

opticsZoomMin=.1;

opticsZoomMax=.1;

modes[]={"Single","FullAuto"};

class Single

{

ammo="BulletSingleW";

multiplier=1;

burst=1;

displayName="Repetition";

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

dispersion=0.002;

soundContinuous=0;

reloadTime=0.15;

ffCount=1;

recoil="riffleSingle";

autoFire=0;

aiRateOfFire=5;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

class FullAuto

{

ammo="BulletFullAutoW";

multiplier=1;

burst=1;

displayName="Automatic";

dispersion=0.004000;

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.1;

ffCount=30;

recoil="riffleBurst3";

autoFire=1;

aiRateOfFire=5;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

};

class CAF_C8A1: CAF_C7A1

{

displayName = C8A1;

displayNameMagazine = C8 Magazine;

shortNameMagazine = C8Mag;

model="\CAF_CPack\CAF_C8FT.p3d";

picture="\dtaext\equip\w\w_m16.paa";

magazines[]= {"CAF_C8A1"};

};

class CAF_C8: CAF_C8A1

{

displayName = C8;

displayNameMagazine = C8 Magazine;

shortNameMagazine = C8Mag;

model="\CAF_CPack\CAF_C8.p3d";

modelOptics="\CAF_CPack\optika_m16.p3d";

picture="\dtaext\equip\w\w_m16.paa";

};

};

class CfgNonAIVehicles

{

class ProxyWeapon {};

class ProxyC7: ProxyWeapon {};

};

Notice: You don't need all those #define things then.

BTW: I added your tag to all classes that could probably have a conflict with other addons.

Look also again on the "class CfgModels":

You have to mention there all "modelnames" (without .p3d ending).

Another thing: If you make weapons that are nearly the same it is mostly better you define the weapons over each other, so you can save a lot of code (see how I defined the C8A1 over C7A1).

I haven't checked if the config really works, but it should.

Share this post


Link to post
Share on other sites

Ahh, i see what you mean by defining them together, works well. I added two more rifles to it but I will try this for the original stuff. Thanks. smile.gif

Share this post


Link to post
Share on other sites

Ok, I have it working but I can't figure out which items to put our CAF_ tag on. When I do put it on the classes I get no entry cfg.bin C7A1confused.gif Here is the cpp it works with

class CfgPatches

{

class CAF_CPack

{

units[] = {};

weapons[] = {"C7A1","C8A1","C8","C9","C6"};

requiredVersion = 1.01;

};

};

class CfgVehicles

{

class All{};

class AllVehicles : All{};

class Land : AllVehicles{};

class Man : Land{};

class Soldier : Man{};

class SoldierWB : Soldier{};

class C7A1_SoldierWB: SoldierWB

{

displayName="C7A1 Soldier";

weapons[]={"C7A1","binocular","NVgoggles"};

magazines[]={"C7A1","C7A1","C7A1","C7A1","C7A1",&quo

t;C7A1","C7A1","SmokeShell","HandGrenade"};

};

class C8A1_SoldierWB: SoldierWB

{

displayName="C8A1 Soldier";

weapons[]={"C8A1","binocular","NVgoggles"};

magazines[]={"C8","C8","C8","C8","C8","C8"

,"C8","SmokeShell","HandGrenade"};

};

class C8_SoldierWB: SoldierWB

{

displayName="C8 Soldier";

weapons[]={"C8","binocular","NVgoggles"};

magazines[]={"C8","C8","C8","C8","C8","C8"

,"C8","SmokeShell","HandGrenade"};

};

class C9_SoldierWB: SoldierWB

{

displayName="C9 Soldier";

weapons[]={"C9","binocular","NVgoggles"};

magazines[]={"C9","C9","C9","C9","C9","C9"

,"C9","SmokeShell","HandGrenade"};

};

class C6_SoldierWB: SoldierWB

{

displayName="C6 Soldier";

weapons[]={"C6","binocular","NVgoggles"};

magazines[]={"C6","C6","C6","C6","C6","C6"

,"C6","SmokeShell","HandGrenade"};

};

};

class CfgModels

{

class Default {};

class Weapon: Default{};

class C7A1: Weapon{};

class C8FT: Weapon{};

class C8: Weapon{};

class C6: Weapon{};

class C9: Weapon{};

class optika_elcan : Weapon {};

};

class CfgWeapons

{

class Default {};

class MGun: Default {};

class MachineGun7_6: MGun {};

class MachineGun7_6Manual: MachineGun7_6 {};

class Riffle : MachineGun7_6Manual {};

class C7A1: Riffle

{

displayName = C7A1;

displayNameMagazine = C7A1 Magazine;

shortNameMagazine = C7A1Mag;

scopeWeapon=public;

scopeMagazine=public;

model="\CAF_CPack\CAF_C7A1.p3d";

modelOptics="\CAF_CPack\optika_elcan.p3d";

picture="\dtaext\equip\w\w_m16.paa";

optics=true;

opticsZoomMin=.1;

opticsZoomMax=.1;

modes[]={"Single","FullAuto"};

class Single

{

ammo="BulletSingleW";

multiplier=1;

burst=1;

displayName="C7A1 Repetition";

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

dispersion=0.002000;

soundContinuous=0;

reloadTime=0.150000;

ffCount=1;

recoil="riffleSingle";

autoFire=0;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

class FullAuto

{

ammo="BulletFullAutoW";

multiplier=1;

burst=1;

displayName="C7A1 Automatic";

dispersion=0.004000;

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.100000;

ffCount=30;

recoil="riffleBurst3";

autoFire=1;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

};

class C8A1: Riffle

{

displayName = C8A1;

displayNameMagazine = C8 Magazine;

shortNameMagazine = C8Mag;

scopeWeapon=public;

scopeMagazine=public;

model="\CAF_CPack\CAF_C8FT.p3d";

modelOptics="\CAF_CPack\optika_elcan.p3d";

picture="\dtaext\equip\w\w_m16.paa";

optics=true;

opticsZoomMin=.1;

opticsZoomMax=.1;

modes[]={"Single","FullAuto"};

magazines[]={"C8"};

class Single

{

ammo="BulletSingleW";

multiplier=1;

burst=1;

displayName="ProxyC8A1 Repetition";

sound[]={"\CAF_CPAck\M4Single.ogg",4.633333,1};

dispersion=0.002000;

soundContinuous=0;

reloadTime=0.150000;

ffCount=1;

recoil="riffleSingle";

autoFire=0;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

class FullAuto

{

ammo="BulletFullAutoW";

multiplier=1;

burst=1;

displayName="ProxyC8A1 Automatic";

dispersion=0.004000;

sound[]={"\CAF_Cpack\M4Single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.100000;

ffCount=30;

recoil="riffleBurst3";

autoFire=1;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

};

class C8: Riffle

{

displayName = C8;

displayNameMagazine = C8 Magazine;

shortNameMagazine = C8Mag;

scopeWeapon=public;

scopeMagazine=public;

model="\CAF_CPack\CAF_C8.p3d";

modelOptics="\CAF_CPack\optika_m16.p3d";

picture="\dtaext\equip\w\w_m16.paa";

optics=true;

opticsZoomMin=0.350000;

opticsZoomMax=0.350000;

distanceZoomMin=400;

distanceZoomMax=400;

modes[]={"Single","FullAuto"};

class Single

{

ammo="BulletSingleW";

multiplier=1;

burst=1;

displayName="C8 Repetition";

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

dispersion=0.002000;

soundContinuous=0;

reloadTime=0.150000;

ffCount=1;

recoil="riffleSingle";

autoFire=0;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

class FullAuto

{

ammo="BulletFullAutoW";

multiplier=1;

burst=1;

displayName="C8 Automatic";

dispersion=0.004000;

sound[]={"\CAF_CPack\M4Single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.100000;

ffCount=30;

recoil="riffleBurst3";

autoFire=1;

aiRateOfFire=5.000000;

aiRateOfFireDistance=500;

useAction=0;

useActionTitle="";

};

};

class C9: MachineGun7_6Manual

{

displayName = C9;

displayNameMagazine = C9 Box;

shortNameMagazine = C9Box;

scopeWeapon= 2;

scopeMagazine= 0;

model="\CAF_CPack\CAF_C9.p3d";

modelOptics="\CAF_CPack\optika_elcan.p3d";

picture="\CAF_CPack\w_C9.jpg";

optics=true;

opticsZoomMin=.1;

opticsZoomMax=.1;

modes[]={"Brust"};

magazines[]={"C9","C7A1","C8","M16","M4"};

class Brust

{

ammo="bulletfullautoW"

multiplier=1;

burst=1;

displayName = "C9"

reloadMagazineSound[]={"\CAF_CPack\reload.wav",db-40,1};

drySound[]={"weapons\M16dry",0.010000,1};

sound[]={"\CAF_CPack\m4single.ogg",4.633333,1};

soundContinuous=0;

reloadTime=0.085000;

dispersion=0.005000;

initSpeed=1000;

maxLeadSpeed=300;

ffCount=6;

aiDispersionCoefX=5;

ffMagnitude=0.500000;

ffFrequency=11;

recoil="riffleSingle";

autoFire=true;

aiRateOfFire=0.085000;

aiRateOfFireDistance=600;

useAction=0;

useActionTitle="";

};

};

class C6: MachineGun7_6Manual

{

displayName = C6;

displayNameMagazine = C6 Belt;

shortNameMagazine = C6Belt;

scopeWeapon= 2;

scopeMagazine= 0;

model="\CAF_CPack\CAF_C6.p3d";

modelOptics="optika_PK.p3d";

picture="\CAF_CPack\C6.jpg";

optics=true;

opticsZoomMin=0.350000;

opticsZoomMax=0.350000;

distanceZoomMin=400;

distanceZoomMax=400;

modes[]={"Brust"};

class Brust

{

ammo="bulletfullautoW"

multiplier=1;

burst=1;

displayName = "C6"

reloadMagazineSound[]={"\CAF_CPack\reload.wav",db-40,1};

drySound[]={"weapons\M16dry",0.010000,1};

sound[]={\CAF_CPack\C6.wav,4.633333,1};

soundContinuous=0;

reloadTime=0.085000;

dispersion=0.005000;

initSpeed=1000;

maxLeadSpeed=300;

ffCount=6;

aiDispersionCoefX=5;

ffMagnitude=0.500000;

ffFrequency=11;

recoil="riffleSingle";

autoFire=true;

aiRateOfFire=0.085000;

aiRateOfFireDistance=600;

useAction=0;

useActionTitle="";

};

};

};

class CfgNonAIVehicles

{

class ProxyWeapon {};

class ProxyC7A1: ProxyWeapon {};

class ProxyC6 : ProxyWeapon{};

class ProxyC9 : ProxyWeapon{};

class ProxyC8A1 : ProxyWeapon{};

class ProxyC8 : ProxyWeapon{};

};

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×