Project1
标题:
技能书学习问题
[打印本页]
作者:
jrgerm
时间:
2008-5-12 20:52
标题:
技能书学习问题
我想设置一个通过技能书学习技能的系统,现在想的办法都很麻烦,我希望达到的效果是对某一人物使用技能书就能让该任务学会某技能,我想这应该能不通过脚本完成吧,希望高手能讲的详细点,本人刚接触RM,谢谢了 [LINE]1,#dddddd[/LINE]
此贴于 2008-5-12 15:12:58 被版主水迭澜提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
此贴于 2008-5-16 0:55:30 被版主水迭澜提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
版务信息:版主帮忙结贴~
作者:
水迭澜
时间:
2008-5-12 20:58
http://rpg.blue/web/htm/news163.htm [LINE]1,#dddddd[/LINE]
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者:
八云紫
时间:
2008-5-12 21:00
用事件来做的话,会遇到一个 瓶颈 ,就是无法确认是谁使用了这个物品。
至少需要在事件的脚本里使用脚本,就是脚本 + 事件,以事件为主。
作者:
禾西
时间:
2008-5-12 21:05
禾西剛好有這個腳本:
module State_Skill
#--------------------------------------------------------------------------
# ● 參考數組取得
#--------------------------------------------------------------------------
Data = []
$data_skills ||= load_data("Data/Skills.rxdata")
$data_states ||= load_data("Data/States.rxdata")
# 查找「基本同名」的「狀態」與「技能」
for i in 1...$data_states.size
next unless $data_states[i].name =~ /^skill(\D*)/
for i2 in 1...$data_skills.size
Data.push [i,i2] if ($data_skills[i2].name == $1)
end
end
end
#----------------------------------------------------------------------------
# ● 召喚原方法
#----------------------------------------------------------------------------
class Game_Battler
alias oxox_add_state add_state
alias oxox_remove_state remove_state
#--------------------------------------------------------------------------
# ● 附加状态
# state_id : 状态 ID
# force : 强制附加标志 (处理自动状态时使用)
#--------------------------------------------------------------------------
def add_state(state_id, force = false)
oxox_add_state(state_id, force)
State_Skill::Data.each{|i|
if i[0] == state_id
if i[1] != 0
learn_skill(i[1])
@states.delete(state_id) unless force
end
end}
end
#--------------------------------------------------------------------------
# ● ステートの解除
# state_id : ステート ID
# force : 強制解除フラグ (オートステートの処理で使用)
#--------------------------------------------------------------------------
def remove_state(state_id, force = false)
oxox_remove_state(state_id, force)
State_Skill::Data.each{|i|
if i[0] == state_id
if i[1] != 0
forget_skill(i[1])
end
end}
end
end
复制代码
附加某個名字爲
skill技能名字
的狀態就會習得該個技能
比如
skill光
習得光技能
作者:
jrgerm
时间:
2008-5-12 22:46
哦,谢谢三位了哦{/cy}
作者:
水迭澜
时间:
2008-5-12 23:12
咳……注意结帖~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1