JASS – Ganar atributos por noche
Para que un héroe en Warcraft 3 gane atributos durante la noche, necesitarás escribir un script en el lenguaje de programación JASS (Just Another Scripting Syntax), que es el lenguaje de scripting utilizado en el World Editor de Warcraft 3. Puedes utilizar un evento de tiempo para lograr esto. Aquí tienes un ejemplo de cómo podrías hacerlo:
globals
timer t
real attributeGain = 2.0 // Cantidad de atributos ganados por segundo
endglobals
function AddAttributes takes nothing returns nothing
local unit u
local integer i = 0
loop
exitwhen i == bj_MAX_PLAYERS
set u = PlayerHero(i)
if GetHeroLevel(u) > 0 then
// Añadir los atributos deseados (puedes personalizar esto)
call SetHeroStr(u, GetHeroStr(u) + attributeGain)
call SetHeroAgi(u, GetHeroAgi(u) + attributeGain)
call SetHeroInt(u, GetHeroInt(u) + attributeGain)
endif
set i = i + 1
endloop
endfunction
function InitTriggers takes nothing returns nothing
set t = CreateTimer()
call TimerStart(t, 1.0, true, function AddAttributes)
endfunction
function CreateTriggers takes nothing returns nothing
call InitTriggers()
endfunction
//===========================================================================
function Init takes nothing returns nothing
call CreateTriggers()
endfunction
En este ejemplo:
- Declaramos una variable global
attributeGain
para controlar la cantidad de atributos ganados por segundo. - En la función
AddAttributes
, recorremos todos los héroes de los jugadores y les agregamos los atributos deseados. Puedes personalizar esta parte según tus necesidades. - La función
InitTriggers
crea un temporizador que ejecutará la funciónAddAttributes
cada segundo. - Finalmente, la función
CreateTriggers
inicializa el sistema de activadores.
Debes copiar este código en el Editor de Mapas de Warcraft 3 y luego compilarlo. Después, puedes asociar este activador a un evento en tu mapa, como “Inicio de mapa” o “Cada noche”, según tus necesidades. Asegúrate de ajustar attributeGain
y otras partes del código según tus preferencias.
Ten en cuenta que este es solo un ejemplo básico y que puedes personalizarlo para satisfacer tus necesidades específicas.