1. Dismiss Notice
  2. GOG.com logo

    Thanks to YOUR votes, GOG.com now sells:
    - Sea Dogs - Sea Dogs: Caribbean Tales
    - Sea Dogs: City of Abandoned Ships

    Vote now to add Pirates of the Caribbean to the list!

    Dismiss Notice
  3. Under the Crossbones Podcast

    A Pirate Podcast with Interviews
    Music, Comedy and all things Pirate!

    - Episode Guide - About - Subscribe -
    - Twitter - Facebook - iTunes - Android -
    - Youtube - Fill the Coffers -

    Dismiss Notice
  4. New Horizons logo

    Quick links for PotC: New Horizons
    - Download latest version
    - Wiki - FAQ - Report bugs here
    - ModDB profile

  5. GOF logo

    Quick links for AoP2: Gentlemen of Fortune 2
    - Downloads and info
    - Historical Immersion Supermod
    - ModDB Profile

Dismiss Notice
New to the forum?
Please take a moment to read our Welcome Message and Forum Rules.

Information aboute The New Pirate Age - Update! [WIP]

Discussion in 'POTC: New Horizons Mod' started by pirateking, Feb 22, 2017.

  1. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    There are still mistakes. See if you can spot them.
     
  2. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    Ups now I edit this.

    Look please.
     
  3. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    That looks as though it should work, at least as far as talking to Skullface, agreeing to pay him, and triggering quest case "Skullface_Quest".

    Dialog case "Node_1" seems to be what happens if you say you don't have the money. Put this into "Skullface_dialog7":
    Code:
    Diag.TempNode = "Node_1";
    Look at dialog case "exit":
    Code:
    Diag.CurrentNode = Diag.TempNode;
    It sets "CurrentNode" to whatever is in "TempNode". If you change "TempNode" then, when the dialog exits, what you put into "TempNode" is where the dialog will start next time.

    What that means is that, after you've told Skullface that you don't have the money, every time you talk to him again, the dialog will start at "Node_1". If you again say that you don't have the money, the dialog exits straight away, and when you return again, the dialog will again start at "Node_1".
     
  4. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    Ah ok

    Can you Look if I put it on the right placse?
    I will test it in the next time.

    Thanks.
     
  5. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    Yes, that looks right.
     
  6. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
  7. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    @Grey Roger
    I question?

    Which Code have i to use that Officer gives to the player his ship after a Hire Talk with out Pay? And where.

    Cu
     
  8. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    To give the player a ship: GiveShip2Character
    You already know this because you use it in your "StartStoryline.c" to give the player a different ship depending on which character you're playing. For example:
    Code:
    GiveShip2Character(PChar,"SchoonerWar","Walrus",-1,PIRATE,true,true);
    gives you a ship of type "SchoonerWar", named "Walrus". The ship data is modified for a Pirate design. The ship will be given full crew and supplies. Change the ship type and name to whatever you prefer.

    In general:
    Code:
    GiveShip2Character(character, ship type, ship name, cannon type, nation, crew hired, supplies)
    Replace "character" with either PChar (you) or CharacterFromID("Roronoa Zorro") to give the ship to someone else, e.g. Roronoa Zorro.
    Replace "ship type" with a valid type from "PROGRAM\Ships\Ships_init.c".
    Replace "cannon type" with a valid type from "PROGRAM\Cannons\Cannons_init.c", or just use -1 to give the ship its normal cannons.
    Replace "nation" with ENGLAND, FRANCE, SPAIN, PORTUGAL, HOLLAND or PIRATE to adjust the ship's data to make it appear to be designed by that nation.
    Replace "crew hired" with true if you want the ship to have a full crew, or false if you want the ship to be without a crew so that you have to go to a tavern to hire them.
    Replace "supplies" with true if you want the ship to have food, rum and ammunition already, or false to have an empty cargo hold so you have to buy supplies from a store.

    Where to put it: probably in "quests_reaction.c". If you are to get the ship after talking to the character then you know how to do that. Set up his dialog and have AddDialogExitQuest. Make it trigger the quest case where you get the ship.

    There is no point in repeating the question. If I haven't seen the first one, I won't see the second one either!
     
  9. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,808
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Are you documenting that stuff somewhere? That right there is perfect for future reference! :onya
     
  10. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    @Grey Roger

    Can you help me to add 6 Dialog Text (Line 200-205) in Franky Dialog Files. It should be come after „About you .....“ dialog Text.
    And after Line 205 the Thousands Sunny Quest on „New Greanada“ Twon.
    Please look in the Dropbox the Franky Files.

    Thanks.
     
  11. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    Why do you need help? You already know how to write dialog. You also already know how to use a dialog to trigger a quest.

    The "Franky" files seem to be copied from "Enc_Officer_dialog". This is not a good place to start your own dialog. You already know that the start point for creating your own dialog is "blank_dialog", which you can find and copy from "PROGRAM\Storyline\Ardent\DIALOGS".
     
    Last edited: Oct 12, 2017
  12. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    Yes I know that.

    But I will edit the exist Franky_Dialog.c File.

    Cu
     
  13. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    @Grey Roger
    I need a Code which after a fight(on land) the Player own the ship form the Character if the Player wins?
     
  14. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    That depends on who is doing the fighting. If it's a group, e.g. the Lighthouse Pirates because you put them into the monster group and then told the monster group to attack the pirates, then add a 'LAi_group_SetCheck' line to the quest case. For example:
    Code:
            case "Lighthouse_Pirates":
                LAi_group_MoveCharacter(CharacterFromID("Kuro"), LAi_monsters_group);
                LAi_group_MoveCharacter(CharacterFromID("Jango"), LAi_monsters_group);
                LAi_group_MoveCharacter(CharacterFromID("Gino"), LAi_monsters_group);
                LAi_group_MoveCharacter(CharacterFromID("Genzo"), LAi_monsters_group);
                LAi_group_SetRelation(LAi_monsters_group, LAI_GROUP_PLAYER, LAI_GROUP_ENEMY);
                LAi_group_FightGroups(LAi_monsters_group, LAI_GROUP_PLAYER, true);
               LAi_group_SetCheck(LAi_monsters_group, "LightHouse_Pirates_Defeated");   //  <-- This line triggers case "Lighthouse_Pirates_Defeated" when the fight ends
            break;
    If it's a single enemy, e.g. Dark Assassin, then you can do this:
    Code:
            case "Dark_Assassin_Quest":
                LAi_group_MoveCharacter(CharacterFromID("Dark_Assassin"), LAi_monsters_group);
                LAi_group_SetRelation(LAi_monsters_group, LAI_GROUP_PLAYER, LAI_GROUP_ENEMY);
                LAi_group_FightGroups(LAi_monsters_group, LAI_GROUP_PLAYER, true);
               PChar.quest.Assassin_dead.win_condition.l1 = "NPC_Death";          // These three lines trigger case "Assassin_dead" when "Dark_Assassin" dies
               PChar.quest.Assassin_dead.win_condition.l1.character = "Dark_Assassin";
               PChar.quest.Assassin_dead.win_condition = "Assassin_dead";
            break;
    Either way, you're triggering a new quest case when the fight is over. That quest case is where you will give the ship to the player. And you already know how to do that because I explained it in post #568.
     
  15. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    @Grey Roger

    First it is on a Singel Person.

    Secound! I Test The Skullface Dialog.
    The Dialogs Text Works.
    but the dont give me the Iteme(the Book)
    The Error File is emty.

    Where is the Error?

    Cu
     

    Attached Files:

  16. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    For a start, in "initQuestItems.c", several items are defined twice, both as quest items and as general items. I'm not sure how much damage that does, but certainly something is going wrong with items because in "compile.log":
    As far as I can tell, that's happening during character initialisation. What really puzzles me is that it complains about "worker_Axe", and that's not one of yours, it's a standard item in "initItems.c". If "initItems.c" was broken then I'd expect a whole lot more items to be reported there, starting with any weapon assigned to any character involved in a sidequest.

    In any case, the reason you're not getting the book is that it doesn't exist. There's another complaint about it near the bottom of "compile.log":
    That tells us that quest case "Skullface_Quest" was correctly triggered. That's where you're supposed to get the book, but there's that error message saying that the book isn't there.

    See what happens if you remove these lines from "initQuestItems.c":
    Code:
      n = InitItem(n,"Galleobook",  "",    "NPA1", 7, 0.10,  1,    0,   0,   1,  1, 1,     0,  +2,  0,  0,  0,  0,  0,  0,  0, +1,    1, 1, 1, 1); //<- Can Not bought in Shops and found on any Ships
      n = InitItem(n,"hourglass",   "",    "NPA1", 2, 0.10,  1,    0,   0,   1,  1, 1,     0,   0,  0,  0,  0,  0,  0,  0,  0, +1,    1, 1, 1, 1); //<- Can Not bought in Shops and found on any Ships
      n = InitItem(n,"Eageleye",    "",    "NPA1", 3, 0.10,  1,    0,   0,   1,  1, 1,     0,   0,  0,  +2, 0,  0,  0,  0,  0,  0,    1, 1, 1, 1); //<- Can Not bought in Shops and found on any Ships
      n = InitItem(n,"trident",       "",    "NPA1", 4, 0.10,  1,    0,   0,   1,  1, 1,     0,  +3, +3,  +2, 0,  0,  0,  0,  0,  0,    1, 1, 1, 1); //<- Can Not bought in Shops and found on any Ships
    And then start a new game.
     
  17. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    @Grey Roger

    Ok. How can make that Quest Items have Skill Funktion?

    I will test it tomorrow.

    Thanks for help.
     
  18. pirateking

    pirateking Privateer

    Joined:
    Jun 9, 2011
    Messages:
    557
    Gender:
    Male
    Location:
    Austria
    @Grey Roger

    Please can you check in my Dropbox in the Items Folder the Intems.c file.

    This Items are skill Quest Items.
    Look for „New Pirate Age“

    Please tell me put I in the right Place.

    Thanks Cu
    Pk
     
  19. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,558
    Quest items can't have skill bonuses because the code which handles them, 'InitQuestItem', has no parameters for skills. Anything which is to have skill bonuses must be a non-quest item in the lower part of "initQuestItems.c". In that case, it should not be defined again in the upper part which deals with quest items.

    The following items should appear either in "initItems.c" or "initQuestItems.c", but not both:
    "hourglass", "Eageleye", "trident", "Galleobook", "aztec_compass". Of those, remove "aztec_compass" from "initQuestItems.c" - it must stay in "initItems.c" because it's part of another quest not related to your storyline. Remove "hourglass", "Eageleye", "trident" and "Galleobook" from "initItems.c" because they are specific to your storyline, so they should be in "initQuestItems.c".

    Also in "initItems.c", "bladeC38" is defined both as a quest blade (line 507) and as a normal blade (line 2860). Remove one of them. Lines 3624 and 3630 both refer to "bladeC38"; at best the game will ignore one of them, at worst that will break the file, so remove one of them. Likewise, lines 3626 and 3631 are both for "bladeC40", so remove one of them.

    Line 3719 also deals with "bladeC38" but is a different switch block to line 3624, so that's alright; but line 3723 is in the same block as line 3719 and deals with "bladeC38". Remove either line 3719 or 3723. Likewise, remove either line 3721 or line 3725 for "bladeC40".
     
  20. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,808
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    "aztec_compass" is an item that should always be available. It is needed to get to Isla de Muerta.
     

Share This Page