collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Kleine Fragen, schnelle Antwort?  (Gelesen 195074 mal)

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1440 am: Juni 17, 2010, 18:06:52 »
Probier mal diesen script, bei mir funktionierts:
Spoiler for Hiden:
[code]#==============================================================================
# ¦ Sprite_Battler  for Sideview Ver3.3
#------------------------------------------------------------------------------
#  ????????????????
#==============================================================================
class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(viewport, battler = nil)
    super(viewport)
    @battler = battler
    @battler_visible = false
    @effect_type = 0                   # ????????
    @effect_duration = 0               # ??????????
    @move_x = 0                        # ????X?????
    @move_y = 0                        # ????Y?????
    @move_z = 0                        # ????Z?????
    @distanse_x = 0                    # X???????
    @distanse_y = 0                    # Y???????
    @moving_x = 0                      #1????????X??????
    @moving_y = 0                      #1????????Y??????
    @move_speed_x = 0                  # X???????
    @move_speed_y = 0                  # Y???????
    @move_speed_plus_x = 0             # X??????????????
    @move_speed_plus_y = 0             # Y??????????????
    @move_boost_x = 0                  # X?????
    @move_boost_y = 0                  # Y?????
    @jump_time = 0                     # ??????
    @jump_time_plus = 0                # ????????
    @jump_up = 0                       # ??????
    @jump_down = 0                     # ??????
    @jump_size = 0                     # ??????
    @float_time = 0                    # ????
    @float_up = 0                      # 1????????????
    @jump_plus = 0                     # ?????????????
    @angle = 0                         # ????
    @angling = 0                       # 1????????????
    @angle_time = 0                    # ????
    @angle_reset = 0                   # ??????????
    @zoom_x = 0                        # ?????
    @zoom_y = 0                        # ?????
    @zooming_x = 0                     # 1????????????
    @zooming_y = 0                     # 1????????????
    @zoom_time = 0                     # ????
    @zoom_reset = 0                    # ??????????
    @target_battler = []               # ???????????
    @now_targets = []                  # ???????????
    @pattern = 0                       # ?????(????)
    @pattern_back = false              # ???????
    @wait = 0                          # ????????
    @unloop_wait = 0                   # ????????????????
    @action = []                       # ??
    @anime_kind = 0                    # ?????(???????)
    @anime_speed = 0                   # ??????
    @frame = 0                         # ???????????
    @anime_loop = 0                    # ?????
    @anime_end = false                 # ??????????????
    @anime_freeze = false              # ??????
    @anime_freeze_kind = false         # ??????????
    @anime_moving = false              # ????????
    @base_width = N01::ANIME_PATTERN   # ???????
    @base_height = N01::ANIME_KIND     # ???????
    @width = 0                         # ???
    @height = 0                        # ???
    @picture_time = 0                  # ?????????
    @individual_targets = []           # ????????????
    @balloon_duration = 65             # ?????????
    @reverse = false                   # ??????????
    # ????????????????
    return @battler_visible = false if @battler == nil
    # ?????????????????????????????
    @anime_flug = true if @battler.actor?
    @anime_flug = true if !@battler.actor? && @battler.anime_on
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def make_battler
    # ???????
    @battler.base_position
    # ????????????
    @battler_hue = @battler.battler_hue
    # ?????????????????????????????
    if @anime_flug
      # ????????
      @weapon_R = Sprite_Weapon.new(viewport,@battler)
      # ????????????????????????
      @battler_name = @battler.character_name if @battler.actor?
      @battler_name = @battler.battler_name unless @battler.actor?
      # ?????????????????????
      self.mirror = true if !@battler.actor? && @battler.action_mirror
      # ???????????????????????????????????
      self.bitmap = Cache.character(@battler_name) if N01::WALK_ANIME
      self.bitmap = Cache.character(@battler_name + "_1") unless N01::WALK_ANIME
      # ?????????
      @width = self.bitmap.width / @base_width
      @height = self.bitmap.height / @base_height
      # ?????
      @sx = @pattern * @width
      @sy = @anime_kind * @height
      # ?????????
      self.src_rect.set(@sx, @sy, @width, @height)
    # ?????????????
    else
      # ????????????
      @battler_name = @battler.battler_name
      self.bitmap = Cache.battler(@battler_name, @battler_hue)
      @width = bitmap.width
      @height = bitmap.height
    end
    # ??????????????????
    if $back_attack && @battler.actor?
      self.mirror = true
    elsif $back_attack && !@battler.actor?
      self.mirror = true
      self.mirror = false if @battler.action_mirror
    else
      self.mirror = false
      self.mirror = true if !@battler.actor? && @battler.action_mirror
    end
    # ???????
    @weapon_R.mirroring if self.mirror && @weapon_R != nil
    # ??????
    @battler.reset_coordinate
    # ?????
    self.ox = @width / 2
    self.oy = @height * 2 / 3
    # ???????????
    update_move
    # ???????????????
    @move_anime = Sprite_MoveAnime.new(viewport,battler)
    # ?????????????
    @picture = Sprite.new
    # ???????????
    @damage = Sprite_Damage.new(viewport,battler)
  end
  #--------------------------------------------------------------------------
  # ? ???
  #--------------------------------------------------------------------------
  def make_shadow
    @shadow.dispose if @shadow != nil
    @battler_hue = @battler.battler_hue
    @shadow = Sprite.new(viewport)
    @shadow.z = self.z - 4
    @shadow.visible = false
    # ????????????????????
    @shadow.bitmap = Cache.character(@battler.shadow)
    @shadow_height = @shadow.bitmap.height
    # ??????????????
    @shadow_plus_x = @battler.shadow_plus[0] - @width / 2
    @shadow_plus_y = @battler.shadow_plus[1]
    # ???????????????????????
    @shadow.zoom_x = @width * 1.0 / @shadow.bitmap.width
    # ??
    update_shadow
  end
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  def dispose
    self.bitmap.dispose if self.bitmap != nil
    @weapon_R.dispose if @weapon_R != nil
    @move_anime.dispose if @move_anime != nil
    @picture.dispose if @picture != nil
    @shadow.dispose if @shadow != nil
    @damage.dispose if @damage != nil
    @balloon.dispose if @balloon != nil
    mirage_off
    # ????????
    @battler.graphic_change(@before_graphic) if @before_graphic != nil
    super
  end 
  #--------------------------------------------------------------------------
  # ? ?????????  action = [???ID,?????,????????]
  #--------------------------------------------------------------------------
  def damage_action(action)
    damage = @battler.hp_damage
    damage = @battler.mp_damage if @battler.mp_damage != 0
    # HP?MP??????????????
    if @battler.hp_damage != 0 && @battler.mp_damage != 0
      @battler.double_damage = true
      damage = @battler.hp_damage
    end 
    # ?????HP0???
    if action[0] == "absorb"
      absorb = true
      action[0] = nil
    end
    # ???????????????
    unless @battler.evaded or @battler.missed or action[0] == nil
      @battler.animation_id = action[0]
      @battler.animation_mirror = action[1]
    end
    # ???????????
    start_action(@battler.damage_hit) if damage > 0 && action[2]
    # ??????????????????????
    if @battler.evaded or @battler.missed
      start_action(@battler.evasion) if action[2]
      Sound.play_evasion
    end
    @damage.damage_pop unless absorb or action[3] != nil
  end
  #--------------------------------------------------------------------------
  # ? ??????POP
  #--------------------------------------------------------------------------
  def damage_pop(damage)
    @damage.damage_pop(damage)
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def first_action
    # ????????????????????????????????
    action = @battler.first_action unless @battler.restriction >= 4
    action = $data_states[@battler.state_id].base_action if @battler.states[0] != nil && @battler.restriction >= 4
    start_action(action)
    # ?????????
    make_shadow if N01::SHADOW
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def start_action(kind)
    # ????????
    reset
    # ?????????????????
    stand_by
    # ?????????????
    @action = N01::ACTION[kind].dup
    # ????????????
    active = @action.shift
    # ?????????
    @action.push("End")
    # ???????????
    @active_action = N01::ANIME[active]
    # ??????
    @wait = active.to_i if @active_action == nil
    # ?????????
    action
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def start_one_action(kind,back)
    # ????????
    reset
    # ?????????????????
    stand_by
    # ??????????????????
    @action = [back]
    # ?????????
    @action.push("End")
    # ???????????
    @active_action = N01::ANIME[kind]
    # ?????????
    action
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def next_action
    # ?????????????
    return @wait -= 1 if @wait > 0
    # ???????????????????????
    return if @anime_end == false
    # ????????????
    return @unloop_wait -= 1 if @unloop_wait > 0
    # ????????????
    active = @action.shift
    # ???????????
    @active_action = N01::ANIME[active]
    # ??????
    @wait = active.to_i if @active_action == nil
    # ?????????
    action
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def stand_by
    # ?????
    @repeat_action = @battler.normal
    # HP?1/4??????????
    @repeat_action = @battler.pinch if @battler.hp <= @battler.maxhp / 4
    # ???
    @repeat_action = @battler.defence if @battler.guarding?
    # ?????????????
    return if @battler.state_id == nil
    for state in @battler.states.reverse
      # ????????????????????
      next if state.extension.include?("NOSTATEANIME")
      # ?????????????????????????????
      next if @battler.is_a?(Game_Enemy) && state.extension.include?("EXCEPTENEMY")
      # ???????????
      @repeat_action = state.base_action
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def push_stand_by
    action = @battler.normal
    action = @battler.pinch if @battler.hp <= @battler.maxhp / 4
    action = @battler.defence if @battler.guarding?
    for state in @battler.states.reverse
      # ????????????????????
      next if state.extension.include?("NOSTATEANIME")
      # ?????????????????????????????
      next if @battler.is_a?(Game_Enemy) && state.extension.include?("EXCEPTENEMY")
      # ???????????
      action = state.base_action
    end
    @repeat_action = action
    # ????
    @action.delete("End")
    act = N01::ACTION[action].dup
    for i in 0...act.size
      @action.push(act)
    end 
    @action.push("End")
    @anime_end = true
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def reset
    self.zoom_x = self.zoom_y = 1
    self.oy = @height * 2 / 3
    @angle = self.angle = 0
    @anime_end = true
    @non_repeat = false
    @anime_freeze = false
    @unloop_wait = 0
  end 
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def jump_reset
    @battler.jump = @jump_time = @jump_time_plus = @jump_up = @jump_down = 0
    @jump_size = @jump_plus = @float_time = @float_up = 0
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def get_target(target)
    # ????????(????????????????????????????)
    return if @battler.individual
    @target_battler = target
  end
  #--------------------------------------------------------------------------
  # ? ???????????????
  #--------------------------------------------------------------------------
  def send_action(action)
    @battler.play = 0
    @battler.play = action if @battler.active
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def battler_join
    if @battler.exist? && !@battler_visible
      # ??????????????????
      if @battler.revival && @anime_flug
        return @battler.revival = false
      elsif @battler.revival && !@anime_flug
        @battler.revival = false
        self.visible = true
        return
      end
      @anime_flug = true if @battler.actor?
      @anime_flug = true if !@battler.actor? && @battler.anime_on
      make_battler
      first_action
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????? ????
  #--------------------------------------------------------------------------
  def update
    super
    # ??????????????
    return self.bitmap = nil if @battler == nil
    # ??????
    battler_join
    # ????????
    next_action
    # ?????????
    update_anime_pattern
    # ???????
    update_target
    # ?????????
    update_force_action
    # ????
    update_move
    # ???
    update_shadow if @shadow != nil
    # ????
    @weapon_R.update if @weapon_action
    # ????
    update_float if @float_time > 0
    # ????
    update_angle if @angle_time > 0
    # ??????
    update_zoom if @zoom_time > 0
    # ????
    update_mirage if @mirage_flug
    # ??????
    update_picture if @picture_time > 0
    # ????????
    update_move_anime if @anime_moving
    # ?????????
    update_balloon if @balloon_duration <= 64
    # ???????????
    @damage.update if @damage != nil
    setup_new_effect
    update_effect
    update_battler_bitmap
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def update_anime_pattern
    # ?????????????
    return @frame -= 1 if @frame != 0
    # ?????????????
    @weapon_R.action if @weapon_action && @weapon_R != nil
    # ???????????????????????????
    if @pattern_back
      # ?????
      if @anime_loop == 0
        # ????
        if @reverse
          @pattern += 1
          if @pattern == @base_width - 1
            @pattern_back = false
            @anime_end = true
          end
        # ????
        else 
          @pattern -= 1
          if @pattern == 0
            @pattern_back = false
            @anime_end = true
          end 
        end 
      # ???????????????
      else
        @anime_end = true
        if @anime_loop == 1
          @pattern = 0 if !@reverse
          @pattern = @base_width - 1 if @reverse
          @pattern_back = false
        end 
      end 
    # ??????????   
    else
      if @reverse
        @pattern -= 1
        @pattern_back = true if @pattern == 0
      else 
        @pattern += 1
        @pattern_back = true if @pattern == @base_width - 1
      end 
    end
    # ????????
    @frame = @anime_speed
    # ???????????????
    return if @anime_freeze
    # ?????????
    return unless @anime_flug
    @sx = @pattern * @width
    @sy = @anime_kind * @height
    self.src_rect.set(@sx, @sy, @width, @height)
  end
  #--------------------------------------------------------------------------
  # ? ??????? action = ["N01target_change",???????]
  #--------------------------------------------------------------------------
  def update_target
    # ?????????
    return if @battler.force_target == 0
    # ????????(????????????????????????????)
    return if @battler.individual
    @target_battler = @battler.force_target[1]
    @battler.force_target = 0
  end 
  #--------------------------------------------------------------------------
  # ? ????????? action = [??,??,?????????]
  #--------------------------------------------------------------------------
  def update_force_action
    # ???????????
    action = @battler.force_action
    return if action == 0
    @battler.force_action = 0
    # ??????????????
    return if @battler.active
    # ???????????????
    return collapse_action if action[0] == "N01collapse"
    # ?????????????
    return start_one_action(action[2],action[1]) if action[0] == "SINGLE"
    # ?????????????
    start_action(action[2])
    # ???????
    return if action[1] == ""
    # ?????????????????????
    @action.delete("End")
    @action.push(action[1])
    @action.push("End")
  end   
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def update_move
    # ??????????????
    if @move_speed_plus_x > 0
      # ????
      @move_x += @moving_x
      # ?????
      @battler.move_x = @move_x
      @move_speed_plus_x -= 1
    elsif @move_speed_x > 0
      # ?????
      if @move_boost_x != 0
        @moving_x += @move_boost_x
      end 
      # ????
      @move_x += @moving_x
      # ?????
      @battler.move_x = @move_x
      @move_speed_x -= 1
    end
    # ??????????????
    if @move_speed_plus_y > 0
      # ????
      @move_y += @moving_y
      # ?????
      @battler.move_y = @move_y
      @move_speed_plus_y -= 1
    elsif @move_speed_y > 0
      # ?????
      if @move_boost_y != 0
        @moving_y += @move_boost_y
      end 
      # ????
      @move_y += @moving_y
      # ?????
      @battler.move_y = @move_y
      @move_speed_y -= 1
    end
    # ??????
    if @jump_up != 0
      # ????
      @jump_plus += @jump_up
      # ?????
      @battler.jump = @jump_plus
      @jump_up = @jump_up / 2
      @jump_time -= 1
      # ????????????
      if @jump_time == 0 or @jump_up == @jump_sign
        @jump_down = @jump_up * 2 * @jump_sign * @jump_sign2
        @jump_time_plus += @jump_time * 2
        @jump_up = 0
        return
      end 
    end 
    # ??????
    if @jump_down != 0
      if @jump_time_plus != 0
        @jump_time_plus -= 1
      elsif @jump_down != @jump_size
        # ????
        @jump_plus += @jump_down
        # ?????
        @battler.jump = @jump_plus
        @jump_down = @jump_down * 2
        if @jump_down == @jump_size
          if @jump_flug
            @jump_flug = false
          else
            # ????
            @jump_plus += @jump_down
            # ?????
            @battler.jump = @jump_plus
            @jump_down = @jump_size = 0
          end
        end 
      end
    end
    # ???????????
    self.x = @battler.position_x
    self.y = @battler.position_y
    self.z = @battler.position_z
  end
  #--------------------------------------------------------------------------
  # ? ???
  #--------------------------------------------------------------------------
  def update_shadow
    @shadow.opacity = self.opacity
    @shadow.x = @battler.position_x + @shadow_plus_x
    @shadow.y = @battler.position_y + @shadow_plus_y - @jump_plus
    @shadow.z = @battler.position_z - 4
  end
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def update_float
    @float_time -= 1
    @jump_plus += @float_up
    @battler.jump = @jump_plus
  end   
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def update_angle
    # ????
    @angle += @angling
    self.angle = @angle
    @angle_time -= 1
    # ??????????????????
    return @angle = 0 if @angle_time == 0
    # ????????????0???
    self.angle = 0 if @angle_reset
  end 
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update_zoom
    # ??????
    @zoom_x += @zooming_x
    @zoom_y += @zooming_y
    self.zoom_x = @zoom_x
    self.zoom_y = @zoom_y
    @zoom_time -= 1
    # ????????????????????
    return if @zoom_time != 0
    @zoom_x = @zoom_y = 0
    self.oy = @height * 2 / 3
    # ???????????
    self.zoom_x = self.zoom_y = 1 if @zoom_reset
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def update_mirage
    # ?????3???????2?????????
    mirage(@mirage0) if @mirage_count == 1
    mirage(@mirage1) if @mirage_count == 3
    mirage(@mirage2) if @mirage_count == 5
    @mirage_count += 1
    @mirage_count = 0 if @mirage_count == 6
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update_picture
    @picture_time -= 1
    @picture.x += @moving_pic_x
    @picture.y += @moving_pic_y
  end 
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def update_move_anime
    @move_anime.update
    @anime_moving = false if @move_anime.finish?
    @move_anime.action_reset if @move_anime.finish?
  end 
  #--------------------------------------------------------------------------
  # ? ?????????? ????
  #--------------------------------------------------------------------------
  def update_collapse
    normal_collapse if @collapse_type == 2
    boss_collapse1 if @collapse_type == 3
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def update_balloon
    @balloon_duration -= 1 if @balloon_duration > 0 && !@balloon_back
    @balloon_duration += 1 if @balloon_back
    if @balloon_duration == 64
      @balloon_back = false
      @balloon.visible = false
    elsif @balloon_duration == 0
      @balloon.visible = false if @balloon_loop == 0
      @balloon_back = true if @balloon_loop == 1
    end   
    @balloon.x = self.x
    @balloon.y = self.y
    @balloon.z = 10
    @balloon.opacity = self.opacity
    sx = 7 * 32 if @balloon_duration < 12
    sx = (7 - (@balloon_duration - 12) / 8) * 32 unless @balloon_duration < 12
    @balloon.src_rect.set(sx, @balloon_id * 32, 32, 32)
  end
  #--------------------------------------------------------------------------
  # ? ???????????? ????
  #--------------------------------------------------------------------------
  def update_battler_bitmap
    if @battler.actor?
      if @battler.character_name != @battler_name or @battler.battler_hue != @battler_hue
        @battler_name = @battler.character_name
        @battler_hue = @battler.battler_hue
      end
    else
      if @battler.battler_name != @battler_name or @battler.battler_hue != @battler_hue
        @battler_name = @battler.battler_name
        @battler_hue = @battler.battler_hue
      end
      if !@battler.exist?
        self.opacity = 0 if @effect_duration == 0 && @battler.collapse_type != 1
      end 
    end 
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def action
    return if @active_action == nil
    action = @active_action[0]
    # ?????
    return mirroring if action == "Invert"
    # ????? 
    return angling if action == "angle"
    # ??????
    return zooming if action == "zoom"
    # ??ON???
    return mirage_on if action == "Afterimage ON"
    # ??OFF???
    return mirage_off if action == "Afterimage OFF"
    # ?????????
    return picture if action == "pic"
    # ?????????
    return @picture.visible = false && @picture_time = 0 if action == "Clear image"
    # ??????????????? 
    return graphics_change if action == "change"
    # ?????????
    return battle_anime if action == "anime"
    # ???????????? 
    return balloon_anime if action == "balloon"
    # BGM/BGS/SE????
    return sound if action == "sound"
    # ???????????? 
    return $game_switches[@active_action[1]] = @active_action[2] if action == "switch"
    # ?????????
    return variable if action == "variable"
    # ???????
    return two_swords if action == "Two Wpn Only"
    # ????????
    return non_two_swords if action == "One Wpn Only"
    # ??????????
    return necessary if action == "nece"
    # ???????? 
    return derivating if action == "der"
    # ?????????
    return individual_action if action == "Process Skill"
    # ?????????
    return individual_action_end if action == "Process Skill End"
    # ??????????
    return non_repeat if action == "Don't Wait"
    # ?????????
    return @battler.change_base_position(self.x, self.y) if action == "Start Pos Change"
    # ???????????
    return @battler.base_position if action == "Start Pos Return"
    # ?????????
    return change_target if action == "target"
    # ????????????
    return send_action(action) if action == "Can Collapse"
    # ???????
    return send_action(action) if action == "Cancel Action"
    # ????????? 
    return state_on if action == "sta+"
    # ????????? 
    return state_off if action == "sta-"
    # ???????????????
    return Graphics.frame_rate = @active_action[1] if action == "fps"
    # ????? 
    return floating if action == "float"
    # ??????????   
    return eval(@active_action[1]) if action == "script"
    # ?????????
    return force_action if @active_action.size == 4
    # ????????? 
    return reseting if @active_action.size == 5
    # ?????
    return moving if @active_action.size == 7
    # ??????????
    return battler_anime if @active_action.size == 9
    # ?????????
    return moving_anime if @active_action.size == 11
    # ?????
    return anime_finish if action == "End"
  end
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def mirroring 
    # ???????????????
    if self.mirror
      self.mirror = false
      # ????????
      @weapon_R.mirroring if @anime_flug
    else
      self.mirror = true
      # ????????
      @weapon_R.mirroring if @anime_flug
    end
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def angling 
    # ????????
    jump_reset
    # ????
    @angle_time = @active_action[1]
    start_angle = @active_action[2]
    end_angle = @active_action[3]
    @angle_reset = @active_action[4]
    # ????????????
    start_angle *= -1 if $back_attack
    end_angle *= -1 if $back_attack
    # ???????
    start_angle *= -1 if @battler.is_a?(Game_Enemy)
    end_angle *= -1 if @battler.is_a?(Game_Enemy)
    # ???0????????????
    if @angle_time <= 0
      self.angle = end_angle
      return  @angle_time = 0
    end 
    # ??????1?????????????
    @angling = (end_angle - start_angle) / @angle_time
    # ??????????????
    @angle = (end_angle - start_angle) % @angle_time + start_angle
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def zooming 
    # ????????
    jump_reset
    # ????
    @zoom_time = @active_action[1]
    zoom_x = @active_action[2] - 1
    zoom_y = @active_action[3] - 1
    @zoom_reset = @active_action[4]
    @zoom_x = @zoom_y = 1
    # ???0????????
    return @zoom_time = 0 if @zoom_time <= 0
    # ??????1??????????????
    @zooming_x = zoom_x / @zoom_time
    @zooming_y = zoom_y / @zoom_time
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def mirage_on
    # ?????????????
    return if @battler.dead?
    @mirage0 = Sprite.new(self.viewport)
    @mirage1 = Sprite.new(self.viewport)
    @mirage2 = Sprite.new(self.viewport)
    @mirage_flug = true
    @mirage_count = 0
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def mirage(body)
    body.bitmap = self.bitmap.dup
    body.x = self.x
    body.y = self.y
    body.ox = self.ox
    body.oy = self.oy
    body.z = self.z
    body.mirror = self.mirror
    body.angle = @angle
    body.opacity = 160
    body.zoom_x = self.zoom_x
    body.zoom_y = self.zoom_y   
    body.src_rect.set(@sx, @sy, @width, @height) if @anime_flug
    body.src_rect.set(0, 0, @width, @height) unless @anime_flug
  end   
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def mirage_off
    @mirage_flug = false
    @mirage0.dispose if @mirage0 != nil
    @mirage1.dispose if @mirage1 != nil
    @mirage2.dispose if @mirage2 != nil
  end   
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def picture
    # ?????????
    pic_x = @active_action[1]
    pic_y = @active_action[2]
    # ?????????
    pic_end_x = @active_action[3]
    pic_end_y = @active_action[4]
    @picture_time = @active_action[5]
    # ??????1???????????????
    @moving_pic_x = (pic_end_x - pic_x)/ @picture_time
    @moving_pic_y = (pic_end_y - pic_y)/ @picture_time
    # ?????????????
    plus_x = (pic_end_x - pic_x)% @picture_time
    plus_y = (pic_end_y - pic_y)% @picture_time
    # ??????
    @picture.bitmap = Cache.picture(@active_action[7])
    @picture.x = pic_x + plus_x
    @picture.y = pic_y + plus_y
    # Z????
    @picture.z = 1
    @picture.z = 1000 if @active_action[6]
    @picture.visible = true
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def graphics_change 
    # ??????
    return if @battler.is_a?(Game_Enemy)
    # ????????
    @battler_name = @active_action[2]
    # ???????????????????????????????????
    self.bitmap = Cache.character(@battler_name) if N01::WALK_ANIME
    self.bitmap = Cache.character(@battler_name + "_1") unless N01::WALK_ANIME
    # ?????????
    @width = self.bitmap.width / @base_width
    @height = self.bitmap.height / @base_height
    # ?????????????????????
    @before_graphic = @battler.character_name if @active_action[1]
    @battler.graphic_change(@active_action[2])
  end 
  #--------------------------------------------------------------------------
  # ? ??????? [??,ID,??,??,????,?????]
  #--------------------------------------------------------------------------
  def battle_anime
    # ?????????????????????
    return if @active_action[5] && !@battler.actor?
    # ???????????????????????????
    return if @active_action[5] && @battler.weapons[1] == nil
    # ????(???????)??????(????)????????
    if @battler.actor?
      return if !@active_action[5] && @battler.weapons[0] == nil && @battler.weapons[1] != nil
    end
    anime_id = @active_action[1]
    # ?????????????????
    if $back_attack
      mirror = true if @active_action[3] == false
      mirror = false if @active_action[3]
    end
    # ????????????
    if anime_id < 0
      # ?????????????
      if @battler.action.skill? && anime_id != -2
        anime_id = @battler.action.skill.animation_id
      elsif @battler.action.item? && anime_id != -2
        anime_id = @battler.action.item.animation_id
      else
        # ???????????????
        anime_id = N01::NO_WEAPON
        if @battler.actor?
          weapon_id = @battler.weapon_id
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
          # ????????
          anime_id = @battler.atk_animation_id2 if @active_action[5]
        else
          weapon_id = @battler.weapon
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
        end
      end
      # ??????
      @wait = $data_animations[anime_id].frame_max * 4 if $data_animations[anime_id] != nil && @active_action[4]
      waitflug = true
      # ?????????????????????????????????
      damage_action = [anime_id, mirror, true]
      return @battler.play = ["OBJ_ANIM",damage_action] if @battler.active
    end
    # ?????
    if @active_action[2] == 0 && $data_animations[anime_id] != nil
      @battler.animation_id = anime_id
      @battler.animation_mirror = mirror
    elsif $data_animations[anime_id] != nil
      for target in @target_battler
        target.animation_id = anime_id
        target.animation_mirror = mirror
      end 
    end
    # ??????
    @wait = $data_animations[anime_id].frame_max * 4 if $data_animations[anime_id] != nil && @active_action[4] && !waitflug
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def balloon_anime
    return if self.opacity == 0
    if @balloon == nil
      @balloon = Sprite.new
      @balloon.bitmap = Cache.system("Balloon")
      @balloon.ox = @width / 16
      @balloon.oy = @balloon.height / 10 + @height / 3
    end
    @balloon_id = @active_action[1]
    @balloon_loop = @active_action[2]
    @balloon_duration = 64
    @balloon_back = false
    update_balloon
    @balloon.visible = true
  end 
  #--------------------------------------------------------------------------
  # ? BGM/BGS/SE??
  #--------------------------------------------------------------------------
  def sound   
    # ?????
    pitch = @active_action[2]
    vol =  @active_action[3]
    name = @active_action[4]
    # ??
    case @active_action[1]
    when "se"
      Audio.se_play("Audio/SE/" + name, vol, pitch)
    when "bgm"
      # ?????????????BGM????????
      if @active_action[4] == ""
        now_bgm = RPG::BGM.last
        name = now_bgm.name
      end
      Audio.bgm_play("Audio/BGM/" + name, vol, pitch)
    when "bgs"
      # ?????????????BGS????????
      if @active_action[4] == ""
        now_bgs = RPG::BGS.last
        name = now_bgs.name
      end
      Audio.bgs_play("Audio/BGS/" + name, vol, pitch)
    end
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def variable
    # ?????????
    operand = @active_action[3]
    # ???????
    case @active_action[2]
    when 0 # ??
      $game_variables[@active_action[1]] = operand
    when 1 # ??
      $game_variables[@active_action[1]] += operand
    when 2 # ??
      $game_variables[@active_action[1]] -= operand
    when 3 # ??
      $game_variables[@active_action[1]] *= operand
    when 4 # ??
      $game_variables[@active_action[1]] /= operand
    when 5 # ??
      $game_variables[@active_action[1]] %= operand
    end
  end 
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  def two_swords
    # ???????????
    return @action.shift unless @battler.actor?
    # ?(????)???????????????????
    return @action.shift if @battler.weapons[1] == nil
    # ????????????
    active = @action.shift
    # ???????????
    @active_action = N01::ANIME[active]
    # ??????
    @wait = active.to_i if @active_action == nil
    # ?????????
    action
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def non_two_swords
    # ???????????
    return unless @battler.actor?
    # ?(????)??????????????????
    return @action.shift if @battler.weapons[1] != nil
    # ????????????
    active = @action.shift
    # ???????????
    @active_action = N01::ANIME[active]
    # ??????
    @wait = active.to_i if @active_action == nil
    # ?????????
    action
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
 
PDM's Gameplays
Skype-Name: lordpdm

Re: Kleine Fragen, schnelle Antwort?

Offline CliXx

  • Colovulutionär
  • Mr. MACK-Tile
  • ***
  • Beiträge: 232
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1441 am: Juni 17, 2010, 21:33:05 »
Hi, ich würde gerne wissen obs ein script oder ähnliches gibt um aufbauspiele ála Anno XXXX zu machen, wenn ja dann wärs schön und wenn nicht dann hab ich pech xD
Ne spass bei seite also falls sowas möglich ist dann sag mir bitte jemand bescheid!

Re: Kleine Fragen, schnelle Antwort?

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1442 am: Juni 17, 2010, 21:46:11 »
Einen Script kenne ich nicht, aber per Events könnte man das machen. Das ist aber sehr kompliziert, aber es ist sicher zu schaffen.
PDM's Gameplays
Skype-Name: lordpdm

Re: Kleine Fragen, schnelle Antwort?

Offline CliXx

  • Colovulutionär
  • Mr. MACK-Tile
  • ***
  • Beiträge: 232
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1443 am: Juni 19, 2010, 22:34:53 »
mhm ok habs ein wenig hinbekommen dankeschön^^
aber ich würde noch gerne wissen ob oder wie man die vx spiele mit nem gamepad oder controler spielen kann?

Re: Kleine Fragen, schnelle Antwort?

Offline Boogatie Roll

  • VX-Meister
  • ****
  • Beiträge: 676
  • Java[Spiele] Programmierer
    • BRolls Game Website
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1444 am: Juni 20, 2010, 12:13:16 »
@Clixx:
Einfach controller einstecken an PC,
und losspielen.
So gehts bei mir. Die Tasten kannste dann mit F1 umändern.

Re: Kleine Fragen, schnelle Antwort?

Offline CliXx

  • Colovulutionär
  • Mr. MACK-Tile
  • ***
  • Beiträge: 232
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1445 am: Juni 20, 2010, 12:14:53 »
Mhm bei mir reagiert der nich xD

Post zusammen gefügt: Juni 21, 2010, 17:33:58
Kann man eig. beim Vampyr SBABS das HUD ausblenden und wieder einblenden lassen?
« Letzte Änderung: Juni 21, 2010, 17:33:58 von CliXx »

Re: Kleine Fragen, schnelle Antwort?

Offline BenjiXD

  • -
  • Mr. MACK-Tile
  • ***
  • Beiträge: 273
  • -
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1446 am: Juni 21, 2010, 19:13:15 »
Wo kann ich diie neuste version des VXes downloaden? bzw. welche ist die neuste Version hab meinen Computer neu aufesetzt und jetzt kommt ieine fehlermeldung von DirectX wenn ich ihn starten will, und dann hab ich geich fleißig geooglet und ich sollte mir eine Anwendung herunterladen die diese erneuert getan ->>>>>  NICHT funktioniert ich denke es liegt daran das ich evt. nicht die neueste Version habe :(
Darfüq?

Re: Kleine Fragen, schnelle Antwort?

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1447 am: Juni 21, 2010, 19:17:30 »
Zitat
und dann hab ich geich fleißig geooglet und ich sollte mir eine Anwendung herunterladen die diese erneuert getan
Diesen Satzbau kapiere ich nicht.
Zu deiner Frage: ich denke mal, dass es an DirectX liegt. Wieso sollte das der VX verursachen?
PDM's Gameplays
Skype-Name: lordpdm

Re: Kleine Fragen, schnelle Antwort?

Offline BenjiXD

  • -
  • Mr. MACK-Tile
  • ***
  • Beiträge: 273
  • -
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1448 am: Juni 21, 2010, 19:27:06 »
es sollte am VX liegen weil mir die Anwendung sagt das ich bereits eine höhere oder gleichgültige Version habe und da ich aus einem Forum (RPG technisch) das gleiche Poblem las, und dort geschrieben wurde das wenn man den Stand vomDirectX hat er fnktionieren müsste denke ich das es am VX liegt :(

sry der satz war unglücklich formuliert, also ich habe gegooglet und habe das problem gefunden und dann sollte ich diese Anwendung ausführen aber es brachte nix...
Darfüq?

Re: Kleine Fragen, schnelle Antwort?

Offline Master Chain

  • Smalltalk-Front
  • VX-Meister
  • ****
  • Beiträge: 605
  • Kette ähm *Hust Colo for Admin
    • Mein Youtube Channel
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1449 am: Juni 21, 2010, 20:40:29 »
Zitat
Zu deiner Frage: ich denke mal, dass es an DirectX liegt. Wieso sollte das der VX verursachen?
Was hat der Direct X mit dem VX zu Tun????

Zitat
Wo kann ich diie neuste version des VXes downloaden? bzw. welche ist die neuste Version hab meinen Computer neu aufesetzt und jetzt kommt ieine fehlermeldung von DirectX wenn ich ihn starten will, und dann hab ich geich fleißig geooglet und ich sollte mir eine Anwendung herunterladen die diese erneuert getan ->>>>>  NICHT funktioniert ich denke es liegt daran das ich evt. nicht die neueste Version habe Traurig
Hmm die neuste ver. vom VX ist gleichzeitig die Englische ver. es gibt noch keine neue Ver. vom VX...

Re: Kleine Fragen, schnelle Antwort?

Offline BenjiXD

  • -
  • Mr. MACK-Tile
  • ***
  • Beiträge: 273
  • -
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1450 am: Juni 21, 2010, 21:28:38 »
habs hingebracht musste die Demo also trial version downloaden und meine soundkarten rtreiber installieren thx trotzdem ._.
Darfüq?

Re: Kleine Fragen, schnelle Antwort?

Offline Boogatie Roll

  • VX-Meister
  • ****
  • Beiträge: 676
  • Java[Spiele] Programmierer
    • BRolls Game Website
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1451 am: Juni 22, 2010, 19:10:55 »
ich hab ne schnelle frage,
was muss ich im script bereich löschen, das sich der actor nicht mehr steuern lässt?
dh. dass man ihn nichtmehr mit den pfeiltasten bewegen kann,
aber wenn man ihn zb. mit ner move route auf ein event mit "wenn held berührt"
drauflaufen lässt, es trotzdem noch reagiert?

Ok besser gesagt:

Ich möchte den Actor so haben, dass er nur noch über move route steuerbar ist,
und berührungs events durch die move route auslöst, was ja normal nicht passiert.
« Letzte Änderung: Juni 22, 2010, 19:14:50 von Boogatie Roll »

Re: Kleine Fragen, schnelle Antwort?

Offline rayman

  • Eventkenner
  • Eventmeister
  • ***
  • Beiträge: 358
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1452 am: Juni 22, 2010, 19:21:07 »
man kanns auch einfach mit nem event machen:

Paralleler prozess:
Bedingung Taste hoch wurde gedrückt:
Move route: wait 1 frame

Ansonsten:


End


so kannst du jede richtung drücken und der held bewegt sich nicht.
RPG-EVOLUTION:



Re: Kleine Fragen, schnelle Antwort?

Offline Boogatie Roll

  • VX-Meister
  • ****
  • Beiträge: 676
  • Java[Spiele] Programmierer
    • BRolls Game Website
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1453 am: Juni 22, 2010, 19:25:10 »
Das behindert mich aber in meinem Projekt.
Es geht nur über Scripts.
Und das zweite ist eher wichtiger...

Re: Kleine Fragen, schnelle Antwort?

Offline Fiyehman

  • Forum-Liebhaber
  • Mr. MACK-Tile
  • ***
  • Beiträge: 257
    • Count & Hero Five Keys of the Soul
Re: Kleine Fragen, schnelle Antwort?
« Antwort #1454 am: Juni 22, 2010, 19:30:20 »
Genau das zweite will ich auch unbedingt wissen, da es für mein PUB-System wichtig ist.

 


 Bild des Monats

rooftop party

Views: 3614
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal