• 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 Cargo Quest that i cannot complete. PotC New Horizons

Thehairysofa

Landlubber
Hi guys new to the mod. I am finding it fantastic but i accepted a quest from a merchant on charlestown and it was to take cargo to Havana whenever i get there the merchant doesn't give me any option to complete the quest. the conversation just says that they have nothing to discuss. I am definitely at the correct store and with the correct merchant. Obviously if i cannot complete it i will be unable to do any others.

is there anyway i can skip it or manually complete it? or even get rid of it?

any help would be grand.
 
Check your Questbook to see how much of what you were supposed to deliver. Post a screenshot here if you can.
Check also in your cargo hold to see if you actually have the correct amount on board.

It is unlikely, but occasionally cargo can get lost. Especially washed overboard in a storm.
I added a check so that quest cargo should be safe from that; but I think that only applies to some kinds of quest cargo and not all. :unsure
 
You probably don't have the cargo which the storekeeper is expecting. The questbook should tell you what you're supposed to be delivering, and how much.

Possible reasons why you don't have the cargo:
  • If the cargo is something which can be used as ship's supplies, such as planks, sailcloth or rum, you may have used some of it on the way to Havana.
  • If you ran into a storm and did not turn to face the wind quickly enough, some cargo may have fallen overboard.
  • If you had more than one ship when you took the job, some of the cargo may have gone onto another ship, and if you then sold that ship then you'll have sold the cargo along with it.
  • You might have sold the cargo somewhere between Charlestown and Havana.
Check the questbook and find out what you're supposed to be delivering. Sail to Santiago and buy some more of that type of cargo - or, if you use direct-sail all the time, Eleuthera might be closer. Then return to Havana.

Another possibility - are you playing FreePlay or are you playing a storyline? If it's FreePlay, check whether Spain's relations have changed. I don't think this should be a factor because if the storekeeper recognised you as hostile then he'd probably have told you to get out or he'd call the guards, but if you're certain that you have the right amount of the right cargo, check it anyway.
 
If the cargo is something which can be used as ship's supplies, such as planks, sailcloth or rum, you may have used some of it on the way to Havana.
Are those ever given as quest cargo? If so, perhaps that should be changed so it no longer happens.

If it's FreePlay, check whether Spain's relations have changed. I don't think this should be a factor because if the storekeeper recognised you as hostile then he'd probably have told you to get out or he'd call the guards, but if you're certain that you have the right amount of the right cargo, check it anyway.
If I recall, even when you're hostile, if you have a quest cargo, the trader SHOULD still accept it.
After all, it's HIM who wants it and calling the guards before getting it from you isn't exactly clever. ;)
 
wow guys thanks for the really quick responses. I feel like a Idiot i must have lost some cargo some how and didnt even think to look to see i had enough.....
 
Indeed - you're certainly not the first person to run into that problem and probably won't be the last. Thanks for reporting it anyway! :onya Better to have a report of a problem which turns out not to be a problem, than to not have a report of an actual problem which we can't fix because we don't know about it as nobody reported it.
 
Does make me wonder what could be done to better safeguard quest cargo's.

First thing would be to ensure consumables are never given as quest cargo.

Second is to give ALL quest cargo's the "quest" status that prevents them from washing overboard in a storm.

That may not be 100% realistic, but saves players a lot of potential confusion and frustration...
 
On the contrary, if consumables are currently blocked, perhaps unblock them. Your ship takes damage, you didn't bring enough of your own materials to repair it, so you have to use some of the cargo. Or you didn't bring enough rum to satisfy the crew so some of them help themselves to the cargo. Either way, you must pay for replacements before you can complete the contract.

In any case, I don't think cargo can be given a "quest" status. Cargo is cargo. Linen, for example, is linen. If you have 50 units of linen of your own and the storekeeper gives you 200 linen to deliver somewhere, now you have 250 units of linen. You're free to sell 50 of it, or even sell the whole lot provided you buy 200 linen somewhere else before you arrive at the destination store.

If I have time, I may approach this from a different angle. Change storekeeper dialogs so that, if you don't have enough of the required cargo, the storekeeper tells you. At least then you know why you can't complete the contract. You can probably buy the replacement from the same storekeeper, albeit at high price because it's probably an import, which is effectively you compensating him for losing some of his stuff.

The "Cargo For Thomas O'Reily" sidequest used to be even worse - the questbook didn't tell you what Thomas had given you. If you didn't have 200 silk when you talked to Arnaud Matton, you had no idea why you couldn't progress the quest. That, at least, has been fixed; the questbook does now tell you what you're carrying. (We really need to change it. Silk is an import in Port Royale and an export in St. Pierre. You're being paid to carry it the wrong way. Then you buy 200 silk from Arnaud as regular cargo and take it back to Thomas. xD)
 
I don't think cargo can be given a "quest" status. Cargo is cargo
It can.
For cargo delivery quests, you should see a note about it for that cargo in the Cargo Hold interface.
If you don't, then something for broken.
That definitely used to be the case and I checked on that too make sure that cargo WOULDN'T fall overboard in a storm.

If I have time, I may approach this from a different angle. Change storekeeper dialogs so that, if you don't have enough of the required cargo, the storekeeper tells you. At least then you know why you can't complete the contract. You can probably buy the replacement from the same storekeeper, albeit at high price because it's probably an import, which is effectively you compensating him for losing some of his stuff.
I like that.
Would be especially easy if you can move that code to a single shared dialog code file like I did for the governor's, for example.

We really need to change it. Silk is an import in Port Royale and an export in St. Pierre. You're being paid to carry it the wrong way.
You've got my go-ahead for sure :cheers
 
There's a bit of a snag with splitting off the quest-related dialog to a general file. Different storekeepers have different dialog texts, and even slightly different dialog code. I'd rather not make them all identical clones and lose that diversity. (Though I have an idea based on a switch on "NPChar.id"...)
 
Is there a way to use the same .c file with a different character-specific .h file?
 
If so, I don't think that it's been done before; all "dialog.c" files I know automatically look for the same name "dialog.h". That doesn't mean it can't be done, but I don't famcy trying it.

What I have in mind is to put all possible storekeeper quest text into one file, then have switches on "id" choose suitable lines for whichever storekeeper is speaking.
 
Here's a preview of what I have so far. It's nowhere near complete and these files are not playable by themselves, so don't copy them into your game install. If you want a look at how I've been doing this, download them somewhere safe and examine them with your choice of text editor.

I started with "Fox Ratter_dialog.c" because there several other storekeepers have identical dialog. Looking at that, you'll see that big chunks are missing compared to the version currently in the game. All the stuff for cargo and item trading is now split off, as is almost everything for quests - only a skeletal case "quests" remains as a base point in case anyone wants to add sidequest or storyline quest material for him. (Emiliano Rionda, the storekeeper in San Juan, has a small amount of sidequest code because he has a part in the "Nigel Blythe" quest; that stays in "Emiliano Rionda_dialog.c".)

"storekeeper_dialog.c" is the new general file. At the top is a switch based on "NPChar.id" which classifies all storekeepers that I've done so far and assigns them a number, "store_type". You'll see that there are a lot of store_type 1 - all of those have identical dialog, at least for the parts which were moved here. Some of them have code so that, if you've been recognised as hostile and have a high enough "Commerce" skill, you can still trade goods at a reduced rate. And some don't. That's handled by dialog case "First time", which remains in each storekeeper's own file so he can have his own greeting as well. (Some storekeepers are evidently more corrupt than others!) What that means is that "storekeeper_dialog.c" doesn't need to account for that difference.

But there aren't many clones of James Griffith's dialog, which in turn is almost but not quite identical to that for John Filbert, the storekeeper in Bridgetown. Presumably someone made a slight change to "John Filbert_dialog.c/h", then the changed dialog was copied for a couple of others. That's type 2, while the original John Filbert is type 3 to keep him different.

"store_type" is used for several switches within the dialog code, e.g. in case "quests":
Code:
           switch(store_type)
           {
               case 1: Dialog.text = DLG_TEXT[4]; break;
               case 2: dialog.text = DLG_TEXT[33]; break;
               case 3: dialog.text = DLG_TEXT[33]; break;
               case 4: dialog.text = DLG_TEXT[47]; break;
               Dialog.text = DLG_TEXT[4];
           }

That means it's going to be a more complicated to add a new storekeeper. Ideally you'd either clone his dialog from an existing storekeeper, then find that one's line at the top of "storekeeper_dialog.c" and copy it for your new character. Or you could write whole new dialog, add the relevant parts to "storekeeper_dialog.h", give him his own line at the top of "storekeeper_dialog.c", and then add switch cases at all points later. If you don't, it defaults to using the dialogs for store_type 1 as that's the most commonly used set.
 

Attachments

  • Fox Ratter_dialog.c
    2.7 KB · Views: 248
  • storekeeper_dialog.c
    11.7 KB · Views: 252
  • Fox Ratter_dialog.h
    1 KB · Views: 263
  • storekeeper_dialog.h
    3.4 KB · Views: 246
Awesome work, @Grey Roger! :woot

Some of them have code so that, if you've been recognised as hostile and have a high enough "Commerce" skill, you can still trade goods at a reduced rate. And some don't.
I think that's accidental and they were supposed to all have that functionality.
 
I think that's accidental and they were supposed to all have that functionality.
Perhaps, but whether accidental or not, the effect is that some stores are corrupt and will trade with anyone if they can make a fast doubloon; while some stores are patriotic and will not. I'm trying to keep the diversity of storekeepers, so I'll leave the patriotic ones as they are. :p

If I can get all the storekeepers to work under the new system (Thomas O'Reily and Arnaud Matton are going to be a challenge!) then I'll see about adding the extra dialog for the storekeepers to tell you when you don't have the cargo you're supposed to be delivering, which was what started all this in the first place. Apart from that, I'm trying to make them appear exactly as they are now.
 
I have used Peter Blowhorn_dialog.c in WoodesRogers. I think he's changed to Kate Blowhorn as storekeeper in QC.
Just so you don't delete the dialog I need.
 
That is correct, "Peter Blowhorn_dialog.c" is no longer used for a storekeeper as defined in "PROGRAM\Characters\init\StoreOwners.c" so I'm not touching it. In any case, nothing is being deleted, just moved, and then only the code which is common to all storekeepers - goods and item trading, and delivery quests. Character-specific material stays where it is, so that various sidequests should not be affected.

If Peter Blowhorn no longer exists outside "Woodes Rogers", perhaps move his files into "PROGRAM\Storyline\WoodesRogers\dialogs"? That way, even if someone were to resurrect Peter Blowhorn as a storekeeper, your quest-specific dialog would take precedence. @Bartolomeu o Portugues did that for Eugene Martin - the storekeeper of Hispaniola Buccaneers' Camp has a completely different pair of dialog files in the "Bartolomeu" storyline. I don't think my group dialog file will affect the storyline because the story-specific file doesn't appear to trigger any of the dialog cases which were moved to the group dialog file, nor does it contain its own copies of any of those dialog cases.
 
Back
Top