Quote (ZET99)
слух, а в jass выложи, желательно с коментариями
ZET99,
Ну, джасс так джасс. Держи:
Code
function HeroRevival takes nothing returns nothing
//Локальные переменные.
local timer t = CreateTimer()
local timerdialog td = CreateTimerDialog(t)
local real wait = I2R(GetHeroLevel(GetDyingUnit()) * 5)
local unit u = GetDyingUnit()
//Запускаем таймер.
call TimerStart(t,wait,false,null)
call TimerDialogSetTitle(td,"До воскрешения:")
//Будем показывать окно игроку, который владел умершим юнитом.
if(GetLocalPlayer() == GetOwningPlayer(u)) then
call TimerDialogDisplay(td,true)
else
endif
//Ждём истечения таймера.
call PolledWait(wait)
//Проверяем, где воскрешать юнита по союзникам его владельца.
if(IsUnitAlly(u,Player(0)) == true) then
call ReviveHero(u,GetLocationX(gg_rct_Reg1),GetLocationY(gg_rct_Reg1),true)
else
call ReviveHero(u,GetLocationX(gg_rct_Reg2),GetLocationY(gg_rct_Reg2),true)
endif
//Не забываем прикреплять камеру к воскрешённому герою.
if (GetLocalPlayer() == GetOwningPlayer(u)) then
call PanCameraTo(GetUnitX(u),GetUnitY(u))
endif
//Обнуляем и уничтожаем переменные.
call DestroyTimerDialog(td)
set t = null
set td = null
set u = null
endfunction
Ну, в OaD воскрешение где-то так...Добавлено (20-10-2009, 12:17)
---------------------------------------------
Quote (Cool_Boy)
например для первого клана
событие - игрок умер - игрок красный
событие - игрок умер - игрок синий
событие - игрок умер - игрок сине зелёный
условие - умирающий юнит равно герой
действие - герой - оживить героя (умирающий герой ) в области (HeroResp1)
это для первого клана а для другого вот
событие - игрок умер - игрок фиолетовый
событие - игрок умер - игрок желтый
событие - игрок умер - игрокоранжевый
условие - умирающий юнит равно герой
действие - герой - оживить героя (умирающий герой ) в области ( HeroResp2)
Cool_Boy,
Серьёзно, на гуи так делать слишком муторно. Сделай проще:
События.
A unit Умирает
Условия.
((Dying unit) is Герой) равно Да
Действия.
If((Owner of(Dying unit) is an ally of Игрок 1 (Красный)) равно Да) then (Герой - Instantly revive (Dying unit) at (Center of(Reg1)), Показать revival graphics) else (Герой - Instantly revive (Dying unit) at (Center of(Reg2)), Показать revival graphics)
Reg 1 = Область воскрешения героев команды 1
Reg2 = Область воскрешения героев команды 2
Игрок 1 (Красный) = Лидер команды 1.