Zero to Hero
-
Hello Starport members! I am currently looking making my own mod, granted player base is low nowadays, with a few mods that have life. Looking at you disco :lol: Even if in the end no one decides to play so be it.
Anyway, looking at starting from proof of concept to a server up and running for people to play. I got my idea (no mod name yet) and am now in starts to make it happen.
Where to start, I’m using sdk 1.3 as reference. Starting with 2 folders, exe and data.
Is this the bare minimum needed to start?
I’ve added some of Adoxa’s plugins as well. They seem all to work.
I’ll start digging through the forums for problems I run into, but I’ll ask here if I can’t find a answer.
Hope that you guys can help, give advise, and even help guide me on this hopefully enlightening journey. Thanks in advance.
Al
-
First question:
Using ResHacker, what parts do I change to change mod version? See below:
1 VERSIONINFO FILEVERSION 1,0,1223,11 PRODUCTVERSION 1,0,1223,11 FILEOS 0x40004 FILETYPE 0x2 { BLOCK "StringFileInfo" { BLOCK "040904b0" { VALUE "CompanyName", "Microsoft Corporation" VALUE "FileDescription", "Freelancer" VALUE "FileVersion", "1, 0, 0, 0" VALUE "LegalCopyright", "\xA9 2003 Microsoft Corporation. All rights reserved." VALUE "PrivateBuild", "Release" VALUE "ProductName", "Freelancer" VALUE "ProductVersion", "1, 0, 0, 0" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0409 0x04B0 } }
-
Alucard wrote:
Using ResHacker, what parts do I change to change mod version?
For the displayed + server versions, you’ll probably want to change FILEVERSION, PRODUCTVERSION, FileVersion and ProductVersion in all instances. I think the game specifically reads FILEVERSION when looking at what it can/can’t connect to, but I generally adjust all of these to be safe!
Also I’d avoid using the SDK to build a mod on as if I recall correctly, 1.3 has a few bugs! These days a JFLP-patched install comes fairly close to perfect in terms of fixing vanilla ini issues.
-
Ok, switched to: JFLP-patched
I tried using ResHacker to change those lines of code, yet it does not save them. See below, hopefully added to the right lines)
1 VERSIONINFO FILEVERSION 11, 0, 0, 0 PRODUCTVERSION 11, 0, 0, 0 FILEOS 0x40004 FILETYPE 0x2 { BLOCK "StringFileInfo" { BLOCK "040904b0" { VALUE "CompanyName", "Microsoft Corporation" VALUE "FileDescription", "Freelancer" VALUE "FileVersion", " 11, 0, 0, 0" VALUE "LegalCopyright", "\xA9 2003 Microsoft Corporation. All rights reserved." VALUE "PrivateBuild", "Release" VALUE "ProductName", "Freelancer" VALUE "ProductVersion", " 11, 0, 0, 0" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0409 0x04B0 } }
Also, do I need to change the sever exe as well?
-
Alucard wrote:
Freelancer exe is still running when I close out of game and server. Any idea why it won’t end completely?It is a general issue with Freelancer on any Windows system newer than WinXP afaik. Happens on WINE in Linux, too.
-
I’ve added a new faction and am trying to make that faction as your starting faction. But it’s showing the starting faction as Liberty navy, here’s the code:
newcharacter
[Pilot] nickname = trent body = trent comm = trent voice = trent_voice body.anim = Sc_MLBODY_STND_000LV_A_31 comm.anim = Sc_comm_body_unfold_female, Sc_headCOM [Package] nickname = ge_fighter strid_name = 11051 strid_desc = 11551 ship = ge_fighter loadout = MP_ge_fighter money = 20000 [Faction] nickname = new_player rep_group = gd_f_grp ; original = co_ic_grp base = Li01_01_Base Package = ge_fighter Pilot = trent
mpnewcharacter
[Player] name = %%NAME%% ;initial_rep = %%FACTION%% rank = 0 money = %%MONEY%% ;voice = %%VOICE%% ;All must be Trent! voice = trent_voice costume = %%BASE_COSTUME%% com_costume = %%COMM_COSTUME%% system = %%HOME_SYSTEM%% base = %%HOME_BASE%% house = 0.91, li_n_grp house = 0.91, li_lsf_grp house = 0.65, li_p_grp house = 0, br_n_grp house = 0, br_p_grp house = 0, ku_n_grp house = 0, ku_p_grp house = 0, rh_n_grp house = 0, rh_p_grp house = 0, co_alg_grp house = 0, co_be_grp house = 0, br_m_grp house = 0, co_nws_grp house = 0, co_hsp_grp house = 0.65, co_ic_grp house = -0.3, co_khc_grp house = -0.3, co_kt_grp house = 0, rh_m_grp house = 0.65, co_me_grp house = 0.65, co_ni_grp house = 0, co_os_grp house = -0.3, co_rs_grp house = -0.3, co_shi_grp house = 0.65, co_ss_grp house = 0, co_ti_grp house = 0.65, co_vr_grp house = -0.3, fc_bd_grp house = -0.3, fc_b_grp house = -0.65, fc_c_grp house = -0.3, fc_fa_grp house = -0.3, fc_g_grp house = -0.3, fc_gc_grp house = -0.3, fc_h_grp house = -0.3, fc_j_grp house = -0.65, fc_lh_grp house = -0.65, fc_lr_grp house = -0.3, fc_lwb_grp house = -0.65, fc_m_grp house = -0.65, fc_ou_grp house = -0.65, fc_rh_grp house = 0, fc_or_grp house = -0.65, fc_u_grp house = -0.65, fc_x_grp house = 0, gd_gm_grp house = 0, fc_uk_grp house = -0.65, fc_n_grp house = -0.65, fc_ln_grp house = -0.65, fc_kn_grp house = -0.65, fc_rn_grp house = 0, fc_ouk_grp house = 0, fc_q_grp house = 0, fc_f_grp house = 0, gd_im_grp house = 0, gd_z_grp house = -0.3, gd_bh_grp ; ;-------------------------------------Custom Factions house = 0, gd_f_grp ; ; visit = 2745692751,1 ;Li02 visit = 2208818767,1 ;Li03 visit = 2745633359,1 ;Li04 visit = 2945966082,1 ;Br01 visit = 2409077762,1 ;Br02 visit = 2945943554,1 ;Br03 visit = 2409063426,1 ;Br04 visit = 2945937410,1 ;Br05 visit = 2409040898,1 ;Br06 visit = 2281145474,1 ;Rh01 visit = 2818046082,1 ;Rh02 visit = 2281172098,1 ;Rh03 visit = 2817982594,1 ;Rh04 visit = 2281116802,1 ;Rh05 visit = 3013596745,1 ;Ku01 visit = 2476714569,1 ;Ku02 Visit = 3013590601,1 ;Ku03 visit = 2476692041,1 ;Ku04 visit = 3013559881,1 ;Ku05 visit = 3146760779,1 ;Iw01 visit = 2609888843,1 ;Iw02 visit = 3146754635,1 ;Iw03 visit = 2609858123,1 ;Iw04 visit = 3146732107,1 ;Iw05 visit = 2609851979,1 ;Iw06 %%PACKAGE%%
What am I missing?
-
For max credits for mp, which do I use:
Max Money all integers max 7fffffff (2.1 bil) change to ff ff ff 7f Server.dll 0006f46e 0006f475 0006f4a6 0006f4ad 0006f51e 0006f525 0006fb9b 0006fba3 0006fbae 0006fc00 0006fc08 0006fc1c 0007543c 00075443 000754e0 000754e7 00076426 0007642d
Or this:
999999999i server.dll 06F46E 06F475 06F4A6 06F4AD 06F51E 06F525 06FB9B 06FBA3 06FBAE 06FC00 06FC08 06FC1C 07543C 075443 0754E0 0754E7 076426 07642D adoxa maximum credits that a player can have in MP (ALL offsets must be changed!)
I understand the first one, im pretty sure. But i’m not sure what to edit in the second one.
I’m guessing this part:
hex = 06F46E
Single float - 0.00354006374254823 -what do I change this to? And do I change all of the hex to the same thing?
-
Alucard wrote:
What am I missing?
You need to delete your restart.fl file in your save directory! This is regenerated on launch when it’s not there, but is basically a cache of the new player loadout.
On Limit Breaking, I’ve moved away from patches in a hex editor, but if you don’t want to compile code for offsets, Hexplorer is a very good option that lets you edit simple data types as well (you’ll need to change the default fonts though!
For editing values as listed in Limit Breaking, you’ll need to edit the data type! In Hexplorer this is under View\Simple Data Types, but ymmv with other editors.
Also make sure you’re using the new Limit Breaking List! It’s got a lot more in it than the one hooked onto the current TSP forum and will eventually replace it: https://wiki.the-starport.net/FL Binaries/limit-breaking/
If you have a ton of modding questions, you should totally drop by the Galactic Community Discord, you’ll usually get answers a lot quicker for small stuff than on this forum!