Allright, since this part of the forum is shockingly empty, I'll post how I learned to mod SR2;
1. Read and follow this chat transcript
Read this carefully and follow the instructions. It should make it clear to you how to manipulate *.vpp_pc and craft your own, modified game patch file using the tools provided by http://blog.gib.me
2. Get a good textfile search tool
As you should know from the chat transcript, the stuff you probably want to mod is in plain-text files inside common.vpp_pc and patch.vpp_pc. There are a LOT of texfiles packed in those archives though. You will need a tool to search for specific stuff in the unpacked chaos. Personally I use Wingrep.
3. Mod example A: Foreign Power sells the Bear
--- Finding the vehicle ingame name ---
Searching for "Bear" will yield lots of results. The one you are looking for is inside sp_apc01_veh.xtbl. The files features the lines <Display_Name>Bear</Display_Name> and "<Name>sp_apc01</Name>.
Bingo.
--- Adding the vehicle to the the Foreign Power list ---
The stuff that FP sells is defined in car_dealerships.xtbl and every car is an "element" like this one for the Phoenix:
The car_dealerships.xtbl has more info per element like color data, but by experimenting and looking though other mods (Gentelmen!) I learned it can safly be left out.
Copying the car_dealerships.xtbl to the modified directory (remember the chat transcript instructions), adding your own element featuring the sp_apc01 vehicle and repacking the patch.vpp_pc file will yield you your first mod!
4. Mod example B: Tornado spawn point
--- .cts file orientation ---
Parking is defined in .cts files. The one that contains all the parking spots is parking_spots.cts. Now you don't have to cram your own info into that big file, you can define your own parking spots in another .cts file, as long as the game knows it should look in there.
There is a master .cts file, sr2_city.cts, that states what other .cts files need to be looked in to. Copy sr2_city.cts to your modified directory and add the line, Include: "my_mod.cts" , where all the other includes are.
Now create an empty my_mod.cts file in your modified directory and make sure it has all the hashtag header lines (like #Navpoints, #Framerates, #End, etc) you find in other .cts files but has no data bewen them.
Now look at the parking_spots.cts file for reference. You will see that the police station Tornado spawn is defined in 2 places. Under #Navpoints and under #Parking.
--- Saints Row 2 Powertools ---
Now you should know what to add in my_mod.cts to add more parking spots. The problem is that you don't know WHERE to add the parking spot. You need a way to know what x/y/z coordinates to use for $Pos.
http://saintsrowpowertools.com/ has the solution. Follow the instructions carefully and you should see your in-game coordinates when playing when you toggle scroll-lock.
For most uses you can round the numbers up to one decimal
--- Wrapping up ---
Lets say you have established you want your Tornado to spawn at 2418.5 -2.8 885.0 then your my_mod.cts should look like this:
5. Mod example C: Customisable Kaneda
I'm not gonna spell this one out but show you how to get the info yourself instead.
Now both GotR and my Easycruiser mod have this feature and you should have no trouble finding the file relevant to this bike while poking around in them. The problem is that this time you need to REMOVE something. Looking at the modded file will give you no info on this matter.
To quickly find what was removed you should do an automated comparison with the unmodded file. Good text editors, like Notepad++, have features to compare 2 similar text files. Use this and you will quickly find what is making the Kaneda uncustomisable in the original game.
6. Mod example D: Extra crib garage
Crib garages have entries in 3 files:
- garage_sr2_city.cts (under #Navpoints and #Triggers)
- garage_sr2_city.xtbl
- cribs.xtbl.
Good luck and have fun!
1. Read and follow this chat transcript
Read this carefully and follow the instructions. It should make it clear to you how to manipulate *.vpp_pc and craft your own, modified game patch file using the tools provided by http://blog.gib.me
Code:
Chat transcript IdolNinja teaching curly haired boy how to mod Saints Row 2
Curly haired boy: So, what programs do i need?
IdolNinja: gibbed's modding tools
IdolNinja: first you need to understand how it works
IdolNinja: generally
curly haired boy: ok
IdolNinja: alrighty
IdolNinja: an overview of the basics of how it works
IdolNinja: you extract the contents of a couple of files in your sr2 directory
IdolNinja: into a seperate folder
IdolNinja: each file is a text file that is editable
IdolNinja: you copy one of the files to a "modified" directory
IdolNinja: and make your changes to it
IdolNinja: you then use a tool which will compile the changes into a patch.vpp_pc file
IdolNinja: replace that file in your directory and run the game
IdolNinja: and that's it
IdolNinja: simple huh?
curly haired boy: simple doesn't mean easy :P
IdolNinja: haha right
IdolNinja: it will be though trust me
curly haired boy: :D
IdolNinja: first thing you'll need to do is create a folder to use
IdolNinja: i call mine sr2mod
IdolNinja: at the root of one of my data drives
IdolNinja: call yours the same so we're talking the same language
curly haired boy: will do
IdolNinja: let me know when you're accomplished this
IdolNinja: herculean task
curly haired boy: sr2mod
curly haired boy: XD
curly haired boy: me/ alt+tabs
IdolNinja: problems?
curly haired boy: nope
curly haired boy: just picking a drive to put it on :P
IdolNinja: I am timing you
IdolNinja: be quick
curly haired boy: XD
IdolNinja: you'll be graded on performance after you finish the level
curly haired boy: lol
curly haired boy: done
IdolNinja: in your new sr2mod folder create some subfolders
IdolNinja: extracted
IdolNinja: modified
IdolNinja: original
IdolNinja: SR2WIP
curly haired boy: ok
IdolNinja: http://blog.gib.me/wp-content/uploads/2009/02/binaries-svn-rev10.zip
IdolNinja: donwload the tools from gibbed, and extract them to the root of your sr2 mod folder
IdolNinja: http://img5.imageshack.us/img5/4333/gibbed.jpg
IdolNinja: should look something like that
IdolNinja: there's some extra junk in there I put in for testing some stuff
IdolNinja: don't worry about it
IdolNinja: yet
curly haired boy: ok
curly haired boy: done
IdolNinja: go to your sr2 installed game directory and copy your ORIGINAL common.vpp_pc and patch.vpp_pc files to the new ..\sr2mod\original folder
IdolNinja: make sure they are not the modded ones we've been testing, but your original ones installed with the game
curly haired boy: i renamed those .old
curly haired boy: gotcha
IdolNinja: after they are copied to ..\sr2mod\original, make sure to rename them back to their original names (remove the .old extension)
curly haired boy: right
IdolNinja: run Gibbed.SaintsRow2.ExtractPackage
curly haired boy: what will that do?
IdolNinja: It's going to extract the contents of the original .vpp_pc files
IdolNinja: so that we can edit them
curly haired boy: ahh
IdolNinja: oh one thing before you continue
curly haired boy: yes?
IdolNinja: just leave that window up with the extractor
curly haired boy: ok
IdolNinja: create two subfolders in ..\sr2mod\extracted
IdolNinja: name one folder: common
IdolNinja: the other name: patch
IdolNinja: E:\sr2mod\extracted\common
IdolNinja: E:\sr2mod\extracted\patch
IdolNinja: those are mine
IdolNinja: as you can probably guess, we are going run the tool twice. Once to extract common.vpp_pc to the ..\sr2mod\extracted\common folder
IdolNinja: and then a second time to extract patch.vpp_pc to the ..\sr2mod\extracted\patch folder
IdolNinja: so go to your extraction tool that should still be up (if not, run it again)
IdolNinja: Click the Extraction button
IdolNinja: browse to your ..\sr2mod\original\ folder and choose common.vpp_pc
IdolNinja: then extract it to your new ..\sr2mod\extracted\common folder
IdolNinja: run it again and do the same again for patch
IdolNinja: with patch_vpp.pc
IdolNinja: and extract it to the ..\sr2mod\extracted\patch folder
IdolNinja: make sense so far?
curly haired boy: so far
curly haired boy: i'm a little behind in steps
curly haired boy: but catching up
IdolNinja: I'll wait
IdolNinja: tapping my foot
curly haired boy: so i double click the extractpackage
IdolNinja: yes
curly haired boy: and a window comes up
IdolNinja: and click the extract button
curly haired boy: ok
IdolNinja: and browse to sr2mod/original/common.vpp_pc
IdolNinja: and select it
curly haired boy: ahhh
curly haired boy: it's working
IdolNinja: so far so good
IdolNinja: http://img43.imageshack.us/img43/9223/gibbed2.jpg
IdolNinja: and it looks something like that when it's finished
curly haired boy: do the same with the other ?
curly haired boy: the patch?
IdolNinja: exactly
IdolNinja: extract the original patch file to ..\sr2mod\extracted\patch
IdolNinja: all these files control how the world of sr2 works
IdolNinja: let me know when it's extracted
curly haired boy: done and done
IdolNinja: right on
IdolNinja: now... the extracted folder
IdolNinja: and its subfolders (..\sr2mod\extracted\comman and ..\sr2mod\extracted\patch
IdolNinja: NEVER MODIFY THESE FILES
IdolNinja: these are the original ones
IdolNinja: and we always want them clean
curly haired boy: ok
IdolNinja: ok, got to..\sr2mod
IdolNinja: the root where the tools are
IdolNinja: create a new text file and call it build.bat
IdolNinja: windows will honk at you about changing the txt extension, but ignore that
curly haired boy: didn't for me
IdolNinja: then you probably have file extensions turned off in your view
IdolNinja: and the actual file name you created is build.bat.txt
curly haired boy: that's what it is, yeah
IdolNinja: change that in your view menu so you can see all the extensions
IdolNinja: and let me know when the file name has been corrected
curly haired boy: done
IdolNinja: right click on build.bat and select Edit
IdolNinja: should open it up in notepad
IdolNinja: and it should be empty
curly haired boy: it does
curly haired boy: yep
IdolNinja: Gibbed.SaintsRow2.BuildPackage.exe "patch.vpp_pc" "modified" "extracted\patch"
IdolNinja: paste that command in the batch file and then save and close
curly haired boy: done
IdolNinja: here's where it gets interesting
IdolNinja: ..\sr2mod\modified is the folder we will copy various .xtbl files to edit them
IdolNinja: don't run this yet, but
IdolNinja: when you run your new build.bat batch file, what it does is compiles a new patch.vpp_pc and uses any new modified files in your sr2mod\modified directory, along with all the original ones
IdolNinja: so
IdolNinja: let's say you copy a file from one of the extracted folders
curly haired boy: yeah
IdolNinja: one of the orignal .xtbl files
IdolNinja: and put the copy in ..\sr2\modified
IdolNinja: then change a line in the copied .xtbl file and save it. then run the build.bat
curly haired boy: yeah
IdolNinja: it will recompile the patch with the new version of that file
curly haired boy: the bat should compile it
IdolNinja: and all the old files too
IdolNinja: from the extracted folder
IdolNinja: yes, that .bat (batch file) will compile it
IdolNinja: build.bat
IdolNinja: So, let's make a simple change and compile a new patch
curly haired boy: ok
IdolNinja: look for weapons.xtbl in the ..\sr2mod\extracted\common folder
IdolNinja: and copy it (don't move it) to your ..\sr2mod\modified folder
IdolNinja: btw .xtbl files are xml table files
IdolNinja: they are plain text
IdolNinja: let me know when it's copied
curly haired boy: should i have folders in modified?
IdolNinja: no
IdolNinja: it should be empty
IdolNinja: except for the copied weapons.xtbl file
curly haired boy: copied
IdolNinja: double click and open it
IdolNinja: it will probably ask you to choose an application
curly haired boy: windows doesn't know what to do
curly haired boy: right
IdolNinja: browse you're programs and choose notepad
IdolNinja: and tell it to always use notepad to open .xtbl files
curly haired boy: done and done!
IdolNinja: you should see a bunch of gobbledygook
IdolNinja: <root>
<Table>
<Weapon>
<Name>heli_fighter_01</Name>
<Weapon_Class>vehicle</Weapon_Class>
<Trigger_Type>burst</Trigger_Type>
<Magazine_Size>100</Magazine_Size>
<Range_Max>225</Range_Max>
<Sound_Radius>150</Sound_Radius>
<Damage_Max>
curly haired boy: i see VARIABLES
IdolNinja: right
curly haired boy: :D
IdolNinja: or the technical term
IdolNinja: gobbledygook
curly haired boy: XD
IdolNinja: have you ever done anything in html?
IdolNinja: or xml?
curly haired boy: some in html
IdolNinja: ah ok
curly haired boy: nothing in xml
IdolNinja: so you know that something like <start> bunch of crap </start>
IdolNinja: signifies a section
IdolNinja: like forum posting
curly haired boy: yeah
IdolNinja: with tags
curly haired boy: yep
IdolNinja: let's find a weapon to modify
curly haired boy: how bout the first one
curly haired boy: i believe that's the heli cannon
IdolNinja: that's a complcated one
IdolNinja: let's start with something easy
IdolNinja: <Name>glock</Name>
IdolNinja: search for that
IdolNinja: should be the first line of the weapon definition
IdolNinja: for the glock
curly haired boy: done
IdolNinja: I'll bet you can already see some fun stuff to change
IdolNinja: let's make a few basic changes
curly haired boy: yeaaah :D
IdolNinja: just for fun
IdolNinja: Magazine_Size to 15
IdolNinja: since it's 12 now
curly haired boy: 1200
curly haired boy: :D
IdolNinja: careful
IdolNinja: the ammo pool is declared in a different file (ammo.xtbl)
curly haired boy: but don't i have infinite ammo?
IdolNinja: and if the clip is bigger than the pool it will cause problems
curly haired boy: oh
IdolNinja: it's weird that way
IdolNinja: and we can look at the ammo file later
curly haired boy: 55 it is
IdolNinja: cool
IdolNinja: <Ragdoll_Force_Shoot>150</Ragdoll_Force_Shoot>
IdolNinja: that's a fun one
curly haired boy: 45 kojillion
IdolNinja: that's how I made the orbital launcher
IdolNinja: 9000 blows someone across the street
IdolNinja: 50000 is the one I put on the launcher
curly haired boy: hahahah :D
IdolNinja: so change that to something around there
IdolNinja: just for testing
curly haired boy: 20000
IdolNinja: sure
IdolNinja: see the Meleeattacks section?
curly haired boy: i do
IdolNinja: what i did for the pimpslap was just copypaste the pimp slap definitions (from later in the file) into that section
IdolNinja: and replaced the ones that are there
IdolNinja: so your melee smacks people sky high with the gun
IdolNinja: want to try it?
curly haired boy: hmm
curly haired boy: no, i think i'll just adjust the RANGE :D
IdolNinja: haha ok
IdolNinja: <Muzzle_Effect>muzz_handgun_nl</Muzzle_Effect>
IdolNinja: that's how I changed the muzzle flashes
curly haired boy: ahh
curly haired boy: pretty straightforward, this. :)
IdolNinja: minimize this for a second and I want you to open another file
curly haired boy: ok
IdolNinja: in \extracted\common
IdolNinja: open effects.xtbl
IdolNinja: DO NOT CHANGE THIS FILE
IdolNinja: this is our reference
IdolNinja: for the different effects we can use for the muzzle
curly haired boy: ahh
IdolNinja: search it for blood
curly haired boy: so i could just put minigun_barrel in there
IdolNinja: to be clear, you change NOTHING in effects.xtbl
IdolNinja: you just lookup what the names are of stuff you can change in weapons.xtbl
IdolNinja: just to be clear
curly haired boy: yeah, i mean i could copy minigun_barrel
IdolNinja: here's the thing though
IdolNinja: well the minigun is weird
IdolNinja: most of the muzzle flashes you see with it are actual tracer stuff
IdolNinja: we'll talk about that in the advanced course
curly haired boy: ah
curly haired boy: XD
IdolNinja: for now, let's choose a simple one
IdolNinja: search for blood
IdolNinja: we'll make the muzzle flash bleed all over
IdolNinja: just for kicks
curly haired boy: blood_headshot
curly haired boy: copy that?
IdolNinja: let's try it
IdolNinja: it will be within the <name> brackets
curly haired boy: the name part, or the filename?
curly haired boy: ah, ok
IdolNinja: <Name>blood_headshot</Name>
IdolNinja: we are going to use blood_headshot
curly haired boy: done and done!
IdolNinja: and copy it to the muzzle flash variable in weapons.xtbl
curly haired boy: yup
IdolNinja: <Muzzle_Effect>blood_headshot</Muzzle_Effect>
IdolNinja: should look like that now
curly haired boy: yep
IdolNinja: the next interesting section is <Flags>
IdolNinja: right now, the only flag is dual weildable
IdolNinja: do you see it?
IdolNinja: <Flags>
<Flag>dual wieldable</Flag>
</Flags>
IdolNinja: in the glock defintion
IdolNinja: in weapons.xtbl
curly haired boy: i do
curly haired boy: it's just below the spread multis
IdolNinja: we can add extra flags to it
curly haired boy: oooooo :D
IdolNinja: what I want you to do is search on something in the file (it's near the bottom)
IdolNinja: Search for
IdolNinja: <Description>Flags for this weapon.</Description>
curly haired boy: sweet
IdolNinja: they are all pretty self explanatory
IdolNinja: let's pick one to use with our new improved glock
IdolNinja: lethal melee might be fun
IdolNinja: I've never tried that one
curly haired boy: ok
IdolNinja: so copy the line and search again from the top for glock to get back to our weapon definition
curly haired boy: done and done
curly haired boy: added it to flags
IdolNinja: and paste it into the flags section
IdolNinja: <Flags>
<Flag>dual wieldable</Flag>
<Flag>lethal melee</Flag>
</Flags>
IdolNinja: should look like that
curly haired boy: yep
IdolNinja: let's knock Refire_delay donwn to 50
IdolNinja: so it shoots fast
curly haired boy: yay
IdolNinja: and now comes the fun part
IdolNinja: <Audio>
curly haired boy: :D
IdolNinja: just like effects.xtbl is our graphic effects refernce, we will be using a sound reference file to find the names of sound effects we can use
IdolNinja: to look up stuff we can try
IdolNinja: once again, in the extracted\common folder, it's called foley.xtbl
IdolNinja: so open it up
IdolNinja: DO NOT CHANGE IT
IdolNinja: we're just going to look stuff up
IdolNinja: like we did with effects.xtbl
curly haired boy: kk
IdolNinja: <root>
<Table>
<Foley>
<Name>SFX_EXP_FLASHBANG</Name>
<AudioBanks>Other InMemory</AudioBanks>
<_Editor>
IdolNinja: that's the first entry
curly haired boy: yep
IdolNinja: once again, between the <Name> tags is what we want
IdolNinja: that defines the sound that's heard
IdolNinja: so SFX_EXP_FLASHBANG is probably the sound fx for the flashbang explosion
IdolNinja: that weeee and muffled sound thing
curly haired boy: cool
curly haired boy: :D
curly haired boy: let's try that
IdolNinja: actually I have a better idea
IdolNinja: but first
IdolNinja: SFX_DTH_
IdolNinja: see those definitions?
IdolNinja: the 2nd one is one
IdolNinja: SFX_DTH_DRUGSTILL
curly haired boy: ok
IdolNinja: took me a bit figure out what those were
IdolNinja: DTH is death
IdolNinja: it's the destruction of the ojbect
IdolNinja: the sound it makes
curly haired boy: ahh
IdolNinja: SFX_DTH_FENCE
curly haired boy: XD
IdolNinja: would be the fence destroyed
IdolNinja: there's one called something gasp
IdolNinja: I think it's a crowd gasping
curly haired boy: i'll try that one :D
IdolNinja: I think it would be a funny sound to use
IdolNinja: going to find it yourself and change?
curly haired boy: already done
curly haired boy: already edited
IdolNinja: haha!
IdolNinja: I knew you could do it
IdolNinja: you could find some other ones for alt attack
IdolNinja: or reload
curly haired boy: etc.
IdolNinja: some won't work FYI
curly haired boy: i want to test now! :D
IdolNinja: haha ok
IdolNinja: let's go back to weapons.xtbl then
IdolNinja: it all looks pretty good for me
IdolNinja: oh, want to make it a rapid fire gun?
IdolNinja: automatic?
curly haired boy: sure
IdolNinja: near the top of the glock definition is a tag called Trigger_Type
IdolNinja: change single to rapid
curly haired boy: sweet
IdolNinja: I found that by looking at the kobra definition and saw that
IdolNinja: there's also continuous
IdolNinja: which is I believe used for the minigun
IdolNinja: anyways,
IdolNinja: save the file
curly haired boy: yep
IdolNinja: run build.bat
IdolNinja: it should create a new patch_vpp.pc file in the sr2mod folder
curly haired boy: how do i do that
IdolNinja: double click it
curly haired boy: it opens it
IdolNinja: then you didn't change the name
IdolNinja: of the file
IdolNinja: it should be build.bat
curly haired boy: oh, i gotta REMOVE the .txt from the name?
IdolNinja: should be build.bat and not build.bat.txt
IdolNinja: RIGHT
IdolNinja: so it's a batch file
IdolNinja: and runs the command contained in it
IdolNinja: it should only take a second to run
IdolNinja: did it work?
IdolNinja: did it produce a new pathc.vpp_pc file?
curly haired boy: i accidentally clicked it twice
curly haired boy: XD
IdolNinja: haha
curly haired boy: the first time worked
IdolNinja: you're just excited
curly haired boy: the second time threw an error and stopped working
curly haired boy: but i think it went through
IdolNinja: probably because the newly created patch.vpp_pc already existed when you tried to run it the second time
curly haired boy: i see it
curly haired boy: now what
IdolNinja: move the file to your sr2 folder where your game is
IdolNinja: just like you would if it was from me
IdolNinja: NOTE
IdolNinja: the 2nd file in my rar
IdolNinja: the preanim one
IdolNinja: is ONLY for dual wielding
IdolNinja: you'll probably never create one with the gibbed tools
curly haired boy: ah, ok
IdolNinja: it will only create the patch.vpp_pc file
curly haired boy: um
curly haired boy: will this break the stuff you've already given me?
IdolNinja: it may
IdolNinja: just don't save
curly haired boy: gotta try it ;o
curly haired boy: k
IdolNinja: and load an earlier save
IdolNinja: since you may have stuff associated with my patch
curly haired boy: ok
curly haired boy: gonna try
IdolNinja: *fingers crossed
IdolNinja: your blood gasp gun is ready to test
IdolNinja: oh sorry, AUTO blood gasp gun
curly haired boy: uh
curly haired boy: which pistol is the glock XD
IdolNinja: uh oh
IdolNinja: haha
IdolNinja: nr4 I think
curly haired boy: kk
IdolNinja: in pistols
curly haired boy: ok
curly haired boy: everything works
IdolNinja: houston, do we have fountains of blood?
IdolNinja: and gasp noises?
curly haired boy: the added melee range PULLS PEDESTRIANS TOWARDS ME SO i kick them in the balls :D
IdolNinja: hahahaha
curly haired boy: and yes, gasps of blood :D
IdolNinja: that's AWESOME
IdolNinja: that must be a horror show XD
curly haired boy: i gotta go increase that range :D
IdolNinja: now.. there will be other additional files that you copy in to ..\sr2\modified
IdolNinja: for other things
IdolNinja: eventually
curly haired boy: :D
IdolNinja: http://img21.imageshack.us/img21/4403/gibbed3.jpg
IdolNinja: that's my current modified directory
curly haired boy: ahahaha
curly haired boy: awesome
IdolNinja: so those might be good ones to look through
IdolNinja: see if you can figure out what they do
IdolNinja: play around, create new patches
IdolNinja: crash the game
IdolNinja: fix and uncrash
IdolNinja: make something cool :D
IdolNinja: LESSSON 1 COMPLETE
IdolNinja: STUDENT: curly haired boy passes with an A+
IdolNinja: your homework:
IdolNinja: http://community.saintsrow.com/viewforum.php?f=37
IdolNinja: that's how I learned everything
IdolNinja: you will also see some posts from me
curly haired boy: awesome :D
curly haired boy: thanks so much!
IdolNinja: including code for my weapons.xtbl entries for the two new guns
IdolNinja: like all I did for that light on the lazarus was use DT_spotlight01 for the muzzle flash
IdolNinja: which is the spotlight effect from the police chopper and prison guard towers
IdolNinja: and as you hold the trigger down it keeps spawning more and more of them making the beam brighter and wider
curly haired boy: :D
curly haired boy: i think i'll call my new gun the bloody roar
curly haired boy: because that's what it is. :D
IdolNinja: hahah
curly haired boy: OH SHIT
curly haired boy: OH SHIIIIIT
IdolNinja: you should find some scream foley soundfx for it
curly haired boy: XD
curly haired boy: the cops
curly haired boy: THEY HAVE IT TOO
curly haired boy: they completely BLEW ME AWAY
IdolNinja: hahaha
IdolNinja: that's for lesson 2
IdolNinja: creating a new gun so that the cops don't have it
curly haired boy: HAHAHA
IdolNinja: I bet you have some wild crazy things in mind :D
IdolNinja: told you it wasn't hard
IdolNinja: browse through ammo.xtbl
IdolNinja: if you want
curly haired boy: right
IdolNinja: that controls ammo pools
IdolNinja: you should have enough to start causing some trouble though :D
curly haired boy: well, sleep well, knowing your knowledge is in good hands
IdolNinja: take some pics of your blood gun for the forum ;D
curly haired boy: will do
IdolNinja: I'm sure that would be pretty interesting to see
curly haired boy: i changed rapid fire to continous
IdolNinja: I will eagerly await them for tomorrow when I get up
curly haired boy: unfortunately, melee range didn't work :S
curly haired boy: ah well
IdolNinja: yeah, some things are weird
IdolNinja: you have to play with it
IdolNinja: I usually make 1 or 2 changes at a time and test
IdolNinja: scopes are weird btw
IdolNinja: you need to add a couple zoom tags in your weapon def
IdolNinja: the lazarus has those in the source I sent
IdolNinja: if you want to see them
curly haired boy: thanks
IdolNinja: you can compare it side by side to the original taser
IdolNinja: and see all the changes
curly haired boy: which is a good guide for making my own weapon
curly haired boy: :3
IdolNinja: http://community.saintsrow.com/viewtopic.php?f=37&t=27619
IdolNinja: that's the tutorial I followed for making new guns
IdolNinja: it's a bit hard to follow because the author tries to base it off line numbers using a different txt editor. Once you understand the basics though it's easy
IdolNinja: also, you don't need to do the cheat .xtbl mods he mentions. you can just add it to the store to buy. see later in his post
IdolNinja: we'll create a new weapon tomorrow
IdolNinja: together
IdolNinja: so you can avoid breaking stuff like I did
IdolNinja: the first one I tried ended up screwing up all the names and making my bare hands a cellphone so I couldn't melee D:
IdolNinja: but definitely check out that forum and read up
IdolNinja: 'night!
2. Get a good textfile search tool
As you should know from the chat transcript, the stuff you probably want to mod is in plain-text files inside common.vpp_pc and patch.vpp_pc. There are a LOT of texfiles packed in those archives though. You will need a tool to search for specific stuff in the unpacked chaos. Personally I use Wingrep.
3. Mod example A: Foreign Power sells the Bear
--- Finding the vehicle ingame name ---
Searching for "Bear" will yield lots of results. The one you are looking for is inside sp_apc01_veh.xtbl. The files features the lines <Display_Name>Bear</Display_Name> and "<Name>sp_apc01</Name>.
Bingo.
--- Adding the vehicle to the the Foreign Power list ---
The stuff that FP sells is defined in car_dealerships.xtbl and every car is an "element" like this one for the Phoenix:
Code:
<Element>
<Vehicle>car_2dr_muscle04</Vehicle>
<Variant>Standard</Variant>
<Cost>20000</Cost>
</Element>
Copying the car_dealerships.xtbl to the modified directory (remember the chat transcript instructions), adding your own element featuring the sp_apc01 vehicle and repacking the patch.vpp_pc file will yield you your first mod!
4. Mod example B: Tornado spawn point
--- .cts file orientation ---
Parking is defined in .cts files. The one that contains all the parking spots is parking_spots.cts. Now you don't have to cram your own info into that big file, you can define your own parking spots in another .cts file, as long as the game knows it should look in there.
There is a master .cts file, sr2_city.cts, that states what other .cts files need to be looked in to. Copy sr2_city.cts to your modified directory and add the line, Include: "my_mod.cts" , where all the other includes are.
Now create an empty my_mod.cts file in your modified directory and make sure it has all the hashtag header lines (like #Navpoints, #Framerates, #End, etc) you find in other .cts files but has no data bewen them.
Now look at the parking_spots.cts file for reference. You will see that the police station Tornado spawn is defined in 2 places. Under #Navpoints and under #Parking.
Code:
...
#Navpoints
...
$Navpoint: "parking_spots_$parking_SR_attack_heli"
$Type: "ground"
$Pos: <-681.697266 14.408448 400.047302>
$Orient: [I]
...
#Parking
...
$Parking: "parking_spots_$parking_SR_attack_heli"
$Dimensions: 11.00 6.71
$Spawn Chance: 10
+Force vehicle: "heli_fighter_01"
...
--- Saints Row 2 Powertools ---
Now you should know what to add in my_mod.cts to add more parking spots. The problem is that you don't know WHERE to add the parking spot. You need a way to know what x/y/z coordinates to use for $Pos.
http://saintsrowpowertools.com/ has the solution. Follow the instructions carefully and you should see your in-game coordinates when playing when you toggle scroll-lock.
For most uses you can round the numbers up to one decimal
--- Wrapping up ---
Lets say you have established you want your Tornado to spawn at 2418.5 -2.8 885.0 then your my_mod.cts should look like this:
Code:
// -------
#Includes
// -------
// -------
#Activities
// -------
// -------
#Framerates
// -------
// -------
#Groups
// -------
// -------
#Navpoints
// -------
// My Tornado Navpoint
$Navpoint:" my_little_tornado_parking_spot"
$Type: "ground"
$Pos: <2418.5 -2.8 885.0>
$Orient: [I]
// -------
#Paths
// -------
// -------
#Items
// -------
// -------
#Triggers
// -------
// -------
#Vehicles
// -------
// -------
#Respawns
// -------
// -------
#Humans
// -------
// -------
#Spawn NPC Regions
// -------
// -------
#Action Nodes
// -------
// -------
#Parking
// -------
// My Tornado parking define
$Parking: "my_little_tornado_parking_spot"
$Dimensions: 11.00 6.71
$Spawn Chance: 100
+Force vehicle: "heli_fighter_01"
// -------
#Chunk Streaming Test Cases
// -------
// -------
#Ambients
// -------
// ----------
#DSP Regions
// ----------
// -------------
#Audio Cluders
// -------------
// -------
#Nodes
// -------
// -------
#Searchlights
// -------
// -------
#Movers
// -------
// -------
#Interiors
// -------
#End
5. Mod example C: Customisable Kaneda
I'm not gonna spell this one out but show you how to get the info yourself instead.
Now both GotR and my Easycruiser mod have this feature and you should have no trouble finding the file relevant to this bike while poking around in them. The problem is that this time you need to REMOVE something. Looking at the modded file will give you no info on this matter.
To quickly find what was removed you should do an automated comparison with the unmodded file. Good text editors, like Notepad++, have features to compare 2 similar text files. Use this and you will quickly find what is making the Kaneda uncustomisable in the original game.
6. Mod example D: Extra crib garage
Crib garages have entries in 3 files:
- garage_sr2_city.cts (under #Navpoints and #Triggers)
- garage_sr2_city.xtbl
- cribs.xtbl.
Good luck and have fun!