View unanswered posts | View active topics It is currently Thu Dec 26, 2024 6:14 pm



This topic is locked, you cannot edit posts or make further replies.  [ 31 posts ]  Go to page 1, 2, 3  Next
 Unofficial: Everything you'd ever need to know about Modding 
Author Message
User avatar

Joined: Mon Nov 28, 2005 4:59 pm
Posts: 1207
Location: Norway
Post Unofficial: Everything you'd ever need to know about Modding
Unofficial F.A.Q. - Cortex Command

Q,1: I made a 'mod'.rte with a 'weapon'.ini in it, but i cant see it!
A: Have you made a index.ini that contains
DataModule
IncludeFile = 'mod'.rte/'weapon'.ini
?

Q,2: I done that, and I cant see it in the buy menu!
A: Cortex Command dont have a working scroll bar, just go 'outside' the buy menu.

Q,3: How do I mod?
A: Go here.

Q,4: How do I change the ammo/health/weapons
A: Open Ammo.ini/Actor.ini/Devices.ini and look around, why im not telling you the rest, is that we need more mod's for CC and this is good practice. Good luck!

Q,5: How do I select the brain? (buy menu)
A: P1 : Y+U at the same time. P2: Num.4+Num.5 at the same time.

Q,6: Why are the colors on my sprite weird?
A: Cortex Command uses a custom palette of 256 colors, where you're probably picking from tens of thousands. Use a program with palette support, like GraphicsGale.

Q,7: Help! When Cortex Command are trying to load my mod i get an error!
A: Look at the error you should see a Could not match property in 'yourmods name'.rte/'your weapon'.ini at line 'line'! Then open 'your weapon'.ini and goto 'line' maybe somthing is wrong? when you get errors like this you should ask here in the forum for help.

Q,8: How do I install mods?
A: Place the 'mod'.rte in Cortex Command Main folder NOT base.rte! And then it should work.
A2: If this is not working, then open base.rte and then open index.ini, then go back to the 'mod'.rte folder, open index.ini and skip 1 line then copy the rest, now paste this in the base.rte/index.ini file. If this is not working post in the general forum for help.

Q,9: How can I make a grenade that explode without the sharp pixels?
A: Open the 'grenade'.ini and remove
ParticleNumberToAdd = 20
AddParticles = MOPixel
CopyOf = Grenade Fragment Gray
ParticleNumberToAdd = 20
AddParticles = MOPixel
CopyOf = Grenade Fragment Yellow
this most be copyed from the normal frag grenade!

Q,10: How can I make 3x3 pixel bullets?
A: You cant, but you can use sprites.

Q,11: I made a really cool weapon. But when I use it, it gets trowh out of my hands. What should I do?
A: Reduce the bullet speed, or you could also increase the joint strength if you want to risk ripping the guy's arms off when it fires. (If you want it to go trough everthing, use sharpness.)

Q,12: How do I use sprites?
A: Open your 'weapon'.ini and find
SpriteFile = ContentFile
FilePath = 'your mod'.rte/'your sprite'.bmp
FrameCount = 'number of images'

if you want animated sprites change the 'number of images' to how many sub-images you want to have, make sure you name the images 'image'000.bmp 'image'001.bmp 'image'002.bmp etc.
But if you want non-animated sprites, use only ONE image and do NOT have numbers behind the name and 'number of images' most be 1 !

Q,13: How can I change the weapons/items/actors/vehicles price?

A: Go to the Device.ini and go to all the weapons and change everyones gold cost to 0.

Go to Actor.ini and go to the bottom of the code and you should see Robot 1 and 2 an Green Clone and Blue Clone go to thier gold cost and change it to 0, also the very bottom actor is the rocket, so if you want it free just change th Gold Cost = whatever number.

Q,14: The actor just aims up!! What should I do?
A: Unplug your joystick. If this doesnt work post in the forums.

Some non-CC questions.
-What does btw mean? ::Btw mean By the way
-What does lol mean? ::Lol mean Laugh out loud
-You can look here for more. (I dont recommend pepole using this! Your post may be deleted.)

Cant find a answer to your problem(s) here? Post a question and we will try to answer it!
Please do not post spam/stupid posts!


Thanks to Tonnyman for the answer on Q#13 !
And Ikkonoishi for the answer on Q#11 !

CC, faq v.1.51


Last edited by The Punisher on Tue Jan 02, 2007 9:53 am, edited 25 times in total.



Sun Oct 29, 2006 10:46 am
Profile WWW

Joined: Mon Dec 04, 2006 3:34 am
Posts: 2378
Post Modding guide and guidelines!
This post is copied here for the sake of it not getting lost in the rubble of the mod section.


THIS IS NOT HERE TO TEACH YOU HOW TO USE A COMPUTER! IF YOU ARE INCAPABLE OF EVEN THE SIMPLEST TASKS, YOU SHOULDN'T BE ANYWHERE NEAR A DEV FORUM.

This post is both meant as an introduction to modding, a somewhat passable lesson on how to install mods, and a set of general rules to follow when modding, especially when POSTING mods. I will also cover some guidelines I believe will help mappers and players in that field. In this post, I will not try to be nice, I do think there are people here who post stuff that isn't worth posting.

First off, Installing Mods, this is first because once I get into modding I won't come back around. Mods run out of those pretty little folders with .rte at the end of their name. The game, when starting up, looks for any directories with .rte, opens them(it does Base.rte first, more on that later) and parses the Index.ini. So, after getting a mod, you extract it, and put the .rte folder(it may be in a folder that winzip or winrar made, get it out) in the games base directory, if you don't know what a base directory is, get off the interwebs. After that, if the mod is properly made, the game should load it all nicely and the stuff from the mod will be added to the buy menu.

Next, learning to mod! First off, make a folder and call it <modnamehere>.rte. Next, make an Index.ini(just change the extension on a .txt to .ini) that is almost exactly like the one in Base.rte, but only put in an ammo.ini and a devices.ini line(leave the first line the same always, make sure the paths you put in go to your mod). Now you also will need the files you just made paths to, in your mod folder again make an ammo and a devices.ini file, now, go copy whatever weapon you want to mod out of the corresponding file in Base.rte(for ammo, make sure you get the magazine AND the round, as well as anything else referenced by those, don't worry about materials or .bmps or .wavs) Now, rename all your magazines and rounds and weapons you took to whatever you want, making sure to be consistent. Now that you have done this, you should have a working mod folder, and can begin to mess around a bit to learn how things work. Don't ask how to do things, just look around and try, remember multiple variables affect certain properties of weapons.

Ok, you have messed around, made some interesting stuff, maybe even delved into modding actors to be stronger. Always remember to NEVER EVER change anything in the Base.rte files except GoldCost, Health, and WoundLimit, and when you DO change those, comment out the original value(use // for comments). If you want to make a new .bmp/.wav for your weapon, or whatever you have, make another new folder in your mods .rte, and name it after the weapon or something, copy the files the weapon currently uses into that folder, and redirect that paths in the devices.ini to point to these files, you can now change them as much as you want. Always keep in mind that ANYTHING that is used in one of your .ini files has to be compiled before it is used(like ammo.ini goes before devices.ini) in the Index.ini. If you ever need to stop a mod from loading(like too many weapons, or long load time) just take the .rte out of the folders' name.

When it comes to the point that you want to post your work, think about whether or not enough work went into it, or if it's even good enough, that people will want it, most people have nearly, or more than, full weapon tabs in the buy menu, unless you have a great weapon they will likely delete it. If you think that it IS good enough, then post your entire .rte in a zipped(or rared) form using the forums upload service, because you have(hopefully) been diligent in keeping the mod self-sufficient *coughferretcough* this is all people will need to use what you made on their own computers.

-----Uber Ghetto Guide To Cortex Command Variables Coming Soon(weapons done-ish)-----

Note : I removed repetitive/RBG/X,Y stuff

Devices.ini SAMPLE

///// a gun, for shooting... something

AddDevice = HDFirearm //Its a gun, woot
InstanceName = Pistol //name of any weapon of this type
Mass = 3 //in kg
HitsMOs = 0 //does it have collision for hitting?
GetsHitByMOs = 1 //does it have colliosion for getting hit?
SpriteFile = ContentFile //dont worry
FilePath = Base.rte/Devices/Pistol/Pistol.bmp //what it looks like
FrameCount = 2 //how many frames there are
SpriteOffset = Vector //In relation to parent? this is where to draw it.
EntryWound = AEmitter //when it gets hit
CopyOf = Dent Metal //type of emitter
ExitWound = AEmitter //bullet goes out the other side
CopyOf = Dent Metal
GoldCost = 5 //you figure it out.
AtomGroup = AtomGroup //no worries
AutoGenerate = 1 //I have no goddamn clue
Material = Material //material
CopyOf = Gun metal //what material it is made of
Resolution = 4 //uhhh
Depth = 0 //uhhh
DeepGroup = AtomGroup // :S
AutoGenerate = 1 //...
Material = Material // a material, it is.
CopyOf = Gun metal //the material typename
Resolution = 4 //...
Depth = 10 // I think this has something to do with layering
DeepCheck = 1 // not sure
Strength = 75 // maybe for gibbing, probably for crushing
Stiffness = 0.5 // maybe for gibbing
JointOffset = Vector //not sure, X,Y thingie
DrawAfterParent = 0 // drawn before or after whoever's holding it
StanceOffset = Vector //these have to do with the different ways your guy can hold it
SharpStanceOffset = Vector
SupportOffset = Vector
SharpLength = 125 // zoom length
Magazine = Magazine // just a definition
CopyOf = Magazine Pistol // what mag it has
ParentOffset = Vector // where it draws the mag
Flash = Attachable
CopyOf = Muzzle Flash Pistol // muzzle flash
FireSound = Sound //sounds begin
AddSample = ContentFile
FilePath = Base.rte/Devices/Pistol/PistolBang.wav
EmptySound = Sound
AddSample = ContentFile
FilePath = Base.rte/Devices/EmptyClick3.wav
ReloadStartSound = Sound
AddSample = ContentFile
FilePath = Base.rte/Devices/ReloadStart.wav
ReloadEndSound = Sound
AddSample = ContentFile
FilePath = Base.rte/Devices/ReloadEnd.wav
RateOfFire = 200 //the higher the faster
ReloadTime = 1500 // in miliseconds, rof probably is too
FullAuto = 0 // duh
FireIgnoresThis = 0 //idk
ShakeRange = 4 // how much the makes your arms shake(degrees?)
SharpShakeRange = 1 // same as above but for sharp
NoSupportFactor = 5 // when only using one hand
ParticleSpreadRange = 3 // weapons static accuracy
ShellSpreadRange = 8 //for the casings
ShellAngVelRange = 2
MuzzleOffset = Vector//where the bullets come out
EjectionOffset = Vector// :S
AddGib = Gib //these are gibs, when the weapon is shot to pieces, these are the pieces
GibParticle = MOPixel
CopyOf = Spark Yellow 1
Count = 3 // #
Spread = 3.14 // radians?
MaxVelocity = 20 // durr
MinVelocity = 8 // ^
WoundLimit = 2 /// how many hits before it just dies, regardless of health(if it has any)

Ammo.ini SAMPLE

////// a bullet

AddAmmo = Round
InstanceName = Round SMG //name, used for calls to this object
ParticleCount = 1 // how many
Particle = MOPixel //type
InstanceName = Particle SMG //another name
Mass = 0.008 //in kg
RestThreshold = 500 // how well supported it has to be to stop and become static
LifeTime = 1500 // how long it lives(doesn't count if it comes to rest)
Sharpness = 250 // this affects the force it imparts as a material, a light or slow projectile can still do damage by being sharp
HitsMOs = 1 // hits people/walls
GetsHitByMOs = 0 //it can't get shot.
Color = Color // You figure this one out.
Atom = Atom
Material = Material
CopyOf = Bullet metal
TrailColor = Color
TrailLength = 25
Shell = MOSParticle //another object type, this is the shell
CopyOf = Casing //what shell?
FireVelocity = 80 //bullet speed
ShellVelocity = 10 // shell speed
Separation = 5 // not sure, I'll try it.

/////// a mag

AddAmmo = Magazine
InstanceName = Magazine Pistol
Mass = 1 // kg
HitsMOs = 0 //no impact 4 u
GetsHitByMOs = 0 // can't touch this
SpriteFile = ContentFile
FilePath = Base.rte/Devices/Pistol/MagPistol.bmp //image
FrameCount = 1 // how many images in the series, in this case, one
SpriteOffset = Vector // where to draw in relation to parent, I think
RoundCount = 11 // how much it holds
RTTRatio = 0 // not sure
RegularRound = Round
CopyOf = Round SMG // what it shoots
TracerRound = None // no tracer here

///////for great justice, I will also cover a TDEXplosive

AddAmmo = TDExplosive
DetonationSound = Sound //when it triggers
AddSample = ContentFile
Path = Base.rte/Sounds/Explode2.wav
StartThrowOffset = Vector//stuff for throw
EndThrowOffset = Vector
TriggerDelay = 500//timer on trigger
ParticleNumberToAdd = 10 // how many
AddParticles = MOSParticle //of a particle
CopyOf = Side Thruster Blast Ball 1 //this particle
ParticleNumberToAdd = 10 //this many
AddParticles = MOPixel //pixels
CopyOf = Grenade Fragment Gray //of this type
ParticleNumberToAdd = 15
AddParticles = MOPixel
CopyOf = Air Blast

Other than that, if there are any things that you want me to add/clarify/remove/beat to death, send me a PM or if you think I won't mention you telling me what it means(if that's the case) post here.

Beyond the above material, and even including most of it, you ought to be able to figure out most of teh rest on your own, if you can't figure it out, fool around with it, or leave it alone.

-----End the Ghetto Library of Stuff------

MAPS
Mapping, in it's current form, is neither easy nor quick. If you want to get started, look in the thread about contours(it's a sticky) and get that tool. When using paint or whatever to make a map, remember that the ContourMaker requires a 2-color bitmap, one of those colors must be the pink used for transparent stuff, thi is where you won't have ground(like the sky) If you look in the Scenes.ini file, or the folder where all the scene stuff is, you will notice there are many .con files, this is because for EVERY material(dirts, sands, et cetera) you need a new countour to tell the game where to put it, also note the X and Y values for map size, they come in handy when you change the size. The rest of mapping is art and placing it with pixel coordinates, I am too lazy to look to see where 0,0 is, I assume top-left. Have fun, however, to ensure others can use your map without overwriting their own do these things;

1.) Make your own Scenes.ini and Scenes folder, with the name of the map instead of 'scenes', this way, all a person.you has to do to change their map is go into Base.rte/Index.ini and change the Scenes.ini line to your maps' .ini, after putting your folder/.ini in their Base.rte(only maps here will load I think)
2.) If you use custom materials, make your own materials file as well, this will just mean that have to change/add another line in the Index.
3.) Everyone wants more maps, if you get anything anywhere near decent, they will love it.

-----I might make a ghetto library of things here too-----

MOD GUIDELINES I know, I know, hard to believe.

1.) No external dependencies except for in Base.rte, that way people don't have to debug your mistakes.

2.) If your mod is extremely large, think about breaking it into smaller mods, so people can pick and choose.

3.) Don't rate mods on things like sounds, I doubt most of the people here really want to go looking for sounds for all their weapons, if they do get custom sounds, or at least different sounds, it's a plus, but if they don't it's not a minus.

4.) Always, ALWAYS, debug your mods, the best way to do this is to take the .rte our of ALL mods except the one you are debugging and Base, then run the game, if there are no errors, you didn't fail, at least not at keeping your mods modular.

5.) JLrep - Unfinished Mods : Don't post an unfinished mod unless you absolutely need help getting it to work, before doing this, check for typos and make at least a half-assed attempt at fixing it yourself.

-----Ghetto Q&A as people ask the Q part, and Ferret Punisher et cetera or I answer.


IF YOU HAVE SMALL QUESTIONS, TRY USING PMS!!!!!

Additions from Others :
RTTRatio - How many normal rounds are fired before a tracer (purple)

Edited by : Nfsjunkie91


Last edited by Alenth Eneil on Sat Dec 23, 2006 12:31 am, edited 3 times in total.



Sun Dec 17, 2006 1:14 am
Profile
User avatar

Joined: Tue Dec 05, 2006 3:36 pm
Posts: 676
Post Unofficial: Basic modding guide and Variable/Class Appendix
MODDING CONCEPT GUIDE


TABLE OF CONTENTS

I. Introduction

II. Bare-Bones Guide To Modding

III. Frequently Annoying Questions

IV. Appendix

IVa. Vocabulary
IVb. Variables
IVc. Classes

V. Helpful Links

VI. Misc.


I. INTRODUCTION

This part is here to help you get a grasp of what all of this stuff does. It's pretty much a listing of all the classes used, which will pretty much teach you to use every tool at your disposal to create the latest and greatest. First comes the vocabulary, then the variables, then the classes. Since it's hard to explain the classes without first explaining the variables, yet it's also hard to explain what the variables do without first showing all the classes, you'll probably end up clicking back and forth a lot. If you don't understand something, then keep reading and you'll likely find something later than explains it.

In the appendix section under the classes, the variables have a short explanation. Look at the variables appendix for a more detailed explanation.


II. The Basic Basics of modding CC:

If you're completely new to the whole modding thing, then here's a quick rundown:

When the game compiles (during the loading screen) the game does this: it first goes to Base.rte/index.ini and works its magic. The compiler goes line by line. Lines that include a file make the compiler stop compiling the current file and start compiling the file that was included until that file is gone through, then it goes back and finishes the original file. So the compiler in Base.rte goes to index.ini, loads all the materials, loads all the sounds, loads all the effects (including emissions and particles and pixels and other things that fly around the screen), loads all the ammo stuff (including rounds and magazines), loads all the weapons, loads all the actors (which then includes more .inis: one .ini for each actor and rocket), and finally loads the level information. When an entire index.ini is compiled in Base.rte, the program then searches in alphabetical order for other folders that end in .rte and looks for an index.ini inside each. It then compiles all the mods until done.

Quite a process, right? Well, it's done that way for a reason. Weapons are loaded after magazines because a weapon calls on a magazine, and magazines are loaded after rounds because magazines call on rounds and so forth. If an instance calls on another instance, that instance must be compiled first; since effects are basic things and weapons and actors are complex and must rely on other instances, they are compiled in such a manner that the more basic classes are put into memory before the more complex classes. What does this all mean? Probably nothing to you, but it will pretty soon.

Instances work like this: a line declares what kind of object is being defined, then another line usually defines the name of that object. After that, pretty much everything is just a series of variables that define what that object is. For example, your basic pixel (found in effects.ini, usually) has a certain mass and sharpness, has variables that determine whether they can hit things and/or can be hit, has a color, has a material (which is mostly just there to determine behavior when the pixel stops moving and becomes "static"), and has a trail color and a trail length, which determines the color and length of the line behind the individual pixel. And yes, pixels are pretty much the most basic of objects, yet have a great deal of variables.

The secret to modding CC is starting small. For starters, make a backup of Base.rte so you can revert back to it later; making a new folder and .ini files right off the bat is extremely hard unless you know what you're doing. Start with Devices.ini and work your way down: change some things on the AK-47 or the SMG, increasing the rate of fire or changing the reload time or whatever you feel like doing, then go to the magazine it calls and change some of the stuff there, such as roundCount. Finally, go to the round the magazine calls on (both are in ammo.ini) and change the charpness or the mass or something. You'll quickly become used to modding CC, at which point you should use Alenth's Guide and other resources (just look around) to familiarize yourself with the different variables and such. And remember: the most important thing is to experiment. All of us started out making an AK-47 that shot through walls and worked our way up. Change whatever you see and see how the game reacts.


III. Frequently Annoying Questions:

Q: How do I get a higher resolution for cc?
A: http://www.datarealms.com/forum/viewtop ... 2294#22294

Q. What's a .rar file?
A. .rar files are a form of compression more efficient than .zip, and so is used quite often when uploading mods. Google "winrar" to find the free download.

Q. How do I make my brain invincible?
A. go into Base.rte/Actors/Brains/Brains.ini, then Go under the instance Mother Brain and look for "Health = 100" and The GibImpulse/WoundLimit lines. Change the health variable to equal something really high, the impulse variable to equal something really high, and the woundlimit variable to equal -1. Now your brain will never die again.

Q. How do I get more gold?
A. If you want a quick, dirty way to get more gold, go into Base.rte/Devices.ini, and go into the view toolbar and hit "Replace...". Replace "GoldCost = " with "GoldCost = -100 //". All the weapons in the game will now give you 100 gold whenever you buy them, but rockets and actors will still cost their normal prices. Do the same process to all the .ini files in Base.rte/Actors to change their costs as well. If you ever want to change prices back, switch around the values that you're replacing.

Q. How do I get the skeleton/dropship?
A. Get the latest version.

Q. A mod I DLed isn't working!
A. Make sure that you placed the folder that ends in .rte directly inside the Cortex Command folder. If there's an error in the code, attempt to fix it yourself. Whether you can or cannot, report the error (FULL TEXT is preferred) in the topic that you downloaded it from, but make sure that the mod isn't old; it might be for an older version than you have.

Q. Can someone send me (file), it doesn't work anymore!!!
A. Install a seperate cc in another folder, then get the file from there. in the future, PLEASE keep backups of everything. Please.

IVa. VOCABULARY

Object - an instance of a class.

Class - Classes are basically categories of objects. There are devices, TDExplosives, rounds, magazines, actors, AHumans, and many more. This guide is here to help familiarize yourself with as many of them as possible.

Gib - something that an object (like an actor or device) expels when it reaches its woundLimit or ImpulseGibThreshold. Like the little bits of gun that appear when an existing gun is destroyed.

Sharp - when you zoom in using the "J" key, it's said that you are in sharp mode, which affects accuracy and weapon shake.

Actor - Something that you can control in-game, like a clone, a robot, or a dropship.

Material - stuff like concrete, rock, dirt, sand, plant, etc. Different ones are harder to break through than others. Look in materials.ini for a listing of the different attributes for materials.

Sprite - your average image, in .bmp format.



IVb. THE VARIABLES

Before we get into the classes, lets start off with what all the variables mean. In case you don't know, pretty much the only thing you'll be doing while modding CC is changing variables. Use ctrl-F to search for a specific variable you want to know about. Now then, on to business.


InstanceName - Yes, this is important. This determines the name of the object you are defining in the lines to come. MAKE SURE that your instance names are unique relative to those in Base.rte and try and make them different than what another modder would use to avoid confusion between mods.

Mass - this determines how much force is needed to accelerate the object. A rocket with high mass will have a significantly harder time rocketing upward than an empty rocket. Same with a clone or robot using a jetpack. It also determines how much force is applied to whatever is firing out the object. A gun that fires bullets with a high mass basically simulates a high amount of recoil. Also, the mass of the pixels that a jetpack emits determines how much upward force is applied by using the jetpack. Mass is used by almost every class, and is important when you are using something to provide a lot of thrust.

LifeTime - This variable is used mostly by particle and pixel classes, and it determines, in milliseconds, how long the object stays around before disappearing. This helps create a range limit, which is useful for making sure a bullet doesn't fly around the map and smack you in the head. It's also used for limiting the range of grenades and other such explosives; the shorter the lifetime, the less range the grenade has.

Sharpness - This is also used primarily with pixels and particles. This determines the kinds of materials the pixel or particle can pierce, and how easily it can pierce it. It also determines, to a point, how much damage a bullet can do. With 0 sharpness, it'll just bounce off everything. Experiment to find the correct sharpness for your bullets.

HitsMOs/GetsHitByMOs - These variables determine whether it can hit things and whether it can get hit by things. For the most part, these should be the same throughout each class so that nothing wierd happens.

Color stuff found throughout - This, interestingly enough, determines the color of anything that is not a sprite on the RGB scale. Simple enough.

Trail stuff - This is found in the pixel class. The variables determine how long the pixel's trail is and the color of the trail.

Material stuff - this is found in pretty much everything. It comes after the "Material = Material" line, which usually comes after some kind of AtomGroup or Atom line. It calls on a material (found in Materials.ini, check the file for what the variables mean), which determines a large number of things. It mostly affects what the object acts like after it becomes static; that is, after it becomes an immobile part of the environment, like a rocket or dropship after it crashes.

SpriteFiles - After "SpriteFile = ContentFile" comes "FilePath = Base.rte/Devices/whatever.bmp". This determines what image the particle, rocket, arm, body, head, device, etc. uses. After saving a sprite as a .bmp, change this line to point to your image file, starting with the cc folder.

AngularVel - Used to determine how fast something is spinning when it spawns. Found on many different classes that I'm too lazy to list right now.

FrameCount - Determines how many frames the game loads. If it's 1, then the only thing displayed is the sprite file you pointed to. Different numbers are used for different classes. If there are 2 or more frames that the game has to load, then it doesn't load up whatever.bmp at all; it loads up whatever000.bmo, whatever001.bmp, whatever002.bmp, etc. until the frame count is reached. Devices use 2 frames: one for when it's firing, one for when it's not. Various particles and such use it to cycle through various images based on...

FrameRate - determines how many frames pass before the image is cycled to the next image based on the FrameCount. For example, the rocket's emissions cycle through a fireball, slightly less of a fireball, even less of a fireball, a lotta smoke, less smoke, even less smoke, etc. to simulate an actual rocket blast. Only used when the FrameCount is not cycled for another reason, like a device that's shooting or a rocket whose hatch is opening.

SpriteOffset - Used to say where a sprite is located with X and Y values. Used to determine where the gun is when you're holding it, where a magazine is relative to a gun, and lots of other things. Change until the sprite is in the right place. Yay.

AutoGenerate/Resolution/Depth/DeepCheck/others that aren't listed here - Don't touch. Really. If you know what they do and are sure you know what you're doing, then use caution. But try not to mess with them.

Spread - This Determines the spread that objects are spewed out at (just not with guns; that's a different variable). Used with emissions, gibs, and a few others. Jetpacks and rocket thrusters have a low spread, while grenades and such spew things at a high spread. I forget the max spread, but I think it's 3.14.

Max/MinVelocity - This sets the range of speed that objects are spewed out at (again, not with guns). For grenades and gibs and such, it's mostly there to set how fast the stuff moves and the variety of speeds they are spewed at. For emissions, the average velocity things are emitted at sets how much push the emission gives, along with the mass (acceleration * mass = force). The faster a jetpack spews pixels, the more lift it provides.

sounds of every kind - there are generally 2 kinds of sounds. The first simply has a file path pointing to the .wav file to play at the time indicated by the name of the kind of sound (like fire sound or reload sound) and the second calls a sound in sounds.ini. Just look in the file for a self-explanatory example of how that's set up.

EmissionCountLimit - used with emissions, determines the number of emissions that an emitter can spew before disappearing.

EmissionsIgnoreThis - sets whether the emissions spewed ignore the emitter and the thing the emitter is attached to. With it on, for example, the fireballs that the main thruster of a rocket spews doesn't do any damage to the rocket itself if it should, for some reason, hit it.

ParticlesPerMinute - determines how many particles are spewed out over the course of a minute.

BurstSize - Determines the number of particles that are emitted every time the emitter emits. Emissiony!

BurstScale - ???

BurstDamage - ???

BurstTriggered - ???

EmissionDamage - How much damage is applied to the emitting object per emission. Used to make actors and rockets lose health over time (make it negative for regeneration!).

RestThreshold - This determines how slowly an object needs to be going to become static; that is, it becomes the material it was assigned, like with crashed rockets. Mostly used with TDExplosives, which are set at -500 so they never come to rest.

Entry/Exitwound - the line after this holds the kind of emitter that appears at the spot where a bullet enters/exits an object. Used to create flesh wounds that drip blood, oil leaks, and other such things. Some, like dent metal, are merely cosmetic and don't emit anything. EntryWound is used for a bullet that enters and doesn't leave, and exitWound is used for a bullet that just keeps on going through.

TriggerDelay - This is used in TDExplosives and determines how many millisecons pass before the grenade disappears and leaves particles (specified later in the class) in its wake to fly all over.

ParticleCount - This determines how many bullets are fired when the round is fired. Used for shotguns and to make various weapons do more damage (though the spread of the bullets must be 0 for it to not act like a shotgun).

Shell - this is the object that is ejected whenever the associated round is fired. Used for shotgun casings and such. Can be set to None.

FireVelocity - Determines how fast the bullet is moving when it spawns. Watch for recoil.

ShellVelocity - Determines how fast the shell is moving when it spawns.

Seperation - Determines how far apart particles are when they come out of a gun. Need confirmation on this.

RoundCount - Determines the number of rounds that can be fired from a magazine before the magazne needs to be reloaded.

RTTRatio - Round-to-tracer-ratio, it determines how many rounds are fired before a tracer round is fired, after which the count starts again. 0 means no tracer, and I THINK that 2 means every other shot is a tracer. NOT SURE on that.

Regular/TracerRound - Determines what is fired when you pull the trigger, and is defined in the magazine. The main round is fired by default, but every nth (where n is the RTTRatio) shot will be a TracerRound. Both a normal round and a tracer round are complete rounds of their own; one does not need to be a copy of the other.

GoldCost - Determines how much gold a weapon/actor/whatever costs. Can be negative.

StanceOffset/SupportOffset/SharpStanceOffset - These are in devices.ini and change the location of the main hand, the support hand, and how much they move (or something like that) when moving into sharp.

SharpLength - How Far the zoom is for the device. Also changes the red sharp dots along with the zoom.

RateOfFire - How many shots per unknown-interval-of-time.

ReloadTime - In milliseconds.

FullAuto - Whether or not holding down the fire button has any effect.

Shakerange - How much the weapon moves when fired from normal position. Has an effect on accuracy during sustained fire.

SharpShakeRange - Same, but in sharp. Should be less.

NoSupportFactor - The shake range without the supporting arm.

ParticleSpreadRange - quite simply, the accuracy. Determines the number of degrees in which the bullet travels relative to the way the gun is pointing. 0 is perfect accuracy.

ShellSpreadRange - Same, but it determines the accuracy of the shell. Not too important to the functionality of the gun.

ShellAngVelRange - From 0 to the number, the range of the speeds that the shells rotate at.

MuzzleOffset - Changes where the bullets come out, as well as the muzzle flash. Make sure it lines up with the barrel of the gun.

EjectionOffset - where the shell spawns.

ImpulseGibThreshold - How fast an object has to hit another object for it to gib into its gibs. Used for impact explosions.

GibWoundLimit - How many times an object must be shot before it gibs.

Health - the health of the actor.

CharHeight - affects where the health number is, as well as (maybe) the point at which a ship resides when it comes to the refund point.

JumpTime - How long, in seconds, the jetpack button can be held before running out of fuel.

Velocity - How fast and in which direction a rocket is moving when it spawns at the top of the screen. Negative Y values make the rocket go upwards.

HatchDelay - The delay between hitting the eject button and when the cargo is spewed out.


If it's not here, then it's probably absolutely self-explanatory. That simple.



IVc. THE CLASSES

MOPixel - This is a pixel. Really. It is used for pretty much everything that is launched out at any speed, including bullets, grenade fragments, jetpack emissions, etc. Grenades and emitters call on pixels defined in their own class, but rounds usually declare the pixel inside the round declaration- that is, instead of declaring the pixel in effects.ini and calling it in ammo.ini, it is simply put directly into the round. Basic Form:

Code:
AddEffect = MOPixel
   InstanceName = Grenade Fragment Gray //name
   Mass = 0.15 //how much force is applied in various cases, like emissions and guns
   LifeTime = 350 //how long in milliseconds the pixel lasts
   Sharpness = 20 //Determines how easily it can pierce different materials
   HitsMOs = 1 //whether or not it can hit things, usually on
   GetsHitByMOs = 0 //whether or not it can get hit, usually off
   Color = Color
      R = 143 //amount of red in the color
      G = 143 //amount of green in the color
      B = 143 //amount of blue in the color
   Atom = Atom
      Material = Material
         CopyOf = Bullet metal //which material from materials.ini it is, affects bounciness and some other factors
      TrailColor = Color
         R = 155
         G = 155
         B = 155
      TrailLength = 25 //determines how long the trail is


MOSParticle - This is basically a pixel with an image attached. It still only has a collision of 1 pixel, however, so the functionality is the same, save for the image.

Code:
AddEffect = MOSParticle
   InstanceName = Main Thruster Blast Ball 1
   Mass = 9
   RestThreshold = -1 //the point at which the object becomes static.
   LifeTime = 300
   Sharpness = 0.1
   HitsMOs = 1
   GetsHitByMOs = 0
   SpriteFile = ContentFile
      FilePath = Base.rte/Effects/FireBlast01.bmp //image path
   FrameCount = 22//number of images loaded
   SpriteOffset = Vector //Where the particle is relative to its collision. Somehow.
      X = -10
      Y = -10
   AngularVel = 60 //how fast it rotates
   Atom = Atom
      Material = Material
         CopyOf = Air Blast
      TrailLength = 0
   Framerate = 0 //How fast the frames cycle


MOSRotating - This is much like a particle. Almost exactly like a particle. However, its collision goes throughout the sprite, allowing for more realistic impacts with terrain. Usually used for shells. Also has a more complicated way to set the material.

Code:
AddAmmo = MOSRotating
   InstanceName = Cannon Particle
   Mass = 5
   LifeTime = 1500
   Sharpness = 20
   HitsMOs = 1
   GetsHitByMOs = 1
   SpriteFile = ContentFile
      FilePath = Base.rte/Devices/Cannon/CannonRound.bmp
   FrameCount = 1
   SpriteOffset = Vector
      X = -2
      Y = -2
   AtomGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Bullet metal
      Resolution = 2
      Depth = 0
   DeepGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Bullet casing
      Resolution = 4
      Depth = 1
   DeepCheck = 0


Rounds - Rounds are what is used by a gun (well, more specifically, the magazine of a gun). They can be anything from actors to particles to pixels. Most often, rounds are pixels, at least with normal guns. If the round is a pixel or particle, it is usually defined inside the round. Otherwise, it is defined before and the round merely calls on it. The first example creates an MOPixel in the middle of the round, while the last one simply calls on a TDExplosive.

Code:
AddAmmo = Round
   InstanceName = Round SMG
   ParticleCount = 1 //number of particles to expel at one time
   Particle = MOPixel
      InstanceName = Particle SMG
      Mass = 0.008
      RestThreshold = 500
      LifeTime = 1500
      Sharpness = 250
      HitsMOs = 1
      GetsHitByMOs = 0
      Color = Color
         R = 143
         G = 143
         B = 143
      Atom = Atom
         Material = Material
            CopyOf = Bullet metal
         TrailColor = Color
            R = 155
            G = 155
            B = 155
         TrailLength = 25
   Shell = MOSParticle //whether it has a shell or not
      CopyOf = Casing //what the shell is
   FireVelocity = 80 //how fast the particle's initial speed is
   ShellVelocity = 10 //how fast the shell is ejected
   Separation = 5 //distance between shots in a single round

AddAmmo = Round
   InstanceName = Round Cannon
   ParticleCount = 1
   Particle = TDExplosive
      CopyOf = Frag Shell
   Shell = MOSRotating
      CopyOf = Cannon Casing
   FireVelocity = 90
   ShellVelocity = 10
   Separation = 5


Magazines - Magazines are what the device calls on to know what to fire. They also include what sprite the magazine is when it's both on the gun and ejected from the gun. Calls on 1 or 2 rounds, and includes such things as the number of rounds it holds.

Code:
AddAmmo = Magazine
   InstanceName = Magazine SMG
   Mass = 2
   HitsMOs = 0
   GetsHitByMOs = 0
   SpriteFile = ContentFile
      FilePath = Base.rte/Devices/SMG/MagSMG2.bmp
   FrameCount = 1
   SpriteOffset = Vector
      X = -3
      Y = -4
   EntryWound = AEmitter
      CopyOf = Dent Metal //what emitter appears when its shot
   ExitWound = AEmitter
      CopyOf = Dent Metal //same, but out the back
   AtomGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Bullet metal
      Resolution = 2
      Depth = 0
   DeepGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Bullet metal
      Resolution = 3
      Depth = 1
   DeepCheck = 1
   JointStrength = 200
   JointStiffness = 1
   JointOffset = Vector
      X = 0
      Y = -3
   ParentOffset = Vector
      X = 1
      Y = 0
   DrawAfterParent = 0
   RoundCount = 30 //number of rounds
   RTTRatio = 4 //Determines how often the tracer round is shot
   RegularRound = Round
      CopyOf = Round SMG //the default round for the weapon
   TracerRound = Round
      CopyOf = Round SMG Tracer //the tracer round, fired based on the RTTRatio
   AddGib = Gib
      GibParticle = MOPixel //what the gib is
         CopyOf = Spark Yellow 1 //the gib
      Count = 5 //how many gibs
      Spread = 3.14 //in which directions the gibs go
      MaxVelocity = 20 //max speed of the gibs
      MinVelocity = 8 //min speed of the gibs
   AddGib = Gib
      GibParticle = MOSParticle
         CopyOf = Metal Shard A
      Count = 4
      Spread = 3.14
      MaxVelocity = 15
      MinVelocity = 5
   GibWoundLimit = 1 //number of times it's shot before it gibs


Device - Devices are anything found under weapons and tools, save for TDExplosives. They Include pretty much everything about the gun not already defined by the round/magazine.

Code:
AddDevice = HDFirearm
   InstanceName = SMG
   Mass = 10
   HitsMOs = 0
   GetsHitByMOs = 1
   SpriteFile = ContentFile
      FilePath = Base.rte/Devices/SMG/SMG.bmp
   FrameCount = 2
   SpriteOffset = Vector
      X = -7
      Y = -4
   EntryWound = AEmitter
      CopyOf = Dent Metal
   ExitWound = AEmitter
      CopyOf = Dent Metal
   GoldCost = 20 //how much it costs; can be negative
   AtomGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Gun metal
      Resolution = 4
      Depth = 0
   DeepGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Gun metal
      Resolution = 4
      Depth = 10
   DeepCheck = 1
   JointStrength = 75
   JointStiffness = 0.5
   JointOffset = Vector
      X = -3
      Y = 3
   DrawAfterParent = 0
   StanceOffset = Vector
      X = 6
      Y = 5
   SharpStanceOffset = Vector
      X = 9
      Y = -1
   SupportOffset = Vector
      X = 6
      Y = 3
   SharpLength = 165 //how far the zoom is
   Magazine = Magazine
      CopyOf = Magazine SMG //which magazine to use
      ParentOffset = Vector
         X = 2
         Y = 1
   Flash = Attachable
      CopyOf = Muzzle Flash SMG //muzzle flash. Used whenever a round is shot.
   FireSound = Sound
      AddSample = ContentFile
         FilePath = Base.rte/Devices/SMG/M1601.wav
      AddSample = ContentFile
         FilePath = Base.rte/Devices/SMG/M1602.wav
      AddSample = ContentFile
         FilePath = Base.rte/Devices/SMG/M1603.wav
      AddSample = ContentFile
         FilePath = Base.rte/Devices/SMG/M1604.wav
      AddSample = ContentFile
         FilePath = Base.rte/Devices/SMG/M1605.wav
      AddSample = ContentFile
         FilePath = Base.rte/Devices/SMG/M1606.wav
   EmptySound = Sound
      AddSample = ContentFile
         FilePath = Base.rte/Devices/EmptyClick3.wav
   ReloadStartSound = Sound
      AddSample = ContentFile
         FilePath = Base.rte/Devices/ReloadStart.wav
   ReloadEndSound = Sound
      AddSample = ContentFile
         FilePath = Base.rte/Devices/ReloadEnd.wav
   RateOfFire = 800 //how fast it fires
   ReloadTime = 1500 //how long, in milliseconds, it takes to reload
   FullAuto = 1 //if holding down fire works or not
   FireIgnoresThis = 0
   ShakeRange = 4 //affects accuracy
   SharpShakeRange = 1
   NoSupportFactor = 5 //affects accuracy with only one arm
   ParticleSpreadRange = 3 //accuracy
   ShellSpreadRange = 8
   ShellAngVelRange = 2
   MuzzleOffset = Vector //changes where the bullet comes out
      X = 10
      Y = 0
   EjectionOffset = Vector //changes where the shell comes out
      X = 1
      Y = -1

//GIBS GO HERE


TDExplosive - Explosives are pretty much grenades. After the delay has passed, they gib. Quite simple. Also the round of choice for RPGs and other impact explosions.

Code:
AddDevice = TDExplosive
   InstanceName = Frag Grenade
   Mass = 2
   RestThreshold = -500
   HitsMOs = 1
   GetsHitByMOs = 0
   SpriteFile = ContentFile
      FilePath = Base.rte/Devices/FragGrenade.bmp
   FrameCount = 1
   SpriteOffset = Vector
      X = -3
      Y = -4
   EntryWound = AEmitter
      CopyOf = Dent Metal
   ExitWound = AEmitter
      CopyOf = Dent Metal
   GoldCost = 5
   AtomGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Gun metal
      Resolution = 2
      Depth = 0
   DeepGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Gun metal
      Resolution = 4
      Depth = 10
   DeepCheck = 1
   JointStrength = 75
   JointStiffness = 0.5
   DrawAfterParent = 1
   DetonationSound = Sound
      AddSample = ContentFile
         Path = Base.rte/Sounds/Explode2.wav
   StanceOffset = Vector
      X = -12
      Y = -5
   StartThrowOffset = Vector
      X = -12
      Y = -5
   EndThrowOffset = Vector
      X = -12
      Y = -5
   TriggerDelay = 2500 //how long, in milliseconds
   ParticleNumberToAdd = 10// how many particles to gib upon the end of the delay
   AddParticles = MOSParticle //the kind of gib
      CopyOf = Side Thruster Blast Ball 1 //the gib
   ParticleNumberToAdd = 20
   AddParticles = MOPixel
      CopyOf = Grenade Fragment Gray
   ParticleNumberToAdd = 20
   AddParticles = MOPixel
      CopyOf = Grenade Fragment Yellow
   ParticleNumberToAdd = 30
   AddParticles = MOPixel
      CopyOf = Air Blast


Actor - There is an actor class that the game doesn't use that is pretty much just something with a health variable. I suppose it's useful for a few things.

AHuman - These are your robots, your clones, and your other things that walk around shooting stuff. Used for anything that walks around. It calls on many other attachable classes, such as the head, the arms, the hands, the feet, the legs, and others. All of the attachables are probably self-explanatory by now.

Code:
AddActor = AHuman
   InstanceName = Blue Clone
   Mass = 35 //affects how easily it is for the jetpack to lift it
   Position = Vector
      X = 520
      Y = 400
   HitsMOs = 1
   GetsHitByMOs = 1
   SpriteFile = ContentFile
      FilePath = Base.rte/Actors/Clones/Blue/PlayerBody.bmp
   FrameCount = 1
   SpriteOffset = Vector
      X = -6
      Y = -10
   EntryWound = AEmitter
      CopyOf = Wound Flesh Entry
   ExitWound = AEmitter
      CopyOf = Wound Flesh Exit
   GoldCost = 70
   AtomGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Flesh
      Resolution = 2
      Depth = 0
   DeepGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Flesh
      Resolution = 4
      Depth = 6
   DeepCheck = 1
   BodyHitSound = Sound
      CopyOf = Flesh Body Blunt Hit
   PainSound = Sound
      CopyOf = Human Pain
   DeathSound = Sound
      CopyOf = Human Death
   DeviceSwitchSound = Sound
      CopyOf = Device Switch
   Status = 0
   Health = 100 // how much health can be lost before it becomes static and the rest of the body parts gib.
   Team = 0
   AimAngle = 0
   AimDistance = 30
   CharHeight = 85 //affects where the health indicator is
   HolsterOffset = Vector
      X = -6
      Y = -4
   Head = Attachable
      CopyOf = Blue Clone Head
      ParentOffset = Vector
         X = -1
         Y = -9
   Jetpack = AEmitter
      CopyOf = Jetpack Nozzle //determines the emitter that begins emitting when you hit the jetpack key.
      ParentOffset = Vector
         X = -3
         Y = -3
   JumpTime = 4 // How long you can hold the jetpack button
   FGArm = Arm
      CopyOf = Blue Clone FG Arm
      ParentOffset = Vector
         X = -4
         Y = -6
   BGArm = Arm
      CopyOf = Blue Clone BG Arm
      ParentOffset = Vector
         X = 4
         Y = -7
   FGLeg = Leg
      CopyOf = Blue Clone Leg
      ParentOffset = Vector
         X = -1
         Y = 1
   BGLeg = Leg
      CopyOf = Blue Clone Leg
      ParentOffset = Vector
         X = 2
         Y = 1
   Hand = AtomGroup
      CopyOf = Hand
   FGFootGroup = AtomGroup
      CopyOf = Foot
   BGFootGroup = AtomGroup
      CopyOf = Foot
   IdleLimbPath = LimbPath
      InstanceName = Clone Idle Path
      StartOffset = Vector
         X = 3
         Y = 10
      StartSegCount = 0
      SlowTravelSpeed = 0.1
      NormalTravelSpeed = 0.5
      FastTravelSpeed = 1.5
      PushForce = 2000
   WalkLimbPath = LimbPath
      CopyOf = Clone Walk Path
   CrouchLimbPath = LimbPath
      CopyOf = Clone Crouch Path
   CrawlLimbPath = LimbPath
      CopyOf = Clone Crawl Path
   ClimbLimbPath = LimbPath
      CopyOf = Clone Climb Path
   JumpLimbPath = LimbPath
      CopyOf = Clone Jump Path
   DislodgeLimbPath = LimbPath
      CopyOf = Clone Dislodge Path
   AddGib = Gib
      GibParticle = MOPixel
         CopyOf = Drop Blood
      Count = 100
      Spread = 3.14
      MaxVelocity = 20
      MinVelocity = 8
   AddGib = Gib
      GibParticle = MOSParticle
         CopyOf = Meat Ball A
      Count = 17
      Spread = 3.14
      MaxVelocity = 15
      MinVelocity = 5
   AddGib = Gib
      GibParticle = MOSParticle
         CopyOf = Bone Shard A
      Count = 7
      Spread = 3.14
      MaxVelocity = 15
      MinVelocity = 5
   AddGib = Gib
      GibParticle = MOSParticle
         CopyOf = Metal Shard A
      Count = 5
      Spread = 3.14
      MaxVelocity = 15
      MinVelocity = 5
   AddGib = Gib
      GibParticle = MOSRotating
         CopyOf = Flesh Chunk 1
      Count = 1
      Spread = 3.14
      MaxVelocity = 10
      MinVelocity = 1
   AddGib = Gib
      GibParticle = MOSRotating
         CopyOf = Flesh Chunk 2
      Count = 1
      Spread = 3.14
      MaxVelocity = 10
      MinVelocity = 1
   AddGib = Gib
      GibParticle = MOSRotating
         CopyOf = Flesh Chunk 3
      Count = 1
      Spread = 3.14
      MaxVelocity = 10
      MinVelocity = 1
   GibImpulseLimit = 1800
   GibWoundLimit = 8


ACRocket - This is, of course, a rocket. Used for dumping cargo and the occasional rocket battle.

Code:
AddActor = ACRocket
   InstanceName = Rocket MK1
   Mass = 800
   Position = Vector
      X = 520
      Y = 20
   Velocity = Vector //how fast it's moving when it's spawned
      X = 0
      Y = -5
   HitsMOs = 1
   GetsHitByMOs = 1
   SpriteFile = ContentFile
      FilePath = Base.rte/Actors/Rockets/Body.bmp
   FrameCount = 6
   SpriteOffset = Vector
      X = -18
      Y = -63
   EntryWound = AEmitter
      CopyOf = Gas Leak
   ExitWound = AEmitter
      CopyOf = Gas Leak
   GoldCost = 50
   AtomGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Rocket engine metal
      Resolution = 3
      Depth = 0
   DeepGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Rocket engine metal
      Resolution = 20
      Depth = 4
   DeepCheck = 1
   BodyHitSound = Sound
      CopyOf = Metal Body Blunt Hit
   Status = 0
   Health = 100 //how much health
   ImpulseDamageThreshold = 5000 //how hard it hits things before it starts taking damage
   Team = 0
   AimAngle = 0
   AimDistance = 30
   CharHeight = 150 //how high up the heart icon is
   HolsterOffset = Vector
      X = -6
      Y = 14
   RLeg = Leg
      CopyOf = Rocket Leg
      ParentOffset = Vector
         X = 13
         Y = 26
   LLeg = Leg
      CopyOf = Rocket Leg
      ParentOffset = Vector
         X = -13
         Y = 26
   RFootGroup = AtomGroup
      CopyOf = Rocket Landing Gear Foot Right
   LFootGroup = AtomGroup
      CopyOf = Rocket Landing Gear Foot Right
   MThruster = AEmitter //the thruster used when hitting W
      CopyOf = Rocket Main Thruster
      ParentOffset = Vector
         X = 0
         Y = 36
   RThruster = AEmitter //hit D
      CopyOf = Rocket Side Thruster
      ParentOffset = Vector
         X = 10
         Y = -52
   LThruster = AEmitter //Hit A
      CopyOf = Rocket Side Thruster
      ParentOffset = Vector
         X = -11
         Y = -52
   URThruster = AEmitter //hit S
      CopyOf = Rocket Side Thruster
      ParentOffset = Vector
         X = 15
         Y = 16
   ULThruster = AEmitter //hit S
      CopyOf = Rocket Side Thruster
      ParentOffset = Vector
         X = -16
         Y = 16
   HatchDelay = 250 //how long between hitting eject and the actual ejection
   HatchOpenSound = Sound
      AddSample = ContentFile
         Path = Base.rte/Actors/Rockets/HatchOpen.wav
   AddExit = Exit
      Offset = Vector
         X = 20
         Y = -30
      Velocity = Vector
         X = 5
         Y = 0
   AddExit = Exit
      Offset = Vector
         X = -20
         Y = -30
      Velocity = Vector
         X = -5
         Y = 0
//   ExitInterval = 1000;
   RaisedGearLimbPath = LimbPath
      InstanceName = Rocket Gear Raised Path
      StartOffset = Vector
         X = 5
         Y = -13
      StartSegCount = 0
      SlowTravelSpeed = 0.25
      NormalTravelSpeed = 0.8
      FastTravelSpeed = 1
      PushForce = 20000
   LoweredGearLimbPath = LimbPath
      InstanceName = Rocket Gear Lowered Path
      StartOffset = Vector
         X = 5
         Y = 11
      StartSegCount = 0
      SlowTravelSpeed = 0.25
      NormalTravelSpeed = 0.8
      FastTravelSpeed = 1
      PushForce = 20000
   LoweringGearLimbPath = LimbPath
      InstanceName = Rocket Gear Lowering Path
      StartOffset = Vector
         X = 5
         Y = -10
      StartSegCount = 0
      AddSegment = Vector
         X = 30
         Y = 3
      AddSegment = Vector
         X = -2
         Y = 13
      AddSegment = Vector
         X = -10
         Y = 8
      SlowTravelSpeed = 0.25
      NormalTravelSpeed = 0.5
      FastTravelSpeed = 1
      PushForce = 20000
   RaisingGearLimbPath = LimbPath
      InstanceName = Rocket Gear Raising Path
      StartOffset = Vector
         X = 5
         Y = 8
      StartSegCount = 0
      AddSegment = Vector
         X = 11
         Y = -13
      AddSegment = Vector
         X = -11
         Y = -10
      SlowTravelSpeed = 0.25
      NormalTravelSpeed = 0.5
      FastTravelSpeed = 1
      PushForce = 20000
   CrashSound = Sound
      CopyOf = Metal Body Blunt Hit Large


AEmitter - These are the jetpacks, the rocket thrusters, the flesh wounds that drip blood, and other such things that fire out particles at a set rate until they hit their limit. Must be attached to another object to avoid lag, and so is used for thrusters and wounds, mostly. Don't make a round an emitter until someone figures out how to avoid the lag.

Code:
AddEffect = AEmitter
   InstanceName = Jetpack
   Mass = 0.0001
   HitsMOs = 0
   GetsHitByMOs = 0
   SpriteFile = ContentFile
      FilePath = Base.rte/Actors/Clones/Jetpack.bmp
   FrameCount = 1
   SpriteOffset = Vector
      X = -3
      Y = -12
   EntryWound = AEmitter
      CopyOf = Gas Leak
   ExitWound = AEmitter
      CopyOf = Gas Leak
   AtomGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Rocket engine metal
      Resolution = 2
      Depth = 5
   DeepGroup = AtomGroup
      AutoGenerate = 1
      Material = Material
         CopyOf = Rocket engine metal
      Resolution = 3
      Depth = 5
   DeepCheck = 0
   JointStrength = 10000
   JointStiffness = 1
   DrawAfterParent = 0
   AddEmission = Emission
      EmittedParticle = MOPixel
         CopyOf = Jetpack Blast 1
      Spread = 0.1
      MaxVelocity = 24
      MinVelocity = 12
   AddEmission = Emission
      EmittedParticle = MOPixel
         CopyOf = Jetpack Blast 2
      Spread = 0.15
      MaxVelocity = 24
      MinVelocity = 12
   EmissionSound = Sound
      AddSample = ContentFile
         FilePath = Base.rte/Actors/Rockets/Thruster.wav
      LoopSetting = -1 // Means loop infinitely until stopped
   BurstSound = Sound
      AddSample = ContentFile
         FilePath = Base.rte/Actors/Rockets/ThrusterStart.wav
   EndSound = Sound
      AddSample = ContentFile
         FilePath = Base.rte/Actors/Rockets/ThrusterEnd.wav
   EmissionEnabled = 1
   EmissionsIgnoreThis = 1 //Whether the emissions can hit the emitter/parent
   ParticlesPerMinute = 6000 //rate of emission
   BurstSize = 15
   BurstScale = 1
   BurstTriggered = 1
   EmissionDamage = 0 //how much damage each emission does to the parent
   Flash = Attachable
      CopyOf = Muzzle Flash Pistol
   FlashOnlyOnBurst = 0



V. Helpful Links

Unofficial FAQ

Alenth's modding guide and guidelines


VI. Misc.

If I missed anything at all, or got something wrong, or needed confirmation on something, or anything of that sort, feel free to post and I'll update the appendix. I'll probably add in the dropship soon. That thing is wierd.

[/long post]


Last edited by Fearful_Ferret on Mon Jan 22, 2007 1:53 am, edited 7 times in total.



Mon Dec 25, 2006 8:24 pm
Profile
User avatar

Joined: Mon Dec 25, 2006 5:11 am
Posts: 103
Location: CA
Post 
Fearful_Ferret wrote:
Appendix released! Please tell me anything I missed or anything that should be added or w/e.

Hopefully, this will increase the average intelligence of the forums slightly. Maybe. At least it'll serve as a handy reference.


Hey thanks for putting this together, and particularly for keeping the tone of the information at a professional level :) Good work!

EDIT: hmm I think Alenth has a lot of what I detailed below already in his post. You guys need to combine your two guidelines :P

Some notes:

Entry and Exitwound emitters are kinda neat, Entrywound emitter is for when something manages to penetrate the material of the actor i.e. enters and stops. Exitwound emitter is for when something manages to pass through the actor completely i.e. enter AND exit the actor.

TDExplosives, just wanted to put in a clarification regarding gibbing. After the triggerdelay has elapsed, the object doesn't actually gib (in terms of the code), but releases particles that you define. Similar to this is the actual gibbing code, which is what a lot of the impact explosives take advantage. The gib code is invoked when the TDExplosive suffers enough damage and releases particles specifically defined as gibs. The practical effect of this difference is that you can have a TDExplosive that will release green particles particles if the triggerdelay passes, and blue particles if it hits something. I'm gonna use it so that my tdexplosive based weapons don't hit my actors in the back of the head all the time :lol: I love TDExplosives. MOPixels are so passe...


Sat Jan 13, 2007 1:20 am
Profile WWW

Joined: Sun Sep 24, 2006 4:01 am
Posts: 641
Location: um.......yeah..
Post 
yea....i dont think there is a fix for that...just load the index.ini through base.rte's


Mon Mar 05, 2007 6:55 am
Profile WWW
REAL AMERICAN HERO
User avatar

Joined: Sat Jan 27, 2007 10:25 pm
Posts: 5655
Post 
Whomg.

Well.

To fire two different bullets, just make the tracer bullet type 2.

So, instead of
Code:
RegularRound = Round
      CopyOf = Round Flak
RegularRound = Round
      CopyOf = Round Flak Short
   TracerRound = None


Put
Code:
RegularRound = Round
      CopyOf = Round Flak
TracerRound = Round
      CopyOf = Round Flak Short


I don't believe the muzzle flash can be a direct emitter, but, I could be wrong. In fact, I usually am.

Answer 2.

How thick is the shield? 1-2 pixels, and the game can have trouble detecting it. Try making it thicker, see that happens.

Answer 3:

Probably a combination of both. Too heavy, and it'll drag the actor down faster, too big, and it can hit dropship doors, etc on the way out.

Answer 4:

Not a clue. Does it have the same instancenames?


Tue Mar 20, 2007 8:32 pm
Profile
User avatar

Joined: Tue Mar 20, 2007 6:57 pm
Posts: 34
Location: Dan's old Country :)
Post 
I'm sorry, but it doesn't seem like the tracer can do any harm really :/ . I've been fiddling around with the round a while and the tracer just doesn't have any effect.

As for the muzzle thingy, it is possible to make a muzzle into an emitter, the only problem is that there's nothing to determine the amount of pixels every second, creating a O_o heavy recoil. For visual purpouse I replaced the muzzle with a jet flame, but it doesn't effect characters.

And the gun is 10px wide at the thinest place. the strange thing here is that the guy usually is hurt when a shot hits the muzzle of the gun. Got no idea why that happens, since the wound is so randomly placed. :???: . With the barret problem, yes I've re-checked everything again. Usually it works fine, but after I've cycled through the inventory a couple of times the game shuts when I get to the barret. That's the thing that puzzles me the most, that it usuallt works. Maybe it happens when the gun interracts with something. :-( .

Anyway, thanks for the reply. I'm gonna keep fiddling around some other day, when I have more time...


Tue Mar 20, 2007 9:36 pm
Profile
REAL AMERICAN HERO
User avatar

Joined: Sat Jan 27, 2007 10:25 pm
Posts: 5655
Post 
Quote:
I'm sorry, but it doesn't seem like the tracer can do any harm really :/ . I've been fiddling around with the round a while and the tracer just doesn't have any effect.


Is it an independent round, or a "CopyOf" thing?
And, no offense taken, I'm not at all the best one at this.

Quote:
As for the muzzle thingy, it is possible to make a muzzle into an emitter, the only problem is that there's nothing to determine the amount of pixels every second, creating a O_o heavy recoil. For visual purpouse I replaced the muzzle with a jet flame, but it doesn't effect characters.


Oh, yeah. I suppose you could also make an Attachable that's an MOSParticle/Rotating.

Quote:
And the gun is 10px wide at the thinest place. the strange thing here is that the guy usually is hurt when a shot hits the muzzle of the gun. Got no idea why that happens, since the wound is so randomly placed. :???: .


No idea, then. Can't help, though I might be able to do something if you upload the mod.

Quote:
With the barret problem, yes I've re-checked everything again. Usually it works fine, but after I've cycled through the inventory a couple of times the game shuts when I get to the barret. That's the thing that puzzles me the most, that it usuallt works. Maybe it happens when the gun interracts with something. :-( .


It could be the game. I mean, the game's in a fairly early beta stage, it's still entirely possible there are glitches in the game.

Quote:
Anyway, thanks for the reply. I'm gonna keep fiddling around some other day, when I have more time...


Your welcome, and, I hope you do. You seem a large bit more intelligent than most of the new members we get here, and, I hope you release a couple mods.


Tue Mar 20, 2007 9:42 pm
Profile
User avatar

Joined: Tue Mar 20, 2007 6:57 pm
Posts: 34
Location: Dan's old Country :)
Post 
Ok I'll attach the entire weapon here. Also I found that the Flak has the same problem as the Barret Gun, but I still don't have a clue why it happens (probably what you said). However I don't have a mods.rte map, I simply put everything in the ordinary cevices.ini (very unproffessional I know, but I'll fix that some other day) so you have to manually copy the data from every file into your own system. However I've tried to make it as easy as possible by putting every piece of data in a file that says where it's supposed to be put.

Allright, I'll try to respond to your post anyway.

1 The current code's
Code:
RegularRound = Round
      CopyOf = Round Flak
   TracerRound = Round
      CopyOf = Round Flak Short

So it is a CopyOf thing, but from a different bullet than the regularround.

2 After some experimenting, I've realised that I can't make the muzzle into a working Emitter. Mostly because it only lasts as long as the flash's used to last. But how do you make the flash into an MOSRotating? There's nothing in the muzzle to determine the speed of the particle, so it'll only stay still in the air for one frame before it vanishes again. Or anyway that's my experience. Again I'd be really gratefull if you knew how to do it. :)

And thanks for the last comment, I'll hope I'll stick around for some time (and manage to make that avatar to work...) :)
Also the gun's still not extremely elaborate since It's my second mod that hasn't only been edits in the properties section.


Thu Mar 22, 2007 8:33 pm
Profile
User avatar

Joined: Mon Dec 25, 2006 5:11 am
Posts: 103
Location: CA
Post 
JeCa wrote:
I'm sorry, but it doesn't seem like the tracer can do any harm really :/ . I've been fiddling around with the round a while and the tracer just doesn't have any effect.


You need to make sure that your RTT Ratio (I believe that's the variable) is higher than 0 of you are going to use tracers. The ratio determines how many regular rounds are fired before you fire a tracer. You can fire pretty much anything i.e. you could fire Green Clones as a regular round and fire Blue Clones as a tracer round.

RegularRound = Round (you are indicating to the program you want to use a 'Round' object i.e. the object you defined using AddAmmo)

CopyOf = Round Flak (you are indicating to the program that you wish to use a copy of an object that you've previously defined i.e. the AddAmmo Round object you've named 'Round Flak')

So define your bullets using AddAmmo, use CopyOf to reference the objects. There is no mystery to the CopyOf command.

Hope that helps.

Posted after 2 minutes 22 seconds:

oh yeah, jointstrength in the HDFirearm will determine how tightly an actor will hold a gun. The difference between pistol and flak cannon you are seeing is the fact that there is a greater chance that the flak cannon (owing to its larger size) may be hit by something i.e. downthrust of dropship. and knocking the weapon from the actor's grasp.


Fri Mar 23, 2007 12:01 am
Profile WWW
User avatar

Joined: Tue Mar 20, 2007 6:57 pm
Posts: 34
Location: Dan's old Country :)
Post 
O thanks, that _did_ help.Image Yea, I knew how the CopyOf system worked (otherwise I wouldn't have found the magazine), but I had no idea whatsoever what RTT meant or what it did. Works perfectly now.Image
Still I'm wondering, is it possible to make more it fire more kinds of bullets, like adding a second tracer or something?Image

EDIT: Hmmmm, doesn't seem like those smileys worked as well as I had hoped... Guess I'll stick to the forum ones...


Fri Mar 23, 2007 2:57 pm
Profile

Joined: Sun Sep 24, 2006 4:01 am
Posts: 641
Location: um.......yeah..
Post 
yea ive wondered about shooting two rounds, but i dont know how to do it


Fri Mar 23, 2007 8:50 pm
Profile WWW

Joined: Sun Apr 01, 2007 8:45 pm
Posts: 1
Post 
I could use a bit of help, being the CC noob I am :-(
Quote:
Abortion in file .\system\reader.ccp, line 453, because:
Failed to open included data file in Base.rte/Index.ini at line 2!
The last frame has been dumped to abortscreen.bmp


This is after I 'installed' a few mods from here.
But I don't exactly know if I did it right. I put new weapons in 'devices' and new clones and craft in 'actors.' All I did, there's nothing else. So was there something else I was supposed to do?


Sun Apr 01, 2007 9:08 pm
Profile WWW
User avatar

Joined: Sat Nov 18, 2006 4:30 pm
Posts: 8
Post 
I have a question, is there a way to change the amount of gold you start with? Not exactly relating to the thread in general, just wondering. Anyway, I have no Corp. and not really into modding, but I will give this a shot. Make a high friction bullet mod maybe... Thanks for the guide :D


Thu Apr 05, 2007 6:51 pm
Profile WWW
User avatar

Joined: Tue Dec 05, 2006 3:36 pm
Posts: 676
Post 
You can't start with more. You can make it so that something costs negative gold, but you cannot change the starting amount.


Fri Apr 06, 2007 12:03 am
Profile
Display posts from previous:  Sort by  
This topic is locked, you cannot edit posts or make further replies.   [ 31 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.
[ Time : 0.176s | 13 Queries | GZIP : Off ]