赞 | 1 |
VIP | 6 |
好人卡 | 2 |
积分 | 1 |
经验 | 10779 |
最后登录 | 2020-5-5 |
在线时间 | 386 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 386 小时
- 注册时间
- 2006-12-10
- 帖子
- 231
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 derdfyga 于 2011-10-8 00:16 编辑
过程比较简单,改动的地方不大.
1:在数据库添加三个戒指,名字分别为复活戒指\护身戒指\复制戒指,也可以随便取名.
2:在class Game_Actor、class Game_Enemy和class Game_Battler里各添加一个 def mofa_s?(type=0,itemid=1) 。
在class Game_Actor257行处插入:特殊装备ID必须与数据库的戒指ID对上号,不然效果会混淆。- #--------------------------------------------------------------------------
- # ● 特殊装备特效
- #type: 装备类型0为道具,1为防具,2为武器,
- #itemid: 装备ID
- #--------------------------------------------------------------------------
- def mofa_s?(type=0,itemid=1) ##
- # @m=type
- # @n=itemid
- case itemid
- when 33 #特殊装备ID
- if type==1 #0为道具,1为防具,2为武器,
- for armor in armors.compact
- return true if armor.name=="复制戒指"
- end
- end
- when 31
- if type==1 #0为道具,1为防具,2为武器,
- for armor in armors.compact
- return true if armor.name=="护身戒指"
- end
- end
- when 32
- if type==1 #0为道具,1为防具,2为武器,
- for armor in armors.compact
- return true if armor.name=="复活戒指"
- end
- end
- end
- return false
- end
复制代码 在class Game_Enemy96行插入- #--------------------------------------------------------------------------
- # ● 特殊装备特效
- #type: 装备类型0为道具,1为防具,2为武器,
- #itemid: 装备ID
- #--------------------------------------------------------------------------
- def mofa_s?(type=0,itemid=1) ##
- return false
- end
复制代码 在class Game_Battler196左右行插入(一定要插入在前一个方法完成之后。)- #--------------------------------------------------------------------------
- # ● 特殊装备特效
- #type: 装备类型0为道具,1为防具,2为武器,
- #itemid: 装备ID
- #--------------------------------------------------------------------------
- def mofa_s?(type=0,itemid=1) ##
- return mofa_s?(type,itemid)
- end
- 3:上面弄好了,则开始弄它的效果。
- 首先是复制戒指效果,在class Game_Battler 的 def make_obj_damage_value(user, obj)当中damage = obj.base_damage 之后插入。
- [/co[code] ###########复制戒指偷学敌人的特技.
- if self.mofa_s?(1,33) #参数1为防具,33为复制戒指的ID
- self.learn_skill(obj.id) and p"偷学到怪物特技:#{obj.name}" unless rand(100)>=30 and self.skill_learn?(obj.id)
- end
- ##########
复制代码 de]
注:p 为复制怪物魔法成功后提示,此提示很直接,若是不想用这个方法,则需要加一个标志,然后在战斗函数中显示出来。复活戒指就是用的这种显示方法,可以参照。
若是只定义一个复制戒指,就算完成了。OK了。
4:护身戒指和复活戒指效果,在def execute_damage(user)函数中找到self.hp -= @hp_damage,然后将下面的代码替换它就行了。- ###########护身戒指效果
- if self.mofa_s?(1,31)
- if @hp_damage>self.mp
- @hp_damage-=self.mp
- self.mp=0
- self.hp -= @hp_damage
- else
- self.mp -= @hp_damage
- end
- else
- self.hp -= @hp_damage
- end
- self.mp -= @mp_damage
-
- ###########复活戒指效果
- if self.mofa_s?(1,32) and rand(100)>=70
- self.hp = self.maxhp if self.hp <= 0
- @huhuo_x=true
- end
- 注:所有戒指效果完成。
- 若是复活戒指要有提示的话,则在class Game_Battler中第31行添加 attr_reader :huhuo_x
- 然后在80行左右添加@huhuo_x=false。
- 最后在class Scene_Battle中 def display_hp_damage(target, obj = nil)的最末尾,也就是wait(30)之后添加:
复制代码- #########复活戒指
- if target.huhuo_x
- text = "复活戒指发挥奇效!"
- $game_message.texts.push(text)
- wait_for_message
- end
复制代码 工程 下载:
特殊戒指的制作.rar
(239.66 KB, 下载次数: 621)
|
|