Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 206 207 [208] 209 210 ... 244

Author Topic: DFHack 50.14-r1.1  (Read 893714 times)

A_Curious_Cat

  • Bay Watcher
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3105 on: January 07, 2022, 09:43:55 pm »

That's not necessarily a DFHack crash, that line 89 is actually in a script that runs DF - the code that actually seg faulted could be in DF, DFHack, or some library.

Do you know how to find core dumps in your distro?

I’m on a Debian based distro.  I’ve found some information and I think I’ve just enabled core dumps.  Now to wait and see if it segfaults again…
Logged
Really hoping somebody puts this in their signature.

HunterZ

  • Bay Watcher
    • View Profile
Re: DFHack 0.44.12-r3 | 0.47.04-beta1
« Reply #3106 on: February 03, 2022, 11:56:49 pm »

I'm having trouble getting the tailor plugin to work. I've enabled it, and a status check confirms it's enabled, but even after several years ingame it has yet to actually do anything. There is plenty of worn clothing in need of replacement, and a bookkeeper is assigned, with an office. However, no clothing orders are ever placed, nor is any clothing produced. Am I missing a step? The documentation doesn't indicate anything more.
I remember reading in the past that bookkeepers, after reaching a certain skill level, basically never go back to update the stockpile records, essentially becoming clairvoyant. If the update records job is never triggered, I suppose the clothing check would not trigger either? However, I cannot confirm this is how bookkeeping works at the moment, the wiki doesn't seem to mention anything like this anymore, even though I could have sworn reading that somewhere at some point.

I really like the idea of the tailor plugin, so I'd love to get it to work!
I seem to be having this problem as well. Has anyone figured out how to get this to work reliably?
Logged

HunterZ

  • Bay Watcher
    • View Profile
Re: DFHack 0.44.12-r3 | 0.47.04-beta1
« Reply #3107 on: February 05, 2022, 01:04:19 pm »

I'm having trouble getting the tailor plugin to work. I've enabled it, and a status check confirms it's enabled, but even after several years ingame it has yet to actually do anything. There is plenty of worn clothing in need of replacement, and a bookkeeper is assigned, with an office. However, no clothing orders are ever placed, nor is any clothing produced. Am I missing a step? The documentation doesn't indicate anything more.
I remember reading in the past that bookkeepers, after reaching a certain skill level, basically never go back to update the stockpile records, essentially becoming clairvoyant. If the update records job is never triggered, I suppose the clothing check would not trigger either? However, I cannot confirm this is how bookkeeping works at the moment, the wiki doesn't seem to mention anything like this anymore, even though I could have sworn reading that somewhere at some point.

I really like the idea of the tailor plugin, so I'd love to get it to work!
I seem to be having this problem as well. Has anyone figured out how to get this to work reliably?
Update: I had a thought to try increasing bookkeeper accuracy from the default lowest setting to see if it would trigger the tailor plugin. It didn't go well - consistently results in the tailor plugin crashing the game. Created a dfhack ticket: https://github.com/DFHack/dfhack/issues/2006
Logged

A_Curious_Cat

  • Bay Watcher
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3108 on: March 01, 2022, 07:52:52 pm »

I just dropped by to mention that it appears that “enable nestboxes” doesn’t seem to work.  I’ve seen dwarves gather fertilized eggs even with it enabled.  I’m using DFHack 0.47.05-r3.
Logged
Really hoping somebody puts this in their signature.

lethosor

  • Bay Watcher
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3109 on: March 02, 2022, 12:14:35 am »

I just dropped by to mention that it appears that “enable nestboxes” doesn’t seem to work.  I’ve seen dwarves gather fertilized eggs even with it enabled.  I’m using DFHack 0.47.05-r3.
Can you double-check the output of "plug nestboxes" when this happens?
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

A_Curious_Cat

  • Bay Watcher
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3110 on: March 02, 2022, 12:22:05 am »

I just dropped by to mention that it appears that “enable nestboxes” doesn’t seem to work.  I’ve seen dwarves gather fertilized eggs even with it enabled.  I’m using DFHack 0.47.05-r3.
Can you double-check the output of "plug nestboxes" when this happens?

I can try.
Logged
Really hoping somebody puts this in their signature.

doublestrafe

  • Bay Watcher
  • [PONY_DEPENDENT]
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3111 on: March 02, 2022, 06:06:16 am »

Is there documentation somewhere on how to read the output of show-unit-syndromes?
Logged

Atkana

  • Bay Watcher
  • [CURIOUSBEAST]
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3112 on: March 03, 2022, 03:24:53 am »

Is there documentation somewhere on how to read the output of show-unit-syndromes?
The output varies a lot based on all of the effects of each syndrome, so it's hard to give a concise answer that covers everything. Most of the terminology used is straight from the game, so familiarising yourself with the syndrome tokens will likely explain a lot.

Something not immediately obvious for me when first using the script (which was just now xP) was what the numbers in square brackets represented, so I'll mention them here:
  • In the general output, it covers how far the syndrome has progressed and when it will start to end. For example, I've got somebody with "Adder man bite [105 of 1200-2400]"
    • The "____ of" section is how many syndrome ticks the syndrome has been active for (in this case 105).
    • The second section outlines when the syndrome's effects will end. Because syndromes can have multiple effects with different timings, each effect can end at different times. If there's two numbers separated by a dash (like in this example), the first number mentions the earliest point that one of the syndrome's effects will end, while the second number is the latest effect. In this example, the nausea effect of the adder man's bite ends first at 1200 ticks, while the pain from the bite ends last, at 2400 ticks.
  • In the effects part of the output (seen if you use the showeffects argument), these numbers outline when each effect starts and ends. The first number is when the effect starts, the second when it ends. If there's a third number in the middle, that's the peak of the effect.
There's also the confusing "###" that you'll sometimes see written at the front of certain effects when you're inspecting a syndrome on someone. It means that the effect currently isn't active because the syndrome hasn't progressed far enough to reach that effect's start point. Why it doesn't just say "[inactive]", I don't know.

doublestrafe

  • Bay Watcher
  • [PONY_DEPENDENT]
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3113 on: March 03, 2022, 06:15:12 am »

Thanks, that's helpful. It's surprising to me how many of the dfhack tools aren't documented or even acknowledged in the dfhack docs.

Quote
- Beast sickness [permanent]
 -  - Bleeding [permanent] (size delays,size dilutes,vascular only,localized) power=100
 -  - Drowsiness [permanent] (size delays,size dilutes) power=100
 -  - ###Fever [332-1059-2434] (size delays,size dilutes) power=100

So when there are three numbers in square brackets, is that related to START/PEAK/END? It still doesn't seem right, because this guy has had the syndrome for months or a year now, so 300 ticks away seems unlikely, and when I first looked at the output months ago I don't remember those numbers being in the hundreds of thousands. And is power equivalent to SEV? The wiki says SEV 1000 is pretty severe, so 100 seems not so bad, which is consistent with my dwarf not bleeding out or starving to death in bed. I've got a kitten with it, too, and it doesn't seem to be affected other than "Urvad Oltarosod, Kitten (Tame) cancels Sleep: In Custody" when I gelded him.
Logged

Atkana

  • Bay Watcher
  • [CURIOUSBEAST]
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3114 on: March 03, 2022, 07:51:26 am »

Quote
- Beast sickness [permanent]
 -  - Bleeding [permanent] (size delays,size dilutes,vascular only,localized) power=100
 -  - Drowsiness [permanent] (size delays,size dilutes) power=100
 -  - ###Fever [332-1059-2434] (size delays,size dilutes) power=100

So when there are three numbers in square brackets, is that related to START/PEAK/END? It still doesn't seem right, because this guy has had the syndrome for months or a year now, so 300 ticks away seems unlikely, and when I first looked at the output months ago I don't remember those numbers being in the hundreds of thousands. And is power equivalent to SEV? The wiki says SEV 1000 is pretty severe, so 100 seems not so bad, which is consistent with my dwarf not bleeding out or starving to death in bed. I've got a kitten with it, too, and it doesn't seem to be affected other than "Urvad Oltarosod, Kitten (Tame) cancels Sleep: In Custody" when I gelded him.
I think I slightly mis-explained what the ### means (oops). They should be showing whenever that effect is inactive, either because the START is yet to be reached, or because the END has been passed. I only mentioned the possibility of it not having yet started, but like in your case, it's likely that the ###s are appearing for the fever effect because that effect's end has long since passed.

Yeah, power is just SEV. SEV is one of those weird things that's hard to actually quantify because it means different things for different effects, and even different things for the same effects depending on how its implemented, and also there isn't any clear documentation on what levels of SEV do what... For example (and I'm just going off old memories, so I could be wrong) the SEV for a CE_FEEL_EMOTION affects the intensity of an emotion, with a SEV of 100 being 100%, and lower SEV potentially downgrading the emotion to a weaker one, or higher upgrading it to a stronger one, based on the emotion. Meanwhile just 1 SEV of CE_DROWSINESS makes a unit grow sleepier at 16 times(?) the normal rate (when the game is working properly, at least)*, and a SEV of 2 will outpace the speed that sleeping recovers tiredness. When tiredness can lead to poor productivity or even insanity, almost any level of SEV seems "pretty severe" when it comes to drowsiness. Don't worry, I'm sure your permanently drowsy guy will do just fine (hopefully the fact that the effect in this instance is diluted by size will make a difference)...

Thanks, that's helpful. It's surprising to me how many of the dfhack tools aren't documented or even acknowledged in the dfhack docs.
Most of the dfhack scripts should be listed in the documentation, like this script in question here. I think the main problems with the script is that it doesn't follow the normal dfhack conventions for sending arguments (usually you're supposed to have them lead with a -, e.g. -help), and it's documentation not really explaining what some of the things actually mean (like the ###).

Spoiler: * (click to show/hide)
« Last Edit: March 04, 2022, 02:22:57 am by Atkana »
Logged

myk

  • Bay Watcher
    • View Profile
Re: DFHack 0.47.05-r3
« Reply #3115 on: March 10, 2022, 04:40:14 pm »

New release! DFHack-0.47.05-r4 is out!

Lots of improvements to blueprint and quickfort. In particular, quickfort now protects masterwork engravings from destruction and can rotate blueprints, flip them around, and repeat them up and down z-levels. There are some notable additions to the blueprint library as well; there are now blueprints for pump stacks and aquifer water taps (and detailed walkthroughs for how to use them without flooding your fort).

See the full list of improvements (and download the binaries) here: https://github.com/DFHack/dfhack/releases/tag/0.47.05-r4
« Last Edit: March 10, 2022, 05:46:20 pm by myk »
Logged

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: DFHack 0.47.05-r4
« Reply #3116 on: March 21, 2022, 12:37:04 pm »


Code: ('Godsummon.lua') [Select]
local dlg=require("gui.dialogs")
-- ok so this script is made for summoning gods into DF, to make this work you need to nickname someone historical that would form an army.
-- so the best choice would be either another adventurer or adv follower if you want the god to show up after fast traveling or assign the DFCAT nickname on some random peasant you talk to once.
-- going to give a warning about how this script messes with nemesis and probably unstable.
-- so BEST not use this on any important saves you care about and just test this out on an disposable save.
-- oh and the gods you summon won't really talk back if you reply to them.
-- this script uses coding from spawn unit and gui scripting to make it work, don't think this works in fort mode as this was made and tested in adv mode.
-- hopefully you have a better time getting gods to fight each other better than I did.
function deitysummoning()
local Ark={}
for k,v in pairs(df.global.world.history.figures) do
if v.flags.deity==true or v.flags.force==true or v.flags.skeletal_deity==true or v.flags.rotting_deity==true then
BoaName=dfhack.TranslateName(v.name)
table.insert (Ark,{dfhack.TranslateName(v.name).." "..v.name.nickname,nil,v})
end
end
local f=function(Name,C)
  deitysummoning2(C[3])
end
dlg.showListPrompt("pantheon list","Select your deity for summoning",COLOR_WHITE,Ark,f)
end
function getxyz() -- this will return pointers x,y and z coordinates.
local x=df.global.cursor.x
local y=df.global.cursor.y
local z=df.global.cursor.z
return x,y,z -- return the coords
end


local function allocateNewChunk(hist_entity)
  hist_entity.save_file_id = df.global.unit_chunk_next_id
  df.global.unit_chunk_next_id = df.global.unit_chunk_next_id+1
  hist_entity.next_member_idx = 0
  print("allocating chunk:",hist_entity.save_file_id)
end

local function allocateIds(nemesis_record,hist_entity)
  if hist_entity.next_member_idx == 100 then
    allocateNewChunk(hist_entity)
  end
  nemesis_record.save_file_id = hist_entity.save_file_id
  nemesis_record.member_idx = hist_entity.next_member_idx
  hist_entity.next_member_idx = hist_entity.next_member_idx+1
end


function createNemesis(HistfigID)
  local id = df.global.nemesis_next_id
  local nem = df.nemesis_record:new()

  nem.id = id
  nem.flags:resize(31)
  nem.unk10 = -1
  nem.unk11 = -1
  nem.unk12 = -1
  df.global.world.nemesis.all:insert("#",nem)
  df.global.nemesis_next_id = id+1

  nem.save_file_id = -1

  local he
  if civ_id and civ_id ~= -1 then
    he = df.historical_entity.find(civ_id)
    he.nemesis_ids:insert("#",id)
    he.nemesis:insert("#",nem)
    allocateIds(nem,he)
  end
  local he_group
  if group_id and group_id ~= -1 then
    he_group = df.historical_entity.find(group_id)
  end
  if he_group then
    he_group.nemesis_ids:insert("#",id)
    he_group.nemesis:insert("#",nem)
  end
  nem.figure=HistfigID
  nem.figure.nemesis_id = id
  return nem
end


function getxyz() -- this will return pointers x,y and z coordinates.
local x=df.global.cursor.x
local y=df.global.cursor.y
local z=df.global.cursor.z
return x,y,z -- return the coords
end
function getItemAtKPos(x,y,z) -- gets the item index @ x,y,z coord
--local x,y,z=getxyz() --get 'X' coords
local vector=df.global.world.item.all -- load all items
local kickpos=df.global.world.units.active[0].pos
for i = 0, #vector-1 do -- look into all items offsets
local curpos=vector[i].pos --get its coordinates
local cx=curpos.x
local cy=curpos.y
local cz=curpos.z
if cx==kickpos.x and cy==kickpos.y and cz==kickpos.z then --compare them
return vector[i] --return index
end
end
--print("item not found!")
return nil

end
function getCreatureAtPos(x,y,z) -- gets the creature index @ x,y,z coord
--local x,y,z=getxyz() --get 'X' coords
local vector=df.global.world.units.all -- load all creatures
for i = 0, #vector-1 do -- look into all creatures offsets
local curpos=vector[i].pos --get its coordinates
local cx=curpos.x
local cy=curpos.y
local cz=curpos.z
if cx==x and cy==y and cz==z then --compare them
return vector[i] --return index
end
end
--print("Creature not found!")
return nil

end

function getArmyAtName(Divineslot)
for k,v in pairs(df.global.world.nemesis.all) do
if v.figure.name.nickname=='DFCAT' then
print("Nem",k)
local Cat=df.global.world.armies.all
for k1,v1 in pairs(Cat) do
if v1.members==nil then break else
for Del,ete in pairs(v1.members) do
if ete.nemesis_id==v.id then
print("Army",k1)
return k1
end
end
end
end
end
end
end

function deitysummoning2(HistfigID)
Divineslot=createNemesis(HistfigID)
 local horse=Divineslot
 print('God Nem ID',Divineslot.id)
 print('God Nem.figure ID',Divineslot.figure.id)
 local NeArmy=getArmyAtName()
  df.global.world.armies.all[NeArmy].members:insert("#",{new=true,nemesis_id=horse.id,})
end

deitysummoning()

well here's a script I worked on for a project that imploded mostly from being unable to get two beings to beat the stew out of each other
so this script is made for folks who want to summon the deities of dwarf fortress into their game though they don't really do much these divine beings are the real deal, I guess for the fort mode version you need to nickname someone DFCAT then send them on a mission then while they are on a mission run the script to grab a god then I guess the deity would return seeking asylum and you get a divine being in your fort.


uses for doing this uhh shrugs, I know some gods contain loads of secrets and spells that one probably could coax into writing down if they probably learn how to read and write.
fun interactions of watching someone marry a god and witness DF version of Zeus in play.
 
also like to give a warning this might mess up your saves It does create a new nemesis and forces the game to make a new unit based off the inserted hist fig.

edit: ok so it seems like I miss one line of coding and it corrupted one of the saves mostly the one from the gif. so far hope this fixes the issue.
« Last Edit: March 23, 2022, 02:55:58 pm by Rumrusher »
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

doublestrafe

  • Bay Watcher
  • [PONY_DEPENDENT]
    • View Profile
Re: DFHack 0.47.05-r4
« Reply #3117 on: March 23, 2022, 04:02:40 am »

It would be super helpful if autonick listened for "autonick help" or "autonick -help" instead of just irreversibly running itself when you try to find out the details of what it does. Even erroring out on any argument would be an improvement.
Logged

myk

  • Bay Watcher
    • View Profile
Re: DFHack 0.47.05-r4
« Reply #3118 on: March 25, 2022, 11:22:13 pm »

That sounds like a good idea. Could you maybe add that as a feature request at the DFHack issue tracker? https://github.com/DFHack/dfhack/issues
Logged

doublestrafe

  • Bay Watcher
  • [PONY_DEPENDENT]
    • View Profile
Re: DFHack 0.47.05-r4
« Reply #3119 on: March 26, 2022, 01:41:20 am »

Done. Never used github before, hope I did that right.
Logged
Pages: 1 ... 206 207 [208] 209 210 ... 244