• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

WIP Adding sidequests in storylines

The second thing isn't hard.
Find out which character starts the quest and do it the same as the other ones (check pieters code). Probally there also has to be a "remove" part at the start of the storyline.

This one is kinda hard for me, still don't understand, can you make it easier for me and just tell me with code I must add where o_O

The third part I could help you with but I think you can figure it out yourself. Just look at the other ones

Yes I think I can, I think this is the code I needed for that

Code:
            SetQuestHeader("Pirate Lord");
                         AddQuestRecord("Pirate Lord", 1);

If I added it below this it will work doesn't it? I'm not sure this I the right code because I don't see anything about the meeting with Ching in the San Juan Tavern. And the 1 must be changed to right to the rule of the line of Mistress Ching in the questbook file?

Code:
        case "to_oxbay_mines_with_larrouse_complete":
            // --> Swindler 050927: don't generate vags then, would break the quest
            locations[FindLocation("Oxbay_canyon")].vcskip = true;
            // Swindler <--
            characters[GetCharacterIndex("Mistress Ching")].dialog.currentnode = "in_canyon";
            pchar.quest.to_canvoy_with_larouse.win_condition.l1 = "location";
            pchar.quest.to_canvoy_with_larouse.win_condition.l1.location = "Oxbay_canyon";
            pchar.quest.to_canvoy_with_larouse.win_condition = "to_oxbay_mines_with_larrouse_3_complete";
            DisableFastTravel(true);
            DisableMenuLaunch(true);
            DoQuestCheckDelay("to_oxbay_mines_with_larrouse_complete_2", 2.0);
 
About the third
Yes add the text you want here:
POTC\RESOURCE\INI\TEXTS\ENGLISH\Storyline\JackSparrow\QUESTBOOK
And change the 1 to the right number.
I could help you with the second one but I first need to know how the quest starts.
Who do you need to talk to to make it start or do you have to go somewhere?
 
About the third
Yes add the text you want here:
POTC\RESOURCE\INI\TEXTS\ENGLISH\Storyline\JackSparrow\QUESTBOOK
And change the 1 to the right number.

Like this I believe right? (There has to be added something now that the quest about the Pirate Lords closes if you encounter all of them right? Before it never closes because it was incomplete but now it can be closed now the Pirate Lords are all in the game right)

Code:
        case "to_oxbay_mines_with_larrouse_complete":
            // --> Swindler 050927: don't generate vags then, would break the quest
            locations[FindLocation("Oxbay_canyon")].vcskip = true;
            // Swindler <--
            characters[GetCharacterIndex("Mistress Ching")].dialog.currentnode = "in_canyon";
            pchar.quest.to_canvoy_with_larouse.win_condition.l1 = "location";
            pchar.quest.to_canvoy_with_larouse.win_condition.l1.location = "Oxbay_canyon";
            pchar.quest.to_canvoy_with_larouse.win_condition = "to_oxbay_mines_with_larrouse_3_complete";
            DisableFastTravel(true);
            DisableMenuLaunch(true);
            DoQuestCheckDelay("to_oxbay_mines_with_larrouse_complete_2", 2.0);
            SetQuestHeader("Pirate Lord");
            AddQuestRecord("Pirate Lord", 13);

I could help you with the second one but I first need to know how the quest starts.
Who do you need to talk to to make it start or do you have to go somewhere?

Very simple. It's just the Claire Larrouse quest I've changed to the Mistress Ching quest. I've also change ID's and yes it works fine. I have to be higher then lvl 4 to start the quest and then I must talk to Mistress Ching (Claire Larrouse) and the quest starts. Ching will be added at your compagnion and then you have to go to Barbados etc etc....
 
Ok,

This is all in the storyline
In the character init search for Clair Larrouse and change this:
Code:
    ch.location    = "";
    ch.location.group = "";
    ch.location.locator = "";
So she would appear anywhere.
Now go to quest_reactions and search for the case "storm_complete"
add a line here and fill in the data:
Code:
ChangeCharacterAddressGroup(CharacterFromID("NAME_OF_CHARACTER"), "LOCATION", "LOCATION.GROUP", "LOCATION.LOCATOR");
That should do the trick.

About the questbook. I believe the pirate lord quest is set earlier already so you dont have to do "SetQuestHeader("Pirate Lord");", it will always exist already right?
Closing it is an option but you dont know in which order they will finish the sidequests so you need to build in an extra check. For now I'd say leave that. I will help you with this later. I think we can do more with that ;).
 
Ah you mean this:

Code:
    ch.location    = "Muelle_tavern";
    ch.location.group = "sit";
    ch.location.locator = "sit6";

And this is the correct line I must add there?

Code:
ChangeCharacterAddressGroup(CharacterFromID("Mistress Ching"), "Muelle_tavern", "sit", "sit6");

Am I right this way? The only thing I have to do now is add the line above in quest_reactions below storm_complete?
 
Yes and remove the things from the character ;) (so make it likech.location = ""; etc).

You will see some more of those lines in quest reactions so try to place it on a nice place and add comments so we can find it if needed :).

---

About the pirate lords.
I think we should add a counter somewhere say.
Pchar.Quest.PirateLords = 0;
After each quest with a pirate lord is finnished (so where the questbook is updated) this counter should be increased by 1 and then there should be a check. If this counter is the right amount (so all pirate lords are seen) then a new quest thing should be started. There you can close the thing and add another questbook update with "I've seen all the piratelords" or something like that. Or we could expand on the story there again :).
Do you understand that and do you think you can make that? Or should I help with that.
 
Yes and remove the things from the character ;) (so make it likech.location = ""; etc).

You will see some more of those lines in quest reactions so try to place it on a nice place and add comments so we can find it if needed :).

Like this? Should it work now? No time to test it, I must first play half of the story and that's not something do be done quickly :p

Code:
        case "storm_complete":
            ControlsInit(GetTargetPlatform(), false);
            // Screwface
            SaveGlobalOptions();// TIH return the key settings to the user Sep3'06
            // Screwface : end

            PostEvent("DoInfoShower",100,"s","");

            reStorePassengers("Blaze");
            pchar.tempmoney = pchar.money;
            pchar.money = 0;
            pchar.quest.main_line = "speak_with_peasant";
            pchar.quest.Luc_start.over = "yes";
            pchar.jack = "pirate";
            PChar.Flags.Personal = 1; // PB: Non-British Jack-flag
            PChar.Flags.Personal.texture = 3;
            LAi_QuestDelay("Reset_Prison_comm", 0.0);
            if(GetAttribute(pchar, "Turks") == "0")
            {
                LAi_QuestDelay("Turks_taken_by_brotherhood", 0.0);
            }
            if(GetAttribute(pchar, "Davy") == "helped")
            {
                Characters[GetCharacterIndex("Davy Jones")].model = "9JC";
                Characters[GetCharacterIndex("Davy Jones")].headmodel = "h_9JC";
            }
            else
            {
                SetNextWeather("Super Fog"); // PB
                Characters[GetCharacterIndex("Davy Jones")].headmodel = ""; // PB
            }
            ChangeCharacterAddressGroup(characterFromID("Davy Jones"), "Oxbay_shore_01", "goto", "locator10");
            DoQuestReloadToLocation("Oxbay_shore_01", "goto", "citizen02", "to_oxbay_shore_complete");

            // Thomas the Terror: Chevalle side quest available now
            ChangeCharacterAddressGroup(CharacterFromID("Captaine Chevalle"), "PoPrince_tavern", "goto", "goto2");
            // Captain Maggee: Villanueva set to Brothel
            if (ENABLE_BROTHEL == 1)
            {
                ChangeCharacterAddressGroup(CharacterFromID("Eduardo Villanueva"), "Tortuga_Brothel_room", "goto", "locator3");
            }
            else
            {
                ChangeCharacterAddressGroup(CharacterFromID("Eduardo Villanueva"), "Tortuga_Townhall", "goto", "goto2");
            }
            // Captain Maggee: Sumbhajee side quest available now
            ChangeCharacterAddressGroup(CharacterFromID("Sumbhajee"), "Havana_Tavern", "sit", "sit19");
            ChangeCharacterAddressGroup(CharacterFromID("Sumbhajee Aid1"), "Havana_Tavern", "goto", "goto7");
            // Captain Maggee: Sao Feng side quest available now
            pchar.quest.ANIMISTS = "1";
            // Captain Maggee: Jocard side quest available now
            PChar.quest.Story_Artois_Nigel.win_condition.l1 = "location";
            PChar.quest.Story_Artois_Nigel.win_condition.l1.character = PChar.id;
            PChar.quest.Story_Artois_Nigel.win_condition.l1.location = "Oranjestad_town";
            PChar.quest.Story_Artois_Nigel.win_condition = "Install_Voysey_And_Blythe";
            // VanessaHudgensFan: Mistress Ching side quest available now
                ChangeCharacterAddressGroup(CharacterFromID("Mistress Ching"), "Muelle_tavern", "sit", "sit6");
        break;


---

About the pirate lords.
I think we should add a counter somewhere say.
Pchar.Quest.PirateLords = 0;
After each quest with a pirate lord is finnished (so where the questbook is updated) this counter should be increased by 1 and then there should be a check. If this counter is the right amount (so all pirate lords are seen) then a new quest thing should be started. There you can close the thing and add another questbook update with "I've seen all the piratelords" or something like that. Or we could expand on the story there again :).
Do you understand that and do you think you can make that? Or should I help with that.

Yes I think I understand but I have no idea if I can make this. I think the best to do for now is first finish the two things that are not working yet so we can use that for the next WIP Pieter wants to upload next weekend ;) So it means the greet of Lisa Cucuy and the Pieter At Douwesen part from the Turks quest must be finished first :)

If that is ready we can see if we can do something you say, it's a nice idea but I've no idea to do that yet. Maybe it's also an idea we add a whole new island to the game (Saba?) and let the quest happen there or something if that is possible? I can create characters and guards for the island that's easy for me hehehe but I have no idea how to add a new island on the world map. I think I need you help with this :)
 
Looks right yes. Only please move it up to before the winconditions. Thats just because I like that better ;).

Yeah just finish it now. I can add stuff later also if I want.

I replied about those greetings btw
 
Looks right yes. Only please move it up to before the winconditions. Thats just because I like that better ;).

Uh where then, below which rules the I will add it there, don't know exactly what you mean with winconditions :razz

Yeah just finish it now. I can add stuff later also if I want.

Yep but I'll be glad to help you with it, I can learn a lot more from it I think hehehe :razz

I replied about those greetings btw

You mean that you take a look at is sunday? I can't still figured it out I'm afraid so I think I send you the files, which do you need for this?
 
PChar.quest.Story_Artois_Nigel.win_condition.l1 = "location";
PChar.quest.Story_Artois_Nigel.win_condition.l1.character = PChar.id;
PChar.quest.Story_Artois_Nigel.win_condition.l1.location = "Oranjestad_town";
PChar.quest.Story_Artois_Nigel.win_condition = "Install_Voysey_And_Blythe";
SO place it above that ;).

Please send me the dialog files for the character which had the problem and the quest_reactions file.
Maybe I have some time tonight. Can't promise anything.
 
SO place it above that ;).

Done

Code:
            // Captain Maggee: Sumbhajee side quest available now
            ChangeCharacterAddressGroup(CharacterFromID("Sumbhajee"), "Havana_Tavern", "sit", "sit19");
            ChangeCharacterAddressGroup(CharacterFromID("Sumbhajee Aid1"), "Havana_Tavern", "goto", "goto7");
            // Captain Maggee: Sao Feng side quest available now
            pchar.quest.ANIMISTS = "1";
            // VanessaHudgensFan: Mistress Ching side quest available now
                        ChangeCharacterAddressGroup(CharacterFromID("Mistress Ching"), "Muelle_tavern", "sit", "sit6");
            // Captain Maggee: Jocard side quest available now
            PChar.quest.Story_Artois_Nigel.win_condition.l1 = "location";
            PChar.quest.Story_Artois_Nigel.win_condition.l1.character = PChar.id;
            PChar.quest.Story_Artois_Nigel.win_condition.l1.location = "Oranjestad_town";
            PChar.quest.Story_Artois_Nigel.win_condition = "Install_Voysey_And_Blythe";

Please send me the dialog files for the character which had the problem and the quest_reactions file.
Maybe I have some time tonight. Can't promise anything.

Done too :razz

Oh yeah I have changed something already in the both_reaction file where the quest is in to try to keep Lisa Cucuy's greet but that didn't work so if you are missing lines you know why :D

Perhaps we can better create a Greetshop in the game hehehe lol :p:razz:rofl
 

Attachments

  • Lisa Cucuy greet problem.zip
    90.3 KB · Views: 120
Here are the files VHF was working on.

He has gone back to writing and I wish him all the best.
 

Attachments

  • VHF files.7z
    792.7 KB · Views: 151
I will take a look at it later to see if it causes problems etc, for now I don't reconment installing it yet.
 
Got another email.
Hi,

I'm very sorry about this but I forget to send you this file, it are the quest book entries for the quests I've added so here it is. Can you give pass it on to Pieter or Levis for me?

And I have played it now and I want to report some bugs of my fixes, it seems some things aren't how they supposed to be and that's why I email them to you so someone can fix them for using them in the beta :)

* After meeting Mistress Ching in Puerto Rico the quest book for the Pirate Lords won't upgrade.
* You can't play the Sao Feng quest anymore because you need to talk to the Tavernkeeper of Turks, Fred Bob and he hasn't the Tavernkeepersdialog anymore now his side quest is available so you can't complete it anymore. You have to talk to him before you can talk to Sao Fengs Crewmate Huang.

I wish you and everyone on PA! the best of luck with the beta's in the future :)

Farewell!

VHF
 

Attachments

  • JS Quest book entries.zip
    45.6 KB · Views: 148
Back
Top