Jump to content


  • Content Count

  • Joined

  • Last visited

About Quasi

  • Rank
    Advanced Member
  • Birthday 08/11/1992

Contact Methods

  • MSN
    I use Skype's IM now
  • Website URL
  • Skype

Profile Information

  • Gender

RPG Maker Information

  • RM Skill -
    Jack of All Trades

Recent Profile Visitors

4,597 profile views
  1. You could use a boolean and if it's true allow the ox update then set it to false once it reaches the location, if it's false do nothing. Just doing that though you would probably need a bunch of different update methods for every move. Or you could make a two method like: def start_move(x, y) @new_x = x @new_y = y @moving = true end def update_moving return unless @moving # We use [].min and [].max so we don't pass our coordinate speed = 1 @sprite.ox = [@sprite.ox + speed, @new_x].min if @sprite.ox < @new_x @sprite.ox = [@sprite.ox - speed, @new_x].max if @sprite.ox > @new_x @sprite.oy = [@sprite.oy + speed, @new_y].min if @sprite.oy < @new_y @sprite.oy = [@sprite.oy - speed, @new_y].max if @sprite.oy > @new_y @moving = false if @sprite.ox == @new_x && @sprite.oy == @new_y end ( this concept is based off how the character sprites move in Game_CharacterBase ) You could also rewrite those 2 methods around to use array values or a hash so you can use the same 2 methods for multiple sprites.
  2. Finally my weekend starts! But I'm so tired already

  3. Quasi

    Setting up GubiD's Tactical Battle System

    http://gubi.us:8001/redmine/projects/0_010/wiki/Documentation ^ Answers a lot. Specific links to what you need: http://gubi.us:8001/redmine/projects/0_010/wiki/Class_Config http://gubi.us:8001/redmine/projects/0_010/wiki/Skill_Config http://gubi.us:8001/redmine/projects/0_010/wiki/Battle_Setup Easiest way is to look at his demo ( if he still has it up, I haven't touched it in years ) and see how he set it up. And if I remember correctly attack heights is only effected if you're using layy meta ( the iso script )
  4. Quasi

    Moving an event next to the player.

    From the sounds of it, you want the event to move to one of the players neighboring tiles? If so then all you have to do is get all 4 neighboring tiles by using the players coordinates some pseudo code, not sure if I remembered the methods correct: def neighboring_tiles(event, player = $game_player) tiles = [] for i in 1..4 dir = i * 2 next unless event.passable?(player.x, player.y, dir) # Only want passable neighbors x1 = $game_map.round_x_with_direction(player.x, dir) y1 = $game_map.round_y_with_direction(player.y, dir) score = Math.hypot(x1 - event.x, y1 - event.y) # How close this tile is to the event tiles << [x1, y1, score] end best = tiles.min_by{|v| v[2]} # Select tile that closest to event return [best[0], best[1]] # return it as array [x, y] end Just gotta plug that into some class, maybe Game Interpreter or Game Character or Game Map, idk and then call it by doing something like: xy = neighboring_tiles($game_map.events[ID]) # this call will only work if it was in game interpreter xy = $game_map.neighboring_tiles($game_map.events[ID]) # if it was in game map xy = $game_map.events[ID].neighboring_tiles($game_map.events[ID]) # if it was in game character # then some pathfinding # not sure if this is how pathfinders set # there calls, but it should be something similar $game_map.events[ID].pathfind_to(xy[0], xy[1])
  5. I recently made something similar to fix this for a friend. He wanted a parallel process with image stuff, triggered by a switch, to run while there's a msg playing. https://www.dropbox.com/s/omu3tgeevm0xg9g/continual.rb?dl=0 All you have to do is mark any event that you want to keep running during a msg with the comment: <continual> Note: You might want to add some variables in your msg event though so the parallel event knows what part of the msg it's at. Note2: I never really completely tested this, just slapped it together and passed it over, so there's a chance it doesn't work in all situations.
  6. I'd say to grab a pathfinding script, and before the chasing begins grab the events x and y so when the player gets out of range you just use the pathfind on the event to return to his x, y before the chase started.
  7. Quasi

    Help in making a String Array-based HUD

    That's what my second half the of the post is telling you how to do. Here's an example of using Window_Base and storing an array inside $game_system Then to modify the array all you would do, in this case, $game_system.quest_list then w.e. you want, examples: $game_system.quest_list << "Added an extra line!" $game_system.quest_list.pop #=> removes the last element and returns it $game_system.quest_list.shift #=> removes the first elemnt and returns it #ect Sorry if this isn't what you mean and I'm just misunderstanding.
  8. Quasi

    Help in making a String Array-based HUD

    That parameter list on TextWidget lol. You should take in a hash instead with that many options hash = { :name => "John Doe", :age => 27 } Person.create(hash) def self.create(params) @name = params[:name] @age = params[:age] end Taken from -Rub Docs- As for the array thing, I'm too lazy to look through it all, but why don't you use a window_base instead? then when you pass in the array you would do something like: (pseudo code, won't actually work) def refresh @array.each_with_index do |element, index| y = line_height * index draw_text(x, y, w, h, element) end end For the actual array you could probably set it up inside Game System and put in some methods to modify it, (can't remember if attr_accessor will let you modify arrays like .push, .delete, ect.) and just grab it with $game_system.arrayname
  9. That's set by default for debugging, it only works when play testing. If you want to completely turn it off you can open up scripts and go to Game_Player around line 146 you'll see: #-------------------------------------------------------------------------- # * Determine if Debug Pass-through State #-------------------------------------------------------------------------- def debug_through? $TEST && Input.press?(:CTRL) end change that to: #-------------------------------------------------------------------------- # * Determine if Debug Pass-through State #-------------------------------------------------------------------------- def debug_through? return false end or just false, but I like how return false looks.
  10. Quasi

    Sprite Making

    I like using Pyxel Edit for sprites, it feels so easy for me how you can pan by holding the scroll button, and zooming by scrolling in/out, and then picking colors (eye dropper? ) with right click. I pretty much don't need to touch the keyboard or toolbar, And if you get the paid version there's the animation feature, so you can test out the sprite while working on it.
  11. Finally fixed that blurry text problem with Windows 8.1! Feels so much better

  12. Quasi

    Script Check the type of the weapon

    Not sure if I recall correctly, but that item parameter is only passing the item or skill that was used. While you are trying to check for an Wep, so that second method won't run. And wait why are you using global variables anyways.
  13. Quasi

    Delay in script

    Depending on what scene/child your script is in, it might have a wait method that looks something like: #-------------------------------------------------------------------------- # * Wait #-------------------------------------------------------------------------- def wait(duration) duration.times {|i| update_basic if i < duration } end But that wait would halt all updating process except animations (depending on what scene you are in). Another way that you can build into the method would be something like @wait -= 1 if @wait <= 0 #run some method now @wait = @delaytime end @wait and @delaytime need to be initialized. This is assuming that this is running in some update method
  14. Quasi

    Script header help?

    Well there's a couple of ways to do this, but I'd probably do it by making an update method inside Scene_Map Something like: #============================================================================== # ** Scene_Map #------------------------------------------------------------------------------ # This class performs the map screen processing. #============================================================================== class Scene_Map < Scene_Base alias updatealias update def update updatealias somemethod end def somemethod if $game_variables[71] == 50 if $game_switches[184] RPG::SE.new("Key", 80, 100).play RPG::SE.new("Sword4", 80, 100).play $game_switches[184] = true end else if $game_switches[184] RPG::SE.new("Key", 80, 100).play RPG::SE.new("Sword4", 80, 100).play $game_switches[184] = false end end end end I modified you're method a little bit since it was doing nothing when the switch was off so it wasn't needed. Also note on your original on you had if $game_switches[184] = false that should have been an == not =
  15. Quasi

    Help with simple script! 0_o

    on line 52? If $game_variables[38] == 1 should be if $game_variables[38] == 1 you're also missing an end at the very end on line 95