KARINS_SOULKEEPER'S PROFILE

Search

[SCRIPTING] [RMMV] Actor Face not displaying properly on Scene_Menu

Hi there.

I have this issue where the actor's face image won't load the first time Scene_Menu is called, and I'm honestly not sure why? I repurposed Window_Status by making it pop up on Scene_Menu instead. Like so:

First call:

After closing the menu, then re-opening it:


It seems that if I go to any other scene (say, to skill, item, or equip) after accessing the menu, then go back to menu, it would also load properly.

Here's the create function in Scene_Menu, which I pretty much copy-pasted from the MenuStatus one.
Scene_Menu.prototype.createAltStatWindow = function() {
this._altStatWindow = new Window_Status();
this._altStatWindow.reserveFaceImages();
this._altStatWindow.x = this._commandWindow.width
this.addWindow(this._altStatWindow);
};

There's also this, which I copied from Window_MenuStatus (although idk where this function is called, since Scene_Menu doesn't seem to have a call for it).
Window_Status.prototype.loadImages = function() {
ImageManager.reserveFace($gameParty.members()[0].faceName());
};

Thanks in advance for the help!

Edit: I forgot to add a topic title.

Hi there.

I said I'd be back full storm some time ago. Well that ended well now, didn't it?

Anywho, hello there. I'm karins. I should probably not speak in absolutes anymore but man, idk. Somehow, I just suddenly remembered this place. Remembered all the stuff and the banter and the back-and-forth discussions about pretty much everything (sometimes, even involving gam mak).

I feel bad to have just disappeared without so much as a proper farewell. But at the same time, I'm glad to see rmn still truckin'. To see familiar names on threads. I suppose I'll take this opportunity to thank you all for, well, being you.

Let's put that aside now. This isn't a final "farewell", but this isn't exactly an "I'm back" either. It's a smile and a half. And maybe, hopefully, I can get back to gam mak soon.

Cheers!

[SCRIPTING]Need help with RegEx

class << self
    alias datamanager_orig_load_database load_database
  end
  def self.load_database
    datamanager_orig_load_database
    load_skill_notetags
  end  
  def self.load_skill_notetags
    groups = [$data_skills]
    for group in groups
      for obj in group
        next if obj.nil?
        obj.load_skill_notetags
      end
    end
    puts 'ks_skill_level_up notetagreadproc'
  end
end
class RPG::Skill < RPG::UsableItem
  def load_skill_notetags
    #uses, skillID, replace? <= order of info (irrelevant)
    @lvlup_deets = [0, 0, 0]
    @note.split(/[\r\n]+/).each do |line|
      case line
      #<skill_levelup: 74, 1, 0> <= target string to match
      when '/<skill_levelup:(\s*(\d+)),\1,\1>/' #<= regex that's not working at all
        @lvlup_deets = [$1.to_i, $2.to_i, $3.to_i]
        puts "[#{@lvlup_deets[0]}, #{@lvlup_deets[1]}, #{@lvlup_deets[2]}]"
      end
    end
  end
end

Help me...

The above code supposedly scans the note boxes of all skills for matches, in order to retrieve 3 integers (stored in an array when a match is found). Easy enough, except that it isn't. I dumped the 'puts' line just to see if it's even matching, and found out that it doesn't. It's no exaggeration to say that I suck at regex :(

Can anyone please tell me what it is I'm getting wrong? This has been driving me nuts for hours...

I doubt it matters, but it's for a skill level-up script for VXA. Also, the above code is based off of yanfly's method.

[SCRIPTING] [RMVX ACE]Invoke wait for less than 1 frame?

(quite technically, a printer is also a computer...)

Anyway, hi! I'm making a simple enemy hp bars script, and wanted to make the filling/emptying of the bars to be gradual instead of instant. So, I plopped in a while loop containing Graphics.wait(1). While it does work, it's rather slow. Too slow. I was wondering if there was any way to wait for less than 1 frame. Or if there was a better way to make the filling/emptying gradual besides this method I'm using (which is rather clunky), I'd love to hear that as well.

Here's that portion, in case you're interested.
def update_hp_bar
    return unless @hp_pval != @battler.hp
    p 'update hp'
    @hp_pval = @battler.hp
    hp_cur = @hp_bar.bitmap.width
    hp_hgt = KS_P_B::HP_H
    hp_rat = hp_cur / KS_P_B::HP_W
    while ((hp_rat * 100).to_i) != ((@battler.hp_rate * 100).to_i)
      @hp_bar.bitmap.clear
      if hp_rat > (0.5)
        hp_c = KS_P_B::COLOUR[:hpf]
      elsif hp_rat > (0.25)
        hp_c = KS_P_B::COLOUR[:hpm]
      else
        hp_c = KS_P_B::COLOUR[:hpl]
      end
      @hp_bar.bitmap.fill_rect(0, 0, hp_cur, hp_hgt, hp_c)
      h = hp_rat > @battler.hp_rate ? -1 : 1
      hp_rat = ((hp_rat * 100).to_i + h) / 100.0
      hp_cur = KS_P_B::HP_W * hp_rat
      Graphics.wait(1)
    end
  end


Thank you!

[RMVXA] [SCRIPTING] I kinda broke Scene_Equip, but I'm not sure where exactly...

Hi!

I was just moving windows around when I noticed something wrong. The status screen will no longer display the changed parameters (@temp_actor's params) when equipping/unequipping stuff. I've been trying to see where I went wrong for the past two days, but with not much luck. I'm hoping that one of you guys could point out to me what's causing all this...

I've tried plugging in the following in a blank project, and the same problem pops up, so I'm almost certain that the mistake is somewhere in here.

Here's the complete code (Scene_Equip, Windows):
class Window_Help < Window_Base
  def initialize(line_number = 2, x = 0, y = 0, w = Graphics.width)
    super(x, y, w, fitting_height(line_number))
  end
  def set_text(text)
    if text != @text
      @text = text
      refresh
    end
  end
  def clear
    set_text("")
  end
  def set_item(item)
    set_text(item ? item.description : "")
  end
  def refresh
    contents.clear
    draw_text_ex(4, 0, @text)
  end
end

class Window_EquipStatus < Window_Base
  def initialize(x, y, w)
    super(x, y, w, window_height)
    @actor = nil
    @temp_actor = nil
    refresh
  end
  def window_height
    fitting_height(visible_line_number)
  end
  def visible_line_number
    return 6
  end
	  def refresh
      contents.clear
      x = contents.width / 5
      draw_item(x, line_height * 0, 0)
      draw_item(x, line_height * 1, 1)
      draw_item(x, line_height * 2, 2)
      draw_item(x, line_height * 3, 3)
      draw_item(x, line_height * 4, 4)
      draw_item(x, line_height * 5, 6)
	  end
    def draw_item(x, y, param_id) # +30
      draw_param_name(x * 0, y, param_id)
      draw_current_param(x * 2, y, param_id) if @actor
      draw_right_arrow(x * 3, y)
      draw_new_param(x * 4, y, param_id) if @temp_actor
    end
end

class Window_EquipSlot < Window_Selectable
  def visible_line_number
    return 6
  end
  def draw_item(index)
    return unless @actor
    if slot_name(index) == '--'
      draw_horz_line(line_height * index)
      @help_window.clear if @help_window
      return
    else
      rect = item_rect_for_text(index)
      change_color(system_color, enable?(index))
      draw_text(rect.x + 12, rect.y, 92, line_height, slot_name(index))
      draw_item_name(@actor.equips[index], rect.x + 72, rect.y, enable?(index))
    end
  end
  alias norm draw_item_name
  def draw_item_name(item, x, y, enabled = true)
    if item
      norm(item, x, y, enabled = true)
    else
      draw_icon(186, x, y, enabled)
      change_color(normal_color, false)
      draw_text(x + 52, y, self.width, line_height, "--", 0)
    end
  end
  def draw_horz_line(y)
    line_y = y + line_height / 2 - 1
    contents.fill_rect(24, line_y, contents_width - 48, 2, line_color)
  end
  def line_color
    color = normal_color
    color.alpha = 48
    color
  end
end

class Window_EquipItem < Window_ItemList
  def col_max
    return 2
  end
  def draw_item(index)
    item = @data[index]
    rect = item_rect(index)
    rect.width -= 4
    if item
      draw_item_name(item, rect.x, rect.y, enable?(item))
      draw_item_number(rect, item)
    elsif !@data[0]
      draw_icon(186, rect.x, rect.y)
      change_color(normal_color, false)
      draw_text(rect.x + 24, rect.y, self.width, line_height, 'Unequip', 0)
    end
  end
end

class Dis < Window_Base
  def initialize(h, x, y, w)
    super(x, y, w, fitting_height(h))
    @actor = nil
  end
  def actor=(actor)
    return if @actor == actor
    @actor = actor
    refresh
  end
  def refresh
    contents.clear
    contents.font.size = 24
    x, y, w, h = 0, 96 + line_height - 12, contents.width, line_height
    draw_face(@actor.face_name, @actor.face_index, x, y - 96)
    draw_actor_graphic(@actor, x + 16, y)
    draw_text(x, y, w, h, @actor.name, 1)
  end
end

class Scene_Base
  def fitting_height(line_number)
    line_number * line_height + standard_padding * 2
  end
  def line_height
    return 24
  end
  def standard_padding
    return 12
  end
end

class Scene_Equip < Scene_MenuBase
  def start
    super
    create_dis
    create_status_window
    create_slot_window
    create_item_window
    create_help_window
    command_equip
  end
  def create_help_window
    wy = Graphics.height - @item_window.height - fitting_height(2)
    @help_window = Window_Help.new(2, 0, wy)
    @help_window.viewport = @viewport
  end
  def create_dis
    ww = 120
    wx = (Graphics.width - ww) / 2
    @dis = Dis.new(6, wx, 0, ww)
    @dis.actor = @actor
  end
  def create_status_window
    ww = Graphics.width / 2 - 60
    @status_window = Window_EquipStatus.new(0, 0, ww)
    @status_window.viewport = @viewport
    @status_window.actor = @actor
  end
  def create_slot_window
    wx = @status_window.width + 120
    wy = 0
    ww = @status_window.width
    @slot_window = Window_EquipSlot.new(wx, wy, ww)
    @slot_window.viewport = @viewport
    @slot_window.help_window = @help_window
    @slot_window.status_window = @status_window
    @slot_window.actor = @actor
    @slot_window.set_handler(:ok,       method(:on_slot_ok))
    @slot_window.set_handler(:cancel,   method(:on_slot_cancel))
    @slot_window.set_handler(:pagedown, method(:next_actor))
    @slot_window.set_handler(:pageup,   method(:prev_actor))
  end
  def create_item_window
    ww = Graphics.width
    wh = fitting_height(4)
    wx = 0
    wy = Graphics.height - wh
    @item_window = Window_EquipItem.new(wx, wy, ww, wh)
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.status_window = @status_window
    @item_window.actor = @actor
    @item_window.set_handler(:ok,     method(:on_item_ok))
    @item_window.set_handler(:cancel, method(:on_item_cancel))
    @slot_window.item_window = @item_window
  end
  def on_slot_cancel
    SceneManager.return
  end
  def on_actor_change
    @status_window.actor = @actor
    @slot_window.actor = @actor
    @item_window.actor = @actor
    @dis.actor = @actor
    @slot_window.activate
  end
end

Thanks :)

Need some feedback before I go to mass-production

Hiya!

I just wanted some feedback on a little something I made before I go ahead and mass-produce stuff like these. Basically, I'm trying to digitize my sketches so I can use them on games and the like. I'm pretty sure I could not have done this correctly on my first try so...

Here:
http://rpgmaker.net/media/content/users/46909/locker/20140913_180816.jpg
http://rpgmaker.net/media/content/users/46909/locker/GirlSketch.png

Oh, please don't mind its being off-proportion and all. Believe me, I'm working on improving that.
Also, I'm using paint with a mouse, so the lines are a bit jittery. I'm working on that too.


Thanks!

Can I submit a game made by someone else?

I think I saw this somewhere, but I couldn't remember the exact response.

You see, my friend is working on her first game, and I figured that posting her game here will help her out (she'll get even more feedback, and stuff like that). I (technically) also am helping her in the actual making process, but I had to insist that she takes all the credit. I already tried asking her to join this site, but she doesn't seem to be too eager (she's not very fond of internet communities).

So I was wondering, am I allowed to submit her game here? On her stead, that is.

[RMVX ACE] Music cross-fading (overlapping between maps).

Hi! I'd like to ask if anyone knows how to make the BGM from one map cross-fade into another during a transfer event. It's because I'm making seam-less maps a la Pokemon style. I got the mapping down, but the music changes between maps is too abrupt and jarring.

If that wasn't very clear, here:
<map 1 BGM playing> -- /*Player transfers to map 2*/ -- <map 1 BGM fadeout> <map 2 BGM fadein> -- <map 2 BGM playing>

Thank you :3

Looking for a Tester (/slave)

Hi everyone! I'm Karin's Soulkeeper and I'm looking for a slave tester/ advisor.

A quick profile: I joined July this year, and have since made 4 games: A complete game, a contest entry, a mini-game (of sorts), and a last one on indefinite hiatus. Mainly, I work with VXA. I did try 2k3, and I haven't given up yet, but it's really hard for me to use it. I also like chocolate and cookies.

So, on to the main deal.

I'm making a traditional rpg that is in dire need of constant checking, to make sure that what I'm doing is still acceptable. Specifically: I need someone to help me balance battles, keep the storyline consistent and engaging, and the like. I work slow, and I've only been working on it for about a week by now, so there isn't that much to show yet. Maybe just enough to get things going.

I don't really need a fully-dedicated tester because, as I've stated, I work slow. I just need someone I could (repeatedly) send a copy of my work to, and ask feedback from.

Now I couldn't really give out anything other than thank-you's and credit, so...

Thanks for your time :3

[RMVXA] Randomly spawning events?

Just a random question. I never really got around as to how to make this work, so here's me asking: How do you randomly (and infinitely) spawn events? What I mean is something like a barrage of randomly-spawning rocks falling down a mountain, like in LoZ: MC's Mt. Crenel.

Any ideas guys? I'll take on scripting if I have to, but I think this is all doable through eventing.

Oh and a follow-up: How do you make an event spawn randomly in a specified Region ID?

Thanks :3
Pages: first 12345 next last