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

[转载发布] Map Safety Level ACE

[复制链接]
累计送礼:
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-2 21:58:26 | 显示全部楼层 |阅读模式
    Map Safety Level ACE

    by Kyonides Arkanthes



    Introduction

    I have come up with a very simple scriptlet that will allow the game developers to show a simple map name window plus a brand new label telling the player how safe that map actually is. This window will be shown on the menu screen only.





    Script

                    Ruby:       
    1. # * Map Safety Level ACE * #
    2. #   Scripter : Kyonides Arkanthes
    3. #   2022-12-30
    4. # This scriptlet lets you set some texts as Safety Level Labels, and then you
    5. # can leave a map note to set its initial safety level.
    6. # <map safety 1>
    7. # Valid Levels: 0 up to your safety maximum level.
    8. # * Get or Set Current Map's Safety Level * #
    9. # $game_map.safety_level
    10. # $game_map.safety_level = NewLevel
    11. # * Define a given Map's Safety Level Color * #
    12. # - Alpha is optional. Valid Values: 0 through 255
    13. # SAFETY_LEVELS[0] = [Red, Green, Blue, Alpha]
    14. module MapData
    15.   SAFETY_REGEX = /map safety (\d+)/i
    16.   SAFETY_LABELS = [] # Just leave it alone.
    17.   SAFETY_COLORS = [] # Just leave it alone.
    18.   SAFETY_LABELS[0] = "A Nightmare"
    19.   SAFETY_LABELS[1] = "Dangerous"
    20.   SAFETY_LABELS[2] = "Unsafe"
    21.   SAFETY_LABELS[3] = "Normal Place"
    22.   SAFETY_LABELS[4] = "Great Place"
    23.   SAFETY_LABELS[5] = "The Utopia"
    24.   SAFETY_COLORS[0] = [255, 0, 0]
    25.   SAFETY_COLORS[1] = [255, 165, 0]
    26.   SAFETY_COLORS[2] = [255, 255, 0]
    27.   SAFETY_COLORS[3] = [255, 255, 255]
    28.   SAFETY_COLORS[4] = [90, 205, 90]
    29.   SAFETY_COLORS[5] = [0, 255, 0]
    30. end
    31. class Game_Map
    32.   alias :kyon_map_safety_lvl_gm_map_init :initialize
    33.   alias :kyon_map_safety_lvl_gm_map_setup :setup
    34.   def initialize
    35.     kyon_map_safety_lvl_gm_map_init
    36.     @safety_levels ||= {}
    37.   end
    38.   def setup(map_id)
    39.     kyon_map_safety_lvl_gm_map_setup(map_id)
    40.     reset_safety_level unless @safety_levels[@map_id]
    41.   end
    42.   def reset_safety_level
    43.     @map.note[MapData::SAFETY_REGEX]
    44.     @safety_levels[@map_id] = $1.to_i
    45.   end
    46.   def safety_level
    47.     @safety_levels[@map_id]
    48.   end
    49.   def safety_level=(new_level)
    50.     @safety_levels[@map_id] = new_level
    51.   end
    52.   def safety_level_text
    53.     MapData::SAFETY_LABELS[@safety_levels[@map_id]]
    54.   end
    55.   attr_reader :safety_levels
    56. end
    57. class MapNameSafeWindow < Window_Base
    58.   def initialize(wx, wy, w)
    59.     super(wx, wy, w, 72)
    60.     self.contents = Bitmap.new(w - 32, 48)
    61.     map = $game_map
    62.     contents.draw_text(0, 0, 128, 24, map.display_name, 1)
    63.     safety_color = MapData::SAFETY_COLORS[map.safety_level]
    64.     contents.font.color.set(*safety_color)
    65.     contents.draw_text(0, 24, 128, 24, map.safety_level_text, 1)
    66.   end
    67. end
    68. class Scene_Menu
    69.   alias :kyon_map_safety_lvl_scn_menu_start :start
    70.   def start
    71.     kyon_map_safety_lvl_scn_menu_start
    72.     create_map_safety_window
    73.   end
    74.   def create_map_safety_window
    75.     @map_name_safe = MapNameSafeWindow.new(0, Graphics.height - 120, 160)
    76.   end
    77. end
    复制代码


    Terms & Conditions

    Free for use in commercial and non commercial games unless you have pissed me off.
    Please include my nickname in your game credits.
    I seriously hope this will not be the only script of mine that you will include in your games.


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

    本帖子中包含更多资源

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

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

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-17 08:29 , Processed in 0.140173 second(s), 55 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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