Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Aegisrox

1
Wow! Seems lovely! :)

Thx Blizz would be giving a chance and would tell you how good is going :3
2
Hi members of CP! I hope you are well!

Anyone can recommend me a story telling software for planning games that include
*dialogues
*story narrative
*and also is include to do the story board scenes shots even better

Thanks for your time!

3
Welcome! / Re: Time for some Alexis action!
December 07, 2016, 06:30:36 am
Welcome, enjoy your time here, and do be afraid to chill with us, I don't know if I can't say this since I returned some time ago, but try to get fun with us, if need help with something, would be more happy to let you a hand.

@zexion you was on a DBZ O KH PROJECT long time ago? I cannot remember well jeje
4
Welcome! / Re: I didn't loose everything
December 07, 2016, 06:27:49 am
Glad you resolve, I remember you during remexos time, you helped me out a lot with customs ruby scripts, thx for helped out that time, don't remember if I apppreciated that time but I'm saying now, thx so much :)
5
Welcome! / Re: Hi community!
December 07, 2016, 06:23:31 am
Welcome bitch! Don't give me problems? xD
6
Welcome! / Re: RE:WELCOME! LMAO!!!
December 04, 2016, 05:03:43 pm
thx winkio remember you, a wise man, few word, big wisdom
7
Welcome! / Re: RE:WELCOME! LMAO!!!
December 04, 2016, 03:26:54 pm
that's my man! 8)
8
Welcome! / Re: RE:WELCOME! LMAO!!!
December 04, 2016, 03:02:56 pm
HAHA Thx so much Blizzard! Very Happy to be here again, missed you :D

PS: Is there avatar guidelines, i can't manage to make it work XD
9
Welcome! / RE:WELCOME! LMAO!!!
December 04, 2016, 02:56:53 pm
Hi again Guys! My nick is Aegisrox, but you can call me Aegis.

I reborn from the ashes i want to hang and chill even shit with this wonderfull community.

Long time ago we make will Blizzard (not gonna lie, his did almost everything) The Pokemon MMO project. Right now, i take a step back from coding and will try to improve my 3d rendering experience.

Was apprentice of Rpg Maker thanks to my close friend Blizzard although Right now, i don't feel good enough to start any new project, but if i can offer a little guidelines to any user can be done, step by step.

Please take patience with me and i hope we get along :)

Aegis, over and out!
10
Advertising / Re: Aladdin - Magic Carpet Racing
May 15, 2014, 08:36:16 am
Awesome release as always Blizzard!!! :D

Keep it the good work ;)

Regards

Aegis
11
Quote from: Tomb on March 29, 2014, 06:28:45 am
This time i have new bug in my new acount .. When i took my pokemon back from the daycare and went out the daycare house this massege appears to me http://prntscr.com/354glv

So ye the bug seem to be with the daycare but i dont know what . Cause in my old acount i got bug of "cannot convert nil into string" also was after using the daycare  :facepalm:

Edit: After i took the other pokemon from the daycare back . game worked fine and i went out the daycare house building normally.

Then i Tested and sent back a pokemon to the daycare again then went out . still working normally.

Conclusion: Maybe when u leave 2 pokes , then u take 1 back and leave 1 in the daycare this proplem occurs & u should take the 2 pokes back to avoid the proplem from happening.

Now everything is fine & i can play.
But will leave this post For admins to solve :)


Solved in the new patch, later i will update thx for inform ;)
12
New Projects / Re: Kingdom Hearts: Age of Guardians
March 25, 2014, 02:47:22 pm
Amazing work Zexion!!! You always supported me, now it is time to i support you xD

Keeping the good work, can't wait to see it finished :D

Regards ;)

Aegis
13
Hi guys!!! I have another question!! By any chance anyone have a .edu email address that can lend me to receibe a confirmation code? :D

Because i found a free Linux VPS with good features, :D  with is only for united states students that have .edu mail address :(

I don't need the email account itself only that you can receibe for me a confirmation code to register in the site :D

Thanks you in advance this would be more appreciated :D

And merry chrismast to all  ;)

Best Regards

Aegis

14
Thanks DigitalSoul and Ryex, both looks wonderful!!!! :D

I will be deciding this week to adquire one, but i am pretty sure that i am deciding for one of that one ;)

Thanks again and merry chrismast xD

Aegis
15
Hi Community how are you guys!!! :D

The thing is that i want to adquire a VPS or a Dedicated server to host the community game "Pokemon Remexos" and i need some recommedantions :D

Any of you have idea of a good VPS or Dedicated server that i should consider? If it chep more better  ;)

The features i minumun need are the followings:
* Minimun 8GB RAM
* Minimum Dual Core
* Minimum 10 MB Connection

If you have any ideas please post and i hope your anwers  :naughty:

Thanks very much and thanks in advance  :haha:

My best regards

Aegis
16
Advertising / Re: Word Cloud World Internet Mind
November 13, 2013, 05:54:12 am
Congrats Blizzard!!!! It seems really fun!! Downloading now :D

As always Blizzard doing good stuff ;)

Regards

Aegis
17
Thanks! ForeverZer0

I Just changed the key term! ;)

Regards

Aegis
18
RMXP Script Database / [XP] Chat Mouse Click Activation
November 07, 2013, 09:38:02 am
Chat Mouse Click Activation
Authors: Wizered67, Aegisrox
Version: 1.0
Type: Mouse Script
Key Term: RMX-OS Plugin



Introduction

This scripts allow to activate the chat when you click on the chat line input, such as alternative to press the key F6.


Features


  • Press inside the chat box input line to activate the chat

  • Press outside of the chat box to desactivate




Screenshots

No Screenshots.  Only click on the text input of the chat of RMX!  What can I say?


Demo

No Demo


Script

Requires Mouse Controller of Blizzard in order to work.

class Scene_Map
   CHATBOX_X = 0
   CHATBOX_Y = RMXOS::Data::SCREEN_HEIGHT - (RMXOS::Options::CHATBOX_LINES * RMXOS::Data::ChatFontHeight) - RMXOS::Data::ChatFontHeight
   CHATBOX_WIDTH = RMXOS::Options::CHATBOX_WIDTH
   CHATBOX_HEIGHT = (RMXOS::Options::CHATBOX_LINES * RMXOS::Data::ChatFontHeight)
   alias update_chatbox update
   def update
   if Input.trigger?(Input::Key['Mouse Left'])
       if $mouse.x >= CHATBOX_X && $mouse.x <= CHATBOX_X + CHATBOX_WIDTH && $mouse.y >= CHATBOX_Y && $mouse.y <= CHATBOX_Y + CHATBOX_HEIGHT
           $game_temp.chat_active = true
       else
           $game_temp.chat_active = false
       end
   end

   update_chatbox
   end
end




Instructions

Just create a new script a put below de Blizzard Mouse controller



Compatibility

I don't know of any scripts this wouldn't be compatible with. But i tried with others mouse scripts and works great.


Credits and Thanks


  • Wizered67 for doing

  • Aegisrox for setting constants





Author's Notes
Enjoy it ;).
19
Hi! I'am Aegis from MRMX, all of you know me xD

But i am writing because i have a problem with a custom script and i need the help to the community :D

The thing is that i am attemp to implement the Mouse Drop menu of nattman on MRMX, but i have some problems...

The thing is that the i implemented the code and it works pretty well, but works only just the player loggin in and just the player warp to another map...

As soon the player give one step in any direction, the drop menu doesn't appear again :(

I tried a lot of things but it makes me crazy xD

The strange thing is that the scripts works well in a blank RMX-OS project, the problem is the compatibility with pokemon essentials, that makes lost the player control when the players gives 1 step :(

In any case, this are the 3 scripts that i modified to works but essentials, feel free to take a look and tell me if you have any ideas to works well:

Mouse controller
#=begin
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Mouse Controller by Blizzard
# Version: 2.0b
# Type: Custom Input System
# Date: 9.10.2009
# Date v2.0b: 22.7.2010
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#  
#  This work is protected by the following license:
# #----------------------------------------------------------------------------
# #  
# #  Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
# #  ( http://creativecommons.org/licenses/by-nc-sa/3.0/ )
# #  
# #  You are free:
# #  
# #  to Share - to copy, distribute and transmit the work
# #  to Remix - to adapt the work
# #  
# #  Under the following conditions:
# #  
# #  Attribution. You must attribute the work in the manner specified by the
# #  author or licensor (but not in any way that suggests that they endorse you
# #  or your use of the work).
# #  
# #  Noncommercial. You may not use this work for commercial purposes.
# #  
# #  Share alike. If you alter, transform, or build upon this work, you may
# #  distribute the resulting work only under the same or similar license to
# #  this one.
# #  
# #  - For any reuse or distribution, you must make clear to others the license
# #    terms of this work. The best way to do this is with a link to this web
# #    page.
# #  
# #  - Any of the above conditions can be waived if you get permission from the
# #    copyright holder.
# #  
# #  - Nothing in this license impairs or restricts the author's moral rights.
# #  
# #----------------------------------------------------------------------------
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#
# Compatibility:
#
#   90% compatible with SDK v1.x. 80% compatible with SDK v2.x. May cause
#   incompatibility issues with other custom input Systems. Works with "Custom
#   Game Controls" from Tons of Add-ons and Blizz-ABS's custom controls.
#   This script is not meant to be used as a standalone but rather in
#   combination with special menus that are properly adapted to support a mouse
#   controller system.
#  
#  
# Features:
#
#   - fully automated mouse control in game
#   - can be enhanced with "Custom Game Controls" from Tons of Add-ons
#   - can be enhanced with "Blizz-ABS Controls"
#   - can be enhanced with "RMX-OS"
#
# new in 2.0b:
#
#   - added option to hide Windows' cursor
#   - added possibility to hide and show the ingame cursor during the game
#   - added possibility to change the cursor icon
#   - added several new options
#   - optimized
#
#
# Instructions:
#
# - Explanation:
#
#   This script can work as a stand-alone for window option selections. To be
#   able to use the mouse buttons, you need a custom Input module. The
#   supported systems are "Custom Game Controls" from Tons of Add-ons,
#   Blizz-ABS Custom Controls and RMX-OS Custom Controls. This script will
#   automatically detect and apply the custom input modules' configuration
#   which is optional.
#  
# - Configuration:
#
#   MOUSE_ICON          - the default filename of the icon located in the
#                         Graphics/Pictures folder
#   APPLY_BORDERS       - defines whether the ingame cursor can go beyond the
#                         game window borders
#   WINDOW_WIDTH        - defines the window width, required only when using
#                         APPLY_BORDER
#   WINDOW_HEIGHT       - defines the window height, required only when using
#                         APPLY_BORDER
#   HIDE_WINDOWS_CURSOR - hides the Windows Cursor on the window by default
#   AUTO_CONFIGURE      - when using "Custom Game Controls" from Tons of
#                         Add-ons, Blizz-ABS or RMX-OS, this option will
#                         automatically add the left mouse button as
#                         confirmation button
#  
# - Script Calls:
#  
#   You can use a few script calls to manipulate the cursor. Keep in mind that
#   these changes are not being saved with the save file.
#  
#   To hide the ingame Mouse Cursor, use following call.
#  
#     $mouse.hide
#  
#   To show the ingame Mouse Cursor, use following call.
#  
#     $mouse.show
#  
#   To change the cursor image, use following call. Make sure your image is
#  
#     $mouse.set_cursor('IMAGE_NAME')
#  
#  
# Additional Information:
#  
#   Even though there is an API call to determine the size of the window, API
#   calls are CPU expensive so the values for the window size need to be
#   configured manually in this script.
#  
#
# If you find any bugs, please report them here:
# http://forum.chaos-project.com
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

$mouse_controller = 2.0

#===============================================================================
# Mouse
#===============================================================================

class Mouse
 
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 MOUSE_ICON = 'Pokeball2'
 AUTO_CONFIGURE = true
 APPLY_BORDERS = true
 WINDOW_WIDTH = 640
 WINDOW_HEIGHT = 480
 HIDE_WINDOWS_CURSOR = false
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
 if HIDE_WINDOWS_CURSOR
   Win32API.new('user32', 'ShowCursor', 'i', 'i').call(0)
 end
 
 SCREEN_TO_CLIENT = Win32API.new('user32', 'ScreenToClient', %w(l p), 'i')
 READ_INI = Win32API.new('kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l')
 FIND_WINDOW = Win32API.new('user32', 'FindWindowA', %w(p p), 'l')
 CURSOR_POSITION = Win32API.new('user32', 'GetCursorPos', 'p', 'i')
 
 def initialize
   @cursor = Sprite.new
   @cursor.z = 1000000
   self.set_cursor(MOUSE_ICON)
   update
 end
 
 def update
   @cursor.x, @cursor.y = self.position
 end
 
 def x
   return @cursor.x
 end
 
 def y
   return @cursor.y
 end
 
 def position
   x, y = self.get_client_position
   if APPLY_BORDERS
     if x < 0
       x = 0
     elsif x >= WINDOW_WIDTH
       x = WINDOW_WIDTH - 1
     end
     if y < 0
       y = 0
     elsif y >= WINDOW_HEIGHT
       y = WINDOW_HEIGHT - 1
     end
   end
   return x, y
 end
 
 def get_client_position
   pos = [0, 0].pack('ll')
   CURSOR_POSITION.call(pos)
   SCREEN_TO_CLIENT.call(WINDOW, pos)
   return pos.unpack('ll')
 end
 
 def set_cursor(image)
   @cursor.bitmap = RPG::Cache.picture(image)
 end
 
 def show
   @cursor.visible = true
 end
 
 def hide
   @cursor.visible = false
 end
 
 def self.find_window
   game_name = "\0" * 256
   READ_INI.call('Game', 'Title', '', game_name, 255, '.\\Game.ini')
   game_name.delete!("\0")
   return FIND_WINDOW.call('RGSS Player', game_name)
 end
 
 WINDOW = self.find_window
 
end

$mouse = Mouse.new

#==============================================================================
# module Input
#==============================================================================

module Input
 
 class << Input
   alias update_mousecontroller_later update
 end
 
 def self.update
   $mouse.update
   update_mousecontroller_later
 end
 
 if Mouse::AUTO_CONFIGURE
   if $BlizzABS
     C.push(Input::Key['Mouse Left']) if !C.include?(Input::Key['Mouse Left'])
     if !Attack.include?(Input::Key['Mouse Right'])
       Attack.push(Input::Key['Mouse Right'])
     end
   elsif $tons_version != nil && $tons_version >= 6.4 &&
       TONS_OF_ADDONS::CUSTOM_CONTROLS || defined?(RMXOS)
     C.push(Input::Key['Mouse Left']) if !C.include?(Input::Key['Mouse Left'])
   end
 end
 
end

#===============================================================================
# Rect
#===============================================================================

class Rect
 
 def covers?(x, y)
   return !(x < self.x || x >= self.x + self.width ||
       y < self.y || y >= self.y + self.height)
 end
 
end

#===============================================================================
# Sprite
#===============================================================================

class Sprite
 
 def mouse_in_area?
   return false if self.bitmap == nil
   return ($mouse.x >= self.x && $mouse.x < self.x + self.src_rect.width &&
       $mouse.y >= self.y && $mouse.y < self.y + self.src_rect.height)
 end
 
end

#===============================================================================
# Window_Base
#===============================================================================

class Window_Base
 
 def mouse_in_area?
   return ($mouse.x >= self.x && $mouse.x < self.x + self.width &&
       $mouse.y >= self.y && $mouse.y < self.y + self.height)
 end
 
 def mouse_in_inner_area?
   return ($mouse.x >= self.x + 16 && $mouse.x < self.x + self.width - 16 &&
       $mouse.y >= self.y + 16 && $mouse.y < self.y + self.height - 16)
 end
 
end

#===============================================================================
# Window_Selectable
#===============================================================================

class Window_Selectable
 
 alias contents_is_mousecontroller_later contents=
 def contents=(bitmap)
   contents_is_mousecontroller_later(bitmap)
   begin
     update_selections
     update_mouse if self.active
   rescue
   end
 end
 
 alias index_is_mousecontroller_later index=
 def index=(value)
   index_is_mousecontroller_later(value)
   update_selections
 end
 
 alias active_is_mousecontroller_later active=
 def active=(value)
   active_is_mousecontroller_later(value)
   update_cursor_rect
 end
 
 def update_selections
   @selections = []
   index, ox, oy = self.index, self.ox, self.oy
   (0...@item_max).each {|i|
       @index = i
       update_cursor_rect
       rect = self.cursor_rect.clone
       rect.x += self.ox
       rect.y += self.oy
       @selections.push(rect)}
   @index, self.ox, self.oy = index, ox, oy
   self.cursor_rect.empty
 end
 
 alias update_mousecontroller_later update
 def update
   update_mouse if self.active
   update_mousecontroller_later
 end
 
 # Aegis fix
 def mouse_in_area?
   return ($mouse.x >= self.x && $mouse.x < self.x + self.width &&
       $mouse.y >= self.y && $mouse.y < self.y + self.height)
 end
 
 def mouse_in_inner_area?
   return ($mouse.x >= self.x + 16 && $mouse.x < self.x + self.width - 16 &&
       $mouse.y >= self.y + 16 && $mouse.y < self.y + self.height - 16)
 end
 # Aegis fix
 
 def update_mouse
   if self.mouse_in_inner_area?
     update_mouse_selection
     return
   end
   self.index = -1
   if self.contents != nil && @selections.size > 0 && self.mouse_in_area?
     update_mouse_scrolling
   end
 end
 
 def update_mouse_selection
   update_selections if @selections.size != @item_max
   @selections.each_index {|i|
       if @selections[i].covers?($mouse.x - self.x - 16 + self.ox,
           $mouse.y - self.y - 16 + self.oy)
         self.index = i if self.index != i
         return
       end}
   self.index = -1
 end
 
 def update_mouse_scrolling
   if Input.repeat?(Input::C)
     if $mouse.x < self.x + 16
       if self.ox > 0
         $game_system.se_play($data_system.cursor_se)
         self.ox -= @selections[0].width
         self.ox = 0 if self.ox < 0
       end
     elsif $mouse.x >= self.x + self.width - 16
       max_ox = self.contents.width - self.width + 32
       if self.ox <= max_ox
         $game_system.se_play($data_system.cursor_se)
         self.ox += @selections[0].width
         self.ox = max_ox if self.ox >= max_ox
       end
     elsif $mouse.y < self.y + 16
       if self.oy > 0
         $game_system.se_play($data_system.cursor_se)
         self.oy -= @selections[0].height
         self.oy = 0 if self.oy < 0
       end
     elsif $mouse.y >= self.y + self.height - 16
       max_oy = self.contents.height - self.height + 32
       if self.oy <= max_oy
         $game_system.se_play($data_system.cursor_se)
         self.oy += @selections[0].height
         self.oy = max_oy if self.oy >= max_oy
       end
     end
   end
 end
 
end
#=end


Mouse enchacement
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Mouse Controller Enhancement Script by Nathmatt
# Version: 1.74
# Type: Add On
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#  
#  This work is protected by the following license:
# #----------------------------------------------------------------------------
# #  
# #  Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
# #  ( http://creativecommons.org/licenses/by-nc-sa/3.0/ )
# #  
# #  You are free:
# #  
# #  to Share - to copy, distribute and transmit the work
# #  to Remix - to adapt the work
# #  
# #  Under the following conditions:
# #  
# #  Attribution. You must attribute the work in the manner specified by the
# #  author or licensor (but not in any way that suggests that they endorse you
# #  or your use of the work).
# #  
# #  Noncommercial. You may not use this work for commercial purposes.
# #  
# #  Share alike. If you alter, transform, or build upon this work, you may
# #  distribute the resulting work only under the same or similar license to
# #  this one.
# #  
# #  - For any reuse or distribution, you must make clear to others the license
# #    terms of this work. The best way to do this is with a link to this web
# #    page.
# #  
# #  - Any of the above conditions can be waived if you get permission from the
# #    copyright holder.
# #  
# #  - Nothing in this license impairs or restricts the author's moral rights.
# #  
# #----------------------------------------------------------------------------
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Instructions:
#
#  To use the event effects in this script you will need to name the following.
#
#  definitions
#  d    = 2 down, 4 left 6, right, or 8 up
#  right click to access an events command list
#
#  \ignore               Use on events you want to be walkable
#
#  \msg[message]         This will add the message above the highlighted event
#
#  \directionfix[d]      If an event has a graphic and needs a specific direction
#                        they must be named this d as the open direction
#
#  \direction[d]         If an event has no graphic or isn't direction specific
#                        they must be named this d as the open direction
#
#  \commands             This will create a command list for each page with the
#                        name of the first avalible comment
#
#  \curser[graphic]      This will change the graphic of the curser while
#                        over that event
#
#  \auto                 This will start the event as soon as you click it
#
#  \door[id]             This will run the pages of an event as the following
#                        id is the item id needed to unlock the door
#                        first   page when door is locked
#                        second page when unlocking the door
#                        third   page any time after being unlocked
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Script Calls:
#
#  $MCES.disabled = true/false           whether or not this script is disabled
#
#  $MCES.movement_disabled = true/false  whether or not movement is disabled
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module MCES
 
 Version = 1.74
 #============================================================================
 # MCES::Config
 #----------------------------------------------------------------------------
 #  The configuration for $MCES
 #============================================================================
 module Config
   No_Walk_Tag   = 7         # The terrain tag for unreachable locations
   Text_Size     = 20        # The size of the event name text
   Text_Color    = [0,0,160] # The color of the event name text
   Click_Graphic = false     # The sprite placed for move target
   Range         = 30        # The range for allows click movement    
 end

 #============================================================================
 # MCES::Cache
 #----------------------------------------------------------------------------
 # Stores data for use throughout $MCES
 #============================================================================
 module Cache
   PathDirs = [[0, 1, 2], [-1, 0, 4], [1, 0, 6], [0, -1, 8]]
   TDirs = [[0, true], [1, true], [2, true], [3, true], [4, true], [5, true],
       [6, true], [7, true], [8, true], [9, true]]
   DirOffsets = [[0, 0], [-1, 1], [0, 1], [1, 1], [-1, 0], [0, 0], [1, 0],
                 [-1, -1], [0, -1], [1, -1]]
   Direction = 0
   Commands = 1
   Curser = 2
   Auto = 3
   Door = 4
   Msg = 5
   Ignore = 6
 end

 #============================================================================
 # MCES::Processor
 #----------------------------------------------------------------------------
 #  This class performs the $MCES's processing.
 #============================================================================
 class Processor
   
   attr_accessor :item,:curser_lock,:disabled,:movement_disabled,:location
   attr_reader   :event_start
   
   def initialize
     @disabled,@movement_disabled,@location = false,false,[]
     @lwait,@rwait,curser_lock,@carry_sprite = 0,0,false,Sprite.new
     @carry_sprite.z = 999999;@carry_sprite.bitmap = Bitmap.new(24, 24)
     @mouse_set = true
   end
   
   def update
     if @lwait > 0;@lwait-= 1;end
     if @rwait > 0;@rwait-= 1;end
     @item = $data_items[@item] if @item.is_a?(Numeric)
     return if @disabled
     if !$scene.is_a?(Scene_Map);@lwait = 5;return;end
     if Input.trigger?(Input::Key['Mouse Left']) &&
         !$game_temp.message_window_showing && @lwait == 0
       @lwait = 5
       check_left
     elsif Input.trigger?(Input::Key['Mouse Right']) && @rwait == 0
       @rwait = 5
       check_right
     end
     check_player
     check_carry
     check_mouse
     if @command_window != nil && !@command_window.disposed?
       @command_window.update
     end
   end
   
   def check_left
     x,y = mouse_tile
     return if check_event || !$game_map.passable?(x,y,0) || @movement_disabled ||
       check_terrain_tag(x,y) || check_range(x,y,MCES::Config::Range)
     return if @command_window != nil && !@command_window.disposed?
     $game_player.set(x,y)
   end
   
   def check_event
     $game_map.events.each_value{|event|
     next if event.erased
     if event.mouse_in_area?
       if event.type.include?(MCES::Cache::Ignore)
         return false
       end
       if event.type.include?(MCES::Cache::Auto)
         event.start_event
         return true
       elsif event.type.include?(MCES::Cache::Door)
         event.check_door
         return true
       else
         $game_player.set(event) if !@movement_disabled
         return true
       end
     end}
     return false
   end
     
   
   def check_right
     $game_map.events.each_value{|event|
     next if event.erased
     if event.mouse_in_area?
       if event.type.include?(MCES::Cache::Commands)
         return if @command_window != nil && !@command_window.disposed?
         @command_window = Event_Command.new(event)
         return
       end
     end}
   end
   
   def mouse_tile
     x,y = $mouse.x,$mouse.y
     return (x+$game_map.display_x/4)/32,(y+$game_map.display_y/4)/32
   end
     
     
   def check_terrain_tag(x,y)
     return ($game_map.terrain_tag(x,y) == Config::No_Walk_Tag)
   end
   
   def check_target(x,y=0)
     if x.is_a?(Game_Character)
       c = x
       d = (x.direction_fixed != nil ? x.direction_fixed : x.direction)
       x,y = c.x,c.y
       x += (d == 4 ? -1 : 1) if d != (2 || 8)
       y += (d == 8 ? -1 : 1) if d != (4 || 6)
     end
     return x,y
   end
   
   def check_player
     return if @request == nil
     count = 4
     characters = [$game_player]
     while characters.size > 0 && count > 0
       char = characters.shift
       result = find_path
       result != nil ? char.force_movement = result : characters.push(char)
       count -= 1
     end
   end
   
   def check_carry
     @carry_sprite.x,@carry_sprite.y = $mouse.x,$mouse.y
     if @item != nil
       if @carry_curser != @item.icon_name
         @carry_curser = @item.icon_name
         @carry_sprite.bitmap.blt(0, 0, RPG::Cache.icon(@carry_curser),
           Rect.new(0, 0, 24, 24))
       end
     else
       @carry_curser = nil
       @carry_sprite.bitmap.clear
     end
   end
   
   def check_mouse
     $game_map.events.each_value{|event|
     if event.mouse_in_area?
       next if event.erased
       if event.type.include?(MCES::Cache::Curser)
         $mouse.set_cursor(event.curser)
         @mouse_set = false
         return
       end
     end}
     if !@mouse_set
       return if @curser_lock
       @mouse_set = true
       $mouse.set_cursor(Mouse::MOUSE_ICON)
     end
   end
   
   def request_path(x, y = nil)
     x,y = check_target(x,y)
     if x != nil && y != nil && @request == nil
       @request = PathRequesting.new(x, y)
     end
   end
   
   def distance(x,y,tx,ty)
     return Math.hypot((x - tx),(y - ty))
   end
   
   def check_range(x,y,range)
     pl = $game_player
     return (range <= distance(pl.x,pl.y,x,y))
   end
 
   def find_path
     request = @request
     if request.open.size == 0;@request = nil;return []end
     found = false
     key = request.open.keys.min {|a, b|
         Math.hypot(a[0] - request.tx, a[1] - request.ty) <=>
         Math.hypot(b[0] - request.tx, b[1] - request.ty)}
     request.closed[key[0], key[1]] = request.open[key]
     request.open.delete(key)
     Cache::PathDirs.each {|dir|
     kx, ky = key[0] + dir[0], key[1] + dir[1]
     if kx == request.tx && ky == request.ty
       request.closed[kx, ky] = dir[2]
       found = true
       break
     elsif request.closed[kx, ky] == 0 &&
       $game_player.passable?(key[0], key[1], dir[2])
       request.open[[kx, ky]] = dir[2]
     end}
     return nil unless found
     @request = nil
     return request.backtrack
   end
   
 end

 #============================================================================
 # MCES::Msg_Sprite
 #----------------------------------------------------------------------------
 #  The msg sprite.
 #============================================================================
 class Msg_Sprite < Sprite
 
   def initialize(event)
     super()
     @event = event
     self.z,self.opacity = 1000,0
     self.set
     @h = MCES::Config::Text_Size
     @w = event.msg.size*@h
     c = MCES::Config::Text_Color
     self.bitmap = Bitmap.new(@w,@h)
     self.bitmap.font.size = @h
     self.bitmap.font.color = Color.new(c[0],c[1],c[2])
     self.bitmap.draw_text(0,0,@w,@h,event.msg,1)
   end
 
   def set
     return if !$scene.is_a?(Scene_Map) || @event.erased
     b = @event.get_sprite.inner_bitmap
     xs = @event.get_sprite.x-(@event.get_sprite.cw/2)
     ys = @event.get_sprite.y-@event.get_sprite.ch
     self.x,self.y = xs + (b.width/2)-(@w/2),ys-@h
   end
 
   def update
     self.set
     return self.opacity = 0 if @event.erased
     if @event.mouse_in_area?
       if self.opacity < 255
         self.opacity += 25
       end
     elsif self.opacity > 0
       self.opacity -= 25
     end
   end
 end

 #============================================================================
 # MCES::Set_Sprite
 #----------------------------------------------------------------------------
 #  The set sprite.
 #============================================================================
 class Set_Sprite < Sprite
 
   def initialize(v)
     super
     self.bitmap = RPG::Cache.picture(MCES::Config::Click_Graphic)
     @x,@y,self.opacity,self.z = 0,0,0,1
   end
   
   def set(x,y)
     return if MCES::Config::Click_Graphic == false
     @e,x,y = x,x.x,x.y if x.is_a?(Game_Character)
     @x,@y,self.opacity = x,y,255
   end
 
   def update_screen
     return if self.opacity == 0
     x = ((@x * 128) - $game_map.display_x + 3) / 4
     y = ((@y * 128) - $game_map.display_y + 3) / 4
     self.x,self.y = x,y
   end
 
   def update
     return if MCES::Config::Click_Graphic == false
     update_screen
   end
   
 end

 #============================================================================
 # MCES::Event_Command
 #----------------------------------------------------------------------------
 #  The event command window.
 #============================================================================  
 class Event_Command < Window_Command
 
   def initialize(event)
     @size = 0
     @event = event
     @main_commands = event.commands
     @array = []
     @main_commands.each{|command|
     @array.push(command) if command != nil
     @size = (command.size * 32) if (command.size * 32) > @size}
     super(@size,@array)
     self.x,self.y = $mouse.position
   end
 
   def indexes
     return @main_commands.index(@array[self.index])
   end
   
   def update
     super
     if Input.trigger?(Input::Key['Mouse Left'])
       if self.index >= 0
         @event.start_command(indexes)
         self.dispose
       else
         self.dispose
       end
     end
   end
   
 end

 #============================================================================
 # MCES::Pathrequest
 #----------------------------------------------------------------------------
 #  This class preforms the movement requests.
 #============================================================================
 class PathRequesting
   
   attr_reader :open,:closed,:sx,:sy,:tx,:ty,:jd
   
   def initialize(tx, ty, jd = 0)
     pix = ($BlizzABS != nil ? BlizzABS::Config::PIXEL_MOVEMENT_RATE : 1)
     ox,oy = $game_player.location
     @sx, @sy, @tx, @ty, @jd = ox, oy, tx, ty, jd
     @x_off, @y_off = ox - @sx, oy - @sy
     @open = {[@sx, @sy] => -1}
     @closed = Table.new($game_map.width, $game_map.height)
   end
   
   def backtrack
     cx, cy, x, y, result = @tx, @ty, 0, 0, []
     loop do
       cx, cy = cx - x, cy - y
       break if cx == @sx && cy == @sy
       result.unshift(Cache::TDirs[@closed[cx, cy]])
       x, y = Cache::DirOffsets[@closed[cx, cy]]
     end
     return result
   end
   
 end
 
end

raise('This script requires Mouse Controller by Blizzard to work') if $mouse == nil
$MCES = MCES::Processor.new

#============================================================================
# Game_Character
#----------------------------------------------------------------------------
#  Adds a mouse_in_area? method to any instance of this class.
#============================================================================
class Game_Character_fix
 
 attr_reader   :type
 attr_accessor :icon_name,:direction_fixed
 
 alias mces_character_initialize initialize
 def initialize
   @type = []
   mces_character_initialize
 end
 
 def mouse_in_area?
   return false if get_sprite == nil || get_sprite.is_a?(Array)
   return false if get_sprite.inner_bitmap == nil
   return false if get_sprite.cw == nil || get_sprite.ch == nil
   return true if [$mouse.x/32,$mouse.y/32] == [self.x,self.y]
   b = get_sprite.inner_bitmap
   xs = get_sprite.x-(get_sprite.cw/2)
   ys = get_sprite.y-get_sprite.ch
   return ($mouse.x >= xs && $mouse.x < xs + b.width &&
       $mouse.y >= ys && $mouse.y < ys + b.height &&
       b.get_pixel($mouse.x-xs, $mouse.y-ys) != Color.new(255,255,255,0))
 end
   
 
 def get_sprite
   return if !$scene.is_a?(Scene_Map)
   $scene.spriteset.character_sprites.each{|s|return s if s.character == self}
 end
 
end

#============================================================================
# Game_Event
#----------------------------------------------------------------------------
#  This class sets the events proccesing for MCES.
#============================================================================
class Game_Event_fix < Game_Character_fix
 
 attr_accessor :event_start
 attr_reader   :key,:curser,:msg,:commands,:erased
 
 alias mces_initialize initialize
 def initialize(id,event)
   mces_initialize(id,event)
   @child_interpeter = Interpreter.new
   @event_start = false
   @type,@commands, = [],[]
   check_name
 end
 
 #alias mces_update update
 def mces_update
   mces_update
   @child_interpeter.update
   @msg_sprite.update if @msg_sprite != nil
 end
 
 #alias mces_start start
 def mces_start
   return if @trigger == 0 && (!@event_start || @commands.size > 0)
   mces_start
   @event_start = false
 end
 
 def start_event
   @event_start = true
   start
 end
 
 def check_door
   if @key == $MCES.item
     @child_interpeter.setup(@event.pages[1].list,@id)
     $game_party.gain_item($MCES.item.id, -1)
     $MCES.item = nil
     @key_unlock = true
   elsif @key_unlock
     @child_interpeter.setup(@event.pages[2].list,@id)
   else
     @child_interpeter.setup(@event.pages[0].list,@id)
   end
   return
 end
 
 def start_command(i)
   @child_interpeter.setup(@event.pages[i].list,@id)
 end
 
 def check_name
   if @event.name.clone.gsub!(/\\[Ii]gnore/) {''}
     @type.push(MCES::Cache::Ignore)
   end
   if @event.name.clone.gsub!(/\\[Aa]uto/) {''}
     @type.push(MCES::Cache::Auto)
   end
   if @event.name.clone.gsub!(/\\[Cc]ommands/) {''}
     @type.push(MCES::Cache::Commands)
     @interpreter = Interpreter.new
     @event.pages.each{|page|page.list.each{|list|
     @last_list = list if @last_list == nil
     if list.code == 108
       if @last_list.code == 111
         if @interpreter.command_111([@last_list,list])
           @commands[@event.pages.index(page)] = list.parameters[0]
         end
       else
         @commands[@event.pages.index(page)] = list.parameters[0]
       end
     end
     @last_list = list}}
     @interpreter = nil
   end
   if @event.name.clone.gsub!(/\\[Dd]irectionfix\[(\d+)\]/) {"#[$1]"}
     @type.push(MCES::Cache::Direction)
     @direction_fixed = $1.to_i
   end
   if @event.name.clone.gsub!(/\\[Dd]irection\[(\d+)\]/) {"#[$1]"}
     @type.push(MCES::Cache::Direction)
     @direction = $1.to_i
   end
   if @event.name.clone.gsub!(/\\[Ll]ocked\[(\d+)\]/) {"#[$1]"}
     @type.push(MCES::Cache::Door)
     @key = $data_items[$1.to_i]
   end  
   if @event.name.clone.gsub!(/\\[Cc]urser\[(.+?)\]/) {"#[$1]"}
     @type.push(MCES::Cache::Curser)
     @curser = $1
   end
   if @event.name.clone.gsub!(/\\[Mm]sg\[(.+?)\]/) {"#[$1]"}
     @type.push(MCES::Cache::Msg)
     @msg = $1
     @msg_sprite = MCES::Msg_Sprite.new(self)
   end
 end
   
end

#============================================================================
# Game_Player
#----------------------------------------------------------------------------
#  Adds force movement.
#============================================================================
class Game_Player_fix
 
 attr_accessor :force_movement
 
 #alias mces_update update
 def mces_update
   mces_update
   if @target_x == nil
     @force_movement = []
     $MCES.location = []
   else
     if @force_movement == []
       $MCES.request_path(@target_x, @target_y)
     end
     update_forcemovement if !moving?
     if location == $MCES.check_target(@target_x,@target_y)
       if @target_x.is_a?(Game_Event)
         @target_x.start_event
         face_target
       end
       if $scene.spriteset.set_sprite != nil
         $scene.spriteset.set_sprite.opacity = 0
       end
       @target_x = @target_y = nil
       @force_movement = []
       $MCES.location = []
     end
   end
 end
 
 def face_target
   sx = @x - @target_x.x
   sy = @y - @target_x.y
   return if sx == 0 and sy == 0
   sx > 0 ? turn_left : turn_right if sx.abs > sy.abs
   sy > 0 ? turn_up : turn_down if sx.abs < sy.abs
 end
 
 def update_forcemovement
   return if @force_movement.size == 0
   move = @force_movement.shift
   case move[0]
   when 1 then move_lower_left
   when 2 then move_down(move[1])
   when 3 then move_lower_right
   when 4 then move_left(move[1])
   when 6 then move_right(move[1])
   when 7 then move_upper_left
   when 8 then move_up(move[1])
   when 9 then move_upper_right
   end
 end
 
 def location
   return self.x,self.y
 end
 
 def click_jump(x,y)
   new_x,new_y = x-self.y,x-self.y
   jump(new_x,new_y)
 end
 
 def set(x,y=nil)
   @force_movement = []
   @target_x, @target_y = x,y
   $scene.spriteset.set_sprite.set(x,y) if MCES::Config::Click_Graphic != false
 end
 
end

#============================================================================
# Interpreter
#----------------------------------------------------------------------------
#  Allows external use of the condition command.
#============================================================================
class Interpreter
 
 alias mces_command_111 command_111
 def command_111(list = nil)
   if list != nil
     @index = 0
     @list = list
     @list.push(RPG::EventCommand.new(412, list[0].indent, []))
     @parameters = list[0].parameters
   end
   mces_command_111
   if list != nil
     return @branch[0] == nil
   end
 end
 
end
=begin
#============================================================================
# Input
#----------------------------------------------------------------------------
#  Adds the alias methods and updates the processor.
#============================================================================
module Input
 
 class << Input
   alias mces_trigger? trigger?
   alias mces_update update
 end
 
 def self.update
   $MCES.update
   mces_update
 end
 
end
if ($tons_version || $BlizzABS  || $network) == nil
#============================================================================
# Input
#----------------------------------------------------------------------------
#  Adds the mouse trigger commands if not using Blizzards input methods.
#============================================================================  
module Input
 
 Key = {'Mouse Left' => 1, 'Mouse Right' => 2}
 C = Key['Mouse Left']
 #======================================
 # |->  Keyboard Input Module
 #======================================
 #   By: Near Fantastica
 #   Date: 06.07.05
 #   Version: 3  
 #
 #   Cut down by Zeriab
 #   Date: 16.08.06
 #======================================

 def self.trigger?(key)
   return false if key == nil

   if !Win32API.new("user32","GetKeyState",['i'],'i').call(key).between?(0, 1)
     return true
   else
     return mces_trigger?(key)
   end
 end

end

end
=end
#============================================================================
# Sprite_Character
#----------------------------------------------------------------------------
#  Creats a inner bitmap for use with the mouse_in_area? method.
#============================================================================
class Sprite_Character_fix
 attr_reader :ch,:cw,:inner_bitmap
 
 alias mces_initialize initialize
 def initialize(viewport,character = nil)
   mces_initialize(viewport,character)
 end
 
 #alias mces_update update
 def mces_update
   mces_update
   if $BlizzABS != nil
     return if @sprite == nil
     return if @sprite.cw == nil || @sprite.ch == nil
     @cw,@ch = @sprite.cw, @sprite.ch
   end
   if @character.icon_name != nil || @character.tile_id >= 384
     @inner_bitmap = self.bitmap.clone
     return
   end
   @inner_bitmap = Bitmap.new(@cw,@ch) if @inner_bitmap == nil
   if @pattern != @character.pattern
     @pattern = @character.pattern
     bitmap = ($BlizzABS != nil ? @sprite.bitmap : self.bitmap)
     src_rect = ($BlizzABS != nil ? @sprite.src_rect : self.src_rect)
     @inner_bitmap.clear
     @inner_bitmap.blt(0, 0, bitmap, src_rect)
   end
 end

end
#============================================================================
# Spriteset_Map
#----------------------------------------------------------------------------
#  Creats the set_sprite
#============================================================================
class Spriteset_Map_fix
 attr_reader :character_sprites,:set_sprite
 
 alias mces_initialize initialize
 def initialize
   mces_initialize
   if MCES::Config::Click_Graphic != false
     @set_sprite = MCES::Set_Sprite.new(@viewport1)
   end
 end
 
 #alias mces_update update
 def mces_update
   mces_update
   @set_sprite.update if @set_sprite != nil
 end
 
end
#============================================================================
#  Adds eternal reading of methods.
#============================================================================
class Sprite_Character_ABSEAL_ed;    attr_reader :ch,:cw end if $BlizzABS != nil
class Scene_Map;        attr_reader :spriteset           end
if $BlizzABS != nil
class BlizzABS::Processor
 
 def pixel
   return 1
 end
 
end
end


Mouse drop down menu
#=begin
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Character Drop Down Menu by Nathmatt
# Version: 1.15
# Type: Misc System
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#  
#  This work is protected by the following license:
# #----------------------------------------------------------------------------
# #  
# #  Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
# #  ( http://creativecommons.org/licenses/by-nc-sa/3.0/ )
# #  
# #  You are free:
# #  
# #  to Share - to copy, distribute and transmit the work
# #  to Remix - to adapt the work
# #  
# #  Under the following conditions:
# #  
# #  Attribution. You must attribute the work in the manner specified by the
# #  author or licensor (but not in any way that suggests that they endorse you
# #  or your use of the work).
# #  
# #  Noncommercial. You may not use this work for commercial purposes.
# #  
# #  Share alike. If you alter, transform, or build upon this work, you may
# #  distribute the resulting work only under the same or similar license to
# #  this one.
# #  
# #  - For any reuse or distribution, you must make clear to others the license
# #    terms of this work. The best way to do this is with a link to this web
# #    page.
# #  
# #  - Any of the above conditions can be waived if you get permission from the
# #    copyright holder.
# #  
# #  - Nothing in this license impairs or restricts the author's moral rights.
# #  
# #----------------------------------------------------------------------------
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Character_Drop_Down_Menu
 
 def initialize
   username = ''
   @mini_list_array = ['Add Buddy','Trade']
   @mini_list_array.insert(1,'Add Party') if $blizzabs_rmxos != nil
   if $network.guildleader == $network.username
     @mini_list_array.insert(0,'Guild Invite')
   end
   @mini_list_array.push('Kick','Ban') if $network.usergroup > 0
   @confirm_window = Window_Confirm.new
   @mini_list = Window_Mini_List.new(@mini_list_array)
   @mini_list.visible = false
   @wait = 0
 end

 def update
   @wait -= 1 if @wait > 0
   if Input.trigger?(Input::Key['Mouse Right'])
     return if @wait != 0
     @mx,@my = $mouse.pos
     @sx,@sy = $mouse.position
     @player_username = $network.check_player(@mx,@my)
     @players_info = $network.get_player(@mx,@my)
     if @player_username != nil
       @mini_list.visible = true
       @mini_list.active = true
       @mini_list.x = @sx
       @mini_list.y = @sy
       $MCES.disabled = true
     end
     @wait = 5
   end
   
   if @mini_list.active
     @mini_list.update
     if Input.trigger?(Input::Key['Mouse Left'])
       return if @wait != 0
       if @mini_list.index >= 0
         @confirm_window.set_commands(@mini_list.item,@player_username)
       end
       @mini_list.visible = false
       @mini_list.active = false
       @wait = 5
     end
   end
   
   if @confirm_window.active
     @confirm_window.update
     if Input.trigger?(Input::Key['Mouse Left'])
       return if @wait != 0
       case @confirm_window.index
       when 0
         case @mini_list.item
         when 'Add Buddy'
           $network.command_buddy_add(@player_username)
         when 'Trade'    
           $network.command_trade_request(@player_username)
         when 'Guild Invite'
           $network.command_guild_invite(@player_username)
         when 'Kick'
           $network.command_kick_player(@player_username)
         when 'Ban'
           $network.command_ban_player(@player_username)
         when 'Add Party'
           $network.command_party_invite(@player_username)
         end
         @confirm_window.visible = false
         @confirm_window.active = false
       else
         @confirm_window.visible = false
         @confirm_window.active = false
       end
       $MCES.disabled = false
       #$MCES.wait = 5
       @wait = 5
     end
   end
   
 end
   
end
#==============================================================================
# Scene_Map
#==============================================================================
class Scene_Map
 
 alias character_drop_down_menu_main main
 def main
   @mini_menu = Character_Drop_Down_Menu.new
   character_drop_down_menu_main
 end
 
 alias character_drop_down_menu_update update
 def update
   @mini_menu.update
   character_drop_down_menu_update
 end
 
end
#==============================================================================
# Mouse
#==============================================================================
class Mouse
 
 attr_accessor :cursor
 
 def pos
   x, y = self.position
   x = ( x + $game_map.display_x / 4) / 32
   y = ( y + $game_map.display_y / 4) / 32
   return x, y
 end
   
end
#==============================================================================
# Window_list
#==============================================================================
class Window_Mini_List < Window_Selectable
 
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     actor : actor
 #--------------------------------------------------------------------------
 def initialize(list)
   super(476, 175, 104, 300)
   @list = list
   @column_max = 1
   refresh
   self.index = 0
   self.opacity = 0
   self.active = false
   self.z = 10000
 end
 #--------------------------------------------------------------------------
 # * Get Item
 #--------------------------------------------------------------------------
 def item
   return @data[self.index] if self.index >= 0
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
   @list.each {|i| @data.push(i)}
   # If item count is not 0, make a bit map and draw all items
   @item_max = @data.size
   if @item_max > 0
     self.contents = Bitmap.new(width - 32, row_max * 32)
     self.contents.fill_rect(0,0,width,height,Color.new(0, 0, 0, 160))
     @data.each_index {|i| draw_item(i)}
   end
 end
 #--------------------------------------------------------------------------
 # * Draw Item
 #     index : item number
 #--------------------------------------------------------------------------
 def draw_item(index)
   x = index % 1 * (288 + 32)
   y = index / 1 * 32
   self.contents.font.size = 16
   self.contents.draw_text(x, y, width - 32, 32, @data[index].to_s, 1)
 end
end
#==============================================================================
# Window_Confirm
#==============================================================================
class Window_Confirm < Window_Selectable
 
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     actor : actor
 #--------------------------------------------------------------------------
 def initialize
   super(100, 100, 300, 150)
   @data = ['Yes','No']
   @column_max = 2
   @command = nil
   @user = nil
   refresh
   self.index = 0
   self.opacity = 0
   self.active = false
   self.visible = false
   self.z = 10000
 end
 #--------------------------------------------------------------------------
 # * Get Item
 #--------------------------------------------------------------------------
 def item
   return @data[self.index] if self.index >= 0
 end
 #--------------------------------------------------------------------------
 # * reset
 #--------------------------------------------------------------------------
 def set_commands(command,user)
   @command = command
   @user = user
   self.visible = true
   self.active  = true
   refresh
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   # If item count is not 0, make a bit map and draw all items
   @item_max = @data.size
   if @item_max > 0
     self.contents = Bitmap.new(width - 32, 20 + row_max * 32)
     self.contents.font.size = 16
     self.contents.fill_rect(0,0,width,height,Color.new(0, 0, 0, 160))
     self.contents.draw_text(0,0,width,20,
     'Are you sure you want to '+ @command.to_s + ' ' + @user.to_s)
     @data.each_index {|i| draw_item(i)}
   end
 end
 #--------------------------------------------------------------------------
 # * Draw Item
 #     index : item number
 #--------------------------------------------------------------------------
 def draw_item(index)
   x = index * (width - 32) / 2
   self.contents.draw_text(x, 20, (width - 32) / 2, 32, @data[index].to_s, 1)
 end
 #--------------------------------------------------------------------------
 # * Cursor Rectangle Update
 #--------------------------------------------------------------------------
 def update_cursor_rect
   if @index < 0
     self.cursor_rect.empty
   else
     self.cursor_rect.set(self.index * (width - 32) / 2, 25,
    (width - 32) / 2 , 20)
   end
 end
end
#============================================================================
# RMXOS::Network
#============================================================================
class RMXOS::Network
 def check_player(x,y)
   @players.any? {|key, value|
   return value.username if value.x == x && value.y == y}
   return nil
 end
 def get_player(x,y)
   if $blizzabs_rmxos != nil
     @players.any? {|key, value|
     return value.battler if value.x == x && value.y == y}
   end
   return nil
 end
end
# Load the network
$network = RMXOS::Network.new
#=end


PS: I also added the scripts of a blank project: *Window_base * Window_selectable *Window_Command, but the problem persist :(

-------------------------------------------------------------------------------------------------------------------------------------------------------

Thanks to Wizered and Blizzard this problem is solved, it was a error in the coordinates, thanks to they for this :D
20
RMXP Script Database / Re: [XP] RMX-OS
May 19, 2013, 01:19:21 pm
Good Work Blizzard! As Always! I will be testing and telling you if i find something!! :D

Thanks again!! :D

Regards

Aegis