查看: 2766|回复: 0

[原创发布] 【小脚本】角色抵达某区域后修改Z值

[复制链接]
梦石
2
星屑
6767
在线时间
501 小时
注册时间
2018-3-23
回帖
487

R考场第七期银奖

发表于 2020-4-13 12:16:37 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

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

×
本帖最后由 MCCF 于 2020-4-13 12:30 编辑

由于我的角色不只1格高,然后用ULDS的时候头会被高于角色的物品上端遮住……
然后就写了这个超短型的脚本,也许会有什么用吧……大概……
[pre lang="ruby"]#==============================================================================
# 区域优先级 V1.0
#------------------------------------------------------------------------------
#  - 到达某个区域后角色Z值改变 By Mccf
#------------------------------------------------------------------------------
#  通用配置模块  
#==============================================================================
module RegionTypeZ
  #--------------------------------------------------------------------------
  # ● 设置区域(0为默认)
  #--------------------------------------------------------------------------
  ZTYPES_SET = {
    # 当人物到达8号区域时Z值变为150
    8 => 150
    # 当人物到达9号区域时Z值变为250
    9 => 250
  }
end
#------------------------------------------------------------------------------
#  配置模块结束  
#==============================================================================

#==============================================================================
# ■ Game_CharacterBase
#------------------------------------------------------------------------------
#  管理地图人物的基本类。是所有地图人物类的共通父类。拥有坐标、图片等基本信息。
#==============================================================================

class Game_CharacterBase
  #--------------------------------------------------------------------------
  # ● 获取画面 Z 坐标
  #--------------------------------------------------------------------------
  alias ztype_screen_z screen_z
  def screen_z
    RegionTypeZ::ZTYPES_SET.each do |key, value|
      if $game_map.region_id(real_x.floor, real_y.floor) == key
        return value
      elsif $game_map.region_id(real_x.floor, real_y.ceil) == key
        return value
      elsif $game_map.region_id(real_x.ceil, real_y.ceil) == key
        return value
      elsif $game_map.region_id(real_x.ceil, real_y.floor) == key
        return value
      end
    end
    return ztype_screen_z
  end
end[/pre]

评分

参与人数 2赞 +2 收起 理由
chanszeman1018 + 1 支持
翠靈月 + 1 塞糖

查看全部评分

祝好。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部