Recommended Posts

IronHunter    570

yes in strings you can change what specific characters say when they inspect another character.

STRINGS.CHARACTERS["CHARACTER_INSPECTING_CHARACTER_2"].DESCRIBE.CHARACTER_2

--for example wilson inspecting willow
STRINGS.CHARACTERS.GENERIC.DESCRIBE.WILLOW =
{
  GENERIC = "Good day to you, %s!",
  ATTACKER = "%s is holding that lighter pretty tightly...",
  MURDERER = "Murderer! Arsonist!",
  REVIVER = "%s, friend of ghosts.",
  GHOST = "I bet you're just burning for a heart, %s.",
  FIRESTARTER = "Again?",
},

Edit:
By default all descriptions default to wilson, so you might want to change his first his strings are labelled "GENERIC"

As it could be quite a chore to add new descriptions for each character

 

Also %s reference's the player's name not the character they are playing as.

Edited by IronHunter
  • Like 2

Share this post


Link to post
Share on other sites

It seems you didn't fully understand me, let's say Wickerbottom examines my Character, and instead of the formulaic one says what I'll write, where can I change this?

Share this post


Link to post
Share on other sites
IronHunter    570
6 hours ago, Ghost_starved said:

It seems you didn't fully understand me, let's say Wickerbottom examines my Character, and instead of the formulaic one says what I'll write, where can I change this?


In wickerbottom's case you just need to make a string like this
 

--"you can write strings in modmain, or other files but you'll want to keep it organized as there is a lot of them."
--"I prefer making a seperate file for my strings and just importing that file as it keeps stuff nice and tidy."
STRINGS.CHARACTERS.WICKERBOTTOM.DESCRIBE["YOUR_CHARACTER_PREFAB"] = {
	GHOST = "If your character has the tag playerghost then we'll play this",
	REVIVER = "If she sees your character revive somebody recently",
	MURDERER = "If she sees your character murder somebody in pvp",
	ATTACKER = "If she sees your character has attacked somebody recently in pvp",
	FIRESTARTER = "If she sees your character start a fire",
	GENERIC = "It defaults to this if none of the above conditions are met, this is where you write your normal descriptions.",
}

--"below is a excerpt from player_common which shows the order in which these are taken in priority if their conditions are met."
local function GetStatus(inst, viewer)
    return (inst:HasTag("playerghost") and "GHOST")
        or (inst.hasRevivedPlayer and "REVIVER")
        or (inst.hasKilledPlayer and "MURDERER")
        or (inst.hasAttackedPlayer and "ATTACKER")
        or (inst.hasStartedFire and "FIRESTARTER")
        or nil
end

 

Edited by IronHunter
  • Like 2

Share this post


Link to post
Share on other sites
IronHunter    570
3 hours ago, Ghost_starved said:

Can you tell us in more detail how you import your file ?

--in modmain.lua you can run
modimport("filename.lua")

This file contains whatever I want to keep neat and tidy from each other so I got one just for strings, one for stategraphs, one for tuning, one for recipes etc. Just so it is easier for me to keep my ever growing files organized.

  • Like 2

Share this post


Link to post
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
Sign in to follow this