Últimos temas
» [NUEVO] ¡Servidor oficial de Rmakercom en Discord!
por Tonitron Hoy a las 6:10 pm

» La Brújula de Zaza (JUEGO COMPLETO) (VXACE)
por Pocari Hoy a las 3:42 pm

» [PUBLICIDAD] LA BRÚJULA DE ZAZA
por TurbiGRF Vie Nov 27, 2020 1:39 pm

» ¿Como puedo hacer una pantalla de gameover animada?
por Josegames js Mar Nov 24, 2020 8:43 pm

» El Día Z (Juego Completo) (VX ACE)
por EdwarPlay Mar Nov 24, 2020 8:21 pm

» [Resuelto] Modificación en el sistema de batalla
por Zeivia Mar Nov 24, 2020 9:38 am

» [ACE] Chaos of Destiny
por Klayer Lun Nov 23, 2020 12:44 pm

» LA BRÚJULA DE ZAZA [VXACE]
por ZororoWhite Dom Nov 22, 2020 5:16 pm

» RMXP Chrono Trigger ¿Es Posible? ¡Ayuda!
por KRiZaLiD Dom Nov 22, 2020 4:20 am

» Nombre del pueblo o del personaje visible
por Markus82 Sáb Nov 21, 2020 11:32 pm

» (Actualizado) Into the Factory - DEMO Disponible
por Defcon Sáb Nov 21, 2020 2:40 am

» [RMXP] Problema con Importación de Tilesets
por JapoZero Sáb Nov 14, 2020 7:34 am


Fallo en script de crafteo (RGSS3)

Ir abajo

Fallo en script de crafteo (RGSS3) Empty Fallo en script de crafteo (RGSS3)

Mensaje por Klayer el Mar Ago 25, 2020 1:03 pm

Hola de nuevo, mi gente menos rubia que yo.
Vengo de vuelta para pediros un pequeño favor, puesto que intento terminar los proyectos que tengo pendientes.
Siempre había usado un script de crafting para uno de mis proyectos y nunca me había dado problemas.
Estos últimos días ha comenzado a fallar y me gustaría encontrar a alguien que supiese más o menos qué ocurre, para poder solucionarlo.
Fallo en script de crafteo (RGSS3) Sin_tz10


Script:
Spoiler:
# )----------------------------------------------------------------------------(
# )--     AUTHOR:     Mr. Trivel                                             --(
# )--     NAME:       Crafting Simple                                        --(
# )--     CREATED:    2014-06-25                                             --(
# )--     VERSION:    1.0                                                    --(
# )----------------------------------------------------------------------------(
# )--                         VERSION HISTORY                                --(
# )--  1.0 - Initial Release                                                 --(
# )----------------------------------------------------------------------------(
# )--                          DESCRIPTION                                   --(
# )--  Adds crafting. Infinite amount of different crafting Disciplines, each--(
# )--  having it's own level. Recipes can be learned by calling a method or  --(
# )--  by gaining a higher level in specific crafting discipline.            --(
# )----------------------------------------------------------------------------(
# )--                          INSTRUCTIONS                                  --(
# )--                  Carefully set up everything.                          --(
# )--          Learn new recipes by calling learn_recipe(id) method          --(
# )--  Call crafting scene by calling SceneManager.call(MrTS_Scene_Crafting) --(
# )----------------------------------------------------------------------------(
# )--                          LICENSE INFO                                  --(
# )--    http://mrtrivelvx.wordpress.com/terms-of-use/                       --(
# )----------------------------------------------------------------------------(

# )----------------------------------------------------------------------------(
# )--         Main Crafting module - Setup all data you want here.           --(
# )----------------------------------------------------------------------------(
module MrTS
 module Crafting
   # )------------------------------------------------------------------------(
   # )--  Formula for craft levels exp requirements.                        --(
   # )--  "50 * lvl" would mean level 1 requires 50 EXP, level 2 - 100 EXP..--(
   # )------------------------------------------------------------------------(
   CRAFT_EXP_FORMULA = "50 * lvl"
 
   # )------------------------------------------------------------------------(
   # )--  Max level of Discipline player can reach.                         --(
   # )------------------------------------------------------------------------(
   CRAFT_MAX_LEVEL = 60
 
   # )------------------------------------------------------------------------(
   # )--  Setup your Discipline names here.                                 --(
   # )------------------------------------------------------------------------(
   DISCIPLINES = { 0 => "Armas",
                   1 => "Comida",
                   2 => "Armaduras",
                   3 => "Pociones",
                   4 => "Otros",
                   5 => "Materiales",
                 }
   # )------------------------------------------------------------------------(
   # )--  Setup Recipes here.                                               --(
   # )------------------------------------------------------------------------(
   # )--  TYPE - 0: Item, 1: Weapon: 2: Armor                               --(
   # )--  ITEM = [TYPE, ID, AMOUNT]                                         --(
   # )------------------------------------------------------------------------(
   # )--  :discipline => ID of the Discipline, the DISCIPLINES Key value.   --(
   # )--                                                                    --(
   # )--  :item => [TYPE, ID, AMOUNT] - What item Player gets from crafting --(
   # )--  with this recipe. ID from database. AMOUNT - how much of the item --(
   # )--  Player gets                                                       --(
   # )--                                                                    --(
   # )--  :exp => AMOUNT - How much Discipline EXP Player gets.             --(
   # )--                                                                    --(
   # )--  :ingredients => [ITEM, ITEM, ITEM]                                --(
   # )--  What items Player requires to be able to craft using this Recipe. --(
   # )--  E.g. [[0, 10, 7], [1, 15, 1]]                                     --(
   # )--                                                                    --(
   # )--  :unlocking => HOW - "default" it will be there by default (only   --(
   # )--  shown if player has sufficient discipline level requirement.       --(
   # )--  "learn" - learned from method call learn_recipe(ID)               --(
   # )--                                                                    --(
   # )--  :level_req - LEVEL - Discipline level requirement                 --(
   # )------------------------------------------------------------------------(
   RECIPES = {
     0 => {
         :discipline   => 1,
         :item         => [0,2,1],
         :exp          => 5,
         :ingredients  => [[0,3,2],[0,4,1]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     1 => {
         :discipline   => 4,
         :item         => [0,61,1],
         :exp          => 8,
         :ingredients  => [[0,44,1],[0,62,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     2 => {
         :discipline   => 1,
         :item         => [0,59,1],
         :exp          => 10,
         :ingredients  => [[0,22,2],[0,41,2],[0,40,2],[0,61,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     3 => {
         :discipline   => 3,
         :item         => [0,95,1],
         :exp          => 8,
         :ingredients  => [[0,80,3],[0,83,2],[0,68,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     4 => {
         :discipline   => 3,
         :item         => [0,97,1],
         :exp          => 20,
         :ingredients  => [[0,85,1],[0,95,4]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     5 => {
         :discipline   => 1,
         :item         => [0,5,1],
         :exp          => 8,
         :ingredients  => [[0,16,2],[0,53,2],[0,101,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     6 => {
         :discipline   => 4,
         :item         => [0,32,1],
         :exp          => 15,
         :ingredients  => [[0,29,3],[0,30,2]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     7 => {
         :discipline   => 4,
         :item         => [0,14,1],
         :exp          => 2,
         :ingredients  => [[0,29,1],[0,42,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     8 => {
         :discipline   => 5,
         :item         => [0,29,1],
         :exp          => 3,
         :ingredients  => [[0,17,2]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     9 => {
         :discipline   => 5,
         :item         => [0,30,1],
         :exp          => 8,
         :ingredients  => [[0,17,2]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     10 => {
         :discipline   => 5,
         :item         => [0,42,1],
         :exp          => 5,
         :ingredients  => [[0,17,3]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     11=> {
         :discipline   => 5,
         :item         => [0,62,1],
         :exp          => 10,
         :ingredients  => [[0,17,2]],      
         :unlocking    => "default",
         :level_req    => 2
     },
     12 => {
         :discipline   => 5,
         :item         => [0,44,1],
         :exp          => 12,
         :ingredients  => [[0,17,3]],      
         :unlocking    => "default",
         :level_req    => 2
     },
     13 => {
         :discipline   => 5,
         :item         => [0,43,1],
         :exp          => 13,
         :ingredients  => [[0,17,5]],      
         :unlocking    => "default",
         :level_req    => 2
     },
     14=> {
         :discipline   => 5,
         :item         => [0,49,1],
         :exp          => 10,
         :ingredients  => [[0,17,4],[0,61,1]],      
         :unlocking    => "default",
         :level_req    => 3
     },
     15 => {
         :discipline   => 5,
         :item         => [0,50,1],
         :exp          => 5,
         :ingredients  => [[0,17,2],[0,61,1]],      
         :unlocking    => "default",
         :level_req    => 3
     },
     16 => {
         :discipline   => 5,
         :item         => [0,51,1],
         :exp          => 15,
         :ingredients  => [[0,17,6],[0,61,1]],      
         :unlocking    => "default",
         :level_req    => 3
     },
     17=> {
         :discipline   => 5,
         :item         => [0,31,1],
         :exp          => 12,
         :ingredients  => [[0,17,4]],      
         :unlocking    => "default",
         :level_req    => 4
     },
     18 => {
         :discipline   => 5,
         :item         => [0,45,1],
         :exp          => 10,
         :ingredients  => [[0,17,3]],      
         :unlocking    => "default",
         :level_req    => 4
     },
     19 => {
         :discipline   => 5,
         :item         => [0,46,1],
         :exp          => 18,
         :ingredients  => [[0,17,3]],      
         :unlocking    => "default",
         :level_req    => 4
     },
     20 => {
         :discipline   => 0,
         :item         => [1,4,1],
         :exp          => 10,
         :ingredients  => [[1,2,1],[1,1,1]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     21 => {
         :discipline   => 1,
         :item         => [0,118,1],
         :exp          => 12,
         :ingredients  => [[0,40,1],[0,116,2],[0,63,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     22 => {
         :discipline   => 1,
         :item         => [0,6,1],
         :exp          => 25,
         :ingredients  => [[0,13,1],[0,108,1],[0,109,1],[0,107,1],[0,104,1],[0,106,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     23 => {
         :discipline   => 1,
         :item         => [0,60,1],
         :exp          => 36,
         :ingredients  => [[0,105,1],[0,104,1],[0,110,1],[0,108,1],[0,49,1],[0,114,1],[0,119,1],[0,115,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     24 => {
         :discipline   => 1,
         :item         => [0,120,3],
         :exp          => 10,
         :ingredients  => [[0,102,1],[0,103,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     25 => {
         :discipline   => 1,
         :item         => [0,122,1],
         :exp          => 25,
         :ingredients  => [[0,113,2],[0,112,7],[0,111,4],[0,109,3],[0,63,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     26 => {
         :discipline   => 1,
         :item         => [0,121,1],
         :exp          => 12,
         :ingredients  => [[0,113,1],[0,112,2],[0,63,1],[0,111,2]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     27 => {
         :discipline   => 4,
         :item         => [0,127,1],
         :exp          => 30,
         :ingredients  => [[0,89,1],[0,68,1],[0,45,2]],      
         :unlocking    => "default",
         :level_req    => 4
     },
     28 => {
         :discipline   => 4,
         :item         => [0,125,1],
         :exp          => 26,
         :ingredients  => [[0,50,2],[0,44,1],[0,45,2]],      
         :unlocking    => "default",
         :level_req    => 3
     },
     29 => {
         :discipline   => 4,
         :item         => [0,126,1],
         :exp          => 11,
         :ingredients  => [[0,29,3]],      
         :unlocking    => "default",
         :level_req    => 2
     },
     30 => {
         :discipline   => 4,
         :item         => [0,124,1],
         :exp          => 18,
         :ingredients  => [[0,62,3]],      
         :unlocking    => "default",
         :level_req    => 2
     },
     31 => {
         :discipline   => 4,
         :item         => [0,123,1],
         :exp          => 30,
         :ingredients  => [[0,79,8]],      
         :unlocking    => "default",
         :level_req    => 3
     },
     32 => {
         :discipline   => 3,
         :item         => [0,130,1],
         :exp          => 9,
         :ingredients  => [[0,3,5]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     33 => {
         :discipline   => 4,
         :item         => [0,129,1],
         :exp          => 21,
         :ingredients  => [[0,125,1],[0,126,1],[0,68,1]],      
         :unlocking    => "default",
         :level_req    => 5
     },
     34 => {
         :discipline   => 3,
         :item         => [0,128,1],
         :exp          => 45 ,
         :ingredients  => [[0,127,2],[0,129,2],[0,125,1],[0,61,1]],      
         :unlocking    => "default",
         :level_req    => 4
     },
     35 => {
         :discipline   => 2,
         :item         => [2,12,1],
         :exp          => 20 ,
         :ingredients  => [[0,132,1],[0,88,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     36 => {
         :discipline   => 2,
         :item         => [2,8,1],
         :exp          => 20 ,
         :ingredients  => [[0,133,1],[0,134,1],[0,88,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     37 => {
         :discipline   => 0,
         :item         => [1,5,1],
         :exp          => 23 ,
         :ingredients  => [[0,133,1],[0,134,1],[0,87,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     38 => {
         :discipline   => 0,
         :item         => [1,10,1],
         :exp          => 23 ,
         :ingredients  => [[0,132,1],[0,87,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     39 => {
         :discipline   => 4,
         :item         => [0,141,1],
         :exp          => 8 ,
         :ingredients  => [[0,43,3]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     40 => {
         :discipline   => 4,
         :item         => [0,142,1],
         :exp          => 35 ,
         :ingredients  => [[0,15,50],[0,141,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     41 => {
         :discipline   => 4,
         :item         => [0,8,1],
         :exp          => 28 ,
         :ingredients  => [[0,143,1],[0,144,2]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
      42 => {
         :discipline   => 3,
         :item         => [0,73,1],
         :exp          => 30 ,
         :ingredients  => [[0,146,1],[0,44,2],[0,126,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
      43 => {
         :discipline   => 3,
         :item         => [0,147,1],
         :exp          => 58 ,
         :ingredients  => [[0,129,1],[0,3,2],[0,9,3],[0,61,1]],      
         :unlocking    => "default",
         :level_req    => 7
     },
      44 => {
         :discipline   => 4,
         :item         => [0,150,1],
         :exp          => 3 ,
         :ingredients  => [[0,144,1]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     45 => {
         :discipline   => 0,
         :item         => [1,9,1],
         :exp          => 23 ,
         :ingredients  => [[1,3,1],[1,5,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     46 => {
         :discipline   => 2,
         :item         => [2,14,1],
         :exp          => 30 ,
         :ingredients  => [[0,145,4],[0,125,2]],      
         :unlocking    => "default",
         :level_req    => 2
     },
     47 => {
         :discipline   => 2,
         :item         => [2,15,1],
         :exp          => 35 ,
         :ingredients  => [[0,146,1],[0,125,2]],      
         :unlocking    => "default",
         :level_req    => 2
     },
     48 => {
         :discipline   => 4,
         :item         => [0,182,1],
         :exp          => 20 ,
         :ingredients  => [[0,29,2],[0,144,2]],      
         :unlocking    => "default",
         :level_req    => 3
     },
     49 => {
         :discipline   => 4,
         :item         => [0,183,1],
         :exp          => 20 ,
         :ingredients  => [[0,29,2],[0,144,2]],      
         :unlocking    => "default",
         :level_req    => 3
     },
     50 => {
         :discipline   => 3,
         :item         => [0,185,1],
         :exp          => 25 ,
         :ingredients  => [[0,184,1],[0,41,2],[0,61,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     51 => {
         :discipline   => 3,
         :item         => [0,73,1],
         :exp          => 38,
         :ingredients  => [[0,44,2],[0,129,1],[0,68,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     52 => {
         :discipline   => 4,
         :item         => [0,197,1],
         :exp          => 40,
         :ingredients  => [[0,44,2],[0,68,1],[0,198,1]],      
         :unlocking    => "learn",
         :level_req    => 0
     },
     53 => {
         :discipline   => 2,
         :item         => [2,17,1],
         :exp          => 10,
         :ingredients  => [[0,200,1],[0,4,1],[0,3,4]],      
         :unlocking    => "default",
         :level_req    => 0
     },
     }
 
   # )------------------------------------------------------------------------(
   # )--  Crafting command text.                                            --(
   # )------------------------------------------------------------------------(
   TEXT_CRAFT = "Construir"
 
   # )------------------------------------------------------------------------(
   # )--  Disciplines command text                                          --(
   # )------------------------------------------------------------------------(
   TEXT_DISCIPLINES = "Disciplinas"
 
   # )------------------------------------------------------------------------(
   # )--                  Setting up part - finished.                       --(
   # )------------------------------------------------------------------------(
 
   # )------------------------------------------------------------------------(
   # )--  Method: self.get_all_recipes                                      --(
   # )------------------------------------------------------------------------(
   def self.get_all_recipes(discipline)
     recipes = []
     RECIPES.each_key do |key|
       data = RECIPES[key]
       if  data[:discipline] == discipline &&
           data[:level_req] <= $game_party.get_discipline_level(discipline) &&
           (data[:unlocking] == "default" || $game_party.known_recipe?(key))
         recipes.push(key)
       end
     end
     return recipes
   end
 
 end
end

# )----------------------------------------------------------------------------(
# )--  Don't worry about this one.                                           --(
# )--                                                                        --(
$imported ||= {} ; $imported["MrTS_Crafting_Main"] = true #                  --(
# )----------------------------------------------------------------------------(

# )----------------------------------------------------------------------------(
# )--  Class: MrTS_Scene_Crafting                                            --(
# )----------------------------------------------------------------------------(
class MrTS_Scene_Crafting < Scene_Base

 # )--------------------------------------------------------------------------(
 # )--  Method: start                                                       --(
 # )--------------------------------------------------------------------------(
 def start
   create_main_viewport
   create_all_windows
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: create_all_windows                                          --(
 # )--------------------------------------------------------------------------(
 def create_all_windows
   create_help_window
   create_main_command_window
   create_discipline_info_window
   create_item_list_window
   create_requirements_window
   create_disciplines_command_window
 end

 # )--------------------------------------------------------------------------(
 # )-- All Windows
 # )-----

 # )--------------------------------------------------------------------------(
 # )--  Method: create_help_window                                          --(
 # )--------------------------------------------------------------------------(
 def create_help_window
   @help_window = Window_Help.new
   @help_window.viewport = @viewport
   @help_window.y = Graphics.height - @help_window.height
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: create_main_command_window                                  --(
 # )--------------------------------------------------------------------------(
 def create_main_command_window
   @command_window = MrTS_Main_Command_Window.new
   @command_window.set_handler(:discover_on, method(:command_discover_on))
   @command_window.set_handler(:discipline_on, method(:command_discipline_on))
   @command_window.set_handler(:craft_on, method(:command_craft_on))
   @command_window.set_handler(:cancel, method(:command_cancel_on))
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: create_discipline_info_window                               --(
 # )--------------------------------------------------------------------------(
 def create_discipline_info_window
   @discipline_info_window = MrTS_Discipline_Info_Window.new
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: create_item_list_window                                     --(
 # )--------------------------------------------------------------------------(
 def create_item_list_window
   @item_window = MrTS_Item_Window.new(@command_window.height, Graphics.height-@command_window.height-@help_window.height)
   @item_window.set_handler(:cancel, method(:item_list_cancel_on))
   @item_window.set_handler(:ok, method(:item_list_ok_on))
   @item_window.help_window = @help_window
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: create_requirements_window                                  --(
 # )--------------------------------------------------------------------------(
 def create_requirements_window
   @requirements_window = MrTS_Requirements_Window.new(@item_window.y, @item_window.height)
   @item_window.requirement_window = @requirements_window
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: create_disciplines_command_window                           --(
 # )--------------------------------------------------------------------------(
 def create_disciplines_command_window
   @discipline_command_window = MrTS_Discipline_Command_Window.new(@command_window.width/2, @command_window.height)
   @discipline_command_window.set_handler(:ok, method(:discipline_choice_on))
   @discipline_command_window.set_handler(:cancel, method(:discipline_cancel_on))
 end

 # )--------------------------------------------------------------------------(
 # )-- All methods for windows
 # )-----
 # )---
 # )--  Command Window
 # )-

 # )--------------------------------------------------------------------------(
 # )--  Method: command_discover_on                                         --(
 # )--------------------------------------------------------------------------(
 def command_discover_on
   @item_window.activate
   @item_window.type = 0
   @requirements_window.type = 0
   @item_window.refresh
   @item_window.select(0)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: command_craft_on                                    --(
 # )--------------------------------------------------------------------------(
 def command_craft_on
   @item_window.activate
   @item_window.type = 1
   @requirements_window.type = 1
   @item_window.refresh
   @item_window.select(0)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: command_discipline_on                                       --(
 # )--------------------------------------------------------------------------(
 def command_discipline_on
   @discipline_command_window.open
   @discipline_command_window.activate
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: command_cancel_on                                           --(
 # )--------------------------------------------------------------------------(
 def command_cancel_on
   return_scene
 end

 # )---
 # )--  Item List Window
 # )-

 # )--------------------------------------------------------------------------(
 # )--  Method: item_list_cancel_on                                         --(
 # )--------------------------------------------------------------------------(
 def item_list_cancel_on
   @item_window.unselect
   @command_window.activate
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: item_list_ok_on                                             --(
 # )--------------------------------------------------------------------------(
 def item_list_ok_on
   @requirements_window.craft_item
   @item_window.activate
   @discipline_info_window.refresh
   @item_window.refresh
 end

 # )---
 # )--  Discipline Command List Window
 # )-

 # )--------------------------------------------------------------------------(
 # )--  Method: discipline_choice_on                                        --(
 # )--------------------------------------------------------------------------(
 def discipline_choice_on
   i = @discipline_command_window.index
   @item_window.discipline = i
   @item_window.refresh
   @discipline_info_window.discipline = i
   @discipline_info_window.refresh
   @command_window.activate
   @discipline_command_window.close
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: discipline_cancel_on                                        --(
 # )--------------------------------------------------------------------------(
 def discipline_cancel_on
   @command_window.activate
   @discipline_command_window.close
 end  
end


# )----------------------------------------------------------------------------(
# )--  Class: MrTS_Requirements_Window                                       --(
# )----------------------------------------------------------------------------(
class MrTS_Requirements_Window < Window_Base

 # )--------------------------------------------------------------------------(
 # )--  Method: initialize                                                  --(
 # )--------------------------------------------------------------------------(
 def initialize(y, height)
   super(Graphics.width/2, y, Graphics.width/2, height)
   @type = 0
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: type=                                                       --(
 # )--------------------------------------------------------------------------(
 def type=(value)
   @type = value
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: get_true_item                                               --(
 # )--------------------------------------------------------------------------(
 def get_true_item(i)
   return unless i
   return [$data_items[i[1]], i[2]] if i[0] == 0
   return [$data_weapons[i[1]], i[2]] if i[0] == 1
   return [$data_armors[i[1]], i[2]] if i[0] == 2
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: set_recipe                                                  --(
 # )--------------------------------------------------------------------------(
 def set_recipe(item)
   return unless item
   @recipe = item
   @item_list = []
   MrTS::Crafting::RECIPES[@recipe][:ingredients].each { |i| @item_list.push(get_true_item(i)) }
   refresh
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: refresh                                                     --(
 # )--------------------------------------------------------------------------(
 def refresh
   contents.clear
   draw_window_name
   draw_item_requirements
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: draw_window_name                                            --(
 # )--------------------------------------------------------------------------(
 def draw_window_name
   change_color(system_color)
   draw_text(0,0,contents.width, line_height, @type == 1 ? "Requisitos" : "Items added:", 1)
   change_color(normal_color)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: draw_item_requirements                                      --(
 # )--------------------------------------------------------------------------(
 def draw_item_requirements
   return unless @recipe    
   a = 0
   @item_list.each do |il|
     y = line_height + line_height*a
     draw_item_name(il[0], 0, y)
     txt = "/" + il[1].to_s
     draw_text(0, y, contents.width, line_height, txt, 2)
     nmb = $game_party.item_number(il[0])
     change_color(nmb >= il[1] ? tp_cost_color : nmb == 0 ? power_down_color : crisis_color)
     draw_text(0, y, contents.width-text_size(txt).width, line_height, nmb, 2)
     a += 1
   end
   change_color(system_color)
   txt = "EXP: "
   txtw = text_size(txt).width
   draw_text(0, contents.height - line_height, contents.width-txtw, line_height, txt, 1)
   change_color(crisis_color)
   draw_text(0, contents.height - line_height, contents.width+txtw, line_height, MrTS::Crafting::RECIPES[@recipe][:exp].to_s, 1)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: craft_item                                                  --(
 # )--------------------------------------------------------------------------(
 def craft_item
   @item_list.each do |il|
     if $game_party.item_number(il[0]) < il[1]
       Sound.play_buzzer
       return
     end
   end
   @item_list.each do |il|
     $game_party.lose_item(il[0], il[1])
   end
   geto = get_true_item(MrTS::Crafting::RECIPES[@recipe][:item])
   $game_party.gain_item(geto[0], geto[1])
   $game_party.add_craft_exp(MrTS::Crafting::RECIPES[@recipe][:discipline], MrTS::Crafting::RECIPES[@recipe][:exp])
 end
end


# )----------------------------------------------------------------------------(
# )--  Class: MrTS_Item_Window                                               --(
# )----------------------------------------------------------------------------(
class MrTS_Item_Window < Window_Selectable

 # )--------------------------------------------------------------------------(
 # )--  Method: initialize                                                  --(
 # )--------------------------------------------------------------------------(
 def initialize(y, height)
   super(0, y, Graphics.width/2, height)
   @discipline = 0
   @type = 1
   @data = []
   @requirement_window = nil
   refresh
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: type=                                                       --(
 # )--------------------------------------------------------------------------(
 def type=(value)
   @type = value
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: discipline=                                                 --(
 # )--------------------------------------------------------------------------(
 def discipline=(value)
   @discipline = value
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: requirement_window=                                         --(
 # )--------------------------------------------------------------------------(
 def requirement_window=(value)
   @requirement_window = value
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: col_max                                                     --(
 # )--------------------------------------------------------------------------(
 def col_max
   return 1
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: item_max                                                    --(
 # )--------------------------------------------------------------------------(
 def item_max
   @data ? @data.size : 1
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: item                                                        --(
 # )--------------------------------------------------------------------------(
 def item
   @data && index >= 0 ? @data[index] : nil
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: current_item_enabled?                                       --(
 # )--------------------------------------------------------------------------(
 def current_item_enabled? ; true ;  end

 # )--------------------------------------------------------------------------(
 # )--  Method: include?                                                    --(
 # )--------------------------------------------------------------------------(
 def include?(item) ; true ;  end

 # )--------------------------------------------------------------------------(
 # )--  Method: discipline_cancel_on                                        --(
 # )--------------------------------------------------------------------------(
 def make_item_list
   @data = @type == 0 ? $game_party.all_items : MrTS::Crafting::get_all_recipes(@discipline)
 end

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

 # )--------------------------------------------------------------------------(
 # )--  Method: draw_item                                                   --(
 # )--------------------------------------------------------------------------(
 def draw_item(index)
   case @type
   when 0
     item = @data[index]
     if item
       rect = item_rect(index)
       rect.width -= 4
       draw_item_name(item, rect.x, rect.y, true)
       draw_item_number(rect, item)
     end
   when 1
     item = @data[index]
     if item
       rect = item_rect(index)
       rect.width -= 4
       draw_recipe_name(item, rect.x, rect.y, true)
     end
   end    
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: draw_recipe_name                                            --(
 # )--------------------------------------------------------------------------(
 def draw_recipe_name(item, x, y, enabled)
   return unless item
   true_item = get_true_item(item)
   draw_icon(true_item.icon_index, x, y, enabled)
   change_color(normal_color, enabled)
   draw_text(x + 24, y, width, line_height, true_item.name)
   draw_text(x, y, contents.width, line_height, sprintf("x%2d", $game_party.item_number(true_item)), 2)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: get_true_item                                               --(
 # )--------------------------------------------------------------------------(
 def get_true_item(i)
   return unless i
   temp = MrTS::Crafting::RECIPES[i][:item]
   return $data_items[temp[1]] if temp[0] == 0
   return $data_weapons[temp[1]] if temp[0] == 1
   return $data_armors[temp[1]] if temp[0] == 2
 end

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

 # )--------------------------------------------------------------------------(
 # )--  Method: update_help                                                 --(
 # )--------------------------------------------------------------------------(
 def update_help
   @help_window.set_item(@type == 0 ? item : get_true_item(item))
   @requirement_window.set_recipe(item) if @type == 1
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: refresh                                                     --(
 # )--------------------------------------------------------------------------(
 def refresh
   make_item_list
   create_contents
   draw_all_items
 end
end


# )----------------------------------------------------------------------------(
# )--  Class: MrTS_Discipline_Info_Window                                    --(
# )----------------------------------------------------------------------------(
class MrTS_Discipline_Info_Window < Window_Base

 # )--------------------------------------------------------------------------(
 # )--  Public Instance Variables                                           --(
 # )--------------------------------------------------------------------------(
 attr_writer :discipline

 # )--------------------------------------------------------------------------(
 # )--  Method: initialize                                                  --(
 # )--------------------------------------------------------------------------(
 def initialize
   super(Graphics.width - Graphics.width/2+50, 0, Graphics.width/2-50, line_height + standard_padding*2)
   @discipline = 0
   refresh
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: refresh                                                     --(
 # )--------------------------------------------------------------------------(
 def refresh
   contents.clear
   change_color(system_color)
   draw_text(0,-5,contents.width, line_height, MrTS::Crafting::DISCIPLINES[@discipline].to_s)
   change_color(normal_color)
   draw_text(0,-5,contents.width, line_height, "Lv: " + $game_party.get_discipline_level(@discipline).to_s,2)
   draw_gauge(0, 4, contents.width, $game_party.get_discipline_rate(@discipline), normal_color, crisis_color)
   make_font_smaller
   change_color(power_down_color)
   draw_text(10, 7, contents.width, line_height, $game_party.get_discipline_exp(@discipline).to_s + "/" + $game_party.get_discipline_next_level_exp(@discipline).to_s, 1)
   change_color(normal_color)
   make_font_bigger
 end
end


# )----------------------------------------------------------------------------(
# )--  Class: MrTS_Main_Command_Window                                       --(
# )----------------------------------------------------------------------------(
class MrTS_Main_Command_Window < Window_HorzCommand

 # )--------------------------------------------------------------------------(
 # )--  Method: initialize                                                  --(
 # )--------------------------------------------------------------------------(
 def initialize
   super(0,0)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: window_width                                                --(
 # )--------------------------------------------------------------------------(
 def window_width
   (Graphics.width/2)+50
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: col_max                                                     --(
 # )--------------------------------------------------------------------------(
 def col_max
   return 2
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: spacing                                                     --(
 # )--------------------------------------------------------------------------(
 def spacing
   return 3
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: make_command_list                                           --(
 # )--------------------------------------------------------------------------(
 def make_command_list
   add_command(MrTS::Crafting::TEXT_CRAFT, :craft_on)
   add_command(MrTS::Crafting::TEXT_DISCIPLINES, :discipline_on)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: item_rect_for_text                                          --(
 # )--------------------------------------------------------------------------(
 def item_rect_for_text(index)
   rect = item_rect(index)
   rect
 end
end


# )----------------------------------------------------------------------------(
# )--  Class: MrTS_Discipline_Command_Window                                 --(
# )----------------------------------------------------------------------------(
class MrTS_Discipline_Command_Window < Window_Command

 # )--------------------------------------------------------------------------(
 # )--  Method: initialize                                                  --(
 # )--------------------------------------------------------------------------(
 def initialize(x, y)
   super(x, y)
   self.openness = 0
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: window_width                                                --(
 # )--------------------------------------------------------------------------(
 def window_width
   ((Graphics.width/2)+50)/2
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: make_command_list                                           --(
 # )--------------------------------------------------------------------------(
 def make_command_list
   MrTS::Crafting::DISCIPLINES.each_value { |d| add_command(d, :ok) }
 end
end

# )----------------------------------------------------------------------------(
# )--  Class: Game_Party                                                     --(
# )----------------------------------------------------------------------------(
class Game_Party < Game_Unit

 # )--------------------------------------------------------------------------(
 # )--  Public Instance Variables                                           --(
 # )--------------------------------------------------------------------------(
 attr_reader   :disciplines #lv, xp
 attr_reader   :learned_recipes

 # )--------------------------------------------------------------------------(
 # )--  Alias to: initialize                                                --(
 # )--------------------------------------------------------------------------(
 alias mrts_gp_initialize initialize
 def initialize
   mrts_gp_initialize
   initialize_disciplines
   initialize_recipes
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: initialize_disciplines                                      --(
 # )--------------------------------------------------------------------------(
 def initialize_disciplines
   @disciplines = []
   MrTS::Crafting::DISCIPLINES.each_value { |value| @disciplines.push([1, 0]) }
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: initialize_recipes                                          --(
 # )--------------------------------------------------------------------------(
 def initialize_recipes
   @learned_recipes = []
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: add_craft_exp                                               --(
 # )--------------------------------------------------------------------------(
 def add_craft_exp(id, exp)
   @disciplines[id][1] += exp
   craft_level_up(id)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: craft_level_up                                              --(
 # )--------------------------------------------------------------------------(
 def craft_level_up(id)
   while get_discipline_exp(id) >= get_discipline_next_level_exp(id) && get_discipline_level(id) < MrTS::Crafting::CRAFT_MAX_LEVEL
     @disciplines[id][0] += 1
     @disciplines[id][1] -= get_discipline_current_level_exp(id)
   end
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: get_discipline_exp                                          --(
 # )--------------------------------------------------------------------------(
 def get_discipline_exp(id)
   return @disciplines[id][1]
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: get_discipline_level                                        --(
 # )--------------------------------------------------------------------------(
 def get_discipline_level(id)
   return @disciplines[id][0]
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: known_recipe?                                               --(
 # )--------------------------------------------------------------------------(
 def known_recipe?(id)
   @learned_recipes.include?(id)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: get_discipline_current_level_exp                            --(
 # )--------------------------------------------------------------------------(
 def get_discipline_current_level_exp(id)
   lvl = get_discipline_level(id)-1
   return eval(MrTS::Crafting::CRAFT_EXP_FORMULA)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: get_discipline_next_level_exp                               --(
 # )--------------------------------------------------------------------------(
 def get_discipline_next_level_exp(id)
   lvl = get_discipline_level(id)
   return eval(MrTS::Crafting::CRAFT_EXP_FORMULA)
 end

 # )--------------------------------------------------------------------------(
 # )--  Method: get_discipline_rate                                         --(
 # )--------------------------------------------------------------------------(
 def get_discipline_rate(id)
   return 1.0 if get_discipline_level(id) == MrTS::Crafting::CRAFT_MAX_LEVEL
   return get_discipline_exp(id).to_f / get_discipline_next_level_exp(id).to_f
 end
end

# )----------------------------------------------------------------------------(
# )--  Class: Game_Interpreter                                               --(
# )----------------------------------------------------------------------------(
class Game_Interpreter

 # )--------------------------------------------------------------------------(
 # )--  Method: learn_recipe                                                --(
 # )--------------------------------------------------------------------------(
 def learn_recipe(id)
   $game_party.learned_recipes.push(id)
 end
end


Esperaré a ver si alguien puede ayudarme con ello.
Saludos, Klayer.
Klayer
Klayer
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : Ace
Mensajes : 158
Monedas : 528
Reputación : 14
Edad : 20
Localización : Chaosworld

Volver arriba Ir abajo

Fallo en script de crafteo (RGSS3) Empty Re: Fallo en script de crafteo (RGSS3)

Mensaje por kyonides el Jue Ago 27, 2020 1:31 am

Según parace @disciplines no existe en ese punto del script. ¿No será que trataste de usar una partida guardada? A veces provocan raros problemillas como este.


Última edición por kyonides el Lun Ago 31, 2020 6:17 am, editado 1 vez

kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 152
Monedas : 406
Reputación : 7

Volver arriba Ir abajo

Fallo en script de crafteo (RGSS3) Empty Re: Fallo en script de crafteo (RGSS3)

Mensaje por Klayer el Sáb Ago 29, 2020 10:05 pm

Nope.
Intenté usar el objeto que activa el script en una partida nueva, y sigue dando el mismo error.


Debo destacar que ese objeto no daba problemas antes, y no recuerdo haberlo modificado.
Klayer
Klayer
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : Ace
Mensajes : 158
Monedas : 528
Reputación : 14
Edad : 20
Localización : Chaosworld

Volver arriba Ir abajo

Fallo en script de crafteo (RGSS3) Empty Re: Fallo en script de crafteo (RGSS3)

Mensaje por kyonides el Lun Ago 31, 2020 6:19 am

Tendrías que buscar si hay métodos reescritos por otros scripts que hayan alterado su funcionamiento... Lo sé, sería muy tedioso. :P

¿Funciona en un proyecto nuevo con agregándole solo ese script personalizado?

kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 152
Monedas : 406
Reputación : 7

Volver arriba Ir abajo

Fallo en script de crafteo (RGSS3) Empty Re: Fallo en script de crafteo (RGSS3)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


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