Lista de reproducción completa del tutorial de Godot sobre cómo crear un Action-RPG en Godot, creada por MakerTech
Season 1
https://www.youtube.com/playlist?list=PLMQtM2GgbPEVuTgD4Ln17ombTg6EahSLr
Season 2
https://www.youtube.com/playlist?list=PLMQtM2GgbPEWCCJG8xywVPrOBcU6KpcNq
En esta lección veremos cómo hacer que el jugador equipe el arma. En lugar de tenerla disponible desde el principio, el jugador deberá recoger la espada como ítem desde el hotbar y equipársela para poder usarla.
Empezaremos creando un script llamado WeaponItem, que contendrá todas las acciones que podremos realizar con el arma mediante funciones.
Cargamos el script recien creado en el ítem Sword.tres
Borramos el nodo Sword del Player.tscn.
Modificamos el script del nodo Weapon, que está ubicado en la escena del jugador (Player). Anteriormente lo habíamos nombrado Weapon.gd, le agregaremos la función add_weapon.
Modificamos la colisión del Sword.tscn a la capa 5 Player Weapon, importante, no confundir esta escena con el collectable Sword
Modificamos el script de InventoryItem, agregándole una nueva variable y las dos funciones equip y cancel_use
Desactivamos el checkbox, ya que la espada no sera un consumible.
Agregamos las funciones y señales para el Inventory.gd, para poder emitir la señal de equipar y desequipar.
Finalmente, modificaremos la función use_item del player para evitar que el jugador se coma las espadas y ademas agregaremos funciones para que pueda acceder a las nuevas interacciones que puede realizar con el ítem Sword.tres.
No olvidemos de agregar los nuevos signals.
A partir de aquí, es código que he hecho yo, ya que MakerTech supone que ya sabemos hacer el resto.
Incluimos nuevos inputs para equipar y desequipar.
Agregamos nuevas lineas al script de Hotbar.gd.
Actualizamos el script Weapon.gd del nodo Weapon del Player
Me he dado cuenta, que al igual antes el jugador podia comerse las espadas por no tener el tick de que si es el item es consumible o no, he seguido la misma logica y he agregado una nueva variable llamada isEquipable, que seran usadas para los diferentes items que el jugador pueda equiparse.
Con esta lección he visto que el knockbar del Slime se rompe, al parecer get_owner no funciona con nodos instanciados, de momento , como parche he usado dos get_parents para hacer un arreglo.
No hay comentarios:
Publicar un comentario