- Desde
- 12 Jan 2023
- Mensajes
- 103
- Reacciones
- 102
- Honor
- 67
Si fui de ayuda para ti te agradecería mucho si me sigues en Twitter: https://twitter.com/Mavisxga?t=WW5uESbvP8In4t9ZyhceCw&s=09
Este script es una herramienta para un NPC que permite a los jugadores seleccionar diferentes temas o configuraciones visuales en el juego. A continuación, explicaré el código paso a paso:
Este script es una herramienta para un NPC que permite a los jugadores seleccionar diferentes temas o configuraciones visuales en el juego. A continuación, explicaré el código paso a paso:
- local reset_time = 900: Esta variable almacena el tiempo en segundos (900 segundos = 15 minutos) después del cual se restablecerán los temas a su estado normal y se podrá elegir otro tema.
- local entry_id = 200007: Esta variable almacena el ID de entrada del NPC con el que interactuarán los jugadores para seleccionar temas.
- local r_time: Esta variable se utilizará para rastrear el tiempo hasta que se restablezcan los temas.
- local go_table = {}: Esta tabla se utilizará para almacenar los objetos de juego (gameobjects) creados cuando se aplican los temas, lo que permitirá desaparecerlos después de que pase el tiempo de restablecimiento.
- Luego, se definen constantes numéricas que representan diferentes temas: forest_theme, marsh_theme, ocean_theme, horde_theme y mystic_theme.
- A continuación, hay una tabla llamada theme_table que contiene las configuraciones específicas para cada tema. Cada tema tiene una tabla anidada con información detallada sobre los objetos de juego que se crearán para ese tema. Cada elemento de esta tabla contiene información como el ID del gameobject, las coordenadas X, Y, Z y el ángulo de orientación.
- Las funciones on_theme_speak, on_theme_spawn y on_theme_delete son manejadores de eventos para el NPC y se explicarán a continuación:
- on_theme_speak: Esta función se activa cuando un jugador interactúa con el NPC y selecciona un tema para aplicar. Si ha pasado suficiente tiempo desde el último cambio de tema (o si el jugador tiene permisos de GM), se mostrará un menú que le permite al jugador seleccionar uno de los temas disponibles. Si aún no ha pasado suficiente tiempo, se le mostrará al jugador un mensaje informándole cuánto tiempo debe esperar.
- on_theme_spawn: Esta función se activa cuando un jugador selecciona un tema específico en el menú de temas. Se encarga de crear los objetos de juego asociados con ese tema utilizando la información almacenada en la tabla theme_table. Además, actualiza el valor de r_time para configurar el tiempo de restablecimiento adecuado.
- on_theme_delete: Esta función se activa cada segundo y verifica si ha pasado suficiente tiempo desde el último cambio de tema. Si ha pasado el tiempo de restablecimiento, desaparece los objetos de juego creados anteriormente para el tema seleccionado y restablece el valor de r_time a nil.
- RegisterTimedEvent("on_theme_delete", 1000, 0): Esta línea registra el evento "on_theme_delete" para que se ejecute cada segundo (cada 1000 milisegundos).
- RegisterUnitGossipEvent(200007, 1, "on_theme_speak"): Esta línea registra el evento de chisme (gossip) 1 para el NPC con el ID de entrada 200007 y lo asocia con la función "on_theme_speak". Este evento se activa cuando un jugador habla con el NPC.
- RegisterUnitGossipEvent(200007, 2, "on_theme_spawn"): Esta línea registra el evento de chisme (gossip) 2 para el NPC con el ID de entrada 200007 y lo asocia con la función "on_theme_spawn". Este evento se activa cuando un jugador selecciona una opción de tema del menú de chisme.
Codigo:Necesitas, Acceder o Registrarse para ver el contenido.
Última edición: