Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > Star Wolves

Star Wolves 3D space RPG with deep strategy and tactical elements

Reply
 
Thread Tools Display Modes
  #1  
Old 03-13-2018, 10:34 PM
Kami-sama Kami-sama is offline
Approved Member
 
Join Date: Oct 2015
Posts: 14
Default Jump to mission script

So after coming back to Star Wolves 3 and playing all the story paths I've decided to create a script that allows me to jump right before the final battle from any story path. The script already changes motherships, adds a lot of each equipment and faction colored fighter in the game and changes pilots (modded with all perks), but now comes the hard part that I can't figure out. How do I set it to start the storyline right before the final mission (when you're allowed to take anything from the faction's warehouse for free)?
Reply With Quote
  #2  
Old 03-14-2018, 01:01 PM
nocalora29's Avatar
nocalora29 nocalora29 is offline
¯\_ ͯ‿ ͯ_/¯
 
Join Date: Dec 2011
Posts: 518
Default

What do you mean by "start the storyline"? what exactly are you trying to start?
__________________
Discord: Nocalora#6847 | SW3.Expansion Thread | SWX.MouseMovementFix | SWX.TUVMark+Src (.tuv editing Tool) | SWX.SLOTMark+Src (.ini Slots editing Tool)
Reply With Quote
  #3  
Old 03-14-2018, 02:55 PM
Kami-sama Kami-sama is offline
Approved Member
 
Join Date: Oct 2015
Posts: 14
Default

The prelude to the final mission. For example the InoCo CEO path option changes mothership to the grey Lion Mk.2, gives me all equipment and InoCo colored fighters of generations 4-5, removes Ternie and adds Kalem, Natalie, Cleric and Alex. And I want it to start the mission where you're told to get to Eridan and proceed with the story from there (i.e. reaching Eridan starts the conference where you choose which strategy to pursue for the final battle).

Last edited by Kami-sama; 03-14-2018 at 03:00 PM.
Reply With Quote
  #4  
Old 03-14-2018, 03:58 PM
nocalora29's Avatar
nocalora29 nocalora29 is offline
¯\_ ͯ‿ ͯ_/¯
 
Join Date: Dec 2011
Posts: 518
Default

Thats a good question indeed on how to do this...


I just looked inside the Eridan System respectively and you would need to set the QuestLabel "CurrentQuest" to "16e" and you also need to start the "StartMission" of Quest 16e (Scripts\Quests\mission_16e), but I think there are more than one Quests involving the Eridan System, so you'd need to know what exact quest you want to start, if it matters atleast. I think you can solve this with just SetQuestLabels.

I wish I could be a bit more help with the quest System of the game, but even after all this time modding SW I never could figure out how the game handles the quest system really, and how it exactly works.
__________________
Discord: Nocalora#6847 | SW3.Expansion Thread | SWX.MouseMovementFix | SWX.TUVMark+Src (.tuv editing Tool) | SWX.SLOTMark+Src (.ini Slots editing Tool)
Reply With Quote
  #5  
Old 03-15-2018, 01:45 PM
Kami-sama Kami-sama is offline
Approved Member
 
Join Date: Oct 2015
Posts: 14
Default

Eridan was too complex for now because of the multiple missions there as well as the permit to enter the system so I decided to try with Viper's final mission for a start. Here's what I tried:

do
SetQuestLabel("CurrentQuest","18a");
QuestStart("mission_18a");
Long_Jump("earth");
end;

No matter the order nothing happens after I jump to Earth. There must be more to it.
Reply With Quote
  #6  
Old 03-15-2018, 02:41 PM
nocalora29's Avatar
nocalora29 nocalora29 is offline
¯\_ ͯ‿ ͯ_/¯
 
Join Date: Dec 2011
Posts: 518
Default

You somehow need to execute the "StartMission" function of the quest 18a in (Scripts/Quests/...) itself to get this going.
I'll look a bit into the QuestSystem and will try to gain the knowledge on how one would go on about this.

In theory you could just "dofile" the quest file and then Execute StartMission(), but Im sure if that would break the QuestSystem, could be worth a try.
__________________
Discord: Nocalora#6847 | SW3.Expansion Thread | SWX.MouseMovementFix | SWX.TUVMark+Src (.tuv editing Tool) | SWX.SLOTMark+Src (.ini Slots editing Tool)
Reply With Quote
  #7  
Old 03-15-2018, 07:48 PM
Kami-sama Kami-sama is offline
Approved Member
 
Join Date: Oct 2015
Posts: 14
Default

My latest failed attempt:

do
SetQuestState("quest_16a", QUEST_DONE);
SetQuestLabel("CurrentQuest","18a");
QuestStart("mission_18a");
AddQuest("quest_18a", QUEST_PROCESS);
Long_Jump("earth");
end;

I try adding anything fitting I can see in the quest scripts. At least I know that the function is not executed by having the previous quest marked as complete.
Reply With Quote
  #8  
Old 03-15-2018, 08:09 PM
nocalora29's Avatar
nocalora29 nocalora29 is offline
¯\_ ͯ‿ ͯ_/¯
 
Join Date: Dec 2011
Posts: 518
Default

Try to brute force maybe.
This should start the script no matter what:
Code:
ExecuteScriptFile("Data/Scripts/Quests/mission_16e/Matrix_Eridan.script");
StartMission();

This is just example code, replace the Mission_16e to the mission you want to start, including the proper script.

Keep in mind: You have got to have proper SetQuestLabels and proper variables for this to work, afterall the script is expecting the player to actually be that far into the story.
__________________
Discord: Nocalora#6847 | SW3.Expansion Thread | SWX.MouseMovementFix | SWX.TUVMark+Src (.tuv editing Tool) | SWX.SLOTMark+Src (.ini Slots editing Tool)
Reply With Quote
  #9  
Old 03-16-2018, 07:34 PM
Kami-sama Kami-sama is offline
Approved Member
 
Join Date: Oct 2015
Posts: 14
Default

This might be problematic. Triggering the mission script itself shouldn't work if you're in another system. And I'm pretty sure it won't trigger after the jump if I just write it below it. I was looking for what causes the script to trigger when you enter or jump into the system.
Reply With Quote
  #10  
Old 03-25-2018, 02:11 PM
Kami-sama Kami-sama is offline
Approved Member
 
Join Date: Oct 2015
Posts: 14
Default

I got it, here's the code if anyone's interested

do
ClearQuests();
QuestStart("mission_18a");
Long_Jump("earth");
end;

EDIT: Looks like I was too optimistic to think it would work with every mission, others seem to require different triggers.

Last edited by Kami-sama; 03-25-2018 at 03:03 PM.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:17 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.