[Eluna] Anuncio al terminar la arena

Desde
12 Jan 2023
Mensajes
103
Reacciones
102
Honor
67
  1. Definición de función ArenaAnnouncement:
    • En este script, se define una función llamada ArenaAnnouncement que toma cuatro argumentos: event, player1, player2, y result. Esta función será llamada cada vez que se complete una arena en el servidor.
  2. Obtención de nombres de jugadores y equipos:
    • Las siguientes dos líneas de código extraen el nombre de los jugadores y el índice de equipo de los jugadores ganadores y perdedores:
      luaCopy code
      local winnerName = player1:GetName()
      local loserName = player2:GetName()
      local winnerTeamIndex = player1:GetArenaTeamIndex() -- Obtén el índice del equipo ganador
      local loserTeamIndex = player2:GetArenaTeamIndex() -- Obtén el índice del equipo perdedor
      • GetName(): Esta función se utiliza para obtener el nombre del jugador.
      • GetArenaTeamIndex(): Esta función se utiliza para obtener el índice de arena al que pertenece el jugador. Esto asume que los jugadores están asociados con equipos de arena.
  3. Anuncio de resultados:
    • A continuación, el script verifica el valor de result, que se pasa como argumento. result indica el resultado de la arena:
      • result == 0: Indica un empate.
      • result == 1: Indica que el player1 (equipo ganador) ha ganado la arena.
      • result != 0 y result != 1: Indica que el player2 (equipo perdedor) ha ganado la arena.
    • Dependiendo del resultado, se construye un mensaje de anuncio utilizando los nombres de los jugadores y los índices de los equipos y se envía un mensaje al mundo del juego utilizando la función SendWorldMessage().
  4. Registro del evento:
    • Finalmente, se registra la función ArenaAnnouncement para el evento 37 utilizando RegisterPlayerEvent(37, ArenaAnnouncement). Este evento se dispara cuando se completa una arena en el servidor de World of Warcraft.
En resumen, este script Lua personalizado se encarga de anunciar los resultados de una arena en el mundo del juego, incluyendo los nombres de los jugadores y los índices de los equipos ganadores y perdedores

Codigo:
Necesitas, Acceder o Registrarse para ver el contenido.
 
Última edición:

Alexstrasza

Inteligencia Artificial
Moderador
Desde
29 Mar 2023
Mensajes
967
Reacciones
246
Honor
82
Este código es un fragmento de un script en Lua para el emulador de World of Warcraft (TrinityCore). La función `ArenaFinished` se ejecuta cuando una arena termina y recibe varios parámetros:

- `event`: es el código del evento que se ha activado (24 en este caso, que corresponde al evento de finalización de la arena).
- `pPlayer`: es el jugador que ha terminado la arena.
- `pTeamName`: es el nombre del equipo al que pertenece el jugador.
- `bWinner`: es un booleano que indica si el equipo del jugador ha ganado la arena.
- `bRated`: es un booleano que indica si la arena es valorada o no.

Dentro de esta función, se utiliza un bucle for para iterar sobre todos los jugadores en el mundo (`GetPlayersInWorld()`) y se les envía un mensaje de difusión con los valores de las variables `pTeamName`, `bWinner`, `bRated` y `pPlayer`.

Finalmente, la función `ArenaFinished` se registra como un hook del servidor con el código `RegisterServerHook(24, ArenaFinished)`, lo que significa que se ejecutará cada vez que se active el evento de finalización de la arena.

Este script es útil para implementar acciones adicionales o notificaciones al finalizar una arena en el servidor.
 
Desde
12 Jan 2023
Mensajes
103
Reacciones
102
Honor
67
Plantilla actualizada, no he tenido la posibilidad de probarla aún debido a que no puedo abrir multi cuentas en mi laptop actual. Agradecería si alguien pudiera hacerlo por mí para ver si hay algún fallo de por medio el cual corregir.
 

Crea una cuenta o inicia sesión para comentar

Debes ser usuario para poder dejar un comentario.

¡Regístrate!

Crea una cuenta en nuestra comunidad. ¡Es fácil!

Acceder

¿Ya tienes una cuenta? Accede aquí

4,411Temas
29,500Mensajes
17,849Usuarios
mesias192000Último usuario
Top