• 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!

Need Help Hoist the colors (For the 125431th time)

I have used the stairs part of store04 many times. It would need a ladder and a visible hatch in the ceiling but
those are not difficult to fix. It feels like a smaller location than the lighthouse. And not much windows.

After looking at it i can say that this could work really well, if we could make the door leading to it not transparent, hatch wouldn't even be needed as we can assume that the door leading to somewhere leads out to to top of bell tower... (screenshots attached)
 

Attachments

  • door.png
    door.png
    2 MB · Views: 99
  • door1.png
    door1.png
    1.9 MB · Views: 91
Aah yes, this staircase. Fort Moultrie, four towers, two of them locked, the spyglass is in the flag...

Sorry, I'm not helping, I'll go back to my Devlin Opera. :wp
 
There is one case in WR2: "Kristiania_fort_stairs" with ladder, hatch and lower door already in place.
Texture can always be changed.
stairs.jpg
 
And i forgot to make Anamaria and Gibbs removable at the end of my questline that we have so far...
There's a potential snag with making them unremovable. It also makes them impossible to re-assign. If you hire an officer in a tavern, he automatically goes into one of the party slots, displacing whoever was there before. So if someone hires a new officer who then displaces Anamaria, it's impossible to put her back into the party.

The same applies to Danielle in "Tales of a Sea Hawk", which is why, whenever she's required for a scene, I've added a check - if she's not an officer, she's placed somewhere nearby and possibly forced back into her party officer slot. Have a look at cases "Story_AreYouReadyToCaptureGreenford", "Story_LandedOnKhaelRoa" and "Story_Take_Clement_Home".
 
There's a potential snag with making them unremovable. It also makes them impossible to re-assign. If you hire an officer in a tavern, he automatically goes into one of the party slots, displacing whoever was there before. So if someone hires a new officer who then displaces Anamaria, it's impossible to put her back into the party.

That's interesting... i wonder why it doesn't just place the new officer you hire in a different slot or in a passenger slot , would make more sense this way, so the unremovable officers stay where they should be... maybe the code can be altered so there is no need for a workaround ?
 
After briefly thinking about it and looking trough my code, there are no occasions where this would be an issue, and i mostly do what you did, just without the "if !isofficer" check, also i set officers to be unremovable for short quest specific periods.

In short... all should be fine.
 
I have decided to speed run Hoist the colours to finally do the sidequests before i continue with DMC, and i have already ran into an issue, this time i have a save file to hopefully prove that i'm not insane :D

So the problem: i have chosen the Mings path this time, and Beckett refuses to spawn when i arrive on Port Royale.

To be precise:

C:
T
case "Beckett_escort_to_Redmond":
            Locations[FindLocation("Oxbay_tavern")].reload.l1.disable = false;

            Pchar.quest.Beckett_escort_complete.win_condition.l1 = "ExitFromLocation";
            PChar.quest.Beckett_escort_complete.win_condition.l1.character = Pchar.id;
            Pchar.quest.Beckett_escort_complete.win_condition.l1.location = "Redmond";
            Pchar.quest.Beckett_escort_complete.win_condition = "Beckett_escort_complete";

            Pchar.quest.Beckett_run_for_Mings2.win_condition.l1 = "location";
            PChar.quest.Beckett_run_for_Mings2.win_condition.l1.character = Pchar.id;
            Pchar.quest.Beckett_run_for_Mings2.win_condition.l1.location = "Redmond_port";
            Pchar.quest.Beckett_run_for_Mings2.win_condition = "Beckett_run_for_Mings2";
        break;

All i did was wait till Beckett leaves the tavern and then used fast travel to my ship...

triggering

Code:
Pchar.quest.Beckett_run_for_Mings2.win_condition.l1 = "location";
PChar.quest.Beckett_run_for_Mings2.win_condition.l1.character = Pchar.id;
Pchar.quest.Beckett_run_for_Mings2.win_condition.l1.location = "Redmond_port";
Pchar.quest.Beckett_run_for_Mings2.win_condition = "Beckett_run_for_Mings2";

via console fixed it.
 

Attachments

  • -=Player=- Jamaica.rar
    613 KB · Views: 79
I must indded have a talent for breaking quests, but another one, Petros does not talk on the jetty, following this path (from wiki):

Gibbs to stay with Ship:

Go through jungle on your own – go to house outside fort entrance ( 1st jungle screen )

Transported to prison - Talk to Cap’n Drow. – escape – avoid 3 EITC officers in Port - sail to Turks - on jetty Petros talks to you - gives you your ship back.

Mr Gibbs leaves you

Sail to Lighthouse Bay, on Barbados

Triggering

Code:
characters[GetCharacterIndex("Petros")].Dialog.Filename = "Petros_dialog.c";
LAi_SetActorType(characterFromID("Petros"));
LAi_ActorDialog(characterFromID("Petros"),PChar,"",5.0,5.0);
Characters[GetCharacterIndex("Petros")].dialog.currentnode = "Turks_after_Guadeloupe_capture";

via console yet again fixed this :shrug
 

Attachments

  • -=Player=- Turks.rar
    652.5 KB · Views: 84
hmmm2.png



And this is one dead Davy Jones', i think setting him to be immortal or fighting back is in need here... (right after Cutler Beckett sinks the Wicked Wench)
 
Yet another little detail...

singap.png

Is captain Sao Feng suggesting i should start "At the worl's end" quicker and @Jack Rackham should help us make Singapore possible ?

As @Jack Rackham mentioned in this thread:


There are a few nice asian themed locations in VCO (no idea myself) ....

I would be happy to move sidequests around a bit and do other things with the location if this is the case :napoleon


But jokes aside, just a little inconsistency right now...


And the last thing for today, in my own questline, i have missed this detail, so gibbs has the correct dialogue
C:
    //Talk to gibbs on deck
        case "Ship_deck_gibbs_talk":   
            SetCharacterToNearLocatorFromMe("Mr. Gibbs", 15);
            LAi_SetActorType(characterfromID("Mr. Gibbs"));
            LAi_ActorDialog(characterFromID("Mr. Gibbs"),PChar,"",2.0,-1);
            Characters[GetCharacterIndex("Mr. Gibbs")].Dialog.Filename = "Mr. Gibbs_dialog.c";
            Characters[GetCharacterIndex("Mr. Gibbs")].dialog.currentnode = "talk_jack_ship";         
        break;
filepath...
 
Last edited:
Yes there are many asian cities in VCO. This is the one they use for Melacca (Singapore).
There are four .gm files to be added to this base with tons of trees, boats, market stalls, goods etc etc.

The walk path looks a little tricky. Several levels (needing special fixes).
Melacca.jpg Melacca2.jpg
 
Yes there are many asian cities in VCO. This is the one they use for Melacca (Singapore).
There are four .gm files to be added to this base with tons of trees, boats, market stalls, goods etc etc.

The walk path looks a little tricky. Several levels (needing special fixes).
View attachment 40731 View attachment 40732

The city is supposed to have little walkways (bridges). many traders, lamps, and mostly be on water, you can check out the thumbnails in the link below, couldn't find a better reference, it's from another pirates game:

Mission 8 - part 1 | Mission 8 - Singapore - Pirates of the Caribbean: At World's End Game Guide & Walkthrough

But as far as i can tell the city in your screenshots looks exactly like what we need, even without any added clutter, pretty exciting!

Edit: I feel like the being mostly on water part could be an issue...
 
Last edited:
I have decided to speed run Hoist the colours to finally do the sidequests before i continue with DMC, and i have already ran into an issue, this time i have a save file to hopefully prove that i'm not insane :D

So the problem: i have chosen the Mings path this time, and Beckett refuses to spawn when i arrive on Port Royale.
Did "First_run_Jamaica_with_Beckett2" trigger? It ought to be triggered by Beckett reaching the door and disappearing, and should in turn trigger "Beckett_escort_to_Redmond", which sets up the trigger for "Beckett_run_for_Mings2" when you arrive at Port Royale.

I must indded have a talent for breaking quests, but another one, Petros does not talk on the jetty...
Did "Get_off_Guadeloupe_3" trigger? That's the case which sets a trigger for "Turks_with_Drow" when you arrive at Turks port. "Turks_with_Drow" should move some characters around and then trigger "Turks_with_Drow2", which is the dialog you set up in console.

And this is one dead Davy Jones', i think setting him to be immortal or fighting back is in need here...
Or disable fighting on the beach. If you have your sword drawn then Davy Jones can't talk to you even if you don't hit him with it.

Is captain Sao Feng suggesting i should start "At the worl's end" quicker and @Jack Rackham should help us make Singapore possible ?
Change the first line of "Sao Feng_dialog.h" to something more appropriate. Unless/until you finish with DMC and go onto AWE, Sao Feng needs to stay at Turks Residence. As well as giving you the quest to find his bodyguards, which ends with you becoming a pirate lord, he's your only source of promotions if you've joined the Brotherhood and then done some freelance pirating.
 
Did "First_run_Jamaica_with_Beckett2" trigger? It ought to be triggered by Beckett reaching the door and disappearing, and should in turn trigger "Beckett_escort_to_Redmond", which sets up the trigger for "Beckett_run_for_Mings2" when you arrive at Port Royale.
Couldn't say for sure, as i'm long past this point, but i can confirm that Beckett ran to the tavern's exit and disappeared.

Did "Get_off_Guadeloupe_3" trigger? That's the case which sets a trigger for "Turks_with_Drow" when you arrive at Turks port. "Turks_with_Drow" should move some characters around and then trigger "Turks_with_Drow2", which is the dialog you set up in console.

Here i can say that Get_off_Guadeloupe_3 almost certainly did not trigger, as no characters were moved and Petros did not try to approach me himself...

@Grey Roger I can fix all of these little errors myself, i don't really want to bother you with it, it's just that i don't know how many of them you might have fixed already, so we don't do the same thing twice :)

Or disable fighting on the beach. If you have your sword drawn then Davy Jones can't talk to you even if you don't hit him with it.

There are tons of scenes where player should not be able to draw his weapon, and other foolproofing moments scattered around here and there, i can try to fix this up a notch if nobody is against it.
 
I'll now need to start "Hoist the Colours" again and this time play the "Mings" path myself. What I can say is that if you were doing a lot of fast-travel for the speed run, it may very well have broken things. There have been plenty of people reporting various quests breaking because they used fast-travel. Meanwhile, I've played through the "Brock/Brinkley" path and done a bit of tweaking already, and then used WinMerge to combine my fixes with your DMC work.
 
What I can say is that if you were doing a lot of fast-travel for the speed run, it may very well have broken things. There have been plenty of people reporting various quests breaking because they used fast-travel.

Yes indeed, i used a lot of fast traveling to save time, in DMC quests i either make sure the dialogue starts fast enough so the player physically can't open the fast travel menu, or use the disable fast travel function.

I don't really understand the logic behind this here piece of code not much related to Beckett not spawning at Port Royale but...

C:
case "Beckett_escort_to_Redmond":
            Locations[FindLocation("Oxbay_tavern")].reload.l1.disable = false;

            Pchar.quest.Beckett_escort_complete.win_condition.l1 = "ExitFromLocation";
            PChar.quest.Beckett_escort_complete.win_condition.l1.character = Pchar.id;
            Pchar.quest.Beckett_escort_complete.win_condition.l1.location = "Redmond";
            Pchar.quest.Beckett_escort_complete.win_condition = "Beckett_escort_complete";

            Pchar.quest.Beckett_run_for_Mings2.win_condition.l1 = "location";
            PChar.quest.Beckett_run_for_Mings2.win_condition.l1.character = Pchar.id;
            Pchar.quest.Beckett_run_for_Mings2.win_condition.l1.location = "Redmond_port";
            Pchar.quest.Beckett_run_for_Mings2.win_condition = "Beckett_run_for_Mings2";
        break;

        case "Beckett_escort_complete":
            if(AUTO_SKILL_SYSTEM)
            {
                AddPartyExpChar(pchar, "Leadership", 1500);
                AddPartyExpChar(pchar, "Sneak", 50);
            }
            else { AddPartyExp(pchar, 1500); }

//            RemoveCharacterCompanion(pchar, characterFromID("Cutler Beckett")); //TALISMAN - to have Becketts ship sail with you to P Royale when escort
            SetCharacterShipLocation(characterFromID("Cutler Beckett"), "Redmond_Port");
            //LAi_SetOfficerType(characterFromID("Cutler Beckett"));
            //LAi_QuestDelay("Beckett_run_for_Mings2", 0.2);
        break;

        case "Beckett_run_for_Mings2":
            ChangeCharacterAddressGroup(characterfromID("Cutler Beckett"), "Redmond_port", "goto", "goto_45");
            characters[GetCharacterIndex("Cutler Beckett")].Dialog.Filename = "Cutler Beckett_dialog.c";
            LAi_SetActorType(characterFromID("Cutler Beckett"));
            LAi_ActorDialog(characterFromID("Cutler Beckett"),PChar,"",5.0,5.0);
            Characters[GetCharacterIndex("Cutler Beckett")].dialog.currentnode = "Redmond_meet_after_Mings";
        break;

What is the purpose of Pchar.quest.Beckett_escort_complete.win_condition = "Beckett_escort_complete"; block of code, why make giving player experience for this quest a separate trigger, when it all could be done in "Beckett_run_for_Mings2" when Beckett talks to the player on jetty... as the escort mission is done at that point.
 
At a guess, it's because "Beckett_escort_complete" also sets Beckett's ship to appear at Port Royale dock, which probably won't work if it's done while you're standing on Port Royale dock in "Beckett_run_for_Mings2".

But I reckon the trigger for "Beckett_escort_complete" is wrong. "ExitFromLocation" means it will trigger when you're not at "Redmond", which is the waters near Jamaica. You're not near Jamaica at this point, you're in Speightstown tavern and Beckett has just walked out of the door. I'll try replacing it with "location" so that "Beckett_escort_complete" will trigger when you are near Jamaica.
 
Back
Top