Moding Hercs Part 1 Getting *.cs file Well here’s where I started scripting, on hercs that is. It looked difficult at first but it is really an easy task. In this section I am going to explain how to modify a herc. It is pretty much self-explanatory. First you will need to extract a *.cs file from the scripts.vol in your Starsiege directory. To do this you will need to open a dos window and use the extract.exe provided with version 1.003 of Starsiege. Now lets use the Emancipator for example. You will need to type into the dos prompt “extract scripts.vol datHerc_rb_eman.cs”. Now in your Starsiege directory there should be a file called “datHerc_rb_eman.cs”. Any text editor will open it up. This is what you should see. ###################################################################### # datHerc_rb_eman.cs # Rebel Emancipator # ###################################################################### # Identity_Tag Abbreviation Shape Mass MaxMass RCS Tech_Level Combat_Value hercBase( IDVEH_RB_EMAN,"EMAN", "rb_eman.dts", 10.0 , 40 , 0.85 , 1 , 1730); # maxPosAcc minPosVel maxForPosVel maxRevPosVel (all_m/s) hercPos( 13.10 , 3.00 , 35.30 , -20.00); # minRotVel maxRVSlow maxRVFast (all_deg/s) hercRot( 6.00 , 80.00 , 45.00); # toStandVel toRunVel toFastRunVel toFastTurnVel(deg/s) hercAnim( 4.0, 13.0, 18.0, 36); # offsetX offsetY offsetZ hercCpit( 0.0, 0.6, 0.2); # sphOffstX sphOffstY sphOffstZ sphereRad hercColl( 0.0, 0.0, 3.9, 4); # fireBayesNetName hercAI( "hercFire.ai", "targetPart.ai","hercManeuver.ai","hercRetreat.ai" ); # Special Footprint type hercFootprint( IDBMP_TR_FOOTPRINT_3 ); # Hard Points # (sizes:SMLX sides:TBLR) Dmg Offset_fm_Node X_rot_rnge Z_rot_rnge # id size side Prnt X___ Y___ Z___ min__ max_ min__ max__ newHardPoint( 0, X, T, Head, 0.0, 0.01, 2.2, -25.0, 60.0, -60.0, 60); newHardPoint( 1, M, B, Head, 0.0, 1.7, -1.65, -45.0, 35.0, -60.0, 60); # id size Dmg_Parent Allowed_Mountables newMountPoint( 0, M, Head, Engine); newMountPoint( 1, L, Head, Reactor); newMountPoint( 2, S, Head, Computer); newMountPoint( 3, M, RightPod, Shield); newMountPoint( 4, M, none, Armor); newMountPoint( 5, M, LeftPod, Sensors ); newMountPoint( 6, M, LeftPod, ECM, ThermalDiffuser, LaserTargeting, NanoRepair, Battery, Cloak,FieldStabilizer, ammoPack, LifeSupport, ShieldModulator, ShieldCapacitor,ShieldAmplifier,Capacitor, AgravGenerator, TurbineBoost, RocketBooster); newMountPoint( 7, L, RightPod, ECM, ThermalDiffuser, LaserTargeting, NanoRepair, Battery, Cloak,FieldStabilizer, ammoPack, LifeSupport, ShieldModulator, ShieldCapacitor,ShieldAmplifier,Capacitor, AgravGenerator, TurbineBoost, RocketBooster); # Internal Components # id type parent max_dmg identity_tag newComponent( Armor, Armor, none, 7500 ,IDCOM_ARMOR ); newComponent( LeftServos, LeftServos, none, 300 ,IDCOM_LEFT_LEG_SERVOS ); newComponent( RightServos, RightServos, none, 300 ,IDCOM_RIGHT_LEG_SERVOS); # External Components # id type parent max_dmg identity_tag total internals 4500 newComponent( Head, Head, none, 810 ,IDCOM_HEAD ); # 0.18 newComponent( LeftLeg, LeftLeg, Head, 540 ,IDCOM_LEFT_LEG ); # 0.12 newComponent( RightLeg, RightLeg, Head, 540 ,IDCOM_RIGHT_LEG ); # 0.12 newComponent( LeftCalf, LeftCalf, LeftLeg, 495 ,IDCOM_LEFT_CALF ); # 0.11 newComponent( RightCalf, RightCalf, RightLeg, 495 ,IDCOM_RIGHT_CALF ); # 0.11 newComponent( LeftFoot, LeftFoot, LeftCalf, 315 ,IDCOM_LEFT_FOOT ); # 0.07 newComponent( RightFoot, RightFoot, RightCalf, 315 ,IDCOM_RIGHT_FOOT ); # 0.07 newComponent( LeftPod, LeftPod, Head, 495 ,IDCOM_LEFT_POD ); # 0.11 newComponent( RightPod, RightPod, Head, 495 ,IDCOM_RIGHT_POD ); # 0.11 newComponent( Pilot, Pilot, none, 300 ,IDCOM_PILOT ); # (totals) 4500 1.00 # Distribution of internal components among external components # containee container percent/100 newConfiguration( Armor, LeftFoot, 0.05); # 375 385 newConfiguration( Armor, RightFoot, 0.05); # 375 385 newConfiguration( Armor, LeftCalf, 0.08); # 600 605 newConfiguration( Armor, RightCalf, 0.08); # 600 605 newConfiguration( Armor, LeftLeg, 0.09); # 675 660 newConfiguration( Armor, RightLeg, 0.09); # 675 660 newConfiguration( Armor, LeftPod, 0.10); # 750 605 newConfiguration( Armor, RightPod, 0.10); # 750 605 newConfiguration( Armor, Head, 0.36); # 2700 990 # ----- # 1.00 newConfiguration( LeftServos, LeftFoot, 0.3); newConfiguration( LeftServos, LeftCalf, 0.35); newConfiguration( LeftServos, LeftLeg, 0.35); newConfiguration( RightServos, RightFoot, 0.3); newConfiguration( RightServos, RightCalf, 0.35); newConfiguration( RightServos, RightLeg, 0.35); defaultWeapons( 107, 107); defaultMountables( 105, 204, 801, 306, 927, 412, 840, 830); ######################################################################## Sorry about it being so small but for easy reading purposes it had to be. If this is what you see then you did that part of the guide right. If not try it again and check to see if you did everything right. Part 2 Editing *.cs file Now is the fun part. It takes time testing a mod so be patient and don’t get frustrated. First is the herc base line. Now we will start with the name. This is its name in the gameObject.vol file and the name the game uses to build the vehicle. We are just editing the Emancipator though so we won’t worry about this now. Next is the shape. This is just the shape of the object in the game. So you could have an Emancipator that looks like a Minotaur. It would still have the Emancipators attributes though. The mass is how much the herc weighs naked, without any weapons, shields, radar, etc. Max mass is how much the herc is allowed to weigh. Tech level is pretty self-explanitory, what level of technology it is. Thanks to (schmeltz@k-online.com) I now know what the RCS number is. It's the number that tells the cross sectional area of radar detection. The higher the easier you can be detected. The lower the harder it is to detect you. The combat value is what you think your herc you are making should be rated in combat. The next line is the herc position line. This is used to control speed. The maxPosAcc is how fast you can speed up if you have the pedal to the metal. The next is the minPosVel. This controls how fast you speed up if the trottle is up one click. The maxForPosVel is how fast you can go forward. The maxRevPosVel is how fast you can go backwards. Here is a word to the wise though. If these are too fast you will jump off hills and become airborne. Sometimes you don’t come down though so don’t go too fast. The next line hercRot controls the turret on the herc. Things like how fast you can turn and other stuff. MinRotVel controls how slow you can rotate. I am not sure what MaxRVSlow controls. MaxRVFast controls how fast it can go. The next line controls how fast the herc actions are animated this is pretty much self explanatory so I am going to skip this. Now we will talk about the cockpit position. This can be very important sometimes. There are three axis. The x, y, and z. Just type in new numbers to place the position of the cockpit. Next is another line I do not know about, the hercColl. The herc AI are what control the herc when the computer is piloting it. The footprint is pretty much what it says, the footprint that the Herc leaves behind when walking. Now we will talk about hard points. These are where the weapons go. As of right now you can only have six until someone can fix this problem. On the Emancipator though we only have two. ID is the id # if the hard point. Size is the size of the hard point. Small, Medium, Large, and Extra Large are your choices. Certain weapons are certain sizes. Next is the side the hard point is on. Left, Right, Top, and Bottom are the choices. Next is the damage parent. This is what takes the damage when it gets hit, and if this part is destroyed, so is the weapon on it. Now is the offset of the weapon on the vehicle. This is for looks so put in a value and try it out. The next thing is the rotation range. This is important so that you can’t shoot yourself, unless you really want to. That does it for hard points. The next topic is mount points. These hold things like computers, shields, radar, etc. These are pretty much like hard points except that they are special items instead of weapons and you can control what is inside of them. The only thing I need to explain is the allowed mountables. This controls what can be mounted in these places. You need a computer, engine, and reactor at least for your vehicle to run. The components are things like the legs, body, and armor. The external id is what it looks like. The component is what it is. The parent is what it leads off of. So if the parent gets destroyed so does it. Max Damage is how much abuse it can take. Identity tag is what it is to the computer. I do not know what the total internals is all about. The Configuration is how the armor is put on. The container is where it is. The percent of internals is how much room it takes up, I think. I am not sure what the distribution is. The default weapons and mountables are what are originally on the herc, you can change these numbers to change the default weapons. This covers editing the *.cs file. Hope this helps out a lot. Part 3 Making an fvh file. If you are making your own vehicle you will need to use this to make an fvh file. The Emancipator you edited already has one. Now you need to create a veh file or fvh file. To do this the only way I know of is to use the version 1.002 editor. To do this you have to type in "console::enable(true);" into the autoexec.cs file in your scripts folder. I repeat you must have version 1.002 to have this work. Then you need to start up the game. Go to multiplayer and create a game in ipx mode while you are offline. Now switch to windowed mode by pressing alt-enter at the same time. Now after you are in the waiting room press the " ~ " key to enable the console. Now type in in the console "me();" a window sould pop up. This is the map editor. Now add a vehicle you want a fvh file for to the map. If your vehicle is not in the objects menu go to part 4 then come back. Go to save macros. Save it as whatever you want in your vehicle directory. Now go to this directory. You can now see a file called *.mac. You now need to rename this to *.fvh or *.veh. If you use the fvh it will be in your default vehicle directory in the depot. If you use the other, veh, it will be in your custom vehicle directory. This should at least bring it up in the vehicle depot you still might not be able to play it. To play it in a multiplayer mission you must enable it to be used in the cs file of that mission. If you have any problems, e-mail me at BoeschJ@juno.com. Part 4 Adding an Object to the Editor Window If you can not find your vehicle in the object menu do this. Extract the registerObjects.cs file. Now add your vehicle to this file under the appropriate setting. You must also edit the defaultvehicles.cs file. This is in the multiplayer folder. You must make your vehicle allowed to be played if you want to use it in a multiplayer game. This process is learned easier by changing and testing than by reading so now that you know how to script a little better have at it. If you have any questions at all or can add to my knowledge e-mail me at BoeschJ@Juno.com or if it is a file e-mail me at boeschj@yahoo.com.