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

Project1

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

[原创发布] 超强大技能冷却系统

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
跳转到指定楼层
发表于 2010-10-2 20:00:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 九夜神尊 于 2010-10-2 22:34 编辑

前几天我发布过一些创新的数据库使用方法,那、我拿出一个实例来。

让一些喜欢找茬的人再找找茬。


技能冷却系统

实现了对技能的冷却,同时也可以自由的创新技能的使用方式。上脚本
  1. #=====================================================================
  2. # ■ 技能冷却
  3. #——————————————————————————————
  4. #  实现技能有冷却时间
  5. #=====================================================================

  6. =begin
  7. 版本:1.00
  8. 说明:

  9. 作用:为技能设置冷却

  10. 方法:设置 技能ID + 100号状态,该状态为技能冷却时间
  11.     使用技能后,会获得该状态,该状态若解除,技能可用。
  12.     解除方法自定,若设置成若干回合100%解除则与常规冷却无异。
  13.    
  14. 注意:对于冷却一回合,到底是下一回合解除,还是隔一回合冷却
  15.     不同战斗系统,有差异,需要测试后定着。
  16.    
  17.     需要为该状态命名才能使冷却生效
  18.     设置状态定量为0 ,以免会在状态栏显示出来
  19.    
  20.      技能冷却对敌方也有效
  21. 可能的冲突,无。若冲突,请查看○标志的地方

  22. =end

  23. #==============================================================================
  24. # ■ Scene_Battle (分割定义 4)
  25. #------------------------------------------------------------------------------
  26. #  处理战斗画面的类。
  27. #==============================================================================

  28. class Scene_Battle
  29.   #--------------------------------------------------------------------------
  30.   # ● 生成特技行动结果
  31.   #--------------------------------------------------------------------------
  32.   alias swtf_make_skill_action_result make_skill_action_result
  33.   def make_skill_action_result
  34.     swtf_make_skill_action_result
  35.     if $data_states[@skill.id+100] != nil and $data_states[@skill.id+100].name != ""
  36.       @active_battler.add_state(@skill.id + 100) #附加状态
  37.     end
  38.    
  39.   end#make_skill_action_result
  40.   
  41.   
  42. end#class Scene_Battle


  43. #==============================================================================
  44. # ■ Game_Battler (分割定义 3)
  45. #------------------------------------------------------------------------------
  46. #  处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
  47. # 超级类来使用。
  48. #==============================================================================

  49. class Game_Battler
  50.   #--------------------------------------------------------------------------
  51.   # ● 可以使用特技的判定
  52.   #     skill_id : 特技 ID
  53.   #--------------------------------------------------------------------------
  54.   alias swtf_skill_can_use? skill_can_use?
  55.   def skill_can_use?(skill_id)
  56.     if state?(skill_id+100)
  57.       return false
  58.     end
  59.     swtf_skill_can_use?(skill_id)
  60.   end #skill_can_use?(skill_id)
  61.   
  62.   
  63.   
  64. end #class Game_Battler

  65. #==================================================================
  66. # 作者:九夜神尊
  67. #==================================================================
复制代码
喜欢找茬的人仔细看看有多少句脚本,全部只alias了两个地方。

因为没有重新定义方法,所以基本无冲突(自建战斗系统除外)

原理很简单,就是使用技能以后会自动获得一个状态,只有这个状态解除以后才能再次使用这个技能。、

来看看新的使用方法

1:使用某技能以后会虚弱
    只需要在对应状态上将能力值调低即可

2:受攻击后才能使用的技能
     只需要在状态上勾选受攻击解除,当然自然解除0%即可

3:使用某物品以后才能使用某技能
    只需要设置某物品可以解除某状态即可

4:蓄力技能
   使用蓄力技能可以解除另一个技能的无限冷却


5:未知冷却技能
   只需对状态设置非100%解除,则可实现未知回合数解除,当1%解除时,估计是宇宙爆发技能了。

6:跨战斗技能冷却
   只要不勾选战斗结束后解除即可,这样技能设置冷却几十回合也有意义,那种技能也有爆发力吧。

7:聪明的作者还能开发出来更多吧



这个脚本配合某达人的战斗中不显示无用技能,更有神秘性。

技能剩余冷却回合数  忘了是怎么调用的,反正就是直接读取状态的剩余参量

然后版本1.1会实现完全恢复不影响技能冷却状态(实现起来很简单)



点评

………… vip + 100  发表于 2010-10-3 17:04

评分

参与人数 4星屑 +750 收起 理由
y967 + 30 塞糖,状态法的脚本版,省力多了.
后知后觉 + 700 制作思路很好.鼓励III
笨鸟の先飞 + 10 凑个整十- -b
薄荷冰水 + 10 才给150喔?

查看全部评分

精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。

Lv2.观梦者

梦石
0
星屑
946
在线时间
61 小时
注册时间
2019-12-10
帖子
97
23
发表于 2021-2-10 22:44:05 | 只看该作者
九夜神尊 发表于 2010-10-9 23:50
回复 CortesDevil 的帖子

假设设置15号技能的冷却,就设置115号状态,状态持续就意味着技能冷却。

我这不会用,有没有视频啊?
想玩我做的游戏加我qq947128749
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
897
在线时间
522 小时
注册时间
2011-1-16
帖子
69
22
发表于 2014-8-13 14:44:03 | 只看该作者
有Va版的吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
135
在线时间
127 小时
注册时间
2014-6-30
帖子
6
21
发表于 2014-8-11 07:29:03 | 只看该作者
这是谁挖坟啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2013-8-9
帖子
6
20
发表于 2014-8-11 02:14:09 | 只看该作者
不知道怎么用诶,是直接在数据库把技能附加一个状态吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
45 小时
注册时间
2010-8-21
帖子
53
19
发表于 2014-6-18 01:01:39 | 只看该作者

初来乍到,学习过留下脚步,祝福作者,辛苦谢谢教程!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
14 小时
注册时间
2013-8-8
帖子
13
18
发表于 2014-2-16 23:36:18 | 只看该作者
楼主,你这个脚本请问要怎么用,复制的话是分开复制还是新建一个脚本页?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
211
在线时间
905 小时
注册时间
2010-9-6
帖子
3229
17
发表于 2010-11-15 21:03:09 | 只看该作者
我来找个茬吧,和我用的“状态限制技能”脚本存在冲突,嘿嘿

$状态限定特技 = {57 => 22 , 61 => 22}
#箭头前为技能id,箭头后为状态id 用英文半角逗号分隔
class Game_Battler
  alias yang81989557_skill_can_use? skill_can_use?
  def skill_can_use?(skill_id)
    if $状态限定特技.keys.include?(skill_id)
      unless state?($状态限定特技[skill_id])
        return false
      end
    end
    yang81989557_skill_can_use?(skill_id)
  end
end
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
32 小时
注册时间
2010-10-19
帖子
11
16
发表于 2010-11-8 07:30:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
107 小时
注册时间
2009-11-3
帖子
246
15
发表于 2010-10-29 21:36:58 | 只看该作者
很好很强大
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-8-15
帖子
11
14
发表于 2010-10-29 21:03:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 02:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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