查看: 2352|回复: 8

[已经解决] ISA - 头顶的东西 请问这个脚本如何使用

[复制链接]
梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

发表于 2017-5-22 01:19:35 | 显示全部楼层 |阅读模式

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

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

×
[pre lang="ruby"]#______________________________________________________________________________
# * 此脚本归66RPG - Idiot Script Association(ISA)所有,谢绝任何形式转载。
#______________________________________________________________________________

#==============================================================================
# ■ 头顶的东西 - Put On The Thing
#------------------------------------------------------------------------------
#   遵守协议:66RPG - Idiot Script Association(ISA)
#   初始脚本:忧雪の伤
#   更新优化:无
#   当前版本:1.0.0.0
#------------------------------------------------------------------------------
#   更新日记:忧雪の伤(2011.3.19)
#             - 初始化对象
#------------------------------------------------------------------------------
#   功能介绍:创建一个可以跟随移动,指定文件,显示在Player头上的Icon。
#   使用方法:插入接入包的下端处。
#   存在问题:无
#==============================================================================

#--------------------------------------------------------------------------
# ● 资料记录
#--------------------------------------------------------------------------

module ISA
   Use["头顶的东西"] = [true, "1.0.0.0"]
   System["头顶的东西"] = {}
end

#--------------------------------------------------------------------------
# ● 设定部分
#--------------------------------------------------------------------------

module ISA
  # 窗口的坐标修正设定
  System["头顶的东西"]["坐标修正设定"] = [30, 82]
end

#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
#  在没有存档的情况下,处理临时数据的类。这个类的实例请参考
# $game_temp 。
#==============================================================================

class Game_Temp
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_accessor :map_put_on                  # 地图头顶存在图标
  attr_accessor :map_put_name                # 地图头顶存在图标文件名
end
  
#==============================================================================
# ■ Window_Put_On
#------------------------------------------------------------------------------
#  显示图标的窗口。
#==============================================================================

class Window_Put_On < Window_Base
  include ISA
  #--------------------------------------------------------------------------
  # ● 初始化窗口
  #--------------------------------------------------------------------------
  def initialize(name)
    super(0, 0, 64, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    self.x = $game_player.screen_x - System["头顶的东西"]["坐标修正设定"][0]
    self.y = $game_player.screen_y - System["头顶的东西"]["坐标修正设定"][1]
    self.z = 0
    @name = name
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    bitmap = RPG::Cache.icon(@name)
    self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 24, 24))
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    super
    self.x = $game_player.screen_x - System["头顶的东西"]["坐标修正设定"][0]
    self.y = $game_player.screen_y - System["头顶的东西"]["坐标修正设定"][1]
  end
end

#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  处理地图画面的类。
#==============================================================================

class Scene_Map
  include ISA  
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  alias :put_on_the_thing_main :main unless method_defined? :put_on_the_thing_main
  def main
    @put_on_window = Window_Put_On.new($game_temp.map_put_name) if $game_temp.map_put_on
    put_on_the_thing_main
    @put_on_window.dispose if @put_on_window != nil
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  alias :put_on_the_thing_update :update unless method_defined? :put_on_the_thing_update
  def update
    @put_on_window.update if @put_on_window != nil
    put_on_the_thing_update
  end
  #--------------------------------------------------------------------------
  # ● 设置图标
  #--------------------------------------------------------------------------
  def set_icon(name)
    @put_on_window = Window_Put_On.new(name)
    @put_on_window.visible = true
    $game_temp.map_put_on = true
    $game_temp.map_put_name = name
  end
  #--------------------------------------------------------------------------
  # ● 图标关闭
  #--------------------------------------------------------------------------
  def set_icon_no
    $game_temp.map_put_on = false
    if @put_on_window != nil
      @put_on_window.visible = false
    end
    return true
  end
end
[/pre]
打算打算打算打算的.png

点评

我就三个字 看不懂  发表于 2017-5-22 01:21
使用方法?事件脚本。 $scene.set_icon(name), # 范例:$scene.set_icon(“001-Weapon”) $scene.set_icon_no,# 取消显示 适合某些特殊用途…… 关于坐标:脚本设定.....   发表于 2017-5-22 01:20
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-5-22 12:26:39 | 显示全部楼层
本帖最后由 guoxiaomi 于 2017-5-22 17:17 编辑

这个脚本,只能在角色头上顶1个东西。而且只能顶icon。

$scene.set_icon(“001-Weapon”) ,就会把剑顶在头上orz……



我居然打了中文引号……根本看不出来
  1. $scene.set_icon("001-Weapon")
复制代码

评分

参与人数 2星屑 +175 收起 理由
RyanBern + 160 瑟;
j296196585 + 15 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

 楼主| 发表于 2017-5-22 17:12:04 | 显示全部楼层
guoxiaomi 发表于 2017-5-22 12:26
这个脚本,只能在角色头上顶1个东西。而且只能顶icon。

$scene.set_icon(“001-Weapon”) ,就会把剑顶在 ...

可是  我就是不明白这 是怎么回事儿  脚本错误{:2_271:}
360截图20170522171032317.jpg
360截图20170522171038369.jpg

点评

用英文的双引号  发表于 2017-5-22 17:14
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-5-22 17:18:52 | 显示全部楼层
j296196585 发表于 2017-5-22 17:12
可是  我就是不明白这 是怎么回事儿  脚本错误

36行修改图标偏移的位置
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

 楼主| 发表于 2017-5-22 17:23:23 | 显示全部楼层
guoxiaomi 发表于 2017-5-22 12:26
这个脚本,只能在角色头上顶1个东西。而且只能顶icon。

$scene.set_icon(“001-Weapon”) ,就会把剑顶在 ...

这电脑不会跟我有仇吧 一点反应都没有了
360截图20170522172228090.jpg
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-5-22 21:16:05 | 显示全部楼层
本帖最后由 guoxiaomi 于 2017-5-23 00:45 编辑
j296196585 发表于 2017-5-22 17:23
这电脑不会跟我有仇吧 一点反应都没有了


在脚本最前面添加一下定义:
  1. module ISA
  2.    Use ||= {}
  3.    System ||= {}
  4.    Use["头顶的东西"] = [true, "1.0.0.0"]
  5.    System["头顶的东西"] = {}
  6. end
复制代码

然后按照你这一楼的做法就行
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 1 0

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部