Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

** Tutorial ** - Adding new ships and Infocards as DLL * Co

Here you find the different tutorials on editing and MODing Freelancer

Post Sat May 17, 2003 11:44 pm

Tutorial is down as of May 15th, 2003...

Can anyone contact Zen and get this sucker back online?!

Post Mon May 19, 2003 12:57 am

I wouldn't know how to contact Zen (whom I don't know) but I might be of some minor help as I saved the contents of his tutorial into a Wordpad file.

Of course the links to his download section won't work, so don't get exited. But at least the text of the tutorial can be read.

I'll (try to) post it in the next message.



"We are a way of the Cosmos to know itself"

-- Carl Sagan

Post Mon May 19, 2003 1:04 am

This is the contents of a wordpad doc to which I copied-and-pasted the text of Zen Eryu's tutorial "Adding new ships and Infocards as DLL ".

DISCLAIMER: I haven't really studied this tutorial so I can't say anything about its contents. I am also not responsible for any errors that might have gotten into it. This post just serves as a temporary resource until Zen's site is up again.

=-=-=-=-=-=-=

Tutorial - Adding new ships - Complete

[DO NOT REPLY IN THIS THREAD - QUESTIONS TO BE ASKED IN A NEW THREAD PLEASE!!!!

This tutorial is designed for those who have never added anything into the game. Therefore its about as newbie friendly as i can make it, you gotta learn too

:: Last updated 2nd April 2003 ::


Programs you WILL need (From File Database) :
[ Freelancer DB files here <http://www.duwx.com/portal/filedb/pafiledb.php?action=category&id=2>
Wordpad
(NOT NOTEPAD - too many people make this mistake and **** everything up wordpad handles unicode notepad doesnt!!!

Files you will need to edit :
(And back these up - somewhere safe ... no not in the microwave :p)
\DATA\SHIPS\shiparch.ini
\DATA\EQUIPMENT\goods.ini
\DATA\EQUIPMENT\engine_equip.ini
\DATA\EQUIPMENT\market_ships.ini
\EXE\freelancer.ini
\EXE\nameresource.dll
\EXE\infocards.dll

When you have a backup of these files its time to begin .....




Finding your ship

Step 1 - Finding your ship :

Open Shiparch.ini in BiniQDU and go to this page Here <http://www.lancersreactor.com/t/forum/topic.asp?topic_id=10201&forum_id=18&Topic_Title=%2A%2A%2A+IDS%5FNAMES+%2A%2A%2A+to+Friendly+Names&forum_title=Freelancer+Editing+Forum&cat_title=&M=False> Look up the name of your ship and copy the 6 digit number (IDS_NAME) and search for this in Bini.

For my example i will be using the ship 237041 "Anubis".

when you have found the ship you will see a long section of code like this :


code:


[Ship
ids_name = 237041
ids_info = 66581
ids_info1 = 66582
ids_info2 = 66608
ids_info3 = 66583
ship_class = 1
nickname = or_elite
LODranges = 0, 75, 150, 1000
msg_id_prefix = gcs_refer_shiparch_Ordhf
mission_property = can_use_berths
type = FIGHTER
DA_archetype = ships\order\or_elite\or_elite.cmp
material_library = Ships\order\or_ships.mat
material_library = fx\envmapbasic.mat
envmap_material = envmapbasic
cockpit = cockpits\liberty\or_elite.ini
pilot_mesh = generic_pilot
nanobot_limit = 29
shield_battery_limit = 29
mass = 150.000000
hold_size = 70
linear_drag = 1.000000
fuse = intermed_damage_smallship01, 0.000000, 1050
fuse = intermed_damage_smallship02, 0.000000, 525
fuse = intermed_damage_smallship03, 0.000000, 350
max_bank_angle = 30
camera_offset = 12, 46
camera_angular_acceleration = 0.050000
camera_horizontal_turn_angle = 17
camera_vertical_turn_up_angle = 5
camera_vertical_turn_down_angle = 25
camera_turn_look_ahead_slerp_amount = 1.000000
hit_pts = 4200
explosion_arch = explosion_li_elite
surface_hit_effects = 0, small_hull_hit_light01, small_hull_hit_light02, small_hull_hit_light03
surface_hit_effects = 150, small_hull_hit_medium01, small_hull_hit_medium02, small_hull_hit_medium03
surface_hit_effects = 300, small_hull_hit_heavy01, small_hull_hit_heavy02, small_hull_hit_heavy03
steering_torque = 43000.000000, 43000.000000, 230000.000000
angular_drag = 41000.000000, 41000.000000, 141000.000000
rotation_inertia = 8400.000000, 8400.000000, 8400.000000
nudge_force = 30000.000000
strafe_force = 20000
strafe_power_usage = 2
bay_door_anim = Sc_open baydoor
bay_doors_open_snd = cargo_doors_open
bay_doors_close_snd = cargo_doors_close
HP_bay_surface = HpBayDoor01
HP_bay_external = HpBayDoor02
HP_tractor_source = HpTractor_Source
num_exhaust_nozzles = 3
shield_link = or_elite_shield01, HpMount, HpShield01
hp_type = hp_gun_special_6, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_5, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_4, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_3, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_2, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_1, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_elite_shield_special_6, HpShield01
hp_type = hp_elite_shield_special_5, HpShield01
hp_type = hp_elite_shield_special_4, HpShield01
hp_type = hp_elite_shield_special_3, HpShield01
hp_type = hp_elite_shield_special_2, HpShield01
hp_type = hp_elite_shield_special_1, HpShield01
hp_type = hp_thruster, HpThruster01
hp_type = hp_mine_dropper, HpMine01
hp_type = hp_countermeasure_dropper, HpCM01
hp_type = hp_turret_special_6, HpTurret01
hp_type = hp_turret_special_5, HpTurret01
hp_type = hp_turret_special_4, HpTurret01
hp_type = hp_turret_special_3, HpTurret01
hp_type = hp_turret_special_2, HpTurret01
hp_type = hp_turret_special_1, HpTurret01
hp_type = hp_torpedo_special_1, HpTorpedo01
hp_type = hp_torpedo_special_2, HpTorpedo01

[CollisionGroup
obj = Or_star_wing_lod1
separable = parent_impulse = 240.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpStarboardwing
dmg_obj = or_elite_dmg_star_wing_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Starboard_Wing
hit_pts = 1050
root_health_proxy = true

[CollisionGroup
obj = Or_port_wing_lod1
separable = parent_impulse = 240.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpPortwing
dmg_obj = or_elite_dmg_port_wing_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Port_Wing
hit_pts = 1050
root_health_proxy = true

[Simple
nickname = or_elite_dmg_star_wing_cap
DA_archetype = ships\order\or_elite\or_elite_dmg_starboardwing.3db
material_library = Ships\order\or_ships.mat
mass = 5.000000
LODranges = 0, 100, 1000

[Simple
nickname = or_elite_dmg_port_wing_cap
DA_archetype = ships\order\or_elite\or_elite_dmg_portwing.3db
material_library = Ships\order\or_ships.mat
mass = 5.000000
LODranges = 0, 100, 1000



Copy this into wordpad.



Editing ship :

Next up is the editing of the ship, there are a few thins you will probably want to edit with your ship.

Below are some typical vaules you may wanna edit :
nickname = new_ship (your a nickname for your ship no spaces)
nanobot_limit = 50
shield_battery_limit = 50
mass = 100.000000
hold_size = 500
hit_pts = 20000

or you can use my pre edited version here, now this has been modified to fly like the startracker and i have used the following lines from the startracker if you want to edit the following lines with that of a ship you liek the "Feel" of in flight.

code:


max_bank_angle = 40
camera_offset = 12, 46
camera_angular_acceleration = 0.050000
camera_horizontal_turn_angle = 20
camera_vertical_turn_up_angle = 5
camera_vertical_turn_down_angle = 30



The orignal code for the Anubis is above (up one post) copy that over the above code if you want the orignal in flight feel or from another ship(use fighter class ships only for good response).

code:


[Ship
ids_name = 499185
ids_info = 66581
ids_info1 = 66582
ids_info2 = 66608
ids_info3 = 66583
ship_class = 1
nickname = ra_elite
LODranges = 0, 75, 150, 1000
msg_id_prefix = gcs_refer_shiparch_Ordhf
mission_property = can_use_berths
type = FIGHTER
DA_archetype = ships\order\or_elite\or_elite.cmp
material_library = Ships\order\or_ships.mat
material_library = fx\envmapbasic.mat
envmap_material = envmapbasic
cockpit = cockpits\liberty\or_elite.ini
pilot_mesh = generic_pilot
nanobot_limit = 50
shield_battery_limit = 50
mass = 100.000000
hold_size = 500
linear_drag = 1.000000
fuse = intermed_damage_smallship01, 0.000000, 1050
fuse = intermed_damage_smallship02, 0.000000, 525
fuse = intermed_damage_smallship03, 0.000000, 350
max_bank_angle = 40
camera_offset = 12, 46
camera_angular_acceleration = 0.050000
camera_horizontal_turn_angle = 20
camera_vertical_turn_up_angle = 5
camera_vertical_turn_down_angle = 30
camera_turn_look_ahead_slerp_amount = 1.000000
hit_pts = 20000
explosion_arch = explosion_li_elite
surface_hit_effects = 0, small_hull_hit_light01, small_hull_hit_light02, small_hull_hit_light03
surface_hit_effects = 150, small_hull_hit_medium01, small_hull_hit_medium02, small_hull_hit_medium03
surface_hit_effects = 300, small_hull_hit_heavy01, small_hull_hit_heavy02, small_hull_hit_heavy03
steering_torque = 25000.000000, 25000.000000, 58000.000000
angular_drag = 15000.000000, 15000.000000, 35000.000000
rotation_inertia = 3800.000000, 3800.000000, 1000.000000
nudge_force = 30000.000000
strafe_force = 20000
strafe_power_usage = 2
bay_door_anim = Sc_open baydoor
bay_doors_open_snd = cargo_doors_open
bay_doors_close_snd = cargo_doors_close
HP_bay_surface = HpBayDoor01
HP_bay_external = HpBayDoor02
HP_tractor_source = HpTractor_Source
num_exhaust_nozzles = 3
shield_link = or_elite_shield01, HpMount, HpShield01
hp_type = hp_gun_special_6, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_5, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_4, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_3, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_2, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_gun_special_1, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04, HpWeapon05, HpWeapon06
hp_type = hp_elite_shield_special_6, HpShield01
hp_type = hp_elite_shield_special_5, HpShield01
hp_type = hp_elite_shield_special_4, HpShield01
hp_type = hp_elite_shield_special_3, HpShield01
hp_type = hp_elite_shield_special_2, HpShield01
hp_type = hp_elite_shield_special_1, HpShield01
hp_type = hp_thruster, HpThruster01
hp_type = hp_mine_dropper, HpMine01
hp_type = hp_countermeasure_dropper, HpCM01
hp_type = hp_turret_special_6, HpTurret01
hp_type = hp_turret_special_5, HpTurret01
hp_type = hp_turret_special_4, HpTurret01
hp_type = hp_turret_special_3, HpTurret01
hp_type = hp_turret_special_2, HpTurret01
hp_type = hp_turret_special_1, HpTurret01
hp_type = hp_torpedo_special_1, HpTorpedo01
hp_type = hp_torpedo_special_2, HpTorpedo01

[CollisionGroup
obj = Or_star_wing_lod1
separable = parent_impulse = 240.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpStarboardwing
dmg_obj = or_elite_dmg_star_wing_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Starboard_Wing
hit_pts = 1050
root_health_proxy = true

[CollisionGroup
obj = Or_port_wing_lod1
separable = parent_impulse = 240.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpPortwing
dmg_obj = or_elite_dmg_port_wing_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Port_Wing
hit_pts = 1050
root_health_proxy = true

[Simple
nickname = or_elite_dmg_star_wing_cap
DA_archetype = ships\order\or_elite\or_elite_dmg_starboardwing.3db
material_library = Ships\order\or_ships.mat
mass = 5.000000
LODranges = 0, 100, 1000

[Simple
nickname = or_elite_dmg_port_wing_cap
DA_archetype = ships\order\or_elite\or_elite_dmg_portwing.3db
material_library = Ships\order\or_ships.mat
mass = 5.000000
LODranges = 0, 100, 1000



When you have the ship setup to the way you want it, eg : hull, cargo, nanobots, shield batteries and "flight feel" as i like to call it as well as setting a nick name this should be something simple as my fighter is called the Ra Elite my nickname for it is ra_elite.

When you have done the above add all the code to the shiparch.ini file (copy&paste form wordpad) below the orignal ship and leaving one line of space like this :

code:


LODranges = 0, 100, 1000

[Ship
ids_name = 458753



And save shiparch.ini.





Now that your ship is in the shiparch.ini we can add the relevant hull and engine for it

Open goods.ini now and find or_elite (this should match the ship your editing so look for the orignals nickname for the anubis its the or_elite)

you will find this code :

code:


[Good
nickname = oe_hull
category = shiphull
ship = or_elite
price = 1000
ids_name = 12019
item_icon = Equipment\models\commodities\nn_icons\or_fighter.3db



Now copy this to wordpad and edit the values so it looks like this :

code:


[Good
nickname = ra_hull
category = shiphull
ship = ra_elite
price = 100000
ids_name = 12019
item_icon = Equipment\models\commodities\nn_icons\or_fighter.3db



Again we edit nickname, and also ship & price info, when you have this set to your ship (or like the above demo) copy this info into your goods.ini file again with a 1 line space and below the orignal code.

Next up we need the package code modified for our new fighter find this :
(again this should match the ship your editing)

code:


[Good
nickname = oe_package
category = ship
hull = oe_hull
addon = ge_oe_engine_01, internal, 1
addon = or_elite_power01, internal, 1
addon = ge_s_scanner_01, internal, 1
addon = ge_s_tractor_01, internal, 1
addon = order_shield, HpShield01, 1
addon = LargeWhiteSpecial, HpHeadlight, 1
addon = SlowSmallYellow, HpRunningLight01, 1
addon = SlowSmallYellow, HpRunningLight02, 1
addon = SlowSmallYellow, HpRunningLight03, 1
addon = SlowSmallYellow, HpRunningLight04, 1
addon = SlowSmallYellow, HpRunningLight05, 1
addon = SlowSmallYellow, HpRunningLight06, 1
addon = contrail01, HpContrail02, 1
addon = contrail01, HpContrail03, 1
addon = DockingLightRedSmall, HpDockLight01, 1
addon = DockingLightRedSmall, HpDockLight02, 1



This is the main bit we need to change to get our ship working correctly copy it into wordpad and make the following changes so it looks like this :

code:


[Good
nickname = ra_package
category = ship
hull = ra_hull
addon = ra_engine_01, internal, 1
addon = or_elite_power01, internal, 1
addon = ge_s_scanner_01, internal, 1
addon = ge_s_tractor_01, internal, 1
addon = order_shield, HpShield01, 1
addon = LargeWhiteSpecial, HpHeadlight, 1
addon = SlowSmallYellow, HpRunningLight01, 1
addon = SlowSmallYellow, HpRunningLight02, 1
addon = SlowSmallYellow, HpRunningLight03, 1
addon = SlowSmallYellow, HpRunningLight04, 1
addon = SlowSmallYellow, HpRunningLight05, 1
addon = SlowSmallYellow, HpRunningLight06, 1
addon = contrail01, HpContrail02, 1
addon = contrail01, HpContrail03, 1
addon = DockingLightRedSmall, HpDockLight01, 1
addon = DockingLightRedSmall, HpDockLight02, 1



If you didnt notice we have again changed some small bits:

nickname = ra_package
hull = ra_hull
addon = ra_engine_01, internal, 1

When you have done this copy and paste back into goods.ini as with everyother time leaving 1 blank line and then the new code after the orignal ship code (for those who havent worked it out this will make finding your ship again later alot easier).

Now we need to create the engine as this :
addon = ra_engine_01, internal, 1 doesnt exsist yet in the game.

Open the engine_equip.ini file and find ge_oe_engine_01 you'll find this code :

code:


[Engine
nickname = ge_oe_engine_01
ids_name = 263702
ids_info = 264702
volume = 0.000000
mass = 10
max_force = 48000
linear_drag = 599
power_usage = 0
reverse_fraction = 0.200000
flame_effect = gf_co_smallengine02_fire
trail_effect = gf_co_smallengine02_trail
trail_effect_player = gf_co_smallengine02_playtrail
cruise_charge_time = 5
cruise_power_usage = 20
character_start_sound = engine_oe_h_fighter_start
character_loop_sound = engine_oe_h_fighter_loop
character_pitch_range = -50, 25
rumble_sound = rumble_oe_h_fighter
rumble_atten_range = -5, 0
rumble_pitch_range = -25, 25
engine_kill_sound = engine_bw_fighter_kill
cruise_start_sound = engine_bw_cruise_start
cruise_loop_sound = engine_bw_cruise_loop
cruise_stop_sound = engine_bw_cruise_stop
cruise_disrupt_sound = cruise_disrupt
cruise_backfire_sound = cruise_backfire
indestructible = false
outside_cone_attenuation = -3
inside_sound_cone = 60
outside_sound_cone = 180



Copy & paste into wordpad and edit the following lines :
Nickname (This needs to be the name ra_engine_01 or whatever you chose to name your engine)
Max_force (this is the max speed of your ship, 48000 / 600 = 80, change this by taking the speed you want eg 150 * 600 = 90000)
cruise_charge_time (how long your ship takes to charge cruise engines, default is 5, i set this to 3 to make it better, 1 would just be silly).

so they look like this code :

code:


[Engine
nickname = ra_engine_01
ids_name = 263702
ids_info = 264702
volume = 0.000000
mass = 10
max_force = 90000
linear_drag = 599
power_usage = 0
reverse_fraction = 0.200000
flame_effect = gf_co_smallengine02_fire
trail_effect = gf_co_smallengine02_trail
trail_effect_player = gf_co_smallengine02_playtrail
cruise_charge_time = 3
cruise_power_usage = 20
character_start_sound = engine_oe_h_fighter_start
character_loop_sound = engine_oe_h_fighter_loop
character_pitch_range = -50, 25
rumble_sound = rumble_oe_h_fighter
rumble_atten_range = -5, 0
rumble_pitch_range = -25, 25
engine_kill_sound = engine_bw_fighter_kill
cruise_start_sound = engine_bw_cruise_start
cruise_loop_sound = engine_bw_cruise_loop
cruise_stop_sound = engine_bw_cruise_stop
cruise_disrupt_sound = cruise_disrupt
cruise_backfire_sound = cruise_backfire
indestructible = false
outside_cone_attenuation = -3
inside_sound_cone = 60
outside_sound_cone = 180



And as with all NEW bits of code add this back to the ini under the orignal code(dont be forgetting the 1 line space either ).

Now that believe it or not is it for actual editing of the ship adding of custom engines, next up is adding the ship to a base so you can actually buy it.

Most people add stuff to Manhatten, i prefer pitsburg as it only sells 1 ship be default.

Open Market_ships.ini and look for this :
For Manhatten : base = Li01_01_base
For Pitsburg : base = Li01_02_Base

when you find this you will see the following :

code:


[BaseGood
base = Li01_02_base
marketgood = gf1_package, 0, -1, 0, 0, 1, 1, 1
marketgood = gf2_package, 4, -1, 0, 0, 1, 1, 1
marketgood = gf4_package, 13, -1, 0, 0, 1, 1, 1
marketgood = gf5_package, 24, -1, 0, 0, 1, 1, 1
marketgood = gf6_package, 30, -1, 0, 0, 1, 1, 1
marketgood = bwf_package, 4, -1, 0, 0, 1, 1, 1
marketgood = bwe_package, 20, -1, 0, 0, 1, 1, 1
marketgood = bwe2_package, 30, -1, 0, 0, 1, 1, 1
marketgood = bwfr_package, 10, -1, 0, 0, 1, 1, 1
marketgood = cof_package, 8, -1, 0, 0, 1, 1, 1
marketgood = coe_package, 28, -1, 0, 0, 1, 1, 1
marketgood = coe2_package, 32, -1, 0, 0, 1, 1, 1
marketgood = lf_package, 1, -1, 0, 0, 1, 1, 1
marketgood = le_package, 2, -1, 0, 0, 1, 1, 1
marketgood = lfr_package, 1, -1, 1, 1, 0, 1, 1
marketgood = bf_package, 6, -1, 0, 0, 1, 1, 1
marketgood = be_package, 8, -1, 0, 0, 1, 1, 1
marketgood = bfr_package, 4, -1, 0, 0, 1, 1, 1
marketgood = kf_package, 10, -1, 0, 0, 1, 1, 1
marketgood = ke_package, 13, -1, 0, 0, 1, 1, 1
marketgood = kfr_package, 10, -1, 0, 0, 1, 1, 1
marketgood = rf_package, 20, -1, 0, 0, 1, 1, 1
marketgood = re_package, 22, -1, 0, 0, 1, 1, 1
marketgood = rfr_package, 20, -1, 0, 0, 1, 1, 1
marketgood = pf_package, 2, -1, 0, 0, 1, 1, 1
marketgood = pe_package, 13, -1, 0, 0, 1, 1, 1
marketgood = pfr_package, 4, -1, 0, 0, 1, 1, 1
marketgood = bhf_package, 4, -1, 0, 0, 1, 1, 1
marketgood = bhe_package, 13, -1, 0, 0, 1, 1, 1
marketgood = bhe2_package, 26, -1, 0, 0, 1, 1, 1
marketgood = oe_package, 16, -1, 0, 0, 1, 1, 1



Now i need to explian a little on the format here so you dont make a hash of this when you add your own babys to the game

marketgood = ra_package, 0, -1, 1, 1, 0, 1, 1

i'll break this down so its easier to understand
Marketgood = ship_package, level required to buy ship, ship is available.

for an unavailable ship it looks like this :
marketgood = ra_package, 0, -1, 0, 0, 1, 1, 1
marketgood = ship_package, level required, ship unavailable.

Now to add your ship you need to simply add the following line to that base if you do this at the end it will be the last entry in the ini loaded so if that base has 3 ships already for sale it will override one of them another reason for choosing a base without 3 ships already as you dont have to override any orignal ships and you can set the level to that you have to work to get ths ship (hence price tag too)

code:


marketgood = ra_package, 0, -1, 1, 1, 0, 1, 1



Okie thats it the ship has been added to the game, but it currently has no stats of its own and no name.

Warning the next section deleves into dll hacking, importing and exporting data too and from the dll's if your not confident about doing this simply reset the ids_name in shiparch.ini to that of the Anubis (or the orignal ship) and leave this bit well alone you will have all the stats you have edited applied to your ship it the game just wont display them for you.

For those who want to actually name thier ship and have the infocards displayed the next section is for you





Creating new DLL resources

This is the meat and potatoes of the tutorial, this was also one of the most complex bits to figure out for myself, thanks to those on the lancers reactor for helping me get the fomula correct

Make a backup of nameresources.dll now rename your backup to something like "zen_resource.dll" now your ready to start editing
Open "zen_resource.dll" in res hack and delete all but the first 20 of the tables (this will give you more than enough string tables for any mod, roughly 320 name resources) Oh yeah in res hacker this takes ALONG time to do you may wanna download and install this time limited app [ Resource Tuner <http://www.heaventools.com/download/rtsetup.exe> to help speed this up 1st time i did it in reshack it took about an hour to do (there are that many fields) in res tuner it took about 15mins to do. oh and dont forget to save over your dll when you have done it.

When you have done this you will need open the dll in res hack (or restuner but since we HAVE to use res hack for the importing of infocards later get used to this app and only use restuner for deleting trust me its easier this way )

go to the following (displayed as folders and icons in reshack):

String table + 1 + 1033 :
in here you will see somethign like this :
code:


STRINGTABLE
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
1, "New York"
2, "California"
3, "Colorado"
4, "Texas"
5, "Alaska"
6, "New London"
7, "Manchester"
8, "Cambridge"
9, "Leeds"
10, "Dublin"
11, "Edinburgh"
12, "New Berlin"
13, "Hamburg"
14, "Stuttgart"
15, "Frankfurt"
}



Now in the right hand window here :

"New York" Edit this to the name of your ship so it looks like this "your ship name"

code:



STRINGTABLE
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
1, "Zen-Elite"
2, "California"
3, "Colorado"
4, "Texas"
5, "Alaska"
6, "New London"
7, "Manchester"
8, "Cambridge"
9, "Leeds"
10, "Dublin"
11, "Edinburgh"
12, "New Berlin"
13, "Hamburg"
14, "Stuttgart"
15, "Frankfurt"
}




Now hit compile script, save and exit the dll. Ok thats the IDS_Name saved.

Now you will need the FL INI Referer.exe here :

1st make sure the "dot" is in the ids_name option at the top of the app, then ignoring the 1st box & button and using the ResID, Table & DLL fields fill them out like this :

ResID = 1
Table = 1
DLL = 7

Now because we used the 1st field in the first table (String table + 1 + 1033) this will point directly to the line you edited (if you used a diffrent table & position eg table 4 and postition(resid) 3 then you set the above table and resid to that instead) as for the DLL i will explain that in a bit for now set it to 7 and hit the ResourceID > IDS_Name button.

This will generate a number for the above it generates "458753" now open shiparch.ini again and where your ships ids_name = somenumber delete that number and enter this number instead, and save the ini and exit.

Next we have to edit freelancer.ini and look for this code :

code:


[Resources
DLL = InfoCards.dll ; Contains all infocard text resources
DLL = MiscText.dll ; Contains other bulk text resource: rumor, offer, and mission text
DLL = NameResources.dll ; Contains names of things, primarily.
DLL = EquipResources.dll ;Contains names of equipment (in string table) and infocards for equipment (in HTML resources)
DLL = OfferBribeResources.dll ; Contains random mission offers and bribes
DLL = MiscTextInfo2.dll ;Contains MP UI elements as well as other misc. text



and add right below it (no line space here)
DLL = zen_resource.dll ; Zen resource dll

so it looks like this :

code:


[Resources
DLL = InfoCards.dll ; Contains all infocard text resources
DLL = MiscText.dll ; Contains other bulk text resource: rumor, offer, and mission text
DLL = NameResources.dll ; Contains names of things, primarily.
DLL = EquipResources.dll ;Contains names of equipment (in string table) and infocards for equipment (in HTML resources)
DLL = OfferBribeResources.dll ; Contains random mission offers and bribes
DLL = MiscTextInfo2.dll ;Contains MP UI elements as well as other misc. text
DLL = zen_resource.dll ; Zen resource dll



Save the freelancer.ini file.

As the game loads the file in order it gives each a number from 1 - 6 for the orignal dll's ours will be number 7, (hence the dll number above set to 7 for our ids_name info)

Now to test this load the game and fly to the base where your ship has been added, and you should see its name listed there with the price you set too.

And thats all from this section

Next up is the tricky bit of importing the data cards so the info you see is the correct stats for the ship.



Making and Adding infocards

Okie first download
Infocards.exe from FileDatabase <http://www.duwx.com/portal/filedb/pafiledb.php?action=category&id=2>

Then you will need to edit each of these files so it has the accurate info for your ship, edit the html files in wordpad!!! i cant stress how important it is to use wordpad or a unicode text editor.

When you have edited them save them with the same name & extenstion.

Next open reshack, and open the zen_resource.dll file

Go to the action Menu and select ADD New resource, this will then ask you to select file with new resource, find ids_info.html and then fill out the boxes like this:

Resource Type = 23
Resource Name = 1
Resource Lan = 1033

Hit add resource, and you will now see a new table called 23, with the resource or 1 and lang of 1033 this is your ids_info.html file. Now repeat the process adding 1 to the resource name each time until you have imported all 4 html files.

When you have done this "SAVE" your dll and open fl ini referer.exe again and its time to calc the ids_info number for each of the resources you have added.

And you use EXACTLY the same info to do this :

ResID = 1
Table = 1
DLL = 7
This will give you the SAME number as the IDS_NAME this IS CORRECT.

Now for each of the other html files you should notice the ids_info number is increased by 1 these are the numbers you should get:

ids_info.html = 458753
ids_info1.html = 458754
ids_info2.html = 458755
ids_info3.html = 458756

And these are the numbers you need to add to your ship data in shiparch.ini

Open shiparch.ini find this line :

code:


[Ship
ids_name = 458753
ids_info = 66581
ids_info1 = 66582
ids_info2 = 66608
ids_info3 = 66583
ship_class = 1
nickname = ra_elite



And change the ids_info fields to have your numbers in there like this :

code:


[Ship
ids_name = 458753
ids_info = 458753
ids_info1 = 458754
ids_info2 = 458755
ids_info3 = 458756
ship_class = 1
nickname = ra_elite



Save the ini and load your game go to the base and buy it you should see all the info like this : Screenshot <http://www.duwx.com/freelancer/images/zen-elite.jpg>

And thats it you have added you ship, renamed it, and added your personal infocards to a dll.

p/s - for those wondering how it is possible to use the same number for both ids_name and ids_info its very simple ids_name = string and ids_name = xml file so you can use the same numbers as the game handles the variables in diffrent ways.


& a note for Hardcore modders.

For Hardcore modders:

Using Fl INI Ref as a calc is the best way to get the ids_info numbers however you need to remember this formula if you want to add more than a few infocards to the game.

ResID = "1-15"
Table = 1
DLL = 7

ResID = "16-31"
Table = 2
DLL = 7

ResID = "32-47"
Table = 3
DLL = 7

ResID = "48-63"
Table = 4
DLL = 7

If you notice this is a basic hex addition 1-15 = 1-F in hex everytime to pass this it adds 1 to the table below and so on.

ResID = "256 - 271"
Table = 17
DLL = 7

ResID = "272-286"
Table = 18
DLL = 7

Thought i would add that for those who were stuck with this one

p/s - This way of refrencing works in exactly the same way as the ids_name for each infocard (ids_info) is the same as each entry in the string table data for the ids_name.


Popular Request

By popular request and to save you some time deletign resources here i include my resource dll with my edited ship stats already in for your use

and for those wants this already done for them can download this mod [ Here <http://www.duwx.com/portal/filedb/pafiledb.php?action=category&id=2>

With an extra bonus for you all (new thruster added ) Also a copy of my dll is in the mod

Attachment: zen_resource.dll <viewthread.php?action=attachment&tid=44&pid=187> (28.5kb)
This file has been downloaded 180 times

Post Mon May 19, 2003 8:20 am

Anyone got that infocards.exe yet?

"We are a way of the Cosmos to know itself"

-- Carl Sagan

Post Mon May 19, 2003 2:55 pm

Still waiting for that infocards.exe nobody seems to have it, they all edit dlls or inis, but how ?

Post Mon May 19, 2003 3:31 pm

Wow, I just managed to edit the infocard info. I'll probably haven't done it in the most economical way, because I have to create 2 extra DLLs instead of one, and it will take days to make all the IDs info for a few systems, but nevertheless it worked.

This has also taken up my hole day, so I now have to do stuff that people do (such as showering, dressing, go the supermarket and buy food)

I'll try to write down how I did it when I am back. Sitting behind my pc for I don'tknow how many hours has made a little bit dizzy so I wouldn't be able to tell it coherently anyway.

Programs you need are ResHacker, notepad, and of course FLModManger to test it. i will assume you already know how to create a system, planets, bases and stuff; I'll just explain how I did the IDs names and info. I guess knowledge of xml is an advantage, but I haven't any and did it anyway, so it's not e condition.

Okay, later!




"We are a way of the Cosmos to know itself"

-- Carl Sagan

Post Mon May 19, 2003 8:09 pm

The tutorial above is not clear at some points. What html files ? Did the tutorial mention extracting html files from the dll file ? Did it mention adding them to the dll file ?

What about the files ? No one seems to find them.

Post Mon May 19, 2003 8:49 pm

I tried to post my own attempt tp write an alternative tutorial on infocards, but I got a vlank screen instead of the usual "your message is posted" message; hitting the back button and trying again got me a "You already posted it, no need to try again".

Yet, I don;t see it showing up, so I'll just post it again here:

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
An Alternative Way to Add Names and Infocards to your mod
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

I learned how to add IDs names some time ago; it ain't too difficult. But IDs infocards is something different. While Zen's site remains down, I couldn't put his tutorial on this subject to practice. So I was just trying out some ideas, which I got from partial tutorials, to add IDs info, and eventually it worked!

I'll describe how I did it, but I certainly don't want to imply this is the best way. it's just the only way I know and it might be of use to others.

DISCLAIMER: I am not a master modder, just someone who is learning it. If you screw things up, I can't help you. So make sure you read it all, and only decide to try it if it makes sense to you.

This tutorial comes in the following parts:

0 - conditions

1 - creating 2 new dll flies and mentioning them in freelancer.ini

2 - edit the add_nameresources.dll file

3 - edit the add_infocards.dll fil; divided in 3 parts:
---------3A - extracting the data from the add_infocards.dll file
---------3B - Editing the contents of the extracted file
---------3C - Putting the edited text files into the add_infocards.dll file

4 - how to use the new names and infocards




0. CONDITIONS

0.1 Your Knowledge:

- You already know how to edit and create systems, how to add suns, planets, bases etc.
- You know how to use FLModManger and BiniQDU.
- You preferably already have a mod with some systems, planets and bases awaiting to get their own names and infocards.


0.2 Your OS

I use XP. This method involves using Notepad as an editor for .bin-flies; it worked on my system, but I really have no idea if other Windows versions might screw up.


0.3 Programs You need:

Besides Freelancer (duh), FLModManger and BiniQDU, you'll need ResHacker (freeware, a Google search may lead you to http://www.devhood.com/tools/tool_detai ... ool_id=420 but I guess it's rather easily available) and the infamous Notepad


0.4 Our Example:

In this example, we'll assume we are making a mod containing a system called "Copernicus", which contains three planets called "Huygens", "Sagan" and "Hawking".
We'll assume the ini-file making up the system already is finished, except for the ids_name and ids_info values. We'll assume this ini-file is called IW07.ini
We'll assume this mod is, likethe other mods, in the FLModManager mod folder, in the folder "Yourmod" (Something like "Freelancer Mod Manager\mods\Yourmod"


0.5 The state of related programs while doing the editing:

Freelancer should not be running.
Any mod shoud be deactivated.
FLModManager should not be running.


0.6 Create an editing folder

It might be handy to create some kind of editing folder, let's say "idsedit". This folder will not be part of the mod, but we'll need to export files to, edit those, and import them. You might as well use your desktop for this, if you like it that way, but I'll refer to a folder named "idsedit".




1. CREATING 2 NEW DDL FILES AND MENTIONING THEM IN FREELANCER.INI

1.1) Open, in the Freelancer directory tree, the folder ..\Freelancer\EXE


1.2a) Select the file nameresources.dll
copy it to Freelancer Mod Manager\mods\Yourmod\Exe
rename it to add_nameresources.dll

This file will eventually have the new IDs names your mod adds to the game


1.2b) Select the files infocards.dll;
copy them to Freelancer Mod Manager\mods\Yourmod\Exe
rename it to add_infocards.dll

This file will eventually have the new IDs infocards your mod adds to the game


1.3) In freelancer.ini (in the copy of freelancer.ini in "Yourmod", of course), find the following text:

[Resources
DLL = InfoCards.dll ; Contains all infocard text resources
DLL = MiscText.dll ; Contains other bulk text resource: rumor, offer, and mission text
DLL = NameResources.dll ; Contains names of things, primarily.
DLL = EquipResources.dll ;Contains names of equipment (in string table) and infocards for equipment (in HTML resources)
DLL = OfferBribeResources.dll ; Contains random mission offers and bribes
DLL = MiscTextInfo2.dll ;Contains MP UI elements as well as other misc. text


and add the lines:

DLL = add_nameresources.dll ;contains new IDs names.
DLL = add_infocards.dll ;contains new IDs info.



1.4) save freelancer.ini





2. EDIT THE ADD_NAMERESOURCES.DLL FILE

This is fairly easy:

2.1) Start Reshacker; open add_nameresources.dll

2.2) In the lefthand window, you see two folders, "String Table" and "Version Info"; expand the first

(String table)

2.3) You now see a long list of folders, which have a number as their name. Open folder "1"

2.4) In folder "1", you see a flower-like icon and a file called "1033". If you select this file, the

righthand window shows the contents of the first string table of this DLL file. The first value is

"New York, the second is "California". the third is "Colorado", the fourth is Texas, and so on.

2.5) The entries of the table will be replaced by our own ones:

Replace the 1st text, "New York", by the text "Copernicus"
replace the 2nd text ,"California", by the text "Planet Huygens"
replace the 3rd text, "Colorado", by the text "Huygens docking ring"
replace the 4th text, "Texas", by the text "Planet Sagan"
replace the 5th text, "Alaska" ,by the text "Sagan docking ring"
replace the 6th text, "New London", by the text "Planet Hawking"
replace the 7th text, "Macnhester", by the text "Hawking docking ring"


2.6) Press the button "Compile Script", at the top of the righthand window

2.7) Save the file (make sure you save it as add_nameresources.dll)


In Step 4 I'll explain how to refer to the entries you just created.





3. EDIT THE ADD_INFOCARDS.DLL FILE

This is considerably more difficult then step 2, and I'be cut it into 3 parts.


3A. EXTRACTING THE DATA FROM HE ADD_INFOCARDS.DLL FILE

3A.1) Start Reshacker; open add_infocards.dll

3A.2). In the lefthand window, you see two folders, "Version Info" and "23"; expand the second ("23"

3A.3) You now see a long list of folders, which have a number as their name, ranging from "3" to "1079". Open folder "3"

3A.4) In folder "3", you see a flower-like icon and a file called "1033". If you select this file, the righthand window shows the contents of the first entry of this DLL file. Unlike the namesource-document, this is in code, so unfortunately we cannot edit it directly. So we have to find another way.

3A.5) Make sure you have selected the file "1033" in the folder "3". Go to the 'Action Menu' and select the option 'Save Resource as a binary file...'

3A.6) We will be saving this file into the editing folder "idsedit".
The file should be saved as a binary file, meaning the extension shoud be .bin
Now, the filename is not really important, but it might be convenient for future reference to call it something like "add_infocards_3.bin"





3B. EDITING THE CONTENTS OF THE EXTRACTED FILE

3B.1) Open the editing folder "idsedit"; select the file you just saved ("add_infocards_3.bin", right-click on it, and choose "open with" from the menu; go to the program list and chose Notepad to open this file.

3B.2) Now, this file, "add_infocards_3.bin", is an xml-file. Xml looks a lot like html, which is the code web pages are made with, and I fear that I cannot represent the xml text literally without your browser messing up (it might try to interpret the lay-out commands instead of just represent them).

So, to represent the contents of the file we just extracted from add_infocards.dll, I had to make some minor changes: In xml, commands are put between smaller-than < and larger-than > signs. I have replaced all smaller-than signs with a { and all larger-than signs with a }

And this is what the contents of the extracted file, "add_infocards_3.bin", then looks like:


{?xml version="1.0" encoding="UTF-16"?}{RDL}{PUSH/}{TEXT}CLASS: Tyrell{/TEXT}{PARA/}{TEXT}GRAVITY:

Complete{/TEXT}{PARA/}{TEXT}DOCKING: Restricted{/TEXT}{PARA/}{TEXT}AMENITIES: Yes{/TEXT}{PARA/}

{TEXT}POPULATION: Unknown{/TEXT}{PARA/}{POP/}{/RDL}



If we mold the lay-out into something more readable, it looks like:


{?xml version="1.0" encoding="UTF-16"?}
{RDL}
{PUSH/}
{TEXT}CLASS: Tyrell{/TEXT}
{PARA/}
{TEXT}GRAVITY: Complete{/TEXT}
{PARA/}
{TEXT}DOCKING: Restricted{/TEXT}
{PARA/}
{TEXT}AMENITIES: Yes{/TEXT}
{PARA/}
{TEXT}POPULATION: Unknown{/TEXT}
{PARA/}
{POP/}
{/RDL}


Now, I don't know much about xml, but it's obvious that the text placed between the {TEXT} and {/TEXT} tags, is the text we see in the game. And the {PARA/} tag probably means: new line. So, it's not difficult to alter the contents of this file.


3B.3) We edit the contents of the "add_infocards_3.bin" file so that it looks like this:


{?xml version="1.0" encoding="UTF-16"?}
{RDL}
{PUSH/}
{TEXT}The Copernicus system is situated between the Kepler and Galileo systems. It consists of a yello giant central star, a brown dwarf, a couple of planets, and a peripheral red dwarf. The inhabited planets are Huygens, Sagan and Hawking.{/TEXT}
{PARA/}
{TEXT} {/TEXT}
{PARA/}
{TEXT}It is far less known by most travellers in Sirius, and the Zoner communites in this sytem have done their best not to encourage any large shipping company to set up a trade route through the system.The only trading company the Zoners allow into the system, is the Independent Mining Guild.{/TEXT}
{PARA/}
{POP/}
{/RDL}


NB - Make sure you use smaller-than and larger-than signs instead of the { and the } I used here!!


3B.4) Save this file into the editing folder "idsedit" as "add_infocards_copernicussystem.bin" (or any other convenient filename as long as the extension is .bin ). Make sure Notepad saves it in unicode.


3B.5) Now, becaue we also have three planets we need an infocard for, we have to repeat this proces three times, of course with new text and other file names:


3B.5-1 Alter the contents to


{?xml version="1.0" encoding="UTF-16"?}
{RDL}
{PUSH/}
{TEXT}Planet Huygens is entirely covered by an H2O ocean which is the home of many indigenous lifeforms, reminiscent of th sea life on mankind's home planet, Earth. The human inhabitants of Huygens, spread over 36 floating cities, are famous for their advanced insight into the optronic technology.{/TEXT}
{PARA/}
{POP/}
{/RDL}


Again, make sure you use smaller-than and larger-than signs instead of the { and the } I used here!! Save the file into "idsedit" as "add_infocards_huygens.bin"


3B.5-2 Alter the contents to


{?xml version="1.0" encoding="UTF-16"?}
{RDL}
{PUSH/}
{TEXT}Planet Sagan is a very smaal but very dense world, entirely covered by an indigenous forest and some large lakes. Natural resources include diamonds and various metals. It's population is almost entirely employed by the Sagan Institute, which was founded several hundreds of years ago.{/TEXT}
{PARA/}
{POP/}
{/RDL}


Again, make sure you use smaller-than and larger-than signs instead of the { and the } I used here!!Save the file into "idsedit" as "add_infocards_sagan.bin"


3B.5-3 Alter the contents to


{?xml version="1.0" encoding="UTF-16"?}
{RDL}
{PUSH/}
{TEXT}Planet Hawking is the subject of a succesfully developing planetform project, which is almost fully completed. There are already several settlements on the planet, which has a more or less arctic ecology.{/TEXT}
{PARA/}
{POP/}
{/RDL}



Again, make sure you use smaller-than and larger-than signs instead of the { and the } I used here!!Save the file into the editing folder "idsedit" as "add_infocards_hawking.bin"





3C. PUTTING THE EDITED TEXTS INTO THE ADD_INFOCARDS.DLL FILE

3C.1) Start Reshacker, and open add_infocards.dll. Expand the folder "23"

Now, as you see, there is this list of folders named from "3" to "1079". I don;t knwo why it starts with "3" and in my experience a folder "1" and "2" can be added without a problem.


3C.2) Select the folder "23". Go to the action menu and chose "Add a new Resource..."


3C.3) A dialogue box appears; if you hit the button with "open file with new resource", you can

browse. Browse to "idsedit" and doubleclick on "add_infocards_copernicussystem.bin"


3C.4) You now see three values you have to set; set them as folows:

Resource Type = 23
Resource Name = 1
Resource Language = 1033

Remember: the Resource Type should ALWAYS be 23, and the Resource Language should ALWAYS be 1033. The Resource name will vary each time; we're doing the first entry now, so this is "1"

When you set the values, hit "Add Resource".

Now, when you expand the folder "23" (it was closed after you hit the button), You now see a new folder "1" added to the list of folders containing the entries.


3C.5) Repeat steps 3C1 to 3C4 but now for "add_infocards_huygens.bin", whcih will be added to a new folder "2"

Resource Type = 23
Resource Name = 2
Resource Language = 1033


3c.6) Now, for the remaining infocard resource files, the same routine applies BUT -there already are folders "3" and "4", and they'll have to be deleted before we can add new resources:

- expand the folder "3"; select the file "1033" and in the Action menu, chose "Delete Resource (23 : 3 : 1033)"

- expand the folder "4"; select the file "1033" and in the Action menu, chose "Delete Resource (23 : 4 : 1033)"


3C.7-1) Repeat steps 3C1 to 3C4 but now for "add_infocards_sagan.bin", which will be added to a new

folder "3"

Resource Type = 23
Resource Name = 3
Resource Language = 1033


3C.7-2) Repeat steps 3C1 to 3C4 but now for "add_infocards_hawking.bin", which will be added to a new

folder "4"

Resource Type = 23
Resource Name = 4
Resource Language = 1033


3C.8) Save the DLL file (mae sure to save it as add_infocards.dll)





4. HOW TO USE THE NEW IDS NAMES

This is the easiest part. Just remember:

- The 1st ids_name you created in add_nameresources.dll is 458753 ; the 2nd is 458754 etc.

- The 1rst ids_info you created in add_infocards.dll is 524289 ; the 2nd is 524290 etc.



So, in the file in which the Copernicus system is set up, IW07.ini, you'can find refences as:


[Object
nickname = Iw07_Sagan
ids_name = 458756
<-- referring to "Planet Sagan"
pos =-47000, 5000, 47000
archetype = planet_desorcld_500
ids_info = 524292
<-- referring to the infocard on Planet Sagan
visit = 1
atmosphere_range = 550
burn_color = 0, 63, 0
base = Iw07_Sagan_base
reputation = gd_z_grp


[Object
nickname = Iw07_Sagan_dock_ring
ids_name = 458757
<-- referring to "Sagan docking ring"
pos =-47575, 5000, 47000
rotate = 0, 270, 0
archetype = dock_ring
dock_with = Iw07_Sagan_base
ids_info = 66141
<-- referring to the generic infocard on docking rings
visit = 1
behavior = NOTHING
voice = atc_leg_f01a
space_costume = , robot_body_E
difficulty_level = 1
loadout = docking_ring_pi_01
pilot = pilot_solar_hardest



In the file universe.ini, you'll find a reference to the system name:

[system
nickname = Iw07
file = systems\Iw07\Iw07.ini
pos = 7, 6
msg_id_prefix = gcs_refer_system_Iw07
visit = 0
strid_name = 458753
<-- referring to "Copernicus"
ids_info = 524289 <-- referring to the infocard on the Copernicus system



Well, that's it. I guess that the infocards can also be used for the descriptions of ships and commodities, but I haven't been into editing ships or commodoties, so I've used planets in my example.

i hope this works for other desperate modders, but what i realy hope is for someone to develop a nice easy-to-use text editor for the ids_info resources, which can edit the text straight into the dll file.



"We are a way of the Cosmos to know itself"

-- Carl Sagan


Edited by - hans olo on 19-05-2003 22:18:00

Post Mon May 19, 2003 10:21 pm

Ok. That's clearer. Now you can really merge those 2 files if you want.

You copy the original name file as another. Alter the names as you want. You can also delete the unnecessary tables if you want. Now here's the trick.

Remember you copy the infocards.dll as a new file and extract those entries as xml formatted files ?
Why not adding them to the first name file and saving it like new_reqources.dll which has both infocards entries and string entries for the names ?

Or more easily, you can just copy the equipresources.dll which has both type of tables and work on that file.

I've finally managed to add a completely new laser weapon named Darkangel I used the starbeam as the origin. I can change the damage (you don't set the shield damage, its hull damage/2 if you didn't notice in the game.) and projectile speed. But i can't seem to alter the range. It may be rely on the speed or lodranges. Definetly lodranges doesn't affect it all by itself.

Edited by - Catscratcher on 19-05-2003 23:35:12

Post Mon May 19, 2003 10:50 pm

Catscratcher wrote:

Now you can really merge those 2 files if you want.

You copy the original name file as another. Alter the names as you want. You can also delete the unnecessary tables if you want. Now here's the trick.

Remember you copy the infocards.dll as a new file and extract those entries as xml formatted files ?
Why not adding them to the first name file and saving it like new_reqources.dll which has both infocards entries and string entries for the names ?

Or more easily, you can just copy the equipresources.dll which has both type of tables and work on that file.


Wow, that's great info! Should have known that before I wrote that tutorial.

I had some vague, subconscious flashes that it could be done easier Your info helps a lot!

Btw, I haven't got a clue to that gun range thing you bring up. Haven't been into that sort of thing yet.





"We are a way of the Cosmos to know itself"

-- Carl Sagan

Post Mon May 19, 2003 11:26 pm

Ehehe. I had nothing else to "figure out" at the time and just tried, tried and tried

Now, i wish we had the scripts decompressor. I really love to mess around with scripts

I currently need to edit sw crafts that ive downloaded. Not slave1 but bwing really needs help And i have no idea why add-on ships infos(not names) are shown in planet infos.

Post Mon May 19, 2003 11:59 pm

Catscratcher wrote: Ehehe. I had nothing else to "figure out" at the time and just tried, tried and tried

Sometimes, limitations are a booster for the mind. I figured out the mbases.ini and most of the traffc encounters when my internet connection was down for some days.

You're way ahead of me, with this modding. I don't know anything about scripts (Closest thing that I did to actually influencing the circumstances, was a Nomad Bribe).I don't even have the ambition to get into this 3d modelling; it's a whole different branche.

I have downloaded, not yet tried, some packs with SW ships, and I hope someone will eventually put these together in one single huge mod (they are incompatible as they are now).




"We are a way of the Cosmos to know itself"

-- Carl Sagan

Post Tue May 20, 2003 1:58 pm

Well, you really need a pack for all of the sw ships to add them at the same time. FLMM won't let you add them one by one.

I think i can get used to the scripting of freelancer. Ive used to script for jedi knight 2. Raven provided a pack which contains some tools like the one lets you write scripts and compile them into the script language it uses. I was interested in both scripting and mapping. Jedis hopping, bouncing and slicing around hehehe. JK2 was great, it even allows you to create cutscenes like in freelancer.

Anyway, freelancer is a bit shy by that point. It can really allow you to create an entirely different game. Just not for now.

Post Wed May 21, 2003 4:41 am

is it just me.... or is this site never working? (the tutorial)

Post Wed May 21, 2003 7:22 am

Thanks hans solo i tried the method of Zen and i didn´t understand it but with your tuturial it´s so easy
Thanks !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Return to Freelancer Editing Tutorial Forum