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

Discussion Dead Man's Chest Storyline

Jones

Sailor
I started creating the storyline of "Dead Man's Chest". For those who want to, I have the beginning here. (It starts from Cayman and then goes to Port Royal, where the storyline begins)
Link: Login - Dropbox
Add the attached file .ogg to / MUSIC. (I found the music in Italian, in English I will try again :shrug)
For those who want to help write here!:cheers
 

Attachments

  • GibbsSong.rar
    344.2 KB · Views: 270
Yes, I have started to answer some question but have no time to actually do something
as I am busy with WoodesRogers 2 and ...
 

Attachments

  • jrh.jpg
    jrh.jpg
    983.6 KB · Views: 366
There would be the scene where Black Pearl is and suddenly, in part emerges the Flying Dutchman. Is there a code that allows the Dutchman to emerge?
 
There is a scene in which there is the Black Pearl and then, the Flying Dutchman emerge. How can I do to emerge the Flying Dutchman? I don't find codes that I met.
 
When I insert the following code to trasport me from Port Royal to the Black Pearl cabin, black screen appears. The loading image appears, but then the screen becomes black.

Code:
DoReloadCharacterToLocation("Cabin4", "officers", "officer7");
                                                       // Set up actual beginning
             PChar.name = "Jack";
             PChar.lastname = "Sparrow";
             GiveModel2Player("depp",true);
             GiveModel2Player("will",false);
 

Attachments

  • upload_2017-6-6_18-41-27.png
    upload_2017-6-6_18-41-27.png
    24.6 KB · Views: 344
Which exact version of the game are you using? If it's the 7th January version (14.936), this will be because it includes some extra chests in cabins and some of them aren't properly set up, among them "Cabin4". Any attempt to teleport to such a cabin does indeed result in a black screen, and a couple of already existing storylines broke as a result.

Download the post 7th January update:
http://piratesahoy.bowengames.com/potc/Grey Roger/post_jan7_fixes.zip

The cabin chests are fixed, and your teleport should then work. You will need to start a new game for this to take effect.
 
Here are a couple of sound files which might interest you. I'm going to use them for Davy Jones' greeting, giving him something to say when you meet him in "Hoist The Colours". (And possibly in "Elizabeth Shaw's Disappearance".)
 

Attachments

  • DavyJones_sounds.zip
    587.7 KB · Views: 260
It's in NK.c . It has never been used in quest context for NPCs though, so that may take a bit of fiddling around.
I've found maybe a piece of code that might work, though I doubt it.
Code:
rCharacter.ship.SubmergeDutchman = makefloat(rCharacter.ship.SubmergeDutchman) + 0.35;
            if(!CheckAttribute(rCharacter, "ship.PlayedSplash"))
so that may take a bit of fiddling around.
what do you mean?:drunk
@Grey Roger Is there any code I do not know about sitting my character? Please look attached.
I've tried these two codes:
Code:
"Cabin4", "sit", "sit1");
"Cabin4", "sit", "sit2");
But they make me over water on the open sea:sail
 

Attachments

  • screenshot.jpg
    screenshot.jpg
    206.3 KB · Views: 425
Cabin4 means the location cabin03. I checked the locatorfile with the TOOL and there are no 'sit' locators at all. That's why you end up
very off side.

Make the locators visible: last part of Internalsettings.h
Teleport yourself to cabin4 with this line in the console
Code:
DoQuestReloadToLocation("Cabin4", "reload", "reload1" ,"_");
and check if there's any locator you can use.

You don't need a 'sit' locator to make a character sit.
To make him sit:
Code:
LAi_SetSitType(CharacterFromID("mutineer_18"));
 
You don't need a 'sit' locator to make a character sit.
To make him sit
I had already been informed of this:onya

Cabin4 means the location cabin03. I checked the locatorfile with the TOOL and there are no 'sit' locators at all. That's why you end up
very off side.
Make the locators visible: last part of Internalsettings.h
Teleport yourself to cabin4 with this line in the console

This is very helpful:dance
 
This could be?
Code:
rCharacter.ship.SubmergeDutchman = makefloat(rCharacter.ship.SubmergeDutchman) + 0.35;
I do believe so. :onya

Hopefully I was kind enough to program it in such a way that it works for non-player ships too.
I can't remember, really...
 
A small problem has arisen::8q

Code:
case "Go_to_Port2":
                                                      LAi_SetPlayerType(PChar);
                                                      ChangeCharacterAddressGroup(characterfromID("Mercer"),"Redmond_port", "officers", "sea_1_2");
                                                      ChangeCharacterAddressGroup(characterfromID("Eng Captain Near FdF"),"Redmond_port", "goto", "goto_45");
                                                      LAi_SetActorType(characterFromID("Mercer"));
                                                      LAi_SetActorType(characterFromID("Eng Captain Near FdF"));
                                                      LAi_SetHP(characterFromID("Mercer"), 50.0, 50.0);
            LAi_SetHP(characterFromID("Captain"), 10.0, 10.0);
            LAi_group_MoveCharacter(CharacterFromID("Mercer"), "Mercer");
            LAi_group_MoveCharacter(CharacterFromID("Eng Captain Near FdF"), "Eng");
            LAi_SetImmortal(CharacterFromID("Mercer"), true);
            LAi_ActorAttack(characterFromID("Mercer"), characterFromID("Eng Captain Near FdF"), "");
                                                      LAi_QuestDelay("On_Port", 1.0);
                                    break;

                                    case "On_Port":
                                                      characters[GetCharacterIndex("Mercer")].Dialog.Filename = "Mercer_dialog.c";
            LAi_SetCivilianGuardianType(characterFromID("Mercer"));
            Characters[GetCharacterIndex("Mercer")].dialog.currentnode = "Kill_Captain";

                                    break;
The problem is that the dialogue starts right away, so it does not allow Mercer to kill the officer. Is it possible to solve this?
 
I can't see where the dialog is triggered. I'd expect 'LAi_SetCivilianGuardianType(characterFromID("Mercer"))', in case "On_Port", to make him stop his attack, then stand and wait for you to talk to him. If he is to initiate the dialog rather than wait for you, I'd expect a line like 'LAi_ActorDialog(characterFromID("Mercer"), pchar, "", 0.0, 0.0);'.

In any case, the problem is likely to be that you're triggering case "On_Port" with 'LAi_QuestDelay("On_Port", 1.0);'. That means Mercer has exactly 1 second in which to finish the fight, then the quest progresses to "On_Port" regardless.

If you want the fight to end when "Eng Captain Near FdF" is dead, try this instead:
Code:
               Pchar.quest.On_Port.win_condition.l1 = "NPC_Death";
               Pchar.quest.On_Port.win_condition.l1.character = "Eng Captain Near FdF";
               PChar.quest.On_Port.win_condition = "On_Port";

Incidentally, who is "Captain"? If you're trying to set the HP of the character fighting Mercer, this isn't going to work:
Code:
LAi_SetHP(characterFromID("Captain"), 10.0, 10.0);
Try setting the HP for "Eng Captain Near FdF" instead. ;)

Also, this is going to be a one-sided fight because "Eng Captain Near FdF" isn't going to fight back. If you want to make it look like a duel, add this:
Code:
LAi_ActorAttack(characterFromID("Eng Captain Near FdF"), characterFromID("Mercer"), "");
It's still going to be a foregone conclusion because "Mercer" has been set to immortal, but at least it won't look so obvious.

@Pieter Boelen: 'LAi_ActorAttack' is defined:
Code:
void LAi_ActorAttack(aref chr, aref enemy, string quest)
What triggers "quest"? Is it when "enemy" is dead?
 
Back
Top