[General Tutorials] Complete Guide to getting Missions against Nomads
-
I’m interested in implementing this in our mod but have a concern.
It seems to me that unless the player characters were created from the beginning while running the mod, a player would not recognize the faction for what it is (hostile/friendly). Perhaps not even recognize the faction at all as it’s not in their ‘replist’ in their playerfile.So, if that’s indeed the case, how would I go about making those ‘hard coded’ edits to make missions against the original nomads work?
-
I’m interested in implementing this in our mod but have a concern.
It seems to me that unless the player characters were created from the beginning while running the mod, a player would not recognize the faction for what it is (hostile/friendly). Perhaps not even recognize the faction at all as it’s not in their ‘replist’ in their playerfile.So, if that’s indeed the case, how would I go about making those ‘hard coded’ edits to make missions against the original nomads work?
There is a small hex edit you need to do to make them appear on the rep screen. To make them appear in missions the npcships entries for the nomads need to be class_fighter, you also need to modify the nomad encounter ini’s to make them class_fighter. Thats pretty much it in a nutshell. After that… treat them like any other faction.
-
There are 3 entries in the npcships.ini file that refer to the nomads.
MSN13_Nomad_Fighter_Populator
SETSCENE_Nomad_FIghter
and fc_n_no_fighter_d19
I’ve changed all of them from FIGHTERS to class_fighterThe only one assigned in the faction_prop.ini file is the fc_n_no_fighter_d19 so I don’t think I really needed to do the first two, but I figured for now it couldn’t hurt.
the contents of the area_nomads.ini file are as follows:
[EncounterFormation]
ship_by_class = 1, 1, fighters
pilot_job = assault_leader_job
make_class = wanderer
ship_by_class = 3, 3, fighters
pilot_job = assault_job
make_class = wanderer
formation_by_class = fighters
behavior = wander
arrival = cruise
allow_simultaneous_creation = yes
zone_creation_distance = 0
times_to_create = infinite[Creation]
permutation = 0, 3That looks correct to me.
And yet, no missions. -
I am using an already existing encounter file, ‘area_nomads’ for this. If you feel you are up to it, you may create a new one, using a similar encounter file as a template. To be safe though, I would suggest you stick along with what I am proposing initially, until you are confortable with it, and know what everything does. Save and close this file. Remember earlier when we had to edit a line in npcships.ini? The line had ‘FIGHTER’, and we needed to alter it to ‘class_fighter’. We need to repeat this again in a similar way for our encounter. I didn’t explain why this needs to be done, so i’ll do that now. If you used the default entries of ‘FIGHTER’, our encounters would show up in space, but not in missions. There is a file named shipclasses.ini, which contains ship classifications. Basically, ‘class_fighter’ belongs to the category ‘sc_fighters’, which is recognized for missions, whereas ‘FIGHTER’ is a member of ‘fighters’ which is not recognized in this way. This is a hardcoded limitation of freelancer, and there is no way around this except by using a different class.
Are you saying here that I need to edit the area_nomads.ini file and change it thusly?
<data file=“data\missions\encounters\area_nomads.ini” method=“sectionreplace”>[EncounterFormation]
ship_by_class = 1, 1, fighters<dest>ship_by_class = 1, 1, fighters
pilot_job = assault_leader_job
make_class = wanderer
ship_by_class = 3, 3, fighters
pilot_job = assault_job
make_class = wanderer
formation_by_class = fighters</dest>
<source>
ship_by_class = 1, 1, class_fighters
pilot_job = assault_leader_job
make_class = wanderer
ship_by_class = 3, 3, class_fighters
pilot_job = assault_job
make_class = wanderer
formation_by_class = class_fighters</data> -
This change:
<data file=“data\missions\encounters\area_nomads.ini” method=“sectionreplace”>[EncounterFormation]
ship_by_class = 1, 1, fighters<dest>ship_by_class = 1, 1, fighters
pilot_job = assault_leader_job
make_class = wanderer
ship_by_class = 3, 3, fighters</dest>
<source>
ship_by_class = 1, 1, class_fighters
pilot_job = assault_leader_job
make_class = wanderer
ship_by_class = 3, 3, class_fighters</data>not only does not make the missions happen, they cause my regular nomad spawns to disappear.
I noticed all other formation_by_class = fighters were set to fighters so I left that at fighters, but making it class_fighters doesn’t change the end result.
-
In the encounter file…
ship_by_class = 1, 1, sc_fighters ;<-------------
pilot_job = assault_leader_job
make_class = wanderer
ship_by_class = 3, 3, sc_fighters ;<-------------
pilot_job = assault_job
make_class = wanderer
formation_by_class = fightersIn the npcships.ini…
npc_class = unlawful, class_fighter, -
From my area_nomads.ini file:
[EncounterFormation]
ship_by_class = 1, 1, sc_fighters
pilot_job = assault_leader_job
make_class = wanderer
ship_by_class = 3, 3, sc_fighters
pilot_job = assault_job
make_class = wanderer
formation_by_class = fighters
behavior = wander
arrival = cruise
allow_simultaneous_creation = yes
zone_creation_distance = 0
times_to_create = infinite[Creation]
permutation = 0, 3From the npcships.ini file
[NPCShipArch]
nickname = fc_n_no_fighter_d19
loadout = no_fighter_loadout02
level = d19
ship_archetype = no_fighter
pilot = MSN13_Nomad_Fighter
state_graph = FIGHTER
npc_class = unlawful, class_fighter, d19No Nomad spawns, no missions.
A Vanilla area_nomads.ini will restore the spawns. But, still no missions.
sniff -
Spawns are fixed by fixing the ship class in the encounters. But, still no missions.
Has anyone tried running this mod on a server that has previously created characters? What happens when a player character that was created prior to this mod being implemented runs into the new faction? The NPC group won’t be in their initialworld stats. I’m guessing the empathy stats are server side or a combination of clientside/serverside, but if the player char doesn’t even have the faction in their player files I’m suspecting they’re going to crash when they run into these new NPCs.
Short of editing each and every existing player file, are there any other options?
Thx.
R
-
Guys, anyone tried to do these missions? work? Because I’ve done all that is written here and I have only npc ships in space, but no missions.
-
Yes, missions are working on FLU. You do need to do the Adoxa exe hack in order to make them work properly.
In addition to the coding you need to implement the following hax
content.dll ServerSide
(23May2003 version from 1.1) edited at
0x518C7(h) 34->00 allow fc_n_grp for randommissions (part1) ~Adoxa
0x519B7(h) 34->00 allow fc_n_grp for randommissions (part2) ~Adoxacommon.dll ClientSide
edited at
0x143C94(h): 66 63 5F 6E 5F 67 72 70->00 00 00 00 00 00 00 00
add Nomads to replistAlso, make sure that your vignettes are within 40k of the base offering the missions and that at least one of those vignettes is overlapping the base as well. I created a series of vignettes starting at the base and overlapping slightly all the way out to the area where I wanted the missions to be. Seems to work.
-
This means that we do not need to create a new faction? Ok. And it works on SP or MP?
one question
Do you know why the newly created faction do not give the mission against each other? I have created several factions, but they do not give any mission, even against standard fractions =( _Can hack from Adoxa to fix this?thanks for the help_
-
I don’t know about SP. I know it works in MP.
I also don’t know why missions are not showing up with your added faction without seeing the mod.Does the faction have an enemy populating the system? I don’t remember off hand if they have to be populating a base, but at least they need to be showing up in chance encounters.
Both factions need to be populating the system. The faction offering the missions needs to populate a base in the system (obvious). The vignettes need to be within 40k of the base offering the missions, and at least one of those vignettes should be overlapping the base.
Finally, the two factions need to be hostile with each other. This is set in empathy.ini and intitialworld.ini.