RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Help with script

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 89
Hi, i am using a animated cbs from minkoff, and i want the character box to be centered and the black part gone. And also i want the monster to be facing the other way, he has it so if you use the character sets for monsters they will face the correct way, i already have monster sets that face the right way so i want that part gone.

Can anyone help me? I am new with scripts are i would do it myself. Here are the scripts i am using.

Animation System Script
Code: [Select]
#==============================================================================
# ? Sprite_Battler
#------------------------------------------------------------------------------
# Minkoff's Custom Battle System // Thanks, Prexus
#==============================================================================

class Sprite_Battler < RPG::Sprite
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  alias cbs_initialize initialize
  def initialize(viewport, battler = nil)
    @frame = 0
    @pose = 0
    @default = 0
    @speed = 7
    @frames = 4
    @poses = 10
    @last_time = 0
    @last_move_time = 0
    @stationary_enemies = true
    @stationary_actors = false
    @phasing = true
    cbs_initialize(viewport, battler)
    viewport.z = 99
  end
  #--------------------------------------------------------------------------
  # ? Update
  #--------------------------------------------------------------------------
  alias cbs_update update
  def update
    return unless @battler
   
    # Regular Update
    cbs_update
   
    # Start Routine
    unless @started
      @width = @width / @frames
      @height = @height / @poses
      @battler.display_x = @battler.screen_x
      @battler.display_y = @battler.screen_y
    end
   
    # Setup Sprite
    self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
    self.mirror = @battler.is_a?(Game_Enemy) unless @started
   
    # Position Sprite
    self.x = @battler.display_x
    self.y = @battler.display_y
    self.z = @battler.display_y
    self.ox = @width / 2
    self.oy = @height
   
    # Setup Animation
    time = Graphics.frame_count / (Graphics.frame_rate / @speed)
    if @last_time < time
      @frame = (@frame + 1) % @frames
      if @frame == 0
        if @freeze
          @frame = (@frame - 1) % @frames
          return
        end
        @pose = @default
      end
    end
    @last_time = time
       
    # Set Default Pose
    if @battler.default
      @default = @battler.default
      @pose = @battler.default unless @battler.pose
      @battler.default = nil
    end
   
    # Set Pose
    if @battler.pose
      @pose = @battler.pose
      @freeze = @battler.freeze
      @battler.pose = nil
      @battler.freeze = nil
      @frame = 0
    end

    # Finish Up
    @started = true
    move if @battler.moving
  end
  #--------------------------------------------------------------------------
  # ? Move
  #--------------------------------------------------------------------------
  def move

    # Stationary Battlers
    if (@battler.is_a?(Game_Enemy) and @stationary_enemies) or
       (@battler.is_a?(Game_Actor) and @stationary_actors)
      battler.moving = false
      return
    end

    time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
    if @last_move_time < time
     
      # Pause to Attack
      return if @pose.between?(6, 7)
     
      # Set Running Pose
      @pose = @attacked ? 5 : 4
     
      # Phasing
      d1 = (@battler.display_x - @battler.original_x).abs
      d2 = (@battler.display_y - @battler.original_y).abs
      d3 = (@battler.display_x - @battler.destination_x).abs
      d4 = (@battler.display_y - @battler.destination_y).abs
      self.opacity = [255 - ([(d1 + d2) / 2, (d3 + d4) / 2].min * 5).to_i, 0].max if @phasing

      # Calculate Difference
      difference_x = (@battler.display_x - @battler.destination_x).abs
      difference_y = (@battler.display_y - @battler.destination_y).abs
     
      # Move Back
      if [difference_x, difference_y].max.between?(0, 5) and !@attacked
        @battler.destination_x = @battler.original_x
        @battler.destination_y = @battler.original_y
        @battler.original_x = @battler.display_x
        @battler.original_y = @battler.display_y
        @battler.moving = false
        @attacked = true
        @pose = @default
        return
      end

      # Done? Reset, Stop
      if [difference_x, difference_y].max.between?(0, 5)
        @battler.moving = false
        @attacked = false
        @pose = @default
        return
      end
     
      # Movement Patterns
      if difference_x > difference_y
        increment_x = 1
        increment_y = difference_y <= 2 ? difference_y / 8 : 1 / (difference_x / difference_y) + 0.5
      elsif difference_y > difference_x
        increment_y = 1
        increment_x = difference_x <= 2 ? difference_x / 8 : 1 / (difference_y / difference_x) + 0.5
      else
        increment_x = 1
        increment_y = 1
      end
      incriment_x = (increment_x * 8).to_i
      incriment_y = (increment_y * 8).to_i
      @battler.display_x += incriment_x * (@battler.destination_x - @battler.display_x > 0 ? 1 : -1)
      @battler.display_y += incriment_y * (@battler.destination_y - @battler.display_y > 0 ? 1 : -1)
    end    
    @last_move_time = time
  end
 
  def collapse
    @default = 2
  end
end

#==============================================================================
# ? Game_Battler
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ? Animation Variables
  #--------------------------------------------------------------------------
  attr_accessor :moving # Moving?
  attr_accessor :display_x # Current X
  attr_accessor :display_y # Current Y
  attr_accessor :original_x # Original X
  attr_accessor :original_y # Orginal Y
  attr_accessor :destination_x # Destination X
  attr_accessor :destination_y # Destination Y
  attr_accessor :pose # Sprite Pose
  attr_accessor :freeze # Freeze Sprite?
  attr_accessor :default # Default Pose
  attr_accessor :moved # Moved?
  attr_accessor :cast # Cast?
  #--------------------------------------------------------------------------
  # ? Set Movement
  #--------------------------------------------------------------------------
  def setmove(original_x, original_y, destination_x, destination_y)
    @original_x = original_x
    @original_y = original_y
    @destination_x = destination_x + (self.is_a?(Game_Actor) ? 40 : -40)
    @destination_y = destination_y
    @moving = true
  end
  #--------------------------------------------------------------------------
  # ? Set Pose
  #--------------------------------------------------------------------------
  def setpose(pose, freeze = false)
    @pose = pose
    @freeze = freeze
  end
  #--------------------------------------------------------------------------
  # ? Set Default Pose
  #--------------------------------------------------------------------------
  def setdefault(default)
    @default = default
  end
end

#==============================================================================
# ? Game_Actor
#==============================================================================

class Game_Actor
  #--------------------------------------------------------------------------
  # ? Actor X Coordinate
  #--------------------------------------------------------------------------
  def screen_x
    if self.index != nil
      return self.index * 45 + 450
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # ? Actor Y Coordinate
  #--------------------------------------------------------------------------
  def screen_y
    return self.index * 35 + 200
  end
  #--------------------------------------------------------------------------
  # ? Actor Z Coordinate
  #--------------------------------------------------------------------------
  def screen_z
    return screen_y
  end
end

#==============================================================================
# ? Scene_Battle
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ? Change Arrow Viewport
  #--------------------------------------------------------------------------
  alias cbs_start_enemy_select start_enemy_select
  def start_enemy_select
    cbs_start_enemy_select
    @enemy_arrow.dispose
    @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
  end
  #--------------------------------------------------------------------------
  # ? Action Animation, Movement
  #--------------------------------------------------------------------------
  alias cbs_update_phase4_step3 update_phase4_step3
  def update_phase4_step3(battler)
    return if battler.moving
    battler.setdefault(0)
    case battler.current_action.kind
    when 0 # Basic
      if battler.moved
        battler.setpose(6 + rand(2))
      elsif battler.guarding?
        battler.setdefault(3)
      else
        for target in battler.target
          battler.setmove(battler.screen_x, battler.screen_y, target.screen_x, target.screen_y)
        end
        battler.moved = true
        return
      end
    when 1 # Skill
      battler.setpose(8)
      for target in battler.target
        battler.cast = (battler.is_a?(Game_Actor) == target.is_a?(Game_Enemy))
      end
    when 2 # Item
      battler.setpose(8)
    end
    cbs_update_phase4_step3(battler)
  end
  #--------------------------------------------------------------------------
  # ? Hit Animation, Reset
  #--------------------------------------------------------------------------
  alias cbs_update_phase4_step4 update_phase4_step4
  def update_phase4_step4(battler)
    for target in battler.target
      target.setpose(1) if (battler.moved or battler.cast) and target.damage != "Miss"
    end
    if battler.moved
      battler.moving = true
    end
    battler.moved = false
    battler.cast = false
    cbs_update_phase4_step4(battler)
  end
  #--------------------------------------------------------------------------
  # ? Victory Animation
  #--------------------------------------------------------------------------
  alias cbs_start_phase5 start_phase5
  def start_phase5
    for actor in $game_party.actors
      return if actor.moving
    end
    for actor in $game_party.actors
      actor.setpose(9, true) unless actor.dead?
    end
    cbs_start_phase5
  end
end

#==============================================================================
# ? Spriteset_Battle
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ? Change Enemy Viewport
  #--------------------------------------------------------------------------
  alias cbs_initialize initialize
  def initialize
    cbs_initialize
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))
    end
  end
end

#==============================================================================
# ? Arrow_Base
#==============================================================================

class Arrow_Base < Sprite
  #--------------------------------------------------------------------------
  # ? Reposition Arrows
  #--------------------------------------------------------------------------
  alias cbs_initialize initialize
  def initialize(viewport)
    cbs_initialize(viewport)
    self.ox = 32
    self.oy = 40
  end
end


Display Script
Code: [Select]

#==============================================================================
# ? Window_BattleStatus
#------------------------------------------------------------------------------
# English Patch, Pretty HP/MP Bars, Actor Faces, Individual Windows
#==============================================================================

class Window_BattleStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 320, 480, 160)
    self.opacity = 0
    @windows = []
    @faces = []
    for i in 0...$game_party.actors.size
      @windows[i] = Window_ActorStatus.new(i, i * 160)
      @faces[i] = Sprite.new(viewport)
      @faces[i].bitmap = RPG::Cache.picture("Face" + $game_party.actors[i].id.to_s + ".png")
      @faces[i].x = x + i * 160
      @faces[i].y = 320
    end
    @level_up_flags = [false, false, false, false]
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Update
  #--------------------------------------------------------------------------
  def update
    super
    for window in @windows
      window.update
    end
  end
  #--------------------------------------------------------------------------
  # ? Dispose
  #--------------------------------------------------------------------------
  def dispose
    for i in 0...$game_party.actors.size
      @windows[i].dispose
      @faces[i].dispose
    end
    super
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh(number = 0)
    if number == 0
      count = 0
      for window in @windows
        window.refresh(@level_up_flags[count])
        count += 1
      end
    else
      @windows[number - 1].refresh(@level_up_flags[number - 1])
    end
  end
  #--------------------------------------------------------------------------
  # ? AT Refresh
  #--------------------------------------------------------------------------
  def at_refresh(number = 0)
    if number == 0
      for window in @windows
        window.at_refresh
      end
    else
      @windows[number - 1].at_refresh
    end
  end
end

#==============================================================================
# ? Window_ActorStatus
#==============================================================================

class Window_ActorStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize(id, x)
    @id = id
    super(x, 320, 160, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 160
    actor  = $game_party.actors[@id]
    @name = actor.name
    @maxhp = actor.maxhp
    @maxsp = actor.maxsp
    @hp = actor.hp
    @sp = actor.sp
    @state = make_battler_state_text(actor, 120, true)
    @windows = []
    for i in 0...5
      @windows.push(Window_DetailsStatus.new(actor, i, x))
    end
    refresh(false)
  end
  #--------------------------------------------------------------------------
  # ? Update
  #--------------------------------------------------------------------------
  def update
    for window in @windows
      window.update
    end
  end
  #--------------------------------------------------------------------------
  # ? Dispose
  #--------------------------------------------------------------------------
  def dispose
    for window in @windows
      window.dispose
    end
    super
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh(level_up_flags)
    self.contents.clear
    actor = $game_party.actors[@id]
    @windows[0].refresh(actor) if @name != actor.name
    @windows[1].refresh(actor) if @maxhp != actor.maxhp or @hp != actor.hp
    @windows[2].refresh(actor) if @maxsp != actor.maxsp or @sp != actor.sp
    @windows[3].refresh(actor, level_up_flags) if
      (@state != make_battler_state_text(actor, 120, true) or level_up_flags)
    @name = actor.name
    @maxhp = actor.maxhp
    @maxsp = actor.maxsp
    @hp = actor.hp
    @sp = actor.sp
    @state = make_battler_state_text(actor, 120, true)
  end
  #--------------------------------------------------------------------------
  # ? AT Refresh
  #--------------------------------------------------------------------------
  def at_refresh
    @windows[4].refresh($game_party.actors[@id])
  end
end

#==============================================================================
# ? Window_DetailsStatus
#==============================================================================

class Window_DetailsStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  def initialize(actor, id, x)
    @status_id = id
    super(x, 320 + id * 26, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.opacity = 0
    self.back_opacity = 0
    refresh(actor, false)
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh(actor, level_up_flags = false)
    self.contents.clear
    case @status_id
    when 0
      draw_actor_name(actor, 4, 0)
    when 1
      draw_actor_hp(actor, 4, 4, 120)
    when 2
      draw_actor_sp(actor, 4, 4, 120)
    when 3
      if level_up_flags
        self.contents.font.color = normal_color
        self.contents.draw_text(4, 0, 120, 32, "LEVEL UP!")
      else
        draw_actor_state(actor, 4, 0)
      end
    when 4
      draw_actor_atg(actor, 4, 0, 120)
    end
  end
end

#==============================================================================
# ? Window_Base
#==============================================================================

class Window_Base
  #--------------------------------------------------------------------------
  # ? Draw Actor HP Meter
  #--------------------------------------------------------------------------
  alias cbs_draw_actor_hp draw_actor_hp
  def draw_actor_hp(actor, x, y, width = 146, height = 15)
    bg = Color.new(  0,   0,   0, 160)
    c1 = Color.new(255,   0,   0, 0)
    c2 = Color.new(255, 255,   0, 160)
    self.contents.fill_rect(x, y, width, height, bg)
    width2 = width * actor.hp / actor.maxhp
    gradient(x + 1, y + 1, width2 - 2, height - 2, c1, c2)
    cbs_draw_actor_hp(actor, x, y, width)
  end
  #--------------------------------------------------------------------------
  # ? Draw Actor SP Meter
  #--------------------------------------------------------------------------
  alias cbs_draw_actor_sp draw_actor_sp
  def draw_actor_sp(actor, x, y, width = 146, height = 15)
    bg = Color.new(  0,   0,   0, 160)
    c1 = Color.new(  0,   0, 255, 0)
    c2 = Color.new(  0, 255, 255, 160)
    self.contents.fill_rect(x, y, width, height, bg)
    width2 = width * actor.sp / actor.maxsp
    gradient(x + 1, y + 1, width2 - 2, height - 2, c1, c2)
    cbs_draw_actor_sp(actor, x, y, width)
  end
  #--------------------------------------------------------------------------
  # ? Draw Gradient
  #--------------------------------------------------------------------------
  def gradient(x, y, width, height, c1, c2)
    for i in 1..width
      x2 = x + i - 1
      r = c1.red * (width - i) / width + c2.red * i / width
      g = c1.green * (width - i) / width + c2.green * i / width
      b = c1.blue * (width - i) / width + c2.blue * i / width
      a = c1.alpha * (width - i) / width + c2.alpha * i / width
      self.contents.fill_rect(x2, y, 1, height, Color.new(r, g, b, a))
    end
  end
  #--------------------------------------------------------------------------
  # ? Make State Text
  #--------------------------------------------------------------------------
  def make_battler_state_text(battler, width, need_normal)
    brackets_width = self.contents.text_size("Status: ").width
    text = ""
    for i in battler.states
      if $data_states[i].rating >= 1
        if text == ""
          text = $data_states[i].name
        else
          new_text = text + "/" + $data_states[i].name
          text_width = self.contents.text_size(new_text).width
          if text_width > width - brackets_width
            break
          end
          text = new_text
        end
      end
    end
    if text == ""
      if need_normal
        text = "Status: Normal"
      end
    else
      text = "Status: " + text
    end
    return text
  end
end


Thanks.

*
Resident Cloud
Rep:
Level 91
thats a cool sideview battle system shame theres no way to make the battelers bigger.

anyway sorry i cant help with the the problem ive had a look but no idea :)

**
Rep: +0/-0Level 89
np, can anyone help me with this?

******
Rep:
Level 91
try opening the monster sets in paint , mark them entirely and use the "flip horizonical" option, it will make you a charset that face the other direction and it might just work...

for the rest i am too lazy to even try , but it's not that hard if say you will make the windows of the chars exist only without their stats, it won't look great but it will look better...
i am sure tsu can do it in 5 minutes.. i am too lazy to give it a shot ~.~
(it might take me like 2 hours lol)
holy shit my sig was big!

***
Rep:
Level 90
I think thats the same.. I did it with a character and just walked as him hoping he would moon walk like micheal jackson, but he did the exact same thing =\
Quote
Zxmelee says: I FUCKED A CHICK GEEZ
Neko says: I doubt it was a girl
Neko says: Was "she" working the corners?
Zxmelee says: Well, I was lying...
Zxmelee says: but, oh man. They were all over me
Neko says: With a few bucks
Neko says: That hapens

Pwnzorz'd

******
Rep:
Level 91
maybe you aren't very good using paint? ~.~

import this guy and watch the magic

holy shit my sig was big!

***
Rep:
Level 90
No, I realizeed You have to start a new game for it to take effect. I was using my saved game and he wolked normal.. I now can Laugh at micheal jackson.. Muhahaha
Quote
Zxmelee says: I FUCKED A CHICK GEEZ
Neko says: I doubt it was a girl
Neko says: Was "she" working the corners?
Zxmelee says: Well, I was lying...
Zxmelee says: but, oh man. They were all over me
Neko says: With a few bucks
Neko says: That hapens

Pwnzorz'd