Project1
标题:
特殊装备(复活戒指\护身戒指\复制戒指)的制作
[打印本页]
作者:
derdfyga
时间:
2011-10-7 20:02
标题:
特殊装备(复活戒指\护身戒指\复制戒指)的制作
本帖最后由 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)
2011-10-7 20:06 上传
点击文件名下载附件
作者:
fangqing9
时间:
2011-10-8 18:57
东西是好东西 但是这太麻烦了。。。。。
本人很懒的说
作者:
niji
时间:
2011-10-19 19:48
很有意思 要研究一下
作者:
御宅酱
时间:
2011-10-22 23:21
好东西啊
作者:
xuzhengchi
时间:
2011-10-26 21:36
顶,拿来研究下
作者:
344143370
时间:
2013-1-16 13:46
不知道为什么我把 防具换个ID后就实现不了效果不知道是哪里出错了
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1