hotwingz1 Posted April 18, 2015 Share Posted April 18, 2015 (edited) My character mod is invisible. Any tips? Have the file zipped below if it is needed as a reference points. Any help is greatly appreciated.workshop-361202313.zip Edited April 18, 2015 by hotwingz1 Link to comment Share on other sites More sharing options...
DarkXero Posted April 18, 2015 Share Posted April 18, 2015 I suggest you zip your project and attach it to a post here. Link to comment Share on other sites More sharing options...
hotwingz1 Posted April 18, 2015 Author Share Posted April 18, 2015 I suggest you zip your project and attach it to a post here.Just did. Thanks for the suggestion. Link to comment Share on other sites More sharing options...
DarkXero Posted April 18, 2015 Share Posted April 18, 2015 I found the issue, your character's build's name is "batter".When you load arthur.zip, or batter.zip, you load a "batter" build. Changing the name of the folder isn't enough, you have to change the name of the build with the program you used to make the anims.The same applies to the ghost, ghost_batter_build. Also, the same applies for Marie the axe:owner.AnimState:OverrideSymbol("swap_object", "swap_Lucy_axe", "swap_Lucy_axe")anim:SetBank("lucy_axe")anim:SetBuild("Lucy_axe")are the lines I changed to make the axe appear on the ground, and when equipped and swinged. So, overall, name issues. Link to comment Share on other sites More sharing options...
hotwingz1 Posted April 18, 2015 Author Share Posted April 18, 2015 I found the issue, your character's build's name is "batter".When you load arthur.zip, or batter.zip, you load a "batter" build. Changing the name of the folder isn't enough, you have to change the name of the build with the program you used to make the anims.The same applies to the ghost, ghost_batter_build. Also, the same applies for Marie the axe:owner.AnimState:OverrideSymbol("swap_object", "swap_Lucy_axe", "swap_Lucy_axe")anim:SetBank("lucy_axe")anim:SetBuild("Lucy_axe")are the lines I changed to make the axe appear on the ground, and when equipped and swinged. So, overall, name issues. Okay so I just changed all batter files to arthur. And all lucy files to marie. For some reason marie is still invisible and when i hover over it, it says missing name. (my character however is showing up correctly.) I re-uploaded the files. The reason I didn't do exactly what you said was cause there was still an error saying the owner could not be found.workshop-361202313.zip Link to comment Share on other sites More sharing options...
DarkXero Posted April 18, 2015 Share Posted April 18, 2015 (edited) The upload is broken. You should open marie's anims and check the names too.Or is marie a clone of lucy the axe? If it's a clone, instead of renaming things, you just have to use the same names lucy the axe uses for bank, build, and swap override. Edited April 18, 2015 by DarkXero Link to comment Share on other sites More sharing options...
hotwingz1 Posted April 18, 2015 Author Share Posted April 18, 2015 The upload is broken. You should open marie's anims and check the names too.Or is marie a clone of lucy the axe? If it's a clone, instead of renaming things, you just have to use the same names lucy the axe uses for bank, build, and swap override. Ahh okay. Yes it is a clone of Lucy. I'll try that next. Thank you! will keep you posted. Link to comment Share on other sites More sharing options...
hotwingz1 Posted April 18, 2015 Author Share Posted April 18, 2015 (edited) The upload is broken. You should open marie's anims and check the names too.Or is marie a clone of lucy the axe? If it's a clone, instead of renaming things, you just have to use the same names lucy the axe uses for bank, build, and swap override.Awesome! It's working perfectly now. I do have one more question if you don't mind. I want to alter the speech files of lucy. Any idea where I find that file? inst:ListenForEvent("donetalking", function() inst.SoundEmitter:KillSound("talk") end) inst:ListenForEvent("ontalk", function() if inst.components.sentientaxe.sound_override theninst.SoundEmitter:KillSound("talk")inst.SoundEmitter:PlaySound(inst.components.sentientaxe.sound_override, "special")elseif not inst.SoundEmitter:PlayingSound("special") theninst.SoundEmitter:PlaySound("dontstarve/characters/woodie/lucytalk_LP", "talk") endendend) These are the lines that I believe are what command the speech. I cannot find the dontstarve/characters/woodie/lucytalk_LP path. Edited April 19, 2015 by hotwingz1 Link to comment Share on other sites More sharing options...
DarkXero Posted April 19, 2015 Share Posted April 19, 2015 Lucy's talk is special.Lucy talks thanks to what happens inside the sentientaxe component, which is designed exclusively for Lucy. If you want to overwrite Lucy's lines, which I do not recommend, all you have to do is copySTRINGS.LUCY ={ equipped= { "Let's chop some trees!", "Nice day for a walk!", "We make a good team!", "There must be some trees around here somewhere.", "Woodie! Chop some trees!", "All work and no play makes me want to chop some trees.", "Chop chop chop. Heh.", }, on_ground = { "Come back! Take we with you!", "Where did you go?", "Take me with you!", "What if I get stolen?!", }, in_container = { "It's dark in here!", "I'm scared!", "I can't see anything!", "I hate it in here.", }, other_owner = { "You're not Woodie!", "Put me down!", }, on_pickedup= { "You came back!", "I missed you so much!", "Did you miss me?", }, on_dropped= { "You'll come back, right?", "What did I say?", "I... don't understand!", "Can we talk about this?", "Don't forget about me!", }, on_chopped= { "Woooooo!", "Yeah!", "Stupid tree!", "Nom nom nom!", "We did it!", "This is AWESOME!", "Death to all trees!", "Again! Let's chop another!", "Nice swing!", "Too easy!", },}into modmain and then edit the lines, to overwrite them. I suggest you edit the sentientaxe component (if you don't want to work out how to make one).To edit the sentientaxe component, you can do like:AddComponentPostInit("sentientaxe", function(self) local old = self.MakeConversation() function self:MakeConversation() if self.inst.prefab == "marie" then local quiplist = { "Can I axe you a question?", "Do trees dream of wooden sheep?", "What wood you like to chop?" "GET TO THE CHOPPING!", "pls respond" } self:Say(quiplist) else old(self) end endend)Or alternatively, if you want custom strings for different states, you will have to copy the code from MakeConversation and replace LUCY for MARIE, and then create a STRINGS.MARIE like how there is a STRINGS.LUCY in strings.lua. Link to comment Share on other sites More sharing options...
hotwingz1 Posted April 19, 2015 Author Share Posted April 19, 2015 Lucy's talk is special.Lucy talks thanks to what happens inside the sentientaxe component, which is designed exclusively for Lucy. If you want to overwrite Lucy's lines, which I do not recommend, all you have to do is copySTRINGS.LUCY ={ equipped= { "Let's chop some trees!", "Nice day for a walk!", "We make a good team!", "There must be some trees around here somewhere.", "Woodie! Chop some trees!", "All work and no play makes me want to chop some trees.", "Chop chop chop. Heh.", }, on_ground = { "Come back! Take we with you!", "Where did you go?", "Take me with you!", "What if I get stolen?!", }, in_container = { "It's dark in here!", "I'm scared!", "I can't see anything!", "I hate it in here.", }, other_owner = { "You're not Woodie!", "Put me down!", }, on_pickedup= { "You came back!", "I missed you so much!", "Did you miss me?", }, on_dropped= { "You'll come back, right?", "What did I say?", "I... don't understand!", "Can we talk about this?", "Don't forget about me!", }, on_chopped= { "Woooooo!", "Yeah!", "Stupid tree!", "Nom nom nom!", "We did it!", "This is AWESOME!", "Death to all trees!", "Again! Let's chop another!", "Nice swing!", "Too easy!", },}into modmain and then edit the lines, to overwrite them. I suggest you edit the sentientaxe component (if you don't want to work out how to make one).To edit the sentientaxe component, you can do like:AddComponentPostInit("sentientaxe", function(self) local old = self.MakeConversation() function self:MakeConversation() if self.inst.prefab == "marie" then local quiplist = { "Can I axe you a question?", "Do trees dream of wooden sheep?", "What wood you like to chop?" "GET TO THE CHOPPING!", "pls respond" } self:Say(quiplist) else old(self) end endend)Or alternatively, if you want custom strings for different states, you will have to copy the code from MakeConversation and replace LUCY for MARIE, and then create a STRINGS.MARIE like how there is a STRINGS.LUCY in strings.lua.I'll take your advice and not do it then. Thanks for all the help! Link to comment Share on other sites More sharing options...
DarkXero Posted April 19, 2015 Share Posted April 19, 2015 Hey, I'm not saying you don't do anything at all. I offered alternatives. 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