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.


Topics - Aegisrox

Pages: [1] 2
1
Resources / Question: Software for story telling with addons
« on: December 09, 2016, 02:53:20 AM »
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!


2
Welcome! / RE:WELCOME! LMAO!!!
« on: December 04, 2016, 09: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!

3
Pokemon Online Remexos / Pokemon Remexos CLOSE :(
« on: May 02, 2014, 06:03:15 PM »
Today we are here with bad news...

Pokemon Remexos Online closes his doors forever...

It was a great time for all, we made a lot of friends and we had a lot of fun, but for various reasons we must close the game...

Some reasons are....
* Imposibility of still paying the server cost.

* Imposibility of recovery a big number of accounts that were corrupted.
.
* Imposibility of repair certain bugs that are a limitation of ruby, like the afraid "Server did not respond".

* Only two administrators on the game with a lot of work, Blizzard and me.

* And the worst problem, the problems with NINTENDO as the owner of the Pokemon saga and his Reserved Property Rights.

It is a dagger in the heart to take this decision, but we see convenient to inform to all users before dissapear to a moment to other wihout a trace.

For that the server will be online one more week until the day "Saturday 10 of May", for the users that want still playing.

Also we will be giving the Prizes of the Easter Event, but we sorry that the users can't enjoy too much.

Also, we express our grattitudes to all the users and Chaos project members that trust on us, and helps us with support and playing our game, it was a honor to have you like users, and friends, for that we apologize all the sadness that this close can give.

But for bad things, come the good... The good thing, is that with my brother we are working on a new Game (NON RPG MAKER) that we have own licence, and that will be awesome, so we hope that all still with yours support like to now,

Thanks you very much for all, and we are seeing soon....


Pokemon Remexos Online Staff ;)

4

Pokemon World Team Tournament

Pokemon Remexos have new server with the Desync Error problem solved, is NOW ONLINE, also we have anothers fresh news :D
* We will introducing an alternative server "Remexos Europe" - with no lag for Europe country members :D
* We are organizing a World Pvp Tournament with fabulous prizes :D
* The tournament will be of 3 participants team, to win they need 2 victories.
* In the Tournament there are 4 categories:
   1. Level 30-44
   2. Level 45-64
   3. Level 65-89
   4. Level 90-100

* AND MORE SURPRISES!!! Just wait to see it ;)

PS: The users with Deserialize problem plz go to our facebook page https://www.facebook.com/pages/Pokemonremexosonline/144309059062917 and send us a Private Message, with username and password to get claim of your "Beldum". Others user that write us and dont have this problem will be banned for lie us.

More News about the tournament soon, please stay focus on the post :D

5
Pokemon Online Remexos / Account Error Solution and Free Pokemon!
« on: March 03, 2014, 11:11:26 PM »
This Topic is For all users with account problems.

The past saturday we tried to reinstall the server component to fix the problem, but that wasn't the solution.

But the good thing is that we identified the root problem :D

The problem is that the "deserialize error" it is a type of script of hanging when RPG Maker load, eval and read an huge load of information.

So Blizzard will be rewriting the save mecanism for RPG Maker in these days, so we hope that this resolve the problem ;)

To all users with accounts problem, we will be giving the rare pokemon "Beldum"

(click to show/hide)

Sorry for the inconvenience and please be patient while we resolve this ^_^

Regards

Remexos Staff Team

6

About the Evolution Game

Pokemon Remexos Evolution in open beta it is ONLINE Right now and you can play :D
* Completely new regions, introduce Johto and Kanto
* Introducing mouse support on the game
* All starters and all 649 pokemon until generation V will be catchable
* Introducing new pokemon system that on the future will include all six generation Pokémon and all mega-evolutions
* Introducing new website with open registration on the site
* We have a 24 Hours, 100% UPTIME Dedicated server exclusive for Remexos, so the game won't have lag at all.
* AND MORE SURPRISES!!! Just wait to see it ;)


Trailer of the game

Want to see a trailer of game? ;)
https://vimeo.com/83406767


Register and Download

To Register and Download go to the following website
www.pokemonremexos.com


Screenshots

Want to see some screenshots of Remexos Evolution? ;)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)


Open Beta Support

Also we have the support of the best Game designer, Blizzard of Chaos-project :D, so with this, the game will be the best Pokémon MMO EVER!!! :D

7
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

8
RMXP Script Database / [XP] Chat Mouse Click Activation
« on: November 07, 2013, 04:38:02 PM »
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.

Code: [Select]
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 ;).

9
Troubleshooting / Help / [Solved][Question/Help] Mouse script in MRMX
« on: November 04, 2013, 07:03:39 PM »
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
Code: [Select]
#=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
Code: [Select]
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# 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
Code: [Select]
#=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

10
Pokemon Online Remexos / Pokemon Remexos Online Evolution: Closed Beta
« on: October 12, 2013, 08:55:42 PM »

About the Evolution Game

Pokemon Remexos is coming again and now is "Remexos Evolution" With maps and Sprites in HD Resolution :D


Screenshots and Video

(click to show/hide)

11
RMXP Script Database / [XP] MRMX-OS SYSTEM - MultiPlatform RMX-OS SYSTEM
« on: October 07, 2013, 04:57:28 PM »
MultiPlatform RMX-OS SYSTEM
Authors: Aegisrox, Blizzard, Khkramer, Markz88, Kernys, Kusanagi, Gameus, Alexandre, Eduardobra
Version: 3.00
Type: RPG maker Engine
Key Term: Misc System

Introduction

MRMX-OS SYSTEM is the evolution of the RMX-OS System. It is a engine for multiples operating systems, desktop and mobile, to play RPG MAKER XP Games Online and Offline. Also the engine is integrate with the Pokemon Essential Kit to create Online games of Pokemon with a lot of special Online features.

This work is protected by the following license:
Quote
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.


MRMX Features

  • Cross Platform: Windows, MacOsx, Linux and ANDROID
  • Updated to RMX-OS 2.0
  • Guild system with Guild tags above the user names
  • Fullscreen mode with fit the screen mode
  • Multi player game at same time
  • Savegame in a remote database online
  • Chat system and command system
  • Administrative tools for GameMasters
  • Debug mode only for GameMasters
  • Auto update system with a Launcher
  • Totally encryptable by application virtualization
  • Much more


Pokemon Online Features
  • Fully Functional Pokemon System (Battles/Evolutions/Pokedex/and more)
  • Fully Functional Online System !!! (Chatting/Trading/and more
  • All 649 pokemons will be catchable
  • Animated sprites of pokemons - AddOn
  • Pokemon follows the players
  • Customizable characters with a set of sprites
  • Special events with the creators of the system
  • Much more




Screenshots

(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)


Download

The following two download links are exactly the same. They both contain the Server and Client.
https://mega.nz/#!b5wwlTQT!XxbzVFPaER7nba3OkvFHKO72qnJEXDhhIzAW_XjL8Yc
http://www.mediafire.com/download/4i4er3d08bqtm1k/MRMX-OS.zip

(click to show/hide)


Compatibility

Requires RMX-OS 2.0, Ruby 2.0.0,  MySQL and Navicat for MySQL (also You can always download XAMPP and use phpmyadmin).

Credits and Thanks

  • Aegisrox for Lead development, RMX-OS 2.0 Update and publish the MacOsx Version
  • Blizzard of course for the awesome RMX-OS 2.0 and Scripting help
  • Khramer/Markz88 for development of the Pokemon Online Kit
  • Alexandre/Eduardobra/Markz88 for development of the PVP System
  • Kernys for development of the ANDROID Version
  • Kusanagi for development of the Linux version
  • Gameus for development of the Update System
  • TheChinStrap from epvp for help with the launcher
  • Poccil/Flameguru/Maruno for development of Pokemon Essentials

Author's Notes

Have Fun!, Report Error and questions to http://forum.chaos-project.com

.: PvP System - How to run the PVP Server :.
(click to show/hide)

12
Pokemon Online Remexos / IMPORTANT: Remexos Official Launch
« on: April 12, 2013, 11:42:43 PM »

Remexos Official Launch


The next Tuesday will be the official launch of the server so we will start to promote the server in other forums and sites, also in the new server all accounts will be wiped out and the new server will include the next features:
  • Updated to Essentials v11
  • Updated to RMX-OS V1.22
  • New encryption system; prevent random crashes and prevent lag
  • New installer, without the antivirus problem
  • Minor bugs fixed
  • Fullscreen mode fixed
  • Added unistall shortcut into the installer
  • In the next days PvP system !!!
  • And more !!!


To all users who participated in the betatest will be given a starter pokemon of choice, of any generation:
  • GEN 1: Bulbasaur, Charmander, Squirtle.
  • GEN 2: Cyndaquil, Chikorita, Totodile.
  • GEN 3: Mudkip, Treecko, Torchic.
  • GEN 4: Turtwig, Chimchar, Piplup.
  • GEN 5: Tepig, Oshawott, Snivy.



In order to claim your started send me a PM with the following info, you have time until the Next Tuesday:
  • Account username
  • Account Password
  • Character sex
  • Started Choice



EDIT:
The pokemon that will be given it is a EXTRA pokemon, so you can also have the default choice of johto pokemons.

The non betatester will be limited in their choice, because they only have the default choice of johto.

The other way to claim your started it is by trade, but you will sacrifice one pokemon in the trade and the OT will doesnt belong to you.

I need the password, later you can change if you like, also i need the PM with the Started choice to make a registry of all active betatesters.



Regards

Aegis

My best Regards

Aegis

13
Hello guys, I have bad news...

This morning i woke up and check my mail, then i saw this...

Quote
Dear Sir or Madam:

We are legal counsel to Nintendo of America Inc. (referred to here, with its parent and affiliated companies, as "Nintendo"). As you are no doubt well aware, Nintendo is one of the world's leading developers and distributors of video game products. The Pokemon franchise is one of Nintendo's most popular game series, selling over 200 million units during the past 15 years, with many new releases planned for the future. The intellectual property associated with the games, including the copyright in the underlying software code, visual depictions of the games, and characters found within the games, is the subject of copyright protection in the United States and abroad.

We recently learned that you have utilized images and other protected content from the Pokemon series in your game titled "Pokemon Online Remexos," which can be found at www.chaos-project.com. While Nintendo appreciates your interest in and support of the Pokemon game series, your publication of this content infringes Nintendo's copyrights in violation of federal law. Your activity also has the potential to cause substantial damage to Nintendo, and leaves Nintendo with no choice but to take steps to protect its intellectual property rights.

We have accordingly submitted a copyright infringement notice to your domain registrar under the Digital Millennium Copyright Act, and anticipate that your website will be taken down shortly. We encourage you to immediately remove the game from your website and cease to support the game in any manner including running a game server, distributing game clients, and providing game updates. Going forward, you must also refrain from distributing any games that infringe Nintendo's rights in the Pokemon series or any other game.

Your full and immediate compliance with the foregoing should render further action on Nintendo's part unnecessary. It is essential that we receive your written response confirming that you have taken these necessary actions by Thursday, April 11, 12:00 p.m. PDT, however, or Nintendo will have no choice but to consider its alternative legal remedies.

So, the server will be open this week, but for the next we have no choice to close it...

Sorry for the bad news.

Regards

Aegis

14
Pokemon Online Remexos / Post Your Snapshots Here!!
« on: March 28, 2013, 01:02:57 AM »
Now the game has support to make snapshops! So i am making this post to see snapshops in game of the players! :D

Feel free to post your snapshots Here! Later i will add my snapshops too ;)

I hope you like it!

Regards

Aegis

EDIT: Here are my snapshots, maybe some of you have seen earlier xD

Here with my poke!

(click to show/hide)
(click to show/hide)

Here with Blizzard!

(click to show/hide)

Here at the Gym with Blizzard!

(click to show/hide)

Here is my team! Please ignore the Zekron is only for betatest xD

(click to show/hide)

Show Your Snapshots people!! :D

15
Pokemon Online Remexos / Pokemon Remexos: Server ON and Server Rules
« on: March 25, 2013, 02:12:29 PM »
Player Rules
InGame Rules for Pokemon Remexos


1. Introduction:
All players must follow these rules while playing on the Pokemon Remexos server.

2. No harm the server:
A player must not in any way try to harm the server,or ask anyone else to do so.Doing this will result in an instant and permanent account ban.

3. No bug exploiting:
A player must not abuse a bug. If a player encounters a bug,they should rather report it than abusing it.This can lead to a permenant ban. Also, to all users who participate in the betatest and reports bugs will be given a starter pokemon of any generation in the official version of the game.

4. No hacking:
Hacking and cheating is strictly prohibited. Any kind of program that modifies the normal way of gameplay is considered a hack.This includes bots. Breaking this rule will lead to a permanent ban.

5. No Staff Disrespect:
A player must respect game masters. A game master is as polite to the player,as the player is to the game master. The GM can decide what to do if a player is offensive to them.

6. No others players Disrespect:
All players should stay as polite as possible. Insulting other players is not allowed,and immature language will also be taken actions against.

7. No more than one account:
Players cannot create more than a account per ip, except for exceptional cases that need to be informed to the GMs.

8. No Account Trading:
No player may share or trade thier account information with another player.This will result in a permenant ban.

9. No special character names:
All names when making a login name and character name must be in plain English.Please do not use alternate lettering to make character names.

10. No posing as a staff member:
Pretending to be Admin or GM is a big No-No....you will be instantly banned with no warning. This includes have a player name similar to a GM name.

11. No Advertisement:
Do not announce other server names anywhere, be it via whisper, guild chat or any global channels. Do not mention their names even for the sake of comparisons or criticizing. Advertising other servers, sites, etc. is highly forbidden.

12. No Flooding:
Flooding the screen is against the rules. Flooding is when you type long lines of nonsense, or repeat the same thing over and over. It makes it hard for other players to have fun, so don't flood the chat rooms.


All rules that apply to the game apply to the forums.If the forum admin chooses your posts are unfit to remain on the forums and are deleted,you are still accountable for your actions there.Any misconduct on the forums will have your forum account and or I.P. banned as well.


Have fun and enjoy Pokemon Remexos Online!!

16
Bug Reports and Tech Issues / Read Before Posting: Official To do List
« on: March 16, 2013, 11:20:48 PM »
This is the official "to do" list for the official server, before post a new thread please read this carefully:
Also, this post will be edit as users post his bugs and suggestions.

To do list:

  • Modify the font size and position of the Guild name
  • Get disconnected player sprite removed form the map a soon as they disconnect
  • Repair Black edge in some maps
  • Modify the UI to look similar to pokemon games
  • Implement Trade and PvP
  • Implement more sets of sprites: 10 per player
  • Modify the input to move with WASD instead of arrow keys
  • Add double wild battles
  • Add guild tags in names
  • Implement the followings pokemons: 88-grimer, 109-koffing, 126-magmar

Regards

Aegis

17
Pokemon Online Remexos / Pokemon Suggestion Thread
« on: March 16, 2013, 03:59:47 PM »
This Thread is for suggestions of pokemon encounter that will be in the official version.

You can suggest any pokemon you want of any generation and the staff will consider the petition.

Reply to this topic with the suggestion.

Regards

Aegis

18

About the Game

This is Pokemon Online Remexos, a game exclusive to chaos project members. This is a Pokemon Game using the Pokemon Essentials Markz88 starter kit. Along with this, it uses the awesome RMX-OS sytem (RPG Maker Xp Online System)

Features

  • Fully Functional Pokemon System (Battles/Evolutions/Pokedex/and more)
  • Blizzard is working right now in the Fully Functional Online System !!! (Chatting/Battling/Trading/and more!)
  • MySql Saving (Saves to the server, not client, so data is secure.. and everywhere you go!)
  • All 649 pokemons will be catchable
  • Pokemon follows the players
  • Customizable characters with a set of sprites
  • Animated sprites of pokemons

General Info

The game is a remade of Pokemon Crystal, it has the Regions of Johto and Kanto and Hoenn in the future, although this, it will be possible to catch all pokemons of all regions.

Screenshots and Video

(click to show/hide)

19
Pokemon Essentials with Online Features - Markz88 MMO Kit
Authors: Markz88, Aegisrox(Chevalsky)
Version: 1.00
Type: RPG maker Engine
Key Term: Misc System

Introduction

Markz MMO Kit is an attempt to make a Pokemon MMO With online features. Right now the engine is still on beta, but is totally playable and is a very promising project.


Features

  • Multi player game at same time
  • Savegame in a remote database online
  • Chat system and command system
  • Administrative tools for GameMasters
  • Debug mode only for GameMasters
  • Auto update system
  • Much more



Screenshots

(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)
(click to show/hide)


Download

http://pokemmokit.altervista.org/


Compatibility

Requires RMX-OS, MySQL and Navicat.

Credits and Thanks

  • Markz88 for development
  • Chevalsky(Aegisrox) for posting
  • Poccil/Flameguru/Maruno - Pokemon Essentials Version 11
  • Jackolas for part of the tutorial
  • Blizzard of course for the awesome RMX-OS

Author's Notes

Have Fun!, Report Error and questions to http://pokemmokit.altervista.org/

20
Troubleshooting / Help / [RPG Maker XP] How to use this Encryption Script
« on: February 16, 2013, 11:17:18 PM »
Hello members of chaos project! I am writing because while i was surfing internet i found a script to encrypt data in RPG Maker.  8)

The problem is that i have no idea how to use it  :^_^':

There are the instructions but i dont know much about scripting, and i have no idea to do.

If you like you can try it, This is the site

https://github.com/Repflez/RPG-Maker-Scripts/tree/master/MakerCrypt

Please if your discover how to make it works, please reply this topic and share with the community :D

Thanks in advance

My best regards

Chevalsky

Pages: [1] 2