( search forums )
.ini changes for better modding
Soldat Forums - Soldat Talk - Soldat Improvements Discussion
April 13, 2006, 3:44 pm
I would like the .ini files to be more comprehensive and have more options. This would not help the default Soldat, but would help out modders a LOT, and probably make it easier for Michael to edit the game. Here are my suggestions.

1: Two seperate INI files; one called "default" and one called "realistic". The "default" one would be the one normally used, and the "realistic" one would be used in realistic mode, but include information on recoil for each gun.

3: Have one large interface file. You should be able to change the positions of menus and change the layout each menu itself. This could be simply done by corresponding a "button" (activates when clicked) with an "action"; like "choose weapon #2". Also, allow people to place images that are either drawn or not drawn if a certain variable is met (for instance, the "no red flag" image would show if red_flag_stolen is true); and limit the values to true or false.

2: Each weapons INI file includes the numbers of guns in the mod. I would like there to be up to 20 main weapons and 20 "side arms". Obviously, only a dedicated modder would even think of including twenty weapons. You could display all these weapons with the method in #2; if you tried to use an INI that had more weapons than an interface is coded for, they simply can't be selected.

3: In weapons INI files, there is a seperate section between "launchers", "projectiles", and "warheads". This system is used by a lot of games, because it has a lot of flexibility. For instance, for a shotgun, the launcher launches X amount of "pellet" projectiles with a certain spread at a certain speed. Now, each "pellet" projectile has gravity and air friction, and says that it is a bullet (does damage on contact) and if it can go through a person or not. Then, each "pellet" has a "pellet_warhead" that designates the damage done to the player, and what effects happen when it collides (it doesn't explode, and makes blood).

4: Custom POAs for each gun. These should include POAs for: reloading, melee attacking, and warming up.

5: Every "launcher" also has options like "scope" which tells if the gun has a working sniper scope, "laser" which tells if the gun can use the sniper line, "melee" which tells if the gun can be used with the corresponding melle poa, "meleedamage" which tells how much melee damage it does, and "melee range" which tells the range where a melee attack will be attempted.

6: Pick-ups also occupy their own section. In each entry, there are a bunch of variables. One could be "gun given" (what gun gets picked up) or "invincibility time" or "extra damage time" or "invisibility time" or "grenade type given" and "amount of grenades" or "armor given" or "health given", and more if people can think of them.

7: Special weapons/objects that are pre-placed on the field also get their own section. This would include the Rambo Bow and Stationary Gun. Options could include "aura" (gets a flag aura), "pickup" which dictates that you put the object in your current slot or use it like a stationary gun, "pickupsecondary" which dictates the secondary weapon you get that is defined in the regular INI, and "launcher" variables that are used when you fire the gun.

Deleted User
April 13, 2006, 5:30 pm
How would the weapon differentiate between melee and normal attack?

April 14, 2006, 12:15 am
Well normal uses the launcher system with the projectiles and warheads. Melee just happens when the enemy character is within the "MeleeRange" and applies the "MeleeDamage" to them, and plays the melee POA for the gun you have out. But if "MeleeRange" is 0 or less you wont melee with the gun. The unarmed mode would probably be the first entry, and act like all the other "launchers", except for the fact that you can't discard it. Oh, I forgot a "Discard" variable which tells what projectile you throw if you discard the weapon, and a "DiscardSpeed". Maybe I will make a mock-up demonstrating how all this works.