Jump to content
Valentine

VXA-OS - Create your MMO with RPG Maker

Recommended Posts

vmblUfr.png



Author: Valentine

Version: 1.1.0

 

About

VXA-OS is the most complete and secure free tool for creating 2D online games from RPG Maker. It has been in active development since October 2017 and has been used in several MMORPGs, such as Urkon Online, Lotus Online and Darknessfall.

 

Features

Current:

» 4 types of chat;
» 9 types of equipment;
» 13 administrator commands;
» 3 moderator commands;
» Global server battle system;
» Passwords protected with the MD5 cryptographic function;
» 99% of event commands on the server;
» Common server events;
» Configurable resolution;
» Global Switches;
» EventMachine network library;
» Friends system;
» Quest system;
» Account Editor;
» Teleportation;
» Paperdolls;
» Party;
» Minimap;
» Bank.

Next:

» Remaining event commands, such as: Show Choices, Item Selection, Wait and Move Event;
» Customized movement of events;
» Parallel process start conditions and automatic start of events on the server;
» Weapons and long range skills.

 

Images

» Login

RJsoIB6.jpg

» Character selection

lQTefSf.jpg

» Bank and party

V50zoaL.png

» Quests and friend list

jb4vtvc.png

» Admin panel

cCkRraM.png

 

Download

With DirectX:

Mega

4shared

 

No DirectX:

1) After downloading the DirectX version, download the Game.exe below and replace it with the one in the folder Client

Download Game.exe

2) Open the Script Editor (F11)

3) Browse the script [VS] Mouse:

hJ1n1tW.png

4) Replace ALL the script [VS] Mouse with:


#==============================================================================
# ** Mouse
#------------------------------------------------------------------------------
#  Autor: Cidiomar
#==============================================================================

module Mouse
  
  typedef 'unsigned long HCURSOR'
  dll = 'System/VXAOS.dll'
  Mouse__setup = c_function(dll, 'void Mouse__setup(struct RArray*, struct RArray*, struct RArray*, void *)')
  Mouse__update = c_function(dll, 'void Mouse__update()')
  Mouse__getPos = c_function(dll, 'void Mouse__getPos(long *)')
  Mouse__getOldPos = c_function(dll, 'void Mouse__getOldPos(long *)')
  
  @triggered = Input.triggered
  @pressed = Input.pressed
  @released = Input.released
  @repeated = Input.repeated
  @last_lclick = Time.now
  @last_rclick = Time.now
  @dbl_lclick = false
  @dbl_rclick = false
  @pos = Array.new(2, 0)
  Mouse__setup.call(@triggered, @pressed, @released, @repeated)
  
  def self.click?(button)
    return @triggered[1] if button == :L
    return @triggered[2] if button == :R
  end
  
  def self.press?(button)
    return @pressed[1] if button == :L
    return @pressed[2] if button == :R
  end
  
  def self.release?(button)
    return @released[1] if button == :L
    return @released[2] if button == :R
  end
  
  def self.repeat?(button)
    return @repeated[1] if button == :L
    return @repeated[2] if button == :R
  end
  
  def self.dbl_clk?(button)
    return @dbl_lclick if button == :L
    return @dbl_rclick if button == :R
  end
  
  def self.tile_x
    # Corrige o display_x, já que a tela pode se mover
    #16 em vez de 32 pixel na horizontal se a largura da
    #resolução for superior a 1000
    x = $game_map.display_x > 0 && $game_map.display_x > $game_map.display_x.to_i ? self.x + 16 : self.x
    (x / 32 + $game_map.display_x).to_i
  end
  
  def self.tile_y
    (($game_map.display_y * 32 + self.y) / 32).to_i
  end
  
  def self.in_tile?(object)
    object.x == tile_x && object.y == tile_y
  end
  
  def self.update
    Mouse__update.call()
    @pos = [0, 0].pack('l2')
    @old_pos = [0, 0].pack('l2')
    Mouse__getPos.call(@pos)
    Mouse__getOldPos.call(@old_pos)
    @pos = @pos.unpack('l2')
    @old_pos = @old_pos.unpack('l2')
    @dbl_lclick = double_left_click?
    @dbl_rclick = double_right_click?
  end
  
  def self.double_left_click?
    return false unless click?(:L)
    result = false
    t_diff = Time.now - @last_lclick
    if t_diff < 0.5 && @last_pos == @pos
      result = true
    else
      @last_lclick = Time.now
      @last_pos = @pos
    end
    result
  end
  
  def self.double_right_click?
    return false unless click?(:R)
    result = false
    t_diff = Time.now - @last_rclick
    if t_diff < 0.5 && @last_pos == @pos
      result = true
    else
      @last_rclick = Time.now
      @last_pos = @pos
    end
    result
  end
  
  def self.x;        @pos[0];           end
  def self.y;        @pos[1];           end
  def self.pos;      @pos.dup;          end
  def self.old_x;    @old_pos[0];       end
  def self.old_y;    @old_pos[1];       end
  def self.old_pos;  @old_pos.dup;      end
  def self.moved?;   @pos != @old_pos;  end
  
end
  
#==============================================================================
# ** Graphics
#==============================================================================
module Graphics
  
  def self.is_fullscreen?
    false
  end
  
  def self.toggle_fullscreen
  end
  
end

 

Tips

How to attack and chat with events:

Press Ctrl.

How to open the admin panel:

Press F9.

 

Tutorials

Level next to the player's name in the chat

Show group in chat and on top of character

Only complete mission when speaking with NPC

Enemies do not attack administrators

Do not attack party member

Black background under the name

Independence of RTP

 

Additional Utilities

MySQL Database

Simple launcher

 

License

VXA-OS is a free open source framework, distributed under a very liberal license (the well-known MIT license). The project can be used for any purpose, including commercial purposes, without any cost or paperwork.
VXA-OS is not in the public domain and its creator retains its copyrights.
The only requirement is that if you use VXA-OS, you must give credit to the creator by including the copyright notice somewhere in your game.
In no event shall the copyright owner or copyright owner be liable for any claims, damages or other liabilities.

 

Credits

Creator:

Valentine

 

Thank you:

Cidiomar

Soreto

LeonM²

Komuro

zh99998

Gallighan

Shiy

RGD

Share this post


Link to post
Share on other sites

Looks very nice! 

 

I have a couple of questions :) 

 

Is it open source?

In which language is it written?

What do you mean with » Global server battle system?

Will it be in a similar vein to Intersect with editors and the like?
 

(Sorry, can't download at work, so some of these questions might be easily answered by myself)

Share this post


Link to post
Share on other sites

If this is like Valentines past work then its a server app and a set of scripts to create an online enabled RPG Maker VX/Ace game. So the requirements as far as owning RPG Maker VX/Ace still stand and then your design options are the same(ish) as rpg makers. It isn't open source but all the scripts to make the above possible are available for editing.

Share this post


Link to post
Share on other sites

Version 1.0.6 available.

 

LOG:

-Paperdolls added;

-List of friends added;

-Bank added;

-Teleportation system added;

-Party added;

-Added moderator commands;

-Configurable maximum number of classes;

-Pup of gold added;

-Fix bug in the drop;

-Fix bug in the minimap;

-Other bugs fixed.

 

I added some things in the Manual.

Share this post


Link to post
Share on other sites

Version 1.1.0 available.

 

LOG:
-Changes made in the Manual;
-Vocab added on the server;
-Added speed hack protection;
-Limit of inventory, trade and bank added;
-Event Command Call Added Common Event;
-Error when equipping weapon or armor that increases HP and/or Max MP fixed;
-Error when using item that permanently increases HP and/or Max MP fixed;
-Error by giving a high gold value through the admin panel fixed;
-Error when disconnected in character selection fixed;
-Error in vip days count in accounts editor fixed;
-Error when creating character without starting points fixed;
-Error of multiplying item in the trade fixed;
-Error when performing corrected event actions;
-Error in priority Below the Hero fixed;
-Error in the z-order of the chat fixed;
-Error on switches fixed.

Share this post


Link to post
Share on other sites

Haven’t checked out the English version yet but is there a setup guide or anything like that available? I would love to test this engine but I’m not sure if I could get it to run without a guide lol. 

Share this post


Link to post
Share on other sites
4 hours ago, Zetasis said:

Ainda não verificamos a versão em inglês, mas existe algum guia de configuração ou algo assim? Eu adoraria testar este motor, mas não tenho certeza se eu poderia fazê-lo funcionar sem um guia lol. 

 

It has a manual in the download explaining how to configure it.

More Suport: https://discord.gg/u8v5df9

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...