查看: 1352|回复: 5

技能书学习问题

  [复制链接]
梦石
0
星屑
60
在线时间
12 小时
注册时间
2008-5-12
回帖
4
发表于 2008-5-12 20:52:30 | 显示全部楼层 |阅读模式

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

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

×
我想设置一个通过技能书学习技能的系统,现在想的办法都很麻烦,我希望达到的效果是对某一人物使用技能书就能让该任务学会某技能,我想这应该能不通过脚本完成吧,希望高手能讲的详细点,本人刚接触RM,谢谢了
此贴于 2008-5-12 15:12:58 被版主水迭澜提醒,请楼主看到后对本贴做出回应。
此贴于 2008-5-16 0:55:30 被版主水迭澜提醒,请楼主看到后对本贴做出回应。
版务信息:版主帮忙结贴~

御灵的宠物

梦石
12
星屑
8481
在线时间
94 小时
注册时间
2006-12-11
回帖
3101

第2届TG大赛亚军

发表于 2008-5-12 20:58:26 | 显示全部楼层
http://rpg.blue/web/htm/news163.htm
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
我的Lofter:http://nightoye.lofter.com/

回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2008-5-12 21:00:04 | 显示全部楼层
用事件来做的话,会遇到一个 瓶颈 ,就是无法确认是谁使用了这个物品。

至少需要在事件的脚本里使用脚本,就是脚本 + 事件,以事件为主。

《天空之城 —— 破碎的命运》
回复

使用道具 举报

酱油的

梦石
0
星屑
1840
在线时间
2161 小时
注册时间
2007-12-22
回帖
3216

贵宾

发表于 2008-5-12 21:05:35 | 显示全部楼层
禾西剛好有這個腳本:
  1. module State_Skill
  2.   #--------------------------------------------------------------------------
  3.   # ● 參考數組取得
  4.   #--------------------------------------------------------------------------
  5.   
  6.   Data = []
  7.   $data_skills      ||= load_data("Data/Skills.rxdata")
  8.   $data_states      ||= load_data("Data/States.rxdata")
  9.   # 查找「基本同名」的「狀態」與「技能」
  10.   for i in 1...$data_states.size
  11.     next unless $data_states[i].name =~ /^skill(\D*)/
  12.     for i2 in 1...$data_skills.size
  13.       Data.push [i,i2] if ($data_skills[i2].name == $1)
  14.     end
  15.   end
  16. end

  17. #----------------------------------------------------------------------------
  18. # ● 召喚原方法
  19. #----------------------------------------------------------------------------
  20. class Game_Battler
  21.   alias oxox_add_state    add_state
  22.   alias oxox_remove_state remove_state
  23.   #--------------------------------------------------------------------------
  24.   # ● 附加状态
  25.   #     state_id : 状态 ID
  26.   #     force    : 强制附加标志 (处理自动状态时使用)
  27.   #--------------------------------------------------------------------------
  28.   def add_state(state_id, force = false)
  29.     oxox_add_state(state_id, force)
  30.     State_Skill::Data.each{|i|
  31.     if i[0] == state_id
  32.       if i[1] != 0
  33.         learn_skill(i[1])
  34.         @states.delete(state_id) unless force
  35.       end
  36.     end}
  37.   end

  38.   #--------------------------------------------------------------------------
  39.   # ● ステートの解除
  40.   #     state_id : ステート ID
  41.   #     force    : 強制解除フラグ (オートステートの処理で使用)
  42.   #--------------------------------------------------------------------------
  43.   def remove_state(state_id, force = false)
  44.     oxox_remove_state(state_id, force)
  45.     State_Skill::Data.each{|i|
  46.     if i[0] == state_id
  47.       if i[1] != 0
  48.         forget_skill(i[1])
  49.       end
  50.     end}
  51.   end
  52. end
复制代码

附加某個名字爲
skill技能名字
的狀態就會習得該個技能
比如
skill光
習得光技能
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复

使用道具 举报

梦石
0
星屑
60
在线时间
12 小时
注册时间
2008-5-12
回帖
4
 楼主| 发表于 2008-5-12 22:46:49 | 显示全部楼层
哦,谢谢三位了哦{/cy}
回复

使用道具 举报

御灵的宠物

梦石
12
星屑
8481
在线时间
94 小时
注册时间
2006-12-11
回帖
3101

第2届TG大赛亚军

发表于 2008-5-12 23:12:50 | 显示全部楼层
咳……注意结帖~
我的Lofter:http://nightoye.lofter.com/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部