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

Project1

 找回密码
 注册会员
搜索
查看: 3370|回复: 3
打印 上一主题 下一主题

[已经解决] [已解決]Instant Cast是什么東東?

[复制链接]
头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5706
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
跳转到指定楼层
1
发表于 2020-3-26 15:06:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2020-3-26 20:14:31 | 只看该作者
是“瞬发”的意思,技能会立即释放,无需等待施法时间,但具体指代什么没看视频就不知道了……
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
14790
在线时间
2106 小时
注册时间
2017-9-28
帖子
662
3
发表于 2020-3-26 21:35:41 | 只看该作者
善用搜索,论坛里所有主流的外站脚本都有全汉化

  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - 即时使用 v1.03
  4. # -- 最后更新: 2012.07.17
  5. # -- 使用难度: 普通
  6. # -- 需要脚本: 无
  7. #
  8. #==============================================================================

  9. $imported = {} if $imported.nil?
  10. $imported["YEA-InstantCast"] = true

  11. #==============================================================================
  12. # ▼  Updates
  13. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  14. # 2012.07.17 - Instant doesn't take up a turn if a characterh as additional
  15. #              actions/can attack twice.
  16. # 2012.01.12 - Anti-crash methods implemented.
  17. # 2011.12.26 - Bug Fixed: If actor gets stunned while doing an instant cast,
  18. #              the actor will not be reselected.
  19. # 2011.12.21 - Started Script and Finished.
  20. #
  21. #==============================================================================
  22. # ▼  介绍
  23. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  24. # 即时使用技能/物品的效果为:角色可以立即使用该技能/武器,并且不会消耗本回合的
  25. # 行动次数。只要该角色有足够的释放条件(例如mp、tp)就可以无限使用.
  26. # 即时使用功能重回RPG Maker VX Ace.以下为即时使用的一些改动:
  27. #
  28. # 1) 对于多行动数的角色,例如连续技,只有在第一个动作是即时使用时才会成功使用即
  29. #    时使用效果.就算第二个或之后的行动为即时使用,该技能也不会触发即时使用效果.
  30. #
  31. # 2) 任何即时使用的技能/物品都会自动瞬时触发,包括即时使用技能中的连锁技能.
  32. #
  33. # 3) 如果敌人使用了一个即时使用的技能,其在使用后会额为获得一次行动机会.
  34. #
  35. #==============================================================================
  36. # ▼ 安装方式
  37. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  38. # 打开脚本编辑器,将本脚本拷贝/复制到一个在▼ 插件脚本之下▼ Main之上的新
  39. # 脚本页/槽中.记得保存你的工程以使脚本生效.
  40. #
  41. # -----------------------------------------------------------------------------
  42. # 技能备注 - 在数据库-技能中可以使用的备注.
  43. # -----------------------------------------------------------------------------
  44. # <即时使用>
  45. # 使该技能变成即时使用技能.使用后在战斗阶段开始前会立即使用该技能.
  46. #
  47. # -----------------------------------------------------------------------------
  48. # 物品备注 - 在数据库-物品中可以使用的备注.
  49. # -----------------------------------------------------------------------------
  50. # <即时使用>
  51. # 使该物品变成即时使用物品.使用后在战斗阶段开始前会立即使用该技能.
  52. #
  53. #==============================================================================
  54. # ▼ 兼容性
  55. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  56. # 本脚本仅为RPG Maker VX Ace编写.极不可能在无任何修改的情况下运行于RPG Maker VX.
  57. #
  58. # 本脚本和 Yanfly Engine Ace - 战斗系统 v1.00+ 互相兼容.
  59. # 请将本脚本放在其之下.
  60. #
  61. #==============================================================================
  62. # ▼ 编辑以下内容可能会出现电脑损坏、死机,电脑主人脑袋爆炸、昏迷、死亡或口臭
  63. # 所以编辑了后果自负。
  64. #==============================================================================

  65. module YEA
  66.   module REGEXP
  67.   module USABLEITEM
  68.    
  69.     INSTANT = /<(?:INSTANT|即时使用)>/i
  70.    
  71.   end # USABLEITEM
  72.   end # REGEXP
  73. end # YEA

  74. #==============================================================================
  75. # ¡ DataManager
  76. #==============================================================================

  77. module DataManager
  78.   
  79.   #--------------------------------------------------------------------------
  80.   # alias method: load_database
  81.   #--------------------------------------------------------------------------
  82.   class <<self; alias load_database_instant load_database; end
  83.   def self.load_database
  84.     load_database_instant
  85.     load_notetags_instant
  86.   end
  87.   
  88.   #--------------------------------------------------------------------------
  89.   # new method: load_notetags_instant
  90.   #--------------------------------------------------------------------------
  91.   def self.load_notetags_instant
  92.     groups = [$data_skills, $data_items]
  93.     for group in groups
  94.       for obj in group
  95.         next if obj.nil?
  96.         obj.load_notetags_instant
  97.       end
  98.     end
  99.   end
  100.   
  101. end # DataManager

  102. #==============================================================================
  103. # ¡ RPG::UsableItem
  104. #==============================================================================

  105. class RPG::UsableItem < RPG::BaseItem
  106.   
  107.   #--------------------------------------------------------------------------
  108.   # public instance variables
  109.   #--------------------------------------------------------------------------
  110.   attr_accessor :instant
  111.   
  112.   #--------------------------------------------------------------------------
  113.   # common cache: load_notetags_instant
  114.   #--------------------------------------------------------------------------
  115.   def load_notetags_instant
  116.     @instant = false
  117.     #---
  118.     self.note.split(/[\r\n]+/).each { |line|
  119.       case line
  120.       #---
  121.       when YEA::REGEXP::USABLEITEM::INSTANT
  122.         @instant = true
  123.       #---
  124.       end
  125.     } # self.note.split
  126.     #---
  127.   end
  128.   
  129. end # RPG::UsableItem

  130. #==============================================================================
  131. # ¡ Game_Actor
  132. #==============================================================================

  133. class Game_Actor < Game_Battler
  134.   
  135.   #--------------------------------------------------------------------------
  136.   # new method: check_instant_action
  137.   #--------------------------------------------------------------------------
  138.   def check_instant_action
  139.     @backup_actions_instant = []
  140.     @actions.each { |action|
  141.       next unless action
  142.       if action.item.nil?
  143.         @backup_actions_instant.push(action.dup)
  144.         next
  145.       end
  146.       unless action.item.instant
  147.         @backup_actions_instant.push(action.dup)
  148.         action.clear
  149.       end
  150.     }
  151.   end
  152.   
  153.   #--------------------------------------------------------------------------
  154.   # new method: restore_instant_action
  155.   #--------------------------------------------------------------------------
  156.   def restore_instant_action
  157.     @backup_actions_instant.each_index { |i|
  158.       @actions[i] = @backup_actions_instant[i]
  159.     }
  160.     @backup_actions_instant.clear
  161.     i = 0
  162.     @actions.each { |action| if action.item.nil?; break; end; i += 1 }
  163.     @action_input_index = i
  164.   end
  165.   
  166. end # Game_Actor

  167. #==============================================================================
  168. # ¡ Game_Enemy
  169. #==============================================================================

  170. class Game_Enemy < Game_Battler
  171.   
  172.   #--------------------------------------------------------------------------
  173.   # new method: add_extra_action
  174.   #--------------------------------------------------------------------------
  175.   def add_extra_action
  176.     action_list = enemy.actions.select {|a| action_valid?(a) }
  177.     return if action_list.empty?
  178.     rating_max = action_list.collect {|a| a.rating }.max
  179.     rating_zero = rating_max - 3
  180.     action_list.reject! {|a| a.rating <= rating_zero }
  181.     action = Game_Action.new(self)
  182.     action.set_enemy_action(select_enemy_action(action_list, rating_zero))
  183.     @actions.push(action)
  184.   end
  185.   
  186. end # Game_Enemy

  187. #==============================================================================
  188. # ¡ Scene_Battle
  189. #==============================================================================

  190. class Scene_Battle < Scene_Base
  191.   
  192.   #--------------------------------------------------------------------------
  193.   # alias method: next_command
  194.   #--------------------------------------------------------------------------
  195.   alias scene_battle_next_command_instant next_command
  196.   def next_command
  197.     if instant_action?
  198.       perform_instant_action
  199.     else
  200.       scene_battle_next_command_instant
  201.     end
  202.   end
  203.   
  204.   #--------------------------------------------------------------------------
  205.   # new method: instant_action?
  206.   #--------------------------------------------------------------------------
  207.   def instant_action?
  208.     return false if BattleManager.actor.nil?
  209.     return false if BattleManager.actor.input.nil?
  210.     action = BattleManager.actor.input.item
  211.     return false if action.nil?
  212.     return action.instant
  213.   end
  214.   
  215.   #--------------------------------------------------------------------------
  216.   # new method: perform_instant_action
  217.   #--------------------------------------------------------------------------
  218.   def perform_instant_action
  219.     hide_instant_action_windows
  220.     @subject = BattleManager.actor
  221.     @subject.check_instant_action
  222.     execute_action if @subject.current_action.valid?
  223.     process_event
  224.     loop do
  225.       @subject.remove_current_action
  226.       break if $game_troop.all_dead?
  227.       break unless @subject.current_action
  228.       @subject.current_action.prepare
  229.       execute_action if @subject.current_action.valid?
  230.     end
  231.     process_action_end
  232.     @subject.make_actions
  233.     @subject.restore_instant_action
  234.     @subject = nil
  235.     show_instant_action_windows
  236.   end
  237.   
  238.   #--------------------------------------------------------------------------
  239.   # new method: hide_instant_action_windows
  240.   #--------------------------------------------------------------------------
  241.   def hide_instant_action_windows
  242.     if $imported["YEA-BattleEngine"]
  243.       @info_viewport.visible = true
  244.       @status_aid_window.hide
  245.       @status_window.show
  246.       @actor_command_window.show
  247.     end
  248.   end
  249.   
  250.   #--------------------------------------------------------------------------
  251.   # new method: show_instant_action_windows
  252.   #--------------------------------------------------------------------------
  253.   def show_instant_action_windows
  254.     if $imported["YEA-BattleEngine"]
  255.       @info_viewport.visible = true
  256.     end
  257.     start_actor_command_selection
  258.     status_redraw_target(BattleManager.actor)
  259.     next_command unless BattleManager.actor.inputable?
  260.   end
  261.   
  262.   #--------------------------------------------------------------------------
  263.   # new method: status_redraw_target
  264.   #--------------------------------------------------------------------------
  265.   def status_redraw_target(target)
  266.     return unless target.actor?
  267.     @status_window.draw_item($game_party.battle_members.index(target))
  268.   end
  269.   
  270.   #--------------------------------------------------------------------------
  271.   # alias method: execute_action
  272.   #--------------------------------------------------------------------------
  273.   alias scene_battle_execute_action_instant execute_action
  274.   def execute_action
  275.     scene_battle_execute_action_instant
  276.     enemy_add_actions
  277.   end
  278.   
  279.   #--------------------------------------------------------------------------
  280.   # new method: enemy_add_actions
  281.   #--------------------------------------------------------------------------
  282.   def enemy_add_actions
  283.     return if @subject.actor?
  284.     return if @subject.current_action.nil?
  285.     return if @subject.current_action.item.nil?
  286.     return unless @subject.current_action.item.instant
  287.     @subject.add_extra_action
  288.   end
  289.   
  290. end # Scene_Battle

  291. #==============================================================================
  292. #
  293. # ▼  End of File
  294. #
  295. #==============================================================================
复制代码
VA外站脚本汉化群:226308173   |    部分远古文件备份:https://wwzv.lanzoue.com/b02rac5pc  密码:acgm
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5706
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
4
 楼主| 发表于 2020-3-26 22:42:25 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 12:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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