设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3264|回复: 5

[已经解决] 如何让平a在使用某技能后变成另一种技能

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1412
在线时间
245 小时
注册时间
2019-1-18
帖子
190
发表于 2019-9-8 18:29:24 | 显示全部楼层 |阅读模式
20星屑
如题,我想做一个技能,释放后赐予使用者一个状态,在此状态下使用者的普攻变成另一种技能,请问这种效果该怎么做?要用到脚本吗?求大佬解答。

最佳答案

查看完整内容

普攻和防御都可以替换的脚本 话说技能释放对使用者附加状态sa不是有吗?你就不能把自己有脚本研究一下再来提问吗?附一下sa脚本名:

Lv3.寻梦者

梦石
0
星屑
1083
在线时间
140 小时
注册时间
2019-5-12
帖子
57
发表于 2019-9-8 18:29:25 | 显示全部楼层
普攻和防御都可以替换的脚本
话说技能释放对使用者附加状态sa不是有吗?你就不能把自己有脚本研究一下再来提问吗?附一下sa脚本名:<使用者ステート>
  1. # =============================================================================
  2. # TheoAllen - 普通技能设定
  3. # Version : 1.0b
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # (This script documentation is written in informal indonesian language)
  6. # =============================================================================
  7. $imported ||= {}
  8. $imported[:Theo_BasicSkills] = true
  9. # =============================================================================
  10. # Change Logs :
  11. # -----------------------------------------------------------------------------
  12. # 2014.04.23 - Bugfix, crashes when actor is being inflicted by state
  13. # 2013.05.08 - Started and Finished script
  14. # =============================================================================
  15. =begin

  16.   介绍 :
  17.   本脚本可以设定攻击和防御的技能id,同时还可以根据不同职业、不同武器设定不同的
  18.   攻击技能id。
  19.   
  20.   使用方法 :
  21.   根据需要使用以下备注。
  22.   需要注意的是,最终的技能id由最高优先级的备注决定。
  23.   例如:角色备注攻击为4号技能,其装备有备注攻击为8号技能的武器,则该角色的攻击
  24.   使用技能为8号技能。
  25.   
  26.   状态备注:
  27.   - <attack id: n> # 附加该状态时,攻击使用n号技能
  28.   - <guard id: n>  # 附加该状态时,防御使用n号技能
  29.   
  30.   武器备注:
  31.   - <attack id: n> # 装备该武器时,攻击使用n号技能
  32.   
  33.   职业备注:
  34.   - <attack id: n> # 该职业的角色,攻击使用n号技能
  35.   - <guard id: n>  # 该职业的角色,防御使用n号技能
  36.   
  37.   角色备注:
  38.   - <attack id: n> # 该角色,攻击使用n号技能
  39.   - <guard id: n>  # 该角色,防御使用n号技能
  40.   
  41.   注意 :
  42.   当角色武器双持,且都有备注时,会使用第一把武器的备注设定。
  43.   
  44.   使用规定 :
  45.   属名脚本作者, TheoAllen. 你可以自由编辑此脚本,只要你不声明你是脚本的原作者
  46.   如果你想用此脚本于商业游戏,请和我共享收益.别忘了给我一份免费的游戏拷贝.

  47. =end
  48. # =============================================================================
  49. # 设定 :
  50. # =============================================================================
  51. module THEO
  52.   module BASIC
  53.    
  54.     ATTACK = 1 # 攻击技能id  (默认 : 1)
  55.     GUARD  = 2 # 防御技能id   (默认 : 2)
  56.    
  57.   end
  58. end
  59. # =============================================================================
  60. # 设定结束
  61. # =============================================================================
  62. module THEO
  63.   module BASIC
  64.   module REGEXP
  65.     ATTACK_ID = /<(?:ATTACK ID|attack_id):[ ]*(\d+)>/i
  66.     GUARD_ID = /<(?:GUARD ID|guard_id):[ ]*(\d+)>/i
  67.   end
  68.   end
  69. end

  70. module DataManager
  71.   
  72.   class << self
  73.     alias pre_load_basic_skills_id load_database
  74.   end
  75.   
  76.   def self.load_database
  77.     pre_load_basic_skills_id
  78.     load_basic_skills_id
  79.   end
  80.   
  81.   def self.load_basic_skills_id
  82.     [$data_actors,$data_weapons,$data_classes,$data_states].each do |db|
  83.       db.compact.each do |item|
  84.         item.load_theo_basic_skills
  85.       end
  86.     end
  87.   end
  88.   
  89. end

  90. class RPG::Actor < RPG::BaseItem
  91.   attr_accessor :attack_id
  92.   attr_accessor :guard_id
  93.   
  94.   def load_theo_basic_skills
  95.     @attack_id = THEO::BASIC::ATTACK
  96.     @guard_id = THEO::BASIC::GUARD
  97.     self.note.split(/[\r\n]+/).each do |line|
  98.       case line
  99.       when THEO::BASIC::REGEXP::ATTACK_ID
  100.         @attack_id = $1.to_i
  101.       when THEO::BASIC::REGEXP::GUARD_ID
  102.         @guard_id = $1.to_i
  103.       end
  104.     end
  105.   end
  106.   
  107. end

  108. class RPG::Class < RPG::BaseItem
  109.   attr_accessor :attack_id
  110.   attr_accessor :guard_id
  111.   
  112.   def load_theo_basic_skills
  113.     @attack_id = 0
  114.     @guard_id = 0
  115.     self.note.split(/[\r\n]+/).each do |line|
  116.       case line
  117.       when THEO::BASIC::REGEXP::ATTACK_ID
  118.         @attack_id = $1.to_i
  119.       when THEO::BASIC::REGEXP::GUARD_ID
  120.         @guard_id = $1.to_i
  121.       end
  122.     end
  123.   end
  124. end

  125. class RPG::Weapon < RPG::EquipItem
  126.   attr_accessor :attack_id
  127.   attr_accessor :guard_id
  128.   
  129.   def load_theo_basic_skills
  130.     @attack_id = 0
  131.     @guard_id = 0
  132.     self.note.split(/[\r\n]+/).each do |line|
  133.       case line
  134.       when THEO::BASIC::REGEXP::ATTACK_ID
  135.         @attack_id = $1.to_i
  136.       when THEO::BASIC::REGEXP::GUARD_ID
  137.         @guard_id = $1.to_i
  138.       end
  139.     end
  140.   end
  141.   
  142. end

  143. class RPG::State < RPG::BaseItem
  144.   attr_accessor :attack_id
  145.   attr_accessor :guard_id
  146.   
  147.   def load_theo_basic_skills
  148.     @attack_id = 0
  149.     @guard_id = 0
  150.     self.note.split(/[\r\n]+/).each do |line|
  151.       case line
  152.       when THEO::BASIC::REGEXP::ATTACK_ID
  153.         @attack_id = $1.to_i
  154.       when THEO::BASIC::REGEXP::GUARD_ID
  155.         @guard_id = $1.to_i
  156.       end
  157.     end
  158.   end
  159.   
  160. end

  161. class Game_Actor < Game_Battler
  162.   
  163.   def attack_skill_id
  164.     return sort_states.find {|state| $data_states[state].attack_id > 0} if
  165.       sort_states.any?{ |state| $data_states[state].attack_id > 0}
  166.     return weapons[0].attack_id if weapons[0] ? weapons[0].attack_id > 0 : false
  167.     return $data_classes[class_id].attack_id if $data_classes[class_id].attack_id > 0
  168.     return $data_actors[id].attack_id
  169.   end
  170.   
  171.   def guard_skill_id
  172.     return sort_states.find {|state| $data_states[state].guard_id > 0} if
  173.        sort_states.any? { |state| $data_states[state].guard_id > 0}
  174.     return $data_classes[class_id].guard_id if $data_classes[class_id].guard_id > 0
  175.     return $data_actors[id].guard_id
  176.   end
  177.   
  178. end
复制代码
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1412
在线时间
245 小时
注册时间
2019-1-18
帖子
190
 楼主| 发表于 2019-9-13 15:28:02 | 显示全部楼层
真の玛娜君 发表于 2019-9-13 12:12
普攻和防御都可以替换的脚本
话说技能释放对使用者附加状态sa不是有吗?你就不能把自己有脚本研究一下再来提 ...

赋予使用者状态我早就知道了。。。我主要问的是改变普攻。。。
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1412
在线时间
245 小时
注册时间
2019-1-18
帖子
190
 楼主| 发表于 2019-9-13 16:45:08 | 显示全部楼层
真の玛娜君 发表于 2019-9-13 12:12
普攻和防御都可以替换的脚本
话说技能释放对使用者附加状态sa不是有吗?你就不能把自己有脚本研究一下再来提 ...

为什么附加指定状态后攻击对敌人无效??
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1083
在线时间
140 小时
注册时间
2019-5-12
帖子
57
发表于 2019-9-13 22:17:43 | 显示全部楼层
造小梦 发表于 2019-9-13 16:45
为什么附加指定状态后攻击对敌人无效??

经新建工程测试有效,是你设置有问题或脚本冲突。
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1412
在线时间
245 小时
注册时间
2019-1-18
帖子
190
 楼主| 发表于 2019-9-14 14:32:49 | 显示全部楼层
真の玛娜君 发表于 2019-9-13 22:17
经新建工程测试有效,是你设置有问题或脚本冲突。

脚本冲突就很蛋疼了。。。我用的都是SA的脚本,顺便加了几个零零散散的小脚本
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-3-28 21:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表