Modding weapons

Zlodey said:
Galluskek said:
Dubby said:
...
Ar1z said:
Code:
....
00 00 40 44	[float] 768 {?} <- max something?
00 00 00 00	-
08 04 00 00	<flags>
00 00 80 3F	[float] 1 {?} <<<<<<19 up crit chance (%)
00 00 20 41	[float] 10 {?}	
00 00 A0 41	[float] 20 {?}  <<<<<<17 up APs
00 00 00 3F	[float] 0.5 {?}
00 00 00 3F	[float] 0.5 {?}	
9A 99 19 3E	[float] 0.15 {?}
00 00 00 00	-
00 00 20 41	[float] 10 {?}    <<<<<<12 up RPS
36 AB 2A 40	[float] 2.6667 {?} <- max something?
CA 54 15 40	[float] 2.3333 {?} <- min something?
00 00 00 00	-
29 00 00 00	[int] 41 {?} <- item type?
01 00 00 00	[int] 1 {?} <- likely an on/off setting?
00 00 00 00	-
00 00 80 3F	[float] 1 {?}
FF FF FF FF	[NaN]
00 00 80 3F	[float] 1 {?}
CD CC CC 3D	[float] 0.1 {?}
00 00 40 40	[float] 3 {?}
edited for brevity.

The line indicated as 17 up is definitely referring to the amount of APs per shot in VATS. 12 is probably the rounds per second, the firing rate of the weapon and 19 up is most likely critical hit chance. This is corroborated by the using the stats for several weapons for comparison, however I have not yet had the chance to test out the effectiveness of the modification. More analysis will be forthcoming, and thanks for the original post without it I would be lost in hex.
You a great wrong.
I try change all of these values and NO ONE affect to bullets spray or ROF (rate of fire).

That's odd, when I change the rate of fire and spread values I get a different result, e.g. more accuracy, in VATS and faster shots. The AP per shot value also works as advertised. I have not felt the need to mod crit chance.

Can anyone else corroborate this? are my locations incorrect?
 
The RPS seems to affect only how many bullets your fire in VAC with one stroke, it doesn't change the rate of fire. Anyway, I discovered also some stuff:

Code:
02 FF 01 06   [short] -254 {?} 
Animation control, first entry will lock/unlock automatic fire modes, last entry is the reload animation

Code:
0A BF 03 00  ?? 
Animation control for long range fire effects
08 4A 01 00   ?? 
Animation control, second entry is the shooting anim (The anim controls also the rate of fire), last damage multiplier
 
Galluskek said:
That's odd, when I change the rate of fire and spread values I get a different result, e.g. more accuracy, in VATS and faster shots. The AP per shot value also works as advertised. I have not felt the need to mod crit chance.

Can anyone else corroborate this? are my locations incorrect?
Mean DNAM parametrs affect only for VATS?
Any ideas where find real RoF (in fps mode)?
 
Zlodey said:
U really think - change only cost and dmg values - mean "work"?
This is an early beta (I have to admit, I released this too early), and I will change everything - accuracy, rate of fire, AP cost in VATS, etc.

Sorry for offtopic. Please PM me next time if you have something to say concerning my mod.
 
Code:
00 00 20 41   [float] 10 {?}
This entry controls how many bullets you fire with one shot and enables the burst mode.


However the real rate of fire can be only set through a different shooting aninmation. Ther is a small issue about that, every weapon group has it's own animationset (03 00 00 00 [int] 3 {onehanded weapon} ). For example weapon group 5 is for standard rifles and shotguns, the animation for full automatic shots would be 4A but the group doesn't support it, there is just a placeholder for the onehanded mp. If you change the group to 6 (assault rifles) you will get the right animation but it will mess up the reload animation because you have changed the animationset.
 
ZippyDSMlee said:
02 FF 01 06

the 02 is the automatic flag? its in the 4th set of 8 numbers/letters right?

Yes, the entry controls what happens if you press the fire button and hold it. 00 just one shot, 02 will be used by 10 mm sub, 42 on assault rifles.
 
Talchia said:
ZippyDSMlee said:
02 FF 01 06

the 02 is the automatic flag? its in the 4th set of 8 numbers/letters right?

Yes, the entry controls what happens if you press the fire button and hold it. 00 just one shot, 02 will be used by 10 mm sub, 42 on assault rifles.

Did some experimenting its the same for submachine gun, but when I got and change it for the lazer pistol/rifle nothing happens, what am I missing?
 
Well it just enable to play the anim in a loop but of course you will need also a different animation. The Submachine gun can spam bullets because of three entries:

02 FF 01 06

For the fire button

08 4A 01 00

This is the firing animation

00 00 20 41

All automatic weapons have the same entry, it has something to do with the fire rate but without the right animation it will have no effect.
 
Talchia said:
Well it just enable to play the anim in a loop but of course you will need also a different animation. The Submachine gun can spam bullets because of three entries:

02 FF 01 06

For the fire button

08 4A 01 00

This is the firing animation

00 00 20 41

All automatic weapons have the same entry, it has something to do with the fire rate but without the right animation it will have no effect.

So basically the combat shotgun can become automatic because it has the necessary files/code but energy weapons(pistol/rifle) can not?

I have noticed the re fire rate is increased even if its semi automatic its evil!
 
actually energy weapons -can- become automatic, but they'll do their kickback animation very rapidly, depending on how fast you calibrate the firing.
 
Dubby said:
actually energy weapons -can- become automatic, but they'll do their kickback animation very rapidly, depending on how fast you calibrate the firing.

can you give me the lines of code for automatic?

I can not seem to do it right >< changing the code sets first line 4th set,3rd line 3rd set and 6th line 3rd set getting no results...of coarse fomm is now acting funny on my eating previous mods I made 0-o
 
first row, last quad: 00 00 00 00 <- the second 0, underlined, is the automatic switch. 0 is off, 2 is on.

fourth row, third quad: 00 00 00 00 <- second pair from the left is an animation setting for automatic/burst fire, set it to 04

fifth row, first quad: 00 00 00 00 <- this is a float that represents how fast the gun fires. 1 is normal. if the weapon doesn't have an automatic animation already, then the number needs to be reasonably high, 18+ or more. (that's because without one, it fires much slower than it should)

lastly, double click on the (WEAP) entry and check the burst-mode flag (0x20000000).
 
Thought I'd post this here: I figured out where the Silenced/non-silenced info is, and why you can't find it in the WEAP record -- It's not there. It's actually in the PROJ record, under VNAM. 1 is nonsilenced, 2 is silenced, 0 is N/A. Stored as an Integer.

Also, I've been updating the record structure XML for FOMM and this is the latest I have on the DNAM stuff for weapons (formatted as XML):

Code:
            <Element name = "Weapon Animation Group" type = "int" options="unarmed;0;1H melee;1;2H melee;2;pistol 1;3;pistol 2;4;rifle 1;5;rifle 2;6;flamer/gatling/minigun;8;launcher;9;grenade;10;mine;12"/>
            <Element name = "Animation timescale" type = "float"/>
            <Element name = "Unknown animation float" type = "float"/>
            <Element name = "Fire trigger" type = "byte"/>
            <Element name = "unknown byte" type = "byte"/>
            <Element name = "unknown byte" type = "byte"/>
            <Element name = "Reload Animation" type = "byte"/>
            <Element name = "Minimum Spread" type = "float"/>
            <Element name = "Maximum Spread" type = "float"/>
            <Element name = "unknown float" type = "float"/>
            <Element name = "Zoom FOV" type = "float"/>
            <Element name = "unused float ??" type = "float"/>
            <Element name = "Projectile Form ID" type = "formid"/>
            <Element name = "unknown byte" type = "byte"/>
            <Element name = "Weapon Firing Animation" type = "byte"/>
            <Element name = "Damage Multiplier?" type = "byte"/>
            <Element name = "unknown byte" type = "byte"/>
            <Element name = "Projectile Velocity ?? (multiples of 128) -- PROJ records also have velocity data" type = "float"/>
            <Element name = "Max Range" type = "float"/>
            <Element name = "unknown int" type = "int"/>
            <Element name = "unknown int" type = "int"/>
            <Element name = "Reload Time" type = "float"/>
            <Element name = "Ammo Used Per Shot" type = "float"/>
            <Element name = "AP Cost Per Shot" type = "float"/>
            <Element name = "1st trigger delay" type = "float"/>
            <Element name = "2nd trigger delay" type = "float"/>
            <Element name = "rapid fire timing ??" type = "float"/>
            <Element name = "unused float ??" type = "float"/>
            <Element name = "critical death effect chance ??" type = "float"/>
            <Element name = "unknown float" type = "float"/>
            <Element name = "damage vs defense modifier ??" type = "float"/>
            <Element name = "unused ?int ?" type = "int"/>
            <Element name = "weapon skill type (av code)" type = "int"/>
            <Element name = "unknown int - something about weapon type" type = "int"/>
            <Element name = "unknown float ??" type = "float"/>
            <Element name = "unknown float ??" type = "float"/>
            <Element name = "resist type" type = "int"/>
            <Element name = "burst mode fire rate ??" type = "float"/>
            <Element name = "unknown float ?? - DO NOT CHANGE" type = "float"/>
            <Element name = "unknown float ??" type = "float"/>

The elements are listed starting from the beginning of the DNAM, with shorts as 2 digits, bytes as 1 digits, and everything else is 4 digits. If anyone sees stuff I am missing there or has corrections for existing stuff, please let me know.
 
this is amazing information you guys have compiled here, only problem is, how does one translate the XML format to hex? im no coding guru, but i think i understand what a string is (00 00 00 00) but now you are talking in floats, ints, shorts and bytes and im all sorts of confused.

im sitting here trying to figure it out (the values are completely made up), a float (00 00 00 00)? a int (00 00 3E A4)? a byte (00 00 00 36)? or am way off base here.

lol sorry for my ignorance :oops:
 
vashts1985 said:
this is amazing information you guys have compiled here, only problem is, how does one translate the XML format to hex? im no coding guru, but i think i understand what a string is (00 00 00 00) but now you are talking in floats, ints, shorts and bytes and im all sorts of confused.

im sitting here trying to figure it out (the values are completely made up), a float (00 00 00 00)? a int (00 00 3E A4)? a byte (00 00 00 36)? or am way off base here.

lol sorry for my ignorance :oops:

the xml works with FOMM. it's a program, you need to download it.
 
Dubby said:
first row, last quad: 00 00 00 00 <- the second 0, underlined, is the automatic switch. 0 is off, 2 is on.

fourth row, third quad: 00 00 00 00 <- second pair from the left is an animation setting for automatic/burst fire, set it to 04

fifth row, first quad: 00 00 00 00 <- this is a float that represents how fast the gun fires. 1 is normal. if the weapon doesn't have an automatic animation already, then the number needs to be reasonably high, 18+ or more. (that's because without one, it fires much slower than it should)

lastly, double click on the (WEAP) entry and check the burst-mode flag (0x20000000).

Hey I tried this but it didn't work properly as the firing animation did not match when the weapon actually fired. Could you post an esp with the Laser rifle setup as automatic?
 
Back
Top