Project1

标题: 为什么我打开了脚本开关之后,它就提示错误 [打印本页]

作者: ACMREN    时间: 2007-7-24 22:12
标题: 为什么我打开了脚本开关之后,它就提示错误
RT,脚本如下:
==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#==========================================================================

XY_SWITCH = 25 # 当25号开关打开,本脚本才开始工作。

#==============================================================================
# ■ Window_XY
#------------------------------------------------------------------------------
#  显示坐标的窗口。
#==============================================================================
class Window_xy < Window_Base#注意前面那个window_xy是文件名
#--------------------------------------------------------------------------
# ● 初始化窗口
#--------------------------------------------------------------------------
def initialize
   super(0, 0, 160, 96)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
   self.contents = Bitmap.new(width - 32, height - 32)
   self.back_opacity = 255  # 这个是背景透明
   self.opacity = 255       # 这个是边框和背景都透明
   self.contents_opacity = 255       # 这个是内容透明
   self.visible = false
   refresh
   @x = $game_player.x
   @y = $game_player.y
   @id = $game_map.map_id
end

#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
   if $game_switches[XY_SWITCH ] #确定开关是否打开,可以自己改变开关
     @x = $game_player.x #获取角色X坐标
     @y = $game_player.y #获取角色Y坐标
     @id = $game_map.map_id  #获取地图编号
    self.contents.clear #清除以前的东西
    $mapnames = load_data("Data/MapInfos.rxdata") #读取地图名文件
    map_name = $mapnames[@id].name #获得地图名
    self.contents.font.color = normal_color#颜色,这里是白色~
    self.contents.draw_text(0, 0, 116, 32, map_name,2)
    self.contents.font.color = system_color#颜色,暗蓝色
    self.contents.draw_text(0, 32, 120, 32, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
    self.contents.font.color = normal_color#颜色,这里是白色~
    self.contents.draw_text(0, 32, 52, 32, @x.to_s,2)
    self.contents.font.color = system_color#上面那个是X坐标的变量,可以自己更改变量名~
    self.contents.draw_text(64, 32, 128, 32, "Y:")#显示Y这个字~
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 32, 116, 32, @y.to_s,2)
   end
end
#--------------------------------------------------------------------------
# ● 判断文字刷新。节约内存用
#--------------------------------------------------------------------------
def judge
   return true if @x != $game_player.x
   return true if @y != $game_player.y
   return true if @id != $game_map.map_id
   return false
end
end
###########################################################################
#                           下面的东西不需要掌握~                         #
###########################################################################

class Scene_Map
alias xy_66rpg_main main
def main
   @xy_window = Window_xy.new
   @xy_window.x = 640 - 160
   @xy_window.y = 480 - 96
   @xy_window.opacity = 0
   xy_66rpg_main
   @xy_window.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
def update
   xy_66rpg_update
   if $game_switches[XY_SWITCH ]
     @xy_window.visible = true      
     @xy_window.refresh if @xy_window.judge
   else
     @xy_window.visible = false
   end
end
end
#==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#==========================================================================

大家帮忙看看咯..
作者: ACMREN    时间: 2007-7-24 22:12
标题: 为什么我打开了脚本开关之后,它就提示错误
RT,脚本如下:
==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#==========================================================================

XY_SWITCH = 25 # 当25号开关打开,本脚本才开始工作。

#==============================================================================
# ■ Window_XY
#------------------------------------------------------------------------------
#  显示坐标的窗口。
#==============================================================================
class Window_xy < Window_Base#注意前面那个window_xy是文件名
#--------------------------------------------------------------------------
# ● 初始化窗口
#--------------------------------------------------------------------------
def initialize
   super(0, 0, 160, 96)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
   self.contents = Bitmap.new(width - 32, height - 32)
   self.back_opacity = 255  # 这个是背景透明
   self.opacity = 255       # 这个是边框和背景都透明
   self.contents_opacity = 255       # 这个是内容透明
   self.visible = false
   refresh
   @x = $game_player.x
   @y = $game_player.y
   @id = $game_map.map_id
end

#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
   if $game_switches[XY_SWITCH ] #确定开关是否打开,可以自己改变开关
     @x = $game_player.x #获取角色X坐标
     @y = $game_player.y #获取角色Y坐标
     @id = $game_map.map_id  #获取地图编号
    self.contents.clear #清除以前的东西
    $mapnames = load_data("Data/MapInfos.rxdata") #读取地图名文件
    map_name = $mapnames[@id].name #获得地图名
    self.contents.font.color = normal_color#颜色,这里是白色~
    self.contents.draw_text(0, 0, 116, 32, map_name,2)
    self.contents.font.color = system_color#颜色,暗蓝色
    self.contents.draw_text(0, 32, 120, 32, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
    self.contents.font.color = normal_color#颜色,这里是白色~
    self.contents.draw_text(0, 32, 52, 32, @x.to_s,2)
    self.contents.font.color = system_color#上面那个是X坐标的变量,可以自己更改变量名~
    self.contents.draw_text(64, 32, 128, 32, "Y:")#显示Y这个字~
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 32, 116, 32, @y.to_s,2)
   end
end
#--------------------------------------------------------------------------
# ● 判断文字刷新。节约内存用
#--------------------------------------------------------------------------
def judge
   return true if @x != $game_player.x
   return true if @y != $game_player.y
   return true if @id != $game_map.map_id
   return false
end
end
###########################################################################
#                           下面的东西不需要掌握~                         #
###########################################################################

class Scene_Map
alias xy_66rpg_main main
def main
   @xy_window = Window_xy.new
   @xy_window.x = 640 - 160
   @xy_window.y = 480 - 96
   @xy_window.opacity = 0
   xy_66rpg_main
   @xy_window.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
def update
   xy_66rpg_update
   if $game_switches[XY_SWITCH ]
     @xy_window.visible = true      
     @xy_window.refresh if @xy_window.judge
   else
     @xy_window.visible = false
   end
end
end
#==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
#==========================================================================

大家帮忙看看咯..
作者: 精灵使者    时间: 2007-7-24 22:21
这个好像是地图脚本吧。我使用没有错误……另外得需要写好地图名……出现了什么错误?
作者: ACMREN    时间: 2007-7-24 22:37
嗯..  这是柳柳的《显示 地图名 + 角色坐标》脚本
提示的错误是:33行出现了SyntaxError错误
作者: 精灵使者    时间: 2007-7-24 22:40
= =我使用的这个脚本你看看。

  1. #==========================================================================
  2. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
  3. #==========================================================================

  4. XY_SWITCH = 20 # 当20号开关打开,本脚本才开始工作。

  5. #==============================================================================
  6. # ■ Window_XY
  7. #------------------------------------------------------------------------------
  8. #  显示坐标的窗口。
  9. #==============================================================================
  10. class Window_xy < Window_Base#注意前面那个window_xy是文件名
  11. #--------------------------------------------------------------------------
  12. # ● 初始化窗口
  13. #--------------------------------------------------------------------------
  14. def initialize
  15.    super(0, 0, 200, 96)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
  16.    self.contents = Bitmap.new(width - 32, height - 32)
  17.    self.back_opacity = 255  # 这个是背景透明
  18.    self.opacity = 255       # 这个是边框和背景都透明
  19.    self.contents_opacity = 255       # 这个是内容透明
  20.    self.visible = false
  21.    refresh
  22.    @x = $game_player.x
  23.    @y = $game_player.y
  24.    @id = $game_map.map_id
  25. end

  26. #--------------------------------------------------------------------------
  27. # ● 刷新
  28. #--------------------------------------------------------------------------
  29. def refresh
  30.    if $game_switches[XY_SWITCH] #确定开关是否打开,可以自己改变开关
  31.      @x = $game_player.x #获取角色X坐标
  32.      @y = $game_player.y #获取角色Y坐标
  33.      @id = $game_map.map_id  #获取地图编号
  34.     self.contents.clear #清除以前的东西
  35.     $mapnames = load_data("Data/MapInfos.rxdata") #读取地图名文件
  36.     map_name = $mapnames[@id].name #获得地图名
  37.     self.contents.font.color = normal_color#颜色,这里是白色~
  38.     self.contents.draw_text(0, 0, 116, 32, map_name,2)
  39.     self.contents.font.color = system_color#颜色,暗蓝色
  40.     self.contents.draw_text(0, 32, 120, 32, "东")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
  41.     self.contents.font.color = normal_color#颜色,这里是白色~
  42.     self.contents.draw_text(0, 32, 52, 32, @x.to_s,2)
  43.     self.contents.font.color = system_color#上面那个是X坐标的变量,可以自己更改变量名~
  44.     self.contents.draw_text(64, 32, 128, 32, "北")#显示Y这个字~
  45.     self.contents.font.color = normal_color
  46.     self.contents.draw_text(0, 32, 116, 32, @y.to_s,2)
  47.    end
  48. end
  49. #--------------------------------------------------------------------------
  50. # ● 判断文字刷新。节约内存用
  51. #--------------------------------------------------------------------------
  52. def judge
  53.    return true if @x != $game_player.x
  54.    return true if @y != $game_player.y
  55.    return true if @id != $game_map.map_id
  56.    return false
  57. end
  58. end
  59. ###########################################################################
  60. #                           下面的东西不需要掌握~                         #
  61. ###########################################################################

  62. class Scene_Map
  63. alias xy_66rpg_main main
  64. def main
  65.    @xy_window = Window_xy.new
  66.    @xy_window.x = 640 - 160
  67.    @xy_window.y = 480 - 96
  68.    @xy_window.opacity = 0
  69.    xy_66rpg_main
  70.    @xy_window.dispose
  71. end
  72. #--------------------------------------------------------------------------
  73. # ● 刷新画面
  74. #--------------------------------------------------------------------------
  75. alias xy_66rpg_update update
  76. def update
  77.    xy_66rpg_update
  78.    if $game_switches[XY_SWITCH]
  79.      @xy_window.visible = true      
  80.      @xy_window.refresh if @xy_window.judge
  81.    else
  82.      @xy_window.visible = false
  83.    end
  84. end
  85. end
  86. #==========================================================================
  87. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
  88. #==========================================================================
复制代码

不应该有错的啊。你估计是复制的时候出错了。
作者: K’    时间: 2007-7-24 22:40
测试好像没有问题。。。可以使用
作者: ACMREN    时间: 2007-7-24 22:54
这次能用了..  不过却出现另外一个脚本错误

脚本'game_Swithes'的20行发生了NoMethodError。
undefined method `<=' for true:TrueClass

这个是为什么呢?  麻烦各位告诉我..
作者: 柳柳    时间: 2007-7-24 22:55
如果你能弄一个体积不超过1M的错误范例工程不妨上传一下
光说未必能知道是什么地方有错。
作者: 精灵使者    时间: 2007-7-24 23:05
以下引用ACMREN于2007-7-24 14:54:22的发言:

这次能用了..  不过却出现另外一个脚本错误

脚本'game_Swithes'的20行发生了NoMethodError。
undefined method `<=' for true:TrueClass

这个是为什么呢?  麻烦各位告诉我..

我的开始用的20开关。
注意调整一下。
作者: ACMREN    时间: 2007-7-24 23:16
请问如何上传错误工程?
作者: 天狼星1110    时间: 2007-7-24 23:17
论坛附件
作者: ACMREN    时间: 2007-7-24 23:23
http://rpg.blue/upload_program/files/Project2.zip
这个就是那个错误的工程了..
作者: 精灵使者    时间: 2007-7-24 23:53
太简单了……
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
  if $game_switches[XY_SWITCH] #确定开关是否打开,可以自己改变开关
    @x = $game_player.x #获取角色X坐标
    @y = $game_player.y #获取角色Y坐标
    @id = $game_map.map_id  #获取地图编号
   self.contents.clear #清除以前的东西
   $mapnames = load_data("Data/MapInfos.rxdata") #读取地图名文件
   map_name = $mapnames[@id].name #获得地图名
   self.contents.font.color = normal_color#颜色,这里是白色~
   self.contents.draw_text(0, 0, 116, 32, map_name,2)
   self.contents.font.color = system_color#颜色,暗蓝色
   self.contents.draw_text(0, 32, 120, 32, "X:")#显示X这个字的位置,引号里面的内容随便改,比如"X坐标地址"
   self.contents.font.color = normal_color#颜色,这里是白色~
   self.contents.draw_text(0, 32, 52, 32, @x.to_s,2)
   self.contents.font.color = system_color#上面那个是X坐标的变量,可以自己更改变量名~
   self.contents.draw_text(64, 32, 128, 32, "Y:")#显示Y这个字~
   self.contents.font.color = normal_color
   self.contents.draw_text(0, 32, 116, 32, @y.to_s,2)
  end
end
###########################################################################
#                           下面的东西不需要掌握~                         #
###########################################################################

class Scene_Map
alias xy_66rpg_main main
def main
  @xy_window = Window_xy.new
  @xy_window.x = 640 - 160
  @xy_window.y = 480 - 96
  @xy_window.opacity = 0
  xy_66rpg_main
  @xy_window.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias xy_66rpg_update update
def update
  xy_66rpg_update
  if $game_switches[XY_SWITCH]
    @xy_window.visible = true      
    @xy_window.refresh if @xy_window.judge
  else
    @xy_window.visible = false
  end
end
end

把以前带彩的2个地方的
if $game_switches[XY_SWITCH == 25]
改为
if $game_switches[XY_SWITCH]
否则会出错。
作者: ACMREN    时间: 2007-7-24 23:58
修改了还是不行..  它还是弹出:
脚本'game_Swithes'的20行发生了NoMethodError。
undefined method `<=' for true:TrueClass
作者: 精灵使者    时间: 2007-7-25 00:19
两个地方的。我测试都成功了呢。
作者: ACMREN    时间: 2007-7-25 00:32
不过如果这样修改的话..  那么这个开关不就是会关闭?
作者: 精灵使者    时间: 2007-7-25 01:08
不是。
你在游戏的事件中打开25号开关就行了。
作者: lcy92    时间: 2007-7-25 09:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 精灵使者    时间: 2007-7-25 14:24
这是一开始的错误,他居然把那个xyswitch里面添上了 == 25 {/gg}
作者: ACMREN    时间: 2007-7-25 16:27
不是。
你在游戏的事件中打开25号开关就行了。

是公共事件还是编辑事件?
作者: 精灵使者    时间: 2007-7-25 16:32
什么事件都可以。如果你开头就用的话就在开场里面打开开关就行。
作者: ACMREN    时间: 2007-7-25 16:37
呃..   问题是..  我不知道怎么打开..{/gg}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1