Petrified State v1.3a

Engine : RPG Maker VX Ace
Version : 1.3a

What is This?

When this state is applied to enemies or actors, their can't be targetted by any skills and items (normal attack and defend is considered as skills) and give total immune to slip damage and effect area.

Features

  • Skills and Items can be set to ignore this state
  • Total immunity to the target based on Skill Type

Download

http://pastebin.com/raw.php?i=Ktw2ZKNc

Credit

DrDhoom




1 komentar:

Modern Algebra's Monster Catalogue Add-on v1.4

Engine : RPG Maker VX Ace
Version : 1.4

What is This?

This is an add-on for modern algebra's Monster Catalogue. This script will add 2 more pages for displaying element and state resistance, skills (my manipulated skill included), kill counts, dropable items, and stealable items from Yanfly script.

Required

modern algebra's Monster Catalogue, get it here : http://rmrk.net/index.php?topic=45009.0

Features

  • Like the original script, can be set to always show the contents, when encountered, or when analyzed.
  • Display element and state resistance, skills (my manipulated skill included), kill counts, dropable items (including Extra Drops from Yanfly), and stealable items from Yanfly script.
  • A lot of modification settings.
  • Auto hide the label when there's no content to show.

Screenshot




Download

http://pastebin.com/raw.php?i=XpixU3vW

Credit

modern algebra (original creator)
DrDhoom

3 komentar:

Create Your Own Menu (part 4)

Engine : RPG Maker VX Ace

Click here for part 1
Click here for part 2
Click here for part 3

5. Creating Scene Menu

5a. Setup
Like before, insert a new script and name it Scene_Menu. Then paste this code below.

class Scene_Menu < Scene_MenuBase
  def start
    super
    create_window_menu_list
    create_window_actor_status
    create_window_location_gold
  end
  
  def create_window_menu_list    
  end
  
  def create_window_actor_status    
  end
  
  def create_window_location_gold
  end
end
Unlike other class, when created scene class will run the start method instead of initialize (you can see it in Scene_Base main method, that it will run start > post_start > then looping update).

5b. Creating Menu List
Paste this in def create_window_menu_list.

    @menulist_window = Window_MenuList.new

5c. Creating Windows Status
Paste this in def create_window_actor_status.

    #create array container for windows status
    @actor_status_windows = []
    #spacing between each windows
    spacing = 16
    #loop through each index for i = index in 0 until total actor in the party
    (0...$game_party.members.size).each do |i|
      #create status window
      @actor_status_windows[i] = Window_MenuStatus.new(i)  
      #set window's x position
      @actor_status_windows[i].x = 16 + i*(@actor_status_windows[i].width+spacing)
      #set window's y position
      @actor_status_windows[i].y = 64
    end
5d. Creating Location Gold Window
Paste this in def create_window_location_gold.

    @locgold_window = Window_LocGold.new

Now you can open the menu, and it should look like this
 But it's kinda plain isn't it? How about we animate the windows so it will look more, attractive?

5e. Animating the Windows.
I want the menu list and locgold window closed first, then it's open. To do that, we have to close the windows after we created it. Change def create_window_menu_list and def create_window_location_gold to this.

  def create_window_menu_list
    @menulist_window = Window_MenuList.new
    #set the window's openness, 0 is the minimum and 255 is the max
    @menulist_window.openness = 0
    #open the window
    @menulist_window.open
  end

  def create_window_location_gold
    @locgold_window = Window_LocGold.new
    #set the window's openness, 0 is the minimum and 255 is the max
    @locgold_window.openness = 0
    #open the window
    @locgold_window.open
  end
Now the menu should look like this,
But it's, still not enough. How about we animate the status windows too? Yeah let's do it.

5f. Animating Status Windows
I want the windows to move from outside to inside the screen with different speed. To do that, have to set the window's x outside the screen. Change def create_window_actor_status to this.

    #create array container for windows status
    @actor_status_windows = []
    #loop through each index for i = index in 0 until total actor in the party
    (0...$game_party.members.size).each do |i|
      #create status window
      @actor_status_windows[i] = Window_MenuStatus.new(i)  
      #set window's x position
      @actor_status_windows[i].x = -@actor_status_windows[i].width
      #set window's y position
      @actor_status_windows[i].y = 64
    end
Then, add this new method below.

  def update
    super
    #animate the windows status unless we done animating it
    animate_windows_status unless @status_animated
  end
  
  def animate_windows_status
    #array for containing the speed of each window
    @mv_speed ||= []
    #spacing between each windows
    spacing = 16
    #for checking if every windows is already in target_x
    ani_done = 0
    #for each window and index in @actor_status_window
    @actor_status_windows.each_with_index do |window, i|
      #set @mv_speed[index] to 2.0 if it's nil
      @mv_speed[i] ||= 3
      #x position that windows will moved to
      target_x = 16+i*(window.width+spacing)
      #if window's x is less than target_x
      if window.x < target_x
        #increment the window's x
        window.x += @mv_speed[i]
        #if after incremented the window's x is greater than target_x
        if window.x > target_x
          #set the window's x to target_x
          window.x = target_x
        end      
      end
      #if window's x equal to target_x
      if window.x == target_x
        #increase ani_done
        ani_done += 1
      end
      #increase the moving speed
      @mv_speed[i] += 1
    end
    #if ani_done equal to total number of windows
    if ani_done == @actor_status_windows.size
      #animated is done
      @status_animated = true
    end
  end
It should look like this.


But there's nothing happen if you select any command, because we didn't create the method for that yet.


0 komentar:

Create Your Own Menu (part 3)

Engine : RPG Maker VX Ace

Click here for part 1
Click here for part 2

4. Creating Location and Gold Window

4a. Setup
Insert a new script and name it Window_LocGold.


Then, paste this code below in Window_LocGold.


class Window_LocGold < Window_Base
  def initialize
    #super(x, y, width, height)
    super(16,360,512,40)
    refresh
  end
  
  def line_height
    #Auto calculate the line height for text
    40 - standard_padding * 2
  end
  
  def refresh
    #Change contents font size
    contents.font.size = 16
    #Clear contents
    contents.clear
    draw_location
    draw_gold
  end
  
  def draw_location    
  end
  
  def draw_gold
  end
end
This will create Window_LocGold class, with X 16 and Y 360, and width 512 height 40.

4b. Draw Location Name
To draw the location name, insert this code below in def draw_location.

    #Unless map display name isn't empty
    unless $game_map.display_name.empty?
      draw_text(4, 0, 320, line_height, "Location : #{$game_map.display_name}")
    end

4c. Draw Gold
Now to draw the total amount of gold, insert this code in def draw_gold.

    #change font color to system color
    change_color(system_color)
    draw_text(320, 0, 168, line_height, Vocab::currency_unit, 2)
    #change font color to normal color
    change_color(normal_color)
    #calculate the width for drawing gold amount
    #text_size is for getting the rect of the text when drawed in contents
    #rect has 4 properties : x, y, width, and height
    size = 164 - text_size(Vocab::currency_unit).width
    draw_text(320, 0, size, line_height, $game_party.gold, 2)

Now that everything is ready, test it with script call like before and you should see the window popped out.
Click here for part 4

0 komentar: