OpenSP Variations: Xerx's OpenSP, Adoxa's SP from MP, MKnote's NewPlayer.fl, and others
-
YEEHAW!
I managed to implement (my adaption of) MKnote’s NewPlayer.fl into my test mod, while having removed Xerx’s stuff. (This is my ‘Made Man’ mod, as I fly an ubership and have max money - it is meant to take a look in a mod without being roasted.)
Too bad this is the last day of my vacation and I have other things to do today.
-
adoxa wrote:
@Moonhead: FLMM 1.4 onwards can edit restart.fl, but only if it exists in the first place.
Can you give an example of how to adress this file from a FLLM script?
adoxa wrote:
As mknote points out, editing newplayer.fl should be possible, but only for the initial creation, and only if savesafe is false, since restart.fl is only created once and FLMM won’t delete it. Ultimately, improved support from FLMM is the ideal solution, but until then I guess you’re stuck with manual options.
I am wondering how much of a problem that would be… Only if something is altered in the staring conditions, right? So it’s a problem for the modder, who should think of deleting the restart.fl every time he changes the starting conditions, but not so much for the player of a mod, because the starting conditions are meant to be as they were set by the modder. But maybe I’m overlooking something?
adoxa wrote:
BTW, I was almost going to have an option to generate newplayer.fl, so it would be more suitable for mods, but, until now, no one seemed to be interested in SP from MP.
Well, your SP from MP is very cool, but as long as FLMM can’t handle it, its importance for the modding community will be limited. I think people want to make distributible mods, rather than things they can do to directly improve their own gaming experience.
-
@adoxa: Hmmmm, actually, I haven’t tested it since I upgraded the mod to 1.1. Thanks for the heads up, I’ll make the change (after I verify it’s true… not that I don’t trust you, but I like to see these things for myself).
@Moonhead (&adoxa): When adoxa said that newplayer.fl is used only once, he’s right, but this is easily bypassable. Here’s some code from my Freelancer Two script:
<data file="exe\newplayer.fl" method="sectionreplace" options="1:0">[Player] <dest>name = Trent rank = 1 Description = NewPlayer money = 5000 voice = trent_voice costume = trent com_costume = trent system = Li01 base = Li01_01_Base log = 1, 0 ship_archetype = ge_fighter equip = ge_gf1_engine_01 equip = shield01_mark01_lf, HpShield01 equip = ge_fighter_power01 equip = ge_s_scanner_01 equip = ge_s_tractor_01 equip = ge_s_thruster_01, HpThruster01 equip = li_gun01_mark01, HpWeapon01 equip = li_gun01_mark01, HpWeapon02 equip = ge_s_cm_01, HpCM01 cargo = ge_s_cm_01_ammo, 20 equip = LargeWhiteSpecial, HpHeadlight equip = SlowSmallOrange, HpRunningLight01 equip = SlowSmallOrange, HpRunningLight02 equip = SlowSmallOrange, HpRunningLight05 equip = contrail01, HpContrail01 equip = contrail01, HpContrail02 equip = DockingLightRedSmall, HpDockLight01 equip = DockingLightRedSmall, HpDockLight02 cargo = ge_s_battery_01, 10 cargo = ge_s_repair_01, 10 house = 0, li_n_grp house = 0, li_lsf_grp house = 0, 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, hi_n_grp house = 0, hi_p_grp house = 0, ha_u_grp house = 0, co_alg_grp house = 0, co_as_grp house = 0, co_be_grp house = 0, br_m_grp house = 0, co_nws_grp house = 0, co_gs_grp house = 0, co_hsp_grp house = 0, co_ic_grp house = 0, co_khc_grp house = 0, co_kt_grp house = 0, rh_m_grp house = 0, hi_m_grp house = 0, co_me_grp house = 0, co_ni_grp house = 0, co_os_grp house = 0, co_rs_grp house = 0, co_shi_grp house = 0, co_ss_grp house = 0, co_ti_grp house = 0, co_vr_grp house = 0, fc_bd_grp house = 0, fc_b_grp house = 0, fc_fa_grp house = 0, fc_g_grp house = 0, fc_gc_grp house = 0, fc_h_grp house = 0, fc_him_grp house = 0, fc_j_grp house = 0, fc_lh_grp house = 0, fc_lr_grp house = 0, fc_lwb_grp house = 0, fc_m_grp house = 0, fc_rh_grp house = 0, fc_od_grp house = 0, fc_u_grp house = 0, fc_x_grp house = 0, gd_gm_grp house = 0, gd_im_grp house = 0, gd_ms_grp house = 0, gd_z_grp house = 0, gd_bh_grp house = 0, fc_or_grp house = 0, fc_o_grp house = 0, fc_n_grp house = -0.65, fc_no_grp house = 0, fc_uk_grp</dest> <source> name = Trent rank = 6 Description = NewPlayer money = 25000 voice = trent_voice costume = trent com_costume = trent system = Li01 base = Li01_01_Base log = 1, 0 ship_archetype = li_fighter equip = ge_lf_engine_01 equip = shield01_mark01_lf, HpShield01 equip = li_fighter_power01 equip = ge_s_scanner_01 equip = ge_s_tractor_01 equip = ge_s_thruster_01, HpThruster01 equip = li_gun01_mark01, HpWeapon01 equip = li_gun01_mark01, HpWeapon02 equip = ge_s_cm_01, HpCM01 cargo = ge_s_cm_01_ammo, 20 equip = LargeWhiteSpecial, HpHeadlight equip = SlowSmallBlue, HpRunningLight01 equip = SlowSmallBlue, HpRunningLight02 equip = SlowSmallBlue, HpRunningLight03 equip = SlowSmallBlue, HpRunningLight04 equip = contrail01, HpContrail01 equip = contrail01, HpContrail02 equip = DockingLightRedSmall, HpDockLight01 equip = DockingLightRedSmall, HpDockLight02 cargo = ge_s_battery_01, 6 cargo = ge_s_repair_01, 6 cargo = loot_turret01 house = 0.9, li_n_grp house = 0.9, li_lsf_grp house = 0.9, li_p_grp house = 0.65, br_n_grp house = 0.65, br_p_grp house = 0.3, ku_n_grp house = 0.3, ku_p_grp house = 0, rh_n_grp house = 0, rh_p_grp house = 0.3, hi_n_grp house = 0.3, hi_p_grp house = 0, ha_u_grp house = 0, co_alg_grp house = 0, co_as_grp house = 0, co_be_grp house = 0, br_m_grp house = 0, co_nws_grp house = 0.65, co_gs_grp house = 0.65, co_hsp_grp house = 0.65, co_ic_grp house = 0, co_khc_grp house = 0, co_kt_grp house = 0, rh_m_grp house = 0, hi_m_grp house = 0.65, co_me_grp house = 0.65, co_ni_grp house = 0.65, co_os_grp house = 0, co_rs_grp house = 0, co_shi_grp house = 0.65, co_ss_grp house = 0, co_ti_grp house = 0.65, co_vr_grp house = 0, fc_bd_grp house = 0, fc_b_grp house = -0.3, fc_fa_grp house = -0.65, fc_g_grp house = -0.3, fc_gc_grp house = -0.3, fc_h_grp house = -0.3, fc_him_grp house = -0.3, fc_j_grp house = -0.9, fc_lh_grp house = -0.9, fc_lr_grp house = -0.3, fc_lwb_grp house = -0.3, fc_m_grp house = -0.3, fc_rh_grp house = -0.65, fc_od_grp house = -0.65, fc_u_grp house = -0.65, fc_x_grp house = 0, gd_gm_grp house = 0, gd_im_grp house = 0, gd_ms_grp house = 0, gd_z_grp house = 0.3, gd_bh_grp house = 0.65, fc_or_grp house = 0.65, fc_o_grp house = 0, fc_n_grp house = -0.65, fc_no_grp house = 0, fc_uk_grp</data>
Note that savesafe=“true” What this does is creates a new batch of save files (including a different restart.fl) for each option, and so this effectively bypasses the problem adoxa mentioned. Also, as you said, this really only affects the modder; the player, assuming that the modder did things right, will not feel any such effects if something like the above script is in play, simply because the player will do no direct modding to newplayer.fl, and thus will have no need to delete restart.fl.
Note that I’m also using FLMM v1.31, so I don’t know if the above script works for the newer versions.
MK
-
@ MKnote: thx for the info.
Your method - how does it affect (or rather: improve) added factions?
I remember that added factions were totally neutral in OpenSP, but they functioned fine in MP, so I had to start a LAN server and play my mod on that server to have the faction behave friendly / hostile as intended.
I guess your OpenSP doesn’t have this problem, because it creates a restart anyway (if only because the modder deletes this file).
Not sure though. Can you enlighten me?
@ Adoxa: how do added factions behave in SPfromMP?
mknote wrote:
Note that I’m also using FLMM v1.31, so I don’t know if the above script works for the newer versions.MK
I can remember that a mod with an option script had to be run AFTER the mod had been installed, so as a second and separate mod. If not done this way, FLMM ignored a lot of other stuff. But this might have been more due to my clumsiness and lack of skills than typical 1.4 behaviour. Or maybe it is typical FLMM behaviour, regardless of the version.
Anyway, my functioning NewPlayer rewrite script looks like the following. I have no line “savesafe = false” or “… true” in it, as for now this is a bit beyond me for me now, and you and Adoxa seem te hold opposing views. So I’ll look into that later.
NB the custom ship and equipment is defined in another file.
EDIT: and, as pointed out earlier, it’s my almost-god mode mod I use to take a look in modified and new star systems, hence the money and the ship. Starting off in a serious game like this would spoil most challenges.
<data file="Exe\NewPlayer.fl" method="append" newfile="true"><source> [Player] name = Trent rank = 1 Description = NewPlayer money = 1000000000 voice = trent_voice costume = trent com_costume = trent system = Iw04 base = Iw04_01_Base log = 1, 0 ship_archetype = co_elite2_sleipnir equip = sleipnir_engine equip = sleipnir_shield, HpShield01 equip = infinite_power equip = sleipnir_scanner equip = sleipnir_tractor equip = sleipnir_thruster, HpThruster01 equip = armor_scale_sleipnir equip = sleipnir_gun_01, HpWeapon01 equip = sleipnir_gun_01, HpWeapon02 equip = sleipnir_gun_01, HpWeapon03 equip = sleipnir_gun_01, HpWeapon04 equip = sleipnir_gun_02, HpWeapon05 equip = sleipnir_gun_02, HpWeapon06 equip = sleipnir_turret, HpTurret01 equip = cruise_disruptor01_mark01, HpTorpedo01 cargo = cruise_disruptor01_mark01_ammo, 25 equip = mine01_mark01, HpMine01 cargo = mine01_mark01_ammo, 25 equip = ge_s_cm_01, HpCM01 cargo = ge_s_cm_01_ammo, 50 equip = LargeWhiteSpecial, HpHeadlight equip = SlowSmallYellow, HpRunningLight01 equip = SlowSmallYellow, HpRunningLight02 equip = SlowSmallYellow, HpRunningLight03 equip = contrail01, HpContrail01 equip = contrail01, HpContrail02 equip = DockingLightRedSmall, HpDockLight01 equip = DockingLightRedSmall, HpDockLight02 cargo = ge_s_battery_01, 120 cargo = ge_s_repair_01, 120 house = Player, li_n_grp, 0 house = Player, li_lsf_grp, 0 house = Player, li_p_grp, 0 house = Player, br_n_grp, 0 house = Player, br_p_grp, 0 house = Player, ku_n_grp, 0 house = Player, ku_p_grp, 0 house = Player, rh_n_grp, 0 house = Player, rh_p_grp, 0 house = Player, co_alg_grp, 0 house = Player, co_be_grp, 0 house = Player, br_m_grp, 0 house = Player, co_nws_grp, 0 house = Player, co_hsp_grp, 0 house = Player, co_ic_grp, 0 house = Player, co_khc_grp, 0 house = Player, co_kt_grp, 0 house = Player, rh_m_grp, 0 house = Player, co_me_grp, 0 house = Player, co_ni_grp, 0 house = Player, co_os_grp, 0 house = Player, co_rs_grp, 0 house = Player, co_shi_grp, 0 house = Player, co_ss_grp, 0 house = Player, co_ti_grp, 0 house = Player, co_vr_grp, 0 house = Player, fc_bd_grp, 0 house = Player, fc_b_grp, 0 house = Player, fc_c_grp, 0 house = Player, fc_fa_grp, 0 house = Player, fc_g_grp, 0 house = Player, fc_gc_grp, 0 house = Player, fc_h_grp, 0 house = Player, fc_j_grp, 0 house = Player, fc_lh_grp, 0 house = Player, fc_lr_grp, 0 house = Player, fc_lwb_grp, 0 house = Player, fc_m_grp, 0 house = Player, fc_ou_grp, 0 house = Player, fc_rh_grp, 0 house = Player, fc_or_grp, 0 house = Player, fc_u_grp, 0 house = Player, fc_x_grp, 0 house = Player, gd_gm_grp, 0 house = Player, fc_uk_grp, 0 house = Player, fc_n_grp, 0 house = Player, fc_ln_grp, 0 house = Player, fc_kn_grp, 0 house = Player, fc_rn_grp, 0 house = Player, fc_ouk_grp, 0 house = Player, fc_q_grp, 0 house = Player, fc_f_grp, 0 house = Player, gd_im_grp, 0 house = Player, gd_z_grp, 0 house = Player, gd_bh_grp, 0 [StoryInfo] Mission = No_Mission MissionNum = 41 delta_worth = -1 S ;; These gates will be locked in single player, but not necessarily multiplayer. [mPlayer]</data>
-
With regards to factions being neutral in SP, that has nothing to do with newplayer.fl and everything to do with InitialWorld.ini.
You set the factions with the reps you want in said file; factions with reps >= 0.65 will help each other; factions with reps <= 0 will fly missions against each other; factions with reps <= -0.65 will attack each other on sight. Factions need to have the same rep both ways, i.e. if li_p_grp has 0.91 to li_lsf_grp, then li_lsf_grp needs to have 0.91 to li_p_grp.
The problem that people had, with factions being neutral in SP, was because all of the rep data between factions is saved in the save files (don’t ask me why, it would make so much sense for it to be in the .ini files). Thus, when you load a save game, the reps don’t change to reflect InitialWorld.ini, and if you start a new game, since the data is also save in restart.fl, starting a new game won’t change the reps any either.
In order to see the new reps between factions, you need to set up InitialWorld.ini and then delete restart.fl. Then, if you start a new game, that game and any save files that come from that new game will show the new reps.
It sounds long and complicated, but it’s actually much simpler than it sounds. It’s just annoying, since you basically have to redo your save files if you want to see the changes. Older save files will still work, even alongside the new save files, they just won’t show the changes.
MK
-
mknote wrote:
With regards to factions being neutral in SP, that has nothing to do with newplayer.fl and everything to do with InitialWorld.ini.[…]
MK
I knew about Initialworld, saw no reason te mention it.
My point was: when you add custom factions (which indeed involves Initialword. among other files), and just use Xerx’s OpenSP, the new factions remained neutral no matter what you did in InitialWorld.
mknote wrote:
In order to see the new reps between factions, you need to set up InitialWorld.ini and then delete restart.fl. Then, if you start a new game, that game and any save files that come from that new game will show the new reps.
It sounds long and complicated, but it’s actually much simpler than it sounds. It’s just annoying, since you basically have to redo your save files if you want to see the changes. Older save files will still work, even alongside the new save files, they just won’t show the changes.
MK
Weird. FLMM 1.5 should address that, if possible. To automate it somehow, I mean.
-
Another problem:
I built an OpenSP according to what MKnote suggets. it works great.
I patch up to 1.1, and also use Jason’s Patch.
Now it crashes right after the Freelancer splash screen.
Btw I tried it with both MissionNum = 41 and MissionNum = 42, and did delete the content from C:\Documents and Settings(username)\My Documents\My Games\Freelancer\Accts\SinglePlayer
So, what did I do wrong?
(Btw my newplayer file is a few posts above, it’s a bit redundant to post it again)
-
mknote wrote:
Moonhead, reread my post. I said that it was save files combined with InitialWorld that caused it.MK
I realized that after my response. Hence the edit - I have no mods at hand with custom mods (nor the time to dl and try them), but the matter is interesting and I will hav to deal with it later.
At the moment I’m more puzzled why my seemingly universal OpenSP (using your newplayer.fl method) causes my FL 1.1 to crash to desktop…
Maybe it simply conflicts with Jason’s patch… I will have to find that out.
EDIT: Stupid, stupid me. I simply forgot I still had a 1.0 version of common.dll :roll:
-
@mknote: I still don’t see how that works. Here’s what I think happens. You install the mod for the first time, so FLMM creates a new folder for the save games (assuming savesafe=“false”). You select your options, newplayer.fl is modified and start Freelancer, which creates restart.fl. You play through the mod and deactivate it, to set new starting options. Now, even though newplayer.fl has been changed, the earlier restart.fl still exists, so Freelancer does nothing with newplayer.fl and you still have the old starting options, not the new.
@Moonhead: After all that, I’m not sure what you still want to know… Regarding FLMM with restart.fl, I can only repeat the manual. SP from MP uses InitialWorld.ini for reputation (unlocking all the gates in the process). Regarding godmode, Freelancer has one built in (single-player only) - change your shortcut to include -g, or use Console to change it dynamically.
As an aside, regarding the [Group] values, it turns out (at least for SP), that this controls the job opponents. By making Liberty Navy hostile to Liberty Police, I was able to take a Police job against the Navy.
-
adoxa wrote:
@Moonhead: After all that, I’m not sure what you still want to know…
For the moment I’m fine now, thanks! Sorry my for over-asking; I’m eager to get into it all again and I guess I was a bit upset by the fact that I had to patch to 1.1, and the changes that come with it. You and the others have done a great job helping me out.
I’ll be following the discussion between you and MKnote about the savesafe value with interest.
-
@adoxa: All right, I went back and tested things to make sure I wasn’t talking out of my ass, and it turns out that you were both right and wrong. You were right in that we want to use savesafe=“false” and not savesafe=“true”, but your explanations of both were wrong.
adoxa wrote:
@mknote: I still don’t see how that works. Here’s what I think happens. You install the mod for the first time, so FLMM creates a new folder for the save games (assuming savesafe=“false”). You select your options, newplayer.fl is modified and start Freelancer, which creates restart.fl. You play through the mod and deactivate it, to set new starting options. Now, even though newplayer.fl has been changed, the earlier restart.fl still exists, so Freelancer does nothing with newplayer.fl and you still have the old starting options, not the new.Incorrect. savesafe=“false” creates a new folder for each option, and hence a new restart.fl for each option. What you’re describing here is actually savesafe=“true”. Note that this is tested with FLMM 1.31, so if you’re using a later version, that could be a cause for confusion.
@Moonhead: The above means, then, that you want to use savesafe=“false”, not savesafe=“true” as I indicated. Note that this is only true if you use your script to change newplayer.fl based on several options, as I did. If you’re using the same newplayer.fl for all options, or don’t have any options, savesafe=“true” may be a better option.
@me: Stop saying things without testing it first. It makes you look like an idiot and confuses the hell out of everyone.
MK
-
mknote wrote:
@Moonhead: The above means, then, that you want to use savesafe=“false”, not savesafe=“true” as I indicated. Note that this is only true if you use your script to change newplayer.fl based on several options, as I did. If you’re using the same newplayer.fl for all options, or don’t have any options, savesafe=“true” may be a better option.
Thanks for the info
As of yet, I just omitted the entire line. Then a restart.fl is generated, and I will remove it when changing opening stats.
-
@ MKnote:
It is my guess that the sections like
house = player, fc_or_grp, 0
in NewPlayer.fl
work the same as the sections like
Act_SetRep = Player, fc_or_grp, 0
in the M13.ini of Xerx’s OpenSP
That is: they set the player’s rep with the various factions, according to the value after the faction nickname. Right?
Yet - it doesn’t seem to matter what value I put in there. My player character starts off neutral to all factions.
Btw, I already tried both deleting and not deleting the contents of My Games\Freelancer\Accts\SinglePlayer and then restart. This did not have any influence on the matter.
So my question is: how do you set the starting for the player, using NewPlayer as an OpenSP?
-
mknote wrote:
That’s strange, 'cause you’re right about how that works in newplayer.fl. Further, I just tested it, and it works fine for me. Have you tried using a physical newplayer.fl file, instead of creating one through FLMM script?MK
I just tested it, after reading your reply. It doesn’t matter. For some reason, the game engine seems to ignore the contents of the ‘house’ sections.
Weird, because it does process the custom starting base, ship and loadout… So, there must be something blocking changes in the player’s repuation. Bribing and doing missions works fine though, so it’s the initial rep set exclsuively.
I do make sure the Accts/SinglePlayer folder is empty, but I also tried is without doing that, on purpose. All with no succes.
-
adoxa wrote:
House has the same purpose as Act_SetRep, but not the same format: house = value, faction.Thanks for pointing that out!! Indeed I had the faction and value reversed (because I took it from my old M13.ini and used ctrl+h to replace all the Act_SetRep with house)
You’d think that correcting this would mean the end of the problem, but alas: my player is still neutral towards all factions :-? (and yes, I did empty the Accts\SinglePlayer folder and close-and-restart FLMM before testing any changes).
EDIT: What I also find odd, is that my player is lvl 1, although he has $ 999,999,999. In my adaption of Xerx’s OpenSP, my player was ‘promoted’ to lvl 38 right at start. Now, that promotion happens after a mission or a bribe… :-?