Сейчас 03:14:23 Среда, 24 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Муи
Муи
IlgardIoДата: Воскресенье, 02 Января 2011, 20:18:49 | Сообщение # 26
3 уровень
Группа: Пользователи
Сообщений: 57
Награды: 0
Репутация: 11
Блокировки:
Code
function Trig_cast_Timer takes nothing returns nothing  
local timer ta = GetExpiredTimer()   
local integer i = GetHandleId(ta)   
local unit t = LoadUnitHandle(udg_Hash, ta, 1)  
local unit u = LoadUnitHandle(udg_Hash, ta, 0)    
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\Bolt\\BoltImpact.mdl", t, "chest"))  
call UnitDamageTarget(u, t, 300., true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS)  
call SetUnitPosition(t,LoadReal(udg_Hash, ta, 2),LoadReal(udg_Hash, ta, 3))  
call PauseTimer(ta)  
call DestroyTimer(ta)   
call FlushChildHashtable(udg_Hash, i)  
set t=null  
set u=null  
set ta=null  
endfunction  

function Trig_cast_Actions takes nothing returns nothing  
local timer ta=CreateTimer()  
local integer i=GetHandleId(ta)   
if GetSpellAbilityId() == 'A000' then  
call SaveUnitHandle(udg_Hash,ta, 0, GetTriggerUnit())   
call SaveUnitHandle(udg_Hash,ta, 1, GetSpellTargetUnit())      
call SaveReal(udg_Hash, ta, 2, GetWidgetX(GetSpellTargetUnit()))  
call SaveReal(udg_Hash,ta, 3, GetWidgetY(GetSpellTargetUnit()))  
call TimerStart(ta, 5., false, function Trig_cast_Timer)  
set ta = null  
endif  
endfunction  

//===========================================================================  
function InitTrig_cast takes nothing returns nothing  
      local trigger trig=CreateTrigger(  )  
      local integer index=0  
      loop  
          call TriggerRegisterPlayerUnitEvent(trig, Player(index), EVENT_PLAYER_UNIT_SPELL_EFFECT , null)  
          set index = index + 1  
          exitwhen index == bj_MAX_PLAYER_SLOTS  
      endloop  
      call TriggerAddAction( trig, function Trig_cast_Actions )  
      set trig=null  
endfunction
 

DreiiДата: Воскресенье, 02 Января 2011, 20:22:21 | Сообщение # 27
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
IlgardIo, а зачем в таймер?Так улче будет?)

Добавлено (02-01-2011, 20:22)
---------------------------------------------
IlgardIo, тогдазачем i нужна если в ta пишем?


 

incomeДата: Воскресенье, 02 Января 2011, 21:00:10 | Сообщение # 28
3 уровень
Группа: Заблокированные
Сообщений: 63
Награды: 0
Репутация: 20
Блокировки:
IlgardIo,
Quote
local unit t = LoadUnitHandle(udg_Hash, ta, 1)

что за бред...у тебя синтаксис LoadUnitHandle(hashtable, integer, integer)
как вдруг таймер стал интеджером, для этого и существует функция GetHandleId()

или если хочешь так LoadUnitHandle(udg_Hash, ta, 1) , то сверху приписочка должна быть
define
LoadUnitHandle(hs,ta,i)=LoadUnitHandle(hs,GetHandleId(ta),i)
enddefine


Не ошибается только тот, кто ничего не делает
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Муи
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz