Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Merchants stopped coming, items appear in stocks but not on map  (Read 4265 times)

A_S00

  • Bay Watcher
    • View Profile

Hi, all.

A couple in-game years ago, I got the message for a dwarven merchant caravan.  My Trade Depot changed status to allow me to bring trade goods to it, as if a caravan was arriving.  However, no merchants or wagons ever came, and I was never able to trade.

Since then, dwarven caravans no longer come to my fort (it's been multiple years).  In the stocks screen, I can see a bunch of phantom trade items that appear to be the stuff the caravan that never came should have brought.  If I zoom to them from the stocks screen, it takes me to the map edge, but there's nothing there.

I see that at least one other person also has this problem:  http://dffd.bay12games.com/file.php?id=12230

Are there any known workarounds for this issue?  Any way I can use dfhack to refresh the caravans somehow?

Thanks!

-----

My save:  http://dffd.bay12games.com/file.php?id=12235
Logged

Daris

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #1 on: July 07, 2016, 05:50:20 am »

The only solution I know works all the time is to set up your game to seasonally autosave and create backups of each autosave, and reload the game from the most recent save whenever this occurs.  Of course that does not help you if you experienced this years ago.

The merchants are on the map, and can be teleported in with DFHack if you know their unit ID#s, which is difficult with merchants because they don't have stable ID#s.  If you're dedicated enough, you might try teleporting in units and try to triangulate in on the merchants.

Otherwise, I did have the human caravan reappear from limbo once after ~15 years when one of the merchants went insane.  However, in my current game, the elven caravan has been gone more than 20 years and it hasn't reappeared, so this isn't a reliable solution.
Logged

timotheos

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #2 on: July 07, 2016, 01:43:13 pm »

You can also retire and then un-retire the fort.
You'll swap no merchants for the various un-retire bugs, but they are all short term and can be fixed with time (and work by your dwarves). Where as the merchants are stuck for years (if not forever).
Logged

A_S00

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #3 on: July 07, 2016, 08:07:19 pm »

The only solution I know works all the time is to set up your game to seasonally autosave and create backups of each autosave, and reload the game from the most recent save whenever this occurs.  Of course that does not help you if you experienced this years ago.

The merchants are on the map, and can be teleported in with DFHack if you know their unit ID#s, which is difficult with merchants because they don't have stable ID#s.  If you're dedicated enough, you might try teleporting in units and try to triangulate in on the merchants.

Otherwise, I did have the human caravan reappear from limbo once after ~15 years when one of the merchants went insane.  However, in my current game, the elven caravan has been gone more than 20 years and it hasn't reappeared, so this isn't a reliable solution.
If I were dedicated enough, how would I go about attempting to determine the ID's of the merchants?  They don't appear on the Units screen, and zooming to the location of their phantom items brings me only to an empty tile at the map edge.  Calling [teleport -showunitid] on that tile doesn't work (it returns the same traceback error that calling it on any other empty tile does).

Is there a way to list the unit ID's of all units currently loaded?  I haven't been able to find one.
Logged

Daris

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #4 on: July 07, 2016, 08:38:04 pm »

I don't think there is a way to show the IDs of all units loaded.  Teleport is a bare-bones script.

What I just did a few minutes ago was load the seasonal autosave save from the year they glitched and noted the ID of the first merchant to appear (13503) and then tried to teleport in sequential numbers until I hit paydirt.  Two of the merchants and their pack animals were teleported in next to my military.  One immediately went berserk and killed the horses, then was killed in turn, and the other left the map.

Without a seasonal autosave, I'm not sure what I would do exactly.  Recalling how that one reappearance had gone down, I have tried stationing my military rover the spot where the caravan disappeared, but no luck.  It seems to do nothing.
Logged

A_S00

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #5 on: July 08, 2016, 12:26:37 am »

Success(ish)!

Using dfhack's multicmd, plus a little one-liner Python script to generate the teleport commands for every unit ID in a big chunk, I teleported every single unit with an ID between 1 and 3999 onto my map.  This turned out to include my merchants, so I checked them and found that all their ID's were in the 2900-3000 range, so I savescummed, then teleported only the units in that block onto the map.  The merchants appeared, a couple of them went berserk and I killed them, then the rest (who were all melancholic) wandered off the map.

All merchant items (except the ones dropped by the ones I had to kill) are now gone from my stocks screen.

I'll have to wait until next fall to see if this causes a new caravan to actually show up, but...here's hoping.

Thanks for your help, Daris; I would absolutely not have thought to try this without your post.

*edit* Caravan and outpost liason just showed up!
« Last Edit: July 08, 2016, 01:08:48 am by A_S00 »
Logged

Daris

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #6 on: July 08, 2016, 05:49:03 am »

Holy cow, you HAVE to post this to the main DF fortress mode board along with your one-liner script.  This is a problem that affects many and my workaround is clunky and requires previous knowledge of the bug.
« Last Edit: July 08, 2016, 06:12:15 am by Daris »
Logged

A_S00

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #7 on: July 08, 2016, 11:30:15 am »

Will do when I get home.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #8 on: July 08, 2016, 02:38:05 pm »

Python is a great tool, but instead of learning it it is probably faster to use table calculation software such as excel or openoffice to generate 3 columns for "teleport text" <iterated unit id> "teleport text", select all, drag downwards with mouse, then copy all into notepad, run replace to remove the tabs and then save it and then tell dfhack to run it as script at fort startup or key command or what have you.

A_S00

  • Bay Watcher
    • View Profile
Re: Merchants stopped coming, items appear in stocks but not on map
« Reply #9 on: July 08, 2016, 07:59:11 pm »

Fix posted.
Logged