Jump to content

Character is invisible


Recommended Posts

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

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

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 by DarkXero
Link to comment
Share on other sites

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

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 then
inst.SoundEmitter:KillSound("talk")
inst.SoundEmitter:PlaySound(inst.components.sentientaxe.sound_override, "special")
else
if not inst.SoundEmitter:PlayingSound("special") then
inst.SoundEmitter:PlaySound("dontstarve/characters/woodie/lucytalk_LP", "talk") 
end
end
end)
 
These are the lines that I believe are what command the speech.  I cannot find the dontstarve/characters/woodie/lucytalk_LP path.
Edited by hotwingz1
Link to comment
Share on other sites

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 copy

STRINGS.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

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 copy

STRINGS.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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
  • Create New...