Últimos temas
» [Publicidad] El Temido
por ZororoWhite Ayer a las 10:06 pm

» Los audios importados no aparecen!!
por ZororoWhite Ayer a las 12:40 pm

» Como pasar algo hecho en VX Ace a Mv
por Iskachu 2000 Ayer a las 2:09 am

» Ayuda con engine de Stamina al correr (RPGMXP)
por Athelstan Lun Jun 24, 2019 10:52 pm

» [VXACE] Como mostrar una IMG al abrir un objeto
por brrt Lun Jun 24, 2019 5:48 pm

» MV - THE LOST WARRIOR
por mrsanty Lun Jun 24, 2019 5:31 am

» Se buscan beta-testers
por brrt Dom Jun 23, 2019 3:17 am

» ¿ como asignar un objeto a una letra del teclado rpg make mv?
por mrsanty Sáb Jun 22, 2019 5:57 pm

» ¿Nueva forma de Convertir un proyecto de VX Ace a MV?
por KRiZaLiD Sáb Jun 22, 2019 6:17 am

» AYUDA CON UNA CHAR
por Jack:v Sáb Jun 22, 2019 5:41 am

» [Unity 2D] El Temido
por ZororoWhite Vie Jun 21, 2019 11:07 pm

» Script de Barra de Vida para RPG Maker VX
por ChronoTXT Jue Jun 20, 2019 11:51 pm


respecto al script "algo" especial...

Ir abajo

respecto al script "algo" especial... Empty respecto al script "algo" especial...

Mensaje por Klayer el Jue Nov 15, 2018 9:39 pm

Esto va sobre el apartado de ayuda que hice  -Un script "algo" especial-
la cosa esque encontré la forma de usar objetos con evento a través de un script, y tengo otro para la combinación de objetos.
El problema viene cuando el último script mencionado (sin modificarlo) me da éste error al iniciar el juego:
respecto al script "algo" especial... 110
El script que da el problema es este:
Combine_scene de efeberk:







[ltr]=begin
===============================================================================
Scene_Combine by efeberk
Version: RGSS3
===============================================================================
This script will allow to combine two items and generate a new item from
combined items. The scene is similiar with item_window. Actually you can use
Scene_Combine instead of Scene_Item because there is an option named "Use" that
allows you to use items. Why you need Item scene?

Example : You have 1 potion and 1 stimulant. Combine them and generate a new
Ultra stimulant.
--------------------------------------------------------------------------------

How to open Scene_Combine:

SceneManager.call(Scene_Combine)

Note : This script works on Items, Weapons and Armors
=end

module EFE
COMBINE_BUTTON = "Combine"
USE_BUTTON = "Use"
SUCCESS = "Items have been combined succesfully"

#Item name will be colored when you select an item in the list.
SELECTED_COLOR = 14


COMBINATIONS = [

#[[item1, ], [item2, ], [result, ]],
#[[item1, ], [item2, ], [result, ]],
[[1, :item],[2, :weapon], [3, :armor]],
[[8, :item],[9, :item], [3, :armor]]

]
end

#==============================================================================
# ** Window_ItemKategory
#------------------------------------------------------------------------------
# This window is for selecting a category of normal items and equipment
# on the item screen or shop screen.
#==============================================================================

class Window_ItemKategory < Window_HorzCommand
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :item_window
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0)
end
#--------------------------------------------------------------------------
# * Get Window Width
#--------------------------------------------------------------------------
def window_width
Graphics.width
end
#--------------------------------------------------------------------------
# * Get Digit Count
#--------------------------------------------------------------------------
def col_max
return 4
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
@item_window.category = current_symbol if @item_window
end
#--------------------------------------------------------------------------
# * Create Command List
#--------------------------------------------------------------------------
def make_command_list
add_command(Vocab::item, :item)
add_command(Vocab::weapon, :weapon)
add_command(Vocab::armor, :armor)
add_command(Vocab::key_item, :key_item)
end
#--------------------------------------------------------------------------
# * Set Item Window
#--------------------------------------------------------------------------
def item_window=(item_window)
@item_window = item_window
update
end
end


class Window_ItemListe < Window_Selectable

attr_reader :accepted_items
attr_reader :combining

def initialize(x, y, width, height)
super
@combining = false
@accepted_items = []
@category = :none
@data = []
end

def combining=(combine)
@combining = combine
end

def category=(category)
return if @category == category
@category = category
refresh
self.oy = 0
end

def col_max
return 2
end

def item_max
@data ? @data.size : 1
end

def item
@data && index >= 0 ? @data[index] : nil
end

def current_item_enabled?
enable?(@data[index])
end

def include?(item)
case @category
when :item
item.is_a?(RPG::Item) && !item.key_item?
when :weapon
item.is_a?(RPG::Weapon)
when :armor
item.is_a?(RPG::Armor)
when :key_item
item.is_a?(RPG::Item) && item.key_item?
else
false
end
end

def draw_item_name(item, x, y, enabled = true, width = 172)
return unless item
draw_icon(item.icon_index, x, y, enabled)
draw_text(x + 24, y, width, line_height, item.name)
end

def enable?(item)
return true if @combining
$game_party.usable?(item)
end

def make_item_list
@data = $game_party.all_items.select {|item| include?(item) }
@data.push(nil) if include?(nil)
end

def select_last
select(@data.index($game_party.last_item.object) || 0)
end

def draw_item(index)
item = @data[index]
if item
rect = item_rect(index)
rect.width -= 4
k = [item.id, ] if item.is_a?(RPG::Item)
k = [item.id, ] if item.is_a?(RPG::Weapon)
k = [item.id, ] if item.is_a?(RPG::Armor)
change_color(normal_color, enable?(item))
change_color(text_color(EFE::SELECTED_COLOR), enable?(item)) if @accepted_items.include?(k)
draw_item_name(item, rect.x, rect.y, enable?(item))
draw_item_number(rect, item)
end
end

def draw_item_number(rect, item)
draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2)
end

def update_help
@help_window.set_item(item)
end

def refresh
make_item_list
create_contents
draw_all_items
end
end


class Window_AcceptCombination < Window_HorzCommand

def initialize(x, y)
super(x, y)
self.z = 0
end

def window_width
return Graphics.width
end

def col_max
return 2
end

def make_command_list
add_command(EFE::COMBINE_BUTTON, :combine)
add_command(EFE::USE_BUTTON, :use)
end
end

class Scene_Combine < Scene_ItemBase

def start
super
create_help_window
create_options_window
create_category_window
create_item_window
end

def create_options_window
@options_window = Window_AcceptCombination.new(0, @help_window.y + @help_window.height)
@options_window.set_handler(:combine, method(:combine_ok))
@options_window.set_handler(:use, method(:use_ok))
@options_window.set_handler(:cancel, method(:return_scene))
end

def combine_ok
@item_window.combining = true
@combine = true
@category_window.item_window = @item_window
@options_window.deactivate.unselect
@category_window.activate.select(0)
end

def use_ok
@item_window.combining = false
@category_window.item_window = @item_window
@options_window.deactivate.unselect
@category_window.activate.select(0)
end

def create_category_window
@category_window = Window_ItemKategory.new
@category_window.viewport = @viewport
@category_window.help_window = @help_window
@category_window.y = @help_window.height + @options_window.height
@category_window.set_handler(:ok, method(:on_category_ok))
@category_window.set_handler(:cancel, method(:on_category_cancel))
end

def create_item_window
wy = @category_window.y + @category_window.height
wh = Graphics.height - wy
@item_window = Window_ItemListe.new(0, wy, Graphics.width, wh)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.set_handler(:ok, method(:on_item_ok))
@item_window.set_handler(:cancel, method(:on_item_cancel))
@category_window.deactivate.unselect
end

def on_category_ok
@item_window.activate
@item_window.select_last
end

def on_category_cancel
@item_window.deactivate.unselect
@item_window.accepted_items.clear
@category_window.deactivate.unselect
@options_window.activate.select(0)
end

def on_item_ok
k = [@item_window.item.id, :item] if @item_window.item.is_a?(RPG::Item)
k = [@item_window.item.id, :weapon] if @item_window.item.is_a?(RPG::Weapon)
k = [@item_window.item.id, :armor] if @item_window.item.is_a?(RPG::Armor)
if !@item_window.combining
@options_window.deactivate
$game_party.last_item.object = item
determine_item
else
if @item_window.accepted_items.include?(k)
@item_window.accepted_items.delete(k)
else
@item_window.accepted_items.push(k)
end
if @item_window.accepted_items.size == 2
check_combinations(@item_window.accepted_items[0], @item_window.accepted_items[1])
@item_window.refresh
else
@item_window.refresh
@item_window.activate
end
end
end

def check_combinations(id1, id2)
EFE::COMBINATIONS.each {|i|
if (id1 == i[0] || id1 == i[1]) && (id2 == i[0] || id2 == i[1])
@combineitem1 = $data_items[i[0][0]] if i[0][1] == :item
@combineitem1 = $data_weapons[i[0][0]] if i[0][1] == :weapon
@combineitem1 = $data_armors[i[0][0]] if i[0][1] == :armor
@combineitem2 = $data_items[i[1][0]] if i[1][1] == :item
@combineitem2 = $data_weapons[i[1][0]] if i[1][1] == :weapon
@combineitem2 = $data_armors[i[1][0]] if i[1][1] == :armor
@resultitem = $data_items[i[2][0]] if i[2][1] == :item
@resultitem = $data_weapons[i[2][0]] if i[2][1] == :weapon
@resultitem = $data_armors[i[2][0]] if i[2][1] == :armor
@item_window.accepted_items.clear
@item_window.refresh
@item_window.activate
$game_party.lose_item(@combineitem1, 1)
$game_party.lose_item(@combineitem2, 1)
$game_party.gain_item(@resultitem, 1)
messagebox(EFE::SUCCESS, 400)
return
end
}
@item_window.accepted_items.clear
@item_window.refresh
@item_window.activate
end

def on_item_cancel
@item_window.unselect
@category_window.activate
end

def play_se_for_item
Sound.play_use_item
end

def use_item
super
@item_window.redraw_current_item
end
end

=begin
===============================================================================
MessageBox by efeberk
Version: RGSS3
===============================================================================
This script will allow to open a new messagebox window only with a text.
--------------------------------------------------------------------------------

Call MessageBox in Script:

messagebox(text, width)

width : width of the window

=end

class Window_MessageBox < Window_Base

def initialize(x, y, text, width)
super(x, y, width, fitting_height(1))
refresh(text)
end


def refresh(text)
draw_text(0, 0, contents_width, line_height, text, 1)
end

end

class Scene_MessageBox < Scene_Base

def start
super
create_message_window
create_background
end

def prepare(text, width)
@text = text
@width = width
end

def update
super
if Input.repeat?(: || Input.repeat?(:C)
SceneManager.return
end
end

def create_message_window
@message_window = Window_MessageBox.new(0, 0, @text, @width)
@message_window.width = @width
@message_window.x = (Graphics.width / 2) - (@message_window.width / 2)
@message_window.y = (Graphics.height / 2) - (@message_window.height / 2)
end

def create_background
@background_sprite = Sprite.new
@background_sprite.bitmap = SceneManager.background_bitmap
@background_sprite.color.set(100, 100, 100, 128)
end
end

def messagebox(text, width)
SceneManager.call(Scene_MessageBox)
SceneManager.scene.prepare(text, width) [/ltr]







end

algún experto en el tema de scripts podría ayudarme?
Klayer
Klayer
PJ Recurrente
PJ Recurrente

Masculino
España
RPG Maker : Ace
Mensajes : 109
Monedas : 182
Reputación : 11
Edad : 18
Localización : Chaosworld

Volver arriba Ir abajo

respecto al script "algo" especial... Empty Re: respecto al script "algo" especial...

Mensaje por Serial-Ripper el Jue Nov 15, 2018 10:44 pm

No sé de donde salió el script pero sorprendentemente se debe a un problema con un emoticono.

La línea que está mal es esta: if Input.repeat?(: || Input.repeat?(:C)

Si te fijas en la primera parte, falta una letra y un cierre de paréntesis. Concretamente la letra sería la B.
El script entendió B) como un emoticono Cool al ponerlo al foro.

Quedará: if Input.repeat?(:B) || Input.repeat?(:C)

Puede que el script tenga más errores de ese tipo, así que ten cuidado con eso.

Serial-Ripper
PJ de Relleno
PJ de Relleno

Cuba
RPG Maker : Xp
Mensajes : 1
Monedas : 1
Reputación : 0

Volver arriba Ir abajo

respecto al script "algo" especial... Empty Funcionó!

Mensaje por Klayer el Vie Nov 16, 2018 6:47 am

@Serial-Ripper escribió:No sé de donde salió el script pero sorprendentemente se debe a un problema con un emoticono.

La línea que está mal es esta: if Input.repeat?(: || Input.repeat?(:C)

Si te fijas en la primera parte, falta una letra y un cierre de paréntesis. Concretamente la letra sería la B.
El script entendió B) como un emoticono Cool al ponerlo al foro.

Quedará: if Input.repeat?(:B) || Input.repeat?(:C)

Puede que el script tenga más errores de ese tipo, así que ten cuidado con eso.
Gracias amigo,  en serio.  Eres increíble! 
Klayer
Klayer
PJ Recurrente
PJ Recurrente

Masculino
España
RPG Maker : Ace
Mensajes : 109
Monedas : 182
Reputación : 11
Edad : 18
Localización : Chaosworld

Volver arriba Ir abajo

respecto al script "algo" especial... Empty Re: respecto al script "algo" especial...

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.