M4A1 RO979 Mutator thread
Okay, since I got the okay from the IMT I decided I'd give it a try and upload my Mutator here. I decided to modify the first post so I can always keep the actual version of the mutator here.
[Actual Version: 1.01Beta]
-WARNING: At least one user reported serious problems after adding the 1.00 version to his Inf install. Said problems could sadly not be reproduced and the user got the mutator running fine after a new Inf install. Since the problem was most probably a conflict with a mutator I advise to at least backup your UT\System folder for easy recovery before trying the new version.
-WARNING: There has been at least one online incident where use of this mutator caused troubles with the HUD. This was the case on an Inf COOP server, although the problems have vanished after changes to the server configuration. Since the old configuration isn't known anymore, please report back if you encounter any HUD troubles.
-WARNING: online use of the new40mm grenade types has NOT been tested and might cause join/respawn lag.
What does this do?
This mutator ADDS a M4 with a Safe/Semi/Burst trigger group (Colt M4 RO979). It uses the SOPMOD M4A1 models and textures, hence the INFMOD WeaponPack 1.5 is required. You can still use the original SOPMOD M4A1 as before. All attachment present for the SOPMOD M4A1 are also present for the RO979.
Version 0.97Beta:
Other changes from the original SOPMOD M4A1 include:
-40mm HE changed from the INFMOD version to the original Inf version.
-40mm Parachute Flare replaced by INFMOD 40mm HEI
-Recoil reduced a bit
New for Version 0.99Beta:
-Changed class from M4A1-Extend to INFc_Weapon-Extend to reduce compatibility issues and load dependency.
-Backup irons sight as present in Carpetsmokers M4A1Improvements mutator (THX Carpet).
-40mm "D1-SD-Tracer" HEI round changed to NGZ-N Incediary - it seems this round really exists for M203 type grenade launchers.
-Fixed some minor issues.
New for Version 1.00Public:
-Added support for more than 4 ammo types (as in new40mm).
-Changed 40mm HE and WS trajectory to better fit the real one.
-Added Parachute Flare as usable grenade type.
-Added XM1060 thermobaric grenade.
-Added option to use M397, M433 and M576 if new40mm mutator is present.
-Removed start nade type selection due to large number of nades.
-Removed safety animation when switching to and from weapon.
-Canged hip and aim views.
-Added MagCheck support.
New for Version 1.01Beta:
-Changed new40mm support so the mutator must be active in order to use
the new grenade types. This was necessary to avoid horrible join/respawn lag
when new40mm package is not present.
State of the mutator is a public/beta, which means I did limited testing on my system, but it still may contain bugs. If you find any please post them in this thread.
Well, the two or three who're going to download this, have fun and don't forget to report back the bugs.
Original First Post:
Quite a while ago I asked in the IMT Weapon pack 1.5 thread wether it was possible to have a Semi/Burst version of the M4A1. As I was a tad bored recently and started to fool around in Uscript I ended up with a mutator that does this for me. Now I might consider making this mutator public, but I'd like to ask a few questions here first.
The first question goes to the Infiltration Mod Team: Since I'm basically using a lightly modified version of their code, I would ask if there are any objections from their side to make my mutator public? Of course I noted in every Uscript file and will note in the readme, that the original code was done by the IMT and I only modified it. Also it wouldn't be a standalone mutator but only work with WP151 installed, since it uses the M4A1 as base class.
The second questions is for the "gun nuts" out there: While I know myself that such a weapon (a RO979 M4 with SOPMOD kit) is not in use by an armed force, I think it would be highly doable to build such a weapon - M4 parts are interchangeable and as such adding the SOPMOD kit to a Semi/Burst trigger group should be possible. Any objections from the "gun nuts"? Also is the designation I found perhaps wrong?
The third question is for the whole community: would you guys even be interested in playing with such a weapon? As of now it has the M16 style "counting" burst; a slightly reduced recoil - since I always thought the M4A1s recoil was a tad overdone, especially compared to the Hk416 and SIG551- I set it to a tad higher than the SIG551 right now; attachments are the same as for the M4A1 (only the Parachute flare doesn't yet work properly..).
The fourth question is for all developers and testers left here: Would you be willing to take a look at "my code" - I'm completely new to Uscript and didn't do much coding even before - a tad C, a bit of Java, M-Script and Python. I'd rather not have any "dangerous" code inside because of my lack of knowledge. Also it wouldn't hurt if someone else except me would test it a bit - I'm a (embedded) software tester and I KNOW developers (if you'd actually call me that) don't test their babies right . Especially since I'm a newbie coder that most probably does newbie coder mistakes..
The last question is for all Uscript experts left: Right now the mutator doesn't work with the original M4A1 mutator. As far as I understand the code this is because the ModifyPlayer function called at the start of the INFMOD_M4A1 mutator searcher for classes, which are "child of M4A1 and not Hk416". If I add a "and not M4A1_RO979" here the two mutators work together without any problem (so far ). What's the most graceful way of solving this? Right now I added the additonal condition and recompiled the INFMOD_M4A1, BUT that results in a new version - and I'd like to avoid that if possible, since I don't know exactly know what this implies (except for more server mismatches..). My second "thought" was to make a CheckReplacement function call in my mutator to replace any instance of INFMOD_M4A1 with the altered version - it didn't work . Basically the only idea I have left (except of the recompile of the INFMOD_M4A1) is to make the new weapon an own class not inherited from the M4A1 - but that's a tad ugly IMHO (keep in mind my knowledge of coding is about that of a newborn pig, so I most probably am wrong here . Any alternative ideas are welcome.
Well, I'm awaiting your inputs,
Snakeye
Okay, since I got the okay from the IMT I decided I'd give it a try and upload my Mutator here. I decided to modify the first post so I can always keep the actual version of the mutator here.
[Actual Version: 1.01Beta]
-WARNING: At least one user reported serious problems after adding the 1.00 version to his Inf install. Said problems could sadly not be reproduced and the user got the mutator running fine after a new Inf install. Since the problem was most probably a conflict with a mutator I advise to at least backup your UT\System folder for easy recovery before trying the new version.
-WARNING: There has been at least one online incident where use of this mutator caused troubles with the HUD. This was the case on an Inf COOP server, although the problems have vanished after changes to the server configuration. Since the old configuration isn't known anymore, please report back if you encounter any HUD troubles.
-WARNING: online use of the new40mm grenade types has NOT been tested and might cause join/respawn lag.
What does this do?
This mutator ADDS a M4 with a Safe/Semi/Burst trigger group (Colt M4 RO979). It uses the SOPMOD M4A1 models and textures, hence the INFMOD WeaponPack 1.5 is required. You can still use the original SOPMOD M4A1 as before. All attachment present for the SOPMOD M4A1 are also present for the RO979.
Version 0.97Beta:
Other changes from the original SOPMOD M4A1 include:
-40mm HE changed from the INFMOD version to the original Inf version.
-40mm Parachute Flare replaced by INFMOD 40mm HEI
-Recoil reduced a bit
New for Version 0.99Beta:
-Changed class from M4A1-Extend to INFc_Weapon-Extend to reduce compatibility issues and load dependency.
-Backup irons sight as present in Carpetsmokers M4A1Improvements mutator (THX Carpet).
-40mm "D1-SD-Tracer" HEI round changed to NGZ-N Incediary - it seems this round really exists for M203 type grenade launchers.
-Fixed some minor issues.
New for Version 1.00Public:
-Added support for more than 4 ammo types (as in new40mm).
-Changed 40mm HE and WS trajectory to better fit the real one.
-Added Parachute Flare as usable grenade type.
-Added XM1060 thermobaric grenade.
-Added option to use M397, M433 and M576 if new40mm mutator is present.
-Removed start nade type selection due to large number of nades.
-Removed safety animation when switching to and from weapon.
-Canged hip and aim views.
-Added MagCheck support.
New for Version 1.01Beta:
-Changed new40mm support so the mutator must be active in order to use
the new grenade types. This was necessary to avoid horrible join/respawn lag
when new40mm package is not present.
State of the mutator is a public/beta, which means I did limited testing on my system, but it still may contain bugs. If you find any please post them in this thread.
Well, the two or three who're going to download this, have fun and don't forget to report back the bugs.
Original First Post:
Quite a while ago I asked in the IMT Weapon pack 1.5 thread wether it was possible to have a Semi/Burst version of the M4A1. As I was a tad bored recently and started to fool around in Uscript I ended up with a mutator that does this for me. Now I might consider making this mutator public, but I'd like to ask a few questions here first.
The first question goes to the Infiltration Mod Team: Since I'm basically using a lightly modified version of their code, I would ask if there are any objections from their side to make my mutator public? Of course I noted in every Uscript file and will note in the readme, that the original code was done by the IMT and I only modified it. Also it wouldn't be a standalone mutator but only work with WP151 installed, since it uses the M4A1 as base class.
The second questions is for the "gun nuts" out there: While I know myself that such a weapon (a RO979 M4 with SOPMOD kit) is not in use by an armed force, I think it would be highly doable to build such a weapon - M4 parts are interchangeable and as such adding the SOPMOD kit to a Semi/Burst trigger group should be possible. Any objections from the "gun nuts"? Also is the designation I found perhaps wrong?
The third question is for the whole community: would you guys even be interested in playing with such a weapon? As of now it has the M16 style "counting" burst; a slightly reduced recoil - since I always thought the M4A1s recoil was a tad overdone, especially compared to the Hk416 and SIG551- I set it to a tad higher than the SIG551 right now; attachments are the same as for the M4A1 (only the Parachute flare doesn't yet work properly..).
The fourth question is for all developers and testers left here: Would you be willing to take a look at "my code" - I'm completely new to Uscript and didn't do much coding even before - a tad C, a bit of Java, M-Script and Python. I'd rather not have any "dangerous" code inside because of my lack of knowledge. Also it wouldn't hurt if someone else except me would test it a bit - I'm a (embedded) software tester and I KNOW developers (if you'd actually call me that) don't test their babies right . Especially since I'm a newbie coder that most probably does newbie coder mistakes..
The last question is for all Uscript experts left: Right now the mutator doesn't work with the original M4A1 mutator. As far as I understand the code this is because the ModifyPlayer function called at the start of the INFMOD_M4A1 mutator searcher for classes, which are "child of M4A1 and not Hk416". If I add a "and not M4A1_RO979" here the two mutators work together without any problem (so far ). What's the most graceful way of solving this? Right now I added the additonal condition and recompiled the INFMOD_M4A1, BUT that results in a new version - and I'd like to avoid that if possible, since I don't know exactly know what this implies (except for more server mismatches..). My second "thought" was to make a CheckReplacement function call in my mutator to replace any instance of INFMOD_M4A1 with the altered version - it didn't work . Basically the only idea I have left (except of the recompile of the INFMOD_M4A1) is to make the new weapon an own class not inherited from the M4A1 - but that's a tad ugly IMHO (keep in mind my knowledge of coding is about that of a newborn pig, so I most probably am wrong here . Any alternative ideas are welcome.
Well, I'm awaiting your inputs,
Snakeye
Attachments
Last edited: