Difference between revisions of "UpdateCharName (CMS)"

From The Official Visionaire Studio: Adventure Game Engine Wiki
m
m
Line 16: Line 16:
 
Characters["Tom"].Values["character_name"].String = "Jerry"
 
Characters["Tom"].Values["character_name"].String = "Jerry"
 
</syntaxhighlight>
 
</syntaxhighlight>
3. You should also create a condition in the conditions tab for the character & name it something like "name_discovered" & set it as <span class="red">false</span> by default. Change it to <span class="green">true</span> when you want to use the new name.<br/>
+
3. Create mouse enters actions for all of the characters whose name you want to update & create an execute a script action part & add this line of code inside of it...
4. Inside of the actions section of any character you want to change the name of you will need to create some actions like this...
 
if condition "name_discovered" is true
 
execute a script
 
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
updateCharName()
 
updateCharName()
 
</syntaxhighlight>
 
</syntaxhighlight>
end if
 
  
  

Revision as of 15:09, 14 September 2022

Name Type By
updateCharName() Definition AFRLme

This small function allows you to quickly update a characters name on mouse over during runtime for any characters whose names you want to dynamically update, because the player learns their names over time or because you decided to allow the player decide on certain characters names themselves.


Instructions

1. Add the main script to the Visionaire Studio Script Editor & set the script as a definition script.
2a. For any characters that you want to change the name of you need to include a value inside of their values tab & call it "character_name", & then inside of the String section you should include the default name of the character that you want to use.
2b. To update a characters name you would do something along the lines of this inside of an execute a script action part...

Characters["Tom"].Values["character_name"].String = "Jerry"

3. Create mouse enters actions for all of the characters whose name you want to update & create an execute a script action part & add this line of code inside of it...

updateCharName()


Main Script

function updateCharName()

 local n = game.CurrentObject.Name.TextLanguages

 for i = 1, #n do

  n[i].text = game.CurrentObject.Values["character_name"].String

 end

 game.CurrentObject.Name.TextLanguages = n

end