XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Dreii
define{name=Dreii age=17}
offline
Опыт: 5,246
Активность:
Воскрешение героя(JASS)
Знаю что таких тысячи,но все же. МОжет кому пригодиться.
» раскрыть
Код:
function Trig_Revive_Hero_Taimer takes nothing returns nothing     
           local timer t=GetExpiredTimer()     
           local integer ID=GetHandleId(t)     
           local unit u=LoadUnitHandle(udg_Hash,ID,0)     
           local player p=GetOwningPlayer(u)    
           local timerdialog w=LoadTimerDialogHandle(udg_Hash,ID,2)    
           //Воскрешает героя в стартовой локации,можно менять    
           call ReviveHero(u,GetStartLocationX(GetPlayerStartLocation(p)),GetStartLocationY(GetP  layerStartLocation(p)),true )     
           if GetLocalPlayer()==GetOwningPlayer(u)then     
           call PanCameraTo(GetUnitX(u),GetUnitY(u))    
           endif     
           call PauseTimer(t)     
           call DestroyTimer(t)     
           call DestroyTimerDialog(w)     
           call FlushChildHashtable(udg_Hash,ID)    
           set t=null     
           set u=null    
           set p=null    
           set w=null    
endfunction     
function Trig_Revive_Hero_Actions takes nothing returns nothing     
local timer t    
local integer ID    
local timerdialog w     
local unit u=GetTriggerUnit()    
if IsUnitType(u,UNIT_TYPE_HERO)==true then    
set t=CreateTimer()      
set ID=GetHandleId(t)     
set w=CreateTimerDialog(t)     
//Создает окно таймера в котором будет написанно имя игрока владельца умершего героя    
call TimerDialogSetTitle(w,GetPlayerName(GetOwningPlayer(u)))     
call TimerDialogDisplay(w,true)     
call SaveUnitHandle(udg_Hash,ID,0,u)     
call SaveTimerDialogHandle(udg_Hash,ID,2,w)     
//Запускает таймер,GetHeroLevel(u)*3. время через которое возродиться наш герой.    
call TimerStart(t,GetHeroLevel(u)*3.,true,function Trig_Revive_Hero_Taimer)     
set t=null    
set w=null     
endif    
set u=null    
endfunction     
function InitTrig_Revive_Hero takes nothing returns nothing     
local integer i=0     
local trigger trig=CreateTrigger()     
           loop     
    exitwhen i==11    
               call TriggerRegisterPlayerUnitEvent(trig,Player(i),EVENT_PLAYER_UNIT_DEATH,null)     
               set i=i+1
              
           endloop     
           call TriggerAddAction(trig,function Trig_Revive_Hero_Actions)     
           set trig=null    
endfunction
Прикрепленные файлы
Тип файла: w3x 234_Respawun-JASS-.w3x (19.5 Кбайт, 72 просмотров )

Отредактировано Dreii, 01.02.2011 в 18:57.
Старый 01.02.2011, 18:52
Clamp
Lost in space
offline
Опыт: 71,258
Активность:
неплохо но имхо бесполезно
в принципе это может каждый сделать, но если лень, то конечно просто скопировать это - выход
Старый 01.02.2011, 20:20
Dreii
define{name=Dreii age=17}
offline
Опыт: 5,246
Активность:
Clamp, Ну еще могу использовать новичики, которые знают как импортировать Jass-триггеры себе
Старый 01.02.2011, 20:22
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:16.