Recommended Posts

IronHunter    672

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
IronHunter    672
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    672
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