RASAUUL's STORYLINE BIBLE

  • General Storyline setup by Rasauul


    A Storyline mission is generally made up of several standard parts:


    1. [Mission]
    This is the storyline starter it states that everything below here is a mission
    file.


    2. npc_ship_file = X
    (fx: npc_ship_file = missions\m04\npcships.ini)
    This line placed just below the mission statement tell the program what folder to go to for ship loadouts


    3. [NPC] introductions
    The [NPC] statement means that this is a NPC
    and we can include info on what name, ship, voice and pilot-look is attached to it.
    (activated by [MsnShip]entries)


    4.[MsnShip] Behaviour
    In these entries we assign behaviour to the NPCs, Location in 3d space, orientation, groups that the
    npc belongs to and wheter the npc can use jumpgates or not.
    (activates by [Trigger]s)


    5. [MsnFormation]s
    The [MsnFormation] statement is an extension on the [MsnShip] files and grabs several [MsnShip]s and ties
    em together in one of many possible formations, assigns a position (in 3d space) and possibly sets their orientation a.k.a
    direction.
    (activates by [MsnShip]entries and [Trigger]s)


    6. [NNObjective]s
    Now we make the entries for the general storyline objectives for the Player: Go here, then go here
    , then dock with this object, then kill this guy, and so forth.
    (activates by [Trigger]s)


    7. [objlist] orders
    This resembles the above entry header, BUT now we are giving orders to the NPCs, these differs from the player [NNObjective]s
    in the way that the NPCs are "forced" to obey these as opposed to the player objectives that can be "Ignored"
    .....if ure a comple moron.....
    (activates by [Trigger]s)


    8. [Trigger]s
    These guys are the core of the mission file and can be thought of as the "Event-tree"
    or the "event-progress" of the mission file, these files activate all the above named entries.


    The "event-tree" activates by the "InitState = active" command included in the starter [Trigger]
    and ends with the "Act_ChangeState = SUCCEED" command in the final mission file [Trigger].


    9. summing it up
    Think of the mission as a tree, growing in one general direction but
    branching out too, dividing into smaller branches that end (or loop)......until u arrive with ur chainsaw and cut it into
    savegame firewood with the "Act_ChangeState = SUCCEED" command, Have Fun










    10. What does these headers mean/ summing it up


    [NPC]
    Ships description


    [MsnShip]
    ship and solar behaviour


    [MsnFormation]
    formation descriptions


    [NNObjective]
    objectives:
    Objectives are really the storyline's way of communicating with you, they tell you where to go and what to do to fullfill the
    mission requirements and keep you proceeding through the storyline.
    All Objective entries are linked to a trigger, if not then they are not activated and might as well not be in ur ini.



    [ObjList]
    Actions/Goto/stay within range/follow/break formation
    These contain orders given to non-player ships (anyone but you in singleplayer), this makes your friends follow you,
    and break formation when engaging combat, it makes your enemies know where to stay after spawning and/or where
    to go.
    All ObjList entries are linked to a trigger, if not then they are not activated and might as well not be in ur ini.



    [Trigger]
    storyline tree of events


    [Dialog]
    Storyline voice and sound entry links


    Rasauul.


    11. Splicing mission inis by Rasauul


    I did this to get a completely blank mission 13 folder and ini, for my custom mission thats still in the works (about halfway).
















    Splicing mission Inis:


    Were moving m13 to m12.
    1. Copy all ship loadouts from M13/npcships.ini


    2. Paste them to M12/ npcships.ini


    3. If any of the ship loadouts are the same then you need to rename them(unless its essentially the same loadout, then just keep one)


    4. Rename all M13 triggernames giving them an extra "_M13" in the name, this just saves a lot of hassle later and makes the missions more easy to tell apart.
    Also you will have to redo all the Act_Actrigs that leads to these triggers (see my other tutes for explanation on this).


    5. Remove the CHANGESTATE = SUCCEED command from the end of mission 12.


    6. Find the last m12 trigger, there loads of leftover junk triggers in there that dont work, so if you have trouble then follow the "event tree" aka trigger entries to find the right one.


    7. Find the M13 trigger entry that holds the INITSTATE = ACTIVE command and delete this.


    8. Insert an Act_Actrig (see my other more basic tutes for explanation) linking the M12 trigger where u deleted the Changestate order with the M13 entry where u deleted the Initstate order.(you might need to redo the FIRE conditions, see other tutes).


    9. now, if u havent allready done so, then cut and paste the entire M13.ini (Except the [mission] header and the Npcshipfile reference) to the M12 ini.


    10. now you can either keep all the M13 mission offer inis in the M13 folder or move em to M12, if you do so then u have to change the directory adresses in the spliced ini(just leave it as it is m8).


    11.Now its time for "concrete football", yes its not really a fun sport, but i bet you will have some crashes and you will tear out your hair, maybe even spit at the screen once or twice, DO NOT WORRY! THIS IS NORMAL!
    Just dry off the screen before your mom or wife enters and reads something very different into it.


    12. Trouble shooting, see my meger troubleshooting advice in the "Actions, parameters and more" tute.


    13. Remember if your using this on a mod where you have moved planets or other system ini solars, you will have to change every rendezvouz(that french for meeting place) so it coincides with your various system.ini changes.


    14. Remember to make lots of comments (using the semicolon aka ";")when you identify the triggers and what they do, this will save you thinking time ( i been trying to cut down on thinking for many years).


    15. You will be able to rip my custom mission 14 and the m12/m13 mission splice from my upcoming mod "MORPH MOD" thats in the making.
    (ill be done in a month or so i reckon)


    16. one more thing. if you have several of the same NPC entry you will get double spawns of npcs n it will mess up the event tree (even though 2 extra hot Swat versions of the titty showing Juni is exhilarating).










    Here we go, setting up space battles in Storyline.
    I decided to make this tute, since setting up a decent storyline battle
    has alotta entries and can be a bit complex.
    ....so you should read all the basic storyline tutes first.


    0. a little snippet about the "object" concept
    1. Spawning
    2. Naming the (Trigger) entry
    3. "pulling" the Trigger
    4. Act_SpawnFormation command
    5. Shout out ComEntry "Icing the cake"
    6. if_key_people_die_u_lose
    7. Group_is_vulnerable
    8. Battle or teaparty?
    9. Meeting the enemy
    10. Assigning hate to single ship + "Icing the cake"
    11. Kill a certain amount of baddies to proceed
    12. [MsnFormation], [NPC]s and [MsnShip]s




    0. a little snippet about the "object" concept
    Think of an object as an "invisible" pin-up board, it does nothing by itself but you can "Pin" or assign alotta things to it:
    Behaviour, looks, actions, how it responds to other objects.
    In this case since were talking storyline battles were really starting with a group of objects in a set formation,
    then we assign Behaviour(MsnShip),
    to which we assign Npc entries,
    to which we assign shipdescriptions (Mission folder/npcships.ini).
    When all the aboves are done we can specify the "Vibe" between the npc groups and/or the Player.
    After this we start giving direct orders to the npcs using the [Trigger]s and the [ObjList] entry commands.



    1. Spawning
    First thing to do is the spawn entry, this is a good way to start since this
    continues your storyline progression and will make it neat and logical.


    A spawn entry could look like this:


    [Trigger]
    nickname = Spawning_Bounty_hunters
    Cnd_Timer = 8
    Act_SpawnFormation = Bounty_hunters_formation
    Act_EtherComm = pilot_c_leg_m01, 261999, Player, gcs_combat_announce_allclear_06-, -1, ge_male2_head, pi_orillion_body, comm_li_hatcher (optional)
    Act_ActTrig = if_key_people_die_u_lose (optional)
    Act_ActTrig = Group1_is_vulnerable (optional)
    Act_ActTrig = Bounty_hunters_wants_blood
    Act_ActTrig = Bounty_hunters_goes_to_fugees
    Act_ActTrig = Bounty_hunters_within_range (optional)
    Act_ActTrig = Bounty_hunters_is_dead (optional)



    2. Naming the (Trigger) entry
    First we name this [Trigger] entry, here its called "Spawning_Bounty_hunters",
    Of course you need an earlier trigger to link to this (Act_ActTrig = Spawning_Bounty_hunters),
    but we shown that in the earlier tutes, ok lets name our trigger for the above entry:


    [Trigger]
    nickname = Spawning_Bounty_hunters



    3. "pulling" the Trigger
    Ok, now we need a "Condition" to be fulfilled before the trigger fires, this is all basic and done in earlier tutes but what the hell,
    Here we will set the trigger to fire 8 seconds after its been linked to, that looks like this:


    Cnd_Timer = 8


    4. Act_SpawnFormation command
    Ok now were getting to what were really talkin' bout! Spawn em all! let loose the dogs of war:
    Act_SpawnFormation = Bounty_hunters_formation
    ........for now this command only specifies an invisible formation of non-existing objects,
    but we will assign formation and ships, to the objects later.



    5. Shout out ComEntry "Icing the cake"
    In the spawn entry we got a little "Icing on the cake"entry, you dont need to have this, but ill describe it anyhoot since the fun is in the details:
    Act_EtherComm = pilot_c_leg_m01, 261999, Player, gcs_combat_announce_allclear_06-, -1, ge_male2_head, pi_orillion_body, comm_li_hatcher
    Translated:
    This_is_a_comm = Clip_is_from_this_library, NameDll, talking_to_Player, Clip_name, ??, This_head, This_body, This_mask
    Yes you guessed it! its one of those little Com entries where u get the square in the upper left corner while in space talkin some stuff at ya.



    6. if_key_people_die_u_lose
    This part Act_ActTrig’s (a.k.a links) to a trigger entry that you see in most of the storyline battles, you can use it or not,
    it "Fails" you if ur mates get blown away f.ex. Juni, king, or others.
    Example:
    [Trigger]
    nickname = king_dies
    system = Li01
    Cnd_Destroyed = escort, 1, EXPLODE
    Act_ChangeState = FAIL, 21960



    7. Group_is_vulnerable
    This part Act_ActTrig’s (a.k.a links) to a trigger making the group vulnerable if it has been made invulnerable at spawn.


    Example on making ships invulnerable:
    [Trigger]
    nickname = com_110_delayed
    system = Li01
    Cnd_Timer = 2
    Act_SpawnFormation = rcruiser_frm, -35007, 0, -26692
    Act_GiveObjList = r_cruiser, ol_nudge_up
    Act_SetVibe = defender1, Player, REP_FRIEND_THRESHOLD
    Act_SetVibe = defender2, Player, REP_FRIEND_THRESHOLD
    Act_SetVibe = defender3, Player, REP_FRIEND_THRESHOLD
    Act_SetVibe = defender1, escort, REP_FRIEND_MAXIMUM
    Act_SetVibe = defender2, escort, REP_FRIEND_MAXIMUM
    Act_SetVibe = defender3, escort, REP_FRIEND_MAXIMUM
    Act_SetVibeShipToLbl = escort, us, REP_FRIEND_MAXIMUM
    Act_SetVibeLbl = us, us, REP_FRIEND_MAXIMUM
    Act_Invulnerable = r_cruiser, true, true, 0.900000
    Act_Invulnerable = defender1, true, true, 0.900000
    Act_Invulnerable = defender2, true, true, 0.900000


    Example on making a group vulnerable:
    [Trigger]
    nickname = com_0160_camera_cut
    system = Li01
    Cnd_CommComplete = DX_M01_0160_DONAU
    Act_CallThorn = missions\m01a\m01a_rev2_05.thn, r_cruiser
    Act_ActTrig = tm_rhescorts_scramble
    Act_SpawnFormation = badboys
    Act_GiveObjList = badboys, ol_order_attack_the_donau
    Act_Invulnerable = o_hostile1, true, false




    8. Battle or teaparty?
    Now were getting down to it, do you want the Nomads to act as the Orders long lost friends? Or do you want em to get down and dirty n’ tear each other to pieces?
    Here is an example on 2 groups being assigned Maximum_Hostility:
    [Trigger]
    nickname = Bounty_hunters_wants_blood
    Cnd_timer = 2
    Act_SetVibe = Bounty_hunter1, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter2, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter3, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter4, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter5, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter6, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter7, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter8, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter9, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter10, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter11, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter12, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter13, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter14, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter15, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter16, Player, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter1, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter2, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter3, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter4, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter5, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter6, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter7, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter8, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter9, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter10, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter11, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter12, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter13, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter14, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter15, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter16, Dokai_Surabaya, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter1, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter2, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter3, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter4, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter5, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter6, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter7, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter8, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter9, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter10, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter11, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter12, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter13, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter14, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter15, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter16, refugees_01, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter1, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter2, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter3, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter4, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter5, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter6, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter7, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter8, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter9, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter10, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter11, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter12, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter13, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter14, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter15, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter16, refugees_02, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter1, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter2, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter3, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter4, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter5, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter6, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter7, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter8, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter9, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter10, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter11, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter12, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter13, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter14, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter15, refugees_03, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Bounty_hunter16, refugees_03, REP_HOSTILE_MAXIMUM


    Now thats alotta bad vibes in the air, these guys really dont get along, the Bounty Hunters hate the refugees and Bounty Hunters hate you as well.
    This is gonna turn ugly..............fast, actually its only the Bounty Hunter’s that hate the fugees, in this case the fugees are running for their lives.



    9. Meeting the enemy
    Now we set up the hate, we still need to get these guys to meet. They may not be within reach of each other so lets set up a meet.
    Were starting from the:
    Act_ActTrig = Bounty_hunters_goes_to_fugees


    That leads to here:
    [Trigger]
    nickname = Bounty_hunters_goes_to_fugees
    Cnd_timer = 3
    Act_GiveObjList = Bounty_hunter1, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter2, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter3, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter4, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter5, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter6, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter7, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter8, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter9, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter10, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter11, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter12, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter13, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter14, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter15, Bounty_hunters_on_fugees3
    Act_GiveObjList = Bounty_hunter16, Bounty_hunters_on_fugees3
    Ok, above you can see that were dealing out this ObjList to the Bounty Hunters:
    [ObjList]
    system = ANY
    nickname = Bounty_hunters_on_fugees3
    SetPriority = NORMAL
    GotoShip = goto, refugees_03, 8500, false


    10. Assigning hate to single ship + "Icing the cake"(optional)
    Were sending in one of the good guys to help the fugees when they get inside the below mentioned distance:
    Starting from the:
    Act_ActTrig = Bounty_hunters_within_range
    We link to this trigger:
    [Trigger]
    nickname = Bounty_hunters_within_range
    Cnd_DistShip = inside, Bounty_hunter1, Dokai_Surabaya, 9500
    Act_EtherComm = pilot_c_leg_m01, 261999, Player, gcs_combat_announce_enemysighted_04-, -1, ge_male2_head, pi_orillion_body, comm_li_hatcher
    Act_ActTrig = Kota_calls
    We get an ethercom message


    [Trigger]
    nickname = Kota_calls
    Cnd_timer = 1
    Act_EtherComm = pilot_c_leg_m01, 261999, Player, gcs_misc_attentionallwingmen_01+, -1, ge_male2_head, pi_orillion_body, comm_li_hatcher
    Act_ActTrig = Kota_engages
    We get another ethercom message


    [Trigger]
    nickname = Kota_engages
    Cnd_timer = 1
    Act_EtherComm = pilot_c_leg_m01, 261999, Player, gcs_combat_order_engage_05-, -1, ge_male2_head, pi_orillion_body, comm_li_hatcher
    Act_ActTrig = kota_wants_some
    Act_ActTrig = go_get_em
    And another com message, no reason to be stingy ?


    [Trigger]
    nickname = kota_wants_some
    Cnd_True = no_params
    Act_SetVibe = Kota_max, Bounty_hunter1, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter2, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter3, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter4, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter5, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter6, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter7, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter8, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter9, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter10, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter11, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter12, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter13, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter14, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter15, REP_HOSTILE_MAXIMUM
    Act_SetVibe = Kota_max, Bounty_hunter16, REP_HOSTILE_MAXIMUM
    And now we assign hostility, go get em Kota!



    11. Kill a certain amount of baddies to proceed
    Here is how you set it up so the player has to kill a certain amount of enemies before the storyline proceeds.
    Example:
    [Trigger]
    nickname = Go_get_some
    Cnd_Destroyed = pirates, 3, EXPLODE
    Act_ActTrig = proceed_with_da_storyline_mon
    Here the “pirates, 3, EXPLODE” line refers to a group, you or your people gotta kill 3 ships from this group to proceed.



    12. 12. [MsnFormation], [NPC]s and [MsnShip]s
    Were starting from the:Act_SpawnFormation = Bounty_hunters_formation


    Which of course leads to:
    [MsnFormation]
    nickname = Bounty_hunters_formation
    position = -26106, 50, 28335
    orientation = 0, 0, 1, 0
    formation = fighter_wall <<<<<<<some formations are faction specific so watch this one
    ship = Bounty_hunter1
    ship = Bounty_hunter2
    ship = Bounty_hunter3<<<<<<<<links to msnship entries
    ship = Bounty_hunter4
    ship = Bounty_hunter5
    ship = Bounty_hunter6
    ship = Bounty_hunter7
    ship = Bounty_hunter8
    ship = Bounty_hunter9
    ship = Bounty_hunter10
    ship = Bounty_hunter11
    ship = Bounty_hunter12
    ship = Bounty_hunter13
    ship = Bounty_hunter14
    ship = Bounty_hunter15
    ship = Bounty_hunter16


    These leads to:
    [MsnShip]
    nickname = Bounty_hunter1
    NPC = Bounty_hunter1
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter2
    NPC = Bounty_hunter2 <<<<<<<<<here we see the npc name
    radius = 0
    label = Bounty_hunters<<<<<<<<<this label can be used to set vibe among other things
    jumper = true<<<<<<<<<<<<<<<<this guy can use gates


    [MsnShip]
    nickname = Bounty_hunter3
    NPC = Bounty_hunter3
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter4
    NPC = Bounty_hunter4
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter5
    NPC = Bounty_hunter5
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter6
    NPC = Bounty_hunter6
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter7
    NPC = Bounty_hunter7
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter8
    NPC = Bounty_hunter8
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter9
    NPC = Bounty_hunter1
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter10
    NPC = Bounty_hunter2
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter11
    NPC = Bounty_hunter3
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter12
    NPC = Bounty_hunter3
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter13
    NPC = Bounty_hunter5
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter14
    NPC = Bounty_hunter6
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter15
    NPC = Bounty_hunter7
    radius = 0
    label = Bounty_hunters
    jumper = true


    [MsnShip]
    nickname = Bounty_hunter16
    NPC = Bounty_hunter8
    radius = 0
    label = Bounty_hunters
    jumper = true


    Which leads to:
    [NPC]
    nickname = Bounty_hunter1
    npc_ship_arch = Bounty_hunter1
    space_costume = manhattan_bartender_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262018


    [NPC]
    nickname = Bounty_hunter2 <<<<<<<<<name linked to
    npc_ship_arch = Bounty_hunter1 <<<<<<this links to the npcships.ini located in your mission folder, its LOCATION NEEDS TO BE STATED AT TOP OF MISSION INI
    space_costume = li_scrote_head, sh_male2_body, comm_ge_generic1 <<<<<<<<<<<<<Pilot look
    affiliation = gd_bh_grp <<<<<<<<<<<<<<<<<<<<<<<<<<<<Faction affiliation
    individual_name = 262019 <<<<<<<<<<<<<<<<<<<<<name dll


    [NPC]
    nickname = Bounty_hunter3
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male4_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262020


    [NPC]
    nickname = Bounty_hunter4
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male2_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262021


    [NPC]
    nickname = Bounty_hunter5
    npc_ship_arch = Bounty_hunter1
    space_costume = manhattan_bartender_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262022


    [NPC]
    nickname = Bounty_hunter6
    npc_ship_arch = Bounty_hunter1
    space_costume = li_scrote_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262023


    [NPC]
    nickname = Bounty_hunter7
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male4_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262024


    [NPC]
    nickname = Bounty_hunter8
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male2_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262025


    [NPC]
    nickname = Bounty_hunter9
    npc_ship_arch = Bounty_hunter1
    space_costume = manhattan_bartender_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262032


    [NPC]
    nickname = Bounty_hunter10
    npc_ship_arch = Bounty_hunter1
    space_costume = li_scrote_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262033


    [NPC]
    nickname = Bounty_hunter11
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male4_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262034


    [NPC]
    nickname = Bounty_hunter12
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male2_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262035


    [NPC]
    nickname = Bounty_hunter13
    npc_ship_arch = Bounty_hunter1
    space_costume = manhattan_bartender_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262036


    [NPC]
    nickname = Bounty_hunter14
    npc_ship_arch = Bounty_hunter1
    space_costume = li_scrote_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262037


    [NPC]
    nickname = Bounty_hunter15
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male4_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262038


    [NPC]
    nickname = Bounty_hunter16
    npc_ship_arch = Bounty_hunter1
    space_costume = sh_male2_head, sh_male2_body, comm_ge_generic1
    affiliation = gd_bh_grp
    individual_name = 262039


    themilkman comments:
    Posts: 33 Nice job! But perhaps using SetVibeLblToShip and SetVibeShipToLbl instead of a ton of SetVibe commands would have been less space-consuming.


    Act_SetVibeLblToShip = rheinlanders, Player, REP_HOSTILE_THRESHOLD


    And the rheinlanders are of the rh_n_grp, which is friendly by faction, then the rheinlanders would appear hostile to the Player, but not do anything. (I am unsure of alot of things, and this is one) Or, the player would appear hostile to the rheinlanders but the rheinlanders would appear friendly to the player.


    I usually do a two-way vibe setting just to be sure it won't do this in some cases.
    When spawning large amounts of ships, I always specify the system = [system] entry in the Trigger because sometimes it crashes the game. I always specify those no matter what trigger nowadays just in case.


    I prefer to use Act_SendComm instead of EtherComm.
    Or Act_StartDialog
    and specify a [Dialog]


    Then the frame around the npc will turn yellow








    Mission parameters commands and more......


    Have Fun - Rasauul


    ;Chapters
    1.Trigger FIRE Parameters
    2.Trigger ACTION Parameters
    3. NNobjective entry options
    4. ObjList Parameters
    5. Trigger Add Options
    6. a little on [NPC] entries
    7. TroubleShooting
    8. Darkstone Story tute


    Here we go with the many trigger entry fire parameters:


    IN This State:
    Cnd_True = no_params...............if nothing else is goin down then fire this trigger
    Cnd_InSpace = true ............if ur spaceside then.......................
    Cnd_InTradelane
    Cnd_InZone


    ON ENTRY:
    Cnd_BaseEnter = st01_01_base
    Cnd_LocEnter = Cityscape, li01_01_base
    Cnd_SystemEnter = St03
    Cnd_TLEntered Player, Li01_Trade_Lane_Ring_141
    Cnd_SpaceEnter
    Cnd_NPCSystemEnter
    Cnd_JumpInComplete


    ON EXIT:
    Cnd_SystemExit = ANY..............if u exit any system then........................
    Cnd_LocExit
    Cnd_BaseExit = st01_01_base.............if u exit this base
    Cnd_TLExited = Player, Li01_Trade_Lane_Ring_141........when u exit this tradelane
    Cnd_LaunchComplete = Player
    Cnd_PlayerLaunch
    Cnd_EncLaunched = se_nomads_5_more...........when these baddies have launched then ....


    DISTANCE Related:
    Cnd_DistShip
    Cnd_DistVec
    Cnd_DistVecLbl
    Cnd_DistCircle


    MISSION OFFER Related:
    Cnd_MsnResponse = accept...............if u accept the mission then.......
    Cnd_MsnResponse = reject...........if u reject


    MANEUVER Related:
    Cnd_PlayerManeuver = Dock, Li01_02_dock_ring ...............when u dock with this ring
    Cnd_LootAcquired = power_cell, Player
    Cnd_CargoScanned


    COMBAT Related:
    Cnd_ProjHit = nomad_vc_1, 1, refugees_03
    Cnd_ProjHitShipToLbl
    Cnd_Destroyed = final_generator5, 1
    Cnd_HealthDec = nomadcap, 0.250000


    RTC (thn) Related:
    Cnd_RTCDone


    COMMUNICATION Related:
    Cnd_CommComplete = DX_M01_0387_KING
    Cnd_PopUpDialog


    TIME Related:
    Cnd_Timer


    MISC:
    Cnd_CharSelect
    Cnd_WatchTrigger
    Cnd_HasMsn
    Cnd_TetherBroke
    Cnd_WatchVibe









    2. Trigger ACTION Parameters


    Act_ActTrig
    Act_NagDistLeaving
    Act_Invulnerable
    Act_MarkObj
    Act_PlayerCanTradelane
    Act_ChangeState
    Act_DeactTrig
    Act_SendComm
    Act_PlayerCanDock
    Act_PlayMusic
    Act_SpawnShip
    Act_SetVibe
    Act_SpawnSolar
    Act_GCSClamp
    Act_RandomPop
    Act_MovePlayer
    Act_CallThorn
    Act_PlaySoundEffect
    Act_StartDialog
    Act_GiveObjList
    Act_Destroy
    Act_SetVibeLblToShip
    Act_Cloak
    Act_RelocateShip
    Act_LightFuse
    Act_SetVibeLbl
    Act_ForceLand
    Act_SetShipAndLoadout
    Act_AddAmbient
    Act_AddRTC
    Act_NNIds
    Act_PopUpDialog
    Act_SetNNObj
    Act_RemoveRTC
    Act_SetOffer
    Act_SetTitle
    Act_RemoveAmbient
    Act_NagOff
    Act_RpopAttClamp
    Act_PobjIdle
    Act_NagClamp
    Act_LockDock
    Act_SpawnFormation
    Act_SetVibeShipToLbl
    Act_NagGreet
    Act_EtherComm
    Act_EnableManeuver
    Act_RevertCam
    Act_Save
    Act_PlayerEnemyClamp
    Act_AdjHealth
    Act_SpawnLoot
    Act_LockManeuvers
    Act_HostileClamp
    Act_DisableTradelane
    Act_NagDistTowards
    Act_SetLifeTime
    Act_AdjAcct
    Act_SetNNState
    Act_SetNNHidden
    Act_GiveNNObjs
    Act_EnableEnc
    Act_DebugMsg
    Act_RandomPopSphere
    Act_SetInitialPlayerPos
    Act_StaticCam
    Act_SetVibeOfferBaseHack
    Act_NNPath
    Act_SetOrient
    Act_RemoveCargo
    Act_SetRep
    Act_DisableFriendlyFire
    Act_Jumper
    Act_GiveMB
    Act_SetPriority
    Act_RPopTLAttacksEnabled
    Act_DockRequest
    Act_ForceLand
    Act_DisableEnc












    3. NNobjectives entry options


    Here we go with the Objectives and the different ways u can set em up:


    0.
    Objectives are really the storylines way of communicating with you, they tell you where to go and what to do to fullfill the
    mission requirements and keep you proceeding through the storyline.
    All Objective entries are linked to a trigger, if not then they are not activated and might as well not be in ur ini.


    0. A little explanation on objectives
    1. Typical trigger linking to an objective
    1a. This one gives you a message
    2. This one clears away any current objective
    3. This trigger is set to pop this objective only once
    3a. This one sets a waypoint attached to a solar and gives you a message
    4. Nav-marker in open space and gives you a message
    5. Jumphole waypoint and text


    1.
    Typical trigger linking to an objective:
    [Trigger]
    nickname = lcx_bar_St02_0112
    system = St02
    Cnd_LocEnter = deck, st02_01_base
    Act_SetNNState = mlog_mission_accept12, ACTIVE <<<this one turns on the objective to pop contineously
    Act_SetNNObj = mlog_mission_accept12 This one fire the objective once
    Act_NNIds = 31200, HISTORY
    Act_DeactTrig = spawn_osiris12_in_St01
    Act_ActTrig = launched_from_osiris12


    1a.
    This one gives you a message,
    Theres no waypoint and the text message is unframed.


    [NNObjective]
    nickname = mlog_mission_accept12
    state = HIDDEN
    type = ids, 24215 <<<"Meet Juni and King in Space outside the Battleship Osiris"



    2.
    This one clears away any current objective
    and says:


    [NNObjective]
    nickname = null
    state = HIDDEN
    type = ids, 21660<<<<<<"Awaiting Mission Objective"



    3.
    Here the trigger is set to pop this objective only once:


    [Trigger]
    system = St03
    nickname = reactivate_hack
    Cnd_True = no_params
    Act_DockRequest = St03_dyson_airlock_1
    Act_SetNNObj = penetrate <<<<<<<<<<< see? no "active state" command


    3a.
    This one sets a waypoint attached to a solar and gives you a message


    [NNObjective]
    nickname = penetrate
    state = HIDDEN
    type = rep_inst, St01, 24475, 1, 0, 0, 0, St03_dyson_airlock_1
    Translated:
    type= solar waypoint, in St01 system, ids-text, this value i dunno (1), x,y,z(coords in space), named solar part


    4.
    This one sets a "nav-marker" in open space


    [NNObjective]
    nickname = mlog_assist_von_claussen12
    state = HIDDEN
    type = navmarker, St01, 24265, 27265, 0, 0, 0
    Translated:
    type= waypoint in space, in St01 system, ids-text, ids-info, x,y,z(coords in space)



    5.
    Jumphole waypoint


    [NNObjective]
    nickname = mlog_jump_back_to_st0112
    state = HIDDEN
    type = rep_inst, St02, 24250, 27250, -969, 0, 10849, St02_to_St01_hole
    Translated:
    type= solar waypoint, in this system, ids-text, ids-info, x,y,z, named solar part











    4. ObjList Parameters


    Here we go with [ObjList] parameters:


    0.
    [objlist] contain orders given to non-player ships (anyone but you in singleplayer), this makes your friends follow you,
    and break formation when engaging combat, it makes your enemies know where to go after spawning and/or where
    to go.
    All ObjList entries are linked to a trigger, if not then they are not activated and might as well not be in ur ini.



    0. A little on [objlist] and what they do
    1. Typical Trigger linking to objlist entry
    1a. Get into formation parameter
    2. Trigger relating to break formation objlist
    2a. Break formation entry
    3. Trigger linking to stay in range objlist
    3a. stay in range entry
    4. Trigger linking to "GOTO" objlist
    4a. Go to ship entry
    5. Trigger linking to always follow
    5a. Always follow, Allways Execute objlist
    6. Allways active/one time objective



    1.
    Typical Trigger linking to objlist below:
    [Trigger]
    nickname = test_spawn_juni12
    system = St02
    Cnd_True = no_params
    Act_SpawnShip = juni12, juni12_form_on_trent, 500, 1500, 0, 0, 1, 0, 0 <<spawn juni at these coords and fire the objlist
    Act_Invulnerable = juni12, true, false, 0.950000
    Act_SetVibe = juni12, Player, REP_FRIEND_THRESHOLD
    Act_SetVibe = Player, juni12, REP_FRIEND_THRESHOLD
    Act_MarkObj = juni12, 1


    1a.
    Get into formation
    This one tells Juni to form formation with trent (follow trent)
    [ObjList]
    system = ALL
    nickname = juni12_form_on_trent <<<name linked to from trigger
    Delay = 19 <<<<do this 19 seconds after activation
    Follow = Player, 3000, -20, 0, 40 <<<<<<<<follow player at this position relating to player position
    translation: behind, x, y, z


    2.
    Trigger relating to break formation objlist:
    [Trigger]
    system = St02
    nickname = break_and_divert
    Cnd_Timer = 1
    Act_SetVibeShiptoLbl = juni12, nomad_wing, REP_HOSTILE_MAXIMUM
    Act_SetVibeShiptoLbl = king12, nomad_wing, REP_HOSTILE_MAXIMUM <<<<<<u hate em so u wanna kill em
    Act_GiveObjList = juni12, juni12_break_and_divert
    Act_GiveObjList = king12, king12_break_and_divert<<<<<<<<<fire the objlist


    2a.
    Break formation entry:
    Break formation and head for this ship
    [ObjList]
    system = ALL
    nickname = king12_break_and_divert
    BreakFormation = no_params
    GotoShip = goto, nomad_S_7, 1000, true, -1 <<<<<get to the nomad


    3.
    Trigger linking to stay in range objlist:
    [Trigger]
    nickname = test_spawn12
    system = St02
    Cnd_True = no_params
    Act_SpawnFormation = nomad_U_wing_1
    Act_SpawnFormation = nomad_U_wing_2 <<<<<<<yes were spawning the evil nomads!
    Act_SpawnFormation = nomad_U_wing_3
    Act_SpawnFormation = nomad_D_wing_1
    Act_SpawnFormation = nomad_D_wing_2
    Act_SpawnFormation = nomad_D_wing_3
    Act_SpawnFormation = nomad_S_wing_1
    Act_SpawnFormation = nomad_S_wing_2
    Act_SpawnFormation = nomad_S_wing_3
    Act_GiveObjList = nomad_U_wing_1, zone_U_112
    Act_GiveObjList = nomad_U_wing_2, zone_U_2 <<<<<<<<<<fire objlist (see below)
    Act_GiveObjList = nomad_U_wing_3, zone_U_3
    Act_GiveObjList = nomad_D_wing_1, zone_D_1
    Act_GiveObjList = nomad_D_wing_2, zone_D_2
    Act_GiveObjList = nomad_D_wing_3, zone_D_3
    Act_GiveObjList = nomad_S_wing_1, zone_S_1
    Act_GiveObjList = nomad_S_wing_2, zone_S_2
    Act_GiveObjList = nomad_S_wing_3, zone_S_3


    3a.
    stay in range entry:
    [ObjList]
    system = St02
    nickname = zone_U_2
    StayInRange = -2242, 750, -1735, 1500 <<<<<<<the evil nomads stay at a max of 1500 from this area


    4.
    Trigger linking to "GOTO" objlist:
    [Trigger]
    nickname = send_in_interceptors_at_6000
    system = St02
    Cnd_DistVec = inside, Player, -970, 0, 10819, 8000
    Act_SpawnFormation = nomad_J_wing_1
    Act_SpawnFormation = nomad_J_wing_2
    Act_SetVibeLblToShip = nomad_J_wing_1, Player, REP_HOSTILE_THRESHOLD
    Act_SetVibeLblToShip = nomad_J_wing_2, Player, REP_HOSTILE_THRESHOLD
    Act_SetVibeLbl = nomad_J_wing_1, allied12, REP_HOSTILE_THRESHOLD
    Act_SetVibeLbl = nomad_J_wing_2, allied12, REP_HOSTILE_THRESHOLD
    Act_GiveObjList = nomad_J_wing_1, send_interceptors12 <<<<< were sending these guys to where the objlist specifies
    Act_GiveObjList = nomad_J_wing_2, send_interceptors12 <<<<< were sending these guys to where the objlist specifies
    Act_Cloak = nomad_J_wing_1, false
    Act_Cloak = nomad_J_wing_2, false


    4a.
    Go to ship entry:
    [ObjList]
    system = St02
    nickname = send_interceptors12
    GotoShip = goto, Player, 1000, true, -1 <<<<<<<yes we got nomad interceptors coming our way...WEAPONS FREE!...... ENGAGE!


    5.
    Trigger linking to always follow
    [Trigger]
    system = St03b
    nickname = watcher_960
    Cnd_CommComplete = DX_M13_0960_ORILLION
    Act_GiveObjList = king, follow_player_to_city
    Act_GiveObjList = juni, follow_player_to_city


    5a.
    Always follow, Allways Execute objlist
    [ObjList]
    system = St03b <<<<<<<<<in this system
    nickname = follow_player_to_city
    SetPriority = ALWAYS_EXECUTE <<<<<<<<<<<<<<keep doing this until we tell you to do something else
    Follow = Player, 1500, -100, 50, -200


    6:
    Act_SetNNState = obj_get_to_leeds, ACTIVE<<<<<<<allways active
    Act_SetNNObj = obj_get_to_leeds <<<<<<<untill completed only


    5.Trigger add options


    Here we go with the different trigger storyline add commands:


    Give player a credit amount:
    Act_AdjAcct = 325000



    Set off a thn:
    Act_AddRTC = missions\m04\M004_s021x_Br04_01_nrml.ini <<adress of thn










    6. A little on [NPC] entries
    [NPC] <<there exists an npc
    nickname = escort_m01a <<<he has a name
    space_costume = li_scrote_head, li_scrote_body, comm_li_hatcher <<he looks like this
    affiliation = li_lsf_grp <<<<he's friends with this faction
    npc_ship_arch = MSN01a_King <<<this is his ship
    individual_name = 216000 <<<this is the Dll entry with his ingame name
    voice = king <<<<he has this voice and relating speaks(sound clips)


    [NPC] <<there exists an npc
    nickname = fauxplayer <<its you
    affiliation = li_lsf_grp <<ur friendly with this faction
    npc_ship_arch = fauxplayer <<<ur shipname
    individual_name = 1 <<your ingame name dll, i think this is noname
    voice = trent_voice <<your voice and relating soundclips










    7. TroubleShooting


    1. Crash by wrong dock_ring coords
    2. Crash by too big distance to moved object (fx the one above).
    3. cant proceed/locked npc docking sequence
    4. Not allowed to dock because of too big distance to planet center
    5.When integrating two mission inis remember to "turn off" initstate in 2nd misison:



    1.
    This happens if the destination coords in Mission files do not
    corespond with the destination coords in the System.ini file
    f.x. [NNObjective]
    nickname = mlog_meet_juni_in_space_above_ca_minor
    state = HIDDEN
    type = navmarker, Li02, 22425, 25425, 3619, 9150, 37853
    << THE LAST 3 VALUES ARE DOCK RING/DESTINATION COORDS AND NEED
    TO BE THE SAME AS THE DOCKRING COORDS IN THE SYSTEM.INI FILE
    , even if its just a meet outside the planet at this object.
    N:B: ANY DESIGNATIONS NOT CORESPONDING IN Mission ini will cause that mission to have a
    crash, even though u may start the mission by going somewhere first.




    2.
    Crash by too small distance to moved object (fx the one above).
    [Trigger]
    nickname = dialog_toward_ca_minor
    Cnd_DistShip = inside, Player, Li02_02, 46000 <<<<<<<<<<this is the value u gotta watch,
    it describes a minimum distance to a ship u need to be within range of.




    3.
    This happens when moving planets and docking rings.
    ,Juni wouldnt dock with cali minor
    [Trigger]
    nickname = juni_ready_dock_ca
    Cnd_DistShip = inside, juni_from_willard, Li02_02, 60000 <<<<this last value is changed from 6k to 60k
    Act_SendComm = juni_from_willard, Player, DX_M03_1130_JUNI
    Act_ActTrig = commcomplete_dx_m03_1130_juni




    4.
    Here the value: "inside" pertains to the center of the planet.
    [Trigger]
    nickname = start_at_kyushu_dialog
    Cnd_DistShip = inside, Player, Ku03_01, 30000 <<this value was too low
    Act_SendComm = juni, Player, DX_M07_1760_JUNI
    Act_ActTrig = commcomplete_DX_M07_1760_JUNI
    Act_PlayMusic = music_victory, none, none, none


    5.
    When integrating two mission ini remember to "turn off" initstate in 2nd misison:


    ;changed (init state OFF)
    [Trigger]
    nickname = key_offer
    ;InitState = ACTIVE <<<the ";" turns off this line making it a comment instead of command
    Cnd_True = no_params
    Act_RpopAttClamp = true
    Act_SetOffer = 1
    Act_SetTitle = 1
    Act_ActTrig = planetscape_st01_01
    Act_ActTrig = beginning_ether





    8. This is Darkstone's old Tute on Storylining, ill add it just for the helluvit
    [Mission]
    mission_title = 1
    mission_offer = 1
    reward = xxx <- Set this as you want...Cheater *gg*
    npc_ship_file = missions\m01a\npcships.ini


    This section identifies it as a mission. Now we need to declace the NPCs appearing in this mission. Here´s a ship entry template:


    [NPC]
    nickname = xxx <-- this important to spell right in the rest of the file
    affiliation = xxx <-- the faction the ship belong to
    npc_ship_arch = xxx <-- what ship they fly as declared in npcships.ini
    space_costume = <<head>>, <<body>>, <<optional props>> <-- how ther appear in the Com Window
    voice = xxx <-- the associated voice
    individual_name = xxx <--This is an ids_name entry in a DLL.


    NPCs can be used as often as needed. The next thing is to declare their ship.
    Here´s a template:


    [MsnShip]
    nickname = xxx <-- this is the nme you´ll need to refer to in the actual mission
    NPC = xxx <-- name of the NPC as declared in a [NPC] section
    label = xxx <-- this will be explained below


    INFO: Labels
    Labels are very useful and allow you to manipulate large groups of ships precisely. Ships can have as many labels as it needs. Usually thers an "us" label, which identifies the ships that fly with the player.
    Now, to make your mission seem "living", you´ll want to declare a good number of Mission Ships, friends, foes and neutral wanderers alike. You only need to create one NPC per class of ship you include (LF, HF, FR, Gunboat, etc), but you need to enter a [MsnShip] sections for each ship that appears in the mission. Less that about 20 and your mission is likely to seem empty. Bear that in mind. Having declared ships, do the same for Solars. As usual, another template:


    [MsnSolar]
    nickname = xxx
    string_id = xxx <-- an entry in a DLL. This is its name
    faction = xxx
    system = xxx
    position = x, z, y
    archtype = xxx
    loadout = xxx
    base = xxx <-- I´m not sure about that
    label = xxx
    radius = xxx <--- I´m not sure about this
    visit = xxx <--- if and how it appears on the Navmap, normally "UNKNOWABLE"


    Solar are not nessecary, it depends on the mission you want to code.


    Whew, enough for one post. I´ll continue it another time.


    _________________
    ----------------------------------------
    The U.S.D.F. is now recruiting.
    Call 75.5256.323.001 today
    and share their honor and glory.
    ----------------------------------------







    Ladm. Jonathan Drake Post subject: Re: **TUTORIAL** Storyline MissionsPosted: Wed Jul 09, 2008 5:31 am


    Flight Lieutenant




    Joined: Tue May 20, 2008 11:17 am
    Posts: 100
    Location: Planet Toledo/Omicron Minor
    Okay, here comes part 2:


    Having declared ships, NPCs and Solars, there are a couple more things to do. MsnFormations, which allow you to spawn groups of ships at once, rather than using a load of SpawnShip lines. Typical Entry:


    [MsnFormation]
    nickname = gmg_patrol <-- name of formation, used when spawning it
    position = 29560, -12, -77300 <-- where it spawns if not overridden
    orientation = 1, 0, 1, 0 <-- not sure about this one
    formation = fighter_li_lsf <-- the arrangement of ships, use fighter_basic if unsure
    ship = gmg_leader <-- the ships in the formation as listed under [MsnShip]
    ...


    You also need to set objectives, so the player knows what to do. Typical objective:


    [NNObjective]
    nickname = nn_searchpt1alt <-- name, for later use
    state = HIDDEN <-- initial state, almost always should be HIDDEN
    type = navmarker, Li01, 22025, 25025, 55160, -800, -67782 <-- the type of the objective


    There are several different types that objectives can take:


    ids = *string value*, simply displays text
    navmarker = sets a waypoint. Use it *system*, *string value*, *other string value*, *coordinates*
    rep_inst = placed a mission waypoint as a ship, do the same as "navmarker" but add another bit on the end, the name of the ship


    Unless you,re going to be using objectives which are exactly the same as existing ones text-wise, you´ll need to use fled-ids to create the text strings.


    Now, once you´re happy you´ve included enough ships, NPCs and solars, and grouped them into formations, you need to set things called ObjLists. These are basically instructions to NPCs, like "join formation with player", which occurs quite frequently, or "fly to point X", like in missions where you part company with someone. Now there are a LOT of different ObjLists you can enter. I´ll list some of the more useful ones, take a look at the mission ini files, search for "ObjList", and you´ll see what else you can use them for. Make an ObjList like this:


    [ObjList]
    nickname = ol_goto_prisonship <-- give these instructions to NPCs with this name
    GotoShip = goto, prisonship, 800, true, -1
    StayInRange = prison ship, 750 <-- the instructions
    BrakFormation = no_params


    Some common ObjList instructions:


    GotoShip = goto, "MsnShip/Solar name*, *distance of ship to come within*, true, -1 <-- this will cause an NPc to fly to the selected ship/solar


    StayInRange = *MsnShip/Solar name*, *range* <-- this will prevent an NPC from moving outside a specified range of a ship/solar


    MakeNewFormation = *formation name* <-- this will make the ship it´s applied to form up in the specified way


    BreakFormation = no_params <-- this will make the NPCs break their formation, no matter what it is


    Dock = *base/gate/hole/lane name* <-- do I really have to explain this one?


    There are more, but those are the essential ones if you want to make the NPCs really seem alive. Now it´s time to move onto the 'Main Course' as it were, the triggers. These are what will make your mission work. They´re also very fickle, because a mission is generally one long chain of triggers, if you make a typo somewhere, the entire chain is broken and your mission will simply stop working at that point.


    The first triggers to make are the ones that are active all the time throughout the mission, like escorting critical ships or key characters like King and Juni and the general state of the mission. The first Trigger should be something like this (this is taken from the first mission, after landing on Pittsburgh):


    [Trigger]
    nickname = general_triggers
    system = Li01 <-- make sure to enter ths correctly. It´s important
    Cnd_True = no_params <-- this basically means "this is always active"
    Act_PlayerCanTradelane = false <-- disallows the player from using tradelanes
    Act_MarkObj = escort, 1 <-- this trigger marks "escort" (King) as Important on the contact list
    Act_Invulnerable = escort, true, false, 0.900000 <-- gives King a certain amount of invulnerability
    Act_ActTrig = king_dies <-- see below
    Act_RandomPop = false <-- this turns off random encounters, so you only fight what you´re meant to
    Act_NagDistLeaving = std, escort, escort, 22195, 5000, NAG_IN_COMBAT <-- not sure, might be to make sure the player doesn´t get to far away


    There are a few vital Conditions and Actions which it´s essential you understand how to use properly


    Cnd_True = no_params <-- this basically announces Actions which are always active, no matter what


    Cnd_Destroyed = *label/MsnShip name*, *number destroyed, EXPLODE <-- this will come into effect when a specified number of ships of a label are destroyed. If you use a MsnShipName, the number must ALWAYS be 1.


    Cnd_SpaceEnter/Exit = *system name* <-- when the player takes off/docks


    Cnd_SystemEnter/Exit = *system name* <-- when the player uses a jumpgate/hole


    Act_ActTrig = *trigger name* <-- This forms the basis of the trigger chain system. You have to use this in your triggers to activate others, or the others will remain passive even if the conditions are fulfilled.


    Act_DeactTrig = *trigger name* <-- exactly the opposite of above. For example, if you accept a mission, the Trigger for declining the mission is disabled.


    ActSpawnShip/Solar/Formation = *Ship/Solar/Formation name* <-- does exactly what it says on the tin. You´ll need to use this frequently, ships wont appear at all without is.


    Act_SetNNObj = *objective name* <-- this will cause an objective to flash up on the screen, and the waypoint, if any, to appear.


    Those are all the ESSENTIAL ones that you´ll almost definitely need to use. The next triggers to make are the ones that fail the mission if certain ships are destroyed. Make them on this model:



    [Trigger]
    nickname = king_dies
    system = Li01
    Cnd_Destroyed = escort, 1
    Act_ChangeState = FAIL, 2196


    Set those up for your principal characters. The next ones to make are those concerning the mission offer and the player accepting or rejecting it. This bt is rather thorny, and it´s probably best, at least in the short term, to pike a mission offer from another story mission. If your mission takes place on a base other that ones in the story, you can always RelocatePlayer to put yourself ther only for that bit. Anyway, here´s the Mission 2 briefing, you can always use fled-ids to change the text


    [Trigger]
    nickname = lce_bare_li01_01
    Cnd_LocEnter = Bar, Li01_01_base
    Act_AddRTC = missions\m02\M002_s009a_Li01_01_offer.ini
    Act_ActTrig = mrp_reject
    Act_ActTrig = mrp_accept
    Act_ActTrig = write_mission_log
    Act_DeactTrig = entered_the_system
    Act_DeactTrig = meet_on_manhattan
    Act_SetNNObj = talk_to_juni


    [Trigger]
    nickname = mrp_reject
    Cnd_MsnResponse = reject
    Act_RemoveRTC = missions\m02\M002_s009d_Li01_01_offer.ini
    ActAddRTC = missions\m02\M002_s009d_Li01_01_reoffer, repeatable


    [Trigger]
    nickname = mrp_accept
    Cnd_MsnResponse = accept
    Act_RemoveRTC = missions\m02\M002_s009d_Li01_01_reoffer.ini
    Act_AddRTC = missions\m02\M002_s010x_Li01_01_nrml.ini
    Act_ActTrig = spe_li01_01
    Act_SetTitle = 22200
    Act_SetOffer = 22205
    Act_SetNNObj = first_launch
    Act_DeactTrig = mrp_reject
    Act_RandomPopSphere = -30642, 0, -29671, 6000, off
    Act_RandomPop = false
    Act_ActTrig = exit_base
    Act_DeactTrig = beginning_ether
    Act_NNIds = 30205, HISTORY
    Act_ActTrig = entering_cityscape
    Act_DeactTrig = keep_door_open


    Now you can´t use exactly that because you Objectives and so forth have different names, bu if you look at it, you´ll see that you nee to set up 3 triggers. Act_NNIds is a Log entry, and RTCs are reserved spaces in the bar for main characters so you can talk to them again if you reject the mission.


    Enough for now. My fingers need a pause, this keyboard is absolutely not for writing long texts.


    _________________
    ----------------------------------------
    The U.S.D.F. is now recruiting.
    Call 75.5256.323.001 today
    and share their honor and glory.
    ----------------------------------------







    Ladm. Jonathan Drake Post subject: Re: **TUTORIAL** Storyline MissionsPosted: Wed Jul 09, 2008 12:17 pm


    Flight Lieutenant




    Joined: Tue May 20, 2008 11:17 am
    Posts: 100
    Location: Planet Toledo/Omicron Minor
    Section 3:


    I´ve covered all the essentials, now on to putting them together to form a mission. After your mission accept/reject triggers, you´ll want to put a Cnd_LaunchComplete trigger in, and have it spawn the ships that are there immediately with either SpawnShip, SpawnFormation or SpawnSolar. Also use another useful trigger, SetVibeLblToShip. Use it like this:


    Act_SetVibeLblToShip = *label of ships*, Player, REP_FRIEND_THRESHOLD. This will ensure that the ships show up as green. When you meet enemies, put these three actions in:


    Act_SetVibeLblToShip = *label of enemies*, *label of allies*, REP_HOSTILE_THRESHOLD
    Act_SetVibeLblToShip = *label of allies, *label of enemies*, REP_HOSTILE_THRESHOLD
    Act_SetVibeLblToShip = *label of enemies*, Player, REP_HOSTILE_THRESHOLD


    Here some references, because I don´t know what you´ll want your story missions to be about. I´ll cover here how to set the events most likely to occur in your mission.


    1) Using Gates/Holes:


    Firstly, make sure that the ships that will jump with the player, if any, have the attribute "jumper = true" in the [MsnShip] entry. To make them join formation with the player when he meets them use this:


    [ObjList]
    nickname = enter_player_formation
    MakeNewFormation = fighter_basic


    [Trigger]
    nickname = join_formation
    system = *system*
    Cnd_DistShip = inside, Player, *ship*, 10000
    Act_GivePbjList = *allies' label*, enter_player_formation


    Making the jumoing thing is easy. Set an NNObjective as a rep_inst on the hole/gate and give it the appropriate "Take the Jumphole/gate to the *system* system" text. Set it like this:


    [Trigger]
    nickname = at_jumphole
    Cnd_DistShip = inside, Player, *jumphole/gate name*, 2000
    Act_SetNNObj = take_jumphole <-- use whatever you named that objective


    Simple as that. The ships that are in formation with you will automatically jump, provided they that "jumper = true" in the ship entry.


    2) Destroying bases/big ships + their escort


    This is fairly easy to accomplish. Make sure you have all the ships you´re fighting named under a common label. Then, use the Cnd_Destroyed


    [Trigger]
    nickname = ships_destroyed
    Cnd_Destroyed = *label name*, *number of ships*, EXPLODE
    Act_SetNNObj = *next objective*


    If you want a "break and run, they´re too strong" scenario, lower the number in the condition line to however may have to be destroyed.


    3) Winning


    To make the mission succeed, simply place Act_ChangeState = SUCCEED in the Trigger(s) that must be fulfilled. Equally, put Act_ChangeState = FAIL in Triggers you have to prevent from happening


    4) Moving the player


    What I mean here are places like in the 10th mission, you embark on the Osiris in the Hamburg system, but without leaving the ship, you magically appear in Texas. (yes it´s a ship that can move, but I´m speaking from a coding viewpoint here) If your mission involves moving like this, there are a number of options you have available.


    Act_ForceLand = *base name* <-- this will land you on a base of your choosing. The difference between this and RelocatePlayer is that with this one you see the landing sequence - an important difference on some places.


    Act_RelocatePlayer = *base room name* <-- this will place you in a specific room of a specific base. This is how the Osiris works.


    Act_MovePlayer = *coordinates* <-- different form the other two, this works within a system. It´s rarely useful, but is often used after a thorn file which features the players moving so you don´t appear back where you were.


    So that was it, as far as relating to the original text of Darkstone. I´ll put in some updates as I find out things.


    Good luck!
    Rasauul

  • Hello..



    Does anyone know how to change level requirement for custom missions in bar???


    I want to change stupid limits made by level requirements, cos it's quite naggy :? :evil: when you get somewhere far and you get message... come back later when you are more advanced pilot.....
    :?: :?:


    TNX!!!!!!!
    :mrgreen:
    Regards....

  • Continued....................



    What the hell, no use Bogarding my tutes, share everything except ur woman and ur cigars i reckon. Heres several entry examples and explanaitions.


    Here we go with misc. storyline commands and entries:



    1. Add a section to History (neural net) Log.
    2. Offer a mission in a blue frame.
    3. Add a sub-objective that appears during a mission (unframed).
    4. Dock with planet mission part.
    5. Example of a popup linked to an action.
    6. King follows trent objective entry
    7. Restock playerAmmo in space
    8. this is a timed entry, that reminds you to dock with Pitts
    9. Set Ship and loadout line relating to mission acceptance
    10. Storyline related save action entry
    11. Add your own LVL up message
    12. Proceed with story (juni docks) if within range set by trigger value
    13. Move player to a space location
    14. stop player or npc moving
    15. add a mission credit payout, linked to a Trigger
    16. add more health to a ship, linked to trigger
    17. set player/other faction rep, trigger
    18. add a mission offer from same folder
    19. endgame change + example of loop
    20. delete any remaining mission objectives
    21. First active [trigger] of a mission ini
    22. Explode a npc
    23. Move on when u have killed these guys


    1.
    This adds a new piece to your neural net log(Trigger Command line):
    Act_NNIds = 30035, HISTORY



    2.
    This offers a mission n the blue/green frame(Trigger Command line):
    Act_SetOffer = 21805
    Act_SetTitle = 21800



    3.
    This is a command that appears unframed during a misiion, it displays new objective:
    (trigger line) Act_SetNNObj = mlog_21890 <<this actually links to this objective entry
    [NNObjective]
    nickname = mlog_21890
    state = HIDDEN
    type = ids, 21890



    4.
    [NNObjective]
    nickname = mlog_21870
    state = HIDDEN
    type = rep_inst, Li01, 21870, 24870, 49953, 204, -77117, Li01_02_dock_ring


    Explanation:
    type = rep_inst, A, B, C, D1, D2, D3, E
    A = System (where mission takes place)
    B = Sub-objective
    C = Pop-up window that gives info
    D123 = x,y,z coordinates in 3d space
    E = Name of docking ring



    5.
    Heres a good example of a popup linked to one simple action:
    [Trigger]
    nickname = pmn_levelledup <<<<<name
    Cnd_PlayerManeuver = Dock, Li01_02_dock_ring <<<<when u do this....
    Act_Popupdialog = 21885, 21920, CLOSE <<<<It will "pop" these two lines



    6.
    [ObjList]
    nickname = ol_king_into_formation
    Avoidance = false
    Follow = fauxP1, 100000, 20, -15, -17<<<this line links to two files describing who trent is



    7.
    Act_ActTrig = Restocking
    Act_SetNNObj = mlog_Pick_up_gear


    ;"tractor ur gear"
    [NNObjective]
    nickname = mlog_Pick_up_gear
    state = HIDDEN
    type = ids, 261934


    [Trigger]
    nickname = Restocking
    system = Li01
    Cnd_True = no_params
    Act_SpawnLoot = Restock
    Act_SpawnLoot = RestockA
    Act_SpawnLoot = RestockB
    Act_Popupdialog = 261932, 261933, CLOSE


    [MsnLoot]
    nickname = Restock
    archetype = missile01_mark02_ammo, 160
    string_id = 265147
    rel_pos_obj = Player
    rel_pos_offset = 91, -205, 350
    velocity = 1, 0, 2
    equip_amount = 160
    health = 1.000000
    Can_Jettison = true


    [MsnLoot]
    nickname = RestockA
    archetype = missile01_mark03_ammo, 160
    string_id = 265147
    rel_pos_obj = Player
    rel_pos_offset = 95, -210, 350
    velocity = 1, 0, 2
    equip_amount = 160
    health = 1.000000
    Can_Jettison = true


    [MsnLoot]
    nickname = RestockB
    archetype = missile01_mark01_ammo, 160
    string_id = 265147
    rel_pos_obj = Player
    rel_pos_offset = 99, -213, 350
    velocity = 1, 0, 2
    equip_amount = 160
    health = 1.000000
    Can_Jettison = true



    8.
    [Trigger]
    nickname = dst_kinglandteach
    Cnd_DistShip = outside, Li01_02_dock_ring, Player, 800, 20, TICK_AWAY
    Act_StartDialog = dlg_dockreminder
    Act_ActTrig = com_0995



    9.
    [Trigger]
    nickname = mrp_accept
    Cnd_MsnResponse = accept
    Act_SetShipAndLoadout = li_elite2, msn_playerloadout<<this line, in this location
    or no ship:
    Act_SetShipAndLoadout = none, none



    10.
    [Trigger]
    nickname = bse_philwsave
    Cnd_BaseEnter = Li01_02_base
    Act_Save = bse_save, 32100 <<<<<<<<this line saves the game as the name described by number



    11.
    [Trigger]
    nickname = play_juni_ethercomm
    Cnd_CommComplete = dx_m01_1555_king
    Act_ActTrig = pmn_levelledup2 <<<<<links to entry below, this replaces link to tm_pausebeforejuni
    Act_NagOff = gohome
    Act_AdjAcct= 30000


    [Trigger]
    nickname = pmn_levelledup2
    Cnd_Timer = 3
    Act_Popupdialog = 261936, 261937, CLOSE <<<message about lvling
    Act_ActTrig = tm_pausebeforejuni <<<<<<<links to chapter below


    [Trigger]
    nickname = tm_pausebeforejuni
    Cnd_Timer = 2
    Act_EtherComm = juni_voice_m01a, 216116, Player, dx_m01_1580_juni, -1, pl_female4_head, li_hatcher_body
    Act_ActTrig = com_1580



    12.
    [Trigger]
    nickname = dst_get_help_ca
    system = Li02
    Cnd_DistShip = inside, Player, Li02_02, 80000 <<this sets the range of object u have to be within range of to proceed
    Act_StartDialog = dlg_1090_1130 <<<<start juni speech
    Act_ActTrig = com_1100 <<<<<proceed to this trigger entry



    13.
    ; moveplayer to this space location
    [Trigger]
    nickname = key_to_space
    system = Li01
    Cnd_True = no_params
    Act_MovePlayer = -33761, -14, -26235, 1000



    14.
    [Trigger]
    nickname = Cam_delay
    Cnd_Timer = 4
    Act_GiveObjList = Player, stop_player <<<<<<<<<<<<<<<<<< stop player
    Act_GiveObjList = Juni, stop_player <<<<<<<<<<<<<<<<<<<<stop juni
    Act_GiveObjList = rfighter1, stop_player <<<<<<<<<<<<<<<<stop rfighter
    Act_CallThorn = missions\M03\M03_Rfighter_Encounter.thn, Player
    Act_SetNNObj = mlog_awaiting_objective, OBJECTIVE_HISTORY
    Act_SpawnFormation = rfighters_frm
    Act_MarkObj = lbl_rfighter, 1
    Act_Cloak = lbl_rfighter, false
    Act_GiveObjList = rfighters_frm, rheinlanders_stay_close
    Act_SetVibeLblToShip = lbl_rfighter, Player, REP_NEUTRAL_FRIENDLY
    Act_SetVibeLblToShip = lbl_rfighter, juni_from_willard, REP_NEUTRAL_FRIENDLY
    Act_SetVibeShipToLbl = juni_from_willard, lbl_rfighter, REP_NEUTRAL_FRIENDLY
    Act_ActTrig = d_rfighters


    15.
    [Trigger]
    nickname = mrp_accept
    Cnd_MsnResponse = accept
    Act_RemoveRTC = missions\m09\M009_s050d_Ku06_01_bar_reoffer.ini
    Act_DeactTrig = mrp_reject
    Act_DeactTrig = space_enter
    Act_SetTitle = 23600
    Act_SetOffer = 23605
    Act_SetNNObj = mlog_meet_ozu_in_space
    Act_LockDock = Player, Ku06_to_Ku07_hole, unlock
    Act_SetRep = Player, fc_bd_grp, 0.910000
    Act_AdjAcct = 800000 <<<<<<<simply add this line for same amount of credits
    Act_PlayerCanDock = false
    Act_ActTrig = spe_Ku06_01
    Act_NNIds = 30900, HISTORY
    Act_RandomPop = false
    Act_DeactTrig = always_friendly_kyoto



    16.
    Act_AdjHealth = king, 0.500000 <<<<<<<<king gets hp



    17.
    [Trigger]
    nickname = mrp_accept
    Cnd_MsnResponse = accept
    Act_RemoveRTC = missions\m09\M009_s050d_Ku06_01_bar_reoffer.ini
    Act_DeactTrig = mrp_reject
    Act_DeactTrig = space_enter
    Act_SetTitle = 23600
    Act_SetOffer = 23605
    Act_SetNNObj = mlog_meet_ozu_in_space
    Act_LockDock = Player, Ku06_to_Ku07_hole, unlock
    Act_SetRep = Player, fc_bd_grp, 0.910000 <<<<<<<were setting rep
    Act_AdjAcct = 1000000
    Act_PlayerCanDock = false
    Act_ActTrig = spe_Ku06_01
    Act_NNIds = 30900, HISTORY
    Act_RandomPop = false
    Act_DeactTrig = always_friendly_kyoto



    18.
    Act_AddRTC = missions\m01a\M000_s032a_FP7_01_offer.ini



    19.
    ;changed
    [Trigger]
    system = St03b
    nickname = killed_a_generator
    Cnd_Destroyed = final_generator, 1, ALL
    Act_DeactTrig = mark_generators
    Act_SendComm = king, Player, DX_M13_1040_KING
    Act_ActTrig = killed_a_generator <<<added this line for a repeat of this message


    ;changed
    [Trigger]
    system = St03b
    nickname = watch_endgame_object
    Cnd_Destroyed = final_generator, 5, ALL <<<changed this to 5 from 2 which means now u need to kill 5 generators
    Act_ActTrig = land
    Act_DeactTrig = se_nomads_5_more
    Act_DeactTrig = infinite_waves_more
    Act_DisableEnc = se_nomads_5
    Act_DisableEnc = se_nomads_5_more
    Act_LightFuse = Nomad_City, fuse_dyson_city_wormhole_start
    Act_StartDialog = endgame_dialog
    Act_SetNNObj = null
    Act_RandomPop = true



    20.
    [Trigger]
    nickname = clear_waypoint
    Cnd_SystemExit = ANY <<<<<u might wanna change this line
    Act_SetNNObj = null, OBJECTIVE_HISTORY




    21.
    This decided which [trigger] is the first one active when activating a mission ini


    ;changed (init state OFF)
    [Trigger]
    nickname = key_offer
    ;InitState = ACTIVE <<<<<<<<<<<this line, in this instance deactivated
    Cnd_True = no_params
    Act_RpopAttClamp = true
    Act_SetOffer = 1
    Act_SetTitle = 1
    Act_ActTrig = planetscape_st01_01
    Act_ActTrig = beginning_ether




    22.
    [Trigger]
    nickname = Fugees_03_gets_nuked
    Cnd_timer = 1
    Act_Destroy = refugees_03, 1, EXPLODE<<<<name,amount,action



    23.
    [Trigger]
    nickname = Bounty_hunters_is_dead
    Cnd_Destroyed = Bounty_hunters, 4, EXPLODE
    Act_ActTrig = to_kyoto


    "Reroll ur wow-addiction for a modding addiction" have fun-Rasauul