RSS

Retroceder   Foros de Emudesc > Diseño de Juegos > Creación de Juegos > RPG Maker

Respuesta
 
Herramientas Desplegado
  #111 (permalink)  
Antiguo 09-jul-2008, 00:44
Newbie
 
Fecha de Ingreso: junio-2008
Mensajes: 6
Predeterminado Re: Aportes de Scripts RPG-Maker

Puedes poner un pantallazo Akatsuki?

¿Qué tipos de Scripts tiene (Lo mas importantes) el pack, yerko 522, podias haber sido mas especifico

Un saludo, lo digo de buen rollo. Es mas que nada por saber si lo que se postea me interesa, y supongo que a los demas les pasara
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita


EMUDESC EMUDESC está online
Emudesc BOT
 
Fecha de Ingreso: Mar 2004
Ubicación: Emudesc
Edad: 4 años
Aportes de Scripts RPG-Maker

  #112 (permalink)  
Antiguo 09-jul-2008, 02:39
Avatar de Aka-Kun
Maestro del foro
 
Fecha de Ingreso: junio-2007
Ubicación: Japon
Mensajes: 2,563
Predeterminado Re: Aportes de Scripts RPG-Maker

Cita:
Empezado por Windwarrior Ver Mensaje
Puedes poner un pantallazo Akatsuki?

¿Qué tipos de Scripts tiene (Lo mas importantes) el pack, yerko 522, podias haber sido mas especifico

Un saludo, lo digo de buen rollo. Es mas que nada por saber si lo que se postea me interesa, y supongo que a los demas les pasara

cuando pueda coloco una imagen xD


-------------------------------------------

Cambio de tono de la windowskin (RPGXP)


DESCRIPCIóN

Este script permite añadir una función gracias a la cual el jugador puede cambiar a su gusto el color de la windowskin, de forma parecida al Golden Sun. Ahora que sé utilizar el alias (gracias a un tutorial de TDS) intentaré mejorarlo para que sea más cómodo

SCREENSHOT

No disponible

DEMO

En proceso...

SCRIPT

Spoiler


Y como me aburro, aquí os dejo un Scene_Menu que incluye la opción para modificar el tono de la windowskin

Spoiler


INSTRUCCIONES

Pegar entre Main y Window_Base. Para cambiar el tono de la windowskin, hay que cambiar el valor de la variable $windowskin_tono. Para ello, puedes hacerlo con un llamar script utilizando $windowskin_tono más un operador matemàtico más un valor:

- Para sumar: $windowskin_tono += valor
- Para restar: $windowskin_tono -= valor
- Para dividir: $windowskin_tono /= valor
- Para multiplicar: $windowskin_tono *= valor
- Para potencias: $windowskin_tono **= valor
- Para sustituir: $windowskin_tono = valor
Si quieres que el valor sea una variable del juego usa $game_variables[X], donde X es la ID de la variable
---------------------------
Para que cada partida tenga un tono de windowskin individual, ve a Scene_Save y añade esta línea:

Código:
 Marshal.dump($windowskin_tono, file)
debajo de:

Código:
Marshal.dump($game_player, file)
(en las últimas lineas del script)

Y luego, ve a Scene_Load y añade esto:

Código:
$windowskin_tono  = Marshal.load(file)
debajo de


[code] $game_player = Marshal.load(file)[code]

(en las últimas lineas del script)
CREDITOS

El autor es Alnain (yo), pero no son necesarios créditos
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #113 (permalink)  
Antiguo 09-jul-2008, 16:40
Avatar de yerko522
Newbie
 
Fecha de Ingreso: mayo-2008
Mensajes: 28
Predeterminado Re: Aportes de Scripts RPG-Maker

MI APORTE BANCO RGSS

Este es un script para crear un banco completo, que guarde y devuelva items y dinero. Esta aun un poco verde y apreciaría comentarios:



Hay que incluir en game_Temp.:

Lo que está entre las lineas donde pone #banco-----.. es lo que hay que añadir. Solo teneis que usar buscar para localizar las lineas de arriba y abajo.



................
attr_accessor :battle_main_phase # Flag de Fase Principal
attr_accessor :battleback_name # Nombre del Archivo "BattleBack"
attr_accessor :forcing_battler # Forzar Personaje de Batalla
attr_accessor :shop_calling # Llamar tienda
#Banco-------------------------------------------------------------------
attr_accessor :bank_calling # Llamar banco
#Banco-------------------------------------------------------------------
attr_accessor :shop_goods # Lista del Genero en venta y compra
attr_accessor :name_calling # Intr. nombre de Flag de llamada
attr_accessor :name_actor_id # Intr. nombre de ID de personaje
attr_accessor :name_max_char # Intr. Num. de caracteres maximos
attr_accessor :menu_calling # Flag de Llamar Menu
.................................


...................................
@forcing_battler = nil
@shop_calling = false
@shop_id = 0
#Banco-------------------------------------------------------------------
@bank_calling = false
@bank_id = 0
#Banco-------------------------------------------------------------------
@name_calling = false
@name_actor_id = 0
@name_max_char = 0
#-----------------------------------------------------


En game_party cambiar def inicialice entero por:




def initialize
@actors = []
@gold = 0
@steps = 0
@items = {}
@weapons = {}
@armors = {}
#Añadir depósito de Oro adicional para el banco
@gold2 = 0
#Añadir depósito de items adicional para el banco
@items2 = {}
@weapons2 = {}
@armors2 = {}
end
#--------------------------


y añadir al final de la misma clase, después del resto de métodos:




#--------------------------------------------------------------------------
# Métodos adicionales de control de oro e items para el banco
#--------------------------------------------------------------------------
def gain_gold2(n)
@gold2 = [[@gold2 + n, 0].max, 9999999].min
end
#--------------------------------------------------------------------------
def lose_gold2(n)
gain_gold2(-n)
end
#--------------------------------------------------------------------------
def item_number2(item_id)
return @items2.include?(item_id) ? @items2[item_id] : 0
end
#--------------------------------------------------------------------------
def weapon_number2(weapon_id)
return @weapons2.include?(weapon_id) ? @weapons2[weapon_id] : 0
end
#--------------------------------------------------------------------------
def armor_number2(armor_id)
return @armors2.include?(armor_id) ? @armors2[armor_id] : 0
end
#--------------------------------------------------------------------------
def gain_item2(item_id, n)
if item_id > 0
@items2[item_id] = [[item_number2(item_id) + n, 0].max, 99].min
end
end
#--------------------------------------------------------------------------
def gain_weapon2(weapon_id, n)
if weapon_id > 0
@weapons2[weapon_id] = [[weapon_number2(weapon_id) + n, 0].max, 99].min
end
end
#--------------------------------------------------------------------------
def gain_armor2(armor_id, n)
if armor_id > 0
@armors2[armor_id] = [[armor_number2(armor_id) + n, 0].max, 99].min
end
end
#--------------------------------------------------------------------------
def lose_item2(item_id, n)
gain_item2(item_id, -n)
end
#--------------------------------------------------------------------------
def lose_weapon2(weapon_id, n)
gain_weapon2(weapon_id, -n)
end
#--------------------------------------------------------------------------
def lose_armor2(armor_id, n)
gain_armor2(armor_id, -n)
end
#--------------------------------------------------------------------------
# Fin de las funciones de banco
#--------------------------------------------------------------------------


Luego hay que añadir estas clases a la lista, preferentemente después de Shopstatus:



#------------------------------------------------------------------------------
# Window_BankCommand
#------------------------------------------------------------------------------
# Es la ventana que elige el negocio a realizar en una banco
#------------------------------------------------------------------------------

class Window_BankCommand < Window_Selectable
#--------------------------------------------------------------------------
# - Inicializar Objeto
#--------------------------------------------------------------------------
def initialize
super(0, 64, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@item_max = 4
@column_max = 4
@commands = ["Retirar", "Depositar", "Dinero", "Salir"]
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# - Refrescar
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# - Dibujado del objeto
# index : número del objeto
#--------------------------------------------------------------------------
def draw_item(index)
x = 4 + index * 160
self.contents.draw_text(x, 0, 128, 32, @commands[index])
end
end






#------------------------------------------------------------------------------
# Window_Bank_Removeitem
#------------------------------------------------------------------------------
# Aqui es donde eliges los objetos que vas a retirar del banco
#------------------------------------------------------------------------------

class Window_Bank_Removeitem < Window_Selectable
#--------------------------------------------------------------------------
# - Inicializar Objeto
#--------------------------------------------------------------------------
def initialize
super(0, 128, 320, 352)
@column_max = 1
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# - Adquisición del Objeto
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
#- Refrescar
#--------------------------------------------------------------------------
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_number2(i) > 0
@data.push($data_items[i])
end
end
for i in 1...$data_weapons.size
if $game_party.weapon_number2(i) > 0
@data.push($data_weapons[i])
end
end
for i in 1...$data_armors.size
if $game_party.armor_number2(i) > 0
@data.push($data_armors[i])
end
end
# El número de objetos. Si no es cero, se dibujara un mapa de bits y se dibujaran los objetos.
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize - 5
for i in 0...@item_max
draw_item(i)
end
end
end
#--------------------------------------------------------------------------
# - Dibujado del Objeto
# index : Número de Objeto
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
case item
when RPG::Item
number = $game_party.item_number2(item.id)
when RPG::Weapon
number = $game_party.weapon_number2(item.id)
when RPG::Armor
number = $game_party.armor_number2(item.id)
end
=begin
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

x = 4
y = index * 32
rect = Rect.new(x, y, self.width - 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
#--------------------------------------------------------------------------
# - Renovación del texto de ayuda
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end






#------------------------------------------------------------------------------
# Window_Bank_Additem
#------------------------------------------------------------------------------
# Aqui es donde eliges los objetos que vas a retirar del banco
#------------------------------------------------------------------------------

class Window_Bank_Additem < Window_Selectable
#--------------------------------------------------------------------------
# - Inicializar Objeto
#--------------------------------------------------------------------------
def initialize
super(320, 128, 320, 352)
@column_max = 1
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# - Adquisición del Objeto
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
#- Refrescar
#--------------------------------------------------------------------------
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
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0
@data.push($data_weapons[i])
end
end
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0
@data.push($data_armors[i])
end
end
# El número de objetos. Si no es cero, se dibujara un mapa de bits y se dibujaran los objetos.
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize - 5
for i in 0...@item_max
draw_item(i)
end
end
end
#--------------------------------------------------------------------------
# - Dibujado del Objeto
# index : Número de Objeto
#--------------------------------------------------------------------------
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
y = index * 32
rect = Rect.new(x, y, self.width - 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
#--------------------------------------------------------------------------
# - Renovación del texto de ayuda
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end





#================================================= =============================
# Window_BankNumber
#------------------------------------------------------------------------------
# Es la ventana donde se elige el número de objetos a comprar o a vender en una tienda.
#================================================= =============================

class Window_BankNumber < Window_Base
#--------------------------------------------------------------------------
# - Inicializar Objeto
#--------------------------------------------------------------------------
def initialize
super(130, 250, 378, 160)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@item = nil
@max = 1
@number = 1
end
#--------------------------------------------------------------------------
# - Elección de objeto, número máximo y precio
#--------------------------------------------------------------------------
def set(item, max)
@item = item
@max = max
@number = 1
refresh
end
#--------------------------------------------------------------------------
# - Elegir número de entrada
#--------------------------------------------------------------------------
def number
return @number
end
#--------------------------------------------------------------------------
#- Refrescar
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_item_name(@item, 4, 50)
self.contents.font.color = normal_color
self.contents.draw_text(272, 50, 32, 32, "~")
self.contents.draw_text(308, 50, 24, 32, @number.to_s, 2)
self.cursor_rect.set(304, 50, 32, 32)
end
#--------------------------------------------------------------------------
# - Renovar Frame
#--------------------------------------------------------------------------
def update
super
if self.active
# Cursor Derecha (+1)
if Input.repeat?(Input::RIGHT) and @number < @max
$game_system.se_play($data_system.cursor_se)
@number += 1
refresh
end
# Cursor Izquierda (-1)
if Input.repeat?(Input::LEFT) and @number > 1
$game_system.se_play($data_system.cursor_se)
@number -= 1
refresh
end
# En cursor (+10)
if Input.repeat?(Input::UP) and @number < @max
$game_system.se_play($data_system.cursor_se)
@number = [@number + 10, @max].min
refresh
end
# Bajo Cursor (-10)
if Input.repeat?(Input:OWN) and @number > 1
$game_system.se_play($data_system.cursor_se)
@number = [@number - 10, 1].max
refresh
end
end
end
end




#------------------------------------------------------------------------------
# ? Window_InputNumber
#------------------------------------------------------------------------------



class Window_Inputbank< Window_Base
#--------------------------------------------------------------------------

#Banco.......................
attr_accessor :maxi
#Banco.......................
def initialize(digits_max)
@digits_max = digits_max
#Banco.......................
$maxm = maxi
if $maxm = nil
@number = 0
else
@number = $maxm
end
#Banco.......................
@number = 0
dummy_bitmap = Bitmap.new(32, 32)
@cursor_width = dummy_bitmap.text_size("0").width + 20
dummy_bitmap.dispose
super(150, 214, @cursor_width * @digits_max + 32, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.z += 9999
self.opacity = 255
@index = 0
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
def number
return @number
end
#--------------------------------------------------------------------------
def dispose
super
end
#--------------------------------------------------------------------------
def number=(number)
@number = [[number, 0].max, $maxm].min
refresh
end
#--------------------------------------------------------------------------
def update_cursor_rect
self.cursor_rect.set(@index * @cursor_width, 0, @cursor_width, 32)
end
#--------------------------------------------------------------------------
def update
super
if Input.repeat?(Input::UP) or Input.repeat?(Input:OWN)
$game_system.se_play($data_system.cursor_se)
place = 10 ** (@digits_max - 1 - @index)
n = @number / place % 10
@number -= n * place
n = (n + 1) % 10 if Input.repeat?(Input::UP)
n = (n + 9) % 10 if Input.repeat?(Input:OWN)
@number += n * place
refresh
end
if Input.repeat?(Input::RIGHT)
if @digits_max >= 2
$game_system.se_play($data_system.cursor_se)
@index = (@index + 1) % @digits_max
end
end
if Input.repeat?(Input::LEFT)
if @digits_max >= 2
$game_system.se_play($data_system.cursor_se)
@index = (@index + @digits_max - 1) % @digits_max
end
end
update_cursor_rect
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.back_opacity = 255 #Comentar esta línea para que el mensaje sea translúcido
s = sprintf("%0*d", @digits_max, @number)
for i in 0...@digits_max
self.contents.draw_text(i * @cursor_width + 4, 0, 32, 32, s[i,1])
end
end
end







#------------------------------------------------------------------------------
# Window_MoneyCommand
#------------------------------------------------------------------------------
# Es la ventana que elige el negocio a realizar en una banco
#------------------------------------------------------------------------------

class Window_MoneyCommand < Window_Selectable
#--------------------------------------------------------------------------
# - Inicializar Objeto
#--------------------------------------------------------------------------
def initialize
super(150, 278, 370, 130)
self.contents = Bitmap.new(width, height)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@item_max = 2
@column_max = 1
@commands = ["Retirar", "Ingresar"]
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# - Refrescar
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# - Dibujado del objeto
# index : número del objeto
#--------------------------------------------------------------------------
def draw_item(index)
x = 4
y = index * 30
self.contents.draw_text(x, y, 128, 32, @commands[index])
end
end




Luego teneis que cambiar esto en game_map

De nuevo, lo que está entre las lineas donde pone #banco-----.. es lo que hay que añadir. Solo teneis que usar buscar para localizar las lineas de arriba y abajo.






if $game_temp.battle_calling
call_battle
elsif $game_temp.shop_calling
call_shop
#Banco-------------------------------------------------------------------
elsif $game_temp.bank_calling
call_Bank
#Banco-------------------------------------------------------------------
elsif $game_temp.name_calling
call_name
elsif $game_temp.menu_calling
call_menu
elsif $game_temp.save_calling
call_save
elsif $game_temp.debug_calling
call_debug
end


En penúltimo lugar, hay que añadir una nueva clase justo después de Scene_shop, que es esta:




#------------------------------------------------------------------------------
# ? Scene_Bank
#------------------------------------------------------------------------------
class Scene_Bank
# ------------------------------------
def main
@help_window = Window_Help.new
@command_window = Window_BankCommand.new
@dummy_window = Window_Base.new(0, 128, 640, 352)
@buy_window = Window_Bank_Removeitem.new
@buy_window.help_window = @help_window
@sell_window = Window_Bank_Additem.new
@sell_window.help_window = @help_window
@number_window = Window_BankNumber.new
@Money_window = Window_MoneyCommand.new
@input_window = Window_Inputbank.new(6)
@buy_window.active = false
@buy_window.visible = true
@sell_window.active = false
@sell_window.visible = true
@number_window.active = false
@number_window.visible = false
@Money_window.active = false
@Money_window.visible = false
@input_window.active = false
@input_window.visible = false
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@help_window.dispose
@command_window.dispose
@dummy_window.dispose
@buy_window.dispose
@sell_window.dispose
@number_window.dispose
@Money_window.dispose
@input_window.dispose
end
# ------------------------------------
def update
@help_window.update
@command_window.update
@dummy_window.update
@buy_window.update
@sell_window.update
@number_window.update
@Money_window.update
@input_window.update
if @command_window.active
update_command
return
end
if @Money_window.active
update_command2
return
end
if @buy_window.active
update_buy
return
end
if @sell_window.active
update_sell
return
end
if @number_window.active
update_number
return
end
if @input_window.active
update_input
return
end
end
# ------------------------------------
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@dummy_window.visible = false
@buy_window.active = true
@buy_window.visible = true
@buy_window.refresh
@sell_window.active = false
@Money_window.active = false
@Money_window.visible = false
update
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@dummy_window.visible = false
@sell_window.active = true
@sell_window.visible = true
@sell_window.refresh
@buy_window.active = false
@Money_window.active = false
@Money_window.visible = false
update
when 2
@command_window.active = false
@buy_window.active = false
@sell_window.active = false
@command_window.active = false
@buy_window.active = false
@sell_window.active = false
@Money_window.refresh
@Money_window.visible = true
@Money_window.active = true
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Map.new
end
return
end
end
# ------------------------------------
def update_command2
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@dummy_window.visible = true
@buy_window.active = false
@buy_window.visible = true
@sell_window.active = false
@sell_window.visible = true
@Money_window.active = false
@Money_window.visible = false
@help_window.set_text("")
return
end
if Input.trigger?(Input::C)
case @Money_window.index
when 0
@help_window.set_text("El banco dispone de " + $game_party.gold2.to_s + " " + $data_system.words.gold)
@Money_window.active = false
@input_window.visible = true
@input_window.max = $game_party.gold
@input_window.active = true
when 1
@help_window.set_text("El grupo dispone de " + $game_party.gold.to_s + " " + $data_system.words.gold)
@input_window.visible = true
@Money_window.active = false
@input_window.max = $game_party.gold2
@input_window.active = true
end
return
end
end
#--------------------------------------------------------------
def update_buy
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@dummy_window.visible = true
@buy_window.active = false
@buy_window.visible = true
@help_window.set_text("")
return
end
if Input.trigger?(Input::C)
@item = @buy_window.item
if @item == nil
$game_system.se_play($data_system.buzzer_se)
return
end
case @item
when RPG::Item
number = $game_party.item_number2(@item.id)
when RPG::Weapon
number = $game_party.weapon_number2(@item.id)
when RPG::Armor
number = $game_party.armor_number2(@item.id)
end
max = number
$game_system.se_play($data_system.decision_se)
@buy_window.active = false
@buy_window.visible = true
@number_window.set(@item, max)
@number_window.active = true
@number_window.visible = true
end
end
# ------------------------------------
def update_sell
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@dummy_window.visible = true
@sell_window.active = false
@sell_window.visible = true
@help_window.set_text("")
return
end
if Input.trigger?(Input::C)
@item = @sell_window.item
if @item == nil or @item.price == 0
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
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
max = number
@sell_window.active = false
@sell_window.visible = true
@Money_window.active = false
@Money_window.visible = false
@number_window.set(@item, max)
@number_window.active = true
@number_window.visible = true
end
end
# ------------------------------------
def update_number
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@number_window.active = false
@number_window.visible = false

case @command_window.index
when 0
@buy_window.active = true
@buy_window.visible = true
when 1
@sell_window.active = true
@sell_window.visible = true
end
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.shop_se)
@number_window.active = false
@number_window.visible = false
@Money_window.active = false
@Money_window.visible = false
case @command_window.index
when 0
case @item
when RPG::Item
$game_party.gain_item(@item.id, @number_window.number)
$game_party.lose_item2(@item.id, @number_window.number)
when RPG::Weapon
$game_party.gain_weapon(@item.id, @number_window.number)
$game_party.lose_weapon2(@item.id, @number_window.number)
when RPG::Armor
$game_party.gain_armor(@item.id, @number_window.number)
$game_party.lose_armor2(@item.id, @number_window.number)
end
@buy_window.refresh
@sell_window.refresh
@buy_window.active = true
@buy_window.visible = true
@sell_window.active =false
@sell_window.visible = true
@Money_window.active = false
@Money_window.visible = false
when 1
case @item
when RPG::Item
$game_party.lose_item(@item.id, @number_window.number)
$game_party.gain_item2(@item.id, @number_window.number)
when RPG::Weapon
$game_party.lose_weapon(@item.id, @number_window.number)
$game_party.gain_weapon2(@item.id, @number_window.number)
when RPG::Armor
$game_party.lose_armor(@item.id, @number_window.number)
$game_party.gain_armor2(@item.id, @number_window.number)
end
@buy_window.refresh
@sell_window.refresh
@buy_window.active = false
@buy_window.visible = true
@sell_window.active = true
@sell_window.visible = true
@Money_window.active = false
@Money_window.visible = false
end
return
end
end
end
#-------------------------------------------------------------------------
def update_input
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@input_window.active = false
@input_window.visible = false
@Money_window.active = true
@Money_window.visible = true
@buy_window.active = false
@buy_window.visible = true
@sell_window.active = false
@sell_window.visible = true
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.shop_se)
@input_window.active = false
@input_window.visible = false
@Money_window.active = false
@Money_window.visible = true
case @Money_window.index
when 0
$game_party.gain_gold(@input_window.number)
$game_party.lose_gold2(@input_window.number)
@buy_window.refresh
@sell_window.refresh
@buy_window.active = false
@buy_window.visible = false
@sell_window.active =false
@sell_window.visible = false
@input_window.active = false
@input_window.visible = false
@Money_window.active = false
@Money_window.visible = false
@command_window.active = true
@help_window.set_text("")
when 1
$game_party.gain_gold2(@input_window.number)
$game_party.lose_gold(@input_window.number)
@buy_window.refresh
@sell_window.refresh
@buy_window.active = false
@buy_window.visible = false
@sell_window.active =false
@sell_window.visible = false
@input_window.active = false
@input_window.visible = false
@Money_window.active = false
@Money_window.visible = false
@command_window.active = true
@help_window.set_text("")
end
return
end
end


Si todo está bien puesto, para que aparezca el menú, solo debeis hace esta llamada a script desde cualquier evento:


$game_temp.bank_calling = true


Espero que os valla bien, necesito ayuda para corregir todos los errores. Que haberlos, los hay ^^U.gif

Un saludo
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #114 (permalink)  
Antiguo 10-jul-2008, 03:21
Avatar de Aka-Kun
Maestro del foro
 
Fecha de Ingreso: junio-2007
Ubicación: Japon
Mensajes: 2,563
Predeterminado Re: Aportes de Scripts RPG-Maker

Inventario Avanzado

Descripción
Crea un menú de objetos (inventario) más complejo dividido por categorías de objetos y con opciones de descarte de objetos y organización.

Screens:
Spoiler

Script:
Spoiler

Instrucciones:
1.- El script comenzará a funcionar en cuanto lo pongas sobre Main.
2.- Puedes renombrar las opciones en las líneas 33 a 36.
3.- Puedes configurar la velocidad con la que el menú pasa entre las categorias y las opciones (entre 1 y 5) en la línea 37.

Créditos:
Script creado por Dark Chocobo.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #115 (permalink)  
Antiguo 19-jul-2008, 00:02
Avatar de binguito96
Jr. Member
 
Fecha de Ingreso: febrero-2008
Ubicación: me muevo
Mensajes: 220
Enviar un mensaje por MSN a binguito96 Enviar un mensaje por Yahoo  a binguito96
Predeterminado Re: Aportes de Scripts RPG-Maker

Cita:
Empezado por - Akatsuki - Ver Mensaje
aqui tienes:

PHS (ESTILO: FF7)

Explicación (Dummy)
Esto ayuda para cambiar a los personajes que están en el banquillo por los que están activos en el juego. Este script resiste 8 personajes.

Explicacion (Inteligente)
Pues nada empiezas tu juego con un prota (1) ... blablabla ves a otro prota se une.
usas el evento agregar actor. lalalala. a medida que pasa el juego se unen 2 más
ya completaríamos los 4. ahora los cuatro que le siguen se van para el banquillo xDD
siempre usando el evento de agregar actor.
ya cuando tengas más de 4 y máximo 8.
Puedes llamar el PHS, para usar su función:

Spoiler


ahi veras estas Screens.
Spoiler

y bueno sales y sigues tu aventura...

Script:

Spoiler


Arreglado el script... ahora en vez de usar el evento agregar actor debes activar el swith 1 a 8 para que se agrege al PHS.
cada switch del 1 al 8 sera para un personaje (No incluye el prota inicial)
si quieres que el prota se vaya a los activos y salga el char en el PHS
debes activar el switch y agregar actor xD

Creditos: Alexus

cya!
Oye, yo hice un objeto para que funcionara, le puse un evento comun en que llamo el script, pero cuando pongo el objeto, solo me sale un personaje, intente usar todos los botones del teclado, y solo el X hace algo, me sale del menu ¿Cómo soluciono esto?