Registered Users
  • Content count

  • Joined

  • Last visited

Community Reputation

4 Neutral

About mrboosch

  • Rank
    Junior Member
  1. help

    @makar5000 @Lampofulmine I have successfully created a widget. I, too, based mine off of badge - and I used netvars to pop the data to it. You should be able to pull down the Tak the Goblin mod to see it, and if you cant, let me know and we can connect via steam.
  2. I am sure everyone else has said it, but, this is magnificent. Good on you.
  3. Hello @Samillennium I would start by reviewing the code for eyebone.lua, chester.lua and chesterbrain.lua to see how they implemented his behaviors. Did you want your follower to also be a chest? if so, simply copy eyebone.lua, chester.lua and chesterbrain.lua to the appropriate folders in your mod directory and begin replacing all* references to "chester" "Chester" and "CHESTER" (just in case...) in those files with "myguy" "Myguy" and "MYGUY" respectively. Do the same with "eyebone", "Eyebone" and "EYEBONE" with "myfollowitem" "Myfollowitem" and "MYFOLLOWITEM" (again, just in case...) for the files in your mod folder. Make sure you update modmain.lua to tie these files into your mod! * For all of these replace things, do not replace anything in the files that is an ANIM or BUILD or SOUND file reference. Leave those pointing to the original values. You can replace those when you've added your own character art/sound. This will give you a starting point with a character that follows your specific item, behaves exactly like chester does, and acts as a chest. It's basically a clone of chester with your own name. You'll probably have to spawn the myfollowitem via the console. Not the easiest project to start with, but I don't know your level of experience, so maybe you're well suited to this? I'd personally have to hack my way through it with a lot of guess and check. G'luck!
  4. Hey @pickleplayer would you kindly share your solution? Thanks!
  5. @pickleplayer I think you've got half the picture here. The brain should get altered, as it needs to know that 'fight' is more of a priority than run - Ranges might be the right culprit there at first glance. I also think you need to alter the koalaphant's targeting functions (keep target, retarget) as well. For example, to do this SUPER quickly (and without much testing at all beyond logging in and getting attacked, I did the following steps) Altered koala brain to remove characters as scary people function local function ShouldRunAway(guy) return --[[ pulled out this part guy:HasTag("character") and --]] not guy:HasTag("notarget") end copied onnewtarget, retargetfn and keeptargetfn from hound.lua to koalaphant.lua, removing hound-specific logic local function OnNewTarget(inst, data) if inst.components.sleeper:IsAsleep() then inst.components.sleeper:WakeUp() end end local function retargetfn(inst) return FindEntity( inst, TUNING.HOUND_TARGET_DIST, function(guy) return inst.components.combat:CanTarget(guy) end, nil, nil ) end local function KeepTarget(inst, target) return inst.components.combat:CanTarget(target) end Then last in koalaphant.lua I updated the commonfn to use my new functions and wake up if you're nearby: inst.components.combat:SetKeepTargetFunction(KeepTarget) inst.components.combat:SetRetargetFunction(3,retargetfn) inst:ListenForEvent("newcombattarget", OnNewTarget) Let me know your own results?
  6. @JohnWatson Won't that suppress any and all talking / sounds? If he wants it to still make noise without words, do you see an issue with my proposal above? Thanks
  7. @Lumina are you sorted here? This can be easy or hard based on what monster you want to clone/adjust. Firstly, do you want to change the existing monster or introduce a new one? Does the existing thing already ever attack anything? If it does, this might be as simple as cloning the prefab and overwriting the target/ontarget/retargetfn functions. Let me know where you are with this?
  8. This like is what you should be looking for help with logs (you can generally not include anything before them: This indicates that you still havent loaded speech_brandon successfully. The lines under it indicate all of the places it's trying to find a file named 'speech_brandon.lua'.
  9. Hello Vull, The value of TUNING.SANITYAURA_HUGE is a positive value. Because of this, you add a "-" symbol to negate it. you could have written HomShaBom's code as inst:AddComponent("sanityaura") inst.components.sanityaura.aura = -1 * TUNING.SANITYAURA_HUGE So, if you want the character to make other characters more sane, you simply don't include the -1 (or the "-" symbol) at all. So the answer to your question is you do not need the '+' symbol, just write: inst:AddComponent("sanityaura") inst.components.sanityaura.aura = TUNING.SANITYAURA_HUGE -- alternatively, if you want him to make other characters VERY sane, use a multiplier like: -- inst.components.sanityaura.aura = 4 * TUNING.SANITYAURA_HUGE
  10. Removing the talking isn't too bad - I think you can basically edit the speech_<name>.lua file and change all of the strings where he says something to "" (empty) - he'd just bark a lot. Doing the animations might be harder. I think you'd basically have to do a new rig :/
  11. Hello, You can accomplish this by adding a custom sanity function t your character. It might go something like this: -- Fire Sanity fn, gets added to sanity functions later local function sanityfn(inst) -- first we get some information about what things are near our character -- the max_rad tells us how far out to look local x, y, z = inst.Transform:GetWorldPosition() local delta = 0 local max_rad = 10 -- Next we find things. Mine finds fire (like willow) - you should change this to find campfire, or specific sources you want. local ents = TheSim:FindEntities(x, y, z, max_rad, { "fire" }) for i, v in ipairs(ents) do --this checks to see if the thing that was found is actively burning. --if it is, and if the player is within the light radius of the fire, then change their sanity if v.components.burnable ~= nil and v.components.burnable:IsBurning() then local rad = v.components.burnable:GetLargestLightRadius() or 1 local sz = TUNING.SANITYAURA_MED * math.min(max_rad, rad) / max_rad -- this is to alter the distance of the character to fire effect - defining how close they have to be local distsq = inst:GetDistanceSqToInst(v) - 9 delta = delta + sz / math.max(1, distsq) end end return delta end Once you have your sanity function defined, you can add it to your character to supplement the existing sanity function by adding it into the master_postinit function of your character's prefab like this: inst.components.sanity.custom_rate_fn = sanityfn This code is a good start, but you'll need to alter it to do exactly what you want - I hope it helps you.
  12. Ok, so I've created a custom follower based off of maxwell's shadows for a summoner-style character. I've created custom art for these critters, and have created (and gotten loaded into game / stategraph) custom animations for idle_loop, run_pre, run_loop, run_pst. However, no matter which animation is playing, it is always "facing" the wrong direction (left vs right) from what I expect. How does one indicate facing in spriter? The next follow-on question will be "how does one inform the game / animation to use "backside" animations/sprite when a character is running 'up' versus side to side. Thanks!
  13. So unless I miss my mark - similar to as you describe, wouldn't you just... have the character's definition have two states, person & masterdoll on <event> toggle between the states on <toggle> spawn variable-enabled prefab in the world (either body[indestructible] or doll) - this way you don't ever need to 'recreate' the player On toggle away from doll-state, store a variable in the player for the doll's dmg stats On create of doll prefab, pass over the doll's dmg stats such that the doll item needs repairing Should be as simple as creating a named (create variable to store the thing) doll body prefab, and re-defining it repeatedly in the player's prefab?
  14. OK so, @Serpens @Lumina thank you both for assisting a newer modder Interesting side point - Firefox browser does not appear to recognize that a user can edit old posts - the edit button only appears next to a post immediately after it has been posted, then upon logging out and back in, will no longer show. Go figure?! Shows up fine in Chrome, so I've edited the topic. Many thanks!
  15. Bump @admins would appreciate this flagged as solved.