Variable Description Script
Heloes. Here I like to post a Ruby script i made. I do not claim is perfect, but in my playtest it seems to do the job. I don't know if there is similar script already made. In the past I needed one like this, but didn't found.So now, playing with Ruby, decided to make one.
The Script:
Spoiler Code:
=begin
Script Name - Variable Description V1.0
Author: GGZiron
Terms to use: This script is simple, that's why crediting
me is only optional. Feel free to use both for comercial and
non-comercial projects.
Version: 1.0 That is initial version, and possibly, it's final. But who knows.
Version 1.1 Date: 1.June.2016
Changelog: Fixing this monster of script I once made.
The initial script not only were written horribly, but it also wasn't doing
what I said it do. In initial version it were only displaying the new
description in the status window, but whenever something else calls
the actor's description, it would return the default value.
With this fix, whatever scene calls actor.description, will recieve the desired
one(unless something else overwrite the description method in actor's class).
Also, in initial version the way to change the description I provided was
not only unfriendly, it was bad. Here I tried to work up better and more friendly
options
Script summary: It gives the developers the option to change the actor's
description midgame. None of the new assigned description is transfered
to the save file. They are part of this script, and are linked to key value,
which on their turn, are linked to Game Variables (the variables we use from
the Event editor)
This is my first script to publish, and second to make.
Possible compability issues - I overwrite the draw_description.
If there is other script that does this, probably it won't go well with mine.
=end
module GGZiron #do not touch this
module Var_des #do not touch this
DESCRIPTION_LIST= { # DO NOT TOUCH THIS!
#==========================Settings==================================
#You can edit the initial entries, and add more bellow, following the
#syntax patern.
1 =>
"Isabelle regained her memory!
God save us all!!!",
2 =>
"Write something here",
3 =>
"And here too!",
#Add more descriptions entries here.
} # Do not touch this, and do not add more description entries bellow this line!
#====================End of Settings==================================
=begin
Replace actor_id with the actual ID of the actor, which you can
check at the database.
Replace the description_key_value with the key value from the
description list.
=end
GAME_VARIABLES = { # DO NOT TOUCH THIS!
1 => 101, #Variable 101 holds the key value for actor 1.
2 => 102, #Variable 102 holds the key value for actor 2.
3 => 103, #Variable 103 holds the key value for actor 3.
#Edit the existing entries if you need, and add more entries bellow
} # Do not touch this, and do not add more entries bellow this line!!
# Once setting which variable will represent which actor's variable description
# key, you can change their values from the event editor.
# For example, if variable 9 is set to hold the key for actor here, in the
# settings, all you need to do is change the value of variable 1
# to be equal to 1,
# and the displayed description for Actor 9 will be the first entry from
# the variable description's, that are set above.
# If the variable value is 0, orthe displayed description will be the
# default one. If it links to incorect entry, it description method will
# return the string "Incorrect description entry".
#==============================================================================
# Do not touch anything bellow, unless you know what you do.
#==============================================================================
end
end
class Game_Actor < Game_Battler
#=================Editing original methods=====================================
alias_method :description_original, :description
def description
key_value = 0
variable_id = GGZiron::Var_des::GAME_VARIABLES
key_value = $game_variables if variable_id
return description_original if key_value == 0
new_description = GGZiron::Var_des::DESCRIPTION_LIST
new_description ? new_description : "Incorrect description entry"
end
#==============================================================================
end
#============================END OF THE SCRIPT=================================
Script Name: Variable Description
Terms: Free for commercial and non-commercial projects, crediting me is only optional.
Script summary: It gives the developers the option to change the actors'
description mid game. None of the new assigned description is transfered
to the save file. Instead, to the save file is added only the key value,
witch links with the coresponding description.
Usage: You make new description entries in the settings of this script, as each is linked to key value.
You can assign new description to the actor via script call. For more info read my script opening.
Possible compability issues - I overwrite the draw_description only one I can imagine
is if something overwrite the Game Actor's description method.
For issues, you can report to me here or via pm, but I do not promise to fix.
EDIT: It seems there is no big interest in such script, but even so, I had to edit it, because it was just terrible. Not only it was poorly writen, but it wasn't doing what I said it do. Back them my whole concept of description was what the status window display, which is why I did so decieving work. Still cannot say is perfect(I am still learning), but now it should do what it is supposed to do. And now is much more friendlier to use, as you can assign the key value to the variable from the event's editor.
You only have to set which variable will be linked to which actors's description.
本贴来自国际rpgmaker官方论坛作者:GGZiron处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/variable-description-script.88116/
页:
[1]