Registrarse

[Script] [Essentials]Sistema de Crafteo

Nyaruko

Pinchando ruedas de trenes
Este sistema tiene una funcionalidad diferente al ya hecho por TheKrazyGamer, estando este basado en la alquimia de Dragon Quest VIII


Lo primero pondré sus intrucciones de uso.

Lo primero será crear una nueva sección en los scripts por encima de Main, ahí se pegaría el código que va en la carpeta de descarga. La carpeta de gráficos iría dentro de Pictures.

Empecemos por el crafteo por suerte. En las primeras líneas del script hay dos métodos, def pbChooseItem1 y def pbChooseItem2, en las lineas 4 y 9 respectivamente, ahí veis que hay la siguiente linea pbChooseItemFromList(_I("Elige un objeto"),1,:pOTION,:SUPERPOTION,:HYPERPOTION,:FULLHEAL) En ambos métodos tenéis que poner los objetos crafteables en el mismo formato en el que sale en el ejemplo, (los 4 que puse son de prueba, se pueden cambiar tranquilamente).

Ahora tenéis que ir a la linea 187 y veréis este trozo de código elsif @chosentm1 == PBItems::HYPERPOTION && @chosentm2 == PBItems::FULLHEAL && $PokemonBag.pbQuantity:)HYPERPOTION)>= 1 && $PokemonBag.pbQuantity:)FULLHEAL)>= 1
pbSEPlay("select")
$PokemonBag.pbDeleteItem:)HYPERPOTION,1)
$PokemonBag.pbDeleteItem:)FULLHEAL,1)
Kernel.pbReceiveItem:)FULLRESTORE)

Tenéis que copiar ese elsif y pegarlo justo donde el pbReceiveItem, en el @chosentm1 = ponéis el ingrediente uno con el que saldría un objeto, y con el @chosentm2 = idem, quedando como en el ejemplo, podeis poner por ejemplo que una Poción y un Eter forma un Elixir o lo que queráis. En $PokemonBag.pbDeleteItem poneis los objetos que habéis usado en la mezcla para que los reste de la mochila, si es como en el caso de la creación de la superpoción que usa dos objetos iguales ponéis una linea pero que reste dos objetos, y en la condición de $PokemonBag.pbQuantity:)HYPERPOTION)>= 1 cambiáis el objeto por el que useis para indicarle que solo haga la mezcla si es mayor que uno, que dos en caso de que se usen dos objetos iguales como ingredientes.
Y al final ponéis Kernel.pbReceiveItem con el objeto que queráis, siguiendo el mismo formato que en el ejemplo, y todo debe estar encima de este trozo de código else
pbSEPlay("select")
Kernel.pbMessage("No se pudo hacer la combinación.")
end

Con esto estaría la parte del crafteo por suerte, ahora pasemos a las recetas. Lo primero sería crear las recetas como objetos, pueden ser objetos normales, clave o lo que queráis, recomiendo poner en la descripción del item los materiales que usa. Ahora en el script vais a la linea 14 y veréis el siguiente método def pbChooseRecipe
@chosenrecipe = pbChooseItemFromList(_I("Elige una Receta"),1,:RECETASUPER,:RECETAFULL)
@recipechosen = true
end


Aquí puse como ejemplo dos recetas que hice para la superpoción y para el restaura todo. Ahora vais a la linea 277 y hacemos como en el paso anterior con los elsif.

elsif @chosenrecipe == PBItems::RECETAFULL && $PokemonBag.pbHasItem?:)HYPERPOTION) && $PokemonBag.pbHasItem?:)FULLHEAL) && $PokemonBag.pbQuantity:)HYPERPOTION)>= 1 && $PokemonBag.pbQuantity:)FULLHEAL)>= 1
pbSEPlay("select")
$PokemonBag.pbDeleteItem:)HYPERPOTION,1)
$PokemonBag.pbDeleteItem:)FULLHEAL,1)
Kernel.pbReceiveItem:)FULLRESTORE)


El RECETAFULL lo cambiaríais por la receta que queréis que se use, en los pbHasItem? ponéis los materiales que usa esa receta, y con los pbQuantity hacéis lo mismo que en el paso anterior, al igual que con los pbDeleteItem y el objeto que sale como resultado de la mezcla. Y por último para llamar al sistema tenéis que poner en un script de evento CraftScene.new.pbStartMainScene


Y por último aquí el link de descarga, aviso que los gráficos de la interfaz son unos base que usé para las pruebas.

Descarga

Créditos: Painkiller97
 
Última edición:

Jessie

What goes around, comes around
Se ve realmente interesante y me gustaría ver el código que has hecho, pero parece ser que el link de descarga no está funcionando.

Saludos.
 

Nyaruko

Pinchando ruedas de trenes
Se ve realmente interesante y me gustaría ver el código que has hecho, pero parece ser que el link de descarga no está funcionando.

Saludos.
Gracias por notificármelo, había puesto al revés el nombre de la etiqueta xD

Ya es funcional el link
 
Arriba