Jump to content


Photo
* * - - - 3 votes

Using RGSS3 with RPG Maker XP


This topic has been archived. This means that you cannot reply to this topic.
57 replies to this topic

#1 PK8

PK8

    I sense there's something in the wind...

  • Members
  • 503 posts

Posted 01 July 2012 - 07:40 PM

Before I begin, I'd have to say Dargor deserves the credit for a lot of this. I used his tutorial and applied most of it in the process of giving RMXP the capabilities of RGSS3.

Introduction
We will be going through the steps on how to implement RGSS3 into RPG Maker XP. Implementing it of course will give you access to a lot of RGSS3's cool features. Let us begin.

In order to do this, you will need to have RPG Maker VX Ace in hand. Here, we will use RPG Maker VX Ace's RGSS301.dll and Game.exe.

Steps
Step 1: RTP
If you are using the default RTP, export all of it into your Game's Project folder. If you don't, this will come back to bite you later on in this tutorial.

Step 2: RGSS Library and Game.exe
  • Copy and paste RGSS301.dll to your Game's Project folder and rename it RGSS104E.dll (or whatever your DLL file might be. Look in Game.ini if you aren't sure.)
  • Replace the Game.exe in your project's folder with RPG Maker VX Ace's Game.exe
Step 3: Scripts
  • RPG Objects
    • Open RPG Maker XP
    • Open the Help Manual (F1)
    • Open the Script Editor (F11)
    • Copy all RPG objects from the Help Manual into the Script Editor. Make sure to put all of these scripts ABOVE everything else.
      Note that RPG::MoveCommand has an error.

      Here's how it looks in the manual:
      module RPG
            class MoveCommand(code = 0, parameters = [])
              def initialize
                @code = code
                @parameters = parameters
              end
              attr_accessor :code
              attr_accessor :parameters
            end
          end

      Here's how it should look:
      module RPG
            class MoveCommand
              def initialize(code = 0, parameters = [])
                @code = code
                @parameters = parameters
              end
              attr_accessor :code
              attr_accessor :parameters
            end
          end
  • Other Scripts
    Some hidden classes such as Tilemap and Window have changed significantly to the point where it might not work anymore.
    • The most important thing to update is the Tilemap. Like Dargor, I'll also recommend Poccil's Tilemap script. It still works pretty well. Since I was only able to come across a text file of it on 4shared, I will share it here.
      Spoiler
    • As for the Window/Windowskin, there's two steps you'll have to do here.
    • Because of the changed libraries, you're now going to need a windowskin that can work with RPG Maker VX. You could either use an RPG Maker VX windowskin or if you'd prefer to keep your RMXP Windowskin, you could use my RMXP to RMVX (Ace) windowskin converter script and add that above main.
    • Because RGSS3 now has a padding property, windows will start to appear slightly awkward, like so:

      Posted Image

      Because of this, you'll need to copy this snippet and paste it above main as well:
      #==============================================================================
      # ** Window_Base
      #------------------------------------------------------------------------------
      #  This class is for all in-game windows.
      #==============================================================================
      
      class Window_Base
        alias_method(:rmxptorgss3_initialize, :initialize)
        def initialize(*args)
          rmxptorgss3_initialize(*args)
          self.padding = 16
        end
      end
  • Next up, we're going to have to do a complete rewrite of main. Why? Because Game.exe shuts itself down now, that's why. Copy and paste this code onto main.
    #==============================================================================
    # ** Main
    #------------------------------------------------------------------------------
    #  After defining each class, actual processing begins here.
    #==============================================================================
    
    rgss_main {
      $DEBUG = $TEST = true            # Remove this when your project is finished.
      Graphics.resize_screen(640, 480) # Resizes the screen.
      # Prepare for transition
      Graphics.freeze
      $scene = Scene_Title.new
      # Call main method as long as $scene is effective
      $scene.main while $scene != nil
      Graphics.transition(20)
    }
  • Bringing back print
    This is optional, but for those who liked print... here's a quick snippet to bring that back.
    #==============================================================================
    # ** Kernel
    #------------------------------------------------------------------------------
    #  A module defining the methods that can be referred to by all classes.
    #  Object classes are included in this module
    #==============================================================================
    
    module Kernel
      def print(*args)
        msgbox(*args)
      end
    end
Step 4: Fonts
Because it's now using the RGSS3 Library and VX Ace's Game.exe, your project will now look for a font named VL Gothic.
  • You should find the Fonts folder in C:\Program Files (x86)\Common Files\Enterbrain\RGSS3\RPGVXAce.
  • Copy the folder and paste it into your project's folder.

FAQ / Issues
  • Q: I'm getting a Failed to Load Scripts error.
    A: Rename Game.rgssad to Game.rgss3a
  • Q: I'm getting a Failed to Load Archive error when trying to run an encrypted game.
    A: I hate to not have any good news, but I'm clueless as to how to fix it.

Demo
Coming soon.

Edited by α PK8, 04 July 2012 - 07:55 AM.

I'm currently not supporting any of my scripts because I recently came back from a lengthy hiatus. I will begin revamping almost all of them in due time. For now, look at the Progress page on my site to check my current progress.
 

CALLING ALL SCRIPTERS
Let's improve $imported!
$imported Expansion | $imported[:SCRIPT_LIST] | Cross-engine Scripting

Spoiler

#2 Majirefy

Majirefy

    ~Doraemon's Pocket~

  • Members
  • 18 posts

Posted 02 July 2012 - 12:38 AM

Seems awesome!
I really wonder if I can use Chinese characters in my Game?

#3 Mako

Mako

    Advanced Member

  • Early Adopter+
  • 163 posts

Posted 02 July 2012 - 01:01 AM

Holy cow! Does this mean I will be able to use VX Ace scripts in XP? *Looks at VX Ace with scorn*

Update: It werks! Wow for me this shines a new light on the vxace vs xp debate...

Edited by Mako, 02 July 2012 - 01:04 AM.


#4 Link

Link

    Hero of Slime

  • Early Adopter
  • 89 posts

Posted 02 July 2012 - 11:00 AM

WITCHCRAFT! PURE WITCHCRAFT!

I've always thought of doing something similar to this but never actually expected it to work. Nice to know it does :P

#5 amerk

amerk

    Advanced Member

  • Early Adopter+
  • 1,146 posts

Posted 03 July 2012 - 08:47 AM

Interesting, though I have to wonder. Would this go against EB's EULA?

#6 Sailerius

Sailerius

    Engineer

  • Members
  • 278 posts

Posted 03 July 2012 - 08:58 AM

Awesome. Guess there's no reason to keep using Ace.

Interesting, though I have to wonder. Would this go against EB's EULA?

What part of the EULA does it go against?

#7 Archeia

Archeia

    Level 99 Demi-fiend

  • RPG Maker Web Staff
  • 5,564 posts

User's Awards

              

Posted 03 July 2012 - 01:33 PM

Awesome. Guess there's no reason to keep using Ace.


What part of the EULA does it go against?


I'm guessing it's the DLL. RGSS3 dll without owning Ace means you can't distribute it.
"We know you love making and playing games, so we put a game maker inside your game." - RPG Maker

vTfvO9c.png divisionheaven.jpg 9z3sTnf.png 9XdYe9l.gifU3Ysr.gifMrDVk.gifnN3FkP7.gifDV874XU.gif

Script Call Collection for any hidden RMVXAce Secrets!
Learn how RPG Maker VXAce calculates damage/recovery over here!
Got stuck in RMVXAce and can't find out why? Check out this thread first to see if there's a work around!

We can't just say 'no, this is wrong, I'm not touching it'. We don't have that luxury. We need to experience, experiment and talk about these themes in full, coming to understand them and learn how to use them. To do that we need to discuss them without being afraid of being labelled, or being judged. We need to break out of our regimented ideals of right and wrong to look at such things and learn how to use them ourselves and the only way to do that is to actually look at them, discuss them and pay heed to what others have to say or think about them.


#8 Touchfuzzy

Touchfuzzy

    Legal Eagle

  • Lead Eagle
  • 3,484 posts

Posted 03 July 2012 - 01:34 PM

...

While interesting, this does have one large problem: The XP database isn't made to interact with RGSS3.

Also, just as a quick note: You would need to own both Ace and XP for this, as I don't believe you could distribute a game made this way with RGSS3 without owning Ace for the license.

#9 Mako

Mako

    Advanced Member

  • Early Adopter+
  • 163 posts

Posted 03 July 2012 - 02:05 PM

Could someone post exactly what I would be losing by using this script? opposed to using vxace? At a glance only minor tweaks to the UI. =/ I love the mapping system in XP.

EDIT: I own both...

Edited by Mako, 03 July 2012 - 02:06 PM.


#10 Sailerius

Sailerius

    Engineer

  • Members
  • 278 posts

Posted 03 July 2012 - 02:09 PM

I'm guessing it's the DLL. RGSS3 dll without owning Ace means you can't distribute it.

But you're not modifying the DLL by doing this. And if you do own Ace, then there wouldn't be a problem.


...

While interesting, this does have one large problem: The XP database isn't made to interact with RGSS3.

Also, just as a quick note: You would need to own both Ace and XP for this, as I don't believe you could distribute a game made this way with RGSS3 without owning Ace for the license.

That is the real problem. It's probably not hard to make a converter, though.

#11 Touchfuzzy

Touchfuzzy

    Legal Eagle

  • Lead Eagle
  • 3,484 posts

Posted 03 July 2012 - 02:14 PM

Could someone post exactly what I would be losing by using this script? opposed to using vxace? At a glance only minor tweaks to the UI. =/ I love the mapping system in XP.

EDIT: I own both...


Off the top of my head:

Database stuff that you would instead have to do through scripts or just don't exist: Traits, Noteboxes, custom damage formulas, custom attack and guard skill. (actually it might still pull the first two skills for guard and attack, not sure how it would deal with the lack of damage formulas in XP though).

Maps: Regions.

Also, I would be interested in seeing how many small bugs appear from the event commands not being positioned the same in the event editor, or not necessarily even having the same options even if they do, and how many bugs will there be from just the database info not matching up either.

On a final note though: Hey, as a representative of Degica, I fully support anyone who wants to buy both XP and Ace to make this work :P.

#12 Mako

Mako

    Advanced Member

  • Early Adopter+
  • 163 posts

Posted 03 July 2012 - 02:22 PM

Off the top of my head:

Database stuff that you would instead have to do through scripts or just don't exist: Traits, Noteboxes, custom damage formulas, custom attack and guard skill. (actually it might still pull the first two skills for guard and attack, not sure how it would deal with the lack of damage formulas in XP though).

Maps: Regions.

Also, I would be interested in seeing how many small bugs appear from the event commands not being positioned the same in the event editor, or not necessarily even having the same options even if they do, and how many bugs will there be from just the database info not matching up either.

@_@ That's allot of crap.... bah forget it. Ace isn't THAT bad. LOL

#13 Gleen

Gleen

    Advanced Member

  • Members
  • 100 posts

Posted 04 July 2012 - 07:50 AM

You're justing using RGSS3 library instead of RGSS1 so any features (traits, map regions, etc) won't be usable. Still, great job since RGSS3 adds a bunch of neat features.

#14 Tsukihime

Tsukihime

    Advanced Member

  • Members
  • 5,023 posts

User's Awards

        

Posted 04 July 2012 - 12:27 PM

How is the performance compared to RGSS1? Has anyone benchmarked it?

Edited by Tsukihime, 04 July 2012 - 12:27 PM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#15 Sailerius

Sailerius

    Engineer

  • Members
  • 278 posts

Posted 04 July 2012 - 01:53 PM

You're justing using RGSS3 library instead of RGSS1 so any features (traits, map regions, etc) won't be usable. Still, great job since RGSS3 adds a bunch of neat features.

They're still usable, there's just no way of editing them in the RMXP database. You could use Ace to manipulate the traits/regions/etc and then copy and paste the rvdata over.

#16 PK8

PK8

    I sense there's something in the wind...

  • Members
  • 503 posts

Posted 04 July 2012 - 03:08 PM

Bad news. Not sure if anybody caught the edit of my first post but it turns out you'll run into an issue that just can't be fixed when encrypting your project. I tried encrypting a project just to see if it'd work, but when I tried to run Game.exe, I ended up getting a Failed to Load Archive error. I'm not sure how that can be fixed.

I'm currently not supporting any of my scripts because I recently came back from a lengthy hiatus. I will begin revamping almost all of them in due time. For now, look at the Progress page on my site to check my current progress.
 

CALLING ALL SCRIPTERS
Let's improve $imported!
$imported Expansion | $imported[:SCRIPT_LIST] | Cross-engine Scripting

Spoiler

#17 Mako

Mako

    Advanced Member

  • Early Adopter+
  • 163 posts

Posted 04 July 2012 - 07:44 PM

Bad news. Not sure if anybody caught the edit of my first post but it turns out you'll run into an issue that just can't be fixed when encrypting your project. I tried encrypting a project just to see if it'd work, but when I tried to run Game.exe, I ended up getting a Failed to Load Archive error. I'm not sure how that can be fixed.

Wow I guess that ends that... I can see how that would be an issue. LOL

#18 Tsukihime

Tsukihime

    Advanced Member

  • Members
  • 5,023 posts

User's Awards

        

Posted 05 July 2012 - 12:37 AM

Just don't use XP's default encryption and just roll your own.
I don't know if it's because the decryption algorithm is stored in the rgss dll or not, but maybe someone can test this by using rgss2 in XP. It uses the exact same encryption algorithm after all.

In any case, if people just want to be able to use features and regions, just copy those particular methods over. No need for the dll for that.

They're still usable, there's just no way of editing them in the RMXP database. You could use Ace to manipulate the traits/regions/etc and then copy and paste the rvdata over.


I'm kind of curious why not just use Ace in that case if someone's going to build pretty much their whole project in Ace editor, and then copy them over to XP.

And it's not like using RGSS3 is somehow getting the best of both worlds. Layer data in XP is not captured in rgss3, for example.

I guess one could consider combining methods from both libraries and write out custom rxdata files so that layer information the way XP expects it and region information the way Ace expects it is both there (and in XP's case, each layer would have their own regions?)

But someone needs to verify that it will actually work.

Edited by Tsukihime, 05 July 2012 - 01:55 AM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#19 Jomarcenter

Jomarcenter

    jomarcenter games

  • Members
  • 383 posts

Posted 05 July 2012 - 03:47 AM

but the good thing is that if the rpg maker developers in japan are planning to make a new rpg maker program they could make it compact-able with old rgss so that way all rgss from the newest and the oldest can use rpg maker vx ace script and rpg maker xp script in that new rpg maker program (if they have plan to develop it!)
you should be working at enterbrain because of what you did! lol.

Edited by jomarcenter, 05 July 2012 - 03:47 AM.

check out my Main blog: http://jomarcenter.wordpress.com/ and also my game blog http://jomarcentergames.wordpress.com/ and like the official jomarcenter facebook fan page: http://www.facebook.com/jomarcenterfp My youtube channel: http://www.youtube.c...ser/jomarcenter My twitter https://twitter.com/jomarcenter
 

Town_Of_illustive_logo_banner.png Official_logo_badge.png

 

 

tj4MHkX.png


#20 Majirefy

Majirefy

    ~Doraemon's Pocket~

  • Members
  • 18 posts

Posted 05 July 2012 - 07:21 AM

but the good thing is that if the rpg maker developers in japan are planning to make a new rpg maker program they could make it compact-able with old rgss so that way all rgss from the newest and the oldest can use rpg maker vx ace script and rpg maker xp script in that new rpg maker program (if they have plan to develop it!)
you should be working at enterbrain because of what you did! lol.


Really? Sounds increditable!
Have an URL? Wanna see details!

I just like Art Style of XP~~~