Quantcast
Channel: RGSS3 Scripts (RMVX Ace) Latest Topics
Viewing all 416 articles
Browse latest View live

Font Changer v 1.0

$
0
0

Hi everyone, this is the second script I post here (it's very old), the function of this script basically is what says the title :unsure: 

In the next version I will try to add the option of Bold, Underline, etc

The video is old, the name's author is my old Steam name there.

 

 

Font Changer v 1.0

Change font

Change size

#==================#

#        Simple to Use      #

#==================#

Base: RGGS

 

Pastebin

Steam Workshop

 

Video

 

 

 

Demo

fontchanger.rar

 


Launcher - Create Adventure Games - Disable F1/F12, Disable Keyboard as Controller, Fullscreen with Mouse, Play Movies

$
0
0

TACS Launcher

 

A launcher for RPG Maker VX Ace that sets one up to create professional adventure games via a launcher.exe. It allows for stable fast fullscreen (using zeus81's fullscreen++), a solid mouse system (using shaz's mouse script), playing of movie files via VLC, disabled annoying keys like F1, F12 or anything else that would break it, and even ability to disable using your keyboard as a controller. It is stable and very easy to install. 

 

This is for fullscreen only. Windowed mode for your game using this will be completely disabled. There is the ability to add window mode using the source, but I will not release the source just yet. Documentation is provided within the download that has a short Q&A. You can use this launcher and it's scripts commercially, but you must consult with the original owners of each script used. See the documentation for further information.

 

Features: 

+ High Quality Movies in RPG Maker VX Ace, supporting all popular formats (mp4, mp2, ogv, wmv, avi, flv, mkv, etc...)

+ Fullscreen++ script used in conjunction with Super Simple Mouse script.

+ Disables F1, F12, and Alt+Enter keys.

+ Alt+Tab and Ctrl+Alt+Del minimize game.

 

Update for 7 25 2015: 

+ Fixed Ctrl+Alt+Del. Now minimizes game.

+ Alt+Tab now minimizes game.

+ Launcher.exe forces fullscreen by editing fullscreen++ ini entries. Of course this means that this is now fullscreen only.

+ Cannot run Game.exe without Launcher.exe if LauncherOnly script is active in RPG Maker

 

Download:

https://www.dropbox.com/s/457uc82od619ugx/TACS%20Launcher%20v2point1.zip?dl=0

 

Features:

 

Installation:

https://www.youtube.com/watch?v=edv576JX8Bk

 

Please give full credit to the authors involved in this: 

The Astra Cat Show/Astra Cat, with Programmer Cosmy - Launcher.exe and PlayMovie script

Zeus81 - Fullscreen++ script

Amaranth Games/Shaz - Super Simple Mouse script

JV Master - Skip Title Screen script

RSSBSACE: Reedo's Simple Side Battle System Ace Edition

$
0
0

Reedo's Simple Side Battle System Ace Edition (RSSBSACE)
Version 1.7b
September 30, 2013
By Reedo

 
References
None. This is an original script by Reedo.
 
Description
This script is a recreation of the original RSSBS created for VX back at the end of 2009.  The script has been completely reworked for ACE.

 

RSSBSACE offers a simple, plug-and-play, side-view-battle-system with no additional resource requirements.  This script is only a visual modification to the battle system and does not add any game-play mechanics.  RSSBSACE is designed for a high-degree of compatibility with other scripts.

Features
This simple SBS provides a classic "FF"-style side-battle experience.
 
This script will:

  • Draw the party on the right side of the screen, facing left, using the actor graphic specified in the database and in a formation fitting the Ace battle background layout, or in a traditional angled line if the ACTOR_STAGGER option is set to false (v1.7b).
  • Place a shadow on the ground beneath living actors.
  • Show the actor's stepping animation on their turn and when acting, if able to take actions.
  • Make the actor step toward the enemy when taking an action other than guarding.
  • Show animations for all actor actions as defined in the database for the particular action being performed.
  • Show animations for all enemy actions as defined in the database, or a default animation if none is defined (e.g. normal attack)
  • Flash the actor red when they successfully receive a hostile action.
  • Show dead actors as faded, whitened, and rotated to lay on their back.
  • Make living actors perform a "victory dance" when the battle ends (they jump and spin).
  • Optionally "mirror" enemy images to make them face to the right.

       Version 1.2

  • Make actors step back when guarding.
  • Make actors start facing backward and jump when surprised.
  • Make actors start facing down and flashing white on preemptive strike.

       Version 1.4

  • Make actors face right and take half a step when attempting to escape from battle.

       Version 1.6

  • Show weapon or skill icon as moving (swinging, punching, or pulsing) graphic during actions.
  • Now compatible with "battle test" from within the database.

       Version 1.7

  • Provides options for weapon icons to punch, pulse or do nothing instead of swinging.
  • Ensures animations play only on the RSSBSACE on-screen actors

 

As an additional feature, the script will force the game to attempt to load a tile-based battle background for any map type, not just maps using the field tile set.  Some of the floor tiles in the other tile sets will work to generate a battle background, so this allows you to use tile-based backgrounds in more of your maps.
 
Options
There are a few options at the top of the script which can be modified to change the positioning and movement of the actors, specify the mirrored enemies, and disable the forced tile-based battle backgrounds.  In most cases there will be no need to modify any of these options, other than the list of enemies to mirror.  This option looks like:

FLIP_ENEMY = [                2, 3, 4, 5, 8, 10, 12, 13, 14, 16, 17,                18, 19, 21, 22, 23, 25, 28, 29,]

And each number is simply the ID of the enemy to flip.  This is the number preceding the enemy name in the Enemies tab of the database.
 
Screen Shots

(battle begins)

post-20483-0-44133000-1379427535_thumb.j
 

(player attacks)

post-20483-0-73386200-1379427544_thumb.j
 

(player is hit)

post-20483-0-47029900-1379427557_thumb.j
 

(victory dance)
post-20483-0-90671400-1379427568_thumb.j
 
Known Bugs
None.

Please report any found.

 

9/18 - v1.4 - Corrected crash bug on escape command.  Thanks go to Lankaino for discovering this.

9/28 - v1.7 - Corrected lock-up bug on escape failure.  Thanks go to Macatlas for discovering this.

9/29 - v1.7a - Corrected deep-copy issue with YEA Victory Aftermath. Thanks go to xdrahcir for discovering this.

9/30 - v1.7b - Corrected crash bug when actor had no weapon equipped. Thanks to comprisedpuma for finding this.
 
Requirements
None.  This is a stand-alone script.
 
Installation
Plug-and-Play
 
Just insert a new script directly under Materials, name it RSSBSACE, and paste in the script code.

 

For compatibility purposes it is typically best to insert RSSBSACE above all other scripts*.

* Note that when using Yanfly YEA Battle Engine, this script must be below the Yanfly script.
 
Configuration
The only configuration necessary will be to arrange the troops such that the enemies are on the left-hand side of the screen.
 
Go into the Troops tab of the database, select each troop used in your game and drag the enemy images to arrange them to your liking on the left side of the screen.
 
All other configuration is optional via the "User Options" section at the top of the script.
 
Compatibility

Should be compatible with most other scripts.
 
Obviously any other script which also modifies the battle scene may not be compatible, but this should mostly relate to visuals such as the placement of animations.  Any battle-addon which affect mechanics and not visuals should be compatible.
 
The original RSSBS for VX was highly compatible with other scripts.  This version follows a similar design pattern so I expect it to also be highly compatible with other scripts. 

 
A Note About YanFly Scripts
We had a good deal of success between our scripts in the past so if this one turns out to have any issues I will do my best to set some time aside to correct my script and ensure as much compatibility with Miss YanFly's as possible.

 

-Update-

According to some of the posts below, YanFly's Ace engine may already provide a side-battle system.  If so, this script would not be necessary when using YanFly's engine.

 

-Better Update!!-

This script is now confirmed compatible with Yanfly YEA Battle Engine!

 

Be sure to install this script beneath the Yanfly script.

 

9/29 - Now compatible with YEA Victory Aftermath.
 
Script
Here is the complete RSSBSACE script:
 

#################################################################################  RSSBSACE - Reedo's Simple Side Battle System (for VX ACE)##  Version 1.7b##  September 30, 2013##  By Reedo#################################################################################  REFERENCES####  None.  This is an original script by Reedo.#################################################################################  FEATURES####  + Draw the party on the right side of the screen, facing left, using the actor graphic specified in the database and in a formation fitting the Ace battle background layout.##  + Place a shadow on the ground beneath living actors.##  + Show the actor's stepping animation on their turn and when acting if able to take actions.##  + Make the actor step toward the enemy when taking an action other than guarding.##  + Show animations for all actor actions as defined in the database for the particular action being performed.##  + Show animations for all enemy actions as defined in the database, or a default animation if none is defined (e.g. normal attack)##  + Flash the actor red when they successfully receive a hostile action.##  + Show dead actors as faded, whitened, and rotated to lay on their back.##  + Make living actors perform a "victory dance" when the battle ends (they jump and spin).##  + Optionally "mirror" enemy images to make them face to the right.##    = Version 1.2 =##  + Actors step back when guarding.##  + Actors start facing backward and jump when surprised.##  + Actors start facing down and flashing white on preemptive strike.##   = Version 1.4 =##  + Actors turn and move half a step to the right when attempting to flee.##    = Version 1.6 =##  + Show weapon or skill icon as moving (swinging, punching or pulsing) graphic during actions.##    (by popular demand!)##  + Now compatible with "battle test" from within the database.##    = Version 1.7 =##  + Additional options for weapon icon movement by weapon type.##  + Corrected animations to only play on RSSBS visual battlers.##  + Corrected bug on escape (caught by Macatlas - thanks!).##  + Corrected bug on no weapon equipped (caught by comprisedpuma).###################################################################################  COMPATIBILITY####  Should be compatible with most other scripts.####  OVERWRITES (1)##    Spriteset_Battle.update_actors####  STATE CHANGES (1)##    Map scroll position (display_x, display_y) is stored and set to 0,0 when##    battle begins, and then is restored when battle ends.#################################################################################  REQUIREMENTS####  None for installation and operation.####  However, enemy troops will need to be repositioned manually in the database##  editor. This script may work best with all custom enemy images designed for##  side-battle view.#################################################################################  INSTALLATION####  Plug-and-play.####  Insert below Materials, above other add-on scripts.#################################################################################  RIGHTS & RESTRICTIONS####  As with most Reedo scripts, this script is free to re-use, as-is, ##  in personal, educational, and commercial RPGVX Ace development projects, ##  providing that:  this script is credited in writing displayed readily ##  to the user of the final compiled code assembly.####  Reedo retains all rights of intellect and ownership.##  You forego all rights of warranty by utilizing this script.################################################################################################################################################################  USER OPTIONS###############################################################################module REEDO_SBS  ACTOR_START_TOP = 6.2     # Top position (in tiles) for first actor in party  ACTOR_START_LEFT = 14.5   # Left position (in tiles) for first actor in party  ACTOR_STAGGER = true      # Enables staggered layout. Set false and chance start left to 12 for angled line.  ACTOR_STAGGER_HORZ = 1.0  # The amount to recess each actor to the right (in tiles)  ACTOR_STAGGER_VERT = 0.5  # The vertical spacing between characters (in tiles)  ACTOR_STEPS_IN_OUT = 10   # The number of steps to take when moving to attack  ACTOR_STEP_DISTANCE = 0.1 # The distance to move with each step (in tiles)    ACTOR_DEATH_OPACITY = 125   # Transparency of dead actors  ACTOR_DEATH_TONE = Tone.new(128, 128, 128, 0)  # Overlay color of dead actors  ACTOR_DEATH_ANGLE = 270     # Rotation angle of dead actor sprite  ACTOR_DEATH_OFFSET_X = -0.6 # Offset in tiles for dead actors  ACTOR_DEATH_OFFSET_Y = -0.2 # Offset in tiles for dead actors    VICTORY_DANCE_ENABLED = true      # Actors spin and jump on victory if alive and movable  VICTORY_DANCE_JUMP_HEIGHT = 1.3   # The number of tiles an actor moves upward  VICTORY_DANCE_JUMP_HOVER = 4      # The number of frames to wait in the air  VICTORY_DANCE_JUMP_WAIT = 70      # The number of frames before jumping again    ACTOR_SHADOW_IMAGE = "Shadow"       # The name of the system image to use  ACTOR_SHADOW_CUSTOM_PICTURE = nil   # The name of a resource picture to use instead; nil to use system image    PREEMPTIVE_TIME = 120   # The number of frames to flash white on preemptive strike  SURPRISE_TIME = 90      # The number of frames to jump facing backward on surprise  DAMAGE_RED_TIME = 15    # Number of frames actor turns red when damaged   ATTACK_SKILL_ID = 1     # The Id in the database for the skill used as the default attack  ENEMY_DEFAULT_ATTACK = 7    # AnimationId for enemy actions with no animation  ACTION_SPRITE_INCREMENT = 5 # The amount of movement for swinging or pulsing action icons    UNARMED_ICON = 175    # The icon to use if the actor has no weapon equipped.  UNARMED_STYLE = 2     # The style to use when there is no weapon equipped.  PUNCH_SPEED = 0.4  PUNCH_DISTANCE = 32  PULSE_WEAPON_TYPES = []         # Weapons with these weapon type ids will pulse like items or skills  NO_MOVE_WEAPON_TYPES = []       # Weapons with these weapon type ids will show without moving  PUNCH_WEAPON_TYPES = [2, 6, 10] # Weapons with these weapon type ids will move toward the enemy and back                                  # All other weapon type ids will swing    # Specify the ID of enemies who should have their image flipped in battle  FLIP_ENEMY = [                2, 3, 4, 5, 8, 10, 12, 13, 14, 16, 17,                 18, 19, 21, 22, 23, 25, 28, 29,                               ]    FORCE_AUTOTILE_BACKGROUND = true # attempt to use tile-based background on all mapsend#################################################################################  MAIN SCRIPT#################################################################################  EDITS BEYOND THIS POINT ARE AT YOUR OWN RISK!!!###############################################################################module BattleManager  class << self    alias reedo_sbs_bm_process_victory process_victory    alias reedo_sbs_bm_process_escape process_escape    alias reedo_sbs_bm_gain_exp gain_exp  end    def self.gain_exp    if $imported && $imported["YEA-VictoryAftermath"]       tmp_gc = []      $game_party.all_members.each do |actor|        tmp_gc.push(actor.reedo_sbs_gc)        actor.reedo_sbs_gc = nil if actor.reedo_sbs_gc      end      reedo_sbs_bm_gain_exp      $game_party.all_members.each_with_index do |actor, i|        actor.reedo_sbs_gc = tmp_gc[i]       end    else      reedo_sbs_bm_gain_exp    end  end    def self.process_victory    SceneManager.scene.reedo_victory_dance = true if REEDO_SBS::VICTORY_DANCE_ENABLED    reedo_sbs_bm_process_victory  end    def self.process_escape    SceneManager.scene.reedo_turn_and_run    SceneManager.scene.reedo_cancel_run if !reedo_sbs_bm_process_escape  end    def self.reedo_preemptive?    @preemptive  end    def self.reedo_surprise?    @surprise  end    def self.reedo_get_actor_index    return @actor_index  endendclass Game_Action  def reedo_guard?    return item == $data_skills[subject.guard_skill_id]  endendclass Game_Actor  attr_accessor :reedo_sbs_gc  attr_accessor :reedo_damage_time  attr_accessor :reedo_is_acting    alias reedo_sbs_ga_initialize initialize  def initialize(actor_id)    reedo_sbs_ga_initialize(actor_id)    @reedo_damage_time = 0    @reedo_is_acting = false  end    alias reedo_sbs_ga_perform_damage_effect perform_damage_effect  def perform_damage_effect    @reedo_damage_time = REEDO_SBS::DAMAGE_RED_TIME    reedo_sbs_ga_perform_damage_effect  endendclass Game_Character  attr_accessor :opacity  attr_accessor :priority_type  attr_accessor :reedo_start_top  attr_accessor :reedo_jump_delta  attr_accessor :reedo_shadow_sprite  attr_accessor :reedo_is_dead  attr_accessor :reedo_action_sprite  attr_accessor :reedo_action_sprite_increment  attr_accessor :reedo_action_style    def reedo_step_on    cmd = RPG::MoveCommand.new(Game_Character::ROUTE_STEP_ANIME_ON)    process_move_command(cmd)  end    def reedo_step_off    cmd = RPG::MoveCommand.new(Game_Character::ROUTE_STEP_ANIME_OFF)    process_move_command(cmd)  end    def reedo_create_action_sprite(view)    @reedo_action_style = 1    @reedo_action_sprite_increment = REEDO_SBS::ACTION_SPRITE_INCREMENT    @reedo_action_sprite = Sprite_Base.new(view)    @reedo_action_sprite.bitmap = Bitmap.new(24, 24)    @reedo_action_sprite.src_rect = Rect.new(0, 0, 24, 24)    @reedo_action_sprite.ox = 24    @reedo_action_sprite.oy = 24    @reedo_action_sprite.x = (self.x * 32) - 28    @reedo_action_sprite.y = (self.y * 32) + 18    @reedo_action_sprite.z = (self.priority_type * 100) + 1    @reedo_action_sprite.visible = false  end    def reedo_create_shadow_sprite(view)    @reedo_shadow_sprite = Sprite_Base.new(view)    bmp = Cache.picture(REEDO_SBS::ACTOR_SHADOW_CUSTOM_PICTURE) if REEDO_SBS::ACTOR_SHADOW_CUSTOM_PICTURE != nil    bmp = Cache.system(REEDO_SBS::ACTOR_SHADOW_IMAGE) if bmp == nil    @reedo_shadow_sprite.bitmap = bmp    @reedo_shadow_sprite.src_rect = Rect.new(0, 0, bmp.width, bmp.height)    @reedo_shadow_sprite.x = (self.x * 32)     @reedo_shadow_sprite.y = (self.y * 32)     @reedo_shadow_sprite.z = (self.priority_type * 100) - 1  end    alias reedo_sbs_gc_update update  def update    reedo_sbs_gc_update    @shadow_sprite.update if @shadow_sprite != nil  end    def reedo_draw_icon(icon_index)    @reedo_action_sprite.bitmap.clear    @reedo_action_sprite.visible = (icon_index > 0)    return if icon_index < 0    bitmap = Cache.system("Iconset")    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)    @reedo_action_sprite.bitmap.blt(0, 0, bitmap, rect, 255)  endendclass Spriteset_Battle  alias reedo_sbs_ssb_initialize initialize  def initialize    @reedo_dance_wait = 0    reedo_sbs_ssb_initialize  end    alias reedo_sbs_ssb_dispose dispose  def dispose    for actor in $game_party.battle_members      actor.reedo_sbs_gc.reedo_action_sprite.dispose      actor.reedo_sbs_gc.reedo_shadow_sprite.dispose      actor.reedo_sbs_gc = nil    end    @reedo_sprite_chars.each {|sprite| sprite.dispose }    reedo_sbs_ssb_dispose  end    alias reedo_sbs_ssb_create_actors create_actors  def create_actors    dispose_actors if @actor_sprites != nil    reedo_sbs_ssb_create_actors    @reedo_game_chars = []    @reedo_sprite_chars = []    @actor_sprites = []    @reedo_surprise_time = 0    @reedo_preemptive_time = 0        i = 1    for actor in $game_party.battle_members      gc = Game_Character.new      gc.set_graphic(actor.character_name, actor.character_index)      if BattleManager.reedo_surprise?        gc.set_direction(6)        @reedo_surprise_time = REEDO_SBS::SURPRISE_TIME      elsif BattleManager.reedo_preemptive?        @reedo_preemptive_time = REEDO_SBS::PREEMPTIVE_TIME        @reedo_preemptive_tone = 0        @reedo_preemptive_delta = 10        gc.set_direction(2)      else        gc.set_direction(4)      end      gc.priority_type = i      bc = Sprite_Character.new(@viewport1, gc)      sb = Sprite_Battler.new(@viewport1, actor)      top = REEDO_SBS::ACTOR_START_TOP + (i * REEDO_SBS::ACTOR_STAGGER_VERT)      left = REEDO_SBS::ACTOR_START_LEFT      if REEDO_SBS::ACTOR_STAGGER        left += REEDO_SBS::ACTOR_STAGGER_HORZ if i % 2 == 0      else        left += REEDO_SBS::ACTOR_STAGGER_HORZ * i      end      gc.reedo_is_dead = false      gc.reedo_start_top = top      gc.reedo_jump_delta = -0.1      gc.moveto(left, top)      gc.reedo_create_shadow_sprite(@viewport1)      gc.reedo_create_action_sprite(@viewport1)      bc.update      @actor_sprites.push(sb)         @reedo_sprite_chars.push(bc)      @reedo_game_chars.push(gc)      actor.reedo_sbs_gc = gc      i += 1    end  end    alias reedo_sbs_ssb_create_enemies create_enemies  def create_enemies    reedo_sbs_ssb_create_enemies    for sprite in @enemy_sprites      sprite.mirror = true if REEDO_SBS::FLIP_ENEMY.include?(sprite.battler.enemy_id)    end  end    alias reedo_sbs_ssb_create_blurry_background_bitmap create_blurry_background_bitmap  def create_blurry_background_bitmap    if REEDO_SBS::FORCE_AUTOTILE_BACKGROUND && !$BTEST      tryName1 = battleback1_name      return reedo_sbs_ssb_create_blurry_background_bitmap if tryName1 == nil      wall = Cache.battleback1(tryName1)      tryName2 = battleback2_name      bitmap = Bitmap.new(640, 480)      bitmap.blt(0, 0, wall, wall.rect)      if tryName2 != nil        floor = Cache.battleback2(tryName2)        bitmap.blt(0, 320, floor, floor.rect)      end      bitmap    else      reedo_sbs_ssb_create_blurry_background_bitmap    end  end    def reedo_update_victory_dance    if @reedo_dance_wait == 0      @actor_sprites.each_with_index do |sprite, i|        if sprite.battler.alive? && sprite.battler.movable?          gc = @reedo_game_chars[i]          gc.moveto(gc.x, gc.y + gc.reedo_jump_delta)          if gc.y < gc.reedo_start_top - REEDO_SBS::VICTORY_DANCE_JUMP_HEIGHT            gc.reedo_jump_delta = 0.1            @reedo_dance_wait = REEDO_SBS::VICTORY_DANCE_JUMP_HOVER          end          if gc.y > gc.reedo_start_top            gc.reedo_jump_delta = -0.1            gc.set_direction(4)            @reedo_dance_wait = REEDO_SBS::VICTORY_DANCE_JUMP_WAIT          end          if ((gc.y - REEDO_SBS::VICTORY_DANCE_JUMP_HEIGHT) * 10).to_int % (REEDO_SBS::VICTORY_DANCE_JUMP_HEIGHT / 4 * 10).to_int == 0            if @reedo_dance_wait == 0              case gc.direction                when 4; gc.set_direction(2)                when 2; gc.set_direction(6)                when 6; gc.set_direction(8)                when 8; gc.set_direction(4)              end            end          end        end      end    else      @reedo_dance_wait -= 1    end  end    def reedo_update_surprise    @actor_sprites.each_with_index do |sprite, i|      if sprite.battler.alive? && sprite.battler.movable?        gc = @reedo_game_chars[i]        if @reedo_surprise_time > 1          gc.moveto(gc.x, gc.y + gc.reedo_jump_delta)          if gc.y < gc.reedo_start_top - REEDO_SBS::VICTORY_DANCE_JUMP_HEIGHT            gc.reedo_jump_delta = 0.1          end          if gc.y > gc.reedo_start_top            gc.reedo_jump_delta = -0.1          end        else          gc.moveto(gc.x, gc.reedo_start_top)          gc.set_direction(4)          end      end    end    @reedo_surprise_time -= 1  end    def reedo_update_preemptive    @actor_sprites.each_with_index do |sprite, i|      if sprite.battler.alive? && sprite.battler.movable?        sc = @reedo_sprite_chars[i]        if @reedo_preemptive_time > 1          sc.tone.set(@reedo_preemptive_tone,@reedo_preemptive_tone,@reedo_preemptive_tone)          @reedo_preemptive_tone += @reedo_preemptive_delta          @reedo_preemptive_delta *= -1 if @reedo_preemptive_tone >= 255          @reedo_preemptive_delta *= -1 if @reedo_preemptive_tone <= 0        else          sc.tone.set(0,0,0)          @reedo_game_chars[i].set_direction(4)        end      end    end    @reedo_preemptive_time -= 1  end    def update_actors    dance = false    run = false    if SceneManager.scene.is_a?(Scene_Battle)      run = SceneManager.scene.reedo_run_away      dance = SceneManager.scene.reedo_victory_dance      reedo_update_victory_dance if dance    end    reedo_update_surprise if @reedo_surprise_time > 0    reedo_update_preemptive if @reedo_preemptive_time > 0    @actor_sprites.each_with_index do |sprite, i|      gc = @reedo_game_chars[i]      sc = @reedo_sprite_chars[i]      if sprite.battler.movable?  && (BattleManager.reedo_get_actor_index == i || sprite.battler.reedo_is_acting || dance || run)        gc.reedo_step_on      else        gc.reedo_step_off      end            if gc.reedo_action_sprite.visible then        if gc.reedo_action_style == 0 # swing          gc.reedo_action_sprite.angle += gc.reedo_action_sprite_increment          gc.reedo_action_sprite_increment *= -1 if (gc.reedo_action_sprite.angle > 90) || (gc.reedo_action_sprite.angle < 0)        elsif gc.reedo_action_style == 1 # pulse          gc.reedo_action_sprite.zoom_x += (gc.reedo_action_sprite_increment * 0.01)          gc.reedo_action_sprite.zoom_y += (gc.reedo_action_sprite_increment * 0.01)          gc.reedo_action_sprite_increment *= -1 if (gc.reedo_action_sprite.zoom_x > 2.0) || (gc.reedo_action_sprite.zoom_x < 1.0)        elsif gc.reedo_action_style == 2 # punch          gc.reedo_action_sprite.x += (gc.reedo_action_sprite_increment * REEDO_SBS::PUNCH_SPEED)          gc.reedo_action_sprite_increment *= -1 if (gc.reedo_action_sprite.x < gc.reedo_shadow_sprite.x - REEDO_SBS::PUNCH_DISTANCE) || (gc.reedo_action_sprite.x > gc.reedo_shadow_sprite.x)        end        gc.reedo_action_sprite.update      else        gc.reedo_action_sprite.angle = 0        gc.reedo_action_sprite.zoom_x = 1.0        gc.reedo_action_sprite.zoom_y = 1.0        gc.reedo_action_sprite.x = gc.reedo_shadow_sprite.x      end            if sprite.battler.dead?        if gc.reedo_is_dead == false          gc.moveto(gc.x + REEDO_SBS::ACTOR_DEATH_OFFSET_X, gc.y + REEDO_SBS::ACTOR_DEATH_OFFSET_Y)          gc.reedo_shadow_sprite.visible = false          gc.opacity = REEDO_SBS::ACTOR_DEATH_OPACITY          sc.angle = REEDO_SBS::ACTOR_DEATH_ANGLE          sc.tone.set(REEDO_SBS::ACTOR_DEATH_TONE)          gc.reedo_is_dead = true        end      else        if gc.reedo_is_dead == true          gc.moveto(gc.x - REEDO_SBS::ACTOR_DEATH_OFFSET_X, gc.y - REEDO_SBS::ACTOR_DEATH_OFFSET_Y)          gc.reedo_shadow_sprite.visible = true          gc.opacity = 255          sc.angle = 0          sc.tone.set(0,0,0)          gc.reedo_is_dead = false        end        if sprite.battler.reedo_damage_time > 0          sc.tone.set(255,0,0) if sc.tone.red == 0          sprite.battler.reedo_damage_time -= 1        else          sc.tone.set(0,0,0) if sc.tone.red == 255        end      end      sc.update      gc.update      sprite.update    end  end    def reedo_game_char(index)    @reedo_game_chars[index]  end    def reedo_sprite_char(index)    @reedo_sprite_chars[index]  end    def reedo_actor_sprites    @actor_sprites  endendclass Scene_Battle  attr_accessor :reedo_victory_dance  attr_accessor :reedo_run_away  attr_reader :subject      alias reedo_sbs_sb_start start  def start    @reedo_victory_dance = false    @reedo_run_away = false    if !$BTEST      @reedo_map_x = $game_map.display_x      @reedo_map_y = $game_map.display_y      $game_map.set_display_pos(0, 0)    else      $game_map = Game_Map.new      $game_map.setup(1)    end    reedo_sbs_sb_start  end    alias reedo_sbs_sb_terminate terminate  def terminate    if !$BTEST      $game_map.set_display_pos(@reedo_map_x, @reedo_map_y)    end    reedo_sbs_sb_terminate  end    alias reedo_sbs_sb_execute_action execute_action  def execute_action    if @subject.is_a?(Game_Actor)      @subject.reedo_is_acting = true      @spriteset.update_actors      wait(15)      if !@subject.current_action.reedo_guard?        reedo_move_inout(-REEDO_SBS::ACTOR_STEP_DISTANCE)        gc = @subject.reedo_sbs_gc        iconidx = -1        if @subject.current_action.item.is_a?(RPG::Skill)          if @subject.current_action.item.id == REEDO_SBS::ATTACK_SKILL_ID            iconidx = @subject.weapons[0].icon_index if @subject.weapons[0]            iconidx = REEDO_SBS::UNARMED_ICON if iconidx < 0            if iconidx == REEDO_SBS::UNARMED_ICON               gc.reedo_action_style = REEDO_SBS::UNARMED_STYLE            elsif REEDO_SBS::NO_MOVE_WEAPON_TYPES.include?(@subject.weapons[0].wtype_id)              gc.reedo_action_style = 3 #none            elsif REEDO_SBS::PUNCH_WEAPON_TYPES.include?(@subject.weapons[0].wtype_id)              gc.reedo_action_style = 2 #punch            elsif REEDO_SBS::PULSE_WEAPON_TYPES.include?(@subject.weapons[0].wtype_id)              gc.reedo_action_style = 1 #pulse            else              gc.reedo_action_style = 0 #swing            end          else            iconidx = @subject.current_action.item.icon_index            gc.reedo_action_style = 1 #pulse          end        elsif @subject.current_action.item.is_a?(RPG::Item)          iconidx = @subject.current_action.item.icon_index          gc.reedo_action_style = 1        end        gc.reedo_draw_icon(iconidx)       else        reedo_move_inout(REEDO_SBS::ACTOR_STEP_DISTANCE / 2)      end    end    reedo_sbs_sb_execute_action    if @subject.is_a?(Game_Actor)      if !@subject.current_action.reedo_guard?        gc = @subject.reedo_sbs_gc        gc.reedo_draw_icon(-1)        reedo_move_inout(REEDO_SBS::ACTOR_STEP_DISTANCE)      else        reedo_move_inout(-(REEDO_SBS::ACTOR_STEP_DISTANCE / 2))      end      @subject.reedo_is_acting = false    end  end    alias reedo_sbs_sb_show_animation show_animation  def show_animation(targets, animation_id)    oktargets = []    targets.each do |sprite|      if sprite.is_a?(Game_Actor)        if animation_id == -1          sprite.reedo_sbs_gc.animation_id = REEDO_SBS::ENEMY_DEFAULT_ATTACK        else          sprite.reedo_sbs_gc.animation_id = animation_id        end      else        oktargets.push(sprite)      end    end     reedo_sbs_sb_show_animation(oktargets, animation_id)  end    def reedo_move_inout(dist)    i = 0    while i < REEDO_SBS::ACTOR_STEPS_IN_OUT      gc = @subject.reedo_sbs_gc      gc.moveto(gc.x + dist, gc.y)      gc.reedo_shadow_sprite.x = (gc.x * 32)      update_for_wait      i += 1    end      end    def reedo_turn_and_run    @reedo_run_away = true    @spriteset.update_actors    wait(15)    @spriteset.reedo_actor_sprites.each_with_index do |sprite, i|      gc = @spriteset.reedo_game_char(i)      gc.set_direction(6)      gc.moveto(gc.x + 0.5, gc.y)      gc.reedo_shadow_sprite.x = (gc.x * 32)    end  end    def reedo_cancel_run    @reedo_run_away = false    @spriteset.reedo_actor_sprites.each_with_index do |sprite, i|      gc = @spriteset.reedo_game_char(i)      gc.set_direction(4)      gc.moveto(gc.x - 0.5, gc.y)      gc.reedo_shadow_sprite.x = (gc.x * 32)    end    return false  endend

 

Summary

With this script you can quickly and easily show your party on screen during battle with animations and effects and no special configuration beyond rearranging the enemy layout in your troops.

 

Comments and suggestions are welcome.

 

* End Note

Special thanks to Vlue for pointing out proper way to alias a static method on a module.

 

Also, special thanks to Macatlas for a bug find, but more, for contributing the necessary information and resources for the Yanfly compatibility fix!

More Informative Saves

$
0
0

More Informative Saves v1.0b
by mjshi- OK for use in all projects with credit
Get it here! (direct link)

Introduction
Ever wanted to spice up those boring-looking saves? Well, here's a solution where you can add, edit, change, transform, EVERYTHING!

Features
- Change where the saves are shown as well as height/width (with added safety locks so nothing will ever go offscreen :D)
- Restrict maximum savefiles and savefiles shown
- Change save messages/load messages/ filenames as well as move the save message window around
- Show sprite images in party OR show party face images, configure where they are, as well as their spacing
- Display custom values or values from Game_Data on the save
- Display custom text on the save

 

update 1.0a: Fixed a bug where it wasn't looping correctly

update 1.0b: Changed how the script processed faces, via Probotector 200X's suggestions

 

Screens

A slightly more vanilla usage
post-11225-0-57220500-1449274494_thumb.p

An all-out assault on the settings
post-11225-0-66392300-1449274495_thumb.p

How to Use
Installation: Paste this script above Main.

Demo
Not really necessary.

Scripts
Direct Link: http://pastebin.com/wvbrcAS9

FAQ
Q: I don't know how to install the script >.<
A: Open scripts, click on the empty slot above Main, press Insert. Then read the How to Use section again.

Q: I have a question about how to use the script?
A: Read the "Configuration" part in the script. If you still have questions, ask here.

Q: I want to do something with this but am not sure how to do it?
A: Ask away.

Lune Skill Tree

$
0
0

Lune Skill Tree
Creator name

Introduction
 
 
Skill Tree, as used in many RPG Games, Diablo, Zenonia, Inotia, Ragnarok.... Where the player can choose diferent paths according to the skills chosen.

Portuguese user? Portuguese script page
Features
 
- Skills have levels.
- Skills have requirements for improvements, actor level, skill levels.
- Easy to add/remove skill points.
- Easy to add new skills.
- Possibility of images(not necessary).
- Can add skill points by script calls.

Screenshots
 
The screens are in portuguese, but the script has been translated to english.
exp1v.png

 
don´t consider the horrible design below, it is just to show that images are possible, to help improve the script graphically.
exp2l.png

How to Use
 
Instructions on the script

Demo
 
Not needed, but who prefers the download.
http://www.mediafire.com/?agsv9frb7y4031l
 
Script
 




#=======================================================#         Lune Skill Tree# Author: Raizen# Comunity: www.centrorpg.com# Classic Skill Tree, where you choose the skills and allocate# points through out the skill tree.#=======================================================module Skill_Tree#+++++++++++++++++++++++++++++++++++++++++++++ # Possible commands in Script Calls.#+++++++++++++++++++++++++++++++++++++++++++++# Add Skill points manually# Script Call: $game_actors[id].skill_tree[0]# remembering the operations += adds, -= subtracts.# Example, adding 4 points on actor with id of 5.# Script Call: $game_actors[5].skill_tree[0] += 4# Reseting skill tree# Just Script Call: reset_tree(id)# The id is the id of the actor on the database# Change a skill manually# Script Call: $game_actors[id].skill_tree[skill_id]# id = id of actor in database# skill_id = id of skill in database# Example: adding 5 points in skill id 3 in actor with id 2# Script Call: $game_actors[2].skill_tree[3] += 5# remembering the operations += adds, -= subtracts.# To activate the Skill Tree Screen manually.# Script Call: SceneManager.call(Scene_Skill_Change)#+++++++++++++++++++++++++++++++++++++++++++++# Initial Setup#+++++++++++++++++++++++++++++++++++++++++++++# Allow images? true/false# if true, the script will draw a image over the skill tree for# each character, allowing you to add details and improvements on the# design of the skill tree.# The image has to be on the folder Graphics/System with the name Actor1, Actor2...# according to the id of the actor.Images = false#---------------------------------------------# Text Setup#---------------------------------------------# remember to put texts inside" example 'text'.# Text confirming point add.Bot1 = 'Add 1 point'# cancelBot2 = 'Cancel'# Points RemainingRest = 'Points Remaining'# Total PointsTotal = 'Total Points'# Name on Menu.Menu = 'Skill Tree'#====================================================# Screen Actor configuration, read carefully to the instructions,# it is really important that you configure correctly the script.#====================================================# Don't modify.  Actor = []  Sk = []  # Base for actor creation, avoid erasing this part.# any time needed use this template to create actors skill trees and# skills.=begin#Actor[id] = [Sk[0] = {'x' => 100, # icon position on x axis'y' => 32, # icon position on y axis'skill' => 5, # skill obtained'desc1' => 'Requer: Lvl 5, Bola de Fogo lvl 5', # description 1'desc2' => 'Member1', # description 2'desc3' => 'Habilidade com ataque em área', # description 3'req' => [0, 1, 5, 9, 5], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 5, # skill max level'mult' => [10, 5], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.},Sk[1] = {'x' => 100, # icon position on x axis'y' => 32, # icon position on y axis'skill' => 5, # skill obtained'desc1' => 'Requer: Lvl 5, Bola de Fogo lvl 5', # description 1'desc2' => 'Member1', # description 2'desc3' => 'Habilidade com ataque em área', # description 3'req' => [0, 1, 5, 9, 5], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 5, # skill max level'mult' => [10, 5], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.} # you can add as many skills as necessary]=end# ============================================================================# ======= Actor 1 =======================================================# ============================================================================Actor[8] = [Sk[0] = {'x' => 30, # icon position on x axis'y' => 30, # icon position on y axis'skill' => 51, # skill obtained'desc1' => 'Requires: Level 1', # description 1'desc2' => '', # description 2'desc3' => 'Fire 1', # description 3'req' => [0], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 10, # skill max level'mult' => [10, 2], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.},Sk[1] = {'x' => 90, # icon position on x axis'y' => 30, # icon position on y axis'skill' => 119, # skill obtained'desc1' => 'Requires: Level 1', # description 1'desc2' => '', # description 2'desc3' => 'Magical Reflection', # description 3'req' => [0], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 1, # skill max level'mult' => [10, 2], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.},Sk[2] = {'x' => 30, # icon position on x axis'y' => 90, # icon position on y axis'skill' => 52, # skill obtained'desc1' => 'Requires: Level 8 + 4x level', # description 1'desc2' => 'Fire 1 - Level 5', # description 2'desc3' => 'Fire 2', # description 3'req' => [8, 51, 5], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 10, # skill max level'mult' => [10, 4], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.},Sk[3] = {'x' => 30, # icon position on x axis'y' => 150, # icon position on y axis'skill' => 53, # skill obtained'desc1' => 'Requires: Lvl 15 + 4xlevel', # description 1'desc2' => 'Fire1-lvl 7, Fire2-lvl 5', # description 2'desc3' => 'Flare', # description 3'req' => [15, 51, 7, 52, 5], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 10, # skill max level'mult' => [10, 4], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.}]# ============================================================================# ======= Personagem 2 =======================================================# ============================================================================Actor[9] = [Sk[0] = {'x' => 30, # icon position on x axis'y' => 30, # icon position on y axis'skill' => 51, # skill obtained'desc1' => 'Requires: Level 1', # description 1'desc2' => '', # description 2'desc3' => 'Fire 1', # description 3'req' => [0], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 10, # skill max level'mult' => [10, 2], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.},Sk[1] = {'x' => 90, # icon position on x axis'y' => 30, # icon position on y axis'skill' => 119, # skill obtained'desc1' => 'Requires: Level 1', # description 1'desc2' => '', # description 2'desc3' => 'Magical Reflection', # description 3'req' => [0], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 1, # skill max level'mult' => [10, 2], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.},Sk[2] = {'x' => 30, # icon position on x axis'y' => 90, # icon position on y axis'skill' => 52, # skill obtained'desc1' => 'Requires: Level 8 + 4x level', # description 1'desc2' => 'Fire 1 - Level 5', # description 2'desc3' => 'Fire 2', # description 3'req' => [8, 51, 5], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 10, # skill max level'mult' => [10, 4], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.},Sk[3] = {'x' => 30, # icon position on x axis'y' => 150, # icon position on y axis'skill' => 53, # skill obtained'desc1' => 'Requires: Lvl 15 + 4xlevel', # description 1'desc2' => 'Fire1-lvl 7, Fire2-lvl 5', # description 2'desc3' => 'Flare', # description 3'req' => [15, 51, 7, 52, 5], # requeriments [necessary level,#skill id necessary, skill level, skill id, skill level.# You can add as many skills for requirements as you wish'maxlvl' => 10, # skill max level'mult' => [10, 4], # multipliers, first is multiplier of heal/damage/effect# the second is how many levels are needed to up the next skill level.}]end#==============================================================================#==============================================================================#========================= Here Starts the Script =============================#==============================================================================#==============================================================================#==============================================================================# ** Scene_Status#------------------------------------------------------------------------------#  Esta classe executa o processamento da tela de atributos.#==============================================================================class Scene_Skill_Change < Scene_MenuBase  #--------------------------------------------------------------------------  # * Inicialização do processo  #--------------------------------------------------------------------------  def start    @set = $game_party.actors # array com ids dos personagens do grupo    @control_index = 0 #controle do indice de personagens    @control_inindex = 0 # controle do indice de habilidades    @status_window = Window_Skill_Select.new($game_party.actors[0]) # inicialização do menu de habilidades    @actor_window = Window_Actor_Sk.new(0, 0) # inicialização do menu de atores    @desc_window = Window_Help_Sk.new($game_party.actors[0]) # inicialização do menu de ajuda    @confirm = Window_Skill_Confirm.new # inicialização do menu de confirmação    @confirm.set_handler(:use_point, method(:command_use))    @confirm.set_handler(:return_window, method(:command_return))    @confirm.close    @actor_window.active = true    @status_window.active = false    @table = Skill_Tree::Actor    super  end  #--------------------------------------------------------------------------  # * Atualização do Processo  #--------------------------------------------------------------------------  def update    super    # Verificação do índice do menu    if @control_index != @actor_window.index       @control_index = @actor_window.index       @status_window.refresh(@set[@actor_window.index]) # mudança da janela de skills       @desc_window.refresh(@set[@actor_window.index], @status_window.index) # mudança da janela de skills     end    # Verificação do índice de habilidade    if @control_inindex != @status_window.index       @control_inindex = @status_window.index       @desc_window.refresh(@set[@actor_window.index], @status_window.index) # mudança da janela de skills    end    # Confirmação     if Input.trigger?(:C)       if @actor_window.active == true        Sound.play_ok        @status_window.active = true        @actor_window.active = false      elsif @status_window.active == true        @status_window.active = false        @confirm.open        @confirm.activate      end    end    # Retorno    if Input.trigger?(:      if @actor_window.active == true        return_scene      elsif @status_window.active == true        @status_window.active = false        @actor_window.active = true              end    end  end  #--------------------------------------------------------------------------  # * Confirmação de saída  #--------------------------------------------------------------------------  def command_return    @confirm.close    @status_window.active = true  end  #--------------------------------------------------------------------------  # Confirmação de distribuição  #--------------------------------------------------------------------------  def command_use    @nocall = true    id = $game_party.actors[@actor_window.index]    # verificação dos requisitos    if $game_actors[id].skill_tree[0] > 0 && $game_actors[id].skill_tree[@table[id][@status_window.index]['skill']] < @table[id][@status_window.index]['maxlvl']      for n in 1...@table[id][@status_window.index]['req'].size        if n.even?          @nocall = false if @table[id][@status_window.index]['req'][n] > $game_actors[id].skill_tree[@table[id][@status_window.index]['req'][n-1]]        end      end    else      @nocall = false    end    # verificação do multiplicador de level    @nocall = false if @table[id][@status_window.index]['mult'][1]*$game_actors[id].skill_tree[@table[id][@status_window.index]['skill']] + @table[id][@status_window.index]['req'][0] >$game_actors[id].level    @confirm.close    @status_window.active = true    unless @nocall      Sound.play_buzzer      return    end    if $game_actors[id].skill_tree[@table[id][@status_window.index]['skill']] == 0      $game_actors[id].learn_skill(@table[id][@status_window.index]['skill'])    end    $game_actors[id].skill_tree[@table[id][@status_window.index]['skill']] += 1    $game_actors[id].skill_mult[@table[id][@status_window.index]['skill']] += @table[id][@status_window.index]['mult'][0]    $game_actors[id].skill_tree[0] -= 1    Sound.play_ok    @status_window.refresh(@set[@actor_window.index])  end  #--------------------------------------------------------------------------  # * Retorno ao menu principal  #--------------------------------------------------------------------------  def return_scene    super    @status_window.dispose    @actor_window.dispose    @desc_window.dispose  endend#==============================================================================# ** Window_Actor_Sk#------------------------------------------------------------------------------# Esta janela exibe os personagens do grupo.#==============================================================================class Window_Actor_Sk < Window_MenuStatus    #--------------------------------------------------------------------------  # * Largura da janela  #--------------------------------------------------------------------------  def window_width    120   end  #--------------------------------------------------------------------------  # * Altura da janela  #--------------------------------------------------------------------------  def window_height    Graphics.height  endend#==============================================================================# ** Window_Skill_Select#------------------------------------------------------------------------------# Janela Principal da Skill Tree#==============================================================================class Window_Skill_Select < Window_Baseattr_reader :index  #--------------------------------------------------------------------------  # * Inicialização da Janela  #--------------------------------------------------------------------------  def initialize(a)    super(120, 0, window_width, Graphics.height - fitting_height(3))    refresh(a)    @page = 0    @index = 0    update_cursor  end  #--------------------------------------------------------------------------  # * Largura da Janela  #--------------------------------------------------------------------------  def window_width    Graphics.width - 120  end  #--------------------------------------------------------------------------  #--------------------------------------------------------------------------  # * Aquisição do retangulo para desenhar o item(cursor)  #     index : índice do item  #--------------------------------------------------------------------------  def item_rect(index)    rect = Rect.new    rect.x = @table[index]['x']    rect.y = @table[index]['y']    rect.width = 24    rect.height = 24    rect  end  #--------------------------------------------------------------------------  # * Atualização da janela  #--------------------------------------------------------------------------  def refresh(a)    contents.clear    if Skill_Tree::Images      if @tree_load        @tree_load.bitmap.dispose        @tree_load.dispose      end      @tree_load = Sprite.new      @tree_load.bitmap = Cache.system("Actor#{+a}")      @tree_load.z = 200    end    @table = Skill_Tree::Actor[a]    contents.font.color = text_color(1)    @sum = 0    $game_actors[a].skill_tree.each {|z| @sum += z}    draw_text(50, -10, 180, 50, $game_actors[a].skill_tree[0].to_s + " "+ Skill_Tree::Rest)     draw_text(window_width - 200, -10, 180, 50, @sum.to_s + " "+ Skill_Tree::Total)    contents.font.color = text_color(0)    for i in 0...@table.size      contents.font.size = 16      draw_text(@table[i]['x'], @table[i]['y']+ 26, 40, 30, $game_actors[a].skill_tree[@table[i]['skill']].to_s + " /" + @table[i]['maxlvl'].to_s)      draw_icon($data_skills[@table[i]['skill']].icon_index, @table[i]['x'], @table[i]['y'], $game_actors[a].skill_learn?($data_skills[@table[i]['skill']]))    end    contents.font.size = Font.default_size    @page = 0    @index = 0    update_cursor  end  #--------------------------------------------------------------------------  # * Renovação  #--------------------------------------------------------------------------  def update    return if active == false    if Input.repeat?(:RIGHT) || Input.repeat?(:DOWN)      @index += 1       @index = 0 if @index >= @table.size      Sound.play_cursor    elsif Input.repeat?(:LEFT) || Input.repeat?(:UP)      @index -= 1       @index = (@table.size - 1) if @index < 0      Sound.play_cursor    end    update_cursor  end  #--------------------------------------------------------------------------  # * Atualização do cursor  #--------------------------------------------------------------------------  def update_cursor    cursor_rect.set(item_rect(@index))  end  #--------------------------------------------------------------------------  # * Execução do movimento do cursor  #--------------------------------------------------------------------------  def process_cursor_move    last_page = @page    super    update_cursor    Sound.play_cursor if @page != last_page  end  #--------------------------------------------------------------------------  # * Definição de controle de confirmação e cancelamento  #--------------------------------------------------------------------------  def process_handling    return unless open? && active    process_jump if Input.trigger?(:A)    process_back if Input.repeat?(:    process_ok   if Input.trigger?(:C)  end  #--------------------------------------------------------------------------  # * Definição de resultado ao pressionar o botão de confirmação  #--------------------------------------------------------------------------  def process_ok    if !character.empty?      on_name_add    elsif is_page_change?      Sound.play_ok      cursor_pagedown    elsif is_ok?      on_name_ok    end  end  #--------------------------------------------------------------------------  # * Adição ao nome do personagem  #--------------------------------------------------------------------------  def on_name_add    if @edit_window.add(character)      Sound.play_ok    else      Sound.play_buzzer    end  end  #--------------------------------------------------------------------------  # * Definição do nome  #--------------------------------------------------------------------------  def on_name_ok    if @edit_window.name.empty?      if @edit_window.restore_default        Sound.play_ok      else        Sound.play_buzzer      end    else      Sound.play_ok      call_ok_handler    end  end  #--------------------------------------------------------------------------  # * Descarte  #--------------------------------------------------------------------------  def dispose    super    if @tree_load      @tree_load.bitmap.dispose      @tree_load.dispose    end  endend#==============================================================================# ** Window_Help_Sk#------------------------------------------------------------------------------#  Esta janela exibe explicação de habilidades e informações sobre os requerimentos.#==============================================================================class Window_Help_Sk < Window_Base  def initialize(a)    super(120, Graphics.height - fitting_height(3), Graphics.width - 120, fitting_height(3))    @table = Skill_Tree::Actor[a]    refresh(a, 1)  end  #--------------------------------------------------------------------------  # * Atualização da janela  #--------------------------------------------------------------------------  def refresh(a, index)    contents.clear    @table = Skill_Tree::Actor[a] unless Skill_Tree::Actor[a] == nil    contents.font.color = text_color(20)    draw_text(0, 0, Graphics.width - 120, line_height, @table[index]['desc1'])    draw_text(0, line_height, Graphics.width - 120, line_height, @table[index]['desc2'])    contents.font.color = text_color(0)    draw_text(0, line_height*2, Graphics.width - 120, line_height, @table[index]['desc3'])  endend#==============================================================================# ** Window_MenuStatus#------------------------------------------------------------------------------#  Esta janela exibe os parâmetros dos membros do grupo na tela de menu.#==============================================================================class Window_Skill_Confirm < Window_Command  #--------------------------------------------------------------------------  # * Inicialização do objeto  #--------------------------------------------------------------------------  def initialize    super(0, 0)    self.z = 9999    self.x = (Graphics.width / 2) - (window_width / 2)    self.y = Graphics.height / 2    self.openness = 0  end  #--------------------------------------------------------------------------  # * Aquisição da largura da janela  #--------------------------------------------------------------------------  def window_width    return 160  end  #--------------------------------------------------------------------------  # * Criação da lista de comandos  #--------------------------------------------------------------------------  def make_command_list    add_main_commands  end  #--------------------------------------------------------------------------  # * Adição dos comandos principais  #--------------------------------------------------------------------------  def add_main_commands    add_command(Skill_Tree::Bot1,   :use_point,   true)    add_command(Skill_Tree::Bot2,  :return_window,  true)  endend#==============================================================================# ** Game_Actor#------------------------------------------------------------------------------#  Esta classe gerencia os heróis. Ela é utilizada internamente pela classe# Game_Actors ($game_actors). A instância desta classe é referenciada# pela classe Game_Party ($game_party).#==============================================================================class Game_Actor < Game_Battleralias sk_tree_ini setupalias sk_tree_lvl level_upattr_accessor :skill_treeattr_accessor :skill_mult  #--------------------------------------------------------------------------  # * Inicialização do objeto  #     actor_id : ID do herói  #--------------------------------------------------------------------------  def setup(actor_id)    sk_tree_ini(actor_id)    @skill_tree = Array.new($data_skills.size + 1, 0)    @skill_mult = Array.new($data_skills.size + 1, 0)  end  #--------------------------------------------------------------------------  # * Aumento de nível  #--------------------------------------------------------------------------  def level_up    sk_tree_lvl    @skill_tree[0] += 1  endend#==============================================================================# ** Game_Party#------------------------------------------------------------------------------#  Esta classe gerencia o grupo. Contém informações sobre dinheiro, itens.# A instância desta classe é referenciada por $game_party.#==============================================================================class Game_Party < Game_Unitattr_accessor :actorsend#==============================================================================# ** Game_Battler#------------------------------------------------------------------------------#  Esta classe gerencia os battlers. Controla a adição de sprites e ações # dos lutadores durante o combate.# É usada como a superclasse das classes Game_Enemy e Game_Actor.#==============================================================================class Game_Battler < Game_BattlerBase  #--------------------------------------------------------------------------  # * Cálculo de dano  #     user : usuário  #     item : habilidade/item  #--------------------------------------------------------------------------  def make_damage_value(user, item)    value = item.damage.eval(user, self, $game_variables)    value *= item_element_rate(user, item)    value *= pdr if item.physical?    value *= mdr if item.magical?    value *= rec if item.damage.recover?    value = apply_critical(value) if @result.critical    value = apply_variance(value, item.damage.variance)    value = apply_guard(value)    value += (value * $game_actors[user.id].skill_mult[item.id])/100    @result.make_damage(value.to_i, item)  endend#==============================================================================# ** Game_Interpreter#------------------------------------------------------------------------------#  Um interpretador para executar os comandos de evento. Esta classe é usada# internamente pelas classes Game_Map, Game_Troop e Game_Event.#==============================================================================class Game_Interpreter  def reset_tree(id)    @sum_sk = 0    $game_actors[id].skill_tree.each {|z| @sum_sk += z}    $game_actors[id].skill_tree.fill(0)    $game_actors[id].skill_tree[0] = @sum_sk  endend 
 

 
Menu add, to add the script to the menu.
 

#==============================================================================# ** Scene_Menu#------------------------------------------------------------------------------#  Esta classe executa o processamento da tela de menu.#==============================================================================class Scene_Menu < Scene_MenuBase  def create_command_window    @command_window = Window_MenuCommand.new    @command_window.set_handler(:item,      method(:command_item))    @command_window.set_handler(:skill,     method(:command_personal))    @command_window.set_handler(:equip,     method(:command_personal))    @command_window.set_handler(:status,    method(:command_personal))    @command_window.set_handler(:skill_tree,  method(:command_skill_tree))    @command_window.set_handler(:formation, method(:command_formation))    @command_window.set_handler(:save,      method(:command_save))    @command_window.set_handler(:game_end,  method(:command_game_end))    @command_window.set_handler(:cancel,    method(:return_scene))  end  def command_skill_tree      SceneManager.call(Scene_Skill_Change)  endend#==============================================================================# ** Window_MenuCommand#------------------------------------------------------------------------------#  Esta janela exibe os comandos do menu.#==============================================================================class Window_MenuCommand < Window_Commandalias raizen_add_main_commands add_main_commands  def add_main_commands    raizen_add_main_commands    add_command(Skill_Tree::Menu, :skill_tree, main_commands_enabled)  endend 




Credit and Thanks
- Raizen

DoubleX RMVXA Unison Addon to YSA Battle System: Classical ATB

$
0
0

DoubleX RMVXA Unison Addon v1.02f to YSA Battle System: Classical ATB

by DoubleX

 

Note

This addon doesn't work if the battle system isn't catb

Using DoubleX RMVXA Tag Addon to Yami Engine Symphony - Battle Symphony as well may improve the compatibility with Yami Engine Symphony - Battle Symphony:

http://forums.rpgmakerweb.com/index.php?/topic/24604-doublex-rmvxa-tag-addon-to-yami-engine-symphony-battle-symphony/

 

Prerequisites

DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB

http://forums.rpgmakerweb.com/index.php?/topic/22142-doublex-rmvxa-bug-fixes-to-ysa-battle-system-classical-atb/

YSA Battle System: Classical ATB(Created by Yami)

http://yamiworld.wordpress.com/rgss3/battle-scripts/yeas-add-on/ysa-battle-system-classical-active-time-battle/

 

Introduction

Adds unison skills and items to YSA Battle System: Classical ATB

Spoiler

#------------------------------------------------------------------------------|
#  * Notetag <custom catb unison item: x> for skills and items:                |
#    x is the list of id of actors needed for the skill or item. For instance: |
#    - <custom catb unison item: 1> means actor with id 1 is required to use it|
#    - <custom catb unison item: 4, 2> means actors with id 4 and 2 are needed |
#      to use it                                                               |
#    All actors in list x needs to have full atb bar, able to use it and pay   |
#    its cost. They'll all charge it and pay the cost including cooldown after |
#    using it. Only actors in list x can select it.                            |
#------------------------------------------------------------------------------|
#  * Notetag <custom catb unison rule: x> for skills and items:                |
#    x is the rule of setting parameters used in the charge and cooldown rate  |
#    and damage formula of the skill or item. Notetag setting overrides the    |
#    universal UNISON_PARAM_RULE. This notetag doesn't work if                 |
#    <custom catb unison item: x> is absent or x is nil.                       |
#------------------------------------------------------------------------------|
#  * Notetag <custom catb unison param: x> for skills and items:               |
#    x is the list of id of actors needed for the skill or item and stat is    |
#    parameters used in its damage formula. For instance:                      |
#    - <custom catb unison atk: 1> means atk in its damage formula uses atk of |
#      actor with id 1                                                         |
#    - <custom catb unison agi: 4, 2> means agi in its damage formula uses agi |
#      of actors with id 4 and 2 under unison rule specified in                |
#      <custom catb unison rule: x> notetag                                    |
#    Charge and cooldown rate won't be altered by this notetag                 |
#    param can be hp, mp, tp, level, mhp, mmp, atk, def, mat, mdf, agi or luk. |
#------------------------------------------------------------------------------|

#==============================================================================|
#  ** You only need to edit this part as it's about what this script does      |
#------------------------------------------------------------------------------|

module DoubleX_RMVXA
  module YSA_CATB_Unison_Addon

#------------------------------------------------------------------------------|
#  * SHOW_UNISON_ACTOR, default = YEA::BATTLE::MSG_CURRENT_ACTION              |
#    The battlelog will show all actors involved in the unison skill or item   |
#    instead of only the one invoking it if SHOW_UNISON_ACTOR is true.         |
#------------------------------------------------------------------------------|
  SHOW_UNISON_ACTOR = YEA::BATTLE::MSG_CURRENT_ACTION

#------------------------------------------------------------------------------|
#  * UNISON_PARAM_RULE, default = 2                                            |
#    AGI in the charge and cooldown rate and each parameter in the damage      |
#    formula of the unison skill or item used will be altered by one of the    |
#    rules below if it's no working <custom catb unison item: x> notetag:      |
#    0 - No changes will take place                                            |
#    1 - Its minimum among all actors involved in the unison skill or item used|
#        will be used in its charge and cooldown rate and damage formulae      |
#    2 - Its average among all actors involved in the unison skill or item used|
#        will be used in its charge and cooldown rate and damage formulae      |
#    3 - Its maximum among all actors involved in the unison skill or item used|
#        will be used in its charge and cooldown rate and damage formulae      |
#------------------------------------------------------------------------------|
  UNISON_PARAM_RULE = 2

  end # YSA_CATB_Unison_Addon
end # DoubleX_RMVXA

#==============================================================================|

 

Video

http://www.youtube.com/watch?v=xlFEF0yIosc&feature=youtu.be

 

Features
Use of notetags(needs knowledge of notetag usage) to set specific skills or items needing specific actors and using specific parameter rules in their charge and cooldown rate and damage formulae in notetags in these skills or items' notebox

How to use
Open the script editor and put this script into an open slot between the script DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB and Main. Save to take effect.

FAQ
None

Credit and Thanks
DoubleX(Giving me credit is completely optional)
The terms of use are the same as that of YSA Battle System: Classical ATB except that you must also give Yami credit(you should do this anyway) if you give DoubleX or his alias credit
 
Compatibility
Same as that of YSA Battle System: Classical ATB
 
Changelog

v1.02f(GMT 1400 1-4-2016):

- Fixed not confirming skills/items not for opponents only or allies only

v1.02e(GMT 1200 27-2-2015):

- Fixed interrupted unison skill/item upon confirming targets bug

- Fixed unison skill/item cooldown bug

v1.02d(GMT 1200 26-2-2015):

- Fixed unison guard not working bug

v1.02c(GMT 1200 25-2-2015):

- Compatible with

  DoubleX RMVXA CATB Charge Addon to YSA Battle System: Classical ATB

- Increased the efficiency of this script

v1.02b(GMT 0000 1-7-2014):

- Compatible with DoubleX RMVXA Action Addon to YSA Battle System: Classical ATB

- Fixed unison item not invoking common event bug

- Fixed nil BattleManager.actor while picking target bug

v1.02a(GMT 0900 7-2-2014):

- Added <custom catb unison param: x> notetag

v1.01a(GMT 1500 26-1-2014):

- Compatible with Actor Personal Hotkeys and fixed charge and nil item bug

v1.00a(GMT 0000 23-1-2014):

- 1st version of this script finished

 

(DoubleX)YSA CATB Unison Addon v1.02f.rar

DoubleX RMVXA Cooldown Addon to YSA Battle System: Classical ATB

$
0
0

DoubleX RMVXA Cooldown Addon v1.04m to YSA Battle System: Classical ATB

by DoubleX

 

Prerequisites

DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB

YSA Battle System: Classical ATB(Created by Yami)

 

Introduction

With this script, users can set specific skills or items to force the whole battler to cooldown at x% rate(similar to charge rate) after using them. He/she/it can't act(even if their atb bar are still full) and his/her/its atb bar won't fill up before finishing cooldown.

Spoiler

#==============================================================================|
#  ** You only need to edit this part as it's about what this script does      |
#------------------------------------------------------------------------------|

#------------------------------------------------------------------------------|
#  * Skill/Item Notetags:(skill/item notebox in the database)                  |
#    - <cooldown rate: x%>                                                     |
#    Sets cooldown time for the whole battler after using skills or items with |
#    this notetag. He/she/it'll be cooled down at normal ATB filled speed * x%,|
#    meaning he/she/it'll be cooled down at x% rate.                           |
#------------------------------------------------------------------------------|

module DoubleX_RMVXA
  module YSA_CATB_Cooldown_Addon

    # Sets the cooldown gauge color, default = 26, 27
    COOLDOWN_COLOR1 = 26
    COOLDOWN_COLOR2 = 27
    # (v1.03a+) Use rgba values instead of text colors, default = unused
    #COOLDOWN_COLOR1 = Color.new(0, 0, 0, 0)
    #COOLDOWN_COLOR2 = Color.new(0, 0, 0, 0)
    #

  end # YSA_CATB_Cooldown_Addon
end # DoubleX_RMVXA

#==============================================================================|

 

Video

http://www.youtube.com/watch?v=AqLFC_DyYYE&feature=youtu.be

 

Features
Use of notetags(requires knowledge of notetag usage) to set specific skills or items to force the whole battler to cooldown at x% rate after using them

How to use
Open the script editor and put this script into an open slot between the script DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB and Main. Save to take effect.

FAQ
None

Credit and Thanks
DoubleX(Giving me credit is completely optional)
The terms of use are the same as that of YSA Battle System: Classical ATB except that you must also give Yami credit(you should do this anyway) if you give DoubleX or his alias credit
 
Compatibility
Same as that of YSA Battle System: Classical ATB
 
Changelog

v1.04m(GMT 1300 1-4-2016):

- Fixed the command guard cooldown rate bug again

v1.04l(GMT 1400 15-12-2015):

- Fixed setting the wrong actor's item_cooldown upon action input confirm

v1.04k(GMT 1200 16-11-2015):

- Fixed nil @item_cooldown bug for confused and/or atuobattle actors

v1.04j(GMT 1200 26-2-2015):

- Fixed the default and command guard cooldown rate bug

- Increased the efficiency of this script

v1.04i(GMT 1200 25-2-2015):

- Fixed the Actor Personal Hotkeys bug in picking the prior and next actor

- Increased the efficiency of this script

v1.04h(GMT 1300 2-2-2015):

- Fixed the cooldown actors being able to be selected bug

v1.04g(GMT 0700 3-12-2014):

- Updated compatibility with DoubleX RMVXA Color Addon to YSA Battle System: Classical ATB

v1.04f(GMT 0300 6-9-2014):

- Compatible with Yanfly Engine Ace - Lunatic States

v1.04e(GMT 0200 20-8-2014):

- Included the battlers escape bug fix

v1.04d(GMT 0100 11-8-2014):

- Compatible with Yanfly Engine Ace - Skill Restrictions

v1.04c(GMT 1200 29-7-2014):

- Updated the compatibility with DoubleX RMVXA Color Addon to YSA Battle System: Classical ATB

v1.04b(GMT 1000 30-6-2014):

- Compatible with

  DoubleX RMVXA Action Addon to YSA Battle System: Classical ATB

  DoubleX RMVXA Percentage Addon to YSA Battle System: Classical ATB

v1.04a(GMT 0100 9-4-2014):

- Compatible with Yanfly Engine Ace - Instant Cast

v1.03a(GMT 0500 10-3-2014):

- COOLDOWN_COLOR can use rgba values also

v1.02b(GMT 1100 5-2-2014):

- Compatible with DoubleX RMVXA Color Addon to YSA Battle System: Classical ATB

v1.01b(GMT 1500 26-1-2014):

- Compatible with Actor Personal Hotkeys and fixed cooldown bug

v1.00b(GMT 0300 22-1-2014):

- Fixed bugs in cooldown and selection of actors in the status window

v1.00a (GMT 1600 9-1-2014):

- 1st version of this script finished

 

(DoubleX)YSA CATB Cooldown Addon v1.04m.rar

DoubleX RMVXA Action Addon to YSA Battle System: Classical ATB

$
0
0

DoubleX RMVXA Action Addon v1.01i to YSA Battle System: Classical ATB

by DoubleX

 

Note

Action point requirements can be displayed using Yanfly Engine Ace - Skill Cost Manager:

http://yanflychannel.wordpress.com/rmvxa/gameplay-scripts/skill-cost-manager/

For example:

Spoiler

<custom cost: 2 actions>
<custom cost requirement>
true
</custom cost requirement>

 

Now "2 actions" should displays as a skill or item cost.

 

Prerequisites

DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB

http://forums.rpgmakerweb.com/index.php?/topic/22142-doublex-rmvxa-bug-fixes-to-ysa-battle-system-classical-atb/

YSA Battle System: Classical ATB(Created by Yami)

http://yamiworld.wordpress.com/rgss3/battle-scripts/yeas-add-on/ysa-battle-system-classical-active-time-battle/

 

Introduction

Lets users to set the number of actions required for skills or items

Spoiler

#------------------------------------------------------------------------------|
#  * (v1.01a+)Skill/Item Notetags:(skill/item notebox in the database)         |
#    - <custom catb action add: a, s>                                          |
#    Sets the number of action points added to the targets after using the     |
#    skill or item. If the result is negative, it'll be set as 0.              |
#    Setting a as 0 is effectively changing nothing.                           |
#    Setting a as negative means a will be substracted from the action points  |
#    the targets. The minimum of the result is 0.                              |
#    s can be either 0 or 1 meaning a is negative or positive respectively.    |
#------------------------------------------------------------------------------|
#  * Skill/Item Notetags:(skill/item notebox in the database)                  |
#    - <custom catb action: a, s>                                              |
#    Sets the number of actions required for this skill or item. Battlers can't|
#    use it if they don't have enough currently available actions.             |
#    Setting a as 0 is effectively the same as using the <instant> notetag of  |
#    Yanfly Engine Ace - Instant Cast.                                         |
#    Setting a as negative means more actions will be available to the users of|
#    this skill or item after using it.                                        |
#    s can be either 0 or 1 meaning a is negative or positive respectively.    |
#------------------------------------------------------------------------------|

 

 

Video

https://www.youtube.com/watch?v=MzHSeFj9jlM&feature=youtu.be

 

Features
Use of notetags(requires knowledge of notetag usage) to set specific skills or items to cost x actions

How to use
Open the script editor and put this script into an open slot between the script DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB and Main. Save to take effect.

FAQ
None

Credit and Thanks
DoubleX(Giving me credit is completely optional)
The terms of use are the same as that of YSA Battle System: Classical ATB except that you must also give Yami credit(you should do this anyway) if you give DoubleX or his alias credit
 
Compatibility
Same as that of YSA Battle System: Classical ATB
 
Changelog

v1.01j(GMT 1300 1-4-2016):

- Fixed the command guard action cost not working bug again

v1.01i(GMT 1400 15-12-2015):

- Fixed setting the wrong actor's item_action upon action input confirm

v1.01h(GMT 1200 16-11-2015):

- Fixed nil @item_action bug for confused and/or atuobattle actors

v1.01g(GMT 1200 26-2-2015):

- Fixed the command guard action cost not working bug

v1.01f(GMT 1200 25-2-2015):

- Compatible with

  DoubleX RMVXA CATB Charge Addon to YSA Battle System: Classical ATB

- Increased the efficiency of this script

v1.01e(GMT 0000 13-9-2014):

- Fixed <custom catb action add: a, s> not making nor clearing actions bug

v1.01d(GMT 0200 20-8-2014):

- Included the battlers escape bug fix

v1.01c(GMT 0000 6-8-2014):

- Fixed more item usability issues

v1.01b(GMT 0100 5-8-2014):

- Fixed skills or items not usable outside battles bug

v1.01a(GMT 1200 21-7-2014):

- Added <custom catb action add: a, s> notetag

- Changed notetag <custom catb action: x> to <custom catb action: a, s>

v1.00a (GMT 0200 1-7-2014):

- 1st version of this script finished

 

(DoubleX)YSA CATB Action Addon v1.01j.rar


Party Leader Quick Swap

$
0
0

Party Leader Quick Swap

Version 0.10

 

Quickly change party leaders with the push of a single button.

 

Features:

  • Quickly Swap Party Leaders on the Map
  • Lightweight Plug-n-Play
  • Adjustable Key-Bind

 

Screenshots:

None.

 

Download:

Personal Website

 

Credit:

XPBYTE7

DoubleX RMVXA Charge Addon to YSA Battle System: Classical ATB

$
0
0

DoubleX RMVXA Charge Addon v1.00d to YSA Battle System: Classical ATB

by DoubleX

 

Prerequisites

DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB

http://forums.rpgmakerweb.com/index.php?/topic/22142-doublex-rmvxa-bug-fixes-to-ysa-battle-system-classical-atb/

YSA Battle System: Classical ATB(Created by Yami)

http://yamiworld.wordpress.com/rgss3/battle-scripts/yeas-add-on/ysa-battle-system-classical-active-time-battle/

 

Introduction

Lets users set some skills/items to pay their costs before charging

Spoiler

#------------------------------------------------------------------------------|
#  * Skill/Item Notetags:(skill/item notebox in the database)                  |
#    - <charge prior action cost: boolean>                                        |
#      Sets the skill/item's action cost to be paid before and after finished  |
#      charging if boolean is false and true respectively                      |
#    - <charge prior item cost: boolean>                                       |
#      Sets the skill/item's non-action cost to be paid before and after       |
#      finished charging if boolean is false and true respectively             |
#------------------------------------------------------------------------------|

#==============================================================================|
#  ** You only need to edit this part as it's about what this script does      |
#------------------------------------------------------------------------------|

module DoubleX_RMVXA
  module YSA_CATB_Charge_Addon

    # The skill/item's action cost will be paid after finished charging if
    # CHARGE_PRIOR_ACTION_COST is true
    # It'll only be used if <charge prior act cost> is absent
    CHARGE_PRIOR_ACTION_COST = true

    # The skill/item's non-action costs will be paid after finished charging if
    # CHARGE_PRIOR_ITEM_COST is true
    # It'll only be used if <charge prior item cost> is absent
    CHARGE_PRIOR_ITEM_COST = true

  end # YSA_CATB_Charge_Addon
end # DoubleX_RMVXA

#==============================================================================|

 

 

Video

https://www.youtube.com/watch?v=j6OWmHXMhAU&feature=youtu.be

 

Features

Use of notetags(needs knowledge of notetag usage) to set skill/items to demand their users to pay their costs before or after charging

How to use
Open the script editor and put this script into an open slot between the script DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB and Main. Save to take effect.

FAQ
None

Credit and Thanks
DoubleX(Giving me credit is completely optional)
The terms of use are the same as that of YSA Battle System: Classical ATB except that you must also give Yami credit(you should do this anyway) if you give DoubleX or his alias credit
 
Compatibility
Same as that of YSA Battle System: Classical ATB
 
Changelog

v1.00d(GMT 1400 1-4-2016):

- Fixed not paying the skill/item/action costs before charging for skills/items not targeting opponents only/allies only

v1.00c(GMT 1400 15-12-2015):

- Fixed asking the wrong actor to pay the action cost before charging

v1.00b(GMT 1200 26-2-2015):

- Fixed the command guard charge prior cost not working bug

v1.00a(GMT 1200 25-2-2014):

- 1st version of this script finished

 

(DoubleX)YSA CATB Charge Addon v1.00d.rar

Amaranth's Super Simple Mouse System for Ace

$
0
0

Super Simple Mouse System
Shaz


Versions
Current version: 1.10


1.0    6 Sept 2013 - Initial Release1.02   7 Sept 2013 - Fixed game crash when loading a save file made prior to adding script                   - Fixed player stuck on impassable tile error when clicking while dismounting the air ship vehicle1.03   8 Sept 2013 - Fixed player moving to diagonal tile instead of adjacent tile when event is on a counter1.04  10 Sept 2013 - Fixed vehicle pathfinding on world map                   - Fixed event triggering when no path is found1.05  14 Sept 2013 - Tweaked accessing of tilemap_offset1.06   3 Nov  2013 - Disabled mouse control while player is waiting for an NPC move route (or for any non-parallel process event to finish)                   - Fixed events not triggering after player reaches them1.07   6 Nov  2013 - Slowed down mouse scrolling, and don't loop save files1.08  24 Nov  2013 - Catered for YEA Core script where screen size can be larger than map size, and map is centered                   - Fixed early event activation bug introduced in 1.06                   - Replaced calculation of item boundaries in Windows_Selectable                   - Added ability to enable/disable mouse1.09  21 Dec  2013 - Fixed mouse re-enabled when a common event is called from an autorun or player triggered event1.10   6 Apr  2014 - Added interaction for sprites higher than 32 pixels tall (now you can click on the top of the sprite)                   - Activate an event without walking up to it (add a comment with <autoactivate> to the top of the event page)                   - Cancel mouse path when guiding the player with arrow keys                   - Menus ignore the position of the mouse when using the arrow keys                   - Fix issue where player won't walk to the other side of a counter opposite shopkeepers


Introduction
This is a complete overhaul and Ace conversion of the script originally written for XP by Near Fantastica and SephirothSpawn, heavily modified by Amaranth and used in all of the Aveyond games.

Features
- Custom mouse icons and text popups over events
- Pathfinding for player AND events
- Mouse control in menus and other windows
- Easy configuration options

Screenshots
Mouse Icons and Event Descriptions:
MouseIcons.png
Even though it would take fewer steps to approach the shopkeeper on the left from below, the -2 0 in the comment tells the pathfinding script to move the player to the tile on the other side of the counter.
The shopkeeper on the right will be approached via the path that takes the fewest steps (from below) since there is no position override in the comment on that event.
The event's description (shown as text beside the icon) can be as many words as you like.


Pathfinding:
MousePathfinding.png
When you click on the top chest, the player will not open the chest while standing beside it, because of the cliff edge.
HOWEVER, if you used the keyboard instead of the mouse, pathfinding is overridden, and you WOULD be able to open the chest while standing on the tile to the right.
When you click on the Imp, the player will also walk up the steps to fight it.
HOWEVER, if the imp were set to Approach Player and Event Touch, it WOULD attack the player if the imp is on the hill and the player is below the hill on an adjacent tile.

Pathfinding and mouse processing do NOT override what the player can do via the keyboard, or what events are already programmed to do by the default scripts.


How to Use
The mouse system is a series of 8 scripts (kept separate for ease of maintenance). Open the .rar file below, open each .rb file in a plain text editor, and copy and paste the scripts each into new slots in Materials. Most of the methods are aliased, so this can go below other custom scripts. ALL scripts should be used together.

Mouse Icons
  • Add, change and remove icons through the ICON hash, just below the comments in the Mouse 1 - Sprite script.
  • The hash key is the name (one word, alpha characters only, lower case), and the number value is the icon index in your System IconSet.
  • DEFAULT_ICON must have the name of one of the keys in the hash. This is what your mouse cursor will look like when it's not over an event that sets a custom cursor.
ICON = {'arrow' => 386, 'talk' => 4, 'look' => 3, 'fight' => 116,        'touch' => 491, 'exit' => 121}DEFAULT_ICON = 'arrow'
If you don't want a generic 'exit' icon, but you want individual 'up', 'down', 'left' and 'right' icons, simply remove the 'exit' key and value, and add new values for each specific direction, along with the appropriate icon indexes.

Event Icons and Descriptions
Add comments to your event pages in the following format to control mouse and pathfinding behaviour:
 
<mouse icon x y name>
  • icon is the name of the icon to show when the mouse is moved over the event. This must exist in the ICON hash.
  • x y is an optional addition, to force the pathfinding to move the player to an offset from the current event.
  • name is an optional description that will be shown beside the mouse icon. It may be one or more words.
Examples:
  • <mouse fight> will show the 'fight' icon when the mouse is over the event
  • <mouse look 0 1> will show the 'look' icon when the mouse is over the event, and will make the player walk to the tile below the event before the event is triggered (good for signs, mailboxes, etc, where you want the player to stand below the event and face up)
  • <mouse talk 0 2 Shopkeeper> will show the name Shopkeeper and a 'talk' icon when the mouse is over the event, and when clicked, will move the player to the tile two below the event (good for shopkeepers where there is a counter between the event and the player)
  • <mouse talk Nasty Girl> will show the text Nasty Girl along with a 'talk' icon when the mouse is over the event
Pathfinding
  • To make the player, or an event, walk to a particular tile, without having to check where they currently are and adding lots of directional moves, simply add a Move Route command, choose Script, and enter find_path(x, y).
  • The script will ATTEMPT to find a path to that tile (or an adjacent tile if the original one is impassable).
  • If a path is not found, no movement will occur.
  • If a path is found, the player or event will start following the path. But if, after starting to follow the path, an obstacle moves in its way and blocks the path, the player or event will only walk as far as the obstacle.
  • Adding Wait to the move route WILL NOT make the event wait until the path has been followed. Only until the path has been determined. If you want to pause processing until the player or event has reached the destination, you will need to do that separately (keeping in mind that the player/event may not actually reach the destination).
  • Any Set Move Route on the player or event while they are following a path will cause them to stop following the path and obey the new move route, even if there are no actual movement commands.
Enable/Disable Mouse
The mouse is enabled by default. If you want to change this, use a Call Script command that passes a true (enabled) or false (disabled) value to the mouse:


$mouse.enabled = false
This value is NOT saved anywhere - it is up to you to save it in a preferences file or as game data, and to load that value and call the command whenever your game is started or your save file loaded.

Script
Get it here

Patches & Compatibility
Engr. Adiktuzmiko wrote a script that lets you save the enabled/disabled state.
You can find it here.

lordosthyvel has also made a patch for this script that allows diagonal movement.
You can find it here.

Magno has made a patch that fixes a problem in widescreen resolution when using Tsukihime's Unlimited Resolution script.
You can find it here.

Known Bugs
This does not work on maps that have horizontal or vertical looping (in Map Properties).
F12 causes the game to crash. I do not intend to address this, as F12 is not the standard or recommended way of starting a new game.
Script crashes if game title has non-Latin characters

FAQ
Q: Is this compatible with other scripts?
A: It is compatible with RTP scripts. It SHOULD be compatible with most other scripts, with the exception of those that do their own things with player/event collision (like pixel movement scripts) and possibly custom windows that don't behave like Window_Selectable. I don't know if the mouse scripts will work with those or not, but I do NOT plan to make mods to this script to make it compatible with any non-RTP scripts.

Credit and Thanks
- Shaz, Near Fantastica, SephirothSpawn, Amaranth Games
- lordosthyvel, for his diagonal movement patch

Author's Notes
  • Okay for use in free and commercial games. Credit must be given.
  • Do NOT repost this script on other sites. Please provide a link here instead. I will NOT be going to other sites to give support for this script. 
  • Post any issues in this thread. I will attempt to fix any bugs with this script, when used with the RTP scripts. I will not attempt to fix bugs that are caused by using the mouse script with other custom scripts.
  • I do not recommend you use the find_path method on many events at a time (especially if they are likely to cross paths), or to make them walk long distances.

Built-in class Extension's v1.9.5 [Updated]

$
0
0

Built-in class Extension's v1.9.5
Author Sarlecc

 
Introduction
This script adds four new methods to the String class and three to the Array class more may be added in the future as I think of them.

 

Updates:

- v1.5 added three methods to the Array class and changed the name to Built-in class Extension's. (as it now handles more than just Strings)

- v1.6 added mix_up method to String class.

- v1.8 added search method to array class, added prime? method to Math module. Also due to the length of the script putting it up on  mediafire.
- v1.9 added two new methods to the Array class. Also was having problems updating the script so the download link changed...

-v1.9.5 added new prime number checking algorithm. now check if a prime number is prime much faster (slower though on composite numbers)

Features

 

Spoiler

- Can remove every other character
- Can add characters every other character
- Can convert a string to random characters.

- Can mix the characters in a string.

- Can find the mean.

- Can find the median.

- Can find the range.

- Can search for certain numbers in an array

- Can determine if a number is a prime number

- Can find the id in an array with the lowest value

- Can find the id in an array with the highest value



Screenshots
None needed
 
How to Use
Place script below materials and above main

#==============================================================================
# String Extension by Sarlecc
# 
# Strings
# "".remove_every(n, d) n = number, d = divsion (optional)
# "Example".remove_every(0, 3)# "".add_every(chars, n, d) chars = characters
# "Example".add_every("u", 2, 4)
# "".rand_chars
# "Example".rand_chars
# "".mix_up
#
# Arrays
# [].mean
# [].median
# [].range
# [].search(num1, num2) num2 is optional
#
# The following two methods return the id with the lowest or highest value in the given range
# both num1 and num2 are optional if omitted or values are to high then it will use 0 and the size 
# of the array
# [].lowest(num1, num2)
# [].highest(num1, num2)
#
# Math
# Math.prime?(num)
# Math.prime2?(num)
# Math.prime2? is on average 2.5 times faster than Math.prime? if the number is prime; otherwise it is around 16-353 times slower
# its recommended that you use Math.prime? for checking thousands of numbers at a time as Math.prime2? will give an error (I assume
# that it has to do with the multithreading and attempting to do the next number while still doing the previous number).
# use Math.prime2? for checking larger primes
# Math.prime? time for number 18987964267331664557:
# 4521.762485 seconds
# Math.prime2? time for number 18987964267331664557:
# 1922.888493 seconds
# Math.prime? time for 106573388391:
# 0.000027-0.000028 seconds
# Math.prime2? time for 106573388391:
# 0.000452-0.009907 seconds
#==============================================================================

 
Demo
Yea none needed.
 
Script
 Script


GitHub

FAQ
None yet.
 
Credit
- Sarlecc

Terms

 

Author's Notes:

The difference between rand_chars and mix_up is mix_up only returns a string containing characters in that string. The rand_chars method returns random characters that do not necessarily show up in the string. I'm guessing that mix_up might be good for anagrams/scrabble style games?

VE - Moving Platform

$
0
0

zQ6pp21.png

moving-platform-name.png

 

 

 

This script allows to setup a new mechanic for the map environment: moving platforms that allows the player to go on them, these platform will carry the player over. But different from and evented system, the player is free to move while over these platforms. It’s also possible to set certain tiles to be “void” tiles and the player will fall if step on them.

Download:
Victor Engine - Moving Platform

Credits:
Author: Victor Sant

Terms of Use

 

 

Difficulty Selection

$
0
0

Difficulty Selection 1.0.0

by Todd (or DoctorTodd on RMRK)

Introduction

Lets the player select the games difficulty. Each difficulty multiplies the enemies parameters.

Screenshot:

http://desmond.image...png&res=landing

Features

  • Option to add to menu.
  • Pick between easy, normal, heroic, hard.
How to Use

Paste above main.

Configure the script to the way you like it.

Script

#===============================================================================## DT's Difficulty# Author: DoctorTodd# Date (06/24/2012)# Version: (1.0.0) (VXA)# Level: (Medium)# Email: Todd@beacongames.com##===============================================================================## NOTES: 1)This script will only work with ace.#        2)A difficulty must be selected before the first battle or the game WILL#        CRASH.##===============================================================================## Description: Lets the player select the games difficulty.## Credits: Me (DoctorTodd), D&P3 for saving bug fix.##===============================================================================## Instructions# Paste above main.##===============================================================================## Free for any use as long as I'm credited.##===============================================================================## Editing begins 38 and ends on 71.##===============================================================================module TODDDIFFICULTY   #Easy Text.  EASYT = "Easy"   #Normal Text.  NORMALT = "Normal"   #Heroic Text.  HEROICT = "Heroic"   #Hard Text.  HARDT = "Hard"   #Easy enemy parameters multiplier.  EASYM = 0.5   #Heroic enemy parameters multiplier (Normal is skipped since it's what put  #you into the database).  HEROICM = 1.5   #Hard enemy parameters multiplier.  HARDM = 2   #The text above where the selection is made.  TEXT = "Please select a difficulty:"   #Menu command?  MENU = true   #Sound effect to play when difficulty is selected.  SE = "Darkness8"   #Switch to allow cancelling the difficulty selection.  #MUST NOT BE ON WHEN SELECTING FOR THE FIRST TIME.  SWITCH = 5end#==============================================================================# ** Game_Enemy#------------------------------------------------------------------------------#  This class handles enemies. It used within the Game_Troop class# ($game_troop).#==============================================================================class Game_Enemy < Game_Battler  #--------------------------------------------------------------------------  # * Get Base Value of Parameter  #--------------------------------------------------------------------------  alias todd_difficulty_gmen_param_base param_base  def param_base(param_id, *args)  n1 = todd_difficulty_gmen_param_base(param_id, *args)  n2 = case $game_system.todd_difficulty  when 0 then TODDDIFFICULTY::EASYM  when 1 then 1  when 2 then TODDDIFFICULTY::HEROICM  when 3 then TODDDIFFICULTY::HARDM  end  return n1 * n2 endend#==============================================================================# ** Game_System#------------------------------------------------------------------------------#  This class handles system data. It saves the disable state of saving and# menus. Instances of this class are referenced by $game_system.#==============================================================================class Game_System  #--------------------------------------------------------------------------  # * Public Instance Variables  #--------------------------------------------------------------------------  attr_accessor :todd_difficulty            # save forbidden  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  alias todd_difficulty_gamesystem_init initialize  def initialize    @todd_difficulty = 0    todd_difficulty_gamesystem_init  endend#==============================================================================# ** Window_DifficultySelection#==============================================================================class Window_DifficultySelection < Window_HorzCommand  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize    super(0, 0)  end  #--------------------------------------------------------------------------  # * Get Window Width  #--------------------------------------------------------------------------  def window_width    Graphics.width/2 + 20  end  #--------------------------------------------------------------------------  # * Get Digit Count  #--------------------------------------------------------------------------  def col_max    return 4  end  #--------------------------------------------------------------------------  # * Create Command List  #--------------------------------------------------------------------------  def make_command_list    add_command(TODDDIFFICULTY::EASYT,     :easy)    add_command(TODDDIFFICULTY::NORMALT,   :normal)    add_command(TODDDIFFICULTY::HEROICT,    :heroic)    add_command(TODDDIFFICULTY::HARDT, :hard)  endend#==============================================================================# ** Window_DifficultyName#==============================================================================class Window_DifficultyName < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize    super(0, 0, window_width, fitting_height(1))    refresh  end  #--------------------------------------------------------------------------  # * Get Window Width  #--------------------------------------------------------------------------  def window_width    return Graphics.width/2 + 20  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh    contents.clear    draw_text(15, -27, 400, 80, TODDDIFFICULTY::TEXT)  endend#==============================================================================# ** Scene_Difficulty#==============================================================================class Scene_Difficulty < Scene_MenuBase  #--------------------------------------------------------------------------  # * Start Processing  #--------------------------------------------------------------------------  def start    super    create_command_window    create_name_window  end  #--------------------------------------------------------------------------  # * Create Command Window  #--------------------------------------------------------------------------  def create_command_window    @command_window = Window_DifficultySelection.new    @command_window.set_handler(:easy,      method(:command_easy))    @command_window.set_handler(:normal,     method(:command_normal))    @command_window.set_handler(:heroic,     method(:command_heroic))    @command_window.set_handler(:hard,    method(:command_hard))    @command_window.set_handler(:cancel,    method(:return_scene))if $game_switches[TODDDIFFICULTY::SWITCH] == true    @command_window.x = Graphics.width/2 - 170    @command_window.y = Graphics.height/2 - 50  end  #--------------------------------------------------------------------------  # * Create Difficulty Window  #--------------------------------------------------------------------------  def create_name_window    @name_window = Window_DifficultyName.new    @name_window.x = Graphics.width/2 - 170    @name_window.y = Graphics.height/2 - 97  end  #--------------------------------------------------------------------------  # * [easy] Command  #--------------------------------------------------------------------------  def command_easy    $game_system.todd_difficulty = 0    Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)    return_scene   end  #--------------------------------------------------------------------------  # * [normal] Command  #--------------------------------------------------------------------------  def command_normal    $game_system.todd_difficulty = 1    Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)    return_scene   end  #--------------------------------------------------------------------------  # * [heroic] Command  #--------------------------------------------------------------------------  def command_heroic    $game_system.todd_difficulty = 2      Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)    return_scene   end  #--------------------------------------------------------------------------  # * [hard] Command  #--------------------------------------------------------------------------  def command_hard    $game_system.todd_difficulty = 3        Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)    return_scene   end end if TODDDIFFICULTY::MENU == true#==============================================================================# ** Scene_Menu#------------------------------------------------------------------------------#  This class performs the menu screen processing.#==============================================================================class Scene_Menu < Scene_MenuBase  #--------------------------------------------------------------------------  # * Create Command Window  #--------------------------------------------------------------------------  alias todd_dif_menu_add_menu_command create_command_window  def create_command_window    todd_dif_menu_add_menu_command    @command_window.set_handler(:dif,      method(:command_dif))  endend  #--------------------------------------------------------------------------  # * [Difficulty] Command  #--------------------------------------------------------------------------  def command_dif  SceneManager.call(Scene_Difficulty)  endendif TODDDIFFICULTY::MENU == true#==============================================================================# ** Window_MenuCommand#------------------------------------------------------------------------------#  This command window appears on the menu screen.#==============================================================================class Window_MenuCommand < Window_Command  #--------------------------------------------------------------------------  # * Add Main Commands to List  #--------------------------------------------------------------------------  alias todd_dif_menu_command_add_to_menu add_main_commands  def add_main_commands     todd_dif_menu_command_add_to_menu    add_command("Difficulty",   :dif,   main_commands_enabled)  end endend
 

FAQ

None right now.

Credit and Thanks

- Todd

Author's Notes

See the header of the script.

PAC Main Menu Ace

$
0
0

PAC Main Menu 1.1

Pacman

Introduction

This is the PAC Main Menu converted to VX Ace. On a basic level, this offers a configurable setup for your main menu, allowing the user to create, alter and move the position of menu commands at their pleasure. It can be used very simply to merely reorder the default commands, or to its' fullest potential, that is creating commands to put custom scenes into the menu. It also offers two graphical features: adding an EXP gauge into the menu status window, and adding icons into the command display. Both are optional and customizable.

Features

  • Easily customize and move about the commands in the menu. You can even create your own!
  • You can rename commands, change what they do (why would you want to though), and change the conditions required to use it.
  • Icons for commands are now implemented in the menu. Optional, naturally.
  • An EXP gauge is included in the actors' window. It may look out of place, but I wasn't sure where else to put it. It is, of course, optional.
  • A map name window and a playtime window are included in the script. They are completely optional. As is the gold window now.
  • The menu now remembers which command you were last on at all times, even after saving.
  • The menu now immediately goes to actor selection if the command you just came from required actor selection.
  • You can assign a button to heal the party when it is pressed in the menu during test play.
  • You can choose to have the side windows on the left or right.

Screenshots

7A6su.jpg

Here we see the menu being AWESOME.

How to Use

Paste above Main, below Materials. For best compatibility put it at the top of your custom scripts list. There are detailed configuration instructions in the script header. If you have any inquiries, please ask me.

Demo

I don't think it's very necessary. There are no in-game options, and the script itself is a demo.

Script

Get it at Pastebin.

FAQ

None yet. Ask something!

Credit and Thanks

- Pacman

- Want to be thanked? Suggest something, I might do it, put your name here and you might get a warm fuzzy feeling!

Author's Notes

My favourite note this week is the D above middle C (293.665 Hz), and my favourite synthetic tone is a sine wave.

Also, I guess, considering compatibility, if you expect this to work with another menu system, do not expect that. And my terms of use: You may use this script in any non-commercial project with credit. Contact me if you wish to use this in a commercial project. You may edit this script and use it in your own project, or even release it as your own script, as long as I am credited (being notified would also be nice).


Skill/Item List based on Learn/Obtain order

$
0
0

Basically this very short snippet allows you to show the skill and item list based on the order that you learned the skills (obtained items) instead of the default which uses the database ID to determine sort order.

 

Script:

class Game_Actor < Game_Battler  def skills    (@skills | added_skills).collect {|id| $data_skills[id] }  endendclass Game_Party < Game_Unitdef items    @items.keys.collect {|id| $data_items[id] }  end def weapons    @weapons.keys.collect {|id| $data_weapons[id] }  end   def armors    @armors.keys.collect {|id| $data_armors[id] }  endend

 

 

Notes:

 

Obviously really easy to do, so it's free for anyone. I just posted it since I think I saw someone asking about this some time ago and some people might need it.

Troop EXP Multiplier

$
0
0

Troop EXP Multiplier

by lilyWhite

 

This script allows you to set a multiplier to the total experience points gained from defeated enemies for each troop. This can be used to give different amounts of EXP for troops composed of the same enemies (e.g. a boss encounter with an enemy can give doubled EXP, while later random encounters give normal EXP) or give greater EXP based on the size of the enemy troop.

 

How to Use: On the first page of the troop's Battle Event list, create a Comment with the notetag:

<expmulti: x>

where "x" is the EXP multiplier. The resulting total is rounded to the nearest integer value. If no multiplier is designated for a troop, it will give the normal totalled EXP value.

script.png

 

Free for use in any commercial or non-commercial project! Credit to "lilyWhite"; I reserve the right to be slightly miffed if you get the capitalization wrong. :3

 

The script is within the spoiler below. Just copy into the Script Editor, and set multipliers in the Troops tab of the Database.

Spoiler

=begin

  = Troop EXP Multiplier, by lilyWhite =
  This script allows you to set a multiplier to gained EXP for each enemy
  troop. This can let you create different troops composed of the same
  enemies that rewards different amounts of EXP for whatever reason, or you
  can have larger troops reward greater EXP. The result after the multiplier
  is applied is rounded to the nearest integer value. If no multiplier is
  designated, it will give the totalled EXP as normal.
  
  To use, create a comment on the first page of the troop's Battle Events and
  add this:
  
    <expmulti: x>
    
  where x is the desired multiplier.
  
    For example, with two enemies that give 10 EXP each and a notetag of
    <expmulti: 1.48>, the resulting EXP gain would be 30 EXP.
  
  Usage: Free to use in any commercial or non-commercial project! Credit to
  "lilyWhite"; I reserve the right to be slightly miffed if you get the
  capitalization wrong. :3
    
=end

module RPG
  class Troop
    #------------------------------------------------------------------------
    # Gets troop EXP multiplier
    #------------------------------------------------------------------------
    def troop_exp_multiplier
      exp_multiplier = 1
      @pages[0].list.each do |cmd|
        if cmd.code == 108 && cmd.parameters[0] =~ /<expmulti: (.*)>/i
          exp_multiplier = $1.to_f
        end
      end
      return exp_multiplier
    end
  end
end

class Game_Troop < Game_Unit
  #--------------------------------------------------------------------------
  # * Overwrite exp_total
  #--------------------------------------------------------------------------
  def exp_total
    (dead_members.inject(0) {|r, enemy| r += (enemy.exp * exp_multiplier) }).round
  end
  
  #--------------------------------------------------------------------------
  # Gets troop EXP multiplier
  #--------------------------------------------------------------------------
  def exp_multiplier
    return troop.troop_exp_multiplier
  end
end

 

 

Ocean's Scene Credits

$
0
0

Hi, this is the third script that I share with you.

 

This script does a Credits scene with two images

one image is the background

and the other is for the credits.

 

You need: -a background image.

- a credits image (as long as possible).

-BGM.

 

The image has to be long because the

script will scroll it up (you can change

this settings but credits you still

need to have).

 

You can call a scene when the script

finishes.

 

The error that appears in the video is because I filmed before fix it

Especial thanks to the people that helped me

 

 

Download here:

Ocean's Scene Credits.rar

Steam Workshop

 

 

Fullscreen++

$
0
0

Fullscreen++ v2.0
by Zeus81



New fullscreen mode that is more smart and make a better use of the screen surface (no black frame).
Alt+Enter still uses the old fullscreen mode, to use the new one press F5.
You can also press F6 to change the screen ratio, be it in fullscreen or windowed mode (both ratios are independents).
This script automatically saves the last configuration used in the Game.ini file (fullscreen mode & ratios) and restores it when you restart the game.
So before sharing your game do not forget to put the config you want by default, the first time we start your game.
The old fullscreen mode is still present, but you can disable it by setting true on line 9 (instead of false).
However it will also disable Alt+F4, and if you press Alt+Enter at the same time you can bypass the prohibition anyway.

Script
http://pastebin.com/raw.php?i=kc1hzBek

Critical Hit

$
0
0

~ Critical Hit~

by Alistair

 

For the latest updates please visit my blog. I won't update this thread anymore.

 

This script will allow you to control Critical Hits a little more.

It will provide you with two Notetags:

<critical: +x%> and <critical_damage: +x%>

 

The first one will raise/lower the skill's critical hit chance by x%.

The second one will raise/lower the skill's critical hit damage by x%.

 

You may change the default formula for critical damage as well. By default, a critical hit will multiply the damage by 3.

The script will allow you to use a formula instead if you desire. This will enable you to have even greater control over the critical damage.

 

Instructions:

Place this script below most of your other scripts. I mostly only use Yanfly Scripts so there MAY be compatibility issues with other scripts which modify the same methods.

 

Technical Stuff inside.

I didn't redefine the all famous make_damage_value which most combat scripts alter, because it would totally break compatibility with those scripts. Instead I was able to alias make_damage in Game_ActionResult. It shouldn't break anything, since it's aliased.

 

Screenshot:

Can't really show anything but for the sake of clearness, here you are.
ijyx3kw8.png

 

This skill will have a high chance of inflicting a critical hit but its critical damage is reduced to 20% in compensation.

 

Script:

Get it at my Dropbox.

 

Changelog:

V1.1.1

Changes:

- It should not crash anymore if you choose a skill from the menu (e.g. using Heal outside of Battle)

- It should no longer only grab the very last state's critical damage.

 

V1.1

Changes:

- States can now increase a battler's critical damage!

Future Versions:

As always: I'm open for ideas but I cannot guarantee anything.

 

Thanks to:

- Yanfly for his scripts from which I've learnt a lot about scripting

 

Terms of Use:

Direct link to my Terms of Use document: CLICK

Viewing all 416 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>