Aurorance Posted May 11, 2021 Share Posted May 11, 2021 (edited) What I was trying to make is to increase ghost speed to 300%, and the speed after reviving to 300% (for 45 secs after revive). However it doesn't work. modmain.lua Spoiler local speedmultiplier = 3 local function onDeath(inst, data, ...) inst:AddComponent("locomotor") if inst.components.locomotor then --print("[bGSU] setMultiplier") inst.components.locomotor:SetExternalSpeedMultiplier(inst, "ghostspeed", speedmultiplier) end end local function onRessurection(inst, data, ...) inst:AddComponent("locomotor") if inst.components.locomotor then -- print("[bGSU] RemoveExternalSpeedMultiplier(") inst.components.locomotor:RemoveExternalSpeedMultiplier(inst, "ghostspeed") end end local function afterResurrection(inst, data, ...) inst:AddComponent("locomotor") if inst.components.locomotor then inst.components.locomotor:SetExternalSpeedMultiplier(inst, "resurrectionspeed", speedmultiplier) inst:DoTaskInTime(45, function() inst.components.locomotor:RemoveExternalSpeedMultiplier(inst, "resurrectionspeed") end) end end local function overrideGhostSpeed(player_inst) player_inst:ListenForEvent("makeplayerghost", onDeath) player_inst:ListenForEvent("respawnfromghost", onRessurection) player_inst:ListenForEvent("respawnfromghost", afterRessurection) --print("[bGSU] handlers registered") end AddPlayerPostInit(overrideGhostSpeed) modinfo.lua Spoiler name = "Ghost and revive speedup" description = "Increased ghost speed and speed after revival" author = "Aurorance" version = "0.1" api_version = 10 dont_starve_compatible = false reign_of_giants_compatible = false dst_compatible = true forumthread = "" all_clients_require_mod = true clients_only_mod = false server_filter_tags = { "Tweak" } icon_atlas = "modicon.xml" icon = "modicon.tex" priority = -7.0037857501 Any help would be greatly appreciated ! Edited May 11, 2021 by Aurorance Link to comment https://forums.kleientertainment.com/forums/topic/129837-ghost-speed-doesnt-work/ Share on other sites More sharing options...
Wonderlarr Posted May 11, 2021 Share Posted May 11, 2021 I Believe esctemplate resets character speed on revive and death to configured values in the characters prefab, you may wanna take a look in there. Link to comment https://forums.kleientertainment.com/forums/topic/129837-ghost-speed-doesnt-work/#findComment-1459296 Share on other sites More sharing options...
Aurorance Posted May 13, 2021 Author Share Posted May 13, 2021 On 5/12/2021 at 2:34 AM, TheSkylarr said: I Believe esctemplate resets character speed on revive and death to configured values in the characters prefab, you may wanna take a look in there. I finished the code with the advice and suggestions from Electroely. (Might be useful for anyone that shares the same question) Here's the code: AddPlayerPostInit(function(inst, data) inst:ListenForEvent("makeplayerghost", function(inst, data, ...) if inst:HasTag("player") and inst.components.locomotor ~= nil then inst.components.locomotor:SetExternalSpeedMultiplier(inst, "ghostspeed", 3) end end) inst:ListenForEvent("respawnfromghost", function(inst, data, ...) if inst:HasTag("player") and inst.components.locomotor ~= nil then inst.components.locomotor:RemoveExternalSpeedMultiplier(inst, "ghostspeed") end end) inst:ListenForEvent("respawnfromghost", function(inst, data, ...) if inst:HasTag("player") and inst.components.locomotor ~= nil and (data == nil or data.source == nil or (data.source.prefab ~= "amulet" and data.source.prefab ~= "reviver" and data.source.prefab ~= "resurrectionstatue")) then inst.components.locomotor:SetExternalSpeedMultiplier(inst, "resurrectionspeed", 3) inst:DoTaskInTime(25, function() inst.components.locomotor:RemoveExternalSpeedMultiplier(inst, "resurrectionspeed") end) end end) end) Thanks for the reply anyway! Link to comment https://forums.kleientertainment.com/forums/topic/129837-ghost-speed-doesnt-work/#findComment-1459811 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