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

Project1

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

一种被动技能的制作思路

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
95
在线时间
49 小时
注册时间
2006-5-7
帖子
526
跳转到指定楼层
1
发表于 2007-8-12 00:43:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
前不久朋友问到的,这里是我的方法
首先,我是利用多个技能模拟技能的等级的,这就需要方便的得到技能等级,用一个简单的过程就可以啦!
  1. def lv(a,b,actor)
  2.   if actor.is_a?(Game_Actor)
  3.   for i in a..b
  4.     if actor.skill_learn?(i)
  5.       return i-a+1
  6.     end
  7.   end
  8.   end
  9.   return 0
  10. end
复制代码

定义这个过程后,就可以用def(技能lv1的编号,技能lvMAX的编号,角色)来得到某个角色的某个技能等级了。
以这个技能为例




在我的数据库中,宗和之心得 Lv1是250号,而LvMAX是259号

要让这个被动技能生效,在Game_Battler 3找到普通攻击时的必杀处理
if rand(100) < 4 * attacker.dex / self.agi
          self.damage *= 2
          self.critical = true
        end
修改一下
if rand(100) < (4 * attacker.dex / self.agi + 2*lv(250,259,attacker))
          self.damage *= 2
          self.critical = true
        end
lv(250,259,attacker)得到攻击者的宗和之心得等级,然后就可以获得被动技能的效果啦!

这个被动系统其实还应该包括被动技能的显示方法之类的处理,今天累了.....下次再说吧
头像被屏蔽

Lv1.梦旅人 (禁止发言)

心无天使

梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-12-15
帖子
1016
7
发表于 2008-2-1 00:39:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

6
发表于 2007-8-12 06:39:03 | 只看该作者
我……记得主站上有被动技能脚本……

http://rpg.blue/web/htm/news270.htm

不知道两个有什么区别
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
451
在线时间
127 小时
注册时间
2006-11-2
帖子
1200
5
发表于 2007-8-12 03:46:56 | 只看该作者
对于占用数据库这点,私以为,利用 技能名 + 变量 的实现即可解决。
和记忆一起封存着的ID...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Dancer-

梦石
0
星屑
105
在线时间
78 小时
注册时间
2006-5-15
帖子
3306
4
发表于 2007-8-12 03:10:42 | 只看该作者
这个方式...占用数据库..我是不喜欢。
一个机缘巧合后,被改变了人生的第八年。
养着两只猫,可是我对猫过敏。
为了那终将到来的一天。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
0 小时
注册时间
2007-2-7
帖子
388
3
发表于 2007-8-12 02:18:03 | 只看该作者
走过...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
49 小时
注册时间
2006-5-7
帖子
526
2
 楼主| 发表于 2007-8-12 00:43:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
前不久朋友问到的,这里是我的方法
首先,我是利用多个技能模拟技能的等级的,这就需要方便的得到技能等级,用一个简单的过程就可以啦!
  1. def lv(a,b,actor)
  2.   if actor.is_a?(Game_Actor)
  3.   for i in a..b
  4.     if actor.skill_learn?(i)
  5.       return i-a+1
  6.     end
  7.   end
  8.   end
  9.   return 0
  10. end
复制代码

定义这个过程后,就可以用def(技能lv1的编号,技能lvMAX的编号,角色)来得到某个角色的某个技能等级了。
以这个技能为例




在我的数据库中,宗和之心得 Lv1是250号,而LvMAX是259号

要让这个被动技能生效,在Game_Battler 3找到普通攻击时的必杀处理
if rand(100) < 4 * attacker.dex / self.agi
          self.damage *= 2
          self.critical = true
        end
修改一下
if rand(100) < (4 * attacker.dex / self.agi + 2*lv(250,259,attacker))
          self.damage *= 2
          self.critical = true
        end
lv(250,259,attacker)得到攻击者的宗和之心得等级,然后就可以获得被动技能的效果啦!

这个被动系统其实还应该包括被动技能的显示方法之类的处理,今天累了.....下次再说吧
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-16 21:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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