1. 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
  2. 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
  3. New Horizons logo

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

  4. 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.

Need Help Learning Quest Writing

Discussion in 'Build Beta and Brainstorming' started by pirateking, Feb 17, 2017.

  1. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    @all Quest scribe
    A question about the possibility!
    Because I do not know about code writing, I ask you if there are 2 possibilities in a quest:

    1. Possibility: Is it possible to make a quest where all pirates try to get all the treasures and chase after where all have treasure.
    Whoever remains then and has allowed himself against all pirates is then the pirate king.

    2. Possibility (maybe there is this already) A quest to look for Blackbeard. To bring back something he has stolen.


    I think the first option is a cool idea!
    But it is up to you what is possible, it is just ideas ideas of mine.

    CU
    PK

    PS: Sorry for me English! I find
     
  2. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    65,231
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    @pirateking: In short, basically ANY quest could be written.
    Doing so just requires time and effort.

    In other words: Nobody is going to write your quests for you.
    But as usual, if you really want to learn, we'll be here to help.

    Blackbeard is already in the mod.
    You can find him if you know where to look and steal something from him if you can figure out how to defeat him.
     
  3. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    Ok which tool doe i need zu make Question.
     
  4. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    65,231
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Do you remember the Tips & Tricks thread I linked you to a few times?
    That tells you the main tools you need. :doff
     
  5. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    Oh that look complicated for me..

    I have no overview. :(

    Pirate King Quest would be cool!

    Ps: A ather Quest, is there anywhere a new List of all Ships which is in the Mod?
     
  6. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    65,231
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    The bare basics to begin with are these three points:
    The other 3 options mentioned in that first post are also extremely valuable and not particularly complex.

    Next to "adding items", "quest writing" is probably one of the most straightforward and well-established things to mod.
    I will not lie and say it is actually so easy you could do it in your sleep. But it is far, FAR easier than actually developing new features altogether.

    You do need to realise that we are SEVERELY undercrewed here, yet do have easily a gazillion ideas of your own; just look at the number of threads on this forum!
    What we do not have is enough time and people to actually take those ideas and make them a reality.
    Posting general ideas is very nearly completely pointless, unless you're also willing to do your part to make them a reality.

    So far, you have been lucky with the help of @Grey Roger and @Jack Rackham.
    But if you propose bigger tasks, I'm afraid you cannot expect anyone to do them for you.
    We can help and support; but most of the work does need to come from yourself...

    New Horizons Ships | PiratesAhoy!
    That list is almost completely up-to-date.

    If you set ENABLE_CHEATMODE to 1 at the bottom of PROGRAM\InternalSettings.h, you can also scroll through ALL available ships in the Select Storyline Interface.
    Or set DEBUG = 1 at the bottom of PROGRAM\globals.c, which allows you to scroll through all ships in the Shipyard>Appearance Interface.
     
  7. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    Ok!

    First i will finsh me Update File, and then i will look if i will try to creat the
    Pirate King Quest.

    I need only the list to give me new Pirate Charakter there Ships.
     
  8. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,382
    Writing a quest is relatively easy, though developing it to completion will probably take you a long time. Writing it so that it doesn't break when players do something you didn't expect is not easy. I speak from personal experience here. ;)

    @pirateking: the definitive list of ships is in "PROGRAM\Ships\Ships_init.c". That is where all ships in your game installation are defined.

    The advantage of setting "ENABLE_CHEATMODE" as @Pieter Boelen suggests is that you can not see all ships from the "Select Storyline" interface. You can also change the year in that interface, and you will only see the ships appropriate for that year. So, if you're going to set your game in 1720, for example, you'll only see ships which exist in 1720, which is in the "Golden Age of Piracy" period.
     
  9. Jack Rackham

    Jack Rackham HoO Team Member Quest Writer Storm Modder

    Joined:
    Jul 5, 2004
    Messages:
    3,191
    Gender:
    Male
    Occupation:
    math teacher
    Location:
    Sund, Ramsjö, Sweden
    Indeed, that's what takes time - not to write the things you want them to do.

    But if you want to include something unique, special into your quest that will also take a lot of time.
     
  10. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    Ok!

    @Grey Roger and @Jack Rackham first i finsh me Update Projekt after i finsh it
    i will start with Quest extension " The Pirate King Quest".
    So then i maybe will need your support for this Work. (Step by step)
    Next week will rite some Quest Notes so you can read what
    i thing about the Question.

    PS: It will be in me Dropbox Folder!

    Cu
     
  11. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    65,231
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Very true. You CAN see all the ships, but not all at the same time because regardless of the Cheatmode, the Periods still affect what you see.
    That's actually an advantage so you only get ships that fit in with the other ships for that year.

    If I recall, if you set DEBUG = 1, then you'll get to see the Ship ID in that interface too.
    That makes assigning them much easier, because it is the ID that you really need.

    Fair points.

    @pirateking: For beginning quest writing, anyone should really start with "copy/pasting existing bits" and adapting that.
    The simplest of the simplest is using the Rys Bloom example. That is really just:
    1. Talk to character #1
    2. Talk to character #2
    3. Talk to character #1 again
    4. Quest completed

    If you can replicate that, but with your own characters, then you have already learned:
    1. Adding your own characters
    2. Basic dialog trees
    3. Basic quest logic

    Some related reading material:
    WIP - Adding sidequests in storylines | PiratesAhoy!
     
  12. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    hm i will see.

    But i need first a NoteScriptline.
     
  13. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    65,231
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    As long as your story script is as simple as this:
    1. Talk to character #1
    2. Talk to character #2
    3. Talk to character #1 again
    4. Quest completed

    You really don't want to make it any more complicated than that to begin with. ;)

    Of course characters #1 and #2 can be on different islands.
     
  14. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    Yes i know!
    so in the script you can see the Lineup!

    Question! Give it a Code which show all Hidden treasures on the map?
     
    Last edited: Feb 17, 2017
  15. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,382
    It's worth noting that quite a lot of games consist almost entirely of sequences like:
    1. Talk to character #1.
    2. Talk to character #2.
    3. Talk to character #1 again.
    4. Quest done, get reward.

    Part 2 might not be talking to someone else, but basically, part 2 is what character #1 wants you to do. You could do a lot worse than start with that basic plan and have different characters require different things for part 2, e.g. find an item, kill an enemy, or - as with Rys Bloom - talk to someone else.

    You don't need to do the whole thing at once. Start with one character who, like Rys Bloom, needs you to go and talk to someone else. Get that working. Then add another bit to allow you to meet someone else. Get that working. And so on.
     
    Pieter Boelen likes this.
  16. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
    I will make first my Lineup and you can see me plan.
     
  17. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    65,231
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Are you talking about actual Treasure Quests right now? If so, technically there can only be ONE of those at the same time.
    If you're talking about "Random Chests", it is not doable to show them in the [M]-key map menu.

    Or do you mean with "map" the "general 3D world"? If so, open PROGRAM\InternalSettings.h and set VISIBLE_LOCATORS to 1 at the bottom.
    That allows you to see spheres around all "locators", which includes "box" ones (=chests).
     
  18. pirateking

    pirateking Freebooter

    Joined:
    Jun 9, 2011
    Messages:
    289
    Gender:
    Male
    Location:
    Austria
  19. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,382
    Treasure quests are worse than that. Not only is there only one active at a time; you can't see the locator for the treasure box unless a treasure quest is active, and then only for the box produced by that quest. The function which spawns the quest ('GenerateTreasureQuest()' in "MAXIMUS_Functions.c" calls a function which creates a locator for the chest, and when the quest concludes, it removes the locator again.

    But it doesn't matter because if you want your sword to be available in quest treasure chests, look at 'FillTreasureChestWithRandomLoot' in "PROGRAM\QUESTS\quests_utils.c". That's where treasure is randomly put into the chest, wherever the chest happens to be. Weapons are randomly put into the chest by blocks like this:
    Code:
           if(calc_luck > 6)
           {
             if (period >= PERIOD_GOLDEN_AGE_OF_PIRACY) lcn.treasure_box.items.pistol3 = (Calc_luck*rand(5)); // Grapeshot Pistol
             else lcn.treasure_box.items.pistol2 = (Calc_luck*rand(5)); // Duelling Pistol
           }
    The 'if (period >= PERIOD_GOLDEN_AGE_OF_PIRACY)' bit is because the grapeshot pistol isn't supposed to exist in early periods, so if you're doing a treasure quest in those periods, you should not find a grapeshot pistol, you'll find a duelling pistol instead. I don't know whether your katana is limited to certain periods. If it is, that's how you'll prevent it from appearing in chests in the wrong periods. If not, you don't need the period condition, just add a line to put in some katanas, so that the block now looks like this:
    Code:
           if(calc_luck > 6)
           {
             if (period >= PERIOD_GOLDEN_AGE_OF_PIRACY) lcn.treasure_box.items.pistol3 = (Calc_luck*rand(5)); // Grapeshot Pistol
             else lcn.treasure_box.items.pistol2 = (Calc_luck*rand(5)); // Duelling Pistol
             lcn.treasure_box.items.bladeC38 = (Calc_luck*rand(5)); // Katana
           }
    And then look at the thread Guide - Treasure Quests which tells you how to find the chest while playing the game.
     
    Pieter Boelen likes this.

Share This Page