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

Project1

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

[已经解决] 那个“受限技能”的教程貌似没了,谁能给个

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-1-7
帖子
211
跳转到指定楼层
1
发表于 2009-7-7 16:56:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
论坛和主站升级后好多东西找不到了……谁能给个以前的“受限技能”的教程,作者记得是SailCat
我是if-else党!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
128 小时
注册时间
2009-1-28
帖子
2790
2
发表于 2009-7-7 17:16:29 | 只看该作者
本帖最后由 霜冻之狼 于 2009-7-7 17:18 编辑

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#===========================================================================
# 受限技能 by SailCat
#===========================================================================
# 设定方法:一堆受限状态,每一个都选为"不能使用魔法",然后在脚本里面来判定
# 判定分支的写法参见脚本注释
# 变化注释:通过强制return true可以写出在特定状态下一定可以使用的特技,但是
# 请注意状态的优先顺位问题

# 常用的技能判定:(前面写$data_skills[skill_id]),比如$data_skills[skill_id].atk_f
# 纯魔法: .atk_f == 0
# 非魔法: .atk_f != 0
# 纯物理: .atk_f >= 100
# 攻击类: .power > 0
# 回复类: .power < 0
# 支援类: .power == 0
# 全体类: .scope % 2 == 0 and .scope != 0
# 单体类: .scope % 2 == 1

# 别忘了给每个状态添加“不能使用魔法”
#===========================================================================

class Game_Battler
#--------------------------------------------------------------------------
# ● 可以使用特技的判定
#     skill_id : 特技 ID
#--------------------------------------------------------------------------
def skill_can_use?(skill_id)
   # 战斗不能的情况下不能使用
   if dead?
     return false
   end
   # 限制为"不能使用魔法"的情况下
   if self.restriction == 1
     # 天使之音, 攻击性特技可以无条件使用
     if self.state?(21) and $data_skills[skill_id].power > 0
       return true
     # 沈默, 纯魔法特技不能使用
     elsif self.state?(5) and $data_skills[skill_id].atk_f == 0
       return false
     # 弱力, 非魔法特技不能使用
     elsif self.state?(27) and $data_skills[skill_id].atk_f != 0
       return false
     # 虚脱, HP在一半以下时不能使用特技
     elsif self.state?(28) and self.hp < self.maxhp / 2
       return false
     # 遗忘, 学会的技能有一定的概率不能使用
     elsif self.state?(25)
       return rand(100) < 50 ? true : false
     # 诅咒, 任何消耗SP的技能都不能使用
     elsif self.state?(29) and $data_skills[skill_id].sp_cost != 0
       return false
     end
   end
   # SP 不足的情况下不能使用
   if $data_skills[skill_id].sp_cost > self.sp
     return false
   end
   # 获取可以使用的时机
   occasion = $data_skills[skill_id].occasion
   # 战斗中的情况下
   if $game_temp.in_battle
     # [平时] 或者是 [战斗中] 可以使用
     return (occasion == 0 or occasion == 1)
   # 不是战斗中的情况下
   else
     # [平时] 或者是 [菜单中] 可以使用
     return (occasion == 0 or occasion == 2)
   end
end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

炼金术的根本法则是等价交换。想要获得,必须失去同等价值的东西。每当烦躁的时候,煎熬在不想做却又正在做的烦心事中的时候,我就安慰自己,提醒自己做这些事情的目的所在,告诉自己不要忽略所获得或者即将获得的回报,物质的,精神的,肉体的,灵魂的回报!只做想做的事情,就会失去不想失去的东西。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-1-7
帖子
211
3
 楼主| 发表于 2009-7-7 17:32:58 | 只看该作者
谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-20 19:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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