Variable Description Script

GGZiron

Veteran
Veteran
Joined
Nov 6, 2016
Messages
75
Reaction score
25
First Language
Bulgarian
Primarily Uses
RMVXA
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:
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, or  the 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[self.id]
    key_value = $game_variables[variable_id] if variable_id
    return description_original if key_value == 0
    new_description = GGZiron::Var_des::DESCRIPTION_LIST[key_value]
    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.
 
Last edited:

Nightblade50

Developer of "Delta Origins"
Veteran
Joined
Nov 10, 2016
Messages
2,137
Reaction score
4,256
First Language
English, French
Primarily Uses
RMVXA
This seems to work pretty well. I haven't found any issues.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

The new intro Logo for my videos.

I speed it up, the one I use to use was to long.
The workweek is now over. Now I can work on my GamZzzzzZzzzzZzzzZzzZz....
Just watched Onward with the family. One of the best movies I've ever seen. <3
2 hours & 20 minutes remaining. :D
...trying to hurry finish up all commissions before I never put the controller down again ;)

Forum statistics

Threads
95,824
Messages
932,208
Members
126,259
Latest member
Illuminachos
Top