Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archive

The Original Forum. Game archives, full of resources. How to open them? Get help here.
unknown123
advanced
Posts: 75
Joined: Sat Apr 09, 2016 5:36 pm
Has thanked: 4 times
Been thanked: 13 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by unknown123 »

nasanhak wrote:All Globals printed for anybody wanting to look in without worrying about doing their own IO.

Ignore the following functions in table TppPlayer as they are custom:
DebugPrint
PrintLogs
PrintToFileTex
CopyLogToPrev
InspectEverything

Ignore the complete table InfInspect

https://mega.nz/#!6oAmlKZb!YBaYy7SGbj7a ... rEO31cS_Wk

The game at some point was going to have voice commands.

These logs serve very little purpose other than to discover some hidden functions(which would be very difficult to know how to call anyway) and to show how data is setup in a number of tables for easier manipulation
https://github.com/unknown321/mgsvdump/ - globals
https://github.com/unknown321/mgsv_lua_dump - all luas in the game including ones from gz.
nasanhak wrote:discover some hidden functions(which would be very difficult to know how to call anyway)
some of them are used in ground zeroes
nasanhak
advanced
Posts: 71
Joined: Sat Nov 28, 2015 6:01 am
Has thanked: 10 times
Been thanked: 4 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by nasanhak »

unknown123 wrote: https://github.com/unknown321/mgsvdump/ - globals
https://github.com/unknown321/mgsv_lua_dump - all luas in the game including ones from gz.
Okay wow was not aware. You really know your Lua. Am not gonna care about looking dumb and just ask. What are these "imports" for?

Code: Select all

local persistence = require("persistence")
local helpers = require("helpers")
Lua libraries or C librariers? Works in the game? C classes can be loaded alongside? If Lua libs then why the explicit require. Yes I am a novice novice.

Anyway, went through your dumps and they look pretty neat. Although I used Inpect.lua and the end result is a lot more readable. Of course it's all in one single file and not separated into table/function folders.

I also did dumps for all free roam locations. TBH they aren't going to be of much use to anyone not working with the code but doesn't hurt having a point of reference every time you want to check how the any table is setup etc.

Did the tostring() attempts fail or is there something wrong with my browser? AFAIK, functions are StrCode32-ed as well in a lot of places.

Mr unknown123, on a completely separate note, I couldn't help but notice that you have figured out how weapon mods work. And had I discovered your work earlier, it would have saved me a lot of time doing the same thing over. I'd like to share this:

https://mega.nz/#!Wlg1ESgI!b5dRyxpflP8_ ... akTX8DD9A0

I regex-ed my way to a script that is capable of loading all weapon parts on all receivers. This of course does not work as well as you'd want. The game can apply *all* of any 2-3 parts types (depending on individual numbers) to *all* receivers before it will stop applying further parts.

There is definitely an instance/numerical limit in place somewhere.

You can however, apply let's say scopes and silencers to all guns (in addition to what the game already applies). I was going to map which receivers are capable of correctly working(I mean do not look broken) with *all* of the parts of a particular type but the process is long and slow and haven't gotten around to it yet.

It should also be possible to map which receiver is compatible with each part type (as well as each individual part, if I ever end up with nothing else to do) to but the effort required on that would be insane. Haven't figured out a way to switch parts while in game and the easiest way I know of is to change the file and rebuild the data file, boot the game.
Last edited by Gh0stBlade on Sat Sep 24, 2016 3:54 pm, edited 1 time in total.
Reason: Triple post merge.
unknown123
advanced
Posts: 75
Joined: Sat Apr 09, 2016 5:36 pm
Has thanked: 4 times
Been thanked: 13 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by unknown123 »

nasanhak wrote:

Code: Select all

local persistence = require("persistence")
local helpers = require("helpers")
My custom Lua libraries. https://github.com/unknown321/mgsv_rese ... pages/mods. Persistence is for dumping, I had to modify it a little. Helpers are duh, helpers.
nasanhak wrote:Did the tostring() attempts fail
If you are talking about [[loadstring()]] ones, they are defined in lua files and there is no need to include them in the dump.
nasanhak wrote:The game can apply *all* of any 2-3 parts types (depending on individual numbers) to *all* receivers before it will stop applying further parts.
Are you sure about *all* part? You can put anything on a gun, yes, but there are cases when game fails to load gun parts (or at least I think so), there is an example on github ("Changing frame to RASP SG+P with more slots, game hangs on sortie prep: "). Silencers and optics are universal, can confirm that.
nasanhak wrote:I was going to map which receivers are capable of correctly working
Not worth it, however you can speed it up a little.
nasanhak wrote:Haven't figured out a way to switch parts while in game
https://github.com/unknown321/mgsv_rese ... 698f116e06 my old script, it should make things clear. It is incompatible with stuff I made, but if you are interested, I can make it slightly better. After changing a part you'll have to reload the gun - change to another gun category (on sortie prep screen) or call a supply drop with that gun.
CantStoptheBipBop
advanced
Posts: 53
Joined: Sat Aug 27, 2016 9:43 am
Has thanked: 7 times
Been thanked: 7 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by CantStoptheBipBop »

Awesome work guys. I had no idea people were putting stuff like this together.
nasanhak wrote:These logs serve very little purpose other than to discover some hidden functions(which would be very difficult to know how to call anyway) and to show how data is setup in a number of tables for easier manipulation
Due to a mixture of extreme boredom and curiosity I decided to take the keys from ACC_afterAfgh_inspect.txt and throw them into a massive .xml file for LangTool to decipher. Tex's last lang_dictionary scrape (should be a few pages back if you don't have it) actually resolves quite a few of those consistently. 3,576 in total and 791 Id's created. It's not really something I've got knowledge about but I figured if LangTool could determine LangIds from keys in .lng files that the same concept could apply here. Just figured I'd share.

test .lng file

I'll edit in a lang_dictionary update or something later. I added Side Op mission codes to the Nexus Wiki for anyone that's interested.
nasanhak
advanced
Posts: 71
Joined: Sat Nov 28, 2015 6:01 am
Has thanked: 10 times
Been thanked: 4 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by nasanhak »

unknown123 wrote: Are you sure about *all* part? You can put anything on a gun, yes, but there are cases when game fails to load gun parts (or at least I think so), there is an example on github ("Changing frame to RASP SG+P with more slots, game hangs on sortie prep: "). Silencers and optics are universal, can confirm that.
I don't know exactly what you meant by the above but I think you were attempting to load additional parts onto the Urugan-SG. Attempting to change the receiver would unlock more parts, since the parts are mapped to receivers but like you mentioned it would fuck up after sortie prep. Most likely cause the game expects the Urugan receiver in place of the Rasp.

My script simply applies any and all parts to a receiver, allowing previously locked parts to be unlocked for that receiver.

http://imgur.com/a/40uGl

Applying under barrel grenades to a gun that doesn't support them only leaves you firing grenades launchers. I recorded a video but somehow it ended up being 5GB and I don't feel like waiting an hour to upload(also output is skewed in VirtualDub for some reason, thank you Afterburner), but the game works fine with this approach.

This script unlocks all parts *only* for the Urugan and all Shotguns(since i didn't know the RASP receiver):
https://mega.nz/#!6ogjVRgS!glNz3av0Q4AY ... ferxzpdm2g

Also this is why I feel like mapping each part that would work with a receiver. As a general rule, don't apply barrels the gun's ammo doesn't work with cause once deployed you'll have 0/0 ammo for it.
unknown123 wrote: https://github.com/unknown321/mgsv_rese ... 698f116e06 my old script, it should make things clear. It is incompatible with stuff I made, but if you are interested, I can make it slightly better. After changing a part you'll have to reload the gun - change to another gun category (on sortie prep screen) or call a supply drop with that gun.
Thanks for the script, I'll see what I can do with it. Also pretty epic work on all the weapons tables - I don't have to map receiver names anymore manually. Just how did you achieve it anyway?
CantStoptheBipBop wrote:I added Side Op mission codes to the Nexus Wiki for anyone that's interested.
Thank you :)
Last edited by Gh0stBlade on Sat Sep 24, 2016 3:49 pm, edited 2 times in total.
Reason: Double post merge.
unknown123
advanced
Posts: 75
Joined: Sat Apr 09, 2016 5:36 pm
Has thanked: 4 times
Been thanked: 13 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by unknown123 »

nasanhak wrote:I don't know exactly what you meant by the above but I think you were attempting to load additional parts onto the Urugan-SG.
Exactly.
nasanhak wrote:Also pretty epic work on all the weapons tables - I don't have to map receiver names anymore manually. Just how did you achieve it anyway?
Part names are there - tpp_parts.eng.lng2.xml which is buried in chunk0 and 00.dat, look for lang_tpp_parts_eng.fpk.
https://github.com/unknown321/mgsmonste ... s/scripts/ - python script that gathers all that stuff into json files.
Tex
veteran
Posts: 89
Joined: Sat Aug 20, 2011 4:51 am
Has thanked: 21 times
Been thanked: 11 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Tex »

unknown123 wrote:https://github.com/unknown321/mgsvdump/ - globals
https://github.com/unknown321/mgsv_lua_dump - all luas in the game including ones from gz.
Oh crap, I remember coming across your guns info some time after you started it, but remember mentally putting it aside to actually look at at some point, then forgot about it. One flaw is I get my head stuck in my own code and don't check out others stuff as I should.
And skimming your other repos geeze you've done a lot of work man, good stuff. You should have advertised more heh.

Seeing your script loader I realize I've been unwittingly following in the same path, been breaking out chunks of IH (the menu/commands definitions) so I can reload while in-game, which looking now seems similar to what you have.

You might want to grab/adapt the 'installer' batch file from Threesocks weapon drop weapon mod since it can patch the Tpp.lua requires and TppMain.lua OnUpdate module list, because including a some patched version of IHs files is going to cause trouble with the rate I modify stuff.
Of note that batch has a limitation where it breaks if Tpp/TppMain files have any empty lines, not an issue for the vanilla game files, and I keep IHs versions with that in mind.

And speaking on the batch front, any one know of a batch way to get TPPs install folder?
I did a look through regedit to see if there's any useful key, all I've found is an uninstaller key "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 287700"
But don't know how consistent that is across users.
CantStoptheBipBop wrote: Due to a mixture of extreme boredom and curiosity I decided to take the keys from ACC_afterAfgh_inspect.txt and throw them into a massive .xml file for LangTool to decipher. Tex's last lang_dictionary scrape (should be a few pages back if you don't have it) actually resolves quite a few of those consistently. 3,576 in total and 791 Id's created. It's not really something I've got knowledge about but I figured if LangTool could determine LangIds from keys in .lng files that the same concept could apply here. Just figured I'd share.
Nice idea.
I think an approach would be to load the langdict from in-game and use fox.strcode32 to try and get matches.
Or (likely better performance) build an external tool with the lang tool strcode/cityhash function to do it on the external dumps - which would just be a more custom version of what bipbop it doing.
(not volunteering to do that yet heh).
Last edited by Gh0stBlade on Sat Sep 24, 2016 3:47 pm, edited 2 times in total.
Reason: Double post merge.
CantStoptheBipBop
advanced
Posts: 53
Joined: Sat Aug 27, 2016 9:43 am
Has thanked: 7 times
Been thanked: 7 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by CantStoptheBipBop »

SuperflyJohnson wrote:I think that's just a prerendered cutscene.
Thanks man. That was bugging me.
Tex wrote:And speaking on the batch front, any one know of a batch way to get TPPs install folder?
I did a look through regedit to see if there's any useful key, all I've found is an uninstaller key "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 287700"
But don't know how consistent that is across users.
I don't know how you're intending to do it but you could just tell people to drop the batch file in their steam folder. "%~dp0" adds quotes to the file path to account for spaces and doesn't need to know the directories before it. Unless you mean something else.

Code: Select all

::move to game folder
cd "%~dp0steamapps\common\MGS_TPP\master"

::same as "C:\Program Files (x86)\Steam\steamapps\common\MGS_TPP\master"
If you're trying to do it from the cmd I guess you could throw in an if else condition to account for 32/64 differences. If they changed the default install location then I'd almost say it's not worth the effort trying to track down a registry key for a universal solution but that's just me. Again, unless I'm misunderstanding why you're asking.

Edit: lang_dictionary.txt

Added 2,246 entries. Removed one that I'm assuming is a false positive or something from LangTool. I'll have to test it out later. Had a couple duplicates hiding in it. Looks like I was looking at the old lang dictionary for the stated removal percent or something, but essentially the same as I was saying before.

IDs LangTool resolves but seem like non-sense when looking at the values they're for and other IDs:
bino_listen
rough_diamonds_curing (for a code talker mission task iirc)
callheli_destroyed_boaster
BobDoleOwndU
advanced
Posts: 68
Joined: Thu Dec 24, 2015 7:45 am
Has thanked: 10 times
Been thanked: 10 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by BobDoleOwndU »

On the topic of weapons, I sort of got Skullface's gun (aka SKULL CUSTOM) into the game.

Image

It's unusable though. You can't shoot it, or even aim with it. All of the necessary information appears to be there for it to work though, so I think there might be a piece of code disabling it from being used. I'll search a bit more to see what I can find.
CantStoptheBipBop
advanced
Posts: 53
Joined: Sat Aug 27, 2016 9:43 am
Has thanked: 7 times
Been thanked: 7 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by CantStoptheBipBop »

BobDoleOwndU wrote:On the topic of weapons, I sort of got Skullface's gun (aka SKULL CUSTOM) into the game.
Sweet. How'd you manage that? I'm curious how you got around the infinite loading issue when trying to add it to your inventory. And yeah the code for it seemed to all be there the last time I check as well. Including ammo, damage parameters, etc. Just something locking it to the two Skullface cut-scenes I guess? The wooden AR the child soldiers carry is actually used in-game but has the same load issue as with Skullface's gun and console DLC if you try to equip it.

I tried the LangIds I wrote off as false positives in-game and they actually work fine, which makes my job significantly easier. Time to spam LangTool with millions of lines consisting of random four-word combos and seeing what sticks then.
BobDoleOwndU
advanced
Posts: 68
Joined: Thu Dec 24, 2015 7:45 am
Has thanked: 10 times
Been thanked: 10 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by BobDoleOwndU »

CantStoptheBipBop wrote:Sweet. How'd you manage that? I'm curious how you got around the infinite loading issue when trying to add it to your inventory. And yeah the code for it seemed to all be there the last time I check as well. Including ammo, damage parameters, etc. Just something locking it to the two Skullface cut-scenes I guess? The wooden AR the child soldiers carry is actually used in-game but has the same load issue as with Skullface's gun and console DLC if you try to equip it.
I used a function for changing equipment I came across while digging through the mission files. I figured there'd be one for guns since there's a similar function for outfits. Then I decided to see if it would work for equipping the unobtainable weapons.

Code: Select all

Player.ChangeEquip{
    equipId = TppEquip.EQP_WP_SkullFace_hg_010,
    stock = 90,
    stockSub = 0,
    ammo = 6,
    ammoSub = 0,
    suppressorLife = 0,
    isSuppressorOn = false,
    isLightOn = false,
    toActive = true,
    dropPrevEquip = true,
}
Ashtails
beginner
Posts: 36
Joined: Sun Sep 20, 2015 8:57 pm

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Ashtails »

BobDoleOwndU wrote: It's unusable though. You can't shoot it, or even aim with it. All of the necessary information appears to be there for it to work though, so I think there might be a piece of code disabling it from being used. I'll search a bit more to see what I can find.
Cant you just replace the model to another gun?
BobDoleOwndU
advanced
Posts: 68
Joined: Thu Dec 24, 2015 7:45 am
Has thanked: 10 times
Been thanked: 10 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by BobDoleOwndU »

Ashtails wrote:Cant you just replace the model to another gun?
Yes, but if I get this working, it'll actually bring the gun in with its correct stats, etc..., rather than just be a model swap over another weapon.
nasanhak
advanced
Posts: 71
Joined: Sat Nov 28, 2015 6:01 am
Has thanked: 10 times
Been thanked: 4 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by nasanhak »

CantStoptheBipBop wrote:I'm curious how you got around the infinite loading issue when trying to add it to your inventory.
You can also equip them on soldiers and the game loads fine. Infact any weapon that is NPC equippable will load just fine. Check EquipIdTable or I can share the list of all NPC equippable guns and what works and what doesn't. Player weapons however cannot be equipped onto NPCs.
CantStoptheBipBop wrote:And yeah the code for it seemed to all be there the last time I check as well. Including ammo, damage parameters, etc. Just something locking it to the two Skullface cut-scenes I guess?
Most likely cause it is not fired during the cutscenes - just an anime. Same for child soldier wooden guns, they are assigned for M13 Pitch Dark but can't be picked up right. Because the data isn't there. Equipping them on enemy soldiers will spawn fine but you still can't pick them up.

From my testing, a gun consists of different code that handles different parts - equip icon, equipping, ADS sights textures, zoom sights textures, aim anim, shoot anim etc etc. Basically EVERY weapon in the game is the result of the chimera weapons system - even the soldier weapons. And every weapon needs a minimum set of parts for full functionality. If a part is missing then you''ll find broken functionality.

For example, equipping a ZZZ pistol onto enemy soldiers and then *snatching* it off their hands will allow you to use the pistol just fine. However, the anim for loading every shot in the chamber will not play out this way, until you drop the gun and pick it up again. Then it works fine. There seem to be triggers in place with the weapons system.

Quiet's weapons can be loaded this way into the game as well - but again are broken. Although, her Brennan(invisible as it was) could be fired last time I checked. But only by the player. NPCs couldn't fire it. Meaning there is separate data for NPC firing and player firing as well.

It may be as simple as adding parts to the weapon combination. I know soldier weapons have parts files they refer to so that the weapons are not "constructed" every time - check EquipIdTable. But haven't tried changing or modding these files yet. Player weapons are "constructed" through numerous different files but haven't ever bothered looking through that data either.

Here is a very long list of every NPC equippable weapon so far.

-X means ADS missing textures or equip Icons - or equipping or missing firing functionality
All PR weapons seem to be place holder weapons for cutscenes(as some of you already know)

Code: Select all

--      HANDGUN=TppEquip.EQP_WP_EX_hg_013, --r28 Tornado-6 Grade 7
--      HANDGUN2=TppEquip.EQP_WP_West_hg_020,
--      SMG=TppEquip.EQP_WP_East_sm_020,
--      SMG2=TppEquip.EQP_WP_West_sm_020,
--      SMG3=TppEquip.EQP_WP_East_sm_010,
--      SHOTGUN=TppEquip.EQP_WP_Com_sg_020_FL,
--      SHOTGUN2=TppEquip.EQP_WP_Com_sg_011_FL,
--      ASSAULT=TppEquip.EQP_WP_East_ar_030_FL, --default
----      ASSAULT2=TppEquip.EQP_WP_West_ar_020_FL, --
----      ASSAULT2=TppEquip.EQP_WP_East_ar_020, --not work
----      ASSAULT3=TppEquip.EQP_WP_East_ar_010_FL, --works
--      ASSAULT2=TppEquip.EQP_WP_West_ar_050,
--      ASSAULT3=TppEquip.EQP_WP_West_ar_030,
--      SNIPER=TppEquip.EQP_WP_EX_sr_000,
--      SNIPER2=TppEquip.EQP_WP_West_sr_010,
--      SNIPER3=TppEquip.EQP_WP_West_sr_011,
--      SNIPER4=TppEquip.EQP_WP_West_sr_020,
--      SNIPER5=TppEquip.EQP_WP_East_sr_011,
--      SNIPER6=TppEquip.EQP_WP_East_sr_020,
--      MG=TppEquip.EQP_WP_West_mg_030,
--      MG2=TppEquip.EQP_WP_West_mg_010,
--      MG3=TppEquip.EQP_WP_East_mg_010,
--      MISSILE=TppEquip.EQP_WP_Com_ms_020,
--      MISSILE2=TppEquip.EQP_WP_West_ms_010,
--      --      GRENADE=TppEquip.EQP_SWP_Grenade_G05, --r16 these don't work, maybe? --TODO WIP test
--      --      STUN_GRENADE=TppEquip.EQP_SWP_StunGrenade_G03,
--      --      SMOKE_GRENADE=TppEquip.EQP_SWP_SmokeGrenade_G04,
--      --      GRENADE_LAUNCHER=TppEquip.EQP_WP_EX_gl_000,
--      SHIELD=TppEquip.EQP_SLD_SV


--r13 testing results
----      HANDGUN=TppEquip.EQP_WP_West_hg_010,      --AM D114 Grade 1
----      HANDGUN=TppEquip.EQP_WP_West_hg_010_WG,   --X
--      HANDGUN=TppEquip.EQP_WP_West_hg_020,      --AM D114 Grade 4 + FL + SUP *BEST* EQUIP:
----      HANDGUN=TppEquip.EQP_WP_West_hg_030,      --Geist P3 Grade 4, shotgun icon, not useful
----      HANDGUN=TppEquip.EQP_WP_West_hg_030_cmn,  --X
----      HANDGUN=TppEquip.EQP_WP_East_hg_010,      --Burkov Grade 1
----      HANDGUN=TppEquip.EQP_WP_West_thg_010,     --WU S.Pistol Grade 1 ZZZ, Broken reload when disarmed
----      HANDGUN=TppEquip.EQP_WP_West_thg_020,     --WU S.Pistol Grade 2 ZZZ No SUP, Broken reload when disarmed
----      HANDGUN=TppEquip.EQP_WP_West_thg_030,     --WU S.Pistol Grade 5 ZZZ, Broken reload when disarmed
----      HANDGUN=TppEquip.EQP_WP_West_thg_040,     --WU S.Pistol Grade 5 ZZZ, Broken reload when disarmed
----      HANDGUN=TppEquip.EQP_WP_West_thg_050,     --WU S.Pistol CB Grade 7 ZZZ No SUP, Broken reload when disarmed, cannot develop, unique butt
----      HANDGUN=TppEquip.EQP_WP_SkullFace_hg_010, --SKULL Cutom Grade 1, kick ass stats, somewhat animation, broken
----      HANDGUN=TppEquip.EQP_WP_SP_hg_010,        --X SP do not load, infinite loading
----      HANDGUN=TppEquip.EQP_WP_SP_hg_020,        --X SP do not load, infinite loading
----      HANDGUN=TppEquip.EQP_WP_EX_hg_000,        --AM A114RP Grade 9!!! Grenade launcher?! missing reload after CQC grab
--        HANDGUN=TppEquip.EQP_WP_EX_hg_000_G01,    --AM A114 RP ZZZ Grade 8, missing reload after CQC grab
--        HANDGUN=TppEquip.EQP_WP_EX_hg_000_G02,    --AM A114 RP ZZZ Grade 9, missing reload after CQC grab
--        HANDGUN=TppEquip.EQP_WP_EX_hg_000_G03,    --AM A114 RP ZZZ Grade 10, missing reload after CQC grab
--        HANDGUN=TppEquip.EQP_WP_EX_hg_000_G04,    --AM A114 RP ZZZ Grade 11, missing reload after CQC grab
--        HANDGUN=TppEquip.EQP_WP_EX_hg_010,    --Tornado Grade 3
--        HANDGUN=TppEquip.EQP_WP_EX_hg_011,    --Tornado Grade 5
--        HANDGUN=TppEquip.EQP_WP_EX_hg_012,    --Tornado Grade 6
--        HANDGUN=TppEquip.EQP_WP_EX_hg_013,    --Tornado Grade 7 *BEST*
--
--
--
----      SMG=TppEquip.EQP_WP_West_sm_010,      --ZE'EV Grade 3
----      SMG=TppEquip.EQP_WP_West_sm_010_WG,   --X
----      SMG=TppEquip.EQP_WP_West_sm_014,      --X
----      SMG=TppEquip.EQP_WP_West_sm_015,      --X
----      SMG=TppEquip.EQP_WP_West_sm_020,      --Mach 37 Grade 3
----      SMG=TppEquip.EQP_WP_East_sm_010,      --Sz. 336 Grade 3 EQUIP:
--      SMG=TppEquip.EQP_WP_East_sm_020,      --Sz. 336 CS Grade 5, matches Sz. 336 HS Grade 5 *BEST* EQUIP:
----      SMG=TppEquip.EQP_WP_East_sm_030,      --Sz. 336 Grade 3 + SUP + FL
----      SMG=TppEquip.EQP_WP_East_sm_042,      --Riot SMG Grade 1, cannot develop
----      SMG=TppEquip.EQP_WP_East_sm_043,      --X
----      SMG=TppEquip.EQP_WP_East_sm_044,      --X
----      SMG=TppEquip.EQP_WP_East_sm_045,      --X
----      SMG=TppEquip.EQP_WP_Pr_sm_010,        --X PR are Invisible
----      SMG=TppEquip.EQP_WP_SP_sm_010,        --X SP do not load, infinite loading
----      SMG=TppEquip.EQP_WP_West_sm_016,      --X
----      SMG=TppEquip.EQP_WP_West_sm_017,      --X
----      SMG=TppEquip.EQP_WP_East_sm_047,      --STN
----      SMG=TppEquip.EQP_WP_West_sm_019,      --X
----      SMG=TppEquip.EQP_WP_West_sm_01a,      --X
----      SMG=TppEquip.EQP_WP_West_sm_01b,      --X
----      SMG=TppEquip.EQP_WP_East_sm_049,      --X
----      SMG=TppEquip.EQP_WP_East_sm_04a,      --X
----      SMG=TppEquip.EQP_WP_East_sm_04b,      --X
--
--
--
----      ASSAULT=TppEquip.EQP_WP_West_ar_010,      --AM MRS-4R Grade 3, grouping slightly higher
----      ASSAULT=TppEquip.EQP_WP_West_ar_010_FL,   --AM MRS-4R Grade 3, grouping slightly higher + FL EQUIP:
----      ASSAULT=TppEquip.EQP_WP_West_ar_055,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_020,      --UN-ARC Grade 3
----      ASSAULT=TppEquip.EQP_WP_West_ar_020_FL,   ----UN-ARC CS Grade 3 + FL
----      ASSAULT=TppEquip.EQP_WP_West_ar_030,      --UN-ARC-PT CS Grade 4 + FL, stats similar to UN-ARC Grade 4
----      ASSAULT=TppEquip.EQP_WP_West_ar_040,      --AM MRS-4 Grade 1
----      ASSAULT=TppEquip.EQP_WP_West_ar_042,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_050,      --AM MRS-4R Grade 5 EQUIP:
----      ASSAULT=TppEquip.EQP_WP_West_ar_060,      --UN-ARC-NL Grade 2 STN
----      ASSAULT=TppEquip.EQP_WP_West_ar_063,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_070,      --UN-ARC-NL Grade 4 STN + FL
----      ASSAULT=TppEquip.EQP_WP_West_ar_075,      --STN
----      ASSAULT=TppEquip.EQP_WP_East_ar_010,      --SVG-76 Grade 1
----      ASSAULT=TppEquip.EQP_WP_East_ar_010_FL,   --SVG-76 Grade 1 + FL
----      ASSAULT=TppEquip.EQP_WP_East_ar_020,      --SVG-67 Grade 4
----      ASSAULT=TppEquip.EQP_WP_East_ar_030,      --SVG-67 CS Grade 6, cannot develop
--      ASSAULT=TppEquip.EQP_WP_East_ar_030_FL,   --SVG-67 CS Grade 6 + FL, cannot develop *BEST*
----      ASSAULT=TppEquip.EQP_WP_Wood_ar_010,      --X ROFL as the name suggests is a wooden gun XD
----      ASSAULT=TppEquip.EQP_WP_Pr_ar_010,        --X Invisible
----      ASSAULT=TppEquip.EQP_WP_West_ar_057,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_077,      --STN
----      ASSAULT=TppEquip.EQP_WP_West_ar_059,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_05a,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_05b,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_079,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_07a,      --X
----      ASSAULT=TppEquip.EQP_WP_West_ar_07b,      --X
--
--
--
----      SNIPER=TppEquip.EQP_WP_West_sr_010,       --M2000-D Grade 2
----      SNIPER=TppEquip.EQP_WP_West_sr_011,       --M2000-D CS Grade 2;  cannot develop, slighty less damage
----      SNIPER=TppEquip.EQP_WP_West_sr_013,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_014,       --X
--      SNIPER=TppEquip.EQP_WP_West_sr_020,       --AM MRS-71 CS Grade 5 *BEST* EQUIP:
----      SNIPER=TppEquip.EQP_WP_West_sr_037,       --AM MRS-73 NL Grade 1 ZZZ
----      SNIPER=TppEquip.EQP_WP_East_sr_011,       --Renov-ICKX CS Grade 1
----      SNIPER=TppEquip.EQP_WP_East_sr_020,       --Bambetov SV CS Grade 4
----      SNIPER=TppEquip.EQP_WP_East_sr_032,       --Renov-ICKX TP CS Grade 4 ZZZ
----      SNIPER=TppEquip.EQP_WP_East_sr_033,       --X
----      SNIPER=TppEquip.EQP_WP_East_sr_034,       --X
----      SNIPER=TppEquip.EQP_WP_Quiet_sr_010,      --Wicked Butterfly Grade 2
----      SNIPER=TppEquip.EQP_WP_Quiet_sr_020,      --Guilty Butterfly Grade 3
----      SNIPER=TppEquip.EQP_WP_Quiet_sr_030,      --Sinful Butterfly Grade 4
----      SNIPER=TppEquip.EQP_WP_BossQuiet_sr_010,  --X Invisible
----      SNIPER=TppEquip.EQP_WP_Pr_sr_010,         --X Invisible
----      SNIPER=TppEquip.EQP_WP_EX_sr_000,         --Molotok-68 Grade 9!!! WTF!  *BEST*  Extreme(unreliable) damage but guard towers are not destroyed
----      SNIPER=TppEquip.EQP_WP_West_sr_027,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_047,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_048,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_029,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_02a,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_02b,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_049,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_04a,       --X
----      SNIPER=TppEquip.EQP_WP_West_sr_04b,       --X
--
--
--
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_010,       --S1000 Grade 2
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_011,       --S1000 CS Grade 2 + FL; cannot develop
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_011_FL,    --S1000 CS Grade 2 + FL; cannot develop
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_013,       --X
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_015,       --X
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_020,       --Kabarga 83 Grade 4
--      SHOTGUN=TppEquip.EQP_WP_Com_sg_020_FL,    --Kabarga 83 Grade 4 + FL *BEST* EQUIP:
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_023,       --S1000 Air-S CS Grade 3 STN
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_024,       --X
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_025,       --X
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_030,       --S1000 Air-S CS Grade 6 STN + FL, cannot develop
----      SHOTGUN=TppEquip.EQP_WP_Pr_sg_010,        --X Invisible gun
----      SHOTGUN=TppEquip.EQP_WP_Volgin_sg_010,    --X S1000 Grade 1 Broken gun
----      SHOTGUN=TppEquip.EQP_WP_SP_sg_010,        --X SP do not load, infinite loading
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_038,       --X
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_016,       --X
----      SHOTGUN=TppEquip.EQP_WP_Com_sg_018,       --X--
--
--
--
----      MG=TppEquip.EQP_WP_West_mg_010,     --UN-AAM Grade 2 Cannot develop
----      MG=TppEquip.EQP_WP_West_mg_020,     --ALM 48 Grade 2 EQUIP:
----      MG=TppEquip.EQP_WP_West_mg_023,     --X
----      MG=TppEquip.EQP_WP_West_mg_024,     --X
----      MG=TppEquip.EQP_WP_West_mg_021,     --ALM 48 Grade 4 EQUIP:
--      MG=TppEquip.EQP_WP_West_mg_030,     --ALM 48 Grade 5 *BEST* EQUIP:
----      MG=TppEquip.EQP_WP_East_mg_010,     --LPG-61 Grade 4
----      MG=TppEquip.EQP_WP_mgm0_mgun0,      --X Invisible gun
----      MG=TppEquip.EQP_WP_West_mg_037,     --X
----      MG=TppEquip.EQP_WP_West_mg_039,     --X
----      MG=TppEquip.EQP_WP_West_mg_03a,     --X
----      MG=TppEquip.EQP_WP_West_mg_03b,     --X
--
--
--
----      MISSILE=TppEquip.EQP_WP_Com_ms_010,   --Killer Bee Grade 3 EQUIP:
----      MISSILE=TppEquip.EQP_WP_Com_ms_020,   --Killer Bee Grade 5 EQUIP: *BEST*
----      MISSILE=TppEquip.EQP_WP_Com_ms_023,   --X
----      MISSILE=TppEquip.EQP_WP_Com_ms_024,   --X
----      MISSILE=TppEquip.EQP_WP_West_ms_010,  --FB MR R-Launcher Grade 3
----      MISSILE=TppEquip.EQP_WP_West_ms_020,  --FB MR R-L NLSP. Grade 6, cannot develop, 2-8x Zoom, stats similar to lethal Grade 5
----      MISSILE=TppEquip.EQP_WP_East_ms_010,  --Grom-11 Grade 2
--      MISSILE=TppEquip.EQP_WP_East_ms_020,  --CGM 25 Grade 4 -- no explosion when sodiers use this(maybe coz tested as assualt - NOPE - confirmed broken)
----      MISSILE=TppEquip.EQP_WP_HoneyBee,     --Honey Bee Grade 1, equal to Killer Bee Grade 3
----      MISSILE=TppEquip.EQP_WP_Com_ms_026,   --X
----      MISSILE=TppEquip.EQP_WP_West_ms_029,   --X
----      MISSILE=TppEquip.EQP_WP_West_ms_02a,   --X
----      MISSILE=TppEquip.EQP_WP_West_ms_02b,   --X
----      MISSILE=TppEquip.EQP_WP_Com_ms_029,   --X
----      MISSILE=TppEquip.EQP_WP_Com_ms_02a,   --X
----      MISSILE=TppEquip.EQP_WP_Com_ms_02b,   --X
--
--
--
--        GRENADE_LAUNCHER=TppEquip.EQP_WP_EX_gl_000, --doesn't use by default
--
--      SHIELD=TppEquip.EQP_SLD_SV
PS: tex, grenade launchers can be equipped onto NPCs at least those that are part of EquipIdTable. I had tried assigning the Miraz as an ASSAULT before it was even revealed and found it worked. I was confused cause it was firing 12 grenades at a time though so thought it might be because it was assigned as an assault lol.

Assigning grenade launchers is a matter of adding a custom power and and assigning it at the end. Although, they and up killing other soldiers lol - limited AI and what not, same issue with Stun grenades
Last edited by Gh0stBlade on Sat Sep 24, 2016 3:41 pm, edited 1 time in total.
Reason: Double post merge.
Tex
veteran
Posts: 89
Joined: Sat Aug 20, 2011 4:51 am
Has thanked: 21 times
Been thanked: 11 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Tex »

BobDoleOwndU wrote:On the topic of weapons, I sort of got Skullface's gun (aka SKULL CUSTOM) into the game.
It's unusable though. You can't shoot it, or even aim with it. All of the necessary information appears to be there for it to work though, so I think there might be a piece of code disabling it from being used. I'll search a bit more to see what I can find.
You need call TppEquip.RequestLoadToEquipMissionBlock at some point during load with a table that includes the equipId, ie
TppEquip.RequestLoadToEquipMissionBlock{TppEquip.EQP_WP_SkullFace_hg_010}

The gun isn't set up as a viable weapon - it's a one shot kill, in pistol slot, and the holding animation looks janky - which is why I never added it as a feature, and never got round to looking in detail at weapon definitions, nasanhak and unknown123 have done more on that.
Post Reply