Jump to content


+ Sponsor
  • Content Count

  • Joined

  • Last visited

About GaryCXJk

  • Rank
    Advanced Member
  • Birthday 08/09/1985

Profile Information

  • Gender
  • Location
    Zaandam, the Netherlands
  • Interests
    Writing, programming

Recent Profile Visitors

2,684 profile views
  1. GaryCXJk

    make controller menu without F1 menu

    Hmmm... Normally I would suggest overriding the draw_item method to use draw_text_ext in the Window_ControlCommand class, so it would look like this: def draw_item(index) change_color(normal_color, command_enabled?(index)) rect = item_rect_for_text(index) draw_text_ext(rect.x, rect.y, command_name(index)) end
  2. GaryCXJk

    make controller menu without F1 menu

    Have you tried it using a backslash? I currently am not behind my computer, but I'll look into it when I get home.
  3. GaryCXJk

    Free Movement

    Funny you mentioned that. I, eh, actually implemented Tsukihime's Collision Maps so that it actually works with this script. So you can basically do just that. I might make my own DLL that supports adding collision maps for vehicles and stuff eventually, but right now I'm too busy doing other stuff.
  4. GaryCXJk

    Free Movement

    You're only supposed to use one of the two. It's why I added a demo, which is how you generally figure out how to use stuff. When making a demo, I try to use all the methods I described, so that everybody has several examples of how stuff is done. That way people can find out the several ways my scripts can be used, and that's how generally all demoes work.
  5. Updated the script. This time I've added several features. First of all, I've changed it so that you can load another credits file in a script. You can also change the font of the credits, even in a credits file. I also added an extra block in the credits file which runs when the credits are terminated. Opacity can be set when the credits are running, and you can use unicode characters in the credits now. Finally, I've added icon font support. Like always, just take a look at the example demo to see how stuff works, especially if something doesn't work the way you think it should work.
  6. Isn't that a tiny bit redundant? I mean, you can literally just subclass the scene module itself. There's a reason I made it bare bone, because you're not actually supposed to use it in that form. It doesn't even have something to add background images or anything. In fact, you've edited the Window_Credits module, which isn't what you're supposed to do, instead, you should first play a background song, then show the credits. The Window_Credits module is made in such a way that you can insert it in any possible circumstance. Say you have a game where there are multiple endings, and you want each ending to have their own song, you first play a background song and then display the Window_Credits, or, if you're really lazy, then yes, you can use the Scene_Credits, but to make the best ouf of the credits sequence, you should use the Window_Credits module directly. What I have added to this script is carefully chosen. I don't want to force people to do things a certain way, I mean, heck, you you want to modify the Window_Credits module then by all means, you should, but it's kind of redundant when you can do all this with what you already have. I mean, there's even a method that allows you to trigger events at set times, heck, you can just change the background music at a random given point. Heck, starting the credits with a certain background song was as easy as adding the following line in the [timeline] block: 0.00:Audio.bgm_play("Audio/BGM/Airship", 100, 100) Heck, after that, I've changed the background music again after five seconds. 5.00:Audio.bgm_play("Audio/BGM/Field1") By the way, by making the credits a window instead of just a scene, I allow people to handle the credits ending themselves. By using Fiber.yield, for example, one can disable all movement until the credits have reached a close, or until that person has pressed any key. Here's a fun thing to try. Take the example demo, and open up the button event. Now, change all event pages to Autorun save for the first, and modify the script on the third page to this: tstate = (Input.press?(:C) ? 0 : 1) while true if(Input.press?(:C) && tstate == 1) tstate = 2 end if(!Input.press?(:C) && tstate == 0) tstate = 1 end if CXJ::HT_CREDITS.credits_end? || tstate == 2 curswitch=[@map_id,@event_id,"B"] $game_self_switches[curswitch]=false curswitch=[@map_id,@event_id,"C"] $game_self_switches[curswitch]=true CXJ::HT_CREDITS.terminate_message break else Fiber.yield end end Now, this only works on the more recent versions of RPG Maker that allow for bigger scripts, but still. Heck, you can change this to redirect to the main menu or whatever you'd like, I prefer it to allow the player to save the state to a file in case of a New Game+ situation. Another fun exercise, leave the original button, but add a second button that instantly ends the credits sequence.
  7. GaryCXJk


    Thanks for notifying me, it's now updated, and should now work as expected. Apparently the parameter passed is a numerical, so I had to do an extra step to convert it back to symbol.
  8. GaryCXJk


    I actually have to look into it, but it does give me an idea, actually. I've updated the script (not yet in the thread, but that will come later), which adds two new methods to Input, Input.set_key_enabled(sym, status) and Input.set_dir_enabled(dir, status). EDIT: Updated the script on the opening post to v1.02. The only thing it adds is the Input.set_key_enabled(sym, status) and Input.set_dir_enabled(dir, status) methods. I might update the demo a bit to show how it works. EDIT2: Updated. The bottom sign on the left disables up and down, the bottom sign on the right disables the B (menu) button.
  9. Could any mod merge this topic with the other topic or delete this topic? The feature to search for all your own topics didn't show all topics I've made, so I didn't realize that there already was one I made. http://www.rpgmakervxace.net/topic/9656-garycxjk-class-extensions-yanfly-engine-ace-class-system-addon/?hl=%2Bclass+%2Bextension I'll port over all the info once it's done, or something. I still have all the info in a separate text file anyway, and I could just copy pasta it from the other forum.
  10. GaryCXJk


    I've updated the code to version 1.01, which basically adds message commands to display key bindings and implements basic mouse control found in the original demo. I've also updated the demo so that you can see keybinding in action. Do know that the gamepad isn't implemented yet for icon display.
  11. GaryCXJk

    Calling different databases in a loop (VX Ace)

    I could also help with explaining Tsukihime's code. Basically, you can easily iterate through an array by using this: array.each do |element| <element operations> end What it does is it goes through all elements of an array, and performs an action for each element. For example: primes = [2, 3, 5, 7, 11, 13] val = 1 primes.each do |p_num| val*= p_num end p val # Result: 30030 What happens in Tsukihime's code is, it iterates through the list of arrays ($data_items, $data_weapons and $data_armors), and then it iterates over each of these arrays. The obj variable is the object for each of these arrays.
  12. GaryCXJk

    Calling different databases in a loop (VX Ace)

    In the first case, there are instances, especially the first element, where the object doesn't exist, as in, it's set to nil. You'll always have to check if it's a valid object. You don't get the NoMethodError because it's an array, you get it because it's nil. In the last case, you're calling note on the array, not the elements of the array. This is where you get the array error. Any global $data_ variable in the vanilla code is an array. And yes, I did do a test case.
  13. GaryCXJk

    Undefined method errors

    Class methods are defined by using self: module RPG class Map def self.blabla end end endIn your case, you made it an instance method, meaning, you need to create a new instance of RPG::Map:map = RPG::Map.new map.blabla Somebody else can explain it better, I'm tired at the moment, and I'm not really that good at explaining anyway. EDIT: Basically, class methods work for the class itself, and instance methods work for instances of objects. All Graphics methods for example are class methods, while all Bitmap methods are instance methods, as you first need to instantiate them.
  14. Actually, implementation isn't really that hard. Maybe the photo making part itself, but if you limit the photo area to everything around the player or inside the screen, it's fairly simple, as all you'd have to do is tag the area with events that have certain properties and then do a region check for all events in that area. Then you pick the item that is the most in focus, for example, the one that is most center of screen. After that it's just adding the photo (temporarily) to a list with the associated item attached to it, check the list of new items, and you're basically done.
  15. In RPGs, one element that can add a lot of depth and replayability is a crafting system. It gives us several elements that we enjoy, like customization and discovery. However, the problem arises with the implementation. A big hurdle here is how to introduce your audience to new combinations without making it too easy. In games with a crafting system, there's always three things a developer have to consider. First of all, crafting should not be something tedious, it should be simple to combine two or more components into one. It should also be exciting or fun to do, and it shouldn't feel tacked on. But let's say we have these things covered. Now we just have to add the components and their combinations. Creating them is easy though, but introducing the possible combinations might be a bit harder. Giving too many recipes away and you take out all the fun, but never even dropping hints might be frustrating. Let's look at Minecraft. It's a good game where crafting is one of the important things. However, starting players might feel intimidated by how the crafting system works, as there are nearly no hints given during normal play. Sure, since the most recent update you have the achievements, but that doesn't give you all the possible combinations. You can argue that there is a big community that has extensive guides, but that actually isn't an excuse to not at least give some proper hints. In that regards, Terraria did it better. It's not perfect, but it did well in making it more clear what was possible to create. If you didn't have enough of a certain component, it would not appear in the crafting list. This does give you problems when you realize that you need to do certain things like put a certain item on a table before you are able to craft certain items. In some games you graduately unlock new combinations the further you come in a game, or the higher certain skills are. Skyrim for example unlocks new armor types you can craft if your smithing level is high enough. Other games unlock more combinations the more you craft. However, those recipes are mostly already set, as in, you have to know the combination, and you can't deviate from it. That's what made Minecraft fun, you could discover by combining things yourself. In Dark Cloud 2, you had a photo camera with which you could make photos of objects, which you could use to invent new items. These inventions would unlock crafting combinations. Most RPGs that have such a free form crafting system mostly dropping hints, like notes or conversations with certain NPCs. Others allow you to purchase a combination list. An important part with any crafting system however is when and how you introduce your components. Introduce too many too soon with too little combinations between them, and you'd end up with a combination hell. Too few however and people might lose interest. A great non-RPG example is the game Doodle God. You start with four elements, and you graduately unlock new elements. Even though the starting amount is small, you are quickly introduced to other elements that can be combined with. In this case combined components form other components that can be used in combinations, but this doesn't always have to be the case in your game. Regardless of what type of crafting system you use, there needs to be a lot of thought put in, and a lot to factor in. How would you implement a crafting system? What kind of system would you use, and how are you going to introduce your audience to new combinations?
Top ArrowTop Arrow Highlighted