设为首页 收藏本站
登录 /立即注册 /找回密码

URPGs

快捷导航
  • 门户Portal
  • 论坛BBS
  • 群组Group
  • 导读Guide
  • 家园Space
  • 工具Tools
  • 广播Follow
  • 期刊Periodical
  • 排行榜Ranklist
  • 社区茶坊
  • pixlr图片编辑
  • 资源列表
  • photobucket
  • RMVA Lite [In English]
  • RM RTP
  • TryRUBY
  • RMXP+RMVX下载[VeryCD]
  • RMVA下载[66RPG]
搜索
  • 本版
  • 帖子
  • 用户
URPGs»论坛 › 技术讨论 › 技术讨论 › 【RMXP】装备附带技能
返回列表 发新帖
查看: 4956|回复: 0

[其他RM 讨论] 【RMXP】装备附带技能

[复制链接]
失落的乐章
失落的乐章 当前离线
积分
18
查看详细资料 窥视卡 雷达卡
发表于 2013-5-3 17:32:03 | 显示全部楼层 |阅读模式

说明:
使装备附带技能,使用装备时习得技能,卸下装备后即遗忘该技能。
对于事件中的“变更装备”也一样有效。
  1. =begin

  2. 装备附带技能V1.0

  3. 作者:失落的乐章

  4. 说明:使装备附带技能,使用装备时习得技能,卸下装备后即遗忘该技能。
  5. 对于事件中的“变更装备”也一样有效。

  6. =end

  7. module SGS_ES
  8.   #以下是对装备及其附属技能的设定。格式为“武器ID => 技能ID”,如下。
  9.   #
  10.   WPSKILL =  { 4 => 60, #武器附带技能
  11.               3 => 59
  12.               }
  13.   A1SKILL = { }       #防具1(默认为盾)附带技能
  14.   A2SKILL = { }       #防具2(默认为头部防具)附带技能
  15.   A3SKILL = { }       #防具3(默认为身体防具)附带技能
  16.   A4SKILL = { 29 => 7 }       #防具4(默认为装饰品)附带技能

  17.   def self.forget_skill(actor)
  18.    
  19.     WPSKILL.each { |wq,sk| actor.forget_skill(sk) if actor.weapon_id == wq }
  20.     A1SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor1_id == wq }
  21.     A2SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor2_id == wq }
  22.     A3SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor3_id == wq }
  23.     A4SKILL.each { |wq,sk| actor.forget_skill(sk) if actor.armor4_id == wq }

  24.   end
  25.   def self.learn_skill(actor)
  26.    
  27.     WPSKILL.each { |wq,sk| actor.learn_skill(sk) if actor.weapon_id == wq }
  28.     A1SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor1_id == wq }
  29.     A2SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor2_id == wq }
  30.     A3SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor3_id == wq }
  31.     A4SKILL.each { |wq,sk| actor.learn_skill(sk) if actor.armor4_id == wq }

  32.   end
  33. end

  34. class Interpreter
  35.   #--------------------------------------------------------------------------
  36.   # ● 变更装备
  37.   #--------------------------------------------------------------------------
  38.   def command_319
  39.     # 获取角色
  40.     actor = $game_actors[@parameters[0]]
  41.     # 变更角色
  42.     if actor != nil
  43.       SGS_ES.forget_skill(actor)
  44.       
  45.       actor.equip(@parameters[1], @parameters[2])
  46.       
  47.       SGS_ES.learn_skill(actor)
  48.     end
  49.     # 继续
  50.     return true
  51.   end
  52. end

  53. class Scene_Equip
  54.   def update_item
  55.     if Input.trigger?(Input::B)
  56.       $game_system.se_play($data_system.cancel_se)
  57.       @right_window.active = true
  58.       @item_window.active = false
  59.       @item_window.index = -1
  60.       return
  61.     end
  62.     if Input.trigger?(Input::C)
  63.       $game_system.se_play($data_system.equip_se)
  64.       item = @item_window.item      
  65.       actemp = $game_actors[@actor_index+1]
  66.       SGS_ES.forget_skill(actemp)
  67.       @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  68.       SGS_ES.learn_skill(actemp)
  69.       @right_window.active = true
  70.       @item_window.active = false
  71.       @item_window.index = -1
  72.       @right_window.refresh
  73.       @item_window.refresh
  74.       return
  75.     end
  76.   end
  77. end
复制代码

评分

参与人数 1银币 +25 收起 理由
Sonic1997 + 25 XD

查看全部评分

回复

使用道具 举报

  • 提升卡
  • 置顶卡
  • 沉默卡
  • 喧嚣卡
  • 变色卡
  • 抢沙发
  • 千斤顶
  • 显身卡
返回列表 发新帖
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|意见反馈[feedback]| URPGs RPG Maker 游戏制作讨论

GMT+8, 2025-5-9 22:20 , Processed in 0.021194 second(s), 7 queries .

Powered by Discuz! X3.5

© 2011-2019 URPGs (Discuz! X3.4 © 2001-2019 Comsenz Inc.)

积分 0, 距离下一级还需 积分
快速回复 返回顶部 返回列表