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

Fixed Missing Quest NPCs in Taverns

Hylie Pistof

Curmudgeon
QA Tester
Storm Modder
Pirate Legend
In the Animist side quest you need to go fight two ships and then escort a barque back to San Juan. It all went normally until the last ship was sunk and you are transported to the tavern to talk. No one is there to talk to.
 

Attachments

  • compile.log
    2.1 KB · Views: 97
  • system.log
    136.8 KB · Views: 117
  • -=Player=- Barbados.7z
    657.3 KB · Views: 84
Agh! Thanks for reporting, one more thing to be checked. :facepalm

Bizarre though; I thought that was working until quite recently.
 
I know this is going to be a stupid question - but I will ask it anyway - the barque you escort back to San Juan - you meet this of the coast of Cuba.

So when the attacking ships are sunk and you transport to the tavern - I thought it was the tavern in Santiago on Cuba - but the compile log you posted has references to Bridgetown ( Greenford) Barbados - Is a different island used in the free Play time period you are playing in ( to replace Cuba)?

:drunk
 
Code:
!!! Reload to Greenford_tavern (index=122)
SetCharacterTask_GotoPoint -> locator 'stay1' in group 'tables' not found
@pedrwyth, does the above ring any bell to you?
 
I know this is going to be a stupid question - but I will ask it anyway - the barque you escort back to San Juan - you meet this of the coast of Cuba.
It is a stock game sidequest and Cuba didn't exist in the stock game. It has always been Barbados there.
Cuba may be specifically for the Jack Sparrow sidequest.
 
Code:
!!! Reload to Greenford_tavern (index=122)
SetCharacterTask_GotoPoint -> locator 'stay1' in group 'tables' not found
@pedrwyth, does the above ring any bell to you?
Yes that is because the stay1 locator is in a group waitress not tables (not my doing!) - so the waitress can't find it - she still seems to wander about OK though.

However the answer to the problem is that Greenford is a Medium tavern and the character you are to talk to (Mergildo) is hard coded to go to one of the locators I changed recently - so now he isn't placed. His sit group locator is now in candles - so I've tweaked the code and here's the replacement file.

Anything that involves a quest character not appearing in a tavern where they did before is probably going to be down to this. I did say I didn't know how much they are used by quest coding.
 

Attachments

  • quests_side.c
    370.3 KB · Views: 116
@Hylie Pistof if you want to continue from the save in the tavern you need to put this

Code:
ChangeCharacterAddressGroup(characterFromID("Mergildo Hurtado"), "Greenford_tavern", "candles", "sit3");

in console and activate it. I think you then need to fast travel to say the church and back so that reloading the tavern places Mergildo Hurtado correctly for you to talk to. Works for me anyway.
 
I have decided I ought to go looking for instances of trouble caused by my changing/removing locators in some taverns.

I can search taverns.c, quests_side and all storylines for both_reaction and quests_reaction easily enough. That won't catch ones set in dialogues - I might get to those in due course.
 
Thanks for looking into this one, @pedrwyth! I'm very glad this particular bug at least has a reasonable and simple explanation. :woot

Eventually all the quests will need to be fully tested at some point and I know that no matter how much we try to fix in advance, that WILL result us in finding more bugs.
So just do what you can and we'll catch whatever is left at that point.

You could try searching the dialog.c files for "tavern" though and use Notepad++ to generate a list of all instances.
I often do things like that to find and catch most lines of code that need changes.
 
@Hylie Pistof: Which game version are you currently running?
You haven't had these nasty "no encounters/CTDs/unarmed characters/complete insanity" problems that some other people reported, have you?
 
@Hylie Pistof: Which game version are you currently running?
You haven't had these nasty "no encounters/CTDs/unarmed characters/complete insanity" problems that some other people reported, have you?


No I have not. I am playing the 18 OCT 2015 version with a few things like the collider thing. The floating people do not bother me as much as I enjoy not going through buildings.

I usually get one random CTD a day, but that has always been the case.
 
Then you DO have the "scary game version".
I hope you'll remain lucky! :cheers
 
Right been through the common quest files and those for specific storylines looking for sit locator problems (except woodes rogers and gold bug because I think they pretty much will have their own locations :cool:). So here is (another - slightly different) revised quests_side. c and four quests_reaction.c for particular plotlines (freeplay, devlin and hornblower seemed to avoid any problems).

I don't guarantee I caught everything :unsure but a good dozen probably.

Next I tackle the dialogues :dance
 

Attachments

  • changes.7z
    180.3 KB · Views: 89
Then you DO have the "scary game version".
I hope you'll remain lucky! :cheers

Well, I just played on Martinique a bit, sailed to Barbados and went into the dungeon for a successful treasure quest, and then sailed to Grenada. Here are my logs.
 

Attachments

  • compile.log
    68.6 KB · Views: 97
  • error.log
    150 bytes · Views: 92
  • system.log
    105.6 KB · Views: 111
Well, I just played on Martinique a bit, sailed to Barbados and went into the dungeon for a successful treasure quest, and then sailed to Grenada. Here are my logs.
Quite a lot in there, but nothing excessively scary. That's good, that is! :onya
 
Right been through the common quest files and those for specific storylines looking for sit locator problems (except woodes rogers and gold bug because I think they pretty much will have their own locations :cool:). So here is (another - slightly different) revised quests_side. c and four quests_reaction.c for particular plotlines (freeplay, devlin and hornblower seemed to avoid any problems).
Just to confirm, I see you changed a bunch of "sit" locators to "candles" in the code.
But you also changed at least one from "candles" back to "sit" and changed some "sit" ones to other "sit" ones.
That is all correct, right?
 
Just to confirm, I see you changed a bunch of "sit" locators to "candles" in the code.
But you also changed at least one from "candles" back to "sit" and changed some "sit" ones to other "sit" ones.
That is all correct, right?
I hope so!

Basically my first thought (and fix for Mergildo - probably the one change back) was to just change those using affected sit locators to candles BUT realised that the hardcoding in quests_common could result in PChar being stuck there over the top if a gambling/drinking scenario arose whilst the quest character was there. That being what the original change was supposed to avoid I thought it wrong to force it to happen (again).

So in some cases where both PChar and NPC were being placed at the same table (not always at the same point in the code) I swapped them to make sure PChar was on the candles. In another case two NPCs got the same (bugged) locator so I gave one an adjacent seat. If there was no clear alternative I reluctantly had to give the NPC a candles locator. Finally if it was PChar being placed I just put the candle swap in. I tried to work out in each case what was happening in the scene. Hope that's clear - it's pretty easy to see if its Pchar or not (and I got it right in what the changes do) -but testing,testing,testing
 
Back
Top