设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

脚本错误,求大神帮忙解决

查看数: 1336 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-5-5 15:51

正文摘要:

这个脚本错误原因是什么呢? 我是真的纯纯的脚本盲……#============================================================================== # ■ Game_Battler (分割定义 3) #-------------------------------------- ...

回复

丿饕餮丨 发表于 2017-5-9 17:50:01
guoxiaomi 发表于 2017-5-8 23:56
我看了一下图书馆里的空手攻防脚本,请先看在39-41行的定义
  ARM_ELEMENT[1] = [1]
  ARM_ELE_PLUS[1 ...

谢谢大神,我这就去试{:2_259:}
guoxiaomi 发表于 2017-5-8 23:56:45
本帖最后由 guoxiaomi 于 2017-5-9 00:03 编辑

我看了一下图书馆里的空手攻防脚本,请先看在39-41行的定义
RUBY 代码复制
  1.   ARM_ELEMENT[1] = [1]
  2.   ARM_ELE_PLUS[1] = []
  3.   ARM_ELE_MINUS[1] = []

这里定义了空手时候的属性变化情况,因为武器是携带属性的,这个空手攻防脚本会根据不同的角色,决定其空手时携带何种属性和自动状态。
这里的意思是,1号角色空手时,攻击附带1号属性,无自动状态附加。
如果有更多的角色,就要定义相应的ARM_ELEMENT[n]、ARM_ELE_PLUS[n] 和ARM_ELE_MINUS[n] ,如果不想修改属性和自动状态,要设置这些为空矩阵([]),否则就会报错。

报错的原因在这里,请看空手攻防的84-90行:
RUBY 代码复制
  1. alias plus_state_set_arm plus_state_set
  2.   def plus_state_set
  3.     if @weapon_id == 0 and ARM_ELE_PLUS[@actor_id] != []
  4.       return ARM_ELE_PLUS[@actor_id]
  5.     end
  6.     return plus_state_set_arm
  7.   end

这个方法,在没有定义2号角色的空手属性和自动状态,然后2号角色空手的情况下,会返回 nil 而不是空矩阵([]),所以在后面的脚本里报错了。
如此,只需要在可能返回 nil 的时候,返回空矩阵就行了~

在第78/87/97行的后面添加 || [],如此可以使得不定义的角色默认无属性和无自动状态附加。
像这样:
RUBY 代码复制
  1. return ARM_ELEMENT[@actor_id] || []
  2. return ARM_ELE_PLUS[@actor_id] || []
  3. return ARM_ELE_MINUS[@actor_id] || []




你测试一下,看看有没有问题?

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

丿饕餮丨 发表于 2017-5-6 09:38:36
guoxiaomi 发表于 2017-5-5 18:52
这个问题很奇怪,应该是数据库的设置不对。比如说删掉了所有的属性?

并没有删掉属性……之前加入了图书馆的空手攻防的脚本,删除了空手攻防的脚本就好了……但是不知道冲突的点在哪……
guoxiaomi 发表于 2017-5-5 18:52:02
这个问题很奇怪,应该是数据库的设置不对。比如说删掉了所有的属性?
丿饕餮丨 发表于 2017-5-5 16:23:25
求大神传授一下解决方法……
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-21 22:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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