Jump to content
New account registrations are disabed. This website is now an archive. Read more here.

kellessdee

Member
  • Content Count

    1,023
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by kellessdee

  1. Well if you know the event's location you could just hard code which way you want the event to move.... otherwise you would need to store both events' map X and map Y into variables, then use conditional branches to decide which way to move the other event if event1_x > event2_x move left else move right if event1_y > event2_y move up else move down and if you wanted the event to move until it reaches the other event, just put it in a loop and break if the coordinates are equal what exactly are you trying to do? move towards (once or twice) an event with unknown location? or move until beside event with unknown location?
  2. LMAO Sorrrryy you are right Line 63: Graphics.transition(20, "Graphics/Transitions/trans_grass") should definitely be Graphics.transition I used the project that i was messing around with menu transitioning lol and the other line you mentioned you are correct as well! The second mistake was a total goof I forgot to modify that part as well I edited my post to fix those mistakes. Thanks brewmeister, good eye :P And 4 dummy windows would be really easy and work just as well (then you wouldn't need to modify Window_MenuStatus except for making it transparent) but I try to avoid making too many dummy windows, it can get messy.
  3. To start off, you should look for some Ruby tutorials, and learn the Ruby syntax, structure, etc. http://www.ruby-doc.org/docs/ProgrammingRuby/ It also helps to look through the ruby documentation to learn predefined classes/methods http://www.ruby-doc.org/core/ Once you are more comfortable with the syntax and control flow, look through the Rpg Maker XP/VX help file, it contains a lot of ruby syntax as well as explains Rpg maker's built in classes/libraries. If you can learn how to use these classes correctly, it will help immensely in designing menus, etc. Then you can look through the default menu scripts or even custom menu scripts to see how it does certain things and some helpful tutorials: Leon's scripting class http://www.rmxpunlimited.net/forums/forum/91-leons-scripting-class/ Mr. Mos In-depth scenes and windows http://www.rmxpunlimited.net/engines/rmxp/rgss-scripting-tutorials/291-mr-mos-in-depth-scenes-and-windows and there was a topic with a BUNCH of tutorials, I'm pretty sure it was on these forums...I can't find it at the moment however. If I find it I'll let you know. But just to reiterate a nice cliche: You need to learn how to walk before you can run. Start off slow with small things until you are comfortable enough to write your own scenes. And PRACTICE, the best way to learn how to program is to do it. You'll be able to remember different quirks easier if you practice using them a lot. If you have prior programming experience it will be easy to learn RGSS, but even if you don't it's never too late to learn. Hope this helps, good luck :) EDIT: I found the large collection of RGSS tutorials I was talking about: http://www.rmxpunlimited.net/forums/topic/100-ultimate-rgss-tutorials-collection/ They're really good tutorials and if put to good use, I'm sure will help ALOT.
  4. It wouldn't be too difficult, you would just need to make Window_MenuStatus inherit from Window_Base and only draw for 1 actor, and in Scene_Menu you change it to draw x amount of status windows (x being the number of party members. Replace Window_MenuStatus with this #============================================================================== # ** Window_MenuStatus #------------------------------------------------------------------------------ # This window displays party member status on the menu screen. #============================================================================== class Window_MenuStatus < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(x, y, actor) super(x, y, 480, 120) self.contents = Bitmap.new(width - 32, height - 32) @actor = actor refresh @selected = false end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear x = 64 y = 0 draw_actor_graphic(@actor, x - 40, y + 80) draw_actor_name(@actor, x, y) draw_actor_class(@actor, x + 144, y) draw_actor_level(@actor, x, y + 32) draw_actor_state(@actor, x + 90, y + 32) draw_actor_exp(@actor, x, y + 64) draw_actor_hp(@actor, x + 236, y + 32) draw_actor_sp(@actor, x + 236, y + 64) end #-------------------------------------------------------------------------- # * Set Selected # selected : new selected (true = selected, false = unselected) #-------------------------------------------------------------------------- def selected=(selected) @selected = selected update_cursor_rect end #-------------------------------------------------------------------------- # * Cursor Rectangle Update #-------------------------------------------------------------------------- def update_cursor_rect if @selected self.cursor_rect.set(-8, -8, self.width - 16, self.height - 16) else self.cursor_rect.empty end end end And replace Scene_Menu with this #============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # This class performs menu screen processing. #============================================================================== class Scene_Menu #-------------------------------------------------------------------------- # * Object Initialization # menu_index : command cursor's initial position #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # * Main Processing #-------------------------------------------------------------------------- def main # Make command window s1 = $data_system.words.item s2 = $data_system.words.skill s3 = $data_system.words.equip s4 = "Status" s5 = "Save" s6 = "End Game" @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index # If number of party members is 0 if $game_party.actors.size == 0 # Disable items, skills, equipment, and status @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end # If save is forbidden if $game_system.save_disabled # Disable save @command_window.disable_item(4) end # Make play time window @playtime_window = Window_PlayTime.new @playtime_window.x = 0 @playtime_window.y = 224 # Make steps window @steps_window = Window_Steps.new @steps_window.x = 0 @steps_window.y = 320 # Make gold window @gold_window = Window_Gold.new @gold_window.x = 0 @gold_window.y = 416 # Make status window @status_window = [] @status_max = $game_party.actors.size for i in 0...@status_max x = 160 y = 120 * i @status_window.push(Window_MenuStatus.new(x, y, $game_party.actors[i])) end @status_index = 0 # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose of windows @command_window.dispose @playtime_window.dispose @steps_window.dispose @gold_window.dispose for i in 0...@status_max @status_window[i].dispose end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Update windows @command_window.update @playtime_window.update @steps_window.update @gold_window.update for i in 0...@status_max @status_window[i].update end # If command window is active: call update_command if @command_window.active update_command return # If status window is active: call update_status else update_status return end end #-------------------------------------------------------------------------- # * Frame Update (when command window is active) #-------------------------------------------------------------------------- def update_command # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Map.new return end # If C button was pressed if Input.trigger?(Input::C) # If command other than save or end game, and party members = 0 if $game_party.actors.size == 0 and @command_window.index < 4 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Branch by command window cursor position case @command_window.index when 0 # item # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to item screen $scene = Scene_Item.new when 1 # skill # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window[@status_index].selected = true when 2 # equipment # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window[@status_index].selected = true when 3 # status # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window[@status_index].selected = true when 4 # save # If saving is forbidden if $game_system.save_disabled # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to save screen $scene = Scene_Save.new when 5 # end game # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to end game screen $scene = Scene_End.new end return end end #-------------------------------------------------------------------------- # * Frame Update (when status window is active) #-------------------------------------------------------------------------- def update_status # If UP button was pressed if Input.repeat?(Input::UP) if Input.trigger?(Input::UP) || @status_index > 0 # Play cursor SE $game_system.se_play($data_system.cursor_se) # Change index @status_window[@status_index].selected = false @status_index = (@status_index + 3) % 4 @status_window[@status_index].selected = true end return end # If DOWN button was pressed if Input.repeat?(Input::DOWN) if Input.trigger?(Input::DOWN) || @status_index < @status_max - 1 # Play cursor SE $game_system.se_play($data_system.cursor_se) # Change index @status_window[@status_index].selected = false @status_index = (@status_index + 1) % 4 @status_window[@status_index].selected = true end return end # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Make command window active @command_window.active = true @status_window[@status_index].selected = false return end # If C button was pressed if Input.trigger?(Input::C) # Branch by command window cursor position case @command_window.index when 1 # skill # If this actor's action limit is 2 or more if $game_party.actors[@status_index].restriction >= 2 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to skill screen $scene = Scene_Skill.new(@status_index) when 2 # equipment # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to equipment screen $scene = Scene_Equip.new(@status_index) when 3 # status # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to status screen $scene = Scene_Status.new(@status_index) end return end end end Is that what you were looking for? It's exactly how rmxp handles the SaveFile Selection, it draws 4 separate non-selectable windows and defines new methods to handle selection.
  5. Technically it is possible, although you would only be able to play the music through scripts (not in the traditional option boxes in database/map) For example, if you went to your games bgm folder (in the audio folder) you could make a new folder (say for maps) called map, then on the map you would have to make an autorun event and use "call script" and in call script you would type: Audio.bgm_play("Audio/BGM/map/song_name") song_name being whatever the file name is WITHOUT the extension (filetype) (note: map would be whatever folder the song you wish to play is in) and then after just erase the event. I dunno if this would be worth the organization, but it's the only way I know of to use different folders
  6. Sorry I misread, but good find...does it work well?
  7. Would you prefer mediafire over megaupload? I'm not too familiar with which one's are better...If anyone rather the mediafire link here yous go :P http://www.mediafire.com/?7zgheyyes9v6o1s
  8. Sorry, been a little busy (how unusual of me, why do jobs make you do online modules, so lame. But being a poor student sucks more :P) well I haven't decided a good way to convert them into usable rmxp animations, but I rar'd the files and uploaded it: http://www.megaupload.com/?d=U5HOEF58 Rmxp unlimited doesn't have any file uploader does it?
  9. Are you just looking for someone to turn the video into an animation sheet? I might be able to try to do this if you'd like...however isn't the animation specification for each animation frame 192x192 px? I mean it could still be done but the image may need to be split up or there may be a way to redefine a script to read larger frames. EDIT: I managed to get it into 76 frames, the last 4 were blank. Each frame is 320x240 pxs, so this may be a bit of effort to get into a sheet. I can upload the individuals frames if you would like however. But I'll see what I can do.
  10. I think this, or any form of spriting tutorials would be a great idea. For me personally I could definitely use some kind of tutorials for making charsets or animating sprites, essentially...But either which way I think any kind of graphical oriented lesson would be an excellent idea. I dunno if it's just me, but making sprites/graphics is my weakest area, and there is already so much documentation available in terms of scripting, eventing, etc. But good spriting tuts are hard to come by...mind you it's probably because it's also not the easiest topic to teach, but I think I could use the lessons immensely
  11. Well thank you :P And that person/character ("the real zero") looks really cool, is it from something or somewhere? Never seen that before, did you make it?
  12. LMAO Any moderator or admin who sees this, I have figured this out: i have been using Graphics\Transitions\file_name when it should be Graphics/Transitions/file_name ALSO it should be noted that I must've been asleep at the helm or something, I imported all the transitions to my animations folder :/ So you can close this topic PROBLEM SOLVED EDIT: OOps, I guess I coulda edited the original post
  13. If anyone wants to know how to do this in code, I messed around a bit (NOTE: this will only work with default battle + menu systems) (I dunno if this is the most efficient way, but it was the easiest way that I could tell :/) (I am sorry if I miss something, if it doesn't work, please let me know I might have missed a line somewhere) STEP 1: Insert a new script right below Window_Help, and name it Window_SkillHelp (Where you place it isn't so important, as long as it is below window_base) This code simply displays the Skill description + "Used: X" on a new line #============================================================================= # ** Window_SkillHelp #----------------------------------------------------------------------------- # Similar to Window_Help, resized to fit # of times a skill has been used #============================================================================= class Window_SkillHelp < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 640, 96) self.contents = Bitmap.new(width - 32, height - 32) end #-------------------------------------------------------------------------- # * Set Text # text : text string displayed in window # align : alignment (0..flush left, 1..center, 2..flush right) #-------------------------------------------------------------------------- def set_text(text, usage, align = 0) # If at least one part of text and alignment differ from last time or usage if text != @text || usage != usage || align != @align # Redraw text self.contents.clear self.contents.font.color = normal_color self.contents.draw_text(4, 0, self.width - 40, 32, text, align) self.contents.draw_text(4, 32, self.width - 40, 32, usage, align) @text = text @usage = usage @align = align @actor = nil end self.visible = true end end STEP 2: Go to Game_Actor, go to line 494 @skills.push(skill_id) and replace with: @skills.push([skill_id, 0]) # Adds skill as an array, storing usage and ID so now @skills becomes a 2-dimensional array ex. @skills[0][0] = skill_id; @skills[0][1] = times_used STEP 3: Also in Game_Actor, go to line 510 return @skills.include?(skill_id) and replace with: usable = false @skills.each_index{|i| usable = true if @skills[i].include?(skill_id)} return usable unfortunately since ruby doesn't *technically* support multi-dimensional arrays, the array.include? doesn't work very well with 2-d arrays unless you know the index you are searching at, so instead this line of code with manually search each index to see if the skill exists. Probably a little bit slower, but probably not noticeably... STEP 4: Go to Window_Skill, go to line 13 super(0, 128, 640, 352) replace with(just resizes skill window and repositions it to fit extra line for usage): super(0, 160, 640, 320) Now go to line 42 skill = $data_skills[@actor.skills[i]] and replace with(just adjusted to grab the specific ID rather than the array): skill = $data_skills[@actor.skills[i][0]] Now go to line 81 @help_window.set_text(self.skill == nil ? "" : self.skill.description) and replace with(this adds the "Used: X" line to help window) if self.skill == nil @help_window.set_text("", "") else # You can modify the "Used: " part to fit your liking used = "Used: " + @actor.skills[self.index][1].to_s @help_window.set_text(self.skill.description, used) end STEP 5: Go to Window_SkillStatus line 13 replace super(0, 64, 640, 64) with super(0, 96, 640, 64) STEP 6: (ALMOST there, this is the fun stuff, i guess) In Scene_Skill Replace Line 22 @help_window = Window_Help.new with @help_window = Window_SkillHelp.new add this line @index = @skill_window.index underneath line 89 or so add this line # Add to number of times skill used @actor.skills[@index][1] += 1 underneath line 122 AND underneath line 204 or so STEP 7: (LAST bitsss) go to Scene_Battle 1 add this @help_skill_window = Window_SkillHelp.new @help_skill_window.back_opacity = 160 @help_skill_window.visible = false underneath line 39 or so then add @help_skill_window.dispose underneath line 78 or so now go to Scene_Battle 3 (LAST PART I PROMISE) replace "def update_phase3" (the entire method, from def to end) with: def update_phase3 # switch between Skill help window/reg help window if @skill_window == nil @help_window.visible = true unless @actor_command_window.active @help_skill_window.visible = false end # If enemy arrow is enabled if @enemy_arrow != nil update_phase3_enemy_select # If actor arrow is enabled elsif @actor_arrow != nil update_phase3_actor_select # If skill window is enabled elsif @skill_window != nil @help_skill_window.visible = true @help_window.visible = false update_phase3_skill_select # If item window is enabled elsif @item_window != nil update_phase3_item_select # If actor command window is enabled elsif @actor_command_window.active update_phase3_basic_command end end then go to "def start_skill_select" and replace the line that says: # Associate help window @skill_window.help_window = @help_window with: # Associate help window @skill_window.help_window = @help_skill_window and finally add this line DIRECTLY underneath "def end_skill_select" (which is the method right after "def start_skill_select"): # Add to skill usage $game_party.actors[@actor_index].skills[@skill_window.index][1] += 1 and that should display the number of times a skill was used by an individual in the party, for each skill. I may have missed something, so if you have difficulties getting that to work, let me know. OR if you are using custom scripts for the menu + battles, well I would need to know what scripts you are using in order to implement this, lemme know if that is the case I may be able to help. ALSO if anyone knows of a better/more efficient way to do this lemme know, this is the best solution that I have found. (and i am sorry if it is difficult to read)
  14. Haha, that's interesting...I dunno if I am biased but I do really like the letter k, especially lower-case (is it odd that I have actually thought of this before?) I am using Rpg maker Xp at the moment, I have taken a look at Rpg Maker VX, the main thing that turns me off is the resolution (I am VERY used to rpg maker 2000's 320x240, and because of that I have gotten used to rm Xp's 640x480; exactly double) and what I have heard about the tile set issues. Although, a lot of little quirks like I have seen how the scripts are set up (Looks VERY organized) and other little things look really cool, I wouldn't mind trying it out...although I definitely wouldn't be able to afford the full version at this time :( And thanks, I have always had a soft spot for Zero (especially the Mega Man Zero version) If i were a female robot....actually I probably shouldn't finish that sentence
  15. I am sorry if this has been answered I couldn't manage to find it on google or by searching the forum O.o but should be a quick and easy answer (I hope lol) the issue I am having is specifying a transition file within the RGSS editor. for example, say when transitioning to a new Menu scene or something. # This is what I am trying to use Graphics.transition(5, "trans_ripple") # trans_ripple being the filename, 5 being how many frames # and I have tried Graphics.transition(5, 'Graphics\Transitions\trans_ripple') # single quotes so \ does not need to be escaped And each time I get file not found error. According to the help file, the correct syntax is: I was hoping someone may know what I am doing wrong, does my game NEED to be encrypted just to use specific transitions? That just doesn't seem logical.
  16. I figured if I wanted to get involved it might be a good idea to introduce myself :) Well, you can call me kellessdee, kel or kellen (my real name) if you'd like. Or anything else really (it won't hurt my feelings I love nicknames) however I may not realize you are referring to me :P I used to be more active on the internet when Rpg Maker 2000/2003 was popular, I never finished anything (lack of motivation, and a sprinkle of ADD or something) and once upon a time attempted learning Rpg Maker XP, but because of that same reason for never finishing any projects, I never learned RGSS efficiently and kind of lost interest. I had taken Java later in high school, realized why I failed in learning RGSS in the first place (bad learning practices) and knew at that point that programming + game design was my calling. Between partying, a girlfriend (and running away with her, well moved away, but sounds more exciting the first way :P) and making money, I unfortunately didn't touch any kind of programming for about 2-3 years, and finally upon returning home I decided to enroll in college for computer programming, and have finally gotten back up to speed with my knowledge, and now am actually learning RGSS properly this time around. *EXHALES* phew that was a mouthful I guess. But wanted to say hi, and hopefully get involved with the community closely. To me game design and creation is the ultimate art form, (Writing, Mapping, Visual Arts, Music, Programming and the design itself, and putting it together coherently; it's a beautiful art in my eyes) and the beauty of computers/programming, is that it is much like a universe within itself, one that (if the time is spent to learn it) can be controlled and manipulated in anyway imaginable. But I am excited to get back in touch with people who are in the amateur game/software development scene; and so far from what I have seen, this looks like a really great community :) I hope to be able to learn a little something from everyone and maybe even help some others as well. Also, I am a very friendly person and very open, so don't ever be afraid to ask me anything or message me, I don't CYBER-bite :P
×
×
  • Create New...