设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 112|回复: 0

[转载发布] Variable Description Script

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-8-1 20:24:04 | 显示全部楼层 |阅读模式
    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:       
    1. =begin
    2. Script Name - Variable Description V1.0
    3. Author: GGZiron
    4. Terms to use: This script is simple, that's why crediting
    5. me is only optional. Feel free to use both for comercial and
    6. non-comercial projects.
    7. Version: 1.0 That is initial version, and possibly, it's final. But who knows.
    8. Version 1.1 Date: 1.June.2016
    9. Changelog: Fixing this monster of script I once made.
    10. The initial script not only were written horribly, but it also wasn't doing
    11. what I said it do. In initial version it were only displaying the new
    12. description in the status window, but whenever something else calls
    13. the actor's description, it would return the default value.
    14. With this fix, whatever scene calls actor.description, will recieve the desired
    15. one(unless something else overwrite the description method in actor's class).
    16. Also, in initial version the way to change the description I provided was
    17. not only unfriendly, it was bad. Here I tried to work up better and more friendly
    18. options
    19. Script summary: It gives the developers the option to change the actor's
    20. description midgame. None of the new assigned description is transfered
    21. to the save file. They are part of this script, and are linked to key value,
    22. which on their turn, are linked to Game Variables (the variables we use from
    23. the Event editor)
    24. This is my first script to publish, and second to make.
    25. Possible compability issues - I overwrite the draw_description.
    26. If there is other script that does this, probably it won't go well with mine.
    27. =end
    28. module GGZiron #do not touch this
    29.   module Var_des #do not touch this
    30.   
    31.     DESCRIPTION_LIST= { # DO NOT TOUCH THIS!
    32.   
    33. #==========================Settings==================================
    34.     #You can edit the initial entries, and add more bellow, following the
    35.     #syntax patern.
    36.   
    37. 1 =>
    38. "Isabelle regained her memory!
    39. God save us all!!!",
    40. 2 =>
    41. "Write something here",
    42. 3 =>
    43. "And here too!",
    44. #Add more descriptions entries here.
    45. } # Do not touch this, and do not add more description entries bellow this line!
    46. #====================End of Settings==================================
    47. =begin
    48. Replace actor_id with the actual ID of the actor, which you can
    49. check at the database.
    50. Replace the description_key_value with the key value from the
    51. description list.
    52. =end
    53.     GAME_VARIABLES = { # DO NOT TOUCH THIS!
    54.   
    55.    
    56. 1 => 101, #Variable 101 holds the key value for actor 1.
    57. 2 => 102, #Variable 102 holds the key value for actor 2.
    58. 3 => 103, #Variable 103 holds the key value for actor 3.
    59. #Edit the existing entries if you need, and add more entries bellow
    60. } # Do not touch this, and do not add more entries bellow this line!!
    61. # Once setting which variable will represent which actor's variable description
    62. # key, you can change their values from the event editor.
    63. # For example, if variable 9 is set to hold the key for actor here, in the
    64. # settings, all you need to do is change the value of variable 1
    65. # to be equal to 1,
    66. # and the displayed description for Actor 9 will be the first entry from
    67. # the variable description's, that are set above.
    68. # If the variable value is 0, or  the displayed description will be the
    69. # default one. If it links to incorect entry, it description method will
    70. # return the string "Incorrect description entry".
    71. #==============================================================================
    72. #      Do not touch anything bellow, unless you know what you do.
    73. #==============================================================================
    74.   end
    75. end
    76. class Game_Actor < Game_Battler
    77. #=================Editing original methods=====================================
    78.   alias_method :description_original, :description
    79.   def description
    80.     key_value = 0
    81.     variable_id = GGZiron::Var_des::GAME_VARIABLES[self.id]
    82.     key_value = $game_variables[variable_id] if variable_id
    83.     return description_original if key_value == 0
    84.     new_description = GGZiron::Var_des::DESCRIPTION_LIST[key_value]
    85.     new_description ? new_description : "Incorrect description entry"
    86.   end
    87. #==============================================================================
    88. end
    89. #============================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/
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 13:38 , Processed in 0.087329 second(s), 52 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表