Maker Palace

¡El Reino del RpgMaker y del Ocio!
 
ÍndiceBuscarGrupos de UsuariosScriptsRecursosTutorialesPalaceJuegosPalaceWikiFAQRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Temas similares
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Últimos temas
» Reparación de Conjuros
por kyonides-arkanthos Jue Oct 12, 2017 12:22 am

» Screenshot del nuevo KUnits XP oon menú
por LinkLuis55 Sáb Sep 23, 2017 10:03 pm

» Dando una vuelta por acá
por LinkLuis55 Dom Ago 20, 2017 2:56 pm

» Heroes del Crimen 2 DEMO
por jasuso Mar Ago 01, 2017 12:04 am

» The Legend of Celestia II: A World of Twilight Shadows Demo
por Jlopez_96 Vie Jul 28, 2017 6:20 pm

» The Legend of Celestia: Four Cristals
por Jlopez_96 Mar Abr 25, 2017 4:59 pm

» [VXAce] Burando Doragon
por gantzer49 Dom Abr 23, 2017 7:43 pm

Recomendados
RPG en RPG Maker
La importancia de un Backup
Que requiere un sistema de Batalla para ser exitoso
9 Minutos de Juegos por fans
Guía de Subforos para Tontos de Maker Palace
Indice de Scripts Locales XP
Falcao Pearl ABS Liquid
¿Quién está en línea?
En total hay 6 usuarios en línea: 0 Registrados, 0 Ocultos y 6 Invitados

Ninguno

La mayor cantidad de usuarios en línea fue 179 el Mar Ago 30, 2011 10:06 pm.
MiniChat
Mejores posteadores
Raiden (3346)
 
DaviX (2740)
 
Frikilangelo (2461)
 
SagahonArturo (1806)
 
Falcao (1775)
 
kyonides-arkanthos (1768)
 
Mur-mai-der (1755)
 
Ares (1613)
 
LinkLuis55 (1558)
 
Webmaster24 (1354)
 
Afiliados
Crear foro Mundo Maker Foro de anime y RM2k3/XP/VX Computer mix
Flag Counter
free counters
Visitas


Comparte | 
 

 KChest XP - Cofre Semiautomatizado

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: KChest XP - Cofre Semiautomatizado   Miér Sep 05, 2012 12:21 am

KChest XP
v 1.0

por Kyonides-Arkanthos




Les traigo un script para no preocuparse más por animar los cofres de tesoros de sus juegos. Sé que no es el único en existencia, pero siempre me ha gustado más utilizar mis propias versiones que las de otros debido a algo muy evidente, yo también soy scripter.

Lo interesante de este script es que les permite con un solo llamado de script hacer tanto que se anime el cofre, ya sea al abrirse o al cerrarse, como extraer y depositar objetos, armas o armaduras ahí. Es más, ¡Uds. definen el máximo de espacios por cofre!

Un uso que le pueden dar es el de banco para objetos, o sea, que por x cantidad de dinero le ofrecen al jugador un cofre con más o menos espacio para guardar sus cosas. Otro uso sería el de caja fuerte si es que Uds. tienen ganas de crear el engine que le pida la contraseña.

ADVERTENCIA

De momento el script requiere que Uds. tengan un gráfico de 36 * 36 píxeles, ya sea que se trate de un círculo, un triángulo o un cuadrado o lo que prefieran. Este gráfico debe llamarse emptyslot.png, pero en el script lo pueden modificar, sin agregar la extensión del archivo, si desean llamarlo de otra forma.

LLAMADO A SCRIPT

open_chest(ID_variable)

o

open_chest(ID_variable, 'i10', 'w4', 'a3')

o

opt = %w{i10 i12 i15 w4 w14 a3 a7}
open_chest(ID_variable, opt)


i es para Objetos o ítemes.

w es para Armas.

a es para Armaduras.

Si de casualidad se olvidaron de cuál era el límite del cofre relacionado con el ID de variable que utilizaron, no se preocupen por eso. El script solo agregará la cantidad de cosas que permiten guardar los espacios disponibles en el cofre. Ya después de la primera vez que el jugador utilizó un cofre, este podrá tener el contenido que a este se le ocurra y que no exceda el límite preestablecido.

Código:
#  KChest XP
#  v 1.0 - 2012-09-04
#  Scripter:  Kyonides aka Kyonides-Arkanthos

#  Create chests to retrieve or leave items, weapons, armors. There is no need
#  to animate the chest by yourself, it is already taken care of.

#  It may be used as a safe at a bank, too. Of course, you would need to create
#  the engine and later ask the player for a (numeric) password.

#  script calls:

#    open_chest(variable_id)

#    open_chest(variable_id, 'i10', 'w20', 'a8')

#    opt=%w{i10 i22 w20 w40 a8 a27}
#    open_chest(variable_id, opt)

#  If you call the script by using the open_chest(variable_id), it will create
#  a new chest with no contents. This is only valid for the very first time
#  you use it. Thereafter the system will just get the contents of the
#  $game_variables[variable_id] for you.

#  GameSys module Constants will let you define the maximum slots per chest.

module GameSys
  # String : The empty slot icon filename
  EmptySlot = 'emptyslot'
  # Integer : Starting $game_variables ID to be used to store chest contents
  StartChestVarID = 5
  # Integer : How many slots per row would like to be displayed on screen?
  SlotPerRow = 5
  # Boolean : Use the automatic variable ID conversion or not
  ConvertVarID = true
  # Integer => Integer : Variable ID => Maximum Slots for this chest
  #  If ConvertVarID is true, then start from number 1 as your first var ID
  #  Otherwise pick any variable ID at will but you would need to remember the
  #  exact variable ID you pick for your chest event.
  ChestInfo = {1 => 1, 2 => 2, 3 => 4, 4 => 2, 5 => 5, 6 => 12}
end

module SpriteMod
  def dispose; self.bitmap.dispose if self.bitmap != nil; super end
end

class Game_System
  attr_reader :chest_sizes
  alias kyon_use_chest_gm_sys_init initialize
  def initialize
    @chest_sizes = {}
    GameSys::ChestInfo.each {|key, val|
      key = GameSys::StartChestVarID + key - 1 if GameSys::ConvertVarID
      @chest_sizes[key] = val
      change_chest_size(@chest_sizes[key].size, key) }
    kyon_use_chest_gm_sys_init
  end

  def change_chest_size(size, *vars)
    vars.each {|var| next if @chest_sizes[var].size == size
      @chest_sizes[var] = size
      $game_variables[var] = [0] if $game_variables[var].is_a?(Fixnum)
      size -= $game_variables[var].size - 1 if $game_variables[var].is_a?(Array)
      $game_variables[var] += [[nil, nil]] * size }
  end
end

class Game_Party
  def all_items; @items + @weapons + @armors end
end
 
class Window_ChestItem < Window_Item
  def initialize
    super
    @column_max = 2
    self.index = 0
  end

  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 1...$data_items.size
      @data.push($data_items[i]) if $game_party.item_number(i) > 0
    end
    for i in 1...$data_weapons.size
      @data.push($data_weapons[i]) if $game_party.weapon_number(i) > 0
    end
    for i in 1...$data_armors.size
      @data.push($data_armors[i]) if $game_party.armor_number(i) > 0
    end
    @item_max = @data.size
  end

  def items_size; @data.size end

  def delete_at(index) @data.delete_at(index) end

  def redraw_items
    self.contents = Bitmap.new(width - 32, row_max * 32)
    (0...@item_max).each {|i| draw_item(i)} if @data.size > 0
  end

  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item;  number = $game_party.item_number(item.id)
    when RPG::Weapon; number = $game_party.weapon_number(item.id)
    when RPG::Armor;  number = $game_party.armor_number(item.id)
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    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, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
end

class Arrow_Chest < Sprite
  attr_accessor :index, :row_max, :item_max, :item_width, :x_y
  def initialize(viewport, x=0, y=0)
    super(viewport)
    self.bitmap = RPG::Cache.windowskin($game_system.windowskin_name)
    self.src_rect.set(128, 96, 32, 32)
    self.z = 5000
    self.x, self.y = x + 16, y
    self.angle -= 90
    @blink_count = 0
    @index = 0
    @row_max = 1
    @item_max = 0
    @item_width = 16
    @x_y = nil
    update
  end

  def update
    @blink_count = (@blink_count + 1) % 16
    index = @blink_count < 8 ? 128 : 160
    self.src_rect.set(index, 96, 32, 32)# update_help if @help_window != nil
    return if @item_max < 2
    if Input.repeat?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @index = @index < @x_y.size - 1 ? @index + 1 : 0
      self.x, self.y = @x_y[@index][0] + 16, @x_y[@index][1]
    elsif Input.repeat?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      @index = @index > 0 ? @index - 1 : @x_y.size - 1
      self.x, self.y = @x_y[@index][0] + 16, @x_y[@index][1]
    end
  end
end

class Interpreter
  alias kyon_use_chest_int_up update
  def update
    kyon_use_chest_int_up
    if @opened_chest and @wait_count == 0
      $scene = Scene_UsefulChest.new(@var_id, @items)
      @opened_chest = @var_id = @items = nil
      return
    end
  end

  def open_chest(var, *items)
    @wait_count = 20
    @opened_chest = true
    @var_id, @items = var, items
    set_move_route_by_script(:open)
  end

  def set_move_route_by_script(move=:open)
    $game_player.straighten
    event = get_character(0)
    if move == :open
      event.turn_left
      event.turn_right
      event.turn_up
    else
      event.turn_right
      event.turn_left
      event.turn_down
    end
  end
end

class Scene_UsefulChest
  def initialize(var, *items)
    if !items.nil?
      index = -1
      items.flatten.each {|item|kind = item[0,1]=='i'? 0 : item[0,1]=='w'? 1 : 2
      items[index+=1] = [kind, (item.sub(/\w/, '')).to_i] }
    end
    var = GameSys::StartChestVarID + var - 1 if GameSys::ConvertVarID
    @var_id = var
    @spaces = $game_system.chest_sizes[@var_id]
    @var = $game_variables[@var_id]
    @goods = @var.is_a?(Array)? @var[0, @spaces] : items[0, @spaces]
  end

  def main
    start
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      break if $scene != self
    end
    Graphics.freeze
    terminate
  end

  def start
    @spriteset = Spriteset_Map.new
    @slot_sprites, @good_sprites = [], []
    make_slot_sprites
    make_good_sprites
    @viewport = Viewport.new(0, 0, 640, 480)
    @viewport.z = 5000
    @cursor = Arrow_Chest.new(@viewport, @slot_sprites[0].x, @slot_sprites[0].y)
    @cursor.row_max = GameSys::SlotPerRow
    @cursor.item_max = @good_sprites.size + 1
    @cursor.item_width = @slot_sprites[0].src_rect.width
    update_cursor_coordinates
    @help_window = Window_Help.new
    @help_window.visible = false
    @item_window = Window_ChestItem.new
    @item_window.active = @item_window.visible = false
    @item_window.help_window = @help_window
  end

  def terminate
    update_goods(true)
    @cursor.dispose
    @slot_sprites.each {|s| s.dispose}
    @slot_sprites.clear
    dispose_good_sprites unless @good_sprites.nil?
    @spriteset.dispose
    dispose_all_instance_variables
  end

  def dispose_good_sprites
    @good_sprites.each {|s| s.dispose}
    @good_sprites.clear
  end

  def make_slot_sprites
    row_max = GameSys::SlotPerRow
    free_space_x = (640 - ((@spaces < row_max ? @spaces : row_max) * 36)) / 2
    free_space_y = (480 - 36 - (@spaces /(row_max+1) * 36)) / 2
    @spaces.times {|n| @slot_sprites << Sprite.new
      @slot_sprites[n].extend SpriteMod
      @slot_sprites[n].bitmap = RPG::Cache.icon(GameSys::EmptySlot)
      h, w = @slot_sprites[n].bitmap.height, @slot_sprites[n].bitmap.width
      @slot_sprites[n].x = free_space_x + (n % row_max * w)
      @slot_sprites[n].y = free_space_y + (n / row_max * h)
      @slot_sprites[n].opacity = 140 }
  end

  def make_good_sprites
    @spaces.times {|n| kind, id = @goods[n]
      break if kind.nil?
      i=kind==0? $data_items[id] : kind==1? $data_weapons[id] : $data_armors[id]
      @good_sprites[n] = Sprite.new
      @good_sprites[n].extend SpriteMod
      @good_sprites[n].bitmap = RPG::Cache.icon(i.icon_name)
      @good_sprites[n].x = @slot_sprites[n].x + 6
      @good_sprites[n].y = @slot_sprites[n].y + 6 }
  end

  def update_cursor_coordinates
    @cursor.item_max = @good_sprites.size
    size = @good_sprites.size > 1 ? 1 : 0
    @cursor.x_y = @slot_sprites.map {|s| [s.x, s.y]}[0, @good_sprites.size+size]
  end

  def update
    @cursor.update#    update_all_instance_variables
    @slot_sprites.each {|sprite| sprite.update}
    @good_sprites.each {|sprite| sprite.update} unless @good_sprites.nil?
    (update_cursor_slots; return) unless @item_window.active
    (update_item; return) if @item_window.active
  end

  def update_cursor_slots
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      $game_system.map_interpreter.set_move_route_by_script(:close)
      return
    elsif Input.trigger?(Input::C)
      if (@good_sprites.nil? and $game_party.all_items.keys.size == 0)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      item = @goods[@cursor.index]
      if item.nil?
        @item_window.refresh
        return if @item_window.items_size == 0
        @item_window.redraw_items
        @cursor.visible = false
        @help_window.visible = @item_window.visible = @item_window.active = true
        return
      end
      case item[0]
      when 0; return if $game_party.item_number(item[1]) == 99
        $game_party.gain_item(item[1], 1)
        update_goods_all_sprites
      when 1; return if $game_party.weapon_number(item[1]) == 99
        $game_party.gain_weapon(item[1], 1)
        update_goods_all_sprites
      when 2; return if $game_party.armor_number(item[1]) == 99
        $game_party.gain_armor(item[1], 1)
        update_goods_all_sprites
      end
      return
    end
  end

  def update_item
    @item_window.update
    @help_window.update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @cursor.visible = true
      @help_window.visible = @item_window.visible = @item_window.active = false
      return
    elsif Input.trigger?(Input::C)
      if @goods.size + 1 == @spaces
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      @item = @item_window.item
      case @item
      when RPG::Item;  $game_party.lose_item(@item.id, 1)
      when RPG::Weapon; $game_party.lose_weapon(@item.id, 1)
      when RPG::Armor;  $game_party.lose_armor(@item.id, 1)
      when nil; $game_system.se_play($data_system.buzzer_se); return
      end
      @item_window.delete_at @item_window.index
      @item_window.redraw_items
      kind = @item.is_a?(RPG::Item)? 0 : @item.is_a?(RPG::Weapon)? 1 : 2
      @goods << [kind, @item.id]
      dispose_good_sprites
      make_good_sprites
      update_cursor_coordinates
    end
  end

  def update_goods(simple=false)
    @goods.delete_at @cursor.index unless simple
    $game_variables[@var_id] = @goods
  end

  def update_goods_all_sprites
    $game_system.se_play($data_system.decision_se)
    @item_window.refresh
    update_goods
    dispose_good_sprites
    make_good_sprites
    update_cursor_coordinates
  end

  def update_all_instance_variables
    instance_variables.each {|var| ivar = instance_variable_get(var)
      ivar.update if [Window, Sprite].include?(ivar) }
  end

  def dispose_all_instance_variables
    instance_variables.each {|var| ivar = instance_variable_get(var)
      ivar.dispose if [Window, Sprite, Viewport].include?(ivar) }
  end
end


Última edición por kyonides-arkanthos el Jue Sep 06, 2012 11:29 pm, editado 1 vez
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
MaximiliaNMetaL
Caballero Real
Caballero Real
avatar

Cantidad de envíos : 292
Miembro desde : 29/02/2012
Localización : Valhalla, Asgaard
Sexo : Masculino

Maker : RMXP

Logros MP :



MensajeTema: Re: KChest XP - Cofre Semiautomatizado   Miér Sep 05, 2012 3:03 pm

che, tiene buena pinta, lo voy a probar a ver que tal, gracias por tu aporte
Volver arriba Ir abajo
Ver perfil de usuario http://maximilianmetal.blogspot.com/
Raiden
Admin
Admin
avatar

Cantidad de envíos : 3346
Miembro desde : 01/03/2010
Edad : 24
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Re: KChest XP - Cofre Semiautomatizado   Jue Sep 06, 2012 9:14 am

Como lo planteas, me recuerda a los cobres usados en los clásicos resident evil. Creo que iría bien y tendría sentido siempre y cuando se use con scripts que limiten la cantidad de objetos que puede cargar el héroe.

_________________




"La amenaza de una espada, mantiene a la otra envainada."

Spoiler:
 
Volver arriba Ir abajo
Ver perfil de usuario
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: Re: KChest XP - Cofre Semiautomatizado   Jue Sep 06, 2012 9:50 pm

No solo en ese caso serviría, si en el juego se simulan cosas como desastres o robos, el tener ahí en el cofre algunas cuantas cosas puede ser de gran utilidad. Claro está que será un grito de los mil demonios lo que peguen al cielo si recuerdan que pudieron salvaguardar algo y no lo hicieron, jejeje, rero.
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
Falcao
Admin
Admin
avatar

Cantidad de envíos : 1775
Miembro desde : 07/07/2009
Edad : 26
Localización : MP Garden
Sexo : Masculino

Maker : RMXP

Logros MP :



MensajeTema: Re: KChest XP - Cofre Semiautomatizado   Jue Sep 06, 2012 10:56 pm

Bueno despues de probar este script dare mi opinion de mi experiencia

Deveria de dar un poco mas de informacion acerca del script, una informacion mas detallada no estaria mal.

Si va usar graficos almenos deveria de aportarlos que asi su script no corre, el script pide 'emptyslot' icon.

Ya pienso que usted lo hace aposta en todos sus scripts que publica le hace falta ya sea un grafico o un archivo.

Hombre tambien ya que no traducio su script al espanol deveria proveer una demo con sus respectivos graficos etc.

Su script esta inoperable yo creo que nadie lo a hechado a andar solo usted

_________________
Querés hecharte unas risas?

Juega al Pirulo Adventures II sin RTP!
Volver arriba Ir abajo
Ver perfil de usuario http://makerpalace.onlinegoo.com
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: Re: KChest XP - Cofre Semiautomatizado   Jue Sep 06, 2012 11:27 pm

Déjeme decirle que el script no es inoperable, simplemente les dejé a cargo de Uds. el crear un archivo con el nombre emptyslot.png, aunque el nombre sin la extensión lo pueden cambiar en el mismo script. Una vez que lo reemplacen por el gráfico que deseen, no hará falta nada; es así de simple. En todo caso les advertí que era semiautomático, primero porque necesita el gráfico y segundo porque hay que crear un evento y en un llamado de script utilizar el llamado a script que más se adecúen a su caso. Ya les dejé ejemplos de lo que tienen que hacer en mi primer post, es realmente LO ÚNICO que deben de saber para poderlo utilizar. Poco importa si las instrucciones incluidas en el script están en inglés, aquí les dejé la sencilla explicación en español. Ahora le añadiré el aviso de crear un gráfico para que corra el script y con esto todo quedará resuelto.

Le solicito, falcao, que se abstenga de dejarme más comentarios como este porque me molesta que asevere cosas que no son completamente ciertas y lo haga con tanta vehemencia, en especial si lo único que hace falta es un gráfico que pueden crear Uds. a su gusto y que sea de al menos 36 por 36 píxeles. Esta especificación es lo único que realmente me hace incluir el dato de la necesidad de crear su propio gráfico en el primer post. Sin embargo, puedo asegurar que con una leve modificación se podrá utilizar un gráfico del tamaño que deseen. Posiblemente en la versión 1.0.1 venga la modificación, aunque no sea indispensable para su funcionamiento sino que se deba solo al gusto o preferencia de los foreros.
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
Falcao
Admin
Admin
avatar

Cantidad de envíos : 1775
Miembro desde : 07/07/2009
Edad : 26
Localización : MP Garden
Sexo : Masculino

Maker : RMXP

Logros MP :



MensajeTema: Re: KChest XP - Cofre Semiautomatizado   Jue Sep 06, 2012 11:53 pm

kyonides-arkanthos escribió:

Le solicito, falcao, que se abstenga de dejarme más comentarios como este porque me molesta que asevere cosas que no son completamente ciertas y lo haga con tanta vehemencia, en especial si lo único que hace falta es un gráfico que pueden crear Uds. a su gusto y que sea de al menos 36 por 36 píxeles.

Bueno mire si usted fuera un poco humilde sabria diferenciar de una critica constructiva de algo que sea ofensa.

Yo lo miro de este modo, uno como scripter esta obligado a darle al usuario lo que necesita para que su script funsione bien, si no entonces de que sirve tantas horas de trabajo scripteando si ningun usuario lo va usar?

Lea bien lo que escribi y se dara cuenta del buen modo de las cosas y si usted es paciente y ve las cosas como mas de amistad makera se dara cuenta que lo que le dije es para su bien.

Ya si no le gusta que le den retroralimentaciones de sus scripts es cosa suya yo solo le dije la pura verdad sobre las cosas y de mi experiencia luego de probar su codigo.

Peor seria que me lo guardara si o no?


_________________
Querés hecharte unas risas?

Juega al Pirulo Adventures II sin RTP!
Volver arriba Ir abajo
Ver perfil de usuario http://makerpalace.onlinegoo.com
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: Re: KChest XP - Cofre Semiautomatizado   Vie Sep 07, 2012 2:53 am

Le seré sincero, prefiero que se guarde su opinión debido a que exagera sus puntos a tal grado que ya dejan de ser verdad. Eso jamás puede ser un buen modo de definir una situación y menos si solo hace falta un único gráfico que no he provisto porque utilizaba uno de los íconos del RTP al que le deje "guindando" en una postura tal que permitiera darme cuenta de cuál era el ícono que representaba el espacio vacío y cuál era realmente el que pertenecía al ícono seleccionado, cuando había uno en el espacio o ranura. Con eso bastó para saber que de tener el gráfico adecuado o preferido por los makeros el script funcionaría de lo más bien. Eso sí, le cambié el nombre a la copia de ese ícono para siempre saber que ahí debía agregarse un ícono propio. Cuál debe ser? Eso es mejor que lo defina el usuario, ya sea al reemplazar el gráfico o al cambiarle el nombre del archivo en el script; da igual cómo lo hagan.

Yo no le vengo a decir a Ud. que no ha de cometer errores, es de humanos cometerlos y solucionarlos si está a su alcance y se dispone del tiempo requerido para hacerlo. Entonces no venga con ese tono a decirme a MÍ las cosas que yo ya sabía antes que Ud. decidiera ser scripter.

Hay algo que tal vez Ud. no sepa y que debería decírselo yo. No todo error generado por un script es un error causado por el scripter. Simplemente hay cosas que, aunque se pueden prevenir con unas líneas de código extra, es mejor dejarle saber al usuario final que su propio error o descuido o desconocimiento generó dicho error. Es que a veces es la mejor manera en que el usuario final puede aprender a comprender el correcto funcionamiento de un script. Si no me cree, vea los errores tan peculiares que aparecen en los sistemas de batallas y que ellos no se explican por qué surgen en primer lugar. Hay momentos en que hacer muchas "previsiones" de los posibles errores que puede cometer el usuario impide hallar pronto la causa inicial del problema en sí mismo. La respuesta puede ser muy clara, en algún momento el usuario o el scripter pudieron dejar de enviar la información necesaria para el funcionamiento normal del sistema, pero descubrir en qué momento lo hicieron es donde yace la gran incógnita. Se puede solucionar un problema en ese punto mediante un workaround, pero si se desconoce el origan, más adelante podría resurgir el problema.

Ahora si comparamos esto con la falta de un solo gráfico, que nunca existió en realidad, cómo espera venir a decirme a mí cosas que no me enseñarán nada si yo ya sabía eso de antemano. De lo contrario o ya habría subido esa imagen o el demo, que consistiría en un solo evento, el script y el ícono. Cómo subo a la red lo que no tengo o nunca tuve? Porsupuesto que pude haber dicho algo de que verían un ícono de los ítemes o armas o armaduras, pero gente como Ud. estaría ahora aquí criticándome por utilizar eso y por lo raro que se vería, aun si el script funcionara de inmediato durante la prueba del proyecto o demo.

No puedo quedarles bien a todos ni siquiera a algunas todo el tiempo. Por algo hay gustos para todo. Recuerde eso antes de acusarme de cosas que no son ni siquiera fatales para un script. Si necesita reportar algo, que sea algo serio como un error en una línea específica o una imagen en una esquina cuando el script no promete visualizar nada así en ese lugar. No espere que se tome de buena gana una crítica "constructiva" con un tono mordaz por no decir despreciativo.
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
Contenido patrocinado




MensajeTema: Re: KChest XP - Cofre Semiautomatizado   

Volver arriba Ir abajo
 
KChest XP - Cofre Semiautomatizado
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» [XP] Enginer Para abrir cofre desde menú.
» En busca de dulces, caramelos, chocolates y ocacionalmente piratas
» Saliendo a la aventura en un barco mercante.

Permisos de este foro:No puedes responder a temas en este foro.
Maker Palace :: RGSS Scripts :: Scripts Maker XP-
Cambiar a: