The Freelancer Community Site by Team [RIP] » Board index » The FLC Public Forums » Freelancer Tutorials




Post new topic Reply to topic  [ 36 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Creating missions
 Post Posted: Mon Feb 02, 2009 9:21 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
Making missions, by DwnUndr Feb 2009

Thanks to FlyByU for some of this info. ;)


For a brand new system. I will be showing screenshots of one of the UnderVerse systems as we go along. I am sure there are other methods, this is the one we settled on.

For a lone system without much going on you can simply create one huge pop zone with the desired encounter factions present in it. It isn't important that they actually fight, but it can make it more interesting.

After much experimenting, I decided on the following tact.

* One small 4km zone with the mission factions in it. I examined several vanilla systems and talked to FlyByU a bit. We came to the conclusion that if you have a lawful base offering the missions and an 'open' vignette_type then the game will randomly pick ANY unlawful factions that you have defined in the system. Now, you can go further and place a zone inside of the vignette to force the misson to one particular npc, but by placing this random zone it covers it all. One drawback to the huge system encompassing zone is that every single time you enter the system (from a gate, hole, base or F1) you have the encounter appearing! In my easier Merchant Alley systems this was not desirable as I had planned fights carefully.

* For most systems this zone was centered on a Nav buoy. The reason is that a bunch of our players like to whack npcs, for hours, heh. If they find the Nav buoy in a system they can kill, F1, kill etc to their hearts content. I intentionally placed these in remote areas so they don't have to worry about intruders usually.

* I tend to use FLExplorer for some easy parts but I hand code most of it. Everyone knows of problems this program introduces, so use it sparingly.

Step 1: Create your pool of unlawful (and a few lawful if you are giving them base ownerships). Here is the pool that FlyByU created for me:

[Zone]
nickname = Zone_NN01_pop_ambient_01
pos = 68638, 0, -10650
rotate = 0, 0, 0
shape = SPHERE
size = 4000
comment = Ambient Pop
sort = 51
toughness = 4
density = 4
repop_time = 25
max_battle_size = 4
pop_type = Background
relief_time = 35
faction_weight = the_swarm_grp, 1
faction_weight = robot_arms_grp, 1
faction_weight = riff_raff_grp, 1
faction_weight = lev_iathan_grp, 1
faction_weight = bio_syn_grp, 1
faction_weight = grue_bad_grp, 1
faction_weight = gimp_s_grp, 1
faction_weight = lunatic_s_grp, 1
faction_weight = tus_can_grp, 1
faction_weight = lost_legion_grp, 1
faction_weight = coal_sack_grp, 1
faction_weight = kni_riders_grp, 1
faction_weight = band_itos_grp, 1
faction_weight = muh_adeen_grp, 1
faction_weight = kel_morian_grp, 1
faction_weight = boh_av_grp, 1
faction_weight = kra_ken_grp, 1
faction_weight = ku_p_grp, 1
faction_weight = pal_adin_grp, 1
faction_weight = fre_men_grp, 1
faction_weight = road_war_grp, 1
faction_weight = riders_ro_grp, 1
faction_weight = dob_ies_grp, 1
faction_weight = rh_p_grp, 1
faction_weight = gd_bh_grp, 1
encounter = area_defend, 4, 0.100000
faction = the_swarm_grp, 0.040000
faction = robot_arms_grp, 0.040000
faction = riff_raff_grp, 0.040000
faction = lev_iathan_grp, 0.040000
faction = bio_syn_grp, 0.040000
faction = grue_bad_grp, 0.040000
faction = gimp_s_grp, 0.040000
faction = lunatic_s_grp, 0.040000
faction = tus_can_grp, 0.040000
faction = lost_legion_grp, 0.040000
faction = coal_sack_grp, 0.040000
faction = kni_riders_grp, 0.040000
faction = band_itos_grp, 0.040000
faction = muh_adeen_grp, 0.040000
faction = kel_morian_grp, 0.040000
faction = boh_av_grp, 0.040000
faction = kra_ken_grp, 0.040000
faction = ku_p_grp, 0.040000
faction = pal_adin_grp, 0.040000
faction = fre_men_grp, 0.040000
faction = road_war_grp, 0.040000
faction = riders_ro_grp, 0.040000
faction = dob_ies_grp, 0.040000
faction = rh_p_grp, 0.040000
faction = gd_bh_grp, 0.040000

Now, that's quite the mouthful, heh. It includes 16 unlawfuls and 9 lawfuls since I do indeed give the bad guys some bases. Manually paste 'your' list to the bottom of each of the systems you will be adding this to. When the mission works, it will randomly select only one of these factions to insert into the mission. The difficulty and level set in this pop zone don't matter (except to the guy who likes to sit there and kill them), the mission difficulty is defined by your entries in mbases. We will get to that below.

Step 2: Open FLE and place a single Nav bouy. It helps to first click the lower left button called 'Show Zone' so you can see your fields.

Step 3: Add, Save changes, then close FLE, open your system ini and copy the Nav buoy 'pos =' to your pop zone so it is now centered on it.

Step 4: Save and close, then open FLE again (make sure you close each before working on the other or your changes may not take). It will now look like this:

Image

Now to add vignettes. BUT!!!! Not with FLE!!!! FLE may make undesirable changes to your mbases, don't do it! What we are going to do instead is to use FLE to place Hazard buoys where we want the vignettes, then we will manually replace the buoys with vignettes (we only placed them to get the positions). Place 4 around each base and 5 around each planet. Don't place them in the border squares, the player will appear 'off the gridmap' ingame and that could confuse them. Here are my Hazard buoys (tiny little dots).

Image

Step 5: Save and exit FLE. Reopen your ini file and you will have a bunch of Hazard buoys at the bottom. Scroll up to above the first one and use the enter key to make some workroom. Now copy this to it:

[Zone]
nickname = Zone_RA01_destroy_vignette_01
shape = SPHERE
pos = -49703, 0, 70216
size = 10000
sort = 99.500000
vignette_type = open

Now Change the nickname to your current system name and copy your first Hazard buoy 'pos =' to it. It should look like this now:

Image

Delete the Hazard buoy 1. Now copy your vignette 1 entry and paste it a few times. I find 4 works good, not much scrolling. Change the _01 at the end for each to _02 etc so they are uniqely named. Copy the correct Hazard buoy location to each new vignette, then delete it. Work on down the list until you are done. Save and reopen FLE to look at the results.

Image

Step 6: Tweak the placements. Overlapping vignettes is fine. Having them in clouds is fine if the interference is less than 1.000000. Generally you want vignettes within 30km of the base. You can easily move any of these by using the menu on top of FLE. Click 'Select Zone', then 'Next Zone' repeatedly until you cycle to the one you want. Then click 'Move Zone' and use your mouse to move it. Dang that is easy! Save and exit.

Now you have pool of factions and the vignettes set. One more thing before mbases, bad guy bases.

Lawful bases are defined in a few ways. In your system ini here:

[Object]
nickname = NN01_05
pos = -11834, 0, 49703
ids_info = 494806
behavior = NOTHING
pilot = pilot_solar_easy
dock_with = NN01_05_Base
base = NN01_05_Base
reputation = gd_z_grp <---------------reputation of the base owner
rotate = 0, 45, 0
archetype = largestation1_old
ids_name = 460333
loadout = space_station_old_co_01
difficulty_level = 1
space_costume = benchmark_male_head, benchmark_male_body
voice = atc_leg_m01

What defines them as lawful or unlawful is in faction_props.ini here:

[FactionProps]
affiliation = gd_z_grp
legality = lawful <-------------------------here
nickname_plurality = plural
msg_id_prefix = gcs_refer_faction_gd_z
jump_preference = any
npc_ship = gd_z_ge_fighter2_d1-6
npc_ship = gd_z_bw_freighter_d1-6
npc_ship = gd_z_bw_freighter_d7
etc...

So, a lawful base, using an 'open' vigette declaration, will pick from the pool of unlawfuls for the missions. But how about unlawful owned bases? Simply add one line to each vignette that surrounds that particular base like this:

[Zone]
nickname = Zone_rr01_destroy_vignette_01
shape = SPHERE
pos = -65334, 0, -30667
size = 10000
sort = 99.500000
mission_type = lawful, unlawful <--------------------new line
vignette_type = open

This line is a bit confusing, basically it reads mission_type = kill lawfuls, for unlawfuls. Many people do it the wrong way and it won't work. There are other types to put here, ask if interested. Once everything is finished, rep edit yourself to be friendly and land here, then verify that the missions are indeed against lawful factions.

Step 7: Mbases.ini OooO! Don't mess up in here. Be sure to have your mod backed up first, I warned ya!

First, verify that each base in this system has the proper entries. A base that WILL NOT offer missions should look like this:

[MBase]
nickname = OR01_01_Base
local_faction = li_p_grp
diff = 0 <----------------------------------------set to 0
msg_id_prefix = gcs_refer_base_OR01_01_Base

[MVendor]
num_offers = 0, 0 <--------------------------------no offers

[BaseFaction] <---------------------------only the following two lines
faction = li_p_grp
weight = 100
-----------------------------------

A base that WILL offer missions should look like this:

[MBase]
nickname = SD01_01_Base
local_faction = co_vr_grp
diff = 6
msg_id_prefix = gcs_refer_base_SD01_01_Base

[MVendor]
num_offers = 2, 3

[BaseFaction]
faction = co_vr_grp
weight = 100
offers_missions = true
mission_type = DestroyMission, 0.480490, 0.900380, 100
npc = SD0101_lnavy_001_f <----I have this particular npc for bribes only, no missions
-----------------------------------

Here is a quick (ok, maybe not so quick, heh) explanation of each new entry:

diff = 6

Here is a blurb from my other tutorial on this:

diff = 0 no missions offered
diff = 1 Diff2Money = 0, 1800
diff = 2 Diff2Money = 0.082100, 2200
diff = 3 Diff2Money = 0.112380, 2655
diff = 4 Diff2Money = 0.205130, 3219
diff = 5 Diff2Money = 0.351000, 3919
diff = 6 Diff2Money = 0.480490, 4792
diff = 7 Diff2Money = 0.657740, 5887
diff = 8 Diff2Money = 0.900380, 7264
diff = 9 Diff2Money = 1.232530, 9001
diff = 10 Diff2Money = 1.687200, 11201
diff = 11 Diff2Money = 2.309610, 13994
diff = 12 Diff2Money = 3.161630, 17551
diff = 13 Diff2Money = 4.327960, 22093
diff = 14 Diff2Money = 5.924540, 27904
diff = 15 Diff2Money = 8.110100, 35356
diff = 16 Diff2Money = 11.101920, 44928
diff = 17 Diff2Money = 15.197410, 57246
diff = 18 Diff2Money = 20.803740, 73118
diff = 19 Diff2Money = 28.478239, 93597
diff = xx Diff2Money = 38.983860, 120051
diff = xx Diff2Money = 53.365002, 146192
diff = xx Diff2Money = 73.051361, 190050
diff = xx Diff2Money = 100.000000, 247065

Basically, this particular base was set to offer missions ranging from $4792 to $7264. The start amount is in the line where I placed the diff = 6 header.

num_offers = 2, 3

This sets the minimum and maximum offers that show up on the job board. It assumes you have at least 3 valid vignettes near the base. Two jobs will always show up with the occassional 3rd.

offers_missions = true

This has to be here. A false declaration is not valid.

mission_type = DestroyMission, 0.480490, 0.900380, 100

0.480490 This corresponds to the desired $4792 payout.

0.900380 This is EXACTLY two jumps down in the list, no more and no less. You can jump more but I have observed bad things happening. Looking through vanilla 99% of all bases they made had exactly 2 jumps.

The 100 at the end is faction weight. It is best explained by looking at this example from Planet Manhatten:

[BaseFaction]
faction = li_n_grp
weight = 13
offers_missions = true
mission_type = DestroyMission, 0.000000, 0.112387, 30
npc = li0101_lnavy_001_f
npc = li0101_lnavy_002_m
npc = li0101_lnavy_003_f

[BaseFaction]
faction = li_lsf_grp
weight = 13
offers_missions = true
mission_type = DestroyMission, 0.000000, 0.112387, 20
npc = li0101_lsf_001_f
npc = li0101_lsf_002_m
npc = li0101_lsf_003_m

[BaseFaction]
faction = li_p_grp
weight = 30
offers_missions = true
mission_type = DestroyMission, 0.000000, 0.112387, 50
npc = li0101_lpolice_001_f
npc = li0101_lpolice_002_m
npc = li0101_lpolice_003_m

See how they have three groups offering missions? Add up the 30, 20 and 50 to get 100.

Some of those entries can become a whole lot more complicated, but there it is for a brand new base with simple entries.
-------------------------------------------------

Ok, back to our example....

Decide how much you want the mission reward to be and set those entries and numbers. For num_offers, I usually place 3, 5 for planets and 2, 4 for bases.

Repeat for each base in that system, save it and test it.

Good hunting!

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
 Post subject:
 Post Posted: Fri Feb 13, 2009 9:27 am 
Offline
Member
Member
User avatar

Joined: Mon Jan 07, 2008 5:56 pm
Posts: 253
Thanks for that Dwn finally got my missions to work with the help of this.

_________________
Image


Top 
 Profile  
 
 Post subject:
 Post Posted: Fri Feb 13, 2009 1:27 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
Sweet! :P

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
 Post subject:
 Post Posted: Mon Feb 16, 2009 8:48 am 
Offline
Member
Member
User avatar

Joined: Mon Jan 07, 2008 5:56 pm
Posts: 253
Just a few things i discovered while adding missions and thought id add them to this.

1) The num_offers line also determines how many missions a base will offer.

I discovered that the first number seems to be how many missions the base offers and how many different players can take missions at the same time. Also it seems to be that the second number relates to how many zones are in the system or near the base. In the most case for my missions i set it to 4, 8 and get 4 missions shown on the board at once.

2) I've read a few tutorials about adding missions before firt going ahead and doing them and it seems its a common myth that you cant overlap mission zones. Well the fact is you can. eg jus take a look at somewhere like new york and there are tons of them overlapped. So overlapped all of mine in a couple of the systems and they work just fine without a hitch.

3) Dwn mentions above that there should only be a jump of 2 levels in the diff2money file. Again after testing i have discovered this to also be incorrect. All of the missions i recently added already contained this line

mission_type = DestroyMission, 28.478237, 98.000000, 100


Which in my diff2money.ini is a jump of 5 as shown here (although the 98 value is incorrect)

Diff2Money = 28.478239, 1475200
Diff2Money = 38.983860, 1654700
Diff2Money = 53.365002, 2469600
Diff2Money = 73.051361, 2983800
Diff2Money = 85.051361, 3514600
Diff2Money = 100.000000, 4000000

With the above line in place the missions appeared without any problems just at lower values.


Anyway i hope this helps anyone else trying to learn to add missions ;)

_________________
Image


Top 
 Profile  
 
 Post subject:
 Post Posted: Mon Feb 16, 2009 9:54 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
Yes, you seem to have a good grasp of things, it just comes down to personal preference. For instance, you could have 20 vigs in a system and set a base to 10, 20 offers. You would always have at least 10 on the board and up to 20 (dice roll). But some of those missions would 'probably' end up on the other side of the system, maybe an 80 km flight (and back again if it was to return a pod). I have noticed that the bases always choose the vigs near the base, so it must be programmed that way. Perhaps they only look 30km-40km if allowed (you haven't set the number of offers higher than the umber of vigs that close).

Have you tested this? I would be interested to know. With only 5 vigs within 40km and number of offers set to 20, will it repeat missions within the 5 closest vigs or will it only use each vig once and spread out? My assumption is that it would repeat the closest ones which would mean you could have 1 vig in the whole system and set offers to 5, 10 and it would work fine.

As far as the money jumps, yes you can jump higher but you already noticed it uses the lower values. Since DA used only two jumps I recommend this (no telling what errors it may be generating internally). But if it works for you, go with it. :P

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
 Post subject:
 Post Posted: Mon Feb 16, 2009 10:47 pm 
Offline
Member
Member
User avatar

Joined: Mon Jan 07, 2008 5:56 pm
Posts: 253
Interesting thought if i get time in the morning ill experiment a bit and let you know my findings.

Another thing i noticed is on 3 of the stations i added missions although the vignettes are close anough and the necessary npc zones are present when you go to take missions it tells you none available come back later.

However you can take missions from the npc's in the bar but they offer a lot less cash than the mission board does.

Further investigation into mbase and i found each mbase npc character also had this line defined in them

misn = DestroyMission, 53.365002, 85.051361

Adjusting that increased what they paid as well, on the npcs the last figure relating to the faction weight is not necessary.

_________________
Image


Top 
 Profile  
 
 Post subject:
 Post Posted: Tue Feb 17, 2009 12:32 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
Were you friendly enough with the base owner? I'm not sure of the cutoff point, maybe -0.25 or so? I know that if I start neutral (and depends on the empathy settings, heh) I can take and abort only 3 missions (to see where the destinations were) before they won't give me missions again. Gee, they can't take a joke. :lol:

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
 Post subject:
 Post Posted: Tue Feb 17, 2009 2:38 am 
Offline
Member
Member

Joined: Tue Feb 26, 2008 11:46 am
Posts: 79
One thing I found while doing mission scripts is that at least one vignette zone must overlap the base. Otherwise you don't get any missions. There was the rare exception where a base would give missions but it was few and far between when they would give them. Always intersect at least one zone with the base so it can have access to the other zones in the system. Also, zones ignore the Y axis. You do get 3D missions but the zones are parsed as if Y is 0. This is with the NoCD version so the original 1.1 version may behave slightly different. Being 'close enough' does not count, it must overlap by at least 1 unit.


Top 
 Profile  
 
 Post subject:
 Post Posted: Tue Feb 17, 2009 5:48 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
Oi! I think you are right about 3D systems and vig at 0. Mine still works since they are elevated +/- 7300 but you go to 0 for the mission even though I have them set at the right elevation. Strange stuff, heh.

Hmm, although...maybe it was simply choosing another nearby vig. I will have to test this more, I remember another mod climbing above 0 to a mission...

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
 Post subject:
 Post Posted: Tue Feb 17, 2009 8:38 am 
Offline
Member
Member
User avatar

Joined: Mon Jan 07, 2008 5:56 pm
Posts: 253
Yep i was friendly enough had my rep set green across the board for testing purposes.

_________________
Image


Top 
 Profile  
 
 Post subject:
 Post Posted: Tue Feb 17, 2009 10:00 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
Now for the gold star. Who has found a fix for this?

WARNING: get_zone(60) failed
WARNING: get_zone(60) failed
WARNING: get_zone(60) failed
WARNING: get_zone(60) failed
WARNING: get_zone(54) failed
WARNING: get_zone(54) failed
WARNING: get_zone(54) failed
WARNING: get_zone(54) failed
WARNING: get_zone(54) failed
WARNING: get_zone(54) failed
WARNING: get_zone(44) failed
WARNING: get_zone(44) failed
WARNING: get_zone(45) failed
WARNING: get_zone(45) failed

Every time you visit the mission board it throws these out. Counting down the word 'zone' in the system ini shows they belong to everything except vignettes, i.e. gates, tradelanes, encounters etc. No rhyme or reason why a mission would be looking at non-vignette zones during mission creation.

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
 Post subject:
 Post Posted: Wed Feb 18, 2009 8:52 am 
Offline
Member
Member
User avatar

Joined: Mon Jan 07, 2008 5:56 pm
Posts: 253
Never encountered that one before.

_________________
Image


Top 
 Profile  
 
 Post subject:
 Post Posted: Fri Feb 20, 2009 10:46 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
Well, even a vanilla launch has these errors. I was just hoping someone had found a way to squash them. You should have them too. :wink:

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
 Post subject:
 Post Posted: Sat Feb 21, 2009 9:07 am 
Offline
Member
Member
User avatar

Joined: Mon Jan 07, 2008 5:56 pm
Posts: 253
which file or error checker shows these?

_________________
Image


Top 
 Profile  
 
 Post subject:
 Post Posted: Sat Feb 21, 2009 4:13 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Sun Jan 06, 2008 4:53 pm
Posts: 1040
flspew/flspit

_________________
http://FreelancerCommunity.net
http://UnderVerse.us


Top 
 Profile  
 
Display posts from previous:  Sort by  
 
Post new topic Reply to topic  [ 36 posts ]  Go to page 1, 2, 3  Next

The Freelancer Community Site by Team [RIP] » Board index » The FLC Public Forums » Freelancer Tutorials


Who is online

Users browsing this forum: No registered users and 2 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron