Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Viviatus

1
Script Requests / Re: [XP]FF2 Skill Level Sistem
June 11, 2010, 04:11:45 am
There was a script like this somewhere... Once I'll find it, I'mma post it here...
2
Script Troubleshooting / Re: [XP] Small Script edit
June 06, 2010, 12:30:15 pm
whoo... thank you! easier than I thought!
3
Hey, people, I'm having a small issue with a scipt.

I'm having this "Licenseboard Script" which is pretty easy to use, I, however, didn't manage to edit it, so you pay your licenses with EXP (since I won't be using the normal Levelsystam at all.) instead of LP (which you have to by default). Would be cool if someone could do this for me, or even tells me what I have to edit.

Script I: ShowHide

#===============================================================================
# módulo FFXII::LICENCES
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

module FFXII
 
 module LICENCES
   
   #---------------------
   # INSTRUÇÕES
   #---------------------
   # To create the licence board, call:
   # $scene = Scene_Create_Licences.new(Hero ID)
   # To create de default board, call:
   # $scene = Scene_Create_Licences.new(0)
   # All the heros who don't have a board, the default one will be used.
   #---------------------
   
   # Licence table max width
   MAX_LICENCES_WIDTH = 20
   # Licence table max height
   MAX_LICENCES_HEIGHT = 15
   # Licence Points String
   LICENCE_POINTS_S = "LP"
   # Licence Points Cost String
   LICENCE_POINTS_COST_S = "LP Cost"
   # Table pictures
   PICTURE_SQUARE = ["Black", "White"]
   
   # Pictures' name
   # Folder: Graphics/Licences
   LICENCE_PICTURES = {}
   LICENCE_PICTURES["hp"]    = "HP"
   LICENCE_PICTURES["sp"]    = "SP"
   LICENCE_PICTURES["str"]   = "STR"
   LICENCE_PICTURES["dex"]   = "DEX"
   LICENCE_PICTURES["agi"]   = "AGI"
   LICENCE_PICTURES["int"]   = "INT"
   LICENCE_PICTURES["skill"] = "SKILL"
   LICENCE_PICTURES["skill_licence"] = "SKILL"
   
   # Back
   LICENCE_BACK = "Back"
   # Back OX/OY speed
   LICENCE_BACK_OX_SPEED = -1
   LICENCE_BACK_OY_SPEED = -1
   
   # Amount of LP won by defeating an enemy (default)
   ENEMIES_LP_DEFAULT = [10, 50, 80]
   # Invariável
   ENEMIES_LP = []
   # Amount of LP won by defeating an enemy
   # ENEMIES_LP[Enemy id] = X
   
   @@data = nil
   
   def self.data
     if @@data.nil?
       @@data = load_data("Data/Licences.rxdata")
     end
     return @@data
   end
   
 end  
 
end


Script II: ShowHide

#===============================================================================
# FFXII - Licence_Spot
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Licence_Spot
 
 attr_accessor :x
 attr_accessor :y
 attr_accessor :type
 attr_accessor :id
 attr_accessor :cost
 attr_accessor :get
 attr_accessor :near
 
 def initialize(x, y, type, id, cost=1)
   @x = x
   @y = y
   @type = type
   @id = id
   @cost = cost
   @get = false
   @near = false
 end
 
 def setup(spot)
   return unless spot.is_a?(Licence_Spot)
   @x = spot.x
   @y = spot.y
   @type = spot.type
   @id = spot.id
   @cost = spot.cost
   @get = spot.get
   @near = spot.near
 end
 
end

#===============================================================================
# FFXII - Licence_Table
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Licence_Table
 
 def initialize
   @data = []
 end
 
 def [](x, y)
   if @data[x].nil?
     @data[x] = []
   end
   return @data[x][y]
 end
 
 def []=(x, y, valor)
   if @data[x].nil?
     @data[x] = []
   end
   @data[x][y] = valor
 end
 
 def each
   for x in 0...@data.size
     next if @data[x].nil?
     for y in 0...@data[x].size
       next if @data[x][y].nil?
       yield @data[x][y]
     end
   end
 end
 
 def refresh_table
   data = [-1, 0, 1]
   self.each {|i|
     next if i.nil?
     i.near = false
   }
   for x in 0...@data.size
     next if @data[x].nil?
     for y in 0...@data[x].size
       if @data[x][y].get
         for i1 in 0..2
           for i2 in 0..2
             next if [[0, 0], [0, 2], [2, 0], [2, 2]].include?([i1, i2])
             real_i1 = [[x+i1-1, 0].max, @data.size-1].min
             real_i2 = [[y+i2-1, 0].max, @data[x].size-1].min
             self[real_i1, real_i2].near = true
           end
         end
       end
     end
   end
 end
 
end  

#===============================================================================
# FFXII - Sprite_Licences_Spot
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Sprite_Licences_Spot < Sprite
 
 include FFXII::LICENCES
 
 def initialize(viewport, house)
   super(viewport)
   @house = house
   @house_picture = RPG::Cache.licence(PICTURE_SQUARE[((@house.x + 1) + (@house.y + 1)) % PICTURE_SQUARE.size])
   @house_sprite = Sprite.new(@viewport)
   self.bitmap = Bitmap.new(@house_picture.width, @house_picture.height)
   refresh
 end
 
 def x=(valor)
   super
   @house_sprite.x = self.x
 end
 
 def y=(valor)
   super
   @house_sprite.y = self.y
 end
 
 def dispose
   if self.bitmap != nil
     self.bitmap.dispose
     self.bitmap = nil
   end
   @house_sprite.dispose
   super()
 end
 
 def refresh
   return if @house.type == ""
   @house_bonus = RPG::Cache.licence((LICENCE_PICTURES[@house.type].nil? ? "" : LICENCE_PICTURES[@house.type]))
   self.bitmap.clear
   self.bitmap.blt(0, 0, @house_picture, Rect.new(0, 0, @house_picture.width, @house_picture.height))
   if @house.near == false and @house.get == false
     @house_sprite.bitmap = nil
     return
   end
   x = (self.bitmap.width / 2) - (@house_bonus.width / 2)
   y = (self.bitmap.height / 2) - (@house_bonus.height / 2)
   @house_sprite.bitmap = @house_bonus
   @house_sprite.ox = -x
   @house_sprite.oy = -y
   @house_sprite.color.set(0, 0, 0, 0)
   if (@house.get == false)
     @house_sprite.color.set(128, 128, 128, 128)
     return
   end
 end
 
end

#===============================================================================
# FFXII - Spriteset_Licence_Spots
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Spriteset_Licence_Spots
 
 include FFXII::LICENCES

 attr_reader :ox
 attr_reader :oy
 
 def initialize(actor_data)
   @ox = 0
   @oy = 0
   @actor_data = actor_data
   @viewport = Viewport.new(0, 0, 640, 480)
   @back = Plane.new(@viewport)
   @back.bitmap = RPG::Cache.licence(LICENCE_BACK)
   @licence_spots = Licence_Table.new
   for x in 0...MAX_LICENCES_WIDTH
     for y in 0...MAX_LICENCES_HEIGHT
       sprite = Sprite_Licences_Spot.new(@viewport, @actor_data[x, y])
       sprite.x = x * 32
       sprite.y = y * 32
       @licence_spots[x, y] = sprite
     end
   end  
 end
 
 def refresh(x, y)
   @licence_spots[x, y].refresh
 end
 
 def refresh_all
   for x in 0...MAX_LICENCES_WIDTH
     for y in 0...MAX_LICENCES_HEIGHT
       @licence_spots[x, y].refresh
     end
   end
 end
 
 def update
   @back.ox += LICENCE_BACK_OX_SPEED
   @back.oy += LICENCE_BACK_OY_SPEED
 end
 
 def ox=(valor)
   return if @ox == valor
   @back.ox -= (@ox - valor)
   @ox = valor
   for x in 0...MAX_LICENCES_WIDTH
     for y in 0...MAX_LICENCES_HEIGHT
       @licence_spots[x, y].ox = @ox
     end
   end
 end
 
 def oy=(valor)
   return if @oy == valor
   @back.oy -= (@oy - valor)
   @oy = valor
   for x in 0...MAX_LICENCES_WIDTH
     for y in 0...MAX_LICENCES_HEIGHT
       @licence_spots[x, y].oy = @oy
     end
   end
 end
 
 def dispose
   for x in @licence_spots
     next if x.nil?
     x.dispose
   end
   @licence_spots = []
   @back.dispose
   @viewport.dispose
 end
 
end

#===============================================================================
# FFXII - Sprite_Licence_Cursor
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Sprite_Licence_Cursor < Sprite
 
 #--------------------------------------------------------------------------
 # - Inicialização dos Objetos
 #--------------------------------------------------------------------------
 
 def initialize(counter_max=0, viewport=nil)
   if viewport.nil?
     super()
   else
     super(viewport)
   end
   @up_down = true
   self.bitmap = RPG::Cache.licence("glove")
   @cursor_growing = false
   @cursor_counter_max = counter_max
   @cursor_counter = 0
   @updating = false
 end
 
 #--------------------------------------------------------------------------
 # - Muda o Up_Down
 #--------------------------------------------------------------------------
 
 def up_down=(valor)
   @up_down = valor
   self.ox = 0
   self.oy = 0
 end
 
 #--------------------------------------------------------------------------
 # - Muda o OX
 #--------------------------------------------------------------------------
 
 def ox=(valor)
   super
   if (@updating == false)
     @cursor_counter = 0
     @cursor_growing = false
   end
 end
 
 #--------------------------------------------------------------------------
 # - Muda o OY
 #--------------------------------------------------------------------------
 
 def oy=(valor)
   unless @up_down
     valor -= self.bitmap.height - 7
   end
   super
   if (@updating == false)
     @cursor_counter = 0
     @cursor_growing = false
   end
 end
 
 #--------------------------------------------------------------------------
 # - Atualização
 #--------------------------------------------------------------------------
 
 def update
   super()
   @updating = true
   if @cursor_counter_max > 0
     if @cursor_growing
       if @up_down
         self.oy = self.oy - 1
       else
         self.ox = self.ox - 1
       end
       @cursor_counter = @cursor_counter + 1
       if @cursor_counter >= @cursor_counter_max
         @cursor_growing = false
         @cursor_counter = 0
       end
     else
       if @up_down
         self.oy = self.oy + 1
       else
         self.ox = self.ox + 1
       end
       @cursor_counter = @cursor_counter + 1
       if @cursor_counter >= @cursor_counter_max
         @cursor_growing = true
         @cursor_counter = 0
       end
     end
   end
   @updating = false
 end
 
end  

#===============================================================================
# FFXII - Window_Licence_Select
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Window_Licence_Select < Window_Command
 
 def initialize
   @data = ["hp", "sp", "str", "dex", "agi", "int", "skill", "skill_licence", ""]
   commands = []
   for x in @data
     case x
     when ""
       commands.push("Nada")
     when "skill_licence"
       commands.push("Skill Licence")
     else
       eval("commands.push($data_system.words.#{x})")
     end
   end
   commands.push("Sair")
   super(240, commands)
   self.back_opacity = 160
   self.y = 64
   self.height = 480-64
 end
 
 def data
   return @data[self.index]
 end
 
 def last_index?
   return (self.index == (@item_max - 1))
 end
 
 def update_help
   text = @commands[self.index]
   @help_window.set_text(text)
 end
 
end

#===============================================================================
# FFXII - Window_Licence_Select
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Window_Licence_Spot_Status < Window_Base
 
 attr_reader :spot
 
 def initialize(spot, actor=nil)
   super(0, 480-96, 640, 96)
   @spot = spot
   @actor = actor
   self.contents = Bitmap.new(width - 32, height - 32)
   self.back_opacity = 160
   refresh
 end
 
 def spot=(valor)
   return if @spot == valor
   @spot = valor
   refresh
 end
 
 def refresh
   self.contents.clear
   if @actor != nil
     text = "#{FFXII::LICENCES::LICENCE_POINTS_S} "
     text2 = sprintf("%04d", @actor.lp)
     self.contents.font.color = system_color
     self.contents.draw_text((width - 40) - self.contents.text_size(text2).width - self.contents.text_size(text).width, 32, self.contents.text_size(text).width, 32, text)
     self.contents.font.color = normal_color
     self.contents.draw_text((width - 40) - self.contents.text_size(text2).width, 32, self.contents.text_size(text2).width, 32, text2)
   end
   return if @spot.type == ""
   x = 4
   if @spot.type == "skill" or @spot.type == "skill_licence"
     refresh_skill
   else
     text = eval("$data_system.words.#{@spot.type}")
     self.contents.font.color = system_color
     self.contents.draw_text(x, 0, width - 40, 32, text)
     x += self.contents.text_size(text).width
     text = " +" + ((@spot.near == false and !@spot.get and !$scene.instance_of?(Scene_Create_Licences)) ? "???" : "#{@spot.id}")
     self.contents.font.color = normal_color
     self.contents.draw_text(x, 0, width - 40, 32, text)
   end
   self.contents.font.color = system_color
   text = "#{FFXII::LICENCES::LICENCE_POINTS_COST_S} "
   text2 = ((@spot.near == false and !@spot.get and !$scene.instance_of?(Scene_Create_Licences)) ? "????" : sprintf("%04d", @spot.cost))
   self.contents.draw_text((width - 40) - self.contents.text_size(text2).width - self.contents.text_size(text).width, 0, self.contents.text_size(text).width, 32, text)
   self.contents.font.color = normal_color
   self.contents.draw_text((width - 40) - self.contents.text_size(text2).width, 0, self.contents.text_size(text2).width, 32, text2)
   self.contents.draw_text(4, 32, width - 40, 32, "Owned") if @spot.get
 end
 
 def refresh_skill
   x = 4
   self.contents.font.color = system_color
   self.contents.draw_text(x, 0, 200, 32, $data_system.words.skill + " - ")
   x += [self.contents.text_size($data_system.words.skill + " - ").width, 200].min
   self.contents.font.color = normal_color
   if (@spot.near == false and !@spot.get and !$scene.instance_of?(Scene_Create_Licences))
     self.contents.draw_text(x, 0, 200, 32, "???")
     return
   end
   opacity = 255
   if @spot.type == "skill_licence"
     opacity = 160 unless $game_party.skill_learn?(@spot.id)
   end
   if $data_skills[@spot.id].icon_name != ""
     self.contents.blt(x, 0, RPG::Cache.icon($data_skills[@spot.id].icon_name), Rect.new(0, 0, 24, 24), opacity)
     x += 28
   end
   self.contents.font.color = disabled_color if opacity == 160
   self.contents.draw_text(x, 0, 200, 32, $data_skills[@spot.id].name)
 end
 
end

#===============================================================================
# FFXII - Window_Licence_Skills
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Window_Licence_Skills < Window_Command
 
 attr_reader :spot
 
 def initialize()
   commands = []
   for i in 1...$data_skills.size
     commands.push($data_skills[i].name)
   end
   super(640, commands)
   self.back_opacity = 160
   self.y = 64
   self.height = 480 - 64
 end
 
 def skill
   return ($data_skills[self.index+1])
 end
 
end

#===============================================================================
# FFXII - Scene_Create_Licences
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Scene_Create_Licences
 
 include FFXII::LICENCES
 
 def initialize(actor_id)
   @actor_id = actor_id
 end
 
 def main
   # Carregar o Banco de Dados
   $data_actors        = load_data("Data/Actors.rxdata")
   $data_classes       = load_data("Data/Classes.rxdata")
   $data_skills        = load_data("Data/Skills.rxdata")
   $data_items         = load_data("Data/Items.rxdata")
   $data_weapons       = load_data("Data/Weapons.rxdata")
   $data_armors        = load_data("Data/Armors.rxdata")
   $data_enemies       = load_data("Data/Enemies.rxdata")
   $data_troops        = load_data("Data/Troops.rxdata")
   $data_states        = load_data("Data/States.rxdata")
   $data_animations    = load_data("Data/Animations.rxdata")
   $data_tilesets      = load_data("Data/Tilesets.rxdata")
   $data_common_events = load_data("Data/CommonEvents.rxdata")
   $data_system        = load_data("Data/System.rxdata")
   # Criar um Sistema
   $game_system = Game_System.new
   begin
     @data = load_data("Data/Licences.rxdata")
   rescue
     @data = []
   end
   @actor_data = @data[@actor_id]
   if @actor_data.nil?
     @actor_data = Licence_Table.new
   end
   for x in 0...MAX_LICENCES_WIDTH
     for y in 0...MAX_LICENCES_HEIGHT
       if @actor_data[x, y].nil?
         @actor_data[x, y] = Licence_Spot.new(x, y, "", 0)
       end
     end
   end
   @spriteset = Spriteset_Licence_Spots.new(@actor_data)
   @help_window = Window_Help.new
   @help_window.back_opacity = 160
   @window_select = Window_Licence_Select.new
   @window_select.help_window = @help_window
   @window_select.active = false
   @window_select.visible = false
   @window_select.index = 0
   @input_number = Window_InputNumber.new(4)
   @input_number.back_opacity = 160
   @input_number.opacity = 255
   @input_number.active = false
   @input_number.visible = false
   @help_window.visible = false
   @x = 0
   @y = 0
   @spot_info = Window_Licence_Spot_Status.new(@actor_data[@x, @y])
   @cursor = Sprite_Licence_Cursor.new(10)
   @cursor.x = (@x * 32)
   @cursor.y = (@y * 32) - 16
   Graphics.transition()
   loop {
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   }
   if decision_exit
     @actor_data = nil
   end
   Graphics.freeze
   Graphics.freeze
   @spriteset.dispose
   @window_select.dispose
   @help_window.dispose
   @input_number.dispose
   @spot_info.dispose
   @cursor.dispose
   @data[@actor_id] = @actor_data
   file = File.open("Data/Licences.rxdata", "wb")
   Marshal.dump(@data, file)
   file.close
 end
 
 def update
   if @window_select.active
     update_window_select
     return
   end
   @cursor.update
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = nil
     return
   end
   if Input.trigger?(Input::C)
     $game_system.se_play($data_system.decision_se)
     @window_select.active = true
     @window_select.visible = true
     @help_window.visible = true
     @spot_info.visible = false
     return
   end
   if Input.repeat?(Input::DOWN)
     if Input.trigger?(Input::DOWN) or @y < (MAX_LICENCES_HEIGHT - 1)
       $game_system.se_play($data_system.cursor_se)
       self.y = (@y + 1) % MAX_LICENCES_HEIGHT
       return
     end
   end
   if Input.repeat?(Input::UP)
     if Input.trigger?(Input::UP) or @y > 0
       $game_system.se_play($data_system.cursor_se)
       self.y = (@y - 1) % MAX_LICENCES_HEIGHT
       return
     end
   end
   if Input.trigger?(Input::LEFT)
     $game_system.se_play($data_system.cursor_se)
     self.x = (@x - 1) % MAX_LICENCES_WIDTH
     return
   end
   if Input.trigger?(Input::RIGHT)
     $game_system.se_play($data_system.cursor_se)
     self.x = (@x + 1) % MAX_LICENCES_WIDTH
     return
   end
 end
 
 def update_window_select
   @window_select.update
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     @window_select.active = false
     @window_select.visible = false
     @help_window.visible = false
     @spot_info.visible = true
     return
   end
   if Input.trigger?(Input::C)
     $game_system.se_play($data_system.decision_se)
     if @window_select.last_index?
       @window_select.active = false
       @window_select.visible = false
       @help_window.visible = false
       @spot_info.visible = true
       return
     end
     @actor_data[@x, @y].type = @window_select.data
     @spriteset.refresh(@x, @y)
     @window_select.active = false
     @window_select.visible = false
     if @actor_data[@x, @y].type == ""
       @help_window.y = 0
       @help_window.visible = false
       @spot_info.visible = true
       @spot_info.refresh
       return
     end
     phase = 0
     loop do
       if phase == 0
         if @window_select.data == "skill" or @window_select.data == "skill_licence"
           unless window_skill
             @window_select.active = true
             @window_select.visible = true
             return
           end          
         else
           unless input_number
             @window_select.active = true
             @window_select.visible = true
             return
           end
           @actor_data[@x, @y].id = @input_number.number
         end
       end
       unless input_lp_number
         phase = 0
         next
       end
       phase = 1
       if decision
         break
       end
     end
     @spriteset.refresh(@x, @y)
     @help_window.y = 0
     @help_window.visible = false
     @spot_info.visible = true
     @spot_info.refresh
     return
   end
 end
 
 def window_skill
   window = Window_Licence_Skills.new
   @help_window.y = 0
   @help_window.set_text("Choose the skill.")
   loop do
     Graphics.update
     Input.update
     window.update
     if Input.trigger?(Input::B)
       $game_system.se_play($data_system.cancel_se)
       window.dispose
       return false
     end
     if Input.trigger?(Input::C)
       $game_system.se_play($data_system.decision_se)
       break
     end
   end  
   @actor_data[@x, @y].id = window.skill.id
   window.dispose
   @help_window.y = 0
   return true
 end
 
 def input_number
   @input_number.number = 0
   @input_number.x = 320 - (@input_number.width / 2)
   @input_number.y = 240 - (@input_number.height / 2)
   @help_window.y = @input_number.y - 64
   @help_window.set_text("Set the value.", 1)
   @input_number.active = true
   @input_number.visible = true
   loop do
     Graphics.update
     Input.update
     @input_number.update
     if Input.trigger?(Input::B)
       $game_system.se_play($data_system.cancel_se)
       @input_number.active = false
       @input_number.visible = false
       @help_window.y = 0
       return false
     end
     if Input.trigger?(Input::C)
       $game_system.se_play($data_system.decision_se)
       break
     end
   end  
   @input_number.active = false
   @input_number.visible = false
   @help_window.y = 0
   return true
 end
 
 def input_lp_number
   @input_number.number = 0
   @input_number.x = 320 - (@input_number.width / 2)
   @input_number.y = 240 - (@input_number.height / 2)
   @help_window.y = @input_number.y - 64
   @help_window.set_text("Set the LP Cost value.", 1)
   @input_number.active = true
   @input_number.visible = true
   loop do
     Graphics.update
     Input.update
     @input_number.update
     if Input.trigger?(Input::B)
       $game_system.se_play($data_system.cancel_se)
       @input_number.active = false
       @input_number.visible = false
       @help_window.y = 0
       return false
     end
     if Input.trigger?(Input::C)
       $game_system.se_play($data_system.decision_se)
       break
     end
   end  
   @actor_data[@x, @y].cost = @input_number.number
   @input_number.active = false
   @input_number.visible = false
   @help_window.y = 0
   return true
 end
 
 def decision
   command = Window_Command.new(100, ["Yes", "No"])
   command.x = 320 - (command.width / 2)
   command.y = 240 - (command.height / 2)
   command.back_opacity = 160
   @help_window.y = command.y - 64
   @help_window.set_text("Will the hero starts width this place owned?", 1)
   loop do
     Graphics.update
     Input.update
     command.update
     if Input.trigger?(Input::B)
       $game_system.se_play($data_system.cancel_se)
       command.dispose
       @help_window.y = 0
       return false
     end
     if Input.trigger?(Input::C)
       $game_system.se_play($data_system.decision_se)
       break
     end
   end  
   @actor_data[@x, @y].get = (command.index == 0)
   command.dispose
   @help_window.y = 0
   return true
 end
 
 def decision_exit
   command = Window_Command.new(100, ["No", "Yes"])
   command.x = 320 - (command.width / 2)
   command.y = 240 - (command.height / 2)
   command.back_opacity = 160
   @help_window.y = command.y - 64
   @help_window.set_text("Would you like to DELETE this table?", 1)
   valor = false
   loop do
     Graphics.update
     Input.update
     command.update
     if Input.trigger?(Input::B)
       $game_system.se_play($data_system.cancel_se)
       command.dispose
       @help_window.y = 0
       valor = false
       break
     end
     if Input.trigger?(Input::C)
       $game_system.se_play($data_system.decision_se)
       valor = (command.index == 1)
       break
     end
   end  
   command.dispose
   @help_window.visible = false
   return valor
 end
 
 def x=(valor)
   return if @x == valor
   @x = valor
   if ((@x + 1) * 32) > @spriteset.ox + 640
     @spriteset.ox = ((@x + 1) * 32) - 640
   elsif (@x * 32) < @spriteset.ox
     @spriteset.ox = (@x * 32)
   end
   @cursor.x = (@x * 32) - @spriteset.ox
   @spot_info.spot = @actor_data[@x, @y]
 end
 
 def y=(valor)
   return if @y == valor
   @y = valor
   if ((@y + 1) * 32) > @spriteset.oy + 480
     @spriteset.oy = ((@y + 1) * 32) - 480
   elsif (@y * 32) < @spriteset.oy
     @spriteset.oy = (@y * 32)
   end
   @cursor.y = (@y * 32) - 16 - @spriteset.oy
   @spot_info.spot = @actor_data[@x, @y]
 end
 
end

#===============================================================================
# FFXII - Scene_Create_Licences
#-------------------------------------------------------------------------------
# Criador: RTH
#===============================================================================

class Scene_Licences
 
 include FFXII::LICENCES
 
 def initialize(party_id, main_menu_index=0)
   @actor_id = $game_party.actors[party_id].id
   @main_menu_index = main_menu_index
 end
 
 def main
   @actor = $game_actors[@actor_id]
   @spriteset = Spriteset_Licence_Spots.new(@actor.licence_table)
   @help_window = Window_Help.new
   @help_window.back_opacity = 160
   @help_window.visible = false
   @x = 0
   @y = 0
   @spot_info = Window_Licence_Spot_Status.new(@actor.licence_table[@x, @y], @actor)
   @cursor = Sprite_Licence_Cursor.new(10)
   @cursor.x = (@x * 32)
   @cursor.y = (@y * 32) - 16
   Graphics.transition()
   loop {
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   }
   Graphics.freeze
   @spriteset.dispose
   @help_window.dispose
   @spot_info.dispose
   @cursor.dispose
 end
 
 def update
   @spriteset.update
   update_cursor
   if ((@y + 1) * 32) > @spriteset.oy + (480 - @spot_info.height + 32)
     @spot_info.y = 0
   elsif (@y * 32) < @spriteset.oy + (@spot_info.height + 32)
     @spot_info.y = 480 - @spot_info.height
   end
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new(@main_menu_index)
     return
   end
   if Input.trigger?(Input::C)
     if @actor.licence_table[@x, @y].type == ""
       return
     end
     if ((@actor.lp < @actor.licence_table[@x, @y].cost) or (@actor.licence_table[@x, @y].get) or (!@actor.licence_table[@x, @y].near))
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     $game_system.se_play($data_system.decision_se)
     if decision
       @actor.lp -= @actor.licence_table[@x, @y].cost
       @actor.licence_table[@x, @y].get = true
       @actor.licence_table.refresh_table
       case @actor.licence_table[@x, @y].type
       when "hp"
         @actor.maxhp += @actor.licence_table[@x, @y].id
       when "sp"
         @actor.maxsp += @actor.licence_table[@x, @y].id
       when "str"
         @actor.str += @actor.licence_table[@x, @y].id
       when "dex"
         @actor.dex += @actor.licence_table[@x, @y].id
       when "agi"
         @actor.agi += @actor.licence_table[@x, @y].id
       when "int"
         @actor.int += @actor.licence_table[@x, @y].id
       when "skill"
         @actor.learn_skill(@actor.licence_table[@x, @y].id)
       when "skill_licence"
         @actor.learn_skill_licence(@actor.licence_table[@x, @y].id)
       end
       for i1 in 0..2
         for i2 in 0..2
           next if [[0, 0], [0, 2], [2, 0], [2, 2]].include?([i1, i2])
           real_i1 = [[@x+i1-1, 0].max, MAX_LICENCES_WIDTH-1].min
           real_i2 = [[@y+i2-1, 0].max, MAX_LICENCES_HEIGHT-1].min
           @spriteset.refresh(real_i1, real_i2)
         end
       end
       @spot_info.refresh
     end
     return
   end
 end
 
 def update_cursor
   @cursor.update
   if Input.repeat?(Input::DOWN)
     if Input.trigger?(Input::DOWN) or @y < (MAX_LICENCES_HEIGHT - 1)
       $game_system.se_play($data_system.cursor_se)
       self.y = (@y + 1) % MAX_LICENCES_HEIGHT
       return
     end
   end
   if Input.repeat?(Input::UP)
     if Input.trigger?(Input::UP) or @y > 0
       $game_system.se_play($data_system.cursor_se)
       self.y = (@y - 1) % MAX_LICENCES_HEIGHT
       return
     end
   end
   if Input.trigger?(Input::LEFT)
     $game_system.se_play($data_system.cursor_se)
     self.x = (@x - 1) % MAX_LICENCES_WIDTH
     return
   end
   if Input.trigger?(Input::RIGHT)
     $game_system.se_play($data_system.cursor_se)
     self.x = (@x + 1) % MAX_LICENCES_WIDTH
     return
   end
 end
 
 def decision
   command = Window_Command.new(100, ["Yes", "No"])
   command.x = 320 - (command.width / 2)
   command.y = 240 - (command.height / 2)
   command.back_opacity = 160
   @help_window.y = command.y - 64
   @help_window.set_text("Deseja ativar esta casa?", 1)
   for i in 0..20
     @help_window.back_opacity = (160 / 20.0) * i
     command.back_opacity = (160 / 20.0) * i
     Graphics.update
   end
   value = false
   loop do
     Graphics.update
     Input.update
     command.update
     if Input.trigger?(Input::B)
       $game_system.se_play($data_system.cancel_se)
       value = false
       break
     end
     if Input.trigger?(Input::C)
       $game_system.se_play($data_system.decision_se)
       value = (command.index == 0)
       break
     end
   end  
   for i in 0..20
     @help_window.back_opacity = 160 - (160 / 20.0) * i
     command.back_opacity = 160 - (160 / 20.0) * i
     Graphics.update
   end
   command.dispose
   @help_window.visible = false
   return value
 end
 
 def x=(valor)
   return if @x == valor
   @x = valor
   if ((@x + 1) * 32) > @spriteset.ox + 640
     @spriteset.ox = ((@x + 1) * 32) - 640
   elsif (@x * 32) < @spriteset.ox
     @spriteset.ox = (@x * 32)
   end
   @cursor.x = (@x * 32) - @spriteset.ox
   @spot_info.spot = @actor.licence_table[@x, @y]
 end
 
 def y=(valor)
   return if @y == valor
   @y = valor
   if ((@y + 1) * 32) > @spriteset.oy + 480
     @spriteset.oy = ((@y + 1) * 32) - 480
   elsif (@y * 32) < @spriteset.oy
     @spriteset.oy = (@y * 32)
   end
   @cursor.y = (@y * 32) - 16 - @spriteset.oy
   @spot_info.spot = @actor.licence_table[@x, @y]
 end
 
end


Thanks in advance for any help I get.
4
Script Requests / Re: Party Overdrive (XP)
June 06, 2010, 04:39:31 am
bump?!

I would do this myself if I only could...
5
Script Requests / VX to XP translation?
June 04, 2010, 07:40:29 am
I have this script here...
http://www.mediafire.com/?yymmjr5qkyo
Which is a Licenseboardsystem for VX (which is a pretty powerful system, too)
But I need it for XP since I don't use VX.

Would be cool if anyone could do it, or tell me where I can get it translated...

thanks in advance
6
RMXP Script Database / Re: [XP] Tons of Add-ons
May 03, 2010, 04:46:44 am
What do I need to change in the EQUAP in order to make it work with G777 Multislots? Does anyone know?
7
Script Requests / Re: Party Overdrive (XP)
May 03, 2010, 04:30:05 am
Bump?
No one willing to help? Or did I provide too little information on what I want?
8
Script Requests / Re: Party Overdrive (XP)
April 30, 2010, 09:03:35 pm
I thought about that, too. But I'd still have one bar for each actor. I want one for the whole party.
9
Script Requests / Party Overdrive (XP)
April 30, 2010, 03:32:25 am
Hey guys! This request shouldn't be too hard at all, I think. We all know the basic overdrive scripts, or those quite similar to them (like Blizzys SR system). What I want is an overdrive bar for the whole party, quite much like the one in "Riviera to the promised Land (GBA, PSP)" (you can look up pictures on the net). So when any actor in the party gains damage the bar fills up. As soon as the bar reaches a value of 1000 (bar max should 3000) Lvl1 overdriveskill can be used by one actor.

There are 3 lvls of ODskills.

lvl 1 skills need at least an overdrive value of 1000 or more
lvl 2 skills need at least an overdrive value of 2000 or more
lvl 3 skills need the max overdrive value of 3000.

Depending on the lvl the skills also decrease the bar by the set value (1000, 2000 or 3000), meaning if the bar is at max three actors could each use an overdriveskill of lvl 1 and so on...

I hope this is an understandable explanation...
Thanks in advance for any help!
10
Gah I know! I'll download it now and start playing instantly, but I need to get this request here resolved somehow... I haven't been online in a year, and look what happened! All the good scripters are gone... All Hail to the old times!
11
Quote from: Blizzard on April 19, 2010, 07:02:38 am
http://forum.chaos-project.com/index.php/topic,1669.0
It was not a request, though.

What happened with the other script anyway?


Thanks for reminding me... Unfortunately my old notebook died on me about a year ago and all data was lost. While that script I had back then was quite good it had it's problems like I said in the other thread. Plus it didn't have the feature to "unlock" armors, if you know what I mean.

btw: I still haven't played CP... I'm getting a bad conscience right now...
12
Hey, you famous scripters out there!
As the title of this thread says, I'm looking for a License Board system similar to the one in Final Fantasy XII. For those who did not play the game here is what I want:
This License Board looks quite much like a chess board. Every actor should have his/her own board, each with a different setup. The actor can only "travel" to already "activated" or "revealed" fields. A "revealed" field reveals what ability or enhancement the actor gets once that field is activated, all other fields are hidden at first. Activating a field should of course not be for free, you need to either pay AP which you gain from battle or EXP which you gain from battle, too. I haven't decided on that one yet, but most likely it's gonna be EXP so levelups are harder to get when you want to develop your actors.
Once you activated a field the fields directly surrounding the one you just activated, get revealed and therefor become available. But remember, you can only activate a field if you've got enough EXP or AP to do so.

This is the main idea of that license board. Now I'll tell you what abilities and enhancements I need:

1st: a general state enhancement (like a field that raises the MaxHP by 10, or raises SP, STR, DEX, INT or AGI)

2nd: the abilitie to equip certain armor (like a field that allows the actor to equip certain accessory)

That is what I need, since I have only veeery limited scripting knowledge I can't do it myself. I've seen some systems like that, but I can't find any of these anymore. So I'm asking for professional help here.

Thanks in advance for any help!

P.S.: I'm not a native speaker, so excuse any bad usage of grammar and vocabulary.
13
mhm... come to think about it, I think I'll keep Vivee as a name... it sounds more cute.
14
I'm in for the fun!

name change to "Vivee"

I think that'll suit me!
15
Well, yeah, might be cute... I'll see to that... maybe.

Ah, don't worry, game_guy. Zylos won't be able to steal him from me. Because he isn't interested in other guys, simply because they're not me. He's a great catch, but so am I he says...
16
xD
17
Quote from: game_guy on April 05, 2009, 04:29:14 am
thats cuz he want to see you :V:

There're plenty of pics of myself in the other thread.
18
Quote from: Zylos on April 04, 2009, 12:35:28 pm
Any chance of getting a pic of the two of you together as proof? :3


maybe... If I get the chance to shoot a good one, yeah... might take a while though, since he's not living close-by. I only have pics where we both are unshaved and such. And I won't post a picture where I do look ugly.

Why do I even need to prove it, that he's mine?
19
It still doesn't have the flowing/flashing bars! :O
20
Quote from: Zylos on April 04, 2009, 12:35:28 pm
The first thing I thought when I saw that picture is "Dude, there's no way that guy is gay or your boyfriend", but if he is, then you must be one pretty lucky player. =P


That was my thought as well, when I met him the first time. I was sitting in a cafe reading a book and drinking my favourite coffee, when came asking for a seat because it was so crowded, and that's how it started

He looks more badass than he actually is personality-wise. He's the nicest guy I ever was together with plus he treats me better than anyone else. I love him <3