Добавлен pro100master,
не публикуется
Почему то из хеша возврашает постояно 0 если при инциализация сохраняет в хеш данные врагов для респавн...
library Map initializer Init requires RPGUnit
globals
private hashtable data = InitHashtable()
endglobals
function pickUnit takes nothing returns nothing
local unit u = GetEnumUnit()
if IsUnitType(u, UNIT_TYPE_HERO) then
call Hero.create(u)
else
call Unit.create(u)
endif
call SaveReal(data, GetHandleId(u), 0, GetUnitX(u))
call SaveReal(data, GetHandleId(u), 1, GetUnitY(u))
call SaveReal(data, GetHandleId(u), 2, GetUnitFacing(u))
endfunction
function pickUnits takes nothing returns nothing
call ForGroupBJ( GetUnitsOfPlayerAll(Player(PLAYER_NEUTRAL_AGGRESSIVE)), function pickUnit )
endfunction
private function isUnitDeath takes nothing returns boolean
local unit u = GetDyingUnit()
if GetOwningPlayer(u) == Player(PLAYER_NEUTRAL_AGGRESSIVE) then
return true
endif
return false
endfunction
private function onUnitDeath takes nothing returns nothing
local unit u = GetDyingUnit()
local real x = LoadReal(data, GetHandleId(u), 0)
local real y = LoadReal(data, GetHandleId(u), 1)
local real f = LoadReal(data, GetHandleId(u), 2)
local integer t = GetUnitTypeId(u)
local location l = Location(x, y)
call FlushChildHashtable(data, GetHandleId(u))
call TriggerSleepAction(30.00)
set u = CreateUnit(Player(PLAYER_NEUTRAL_AGGRESSIVE), t, x, y, f)
call SaveReal(data, GetHandleId(u), 0, x)
call SaveReal(data, GetHandleId(u), 1, y)
call SaveReal(data, GetHandleId(u), 2, f)
call PingMinimapLocForForce( GetPlayersAll(), l, 1)
call RemoveLocation(l)
endfunction
private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
local integer index = 0
call TriggerRegisterTimerEvent(t, 1.0, false)
call TriggerAddAction(t, function pickUnits )
set t = CreateTrigger()
loop
call TriggerRegisterPlayerUnitEvent(t, Player(index), EVENT_PLAYER_UNIT_DEATH, null)
set index = index + 1
exitwhen index == bj_MAX_PLAYER_SLOTS
endloop
call TriggerAddCondition(t, Condition(function isUnitDeath))
call TriggerAddAction(t, function onUnitDeath)
set t = null
endfunction
endlibrary
Все правильно но почему то при респавн позиция всегда 0 странно!!!
0
XGM Bot
7 лет назад
0
Похожие вопросы:
- Способность "Иллюзии" - (Мастер Клинка)
ответ
quq_CCCP:
- Помогите со взломом карты
ответ
nvc123:
Поиск по всем ресурсам на сайте
0
Borodach
7 лет назад
0
Проверь без блока с условием на проверку героя...
0
pro100master
7 лет назад
0
Я поставил на 5 сек после старта карты сработал а 1 сек не сработал хм!!
0
quq_CCCP
7 лет назад
0
pro100master, Это случаем не слизано из системы респауна крипов ?
0
pro100master
7 лет назад
0
quq_CCCP, нет я сам писал
Чтобы оставить комментарий, пожалуйста, войдите на сайт.