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

[转载发布] ReKordChoices VX

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

    连续签到: 2 天

    [LV.7]常住居民III

    7546

    主题

    864

    回帖

    3万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

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

    灌水之王

    发表于 2026-7-22 21:29:57 | 显示全部楼层 |阅读模式
    ReKordChoices VX

    by Kyonides


    Introduction

    This scriptlet allows you to auto-select 2 game variables that will store the choices list ID for the selected event page and the number of times you have selected a given option.

    The value of that game variable will get updated automatically every time you pick any of the available choices.

    The Script

                    Code:       
    1. # * ReKordChoices VX + ACE * #
    2. #   Scripter : Kyonides Arkanthes
    3. #   2024-10-08
    4. # This scriptlet allows you to auto-select 2 game variables that will store
    5. # the choices list ID for the selected event page and the number of times you
    6. # have selected a given option.
    7. # The value of that game variable will get updated automatically every time
    8. # you pick any of the available choices.
    9. # * Script Calls * #
    10. # Use them to create a new choices list storage or to retrieve its data.
    11. #   List of Arguments:
    12. #   - ListID stands for Any "String" or Number
    13. #   - ChoiceIndex is a Number, 1 through 4
    14. #   - EventPage is a Number, 1 through 99 (Maximum Number of Pages)
    15. # get_choice(ListID, ChoiceIndex)
    16. # get_choice(ListID, ChoiceIndex, EventPage)
    17. # get_choice(ListID, ChoiceIndex, EventPage, EventID)
    18. # get_choice(ListID, ChoiceIndex, EventPage, EventID, MapID)
    19. module ReKord
    20.   CHOICES_LIST_VAR_ID = 5
    21.   CHOICES_TIMES_VAR_ID = 6
    22. class GameChoices
    23.   def initialize
    24.     @data = {}
    25.     @data.default = 0
    26.   end
    27.   def [](key)
    28.     @data[key]
    29.   end
    30.   def increase(key)
    31.     @data[key] += 1
    32.   end
    33.   attr_reader :data
    34. end
    35. end
    36. class Game_Variables
    37.   alias :kyon_rekord_choices_gm_var_init :initialize
    38.   def initialize
    39.     kyon_rekord_choices_gm_var_init
    40.     @choice_data = {}
    41.   end
    42.   def find_choice_set(map_id, event_id, page_index, list_index)
    43.     @choice_data ||= {}
    44.     key = [map_id, event_id, page_index, list_index]
    45.     @choice_data[key] ||= ReKord::GameChoices.new
    46.   end
    47.   def set_choice_vars(choice_index, total)
    48.     @data[ReKord::CHOICES_LIST_VAR_ID] = choice_index
    49.     @data[ReKord::CHOICES_TIMES_VAR_ID] = total
    50.   end
    51.   def choice(map_id, event_id, page, list_index, choice_index, go_up)
    52.     choices = find_choice_set(map_id, event_id, page, list_index)
    53.     choices.increase(choice_index) if go_up
    54.     set_choice_vars(choice_index, choices[choice_index])
    55.   end
    56. end
    57. class Game_Event
    58.   def page_index
    59.     @event.pages.index(@page)
    60.   end
    61. end
    62. class Game_Interpreter
    63.   alias :kyon_rekord_choices_int_cmd_402 :command_402
    64.   def command_402
    65.     if @branch[@indent] == @params[0]
    66.       map_id = $game_map.map_id
    67.       page = $game_map.events[@event_id].page_index
    68.       list = $game_variables[ReKord::CHOICES_LIST_VAR_ID]
    69.       choice = @params[0] + 1
    70.       $game_variables.choice(map_id, @event_id, page, list, choice, true)
    71.     end
    72.     kyon_rekord_choices_int_cmd_402
    73.   end
    74.   def get_choice(list, choice_index, page=nil, ev_id=nil, map_id=nil)
    75.     map_id ||= $game_map.map_id
    76.     ev_id ||= @event_id
    77.     page = page ? page - 1 : $game_map.events[ev_id].page_index
    78.     $game_variables.choice(map_id, ev_id, page, list, choice_index, nil)
    79.   end
    80. end
    复制代码




    Terms & Conditions

    Free for use in ANY game.
    Due credit is mandatory!
    Mention this forum in your game credits.
    That's it!



    本贴来自国际rpgmaker官方论坛作者:kyonides处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/rekordchoices-vx.172484/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-7-30 20:30 , Processed in 0.106945 second(s), 52 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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