RPG Maker CP (Data Editor)
IntroAlright, this isn't going to be a fancy looking thread quite yet. Its not even anything special. But its the fact I want to get something out and I want to make sure people can run this. I coded this ruby program well of course in ruby and wxruby. So far I created an actors window, it'll load up Data/Actors.rxdata and feed the names into a listbox. You can then click on one, change the name, then save the data. You can then open up RPG XP to see the changes.
What I hope to accomplish is to remove some of the silly limitations and any possible bugs the database editor has. And possibly add features the database should have. Another thing this is for, is just practice. I'm curious to see how far I can get with this, curious if I'll finish it, I want to see what I can or can't do with ruby and wxruby. And the one great thing is that its open source! Now don't be tea bagging on my coding here. Its not the most efficient but its mostly because I'm lazy.
I'll always have two versions up for downloads. One for people who have ruby installed and who have wxruby installed. Then I'll have a download up for people who don't have either installed or is missing one of them.
DownloadsNOTE: There is a file size difference for the fact that the executable version is compiled and it has to pack all required classes and modules. Its almost worth getting wxruby and ruby installed.
Actor Editor
Actor Editor (0.0.1) Source (http://decisive-media.net/gameguy/data_editor/actor_editor0.0.1src.zip) - Executable (http://decisive-media.net/gameguy/data_editor/actor_editor0.0.1.zip)
Actor Editor (0.1.0) Source (http://decisive-media.net/gameguy/data_editor/actor_editor0.1.0src.zip) - Executable (http://decisive-media.net/gameguy/data_editor/actor_editor0.1.0.zip)
Changes From 0.0.1
- Prettier Design
- Added Proper Exit Button
- Added Editing of Actor Class
Update From 0.0.1
- Download the update here (http://decisive-media.net/gameguy/data_editor/actor_editor0.1.0update.zip).
- Extract actors.rb from the zip into the 0.0.1 directory. Overwrite the existing actors.rb.
- Run main.rb/main.exe depending on your version.
Development PacksNOTE: All packs are setup to load all rpg data at runtime. So to access each of them, just call them with a global variable. e.g. $actors, $classes, $skills etc....
Editor Base (1.0.0)
This is used to make an editor of a certain type, e.g. Actors, skills, etc... Its pretty basic and all you really need to do is make a GUI.
Source (1.0.0) (http://decisive-media.net/gameguy/data_editor/dev_tools/editor_dev1.0.0.zip)
Editor Base (1.1.0)
This is used to make an editor of a certain type, e.g. Actors, skills, etc... Its pretty basic and all you really need to do is make a GUI.
Changes from 1.0.0
- Added build support. Turn your version into a standalone executable. Run build.bat, your program will indeed open, just close it right away. However you still need all the other folders and files except main.rb packed into a zip folder or whatever. This way you can make updates and patches to your editor without the need for a full download.
Source (1.1.0) (http://decisive-media.net/gameguy/data_editor/dev_tools/editor_dev1.1.0.zip)
BugsIf you run into a bug that hasn't been reported, please report it using the following template.
[/list]
App: (Which editor or app you're using, example, Actor Editor)
Version: (version of the app, says in title bar of app)
Error: (error(s) that are printed out in the console, place this in [nobbc][code]
[/nobbc] tags)
When: (when, where, and how did the error happen, basically what were you exactly doing in the app)
Fix: (if by chance you are a coder and/or a debugger, and found a fix or work around then please post it, if not leave this blank)[/code]
Crash After Saving ActorsApp: Actor Editor
Version: 0.0.1
Error: no implicit conversion from nil to integer
When: Once you edit the name of an actor and click "Save Actor'", it then happens when you try and click on a different actor.
Fix: Update from 0.0.1 to 0.1.0.
Installing WxrubyRuby (http://www.ruby-lang.org/en/downloads/) - Download 1.8.6 or 1.9.1
Rubygems (http://rubygems.org/pages/download) - This is to install wxruby, to install, download and extract, run setup.rb
Wxruby for 1.9.1 (http://rubyforge.org/frs/download.php/63382/wxruby-ruby19-2.0.1-x86-mingw32.gem) - This is the GUI system made for ruby
Wxruby for 1.8.6 (http://rubyforge.org/frs/download.php/63401/wxruby-2.0.1-x86-mswin32-60.gem) - Same as above
After installing Ruby and Rubygems, its quite easy to install wxruby. Move the wxruby.gem file to your desktop and rename it to wxruby. Now open up your command prompt and you'll want to guide it to your desktop.
Then all you have to do is type
And it should be fairly quick, just wait until you can input stuff into the command prompt again to know its done.
ScreenshotsActor Editor Screenshots - Video (http://www.youtube.com/watch?v=hJ1IrGNvQTM)
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/actor_editor010.png)
If anyone wants to work on this with me, it'd be helpful to have some of the following....
-Scripter - Who knows ruby and understands ruby quite a bit
-Designer - Someone who wants to design layouts for the editor/someone who wants to design a logo for the program
-Debuggers - People who debug our stuff, basically test out the program and report any issues or ideas
-Rest - People who submit ideas and report bugs about XP's default database.
And if by any means someone can come up with a name for this monstrocity.
I could help with some of the scripting if you'd like.
If you do want to help go right ahead. Though there is a couple things you'll need.
Ruby (http://www.ruby-lang.org/en/downloads/) - Download 1.8.6 or 1.9.1
Rubygems (http://rubygems.org/pages/download) - This is to install wxruby, to install, download and extract, run setup.rb
Wxruby for 1.9.1 (http://rubyforge.org/frs/download.php/63382/wxruby-ruby19-2.0.1-x86-mingw32.gem) - This is the GUI system made for ruby
Wxruby for 1.8.6 (http://rubyforge.org/frs/download.php/63401/wxruby-2.0.1-x86-mswin32-60.gem) - Same as above
After installing Ruby and Rubygems, its quite easy to install wxruby. Move the wxruby.gem file to your desktop and rename it to wxruby. Now open up your command prompt and you'll want to guide it to your desktop.
Then all you have to do is type
And it should be fairly quick, just wait until you can input stuff into the command prompt again to know its done.
Then to help, you'll want to decide what you're willing to help with. Its all database stuff, and possibly an event editor for maps, and maybe a map editor. Who knows. But I don't want to completely clone rmxp, just want to do database-y stuff. Maybe since the database doesn't have a Variable/Switch editor, you could do that. Another thing I recommend is download the actor editor source, and looking over to maybe see how wxruby works. You can also access the API Documentation here (http://wxruby.rubyforge.org/doc/).
Get yourself comfortable with it maybe, I completely forgot I had to set up a main source where everybody could just download and work on it. And wow I am putting these instructions and stutff in the first post so people won't have to download 5mb files every single time a new editor is released or a new version. But seeing the way I have it setup, people will only have to replace actors.rb and rpg_data.rb for upgrading. I still need to setup some main files for blank editors. Anyways sorry for the long confusing instructions, and like I said if you want to help jump right in.
EDIT: Editor Base is put up in the first post. Download that and you should be able to get started.
I approve this project :up:
Quote from: winkio on December 29, 2010, 11:50:39 am
I approve this project :up:
Yes! Already getting approval!
I had an idea. Custom Event Commands! Create a small .rb file, run the event editor (say if I get this far) and your custom event command you made is there! No more script calls >:3
The sex is strong in this one.
I love the idea for the custom event commands. Re-doing the Interpreter class as well? If so, I'd be happy to work on that. I've always had a few bitches about how it operates, be nice to put a new spin on it.
Well heres how I looked at it, if you had a custom event command, all it'd do is just insert the script call command with the snipped your command does. All this really is is a database editor. But we could include some rewrites if it makes it function better.
You are going to have to (I think) mod the Interpreter class. Otherwise you could create all sorts of extra options and commands when setting up events, but they won't have any actual function in-game.
A couple of things. Did some working on the actor editor and I added a couple of things to the Editor Base dev pack. Theres two new files added to it. "ocrasa.rb" and "build.bat". Ocra is a ruby add-on that turns ruby files into stand alone executables. And the build.bat is just a simple bat file that runs it. It builds main.rb into main.exe. I've setup my coding so simple patches can be made here and there and people don't have to re-download it each time something has been changed or fixed.
Actor Editor 0.1.0
Prettied up the design. Added class changing for the actors. Added a proper exit button. Added a non-functional Change Max actors button. Of course it will be functional. Instead of re-downloading the entire thing, you can just download the Actor Editor 0.1.0 Update in the downloads.
Editor Base 1.1.0
Added functional "build" option for those who want to build their version into a standalone executable.
Fucking hell, nine months later, we'll have fucking rpg maker cp. I'm not a coder at all, but I could help out in testing and in graphics, if you need any help there.
Well lets start thinking of names here. Then maybe we can come up with a logo. And what not.
Have you coordinated with Ryex at all? As I recall, he was working on something somewhat similar. You can find his thread here:
http://forum.chaos-project.com/index.php/topic,7452.0.html
... if your going to do this would you perhaps consider extending the code into python when your done? or let we look at it when it comes time for me to make the database editor for RMPY?
All code here is open source. Whenever you feel like it, go ahead and take a look. It was pretty easy to make this, seeing it was coded completely in ruby, the marshal works the same here as it does in rpg maker xp.
EDIT: I have a video demo. http://www.youtube.com/watch?v=hJ1IrGNvQTM
I like the name RPG Maker CP.
BTW, you're doing all of this in C#, right? How did you implement the Marshal loading and dumping?
Quote from: game_guy on December 30, 2010, 11:55:41 pm
All code here is open source. Whenever you feel like it, go ahead and take a look. It was pretty easy to make this, seeing it was coded completely in ruby, the marshal works the same here as it does in rpg maker xp.
EDIT: I have a video demo. http://www.youtube.com/watch?v=hJ1IrGNvQTM
Quote from: Blizzard on December 31, 2010, 04:43:45 am
I like the name RPG Maker CP.
BTW, you're doing all of this in C#, right? How did you implement the Marshal loading and dumping?
LOL!
I can tell you haven't been reading my thread all that thoroughly! xD Especially since I brought up Ruby and Wxruby so many times xP
EDIT: Renamed to RPG Maker CP. Now, who's gonna make a snazzy logo of that?
Actually I have. But I was out last night so it's obvious that I forgot. := Gotta stop killing my brains with alcohol. xD
Well, glad you are reading thoroughly xP I mostly lol'd because of the fact right in my previous post it says its coded completely in ruby, then you reply asking if it was made in c#. xD
Ah crap. D: I could have pulled it off as trolling and saved my face. ._.
Yes! Success. I've got a proper "Change Max" button now. Going to start adding the rest of the easy parameters to edit. Going to try and remove the Save Actor button. Its annoying if you ask me. Any other ideas, features you guys want?
I also might start on another editor today.
A new experience editor. I don't use exp, I use the stat growing system, but seriously, that thing is annoying! Also, whoo, my name got used! I can do a logo for you, I'm attempting to take a break from my game at the moment.
What exactlt do you need help with. I may be few days until I get a chance to work on it, and still need to familiarize myself with wxruby, but I can at least start some brainstorming.
Maybe start a different editor. Maybe a more unique switches and variables editor? That'd actually be really cool! Maybe make it so you can give the switches and variables a default value.
Of course if we go that route, then we'd have to inject a custom script for it to actually work. Or you could do a different editor of your choice, except actors of course xP
EDIT: And eventually, once a few editors get going, I'm going to merge them into one editor.
EDIT 2: Woo! Indeed the executable downloads work on computers with non ruby installations. I had a doubt that it wouldn't work but I just tested it!
I just had an idea.
I was fiddling around with wxruby (which is
awesome btw), and I thought that it would be pretty cool to have parameters from custom scripts also be able to be configured in the editor. I know ways to have new methods added at run-time, so it would be possible to have the system search for all public instance variables that are not there by default. Once they are collected, maybe add a button to the gui to pop up a "Custom Parameters" window or something, so that they can be set as well.
ex. Say you had a script that had something like this:
class RPG::System
alias aliased_init initialize
def initialize
aliased_init
@pause_screen_bgm = RPG::AudioFile.new("", 80)
end
attr_accessor :pause_screen_bgm
end
When you pressed the "Custom Parameters" button (or whatever you wanna call it), a sub menu will pop up that will allow you to edit the BGM filename, volume, and pitch.
This is just an idea I'm throwing out there, I can foresee some problems with datatypes and what not, but it would be pretty slick. ;)
Yes. Thats almost exactly how it would work with custom event commands. Each extension or plug-in will have a specific category. Then a button where appear according to the category. e.g. Custom Event Command - Placed under event commands
Database System - Placed under the "System" tab
Basically, all the program will need to run is the form coded inside the plug-in. The plug-in is supposed to do all of the work.
Me and you could definitely create the base system for that. :)
Actor Editor Update:
No download yet.
Have fully functional change max button
Added equipment editing for actors
Will upload as soon as I can
I found that the documentation for wxruby is lacking at best.
This is the best I could find for anyone who is interested:
http://wxruby.rubyforge.org/wxrubydoc.html
FFS!!! That helps me out a lot. Great find F0 xD
Actor Editor
-Added Init and Final Level
-Working on experience curve. Not sure how its going to work.
Will upload more screenshots and downloads asap
Ok, So this was not really a 'serious' attempt at a logo... but I had to test PSE:7 with somthing. :^_^':
(http://www.freeimagehosting.net/uploads/7b0fbeb86f.png)
Class Editor
- Almost finished, really only need to add how I want the efficiency levels to display for elements and states. I've been undecided on making it a button click that will open a seperate dialog, or use a scrollable box like the default one.
- Implemented "Select All" and "Clear" buttons for setting up weapons and armor.
Quote from: DeXuS on January 04, 2011, 06:12:12 am
Ok, So this was not really a 'serious' attempt at a logo... but I had to test PSE:7 with somthing. :^_^':
(http://www.freeimagehosting.net/uploads/7b0fbeb86f.png)
More creative than a lot of other "logo" creations I've seen before. :P
Somehow this always makes me think of some Chaos-Project RPG made on RPG Maker rather than a Database Editor...
Regardless of my thoughts, this is awesome stuff!
Quote from: Starrodkirby86 on January 04, 2011, 01:46:51 pm
More creative than a lot of other "logo" creations I've seen before. :P
Well, I have made logo's before... And that not being a serious attempt did not mean that I ws not going to do a real one, lol I just take my time. But I would like to have some input from the requester on how he would like it to look... Always turns out better when I don't have to design them by my self.
So... Input And a general idea of how you want your logo to look, game_guy?
By the way, if anyone here wants to use the source without having to "compile" it with the build.bat, but simply wants to run it quickly, do this:
- Create a new Notepad document.
- Write the following lines into it:
@echo off
cd %~dp0
ruby main.rb
- Go to File --> Save As...
- Name it whatever you want. I use "execute".
- Type ".bat" after the name.
- If your PC has a "Save as type" option, make sure it is set to "All Files"
- Click save.
- Move created BAT file to any directory with a "main.rb" file and click it to start running the script.
This method requires that you have ruby in your PATH, which it does by default if you used the installer. If you installed Ruby using binaries, you will need to add it to your PATH manually.
Here's what's done thus far on the Class editor:
Source (http://www.mediafire.com/?oza325leu596xb2)
I didn't include the executable version, but there is a .bat file within to execute the code by clicking it. You must have Ruby installed on your system.
There's still some work to do yet, as you can see. Here's some changes that you will see very soon:
- The state/element ranks will work corrrectly. As of the now, they look like they work, but don't actually change anything.
- Obviously I will be adding a section to set up skill learning.
- Will have the main window be expandable, with all the objects within resizing with it.
- Maybe a few little extras. Still need to think a little bit on all that.
- Maybe rearrange a few things to improve how it looks.
- Add configurable window colors, font colors, etc., although that main system will be built into the main editor to effect all windows.
Quote from: game_guy on January 04, 2011, 04:33:29 am
Actor Editor
-Working on experience curve. Not sure how its going to work.
I love you man. Anyway, would it not be the same as all the other stats? :???:
He's talking about how the stats level up every level.
If you recall in RPG Maker, you were able to set a "Level 1 Stat" and a "Level 100 Stat", then configure it having an early curve or a late curve. That's the sort of things game_guy has to take in mind when it comes to this part of the Actor Editor.
Remember that you can use my Unlimited Levels script for the calculations of stats. :)
Hows this for a serious logo?
(http://img267.imageshack.us/img267/8383/logoxfy.th.png) (http://img267.imageshack.us/i/logoxfy.png/)
Uploaded with ImageShack.us (http://imageshack.us)
Don't have to credit me, If you like it just use it.
Quote from: DeXuS on January 06, 2011, 12:41:46 pm
Hows this for a serious logo?
(http://img267.imageshack.us/img267/8383/logoxfy.th.png) (http://img267.imageshack.us/i/logoxfy.png/)
Uploaded with ImageShack.us (http://imageshack.us)
Don't have to credit me, If you like it just use it.
Nah, that's not a good logo, sorry. Far too uncoordinated in terms of colours, fonts, shapes, basically anything. Practise a bit more and you'll get better results. ;)
Its better than anything I can do.
Yeah, that logo is WAY too inconsistent. You should use only one font. At worst, you can use one font for "RPG Maker CP" and another for "Editor". Or if you left out "Editor" either "RPG Maker CP" in only one font or "RPG Maker" in one font and "CP" in another. I think that one font should be enough. Remember, less is more.
ok, Will redo... :roll:
*Deletes PSE:7 and uses paint.net*
ok, try this a diffrent way then... Third times the charm. :???:
(http://img146.imageshack.us/img146/7220/logowt.png)
Meh, it's kinda lame having an ingame map as background. It looks like somebody made that quickly in Paint.
:<_<: screw it, I will just stick to bloody sprite sets and music.
good choice, don't feel bad though. my sister went through 4 years of college just so she could make logos (and other graphic of course) professionally
Good for her but I don't plan on making it a life long job. Was just trying to help seeing as no one else offered up anything.
Thank you for trying, it is appreciated.
Well, I can't say I didn't have fun. Plus I got to tinker around with Photo Shop a bit. (New experience for me.) But you never know, one day I might get good at it, lol
One of the most important things about learning basically anything is that you see and judge your own work realistically. Be your own worst critic... you should have seen that those weren't actually too good.
O.o I never said I was a designer. And as far as sense of style... I have none. Plus I had nothing to go on as far as what was wanted other than a name. And to top it off... (wait for it...)
At least I tried!!!
Didn't see you submit any thing.
Quote from: DeXuS on January 08, 2011, 06:09:24 am
Didn't see you submit any thing.
hurr durr people can't critique my work until they do the same as me. With that logic, you'd render all movie critique invalid.
But whatever. Go forth and embarass yourself some more. ;)
[/offtopic]
So me goading you to making one is not going to work huh? (Stupid psycology lessions)
Ok... then I will ask you. Make one as an example. (I learn better from visuals)
Quote from: DeXuS on January 08, 2011, 06:31:54 am
So me goading you to making one is not going to work huh? (Stupid psycology lessions)
Ok... then I will ask you. Make one as an example. (I learn better from visuals)
I'm a musician, not an artist. Ask one of the artists around, there are more than enough.. or just look at professional logos, follow toutorials etc. You can't always have someone who guides you through everything.
Think I will just stick to my tunes and gore. Another somthing to learn on top of the Blizz-ABS and ForeverZer0's CCTS weather system would be too much to handle right now. Altho I think I will have to give up the Blizz-ABS... It is not Dyslexic friendly, lol
On topics pleaaasssssssssssee.
I had an idea. In fact it might just work. It might give me and F0 a bit more work but it'd be great practice for both of us. I was thinking of scrapping all of the work we have now, well don't necessarily scrap it but... Anyways, my idea, yes, you're waiting for it I see, you keep reading this. But only to find out there isn't one! HAHA! Just kidding.
My idea is that we create two ruby stand alone executables. Import.rb and Exporter.rb. Wait, first, alright so we make the editor in c# using windows forms. If we can't find a way to serialize and deserialize ruby objects in c# we'll make Import and Export. These two programs will import and export ruby data to and from c#. Now the data itself will either be exported in xml or plain text. Then ruby and c# will read through it and import and use it. Of course I'm going to search and experiment with ruby serialization in c# first because I'm positive it can be done.
Reason for wanting this: Way more controls. Way easier to design forms, dialogs, and the sorts. Way easier in almost everything. F0 is starting to learn c# and this would be a great way to start for him. I'd have way more control over the forms and rpgxp data. For example, in wxruby I still haven't found a way to update actors instantly when data is changed. Well actually I have for everything except the name. It errors out when I try with the name. For reasons known might I add but I can't find a way around it. In c# I can do this and it basically errors out the same way in wxruby but I know a way to get around that.
Now it would be nice if anyone could help in this search of ruby serialization for c#. I know we'll have to make the class ourselves but knowing how the data is dumped and read in ruby would help. I know we can at least read rpgxp data because I've seen it done in Blizz-ABS config. I'll have to get the source from blizz/winkio and I'll study that. Maybe studying and figuring out what that does may lead to writing the data as well.
Anyways if anyone has any helpful data and agrees/disagrees with this idea or move or anything. Let me know. This might not even happen either as F0 has a say in this as well seeing he agreed to help me out with this entire project. Anyways thanks!
I agree with using C# for the forms application. If you look at the Blizz-ABS config source, it loads the actor, map, skill, item, weapon, enemy, etc. data from the RMXP project, so that might help you if you get stuck.
I will follow your lead on all this, but know going in that my C# knowledge is just a margin above 0, so that will mainly be your domain, but I hope to learn as we go. Some first-hand experience is the best way. ;)
If you know any Java, C# is pretty much the coder-friendly version of Java. Even if you don't, you are good enough with Ruby that you will pick it up quickly.
I was studing it for a little bit, just been a little lazy with it lately. It think of it almost as a cross between C++ and Ruby. It has some of the easier and less tedious syntatical object-oriented-ness ( :<_<: ) of Ruby, but maintains a lot of the power of C++.
I'de just like to point out that if your not going to be using ruby you could join me on RMPY wxpython is MUCH more developed than wxruby so you will have all the controls you get with C#. using python is nearly identical to using ruby (with a few caveats). and I've already got the data transfer down. also the final product will be cross platform.
true you wouldn't be getting any practice with C# and you would'n have the visual editor to layout controlls (unless you use Boa Constructor (http://boa-constructor.sourceforge.net/))
but still...
Well I might end up helping in the long run. But I did start this project and I do want to finish it or at least get to the 75% mark. xP
Alright so I did the very little searching I could do and I remembered that we could use IronRuby. Library used for .NET to execute ruby scripts. Also transfers ruby variables between ruby and c#. This would probably be our best bet. And apparently its originally made by Microsoft but they ended up releasing the source to the public.
http://ironruby.codeplex.com/
I also found the marshal source code for ruby. I don't hardly understand a bit of it but maybe we could convert this to c# or maybe turn it into a dll and call it in c#. I dunno.
http://ruby-doc.org/doxygen/1.8.4/marshal_8c-source.html
I'll try and do more research
It's not that complicated. I actually translated a good portion of the marshal module into Python, though, I didn't finish it. Just bother Ryex about the source code, I gave it to him. When you see the analogies between the codes, you will understand how simple the C code actually is.