Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Just move the Cursor of the Item_Scene to the right
#1
Hi. I just need a little help with the MOG Scene_Item by moghunter. As you can see from the picture I posted as a Thumbnail, I want the cursor at the Item menu to be shifted a bit to the right so that the cursor fits in to the item box (the one that is under the cursor) Please can anyone tell me where the code is to change the cursor a bit to the right. I really couldn't find it.


Code:
#_______________________________________________________________________________

# MOG Scene Item Laura V1.2            
#_______________________________________________________________________________
# By Moghunter  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.
MNIT = 20
#Transition Type(Name).
MNITT = "007-Line01"  
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_laura"] = true
###############
# Window_Base #
###############
class Window_Base < Window
def nada
face = RPG::Cache.picture("")
end    
def drw_face(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc") rescue nada
cw = face.width 
ch = face.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, face, src_rect)    
end   
def draw_maphp3(actor, x, y)
back = RPG::Cache.picture("BAR0")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("HP_Bar")    
cw = meter.width  * actor.hp / actor.maxhp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("HP_Tx")    
cw = text.width  
ch = text.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)    
end  
def draw_mapsp3(actor, x, y)
back = RPG::Cache.picture("BAR0")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("SP_Bar")    
cw = meter.width  * actor.sp / actor.maxsp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("SP_Tx")    
cw = text.width  
ch = text.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)    
end  
def draw_mexp_it(actor, x, y)
lv_tx = RPG::Cache.picture("LV_tx")
cw = lv_tx.width 
ch = lv_tx.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 32, lv_tx, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 101, y + 5, 24, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 100, y + 4, 24, 32, actor.level.to_s, 1)
end
def draw_actor_state_it(actor, x, y, width = 80)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text,1)
end
end
######################
# Window_Target_Item #
######################
class Window_Target_Item < Window_Selectable
  def initialize
    super(0, 130, 280, 300)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Tahoma"
    self.contents.font.size = 14
    self.z += 10
    @item_max = $game_party.actors.size
    refresh
  end
  def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
      x = 4
      y = i * 65
      actor = $game_party.actors[i]
      drw_face(actor,x,y + 55)
      if $mogscript["TP_System"] == true
      draw_actor_tp(actor, x + 168, y + 27 ,4)
      else  
      draw_mexp_it(actor, x + 110, y + 25 )
      end
      draw_actor_state_it(actor, x + 165, y )
      draw_maphp3(actor, x + 20, y + 0)
      draw_mapsp3(actor, x + 20, y + 32)
    end
  end
  def update_cursor_rect
    if @index <= -2
      self.cursor_rect.set(0, (@index + 10) * 65, self.width - 32, 60)
    elsif @index == -1
      self.cursor_rect.set(0, 0, self.width - 32, @item_max * 64 )
    else
      self.cursor_rect.set(0, @index * 65, self.width - 32, 60)
    end
  end
end
############
# Type_Sel #
############
class Type_Sel < Window_Base
  attr_reader   :index                    
  attr_reader   :help_window            
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @item_max = 1
    @column_max = 1
    @index = -1
  end
  def index=(index)
    @index = index
  end
  def row_max
    return (@item_max + @column_max - 1) / @column_max
  end
  def top_row
    return self.oy / 32
  end
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 32
  end
  def page_row_max
    return (self.height - 32) / 32
  end
  def page_item_max
    return page_row_max * @column_max
  end
  def update
    super
    if self.active and @item_max > 0 and @index >= 0
      if Input.repeat?(Input::RIGHT)
        if (@column_max == 1 and Input.trigger?(Input::RIGHT)) or
           @index < @item_max - @column_max
          $game_system.se_play($data_system.cursor_se)
          @index = (@index + @column_max) % @item_max
        end
      end
      if Input.repeat?(Input::LEFT)
        if (@column_max == 1 and Input.trigger?(Input::LEFT)) or
           @index >= @column_max
          $game_system.se_play($data_system.cursor_se)
          @index = (@index - @column_max + @item_max) % @item_max
        end
      end
    end 
  end
end
###############
# Window_Type #
###############
class Window_Type < Type_Sel
  def initialize
    super(0, 0, 0, 0)
    @item_max = 3
    self.index = 0
  end
end
##################
# Window_Item_Ex #
##################
class Window_Item_Ex < Window_Selectable 
  def initialize
    super(250, 50, 295, 350)
    @column_max = 1
    refresh
    self.index = 0
    if $game_temp.in_battle
      self.y = 64
      self.height = 256
      self.back_opacity = 160
    end
  end
  def item
    return @data[self.index]
  end
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 1...$data_items.size
      if $game_party.item_number(i) > 0
        @data.push($data_items[i])
      end
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.font.name = "Tahoma" 
    self.contents.font.size = 14
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128    
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 190, 32, item.name, 0)
    self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
  end
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end
#################
# Window_Weapon #
#################
class Window_Weapon < Window_Selectable 
  def initialize
    super(250, 50, 295, 350)
    @column_max = 1
    refresh
    self.index = 0
     if $game_temp.in_battle
      self.y = 64
      self.height = 256
      self.back_opacity = 160
    end
  end
  def item
    return @data[self.index]
  end
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0
          @data.push($data_weapons[i])
        end
      end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.font.name = "Tahoma" 
    self.contents.font.size = 14
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128    
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 190, 32, item.name, 0)
    self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
  end
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end
################
# Window_Armor #
################
class Window_Armor < Window_Selectable 
  def initialize
    super(250, 50, 295, 350)
    @column_max = 1
    refresh
    self.index = 0
    if $game_temp.in_battle
      self.y = 64
      self.height = 256
      self.back_opacity = 160
    end
  end
  def item
    return @data[self.index]
  end
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0
          @data.push($data_armors[i])
        end
      end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.font.name = "Tahoma"   
    self.contents.font.size = 14
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128    
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 190, 32, item.name, 0)
    self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
  end
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end
##############
# Scene_Item #
##############
class Scene_Item
  def main
    @back = Plane.new
    @back.bitmap = RPG::Cache.picture("MN_BK")
    @back.z = 100
    @item_lay = Sprite.new
    @item_lay.bitmap = RPG::Cache.picture("Item_lay")
    @item_lay.z = 100
    @item_com = Sprite.new
    @item_com.bitmap = RPG::Cache.picture("Item_com01")
    @item_com.z = 100
    @type = Window_Type.new
    @type.opacity = 0
    @type.visible = false    
    @help_window = Window_Help.new
    @help_window.y = 405
    @item_window = Window_Item_Ex.new
    @item_window.help_window = @help_window
    @item_window.visible = true
    @item_window.active = true
    @weapon_window = Window_Weapon.new
    @weapon_window.help_window = @help_window
    @weapon_window.visible = false 
    @weapon_window.active = true
    @armor_window = Window_Armor.new
    @armor_window.help_window = @help_window
    @armor_window.visible = false 
    @armor_window.active = true    
    @target_window = Window_Target_Item.new
    @target_window.x = -300
    @target_window.active = false
    @help_window.opacity = 0
    @help_window.x = -200
    @help_window.contents_opacity = 0    
    @item_window.opacity = 0
    @weapon_window.opacity = 0
    @armor_window.opacity = 0
    @target_window.opacity = 0    
    @weapon_window.x = 640
    @armor_window.x = 640
    @item_window.x = 640   
    @weapon_window.contents_opacity = 0
    @armor_window.contents_opacity = 0
    @item_window.contents_opacity = 0      
    Graphics.transition(MOG::MNIT, "Graphics/Transitions/" + MOG::MNITT)
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..30
    @weapon_window.x += 20
    @armor_window.x += 20
    @item_window.x += 20   
    @weapon_window.contents_opacity -= 15
    @armor_window.contents_opacity -= 15
    @item_window.contents_opacity -= 15     
    @item_lay.zoom_x += 0.2
    @item_lay.opacity -= 15
    @item_com.zoom_y += 0.2
    @item_com.opacity -= 15
    @target_window.x -= 15
    @help_window.contents_opacity -= 15
    @back.ox += 1
    Graphics.update  
    end  
    Graphics.freeze
    @help_window.dispose
    @item_window.dispose
    @weapon_window.dispose
    @armor_window.dispose
    @target_window.dispose
    @item_lay.dispose
    @back.dispose
    @item_com.dispose
    @type.dispose
  end
  def update
    if @target_window.active == true
       @target_window.visible = true
    if @target_window.x < 0
       @target_window.x += 20
    elsif @target_window.x >= 0
       @target_window.x = 0      
    end  
    else
    if @target_window.x > -300
       @target_window.x -= 20
    elsif @target_window.x >= -300
       @target_window.x = -300
       @target_window.visible = false
    end 
    end    
    if @help_window.x < 0
    @help_window.x += 10
    @help_window.contents_opacity += 15    
    elsif @help_window.x >= 0
    @help_window.x = 0
    @help_window.contents_opacity = 255    
    end
    if @item_window.x > 250
    @weapon_window.x -= 20
    @armor_window.x -= 20
    @item_window.x -= 20   
    @weapon_window.contents_opacity += 15
    @armor_window.contents_opacity += 15
    @item_window.contents_opacity += 15    
    elsif  @item_window.x <= 250
    @weapon_window.x = 250
    @armor_window.x = 250
    @item_window.x = 250   
    @weapon_window.contents_opacity = 250
    @armor_window.contents_opacity = 250
    @item_window.contents_opacity = 250      
    end 
    if @target_window.active == false
    if Input.trigger?(Input::RIGHT) or Input.trigger?(Input::LEFT) or
       Input.press?(Input::RIGHT) or  Input.press?(Input::LEFT)
    @weapon_window.x = 640
    @armor_window.x = 640
    @item_window.x = 640       
    @weapon_window.contents_opacity = 0
    @armor_window.contents_opacity = 0
    @item_window.contents_opacity = 0       
    end
    if Input.trigger?(Input.dir4) or Input.trigger?(Input.dir4) or
       Input.trigger?(Input::L) or Input.trigger?(Input::R)      
    @help_window.x = -200
    @help_window.contents_opacity = 0
    end  
    end
    @back.ox += 1
    @help_window.update
    @item_window.update
    @weapon_window.update
    @armor_window.update
    @target_window.update
    @type.update
    case @type.index
    when 0
    @item_com.bitmap = RPG::Cache.picture("Item_com01")
    if @target_window.active == true
      update_target
      @item_window.active = false  
      @type.active = false
      return
    else   
      @item_window.active = true
      @type.active = true
    end    
    @weapon_window.active = false
    @armor_window.active = false
    @item_window.visible = true
    @weapon_window.visible = false
    @armor_window.visible = false    
    when 1 
    @item_com.bitmap = RPG::Cache.picture("Item_com02")
    @item_window.active = false
    @weapon_window.active = true
    @armor_window.active = false
    @item_window.visible = false
    @weapon_window.visible = true
    @armor_window.visible = false    
    when 2
    @item_com.bitmap = RPG::Cache.picture("Item_com03")   
    @item_window.active = false
    @weapon_window.active = false
    @armor_window.active = true
    @item_window.visible = false
    @weapon_window.visible = false
    @armor_window.visible = true
    end
    if @item_window.active
      update_item
      return
    end
    if @weapon_window.active
      update_weapon
      return
    end
    if @armor_window.active
      update_armor
      return
    end
  end
  def update_weapon
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(0)
      return
    end
  end
  def update_armor
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(0)
      return
    end
  end
  def update_item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(0)
      return
    end
    if Input.trigger?(Input::C)
      @item = @item_window.item
      unless @item.is_a?(RPG::Item)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      unless $game_party.item_can_use?(@item.id)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      if @item.scope >= 3
        @item_window.active = false
        @target_window.x = (@item_window.index + 1) % 1 * 304
        @target_window.active = true
        @target_window.x = -350              
        if @item.scope == 4 || @item.scope == 6
          @target_window.index = -1
        else
          @target_window.index = 0
        end
      else
        if @item.common_event_id > 0
          $game_temp.common_event_id = @item.common_event_id
          $game_system.se_play(@item.menu_se)
          if @item.consumable
            $game_party.lose_item(@item.id, 1)
            @item_window.draw_item(@item_window.index)
          end
          $scene = Scene_Map.new
          return
        end
      end
      return
    end
  end
  def update_target
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      unless $game_party.item_can_use?(@item.id)
        @item_window.refresh
      end
      @item_window.active = true
      @target_window.active = false
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.item_number(@item.id) == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if @target_window.index == -1
        used = false
        for i in $game_party.actors
          used |= i.item_effect(@item)
        end
      end
      if @target_window.index >= 0
        target = $game_party.actors[@target_window.index]
        used = target.item_effect(@item)
      end
      if used
        $game_system.se_play(@item.menu_se)
        if @item.consumable
          $game_party.lose_item(@item.id, 1)
          @item_window.draw_item(@item_window.index)
        end
        @target_window.refresh
        if $game_party.all_dead?
          $scene = Scene_Gameover.new
          return
        end
        if @item.common_event_id > 0
          $game_temp.common_event_id = @item.common_event_id
          $scene = Scene_Map.new
          return
        end
      end
      unless used
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end
end


Attached Files
.png   fehler6.png (Size: 101.52 KB / Downloads: 5)
Reply }


Messages In This Thread
Just move the Cursor of the Item_Scene to the right - by Djigit - 07-16-2015, 08:07 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
   Permanently modifying move speed Keeroh 5 8,542 05-24-2017, 05:47 AM
Last Post: DerVVulfman
   little Edit of the cursor world map system Djigit 3 5,836 08-24-2014, 02:31 AM
Last Post: Djigit
   Atoa ACBS Target move wrong after move to center Djigit 4 5,776 08-04-2014, 05:16 AM
Last Post: Djigit
   Possible to move battle actors when escaping? NewHope 8 12,341 07-27-2012, 06:14 AM
Last Post: NewHope
   Cursor, Selection, and Scrolling tnsi 7 9,646 01-10-2012, 04:16 AM
Last Post: DerVVulfman



Users browsing this thread: