-
Content Count
53 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Blogs
Downloads
Calendar
Gallery
Everything posted by AgentPaper
-
Awesome. I should have a chance to try it out later tonight.
-
Ah, I see. Anyways, I'd prefer the method that just requires commenting out a section of code once I'm ready to release, rather than needing to find and delete data files whenever I change something.
-
That sounds fine, though if the .data file is inaccessible, how would I get to it to delete it? Edit: Actually, I think I've come up with an easier/more secure version: Add a section of code that runs when the game starts, which looks for .txt files for all of the lore items, and then creates .data files for each of them. Then, once I'm done adding lore items, I can comment out that section of code. Simple, and hassle-free.
-
Ok, finally got around to looking at it. I see you've got it set up so that it shows both the list of lore items and the window which I assume will eventually show the text both showing at the same time. Instead, I'd prefer it if those were two separate screens, so that each of them can take up the whole screen if necessary. Then, you can have the list of lore items be 14 tall and 4 wide, and if there's more than 56 lore items (and there will be), it scrolls left and right to show more, rather than up and down. Example: ! Lore Item 1 & Lore Item 15 @ Lore item 2 * Lore Item 16 # Lore item 3 etc... $ Lore Item 4 % Lore Item 5 ^ Lore Item 6 etc... Then, the lore text itself would have it's own full-screen window, which shows the text and such, and they can change pages with left and right, and scroll through text with up and down.
-
Awesome, I'll test it out later tonight. for changing pages, simply left and right arrows should work fine. For the text field, I'm not sure what you mean, so I can't say which of those choices I'd prefer. Just use your best judgement I suppose Having the ability to scroll sounds good too, I can use that for some and multi-page for others. For the text data itself, a separate .txt file seems the simplest and easiest way to handle it. The text files should be named based on the order they'll show up in the lore file, and then other information like the title, any pictures to include, font, and so on would be set in the text file itself, using whatever format is easiest to implement.
-
1) Windowskin. I may want to add a background to various lore objects, but that should be handled by the picture-adding program. (I'd simply add a screen-sized image at 0, 0, set to display below text) 2) It should cover the full screen, just like the other menus. 3) If the player doesn't have any lore items, the Lore button in the menu should be grayed out. Items that haven't been collected should show up as a line, (IE: ---------) so the player can see if he's missing any. 4) No need for a background on the lore menu. And thank you very much for helping me with this. If you don't have much time, don't worry about most of the complex features, at least at first. Just a simple version that's functional without icons or pictures, formatting, multipage, etc. would be very useful.
-
I need a script that will allow the player to peruse various books, sticky notes, infospheres, scraps of parchment covered in blood, ancient runes, picture vases, or whatever other kind of strange information-carrying object I decide to implement. In the most basic terms, what I need is a script that adds a new option to the menu screen called "Lore", which shows you a list of all the lore items you have collected so far. When you select one of the items (IE: Abdul's Log, Page 4), it brings up a bunch of text that you can read through. Each lore item shouldn't actually be a item you can see through the normal item menu, but just a switch that gets turned on in the lore menu when you find that item. Optional additional features: - Display an icon next to the lore object similar to normal items. - Add the ability to display one or more pictures in the text, using x/y coordinates. - Add the ability to choose whether the picture shows above or below text. - Some way to automatically format text to fit around the aforementioned pictures. - The ability to create in-line pictures. - The ability to control the font, size, and color of text, and also to bold, italicize, and underline text. - The ability to scroll through text. - The ability to control whether pictures scroll with the text or not. - The ability to have multi-page objects. - Extensive comments within the code so I can see how it works and tweak it as needed. - Any other features you're awesome enough to think. For doing this, you will be rewarded with credit in my map and my everlasting love and devotion. Also a kitten.
-
[RMXP] Heretic's Caterpillar - Extensive Features and Add Ons!
AgentPaper replied to Heretic86's topic in Forum Archive
Great updates. Nothing overly fancy, but it's the little stuff like this that make a game feel really polished and well-made. Glad to see you're still working on this. -
I've got a script that looks like this: class Interpreter def BH_Load_Map # Do stuff end end Then, in a auto-run event, I have this: Script: BH_Load_Map From what I know, this should run the BG_Load_Map script. However, instead I get an error: NameError occurred while running script. uninitialized constant Interpreter::BH_Load_Map This seems like a really simple thing to do, but apparently I've ***ed up somewhere along the line and I can't for the life of me figure out where. Any help? Edit: Nevermind. Apparently you can't capitalize method names. It's working now. (well it's not, but it's a different problem now, heh)
-
Ah, that's simpler than I thought. I got thrown off because of the multiple lines. Anyways, I still prefer the other method, just because it's easier to see what's going on, and where. I'm not really worried about the length of my code right now. Thanks again for all the help, the code is working perfectly now. It might be nice to know why I need to divide by 10 instead of by 100 to get the correct result, but that's not really a big deal.
-
Game development engines forum structure concept
AgentPaper replied to Marked's topic in Feedback, Bug Report and Forum Help
I'd favor the current sorting method. I think of it like this: If someone is interested in a RPGXP tutorial, they almost certainly won't be interested in a RPGVX tutorial, because that's not the system they're using. However, someone who's looking at a RPGXP tutorial could certainly be interested in also looking through RPGXP support, or RPGXP scripts, because they're very closely related to each other. Essentially, RPGXP scripts and RPGXP tutorials are more closely related than RPGXP tutorials and RPGVX tutorials. So, it makes sense to put the things that are more closely related into the same subforum. I don't think there's any real problem with having a lot of sub-forums, as long as the groupings and progression is logical and easy to see. -
Community Contests & Events
AgentPaper replied to ShinGamix's topic in Feedback, Bug Report and Forum Help
I'd love to enter a mapping contest. I don't think I'd win, but it'd be a good way to practice, get feedback, and see what other people are doing that I can borrow from. -
@ForeverZer0: I think that script is a bit above my head, haha. I'd prefer to use a script I understand, even if it's not the best one, just so I can change it if I need to. Thanks anyways, though. @diagostimo: Thanks, I think I'm on the right track now. I've actually got SDK up, and I'd eventually like to be able to release this as a script for others to use as well, basically a unified stats and combat mod, since the default stat system seems pretty terrible. With that in mind, I made the following: class Scene_Title def main_database # Load database $data_actors = load_data("Data/Actors.rxdata") $data_classes = load_data("Data/Classes.rxdata") $data_skills = load_data("Data/Skills.rxdata") $data_items = load_data("Data/Items.rxdata") $data_weapons = load_data("Data/Weapons.rxdata") $data_armors = load_data("Data/Armors.rxdata") $data_enemies = load_data("Data/Enemies.rxdata") $data_troops = load_data("Data/Troops.rxdata") $data_states = load_data("Data/States.rxdata") $data_animations = load_data("Data/Animations.rxdata") $data_tilesets = load_data("Data/Tilesets.rxdata") $data_common_events = load_data("Data/CommonEvents.rxdata") $data_system = load_data("Data/System.rxdata") # Calculate actor stats calc_stats # Make system object $game_system = Game_System.new end def calc_stats # Constant used to determine rate of inflation. # EXTREMELY sensitive. Do not increase above 1.1. c = 1.055555 # Cycles through each actor for actor in 1..$data_actors.size # Cycles through each stat for stat in 0..5 # Calculates each level's value based on the level 1 value of the stat. # Set initial stats to 1-999, with 500 being midline (starts at 5). base = ($data_actors[1].parameters[stat, 1] / 100) for level in 1..99 equation = base * 0.25 * (level + 3 * (c ** level)) $data_actors[1].parameters[stat, level] = equation end end end end end However, this just ends with all of my characters stats being set to 1. The initial value of my character's stats is around 500, or 5000 for HP, which should result in a base of 5, or 50 for HP. It's definitely running though, because my character, who is starting at level 28 for now, has their stats set to 1 when their default level 28 stats should be 52. Any idea what might be causing this? Did I get the formula wrong? Also, any tips on making this more compatibility-friendly, in case I do end up sharing it? I'll most likely be releasing a SDK and non-SDK version, so tips for each would be great. Edit: Ok, turns out the problem was that I needed to divide the level 1 stat by 10, rather than 100. No idea why that is, but it's working perfectly so oh well. :P I still would like help with making this more compatibility-friendly, but for my purposes at least this is working great. Thanks for all the help, guys. Once I get the numbers set up a bit better, I'll post the scripts in case anyone else wants to replace the old combat system too.
-
Ok so I have this: class Stat_Mod def main c = 1.055555 base = 5 for a in 2..5 for level in 1..99 equation = base * 0.25 * (level + 3 * (c ^ level)) $data_actors[1].parameters[a, level] = equation end end end end But it doesn't seem to do anything. I specifically set my Dex stat to be 1 at level 28 so that it could be set to the correct value, but it stays at 1. Do I have to do something to make this run when the game starts?
-
Oh. Then, how would I do that? I haven't used Ruby for anything before, only C++ and RPGXP scripts. Edit: Also, I figured out that the reason for my other bug was that the script was rounding everything into integers. I think I've fixed that now.
-
What would a script that does that look like? I tried rooting around to find where the data is saved, but I couldn't find it. Edit: Also, I'm having another, semi-related problem. I'm editing the combat formulas, and at one point I have this: hit = attacker.dex / self.agi * (attacker.hit - self.eva) With normal values: hit = 52 / 54 * (100 - 0) or hit = 54 / 52 * (100 - 0) Which you would expect to output ~96 or ~104, respectively. Then, if rand(100) < hit, that's a hit. I've tried doing this with manually setting hit to be 96/104/etc, and it works fine. However, when I try to use the above formula, it doesn't seem to give the right result. The first one will always miss, 100% of the time, while the second one always hits. This is having a player with 52 dex/agi attack a ghost with 54 dex/agi. Hit and Eva are working fine, and I even tested it with replacing them with just 100. I've even tried testing it by replacing dex and agi with values, and I get the same results. If I use 54/52, the player and the ghost always hit, and the player also always crits. (crit = roll < hit - 100) Any ideas for what might be causing this? Does Ruby do something weird with division or order of operations or something?
-
So, I've spent a lot of time making up a huge spreadsheet in Excel, with all the stats for each character, for each level, all balanced out perfectly. Each of them uses a plethora of complicated formulas to make sure the progression is juuust right. And now...to input those stats, I need to laboriously enter each and every stat for each and every character for each and every level, all by hand. With 99 levels, 6 stats, and 12 characters, that's 7,128 entries, or roughly 4-6 hours of non-stop entering. (assuming 2-3 seconds to enter each one) And of course, if I later realize that my formulas could use a little tweaking, I need to do it all over again. There has got to be a better way of doing this. Is there a way to import values? Or maybe, a way to use a script to define the stats the characters get from leveling?
-
So, after some research, I've figured out how the combat formulas work, but I've also found out that I really don't care much for them. I'm planning to completely change how the attributes affect combat, but I need help figuring out the best way to do this. I assume I need to override the "skill_effect" and "attack_effect" code, but I'm not sure how exactly that works. Beyond that, are there any pitfalls that you guys know of that I should steer clear of? For example, stuff I could easily mess up, or other places I may need to change to keep things consistent? Thanks in advance.
-
Made a few tweaks to my code, and it's working now. I was adding 1 onto the x/y, that wasn't the problem. The real problem was that my return false clause was put in the wrong spot. If the first event it checked wasn't at the x/y coordinates, then it would return false right after, instead of waiting for it to loop through all of the events. Anyways, it's working like a charm now. Here's the code I ended up with, in case anyone else wants to use it: class Interpreter # Checks if the event can move in a specified direction def movable?(event_id, direction) x = $game_map.events[event_id].x y = $game_map.events[event_id].y case direction when 2 # down return true if $game_map.passable?(x, y+1, 8) and not event_here?(x, y+1) when 4 # left return true if $game_map.passable?(x-1, y, 6) and not event_here?(x-1, y) when 6 # right return true if $game_map.passable?(x+1, y, 4) and not event_here?(x+1, y) when 8 # up return true if $game_map.passable?(x, y-1, 2) and not event_here?(x, y-1) end return false end # Checks if there is an event at a location def event_here?(x,y) for some_event in $game_map.events.values return true if some_event.x == x and some_event.y == y end return false end end
-
The only other script I'm using is Heretic's Catepillar script, and looking through, it does seem to change how moveable? is defined, so I suppose that is what's causing the issue. If I could get the script to be modified so that it also checks if there is an event in the location it's going to, that would solve the problem I think and would also allow me to do something like place invisible, through events in walls to block where the boulder can go, without blocking the player. Edit: Ok, I looked through the passable? script, and I think this is close to what I'm looking for: def event_here?(x,y) for event in $game_map.events.values if event.x == $game_map.events[event_id].x and event.y == $game_map.events[event_id].y return true else return false end end end However, this doesn't seem to work. I'm not getting any errors, but it doesn't do anything to prevent the boulder from moving, either. I just added on " and not event_here?(x, y+1)" to your script, after the passable? call.
-
Ran into a slight issue: This works great if the boulder runs into a wall, but it doesn't detect other boulders. So, if I have two boulders next to each other, then the same issue will occur.
-
That looks perfect. Now, how do I set a switch (ie, switch 0001) to be equal to that result? Edit: Derp, you can put a script directly into a conditional branch, so I don't need to do that. Nevermind.
-
I'm currently putting together a series of simple boulder-pushing puzzles, and I've got the events working pretty well, but I've run into an issue. I can't figure out how to check if the tile in front of the boulder (where it is going to be pushed to) is passable or not. Of course, if the tile isn't movable, then the boulder simply won't move, but the problem is that the sound effect still plays. Is there a simple script I can use to check if a certain X/Y coordinate is pathable? The code I'm imagining is: Switch0001 = isPathable(rock.x, rock.y + 1)
-
[RMXP] Heretic's Caterpillar - Extensive Features and Add Ons!
AgentPaper replied to Heretic86's topic in Forum Archive
Ah, I didn't mean to downplay the importance of having your characters move around. I was just saying that portraits with face expressions can add to the scene, just like body movement can. Now as to which one is more important, that's much more debatable. I'd say body movement can have a much larger effect if you put a lot of work into it, but facial expressions tend to be a lot easier and accomplish a fair bit themselves. (not that that's an excuse to skimp on body animation) Anyways, thanks for the feature, it should prove very useful. -
[RMXP] Heretic's Caterpillar - Extensive Features and Add Ons!
AgentPaper replied to Heretic86's topic in Forum Archive
New version looks excellent, lots of things that should prove very useful. Not sure I agree with everything you said, for example pictures (if implemented and positioned correctly) can still add to the game. Body language is important, but even more than that is facial expression. Ideally you would have a portrait that you can change the emotions on as needed. Even without that, it helps to give a feel for the character, and if positioned well so that it's not too distracting, it can help players understand who the character is, without distracting them from the text or the action on-screen. With that whole thing in mind, I have a request: For the "foot forward" command, it would be great if you could also allow for a different animation frame to be used. For example, if in my game I had an artist who made frames for talking, or nodding their head, or waving their arms around, it would be great if you could use a command similar to the foot forward command to display those frames automatically without interrupting the text with scripts or needing to worry about direction. In addition, it would be great if this included the ability to use multiple animations, for example a "clapping" animation where it goes back and forth between two sprites continuously.