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

TriangleGM

Member
  • Content Count

    6
  • Joined

  • Last visited

About TriangleGM

  • Rank
    Newbie

Other

  • Referer
    Google for RMXP scripting help

Engines I Use

  • RPG Maker XP
    Yes
  1. Hey, that's something, thanks! I don't see any direct contact info, but I sent him a tweet about it, lol. :)
  2. In cases where a script does not state its availability for use, is there a generally accepted rule among the greater "game makers" community for the use of scripts posted on sites like this in commercially released games? I'm specifically looking at the Auto Font Install script by Wachunga. Ordinarily, I would assume that one would, at the very least, need to ask permission if not offer to pay something. However, the reason I'm asking is that this script was posted by "Guest_Wachunga," meaning they are not a member of this site, and I have no idea who they are or how to contact them. There is nothing in the header description referring to "terms of use," "copyright," "be sure to credit me," or even anyone's full legal name. So, I imagine I could get away with just using it, but I'm wondering if that would be seen as bad form (or worse). Personally, I would at least give credit to them within the game, because I try to be a nice polite guy, but I'd feel better knowing it was really okay to use it. Alternatively, if anyone happens to know who Wachunga is or where I could contact him/her, that would be a great help.
  3. Well, the code is a lot "messier" than I'd like, but it's done and it works! Each party member is handled one at a time with their own unique window. I had hoped to make it a BIT more professional looking via arrays and loops, but hey, I'm not a professional. There are a few lines that needed to be inserted into Game_Actor and Battle_Scene, but most of it is off in its own script like it should be. [spoiler=New Window Code] #============================================================================== # ** Window_LearnSkill #------------------------------------------------------------------------------ # This window displays new skills learned at the end of a battle. #============================================================================== class Window_NewSkill < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(actor, lessons) @student = actor @lessons = lessons super(160, 0, 320, @lessons.size * 32 + 64) self.contents = Bitmap.new(width - 32, height - 32) self.y = 160 - height / 2 self.back_opacity = 160 self.visible = false refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear x = 4 self.contents.font.color = system_color cx = contents.text_size(@student.name).width self.contents.draw_text(x, 0, cx, 32, @student.name) x += cx + 4 self.contents.font.color = system_color cx = contents.text_size("learned").width self.contents.draw_text(x, 0, cx, 32, "learned") x = 8 y = 32 for l in @lessons self.contents.font.color = normal_color cx = contents.text_size(l).width self.contents.draw_text(x, y, cx, 32, l) y += 32 end end end [spoiler=New Battle Scene Methods] class Scene_Battle def roll_call # Clear current New Skill window if $game_party.actors[0] != nil if @leswin0.visible == true $game_party.actors[0].new_lessons = false $game_party.actors[0].lessons.clear @leswin0.visible = false end end if $game_party.actors[1] != nil if @leswin1.visible == true @leswin1.visible = false $game_party.actors[1].lessons.clear $game_party.actors[1].new_lessons = false end end if $game_party.actors[2] != nil if @leswin2.visible == true @leswin2.visible = false $game_party.actors[2].lessons.clear $game_party.actors[2].new_lessons = false end end if $game_party.actors[3] != nil if @leswin3.visible == true @leswin3.visible = false $game_party.actors[3].lessons.clear $game_party.actors[3].new_lessons = false end end # Display next New Skill window if $game_party.actors[0] != nil if $game_party.actors[0].new_lessons == true @leswin0.visible = true $game_system.se_play($data_system.decision_se) return end end if $game_party.actors[1] != nil if $game_party.actors[1].new_lessons == true @leswin1.visible = true $game_system.se_play($data_system.decision_se) return end end if $game_party.actors[2] != nil if $game_party.actors[2].new_lessons == true @leswin2.visible = true $game_system.se_play($data_system.decision_se) return end end if $game_party.actors[3] != nil if $game_party.actors[3].new_lessons == true @leswin3.visible = true $game_system.se_play($data_system.decision_se) return end end # End battle reached when no windows need to be displayed battle_end(0) end def update_phase6 if Input.trigger?(Input::C) roll_call return end end end Game_Actor has two new public access variables: lessons[] (array for names of skills to put in windows) new_lessons = boolean Both are used in the Game_Actor class when skills are learned. As each skill is learned, the lessons[] gets pushed the names of the skills, and then new_lessons is set to true. Battle_Scene actually creates the windows themselves at the end of phase5 before moving to the new phase6, which is in the new separate script. Thanks for the help, it really got me looking at the right things. Also, I checked out some of your stuff. You draw better than I do! :) P.S.: In the end I had to settle for using window.visible = false to get rid of the windows. I don't know why, but once I got everything set up it started giving me an error when I tried to use window.dispose. It popped up with "ERRER! window disposed!" I was like, "yeah, I know! What's your point?!"
  4. You seem to have a good start on things, so I'm not sure exactly which part you need help with. I can tell you that the names of the components you'll need are scattered throughout the Game_Battler 3 script, under the section labeled # * Apply Skill Effects starting around line 106. They tend to be the same as for actors, but with "_f" on the end. For instance: skill.str_f skill.pdef_f skill.eva_f Some exceptions are scope, power, and hit rate. They are simply skill.scope skill.power skill.hit Checking the elements and state change effects may be more complicated. Look a further down and you'll see references to skill.element_set skill.plus_state_set skill.minus_state_set I'm not sure exactly how you'll want to use those, but they appear to be arrays. I know that I check for a specific element on a skill by using $data_skills[skill_id].element_set.include?(19) where 19 is the number of the element I was checking for. I hope that's helpful.
  5. Woohoo! Thanks! That led me on the right path to finding out more about windows, as well. I did a lot of research yesterday in the RMXP help files, other tutorials online, etc, but some basic functions of the RGSS still seem elusive. I also found that using the event script command is an easy way to test my understanding of things without having to mess-up the actual game scripts. That helped. I'm still having a little trouble controlling the display of windows in conjunction with program control, but I think I have most of the other scripting figured out. I did realize that I was going to need a slightly more complex plan, but the windows themselves still seem to be the hard part. My plan for now is to use an until Input.trigger?(Input::C) to loop refreshing each window one at a time. Outside of Event based messages, I couldn't find a standered term for making the game wait for a keypress between windows, so I'm hoping this will work. Right now all my plans are written in text files that I'll have to transfer this evening. If there's a better/more typical way to control progressing through multiple windows one at a time, that would be good to know. Otherwise, I THINK I've got it figured out, and I'll post up my final scripts if/when I get it working. Thanks for the help!
  6. I'm trying to create a window that will simply display "CHARACTER learned SKILL" as needed when characters gain levels in battle. EDIT: Okay, I figured out why nothing was happening. I left out the "window.visible" line. D'oh. However, my new problem is, the window never goes away. So how do I make this window disappear after it shows up? (Oringinal post text) At this point, everything runs smoothly, but nothing happens. There's no error, but there's no New Skill window displayed either. I like learning about the scripting side of things, but I always seem to get to this same problem. I did successfully create an element type for bard weapons that causes them to attack all enemies at once. So, I have done SOME of this stuff before, but I am NOT fluent in RMXP's scripting. Any suggestions at all would be much appreciated. This is my new window class (placed before main): I have then placed a line to call the window directly into the Game_Actor class at line 468, during the # Learn Skill loop, as shown here. To clarify, I JUST want an awareness of skills learned, nothing else. I've seen a few examples of custom battle result windows here and there on "the googles," but they're all WAY more involved than what I want. Everyone wants to display a full list of character attribute changes with each level-up. I just want there to be SOME way of the player knowing they have a new skill, because sometimes it's important to the game's puzzle mechanics (i.e. use "Feat Of Strength" skill to roll boulder on map). P.S.: By the way, I used to hang around on the RPG Revolution forums a couple years back.
×
×
  • Create New...