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

Project1

 找回密码
 注册会员
搜索
楼主: 趙雲
打印 上一主题 下一主题

VX问题收集,要问的上这来。

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-4-27
帖子
9
281
发表于 2008-4-28 03:37:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
283
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

282
发表于 2008-4-28 03:41:03 | 只看该作者
脚本 Game_Actor 第525行 插入
@hp = maxhp
@mp = maxmp

即可。

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-4-27
帖子
9
283
发表于 2008-4-28 03:53:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
283
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

284
发表于 2008-4-28 04:14:11 | 只看该作者
横版战斗脚本:
  1. #==============================================================================
  2. # ■ VX-RGSS2 简易横版战斗系统[Ver.1.0.1]       by Claimh
  3. #------------------------------------------------------------------------------
  4. module Battle_Formation
  5. #------------------------------------------------------------------------------
  6.   FORM = {
  7.     #    [角色1x.y]  [角色2x.y]  [角色3x.y]  [角色4x.y]
  8.     0 => [[380,150], [400, 230], [460, 170], [480, 250]]
  9.   }
  10. #------------------------------------------------------------------------------
  11. end

  12. module SideView
  13. #----------------------------------------------------------------------------
  14.   #-----[操作设定]-----
  15.   # 操作速度
  16.   MOTION_SPEED = 15

  17.   #-----[动画设置]-----
  18.   # 通常敌人攻击动画设定。
  19.   E_ANIME = {
  20.     1 => [1, 0]
  21.   }

  22. #----------------------------------------------------------------------------
  23. #----------------------------------------------------------------------------
  24.   # 行动控制方式
  25.   M_MODE_WAIT = 0     # 等待
  26.   M_MODE_MAGI = 1     # 攻击
  27.   M_MODE_DAMG = 2     # 无伤害攻击 #
  28.   M_MODE_WIN  = 3     # 胜利
  29.   M_MODE_ATK1 = 4     # 指挥攻击(接近)
  30.   M_MODE_ATK2 = 5     # 指挥攻击(攻击)
  31.   M_MODE_ATK3 = 6     # 指挥攻击(返回)

  32.   module_function
  33.   #--------------------------------------------------------------------------
  34.   # ● 运动区域演算
  35.   #--------------------------------------------------------------------------
  36.   def set_target_point(attacker, target)
  37.     case target
  38.     when Game_Actor
  39.       bits = Cache.character(target.character_name)
  40.       attacker.target_x = target.screen_x + (bits.width / 8)
  41.       attacker.target_y = target.screen_y
  42.     when Game_Enemy
  43.       bits = Cache.battler(target.battler_name, target.battler_hue)
  44.       attacker.target_x = target.screen_x + (bits.width / 2)
  45.       attacker.target_y = target.screen_y
  46.     end
  47.   end
  48. end
  49. #==============================================================================
  50. # ■ Game_System
  51. #==============================================================================
  52. class Game_System
  53.   attr_accessor :battle_formation                # Formation ID
  54.   #--------------------------------------------------------------------------
  55.   # ● 对象初始化
  56.   #--------------------------------------------------------------------------
  57.   alias init_game_system initialize
  58.   def initialize
  59.     init_game_system
  60.     @battle_formation = 0              # Initial formation
  61.   end
  62. end

  63. #==============================================================================
  64. # ■ Game_Actor
  65. #==============================================================================
  66. class Game_Actor < Game_Battler
  67.   #--------------------------------------------------------------------------
  68.   # ● Are sprites used? [Redefinition]
  69.   #--------------------------------------------------------------------------
  70.   def use_sprite?
  71.     return true
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 读取 X 坐标
  75.   #--------------------------------------------------------------------------
  76.   def screen_x
  77.     return Battle_Formation::FORM[$game_system.battle_formation][self.index][0]
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 读取 Y 坐标
  81.   #--------------------------------------------------------------------------
  82.   def screen_y
  83.     return Battle_Formation::FORM[$game_system.battle_formation][self.index][1]
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # ● 读取 Z 坐标
  87.   #--------------------------------------------------------------------------
  88.   def screen_z
  89.     bitmap = Cache.character(self.character_name)
  90.     return screen_y + bitmap.height / 4
  91.   end
  92. end



  93. #==============================================================================
  94. # ■ Game_Enemy
  95. #==============================================================================
  96. class Game_Enemy < Game_Battler
  97.   #--------------------------------------------------------------------------
  98.   # ● 再定义敌人 Z 坐标
  99.   #--------------------------------------------------------------------------
  100.   def screen_z
  101.     bitmap = Cache.battler(self.battler_name, self.battler_hue)
  102.     return screen_y + bitmap.height
  103.   end
  104. end

  105. #==============================================================================
  106. # ■ VX-RGSS2 简易横版战斗系统[Ver.1.0.1]       by Claimh
  107. #------------------------------------------------------------------------------
  108. # ■ Scene_Battle
  109. #==============================================================================
  110. class Scene_Battle < Scene_Base
  111.   #--------------------------------------------------------------------------
  112.   # ●  人物战斗开始
  113.   #--------------------------------------------------------------------------
  114.   alias process_battle_start_sideview process_battle_start
  115.   def process_battle_start
  116.     for battler in ($game_party.members + $game_troop.members)
  117.       battler.move_mode = SideView::M_MODE_WAIT
  118.     end
  119.     process_battle_start_sideview
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 胜利
  123.   #--------------------------------------------------------------------------
  124.   alias process_victory_sideview process_victory
  125.   def process_victory
  126.     for actor in $game_party.members
  127.       actor.move_mode = SideView::M_MODE_WIN
  128.     end
  129.     process_victory_sideview
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 等待,直到运动控制完成
  133.   #--------------------------------------------------------------------------
  134.   def wait_for_motion
  135.     while @active_battler.motion_stop
  136.       update_basic
  137.     end
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 执行战斗行动: 攻击[重定义]
  141.   #--------------------------------------------------------------------------
  142.   def execute_action_attack
  143.     text = sprintf(Vocab::DoAttack, @active_battler.name)
  144.     @message_window.add_instant_text(text)
  145.     targets = @active_battler.action.make_targets
  146.     #---产生的敌对攻击声音。
  147.     if @active_battler.is_a?(Game_Enemy)
  148.       Sound.play_enemy_attack
  149.       wait(15, true)
  150.     end
  151.     #--- Proximity (Going)
  152.     SideView.set_target_point(@active_battler, targets[0])
  153.     @active_battler.move_mode = SideView::M_MODE_ATK1
  154.     @active_battler.motion_stop = true
  155.     wait_for_motion
  156.     #--- 攻击
  157.     wait(5)
  158.     @active_battler.move_mode = SideView::M_MODE_ATK2
  159.     #---
  160.     display_attack_animation(targets)
  161.     wait(20)
  162.     for target in targets
  163.       target.attack_effect(@active_battler)
  164.       display_action_effects(target)
  165.     end
  166.     #--- Proximity (Return)
  167.     @active_battler.move_mode = SideView::M_MODE_ATK3
  168.     @active_battler.motion_stop = true
  169.     wait_for_motion
  170.     #---Wait
  171.     for target in targets
  172.       target.move_mode = SideView::M_MODE_WAIT
  173.     end
  174.     @active_battler.move_mode = SideView::M_MODE_WAIT
  175.     #---
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● 执行战斗行动: 技能 [Redefinition]
  179.   #--------------------------------------------------------------------------
  180.   def execute_action_skill
  181.     skill = @active_battler.action.skill
  182.     text = @active_battler.name + skill.message1
  183.     @message_window.add_instant_text(text)
  184.     unless skill.message2.empty?
  185.       wait(10)
  186.       @message_window.add_instant_text(skill.message2)
  187.     end
  188.     #--- Enemy attack sound reproduced.
  189.     if @active_battler.is_a?(Game_Enemy)
  190.       Sound.play_enemy_attack
  191.       wait(15, true)
  192.     end
  193.     #--- Long distance attack.
  194.     @active_battler.move_mode = SideView::M_MODE_MAGI
  195.     #---
  196.     targets = @active_battler.action.make_targets
  197.     display_animation(targets, skill.animation_id)
  198.     @active_battler.mp -= @active_battler.calc_mp_cost(skill)
  199.     $game_temp.common_event_id = skill.common_event_id
  200.     for target in targets
  201.       target.skill_effect(@active_battler, skill)
  202.       display_action_effects(target, skill)
  203.     end
  204.     #---Wait
  205.     for target in targets
  206.       target.move_mode = SideView::M_MODE_WAIT
  207.     end
  208.     @active_battler.move_mode = SideView::M_MODE_WAIT
  209.     #---
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # Execute Combat Operations: Item [Redefinition]
  213.   #--------------------------------------------------------------------------
  214.   def execute_action_item
  215.     item = @active_battler.action.item
  216.     text = sprintf(Vocab::UseItem, @active_battler.name, item.name)
  217.     @message_window.add_instant_text(text)
  218.     #--- Enemy attack sound reproduced.
  219.     if @active_battler.is_a?(Game_Enemy)
  220.       Sound.play_enemy_attack
  221.       wait(15, true)
  222.     end
  223.     #--- Long distance attack
  224.     @active_battler.move_mode = SideView::M_MODE_MAGI
  225.     #---
  226.     targets = @active_battler.action.make_targets
  227.     display_animation(targets, item.animation_id)
  228.     $game_party.consume_item(item)
  229.     $game_temp.common_event_id = item.common_event_id
  230.     for target in targets
  231.       target.item_effect(@active_battler, item)
  232.       display_action_effects(target, item)
  233.     end
  234.     #---Wait
  235.     for target in targets
  236.       target.move_mode = SideView::M_MODE_WAIT
  237.     end
  238.     @active_battler.move_mode = SideView::M_MODE_WAIT
  239.     #---
  240.   end
  241.   #--------------------------------------------------------------------------
  242.   # ● 攻击动画显示 [重载]
  243.   #     Targets : 对象的安排
  244.   #--------------------------------------------------------------------------
  245.   # 【被改变的部分】
  246.   #  改变敌对音响效果,因此可以用于每个阶段操作。
  247.   #  它改变,以便敌人的攻击动画可以被显示。
  248.   #--------------------------------------------------------------------------
  249.   def display_attack_animation(targets)
  250.     display_normal_animation(targets, @active_battler.atk_animation_id, false)
  251.     display_normal_animation(targets, @active_battler.atk_animation_id2, true)
  252.     wait_for_animation
  253.   end
  254.   #--------------------------------------------------------------------------
  255.   # ● HP Damage display [Redefinition]
  256.   #    Target : Candidate
  257.   #    object : Skill or item
  258.   #--------------------------------------------------------------------------
  259.   def display_hp_damage(target, obj = nil)
  260.     if target.hp_damage == 0                # No damage
  261.       return if obj != nil and obj.damage_to_mp
  262.       return if obj != nil and obj.base_damage == 0
  263.       fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
  264.       text = sprintf(fmt, target.name)
  265.     elsif target.absorbed                   # Absorption
  266.       fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
  267.       text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
  268.     elsif target.hp_damage > 0              # Damage
  269.       if target.actor?
  270.         text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage)
  271.         Sound.play_actor_damage
  272.         $game_troop.screen.start_shake(5, 5, 10)
  273.         target.blink = true # Only adds here
  274.       else
  275.         text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
  276.         Sound.play_enemy_damage
  277.         target.blink = true
  278.       end
  279.     else                                    # Recovery
  280.       fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
  281.       text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
  282.       Sound.play_recovery
  283.     end
  284.     @message_window.add_instant_text(text)
  285.     wait(30)
  286.   end
  287. end
  288. #==============================================================================
  289. # ■ VX-RGSS2 简易横版战斗系统[Ver.1.0.1]       by Claimh
  290. #==============================================================================
  291. class Game_Battler
  292.   attr_accessor   :move_mode       # 操作方式
  293.   # 0:Standby   1:Attack   2: Un-useless   3:Victory
  294.   attr_accessor   :motion_stop     # 操作中止标志(在运动标志之后)
  295.   attr_accessor   :target_x        # 移动位置(x)
  296.   attr_accessor   :target_y        # 移动位置(y)
  297.   #--------------------------------------------------------------------------
  298.   # ● Object对象  初始化
  299.   #--------------------------------------------------------------------------
  300.   alias initialize_sdva_corpse initialize
  301.   def initialize
  302.     initialize_sdva_corpse
  303.     @move_mode = 0
  304.     @motion_stop = false
  305.     @target_x = 0
  306.     @target_y = 0
  307.   end
  308. end

  309. #==============================================================================
  310. # ■ Game_Enemy
  311. #==============================================================================
  312. class Game_Enemy < Game_Battler
  313.   #--------------------------------------------------------------------------
  314.   # ● 攻击动画ID继承
  315.   #--------------------------------------------------------------------------
  316.   def atk_animation_id
  317.     return 0 if SideView::E_ANIME[@enemy_id].nil?
  318.     return SideView::E_ANIME[@enemy_id][0]
  319.   end
  320.   #--------------------------------------------------------------------------
  321.   # ● 攻击动画ID承购(2把剑样式: 2个武器)
  322.   #--------------------------------------------------------------------------
  323.   def atk_animation_id2
  324.     return 0 if SideView::E_ANIME[@enemy_id].nil?
  325.     return SideView::E_ANIME[@enemy_id][1]
  326.   end
  327. end



  328. #==============================================================================
  329. # ■ Sprite_Battler
  330. #==============================================================================
  331. class Sprite_Battler < Sprite_Base
  332.   #--------------------------------------------------------------------------
  333.   # ● Object对象  初始化
  334.   #     Viewport : 视区
  335.   #     Battler  : 敌人战斗图 (Game_Battler)
  336.   #--------------------------------------------------------------------------
  337.   alias initialize_sideview initialize
  338.   def initialize(viewport, battler = nil)
  339.     initialize_sideview(viewport, battler)
  340.     init_direct_attack
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● 设置攻击的接近度价值
  344.   #--------------------------------------------------------------------------
  345.   def init_direct_attack
  346.     @direct_attack_cnt = 0
  347.     @direct_attack_phase = 0
  348.     @direct_move_cnt = 0
  349.     @battler_x_plus = 0
  350.     @battler_y_plus = 0
  351.     @moving_mode = 0
  352.     @pattern = 0
  353.     @direction = 0
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ● 框架更新 [重定义]
  357.   #--------------------------------------------------------------------------
  358.   def update
  359.     super
  360.     if @battler == nil
  361.       self.bitmap = nil
  362.     else
  363.       @use_sprite = @battler.use_sprite?
  364.       if @use_sprite
  365.         self.x = @battler.screen_x + @battler_x_plus
  366.         self.y = @battler.screen_y + @battler_y_plus
  367.         self.z = @battler.screen_z
  368.         update_battler_bitmap
  369.       end
  370.       setup_new_effect
  371.       update_effect
  372.     end
  373.   end
  374.   #--------------------------------------------------------------------------
  375.   # ● 数位映象的调动来源更新
  376.   #--------------------------------------------------------------------------
  377.   alias update_battler_bitmap_sideview update_battler_bitmap
  378.   def update_battler_bitmap
  379.     case @battler
  380.     when Game_Actor
  381.       if @battler.character_name != @battler_name or @battler.character_index != @battler_hue
  382.         @battler_name = @battler.character_name
  383.         @battler_hue = @battler.character_index
  384.         draw_pre_character
  385.         draw_character
  386.         if (@battler.dead? or @battler.hidden)
  387.           self.opacity = 0
  388.         end
  389.       end
  390.     when Game_Enemy
  391.       if @battler.battler_name != @battler_name or
  392.          @battler.battler_hue != @battler_hue
  393.         @battler_name = @battler.battler_name
  394.         @battler_hue = @battler.battler_hue
  395.         draw_battler
  396.         if (@battler.dead? or @battler.hidden)
  397.           self.opacity = 0
  398.         end
  399.       end
  400.     end
  401.     motion_control
  402.   end
  403.   #--------------------------------------------------------------------------
  404.   # ● Battler Drawing
  405.   #--------------------------------------------------------------------------
  406.   def draw_battler
  407.     self.bitmap = Cache.battler(@battler_name, @battler_hue)
  408.     @width = bitmap.width
  409.     @height = bitmap.height
  410.     self.ox = @width / 2
  411.     self.oy = @height
  412.   end
  413.   #--------------------------------------------------------------------------
  414.   # ● 行走图描绘 [Common]
  415.   #--------------------------------------------------------------------------
  416.   def draw_pre_character
  417.     self.bitmap = Cache.character(@battler_name)
  418.     sign = @battler_name[/^[\!\$]./]
  419.     if sign != nil and sign.include?('$')
  420.       @width = bitmap.width / 3
  421.       @height = bitmap.height / 4
  422.     else
  423.       @width = bitmap.width / 12
  424.       @height = bitmap.height / 8
  425.     end
  426.     self.ox = @width / 2
  427.     self.oy = @height
  428.   end
  429.   #--------------------------------------------------------------------------
  430.   # ● Character Drawing [Common]
  431.   #--------------------------------------------------------------------------
  432.   def draw_character
  433.     index = @battler_hue
  434.     pattern = @pattern < 3 ? @pattern : 1
  435.     sx = (index % 4 * 3 + pattern) * @width
  436.     sy = (index / 4 * 4 + (@direction - 2) / 2) * @height
  437.     self.src_rect.set(sx, sy, @width, @height)
  438.   end
  439.   #--------------------------------------------------------------------------
  440.   # ● 运动控制
  441.   #--------------------------------------------------------------------------
  442.   def motion_control
  443.     # 存储操作方式
  444.     @moving_mode = @battler.move_mode
  445.     # 战斗描绘
  446.     case @battler
  447.     when Game_Actor # Actor
  448.       actor_motion_control
  449.     when Game_Enemy # Enemy
  450.       enemy_motion_control
  451.     end
  452.   end
  453.   #--------------------------------------------------------------------------
  454.   # ● 运动控制  (角色)
  455.   #--------------------------------------------------------------------------
  456.   def actor_motion_control
  457.     # Operation Change
  458.     case @moving_mode
  459.     when SideView::M_MODE_WAIT  # Standby
  460.       init_direct_attack
  461.       @battler_x_plus = 0
  462.       @direction = 4
  463.       @pattern = 1
  464.     when SideView::M_MODE_MAGI  # Attack
  465.       @battler_x_plus = -10
  466.       @direction = 4
  467.       @pattern = 3
  468.     when SideView::M_MODE_DAMG  # Non-Damage Attack
  469.       @battler_x_plus = 10
  470.       @direction = 4
  471.       @pattern = 3
  472.     when SideView::M_MODE_WIN  # Victory
  473.       @direction = 3
  474.       @pattern = 1
  475.     when SideView::M_MODE_ATK1  # Direct Attack (Approaching)
  476.       exe_moving_attack_start
  477.       @end_pos_x = @battler_x_plus
  478.     when SideView::M_MODE_ATK2  # Direct Attack (Attacking)
  479.       @battler_x_plus = @end_pos_x - 10
  480.       skill.animation_id = 2
  481.     when SideView::M_MODE_ATK3  # Direct Attack (Returning)
  482.       exe_moving_attack_end
  483.     else
  484.       p "error:Sprite_Battler>> @moving_mode"
  485.     end
  486.     draw_character
  487.   end
  488.   #--------------------------------------------------------------------------
  489.   # ● 运动控制  (敌人)
  490.   #--------------------------------------------------------------------------
  491.   def enemy_motion_control
  492.     # Operation Change
  493.     case @moving_mode
  494.     when SideView::M_MODE_WAIT  # Standby
  495.       init_direct_attack
  496.     when SideView::M_MODE_MAGI  # Attack
  497.       @battler_x_plus = 10
  498.     when SideView::M_MODE_DAMG  # Non-Damage Attack
  499.       @battler_x_plus = -10
  500.       @shake_flg = true
  501.     when SideView::M_MODE_ATK1  # Direct Attack (Approaching)
  502.       exe_moving_attack_start
  503.       @end_pos_x = @battler_x_plus
  504.     when SideView::M_MODE_ATK2  # Direct Attack (Attacking)
  505.       @battler_x_plus = @end_pos_x + 10
  506.     when SideView::M_MODE_ATK3  # Direct Attack (Returning)
  507.       exe_moving_attack_end
  508.     else
  509.       p "error:Sprite_Battler>> @moving_mode", @moving_mode
  510.     end
  511.   end
  512.   #--------------------------------------------------------------------------
  513.   # ● 接近攻击施行方法
  514.   #--------------------------------------------------------------------------
  515.   def exe_moving_attack_start
  516.     return unless @battler.motion_stop
  517.      case @direct_attack_phase
  518.     when 0  # 开始准备操作
  519.       diratk_start
  520.     when 1  # Move Operation (Going)
  521.       diratk_move
  522.     when 2  # After-Movement Wait
  523.       diratk_wait
  524.     end
  525.   end
  526.   def exe_moving_attack_end
  527.     case @direct_attack_phase
  528.     when 0  # Attack Operation
  529.       diratk_attack
  530.     when 1  # Move Operation (Return)
  531.       diratk_back
  532.     when 2  # Operation End
  533.       diratk_end
  534.     end
  535.   end
  536.   #--------------------------------------------------------------------------
  537.   # ● 接近度攻击施行[起动操作准备]
  538.   #--------------------------------------------------------------------------
  539.   def diratk_start
  540.     # 姿势变动
  541.     @pattern = 1
  542.     # 需要的框架的数量是当前位置和靶位之间的距离。
  543.     pos_x = @battler.target_x - self.x
  544.     pos_y = @battler.target_y - self.y
  545.     # Caculation for ammount of frames needed.
  546.     @direct_move_cnt = @direct_attack_cnt = (pos_x.abs / SideView::MOTION_SPEED).round
  547.     # NEXT Phase
  548.     @direct_attack_phase += 1
  549.   end
  550.   #--------------------------------------------------------------------------
  551.   # ● Proximity Attack Execution [Move Operation (Going)]
  552.   #--------------------------------------------------------------------------
  553.   def diratk_move
  554.     case @battler
  555.     when Game_Actor
  556.       x_plus = @width
  557.       y_plus = -@height / 4
  558.     when Game_Enemy
  559.       x_plus = -@width - 10
  560.       y_plus = @height / 4
  561.     end
  562.     # The next movement location is figured out by the distance between
  563.     # current position and target position.
  564.     pos_x = @battler.target_x - self.x + x_plus
  565.     pos_y = @battler.target_y - self.y + y_plus
  566.     @battler_x_plus += pos_x / @direct_attack_cnt if @direct_attack_cnt != 0
  567.     @battler_y_plus += pos_y / @direct_attack_cnt if @direct_attack_cnt != 0
  568.     # End count
  569.     @direct_attack_cnt -= 1
  570.     # Last movement (Insurance: Last correction)
  571.     if @direct_attack_cnt <= 0
  572.       @battler_x_plus = @battler.target_x - @battler.screen_x + x_plus
  573.       @battler_y_plus = @battler.target_y - @battler.screen_y + y_plus
  574.       # NEXTフェーズ
  575.       @direct_attack_cnt = 5
  576.       @direct_attack_phase += 1
  577.     end
  578.   end
  579.   #--------------------------------------------------------------------------
  580.   # ● Proximity Attack Execution [Attack Operation Return]
  581.   #--------------------------------------------------------------------------
  582.   def diratk_wait
  583.     # End Count
  584.     @direct_attack_cnt -= 1
  585.     # Last Movement
  586.     if @direct_attack_cnt <= 0
  587.       # Pose Change
  588.       @pattern = 3
  589.       # END Phase
  590.       @direct_attack_phase = 0
  591.       @battler.motion_stop = false
  592.     end
  593.   end
  594.   #--------------------------------------------------------------------------
  595.   # ● Proximity Attack Execution [Attack Operation Return]
  596.   #--------------------------------------------------------------------------
  597.   def diratk_attack
  598.     # Pose Change
  599.     @pattern = 1
  600.     # End Wait Count
  601.     @direct_attack_cnt = @direct_move_cnt
  602.     # NEXT Phase
  603.     @direct_attack_phase += 1
  604.   end
  605.   #--------------------------------------------------------------------------
  606.   # ● Proximity Attack Execution [Move Operation (Return)]
  607.   #--------------------------------------------------------------------------
  608.   def diratk_back
  609.     # The next movement location is figured out by the distance between
  610.     # current position and target position.
  611.     pos_x = @battler.screen_x - self.x
  612.     pos_y = @battler.screen_y - self.y
  613.     @battler_x_plus += pos_x / @direct_attack_cnt if @direct_attack_cnt != 0
  614.     @battler_y_plus += pos_y / @direct_attack_cnt if @direct_attack_cnt != 0
  615.     # End Count
  616.     @direct_attack_cnt -= 1
  617.     # Last Movement
  618.     if @direct_attack_cnt == 0
  619.       @battler_x_plus = 0
  620.       @battler_y_plus = 0
  621.       # NEXT Phase
  622.       @direct_attack_phase += 1
  623.     end
  624.   end
  625.   #--------------------------------------------------------------------------
  626.   # ● Proximity attack execution [Operation End]
  627.   #--------------------------------------------------------------------------
  628.   def diratk_end
  629.     init_direct_attack
  630.     @battler.motion_stop = false
  631.     # END Phase
  632.     @direct_attack_phase = 0
  633.   end
  634. end
复制代码

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
20
在线时间
0 小时
注册时间
2008-4-16
帖子
2
285
发表于 2008-4-28 04:15:23 | 只看该作者
谁有VX1.02的激活码,跪求啊!!!满意的话我把你当上帝呀~~~~~{/dk}{/dk}{/dk}{/ll}{/ll}
版主对此帖的评论:『问过N次的问题,还在至顶帖问』,积分『-10』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
你要问“写轮眼”是什么, 我可以告诉你:只要你在心中 默念:“槁隆薄砑躏艋艏褰妚嗻峩菛叻槁隆薄砑躏艋艏褰妚嗻峩槁隆薄砑躏艋艏躏艋艏褰妚” 1000000000000000遍无一个错字 立马练成永恒无敌万花筒写轮眼!!!
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
283
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

286
发表于 2008-4-28 04:16:29 | 只看该作者
请使用算号器:
http://rpg.blue/upload_program/files/rmVXkegen_87821509.rar


这个是激活流程:
http://rpg.blue/viewthread.php?tid=84000&ntime=2008%2D4%2D27+20%3A16%3A38
版主对此帖的认可:『主动回答问题』,积分『+120』。

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

287
发表于 2008-4-28 06:10:16 | 只看该作者
以下引用都督竹于2008-4-27 15:31:58的发言:
[quote]如何把 从头游戏 读取游戏 和 离开游戏 初始化的选项改掉?

改TITLE脚本中的紫色字体```[/quote]
错误回答
那是RMXP的解决方法
RMVX在數據庫的用語頁簽裡面修改
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-4-27
帖子
9
288
发表于 2008-4-28 08:19:14 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

289
发表于 2008-4-28 09:18:12 | 只看该作者
以下引用朔少于2008-4-28 0:19:14的发言:
有加点系统后 角色还是会随着升级自动增加属性 怎样才能让它不会自动增加 让属性只靠加点来提升?

请注意看该脚本的说明
把角色的各项能力值设为一个定数即可
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2007-5-7
帖子
278
290
发表于 2008-4-28 16:10:03 | 只看该作者
请问如何在VX显示战斗图时让敌人发出的全体动画往下移一些?
VX显示战斗图:http://rpg.blue/viewthread.php?tid=73105
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 05:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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