Project1
标题:
怎样制作升级的道具?
[打印本页]
作者:
jingfp
时间:
2009-11-13 08:43
标题:
怎样制作升级的道具?
本帖最后由 jingfp 于 2009-11-16 13:05 编辑
升级或者增加经验值的道具怎么做,
比如做一个“升级丹”谁吃了谁就升级。或者“经验果”谁吃谁涨经验。
作者:
小幽的马甲
时间:
2009-11-13 09:04
调用公共事件
作者:
jingfp
时间:
2009-11-13 09:27
在物品栏里只有HP MP 攻防体精敏的选项,没看到EXP level的。
事件选项里只有给全体或某个ID队员增加exp或level。
我想做的像个恢复剂那样的,菜单里选到谁谁就可以增加1级。
作者:
小幽的马甲
时间:
2009-11-13 10:02
这样啊…利用注释标注下,Scene_Item使用道具那段加个判断。
作者:
jingfp
时间:
2009-11-13 10:09
小马甲大人给做个工程吧,注释那里怎样写啊。
作者:
小幽的马甲
时间:
2009-11-13 11:10
很遗憾我现在是手机登录状态…注释里写什么都行,只是做个标记,然后使用物品那段加个类似if item.note==XX的判断
作者:
jingfp
时间:
2009-11-13 16:17
这个。。。这个。。。还是不懂啊。。
请小马甲大人回家写个project吧。。:P
作者:
wssdrwt
时间:
2009-11-13 17:23
提示:
作者被禁止或删除 内容自动屏蔽
作者:
小幽的马甲
时间:
2009-11-13 21:48
在Game_Battler里分别找到 def item_test与def item_effect,加上红字
#--------------------------------------------------------------------------
# ● 物品应用测试
# user : 物品使用者
# item : 物品
# 判断在使用对象 HP/MP 满值时禁止回复。
#--------------------------------------------------------------------------
def item_test(user, item)
if item.note == "升级"
if user.level >= 99
return false
else
return true
end
end
tester = self.clone
tester.make_obj_damage_value(user, item)
tester.apply_state_changes(item)
if tester.hp_damage < 0 or tester.calc_hp_recovery(user, item) > 0
return true if tester.hp < tester.maxhp
end
if tester.mp_damage < 0 or tester.calc_mp_recovery(user, item) > 0
return true if tester.mp < tester.maxmp
end
return true unless tester.added_states.empty?
return true unless tester.removed_states.empty?
return true if item.parameter_type > 0
return false
end
#--------------------------------------------------------------------------
# ● 应用物品效果
# user : 物品使用者
# item : 物品
#--------------------------------------------------------------------------
def item_effect(user, item)
clear_action_results
unless item_effective?(user, item)
@skipped = true
return
end
if rand(100) >= calc_hit(user, item) # 判断命中
@missed = true
return
end
if rand(100) < calc_eva(user, item) # 判断回避
@evaded = true
return
end
if item.note == "升级"
user.level_up
return
end
hp_recovery = calc_hp_recovery(user, item) # 计算 HP 回复量
mp_recovery = calc_mp_recovery(user, item) # 计算 MP 回复量
make_obj_damage_value(user, item) # 计算伤害
@hp_damage -= hp_recovery # 减去 HP 回复量
@mp_damage -= mp_recovery # 减去 MP 回复量
make_obj_absorb_effect(user, item) # 计算吸收效果
execute_damage(user) # 反映伤害
item_growth_effect(user, item) # 应用成长效果
if item.physical_attack and @hp_damage == 0 # 判断物理攻击无效
return
end
apply_state_changes(item) # 状态变化
end
事件里那个道具的注释里写上“升级”,使用条件为菜单中
会与使用到道具注释的脚本冲突
作者:
geshujing
时间:
2009-11-14 22:27
受教了 但是看不懂脚本………………
作者:
jingfp
时间:
2009-11-16 13:05
又学了一招。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1