[System] Single Target para Área of Effect
2 participantes
Página 1 de 1
[System] Single Target para Área of Effect
Descrição:
Sistema muito simples que permite converter spells de alvo único para spells com área de efeito.
Requisitos:
- JNGP + USMWE (clique aqui)
- Open Source: Pode ser aberto com o World Editor.
- Upado no MediaFire
Sistema muito simples que permite converter spells de alvo único para spells com área de efeito.
Requisitos:
- JNGP + USMWE (clique aqui)
- Código:
//! textmacro SPELLNAME_SETUP
public constant function MAIN_SPELL_RAW takes nothing returns integer
return 'A000'
endfunction
public constant function DUMMY_SPELL_RAW takes nothing returns integer
return 'A001'
endfunction
public constant function MAIN_SPELL_AREA takes nothing returns real
return 512.00
endfunction
public constant function DUMMY_UNIT_RAW takes nothing returns integer
return 'dumm'
endfunction
public constant function DUMMY_SPELL_ORDER takes nothing returns string
return "firebolt"
endfunction
//! endtextmacro
- Código:
scope SPELLNAME initializer ini
//! runtextmacro SPELLNAME_SETUP()
private function config takes nothing returns nothing
local unit u = null
local player p = null
local integer i = 0
local group g = null
local location l = null
local unit U = null
local unit d = null
if GetSpellAbilityId()==MAIN_SPELL_RAW() then
set u = GetTriggerUnit()
set p = GetOwningPlayer(u)
set i = GetUnitAbilityLevel(u,GetSpellAbilityId())
set g = CreateGroup()
set l = GetSpellTargetLoc()
call BJDebugMsg(I2S(GetUnitTypeId(u)))
call GroupEnumUnitsInRangeOfLoc(g,l,MAIN_SPELL_AREA(),null)
loop
set U = FirstOfGroup(g)
if GetUnitState(U,ConvertUnitState(0))>0 and IsUnitEnemy(U,p) and not IsUnitType(U,ConvertUnitType(15)) and not IsUnitType(U,ConvertUnitType(2)) then
set d = CreateUnit(p,DUMMY_UNIT_RAW(),GetUnitX(u),GetUnitY(u),0.)
call UnitApplyTimedLife(d,'BTLF',1.5)
call UnitAddAbility(d,DUMMY_SPELL_RAW())
call SetUnitAbilityLevel(d,DUMMY_SPELL_RAW(),i)
call IssueTargetOrder(d,DUMMY_SPELL_ORDER(),U)
set d = null
endif
call GroupRemoveUnit(g,U)
exitwhen U == null
endloop
call RemoveLocation(l)
call DestroyGroup(g)
set l = null
set g = null
set p = null
set u = null
endif
endfunction
private function ini takes nothing returns nothing
local trigger t = CreateTrigger()
local integer i = 0
loop
call TriggerRegisterPlayerUnitEvent(t,Player(i),ConvertPlayerUnitEvent(274),null)
set i = i + 1
exitwhen i == 12
endloop
call TriggerAddAction(t,function config)
set t = null
endfunction
endscope
- Open Source: Pode ser aberto com o World Editor.
- Upado no MediaFire
Re: [System] Single Target para Área of Effect
Ficou legal, uma target área com unidades atingidas, gostei xD
Tópicos semelhantes
» (Pedido System)um sistema que nao exige requerimentos para os 2 players
» Ajuda para configurar map para local area
» [System]WoW Hero Respawn System
» Área para Mugen
» (duvida)como fazer as unidades mover para um area
» Ajuda para configurar map para local area
» [System]WoW Hero Respawn System
» Área para Mugen
» (duvida)como fazer as unidades mover para um area
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos