• 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 Learning Quest Writing

pirateking

Privateer
@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
 
@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.
 
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?
 
Oh that look complicated for me..
The bare basics to begin with are these three points:
Here's a bunch of tricks that REALLY help me doing any sort of work with the PotC code:

1. Don't use Windows Notepad as text editor; I use Notepad++ which is much better, free and can be found here: http://notepad-plus-plus.org/download/v6.7.5.html

2. Another complete and utter lifesaver that I use is WinMerge: http://winmerge.org/downloads/
This allows you to compare code files and folders with each other and find all differences.

3. Add your PotC folder to the Windows Search Index: http://windows.microsoft.com/en-us/windows/improve-windows-searches-using-index-faq#1TC=windows-7
That way, when using the regular Windows search functionality, it won't just search in the filename, but also in the file CONTENTS! And it is QUICK!

You can now use Windows Search to find all files that contain reference to certain function or variable names.
Then open all in Notepad++ and use "search in all files" and you'll have a list of all uses. And all that within a minute or so.

This is all based on free programs and built-in Windows functionality, but unlocks some really quite powerful options.
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...

is there anywhere a new List of all Ships which is in the Mod?
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.
 
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.
 
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.
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.
 
Writing it so that it doesn't break when players do something you didn't expect is not easy.
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.
 
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
 
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.
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.

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.
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!
 
But i need first a NoteScriptline.
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.
 
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:
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.
 
Give it a Code which show all Hidden treasures on the map?
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).
 
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.
 
Back
Top