dudedudedude Posted June 8, 2017 Share Posted June 8, 2017 (edited) Hello, so I am just new to modding so a lot of thanks in advance. I want to make my character take a certain amount of damage every time it uses unarmed attack, and have a certain chance to poison enemy every time it gets attacked. I have seen mods that let characters do damage over time on its own attacks, but I haven't seen mods that have an effect like I want. Can anyone please help? Or maybe I haven't looked around the workshop enough, in which case I'm sorry can you show me mods that let the character have some effect on itself when it attacks? Edited June 10, 2017 by dudedudedude Link to comment Share on other sites More sharing options...
. . . Posted June 8, 2017 Share Posted June 8, 2017 With this code you can make your character take damage & look like he was hit when you hit something with your fists. Put it in yourcharacter.lua inside the master_postinit area. inst:ListenForEvent("onattackother", function(inst, data) local handslot = inst.components.inventory:GetEquippedItem(EQUIPSLOTS.HANDS) if not handslot then inst.components.health:DoDelta(-10) inst.sg:GoToState("hit") end end) And for a code to poison enemies if I remember there's a "Sans" mod on the workshop that also poisons enemies when he hits them, so I would suggest you download that & look through it, good luck ! Link to comment Share on other sites More sharing options...
dudedudedude Posted June 10, 2017 Author Share Posted June 10, 2017 Thanks a lot Link to comment Share on other sites More sharing options...
FashionablyRin Posted July 17, 2017 Share Posted July 17, 2017 On 6/8/2017 at 10:44 AM, dudedudedude said: Hello, so I am just new to modding so a lot of thanks in advance. I want to make my character take a certain amount of damage every time it uses unarmed attack, and have a certain chance to poison enemy every time it gets attacked. I have seen mods that let characters do damage over time on its own attacks, but I haven't seen mods that have an effect like I want. Can anyone please help? Or maybe I haven't looked around the workshop enough, in which case I'm sorry can you show me mods that let the character have some effect on itself when it attacks? Hey, I'm trying to do the same thing, but I don't understand the difference between the normal postinit area and the master postinit area, where is each? Link to comment Share on other sites More sharing options...
Yabumi Posted July 17, 2017 Share Posted July 17, 2017 @FashionablyRin If you're using the Extended Sample Character template, then you have the common_postinit and master_postinit functions in the scripts/prefabs/esctemplate.lua file. The former runs for both the client and server BEFORE any of the components are added and the latter runs only for the server AFTER all the components are loaded (see scripts/player_common.lua for the exact code). Link to comment Share on other sites More sharing options...
FashionablyRin Posted July 19, 2017 Share Posted July 19, 2017 (edited) @Yabumi I have this in my esctemplate.lua local MakePlayerCharacter = require "prefabs/player_common" local assets = { Asset( "ANIM", "anim/player_basic.zip" ), Asset( "ANIM", "anim/player_idles_shiver.zip" ), Asset( "ANIM", "anim/player_actions.zip" ), Asset( "ANIM", "anim/player_actions_axe.zip" ), Asset( "ANIM", "anim/player_actions_pickaxe.zip" ), Asset( "ANIM", "anim/player_actions_shovel.zip" ), Asset( "ANIM", "anim/player_actions_blowdart.zip" ), Asset( "ANIM", "anim/player_actions_eat.zip" ), Asset( "ANIM", "anim/player_actions_item.zip" ), Asset( "ANIM", "anim/player_actions_uniqueitem.zip" ), Asset( "ANIM", "anim/player_actions_bugnet.zip" ), Asset( "ANIM", "anim/player_actions_fishing.zip" ), Asset( "ANIM", "anim/player_actions_boomerang.zip" ), Asset( "ANIM", "anim/player_bush_hat.zip" ), Asset( "ANIM", "anim/player_attacks.zip" ), Asset( "ANIM", "anim/player_idles.zip" ), Asset( "ANIM", "anim/player_rebirth.zip" ), Asset( "ANIM", "anim/player_jump.zip" ), Asset( "ANIM", "anim/player_amulet_resurrect.zip" ), Asset( "ANIM", "anim/player_teleport.zip" ), Asset( "ANIM", "anim/wilson_fx.zip" ), Asset( "ANIM", "anim/player_one_man_band.zip" ), Asset( "ANIM", "anim/shadow_hands.zip" ), Asset( "SOUND", "sound/sfx.fsb" ), Asset( "SOUND", "sound/wilson.fsb" ), Asset( "ANIM", "anim/beard.zip" ), Asset( "ANIM", "anim/deku.zip" ), } local prefabs = { "examplefloatableitem", } -- Custom starting items local start_inv = { "examplefloatableitem", } local fn = function(inst) -- choose which sounds this character will play inst.soundsname = "wilson" -- Minimap icon inst.MiniMapEntity:SetIcon( "deku.tex" ) -- Base Stat Stuff inst.components health:SetMaxHealth(175) inst.components.hunger:SetMax(150) inst.components.sanity:SetMax(125) -- Damage Related Stuff inst.components.combat.damagemultiplier = 1 inst.components.combat.defaultdamage = 50 inst.components.health:SetAbsorptionAmount(0) inst.components.health.fire_damage_scale = 1 -- Hunger and Sanity Stuff inst.components.hunger.hungerrate = 1 * TUNING.WILSON_HUNGER_RATE inst.components.eater.ignoresspoilage = false inst.components.hunger:SetKillRate(1) inst.components.hunger:SetRate(1) -- Movement Stuff inst.components.locomotor.walkspeed = 4 inst.components.locomotor.runspeed = 6 end return MakePlayerCharacter("deku", prefabs, assets, fn, start_inv) The top line says player_common, I'm guessing this is the common_postinit area? Where is the master_postinit area? And am I supposed to include the end at the "end" and "end)" of this VVV Or am I supposed to remove the "end" from the first one after (see below) and paste it after? inst.components.locomotor.runspeed = 6 V end V inst:ListenForEvent("onattackother", function(inst, data) local handslot = inst.components.inventory:GetEquippedItem(EQUIPSLOTS.HANDS) if not handslot then inst.componentsHEALTH:DoDelta(-10) inst.sg:GoToState("hit") end end) Edited July 19, 2017 by FashionablyRin Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now