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

Project1

 找回密码
 注册会员
搜索
查看: 1834|回复: 2
打印 上一主题 下一主题

[已经过期] 技能冷却问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2011-4-23
帖子
54
跳转到指定楼层
1
发表于 2011-5-17 22:00:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 a6363635 于 2011-5-17 23:08 编辑

#===========BY 叶子===========
   #冷却的情况下不能使用
   #冷却的技能ID(xx) 和这个技能对应附加的状态ID(yy)
   if skill_id == xx and self.states.include?(yy)
     #状态存在时,技能无法使用
     return false
   end
   #在下面可以继续添加其他需要冷却的技能
   #如果添加 or 语句,还可以多技能实现共同冷却
#===========BY 叶子===========


我用了这个脚本,也按照做了新建了一个状态,状态号是17,我用十字斩为例,可是没用。我的状态
在数据库设置也没问题啊。怎么会没用呢,我新建了一个工程也没用
我发现原来还要调用一个公共事件,不过出错了,不明白,哪个高手帮我看看,范例发上了,脚本在
GAME_BATTLER 3里


a6363635于2011-5-17 23:09补充以下内容:
请各位高手或者谁帮下忙,看看?难道是我公共事件的语句用错了?

Project1.zip

201.53 KB, 下载次数: 42

点评

class Game_Battler #-------------------------------------------------------------------------- # ● 可以使用特技的判定 # skill_id : 特技 ID #-------------------------------  发表于 2011-5-17 22:50
你怎么用的脚本?能不能具体点,这段脚本放在不同位置,效果是不一样的。  发表于 2011-5-17 22:37

Lv3.寻梦者

梦石
0
星屑
1743
在线时间
485 小时
注册时间
2006-1-7
帖子
1073
2
发表于 2011-5-17 23:21:41 | 只看该作者
本帖最后由 白鬼 于 2011-5-17 23:47 编辑

愁死我了你!把脚本贴到论坛里,万一我下线了,你给我留言我又看不到,还可以有别的朋友帮忙!
帮你贴出来吧!
  1. class Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 可以使用特技的判定
  4.   #     skill_id : 特技 ID
  5.   #--------------------------------------------------------------------------
  6.   def skill_can_use?(skill_id)
  7.     # SP 不足的情况下不能使用
  8.     if $data_skills[skill_id].sp_cost > self.sp
  9.       return false
  10.     end
  11.     # 战斗不能的情况下不能使用
  12.     if dead?
  13.       return false
  14.     end
  15.         #===========BY 叶子===========
  16.    #冷却的情况下不能使用
  17.    #冷却的技能ID(xx) 和这个技能对应附加的状态ID(yy)
  18.    #if skill_id == xx and self.states.include?(yy)
  19.      #状态存在时,技能无法使用
  20.    # return false
  21.    #end
  22.       if skill_id == 82 and self.states.include?(17)
  23.      #状态存在时,技能无法使用
  24.      return false
  25.    end
  26.    #在下面可以继续添加其他需要冷却的技能
  27.    #如果添加 or 语句,还可以多技能实现共同冷却
  28.     #===========BY 叶子===========
  29.     # 沉默状态的情况下、物理特技以外的特技不能使用
  30.     if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
  31.       return false
  32.     end


  33.     # 获取可以使用的时机
  34.     occasion = $data_skills[skill_id].occasion
  35.     # 战斗中的情况下
  36.     if $game_temp.in_battle
  37.       # [平时] 或者是 [战斗中] 可以使用
  38.       return (occasion == 0 or occasion == 1)
  39.     # 不是战斗中的情况下
  40.     else
  41.       # [平时] 或者是 [菜单中] 可以使用
  42.       return (occasion == 0 or occasion == 2)
  43.     end
  44.   end
复制代码
好吧,你有没有在使用了技能后,为使用者添加第17号状态???
看了附件,很显然,你添加状态的方法有问题。
问问其他人一个管用的添加状态的方法吧。
把这个下载回去覆盖源文件,我更改了公共事件和状态。
冷却n回合,设置的时候,要设置成n-1会和后自动解除。
Data.zip (171.84 KB, 下载次数: 80)
就是这个附件,拿去试试看。
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2011-4-23
帖子
54
3
 楼主| 发表于 2011-5-17 23:41:54 | 只看该作者
回复 白鬼 的帖子

你的意思就是使用82号技能后给使用者添加那个状态
也就是利用公共事件来添加吧,我是这么写的$scene.active_battler.add_state(17)
可他就是出错。你可以下我的范例,我已经上传了

点评

记得弄好了告诉告诉我,我下了去睡觉,晚安!  发表于 2011-5-17 23:57
弄了一下,基本上可以了。但是只是凑合用,没办法对使用者是谁进行判断。这个我也不清楚了,你可以问其他高手,不过至少可以问得更具体了。  发表于 2011-5-17 23:48
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-26 01:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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