FKoFF
Venomancer 89lvl. Europe
offline
Опыт:
5,975Активность: |
Отсутствует сивол '
Выкладываю функцию целиком.
Замысел - поджег который будет наносить цели урон в течении 5 секунд с момента поджега. Ошибку выдает на всех строках связанных с запуском таймера. ((код JASS
function BurnUnitFS takes unit c, unit v, integer i returns nothing
local effect e local real dmg = 0 local timer t1 = CreateTimer()
local timer t2 = CreateTimer() local timer t3 = CreateTimer() local timer t4 = CreateTimer() local timer t5 = CreateTimer() local timer Ef = CreateTimer() call AddSpecialEffectTargetUnitBJ( "chest", v, "Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl" )
set e = GetLastCreatedEffectBJ() call TimerStart(Ef,ix, function DestroyEffectBJ(e)) call SaveUnitHandle(udg_Hashtable_Spells, GetHandleId(t1), 0, v) call TimerStart(t1, 1.0, function burn(c,v,i)) call SaveUnitHandle(udg_Hashtable_Spells, GetHandleId(t2), 0, v) call TimerStart(t2, 2.0, function burn(c,v,i)) call SaveUnitHandle(udg_Hashtable_Spells, GetHandleId(t3), 0, v) call TimerStart(t3, 3.0, function burn(c,v,i)) call SaveUnitHandle(udg_Hashtable_Spells, GetHandleId(t4), 0, v) call TimerStart(t4, 4.0, function burn(c,v,i)) call SaveUnitHandle(udg_Hashtable_Spells, GetHandleId(t5), 0, v) call TimerStart(t5, 5.0, false, function burn(c,v,i)) endfunction )) Отредактировано X, 03.11.2010 в 16:38. |
03.11.2010, 16:23 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
|
03.11.2010, 16:24 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FKoFF
Venomancer 89lvl. Europe
offline
Опыт:
5,975Активность: |
и как это по твоему в таком случае должно выглядить?
((код JASS
call SaveUnitHandle(udg_Hashtable_Spells, GetHandleId(t1), 0, c)
call SaveUnitHandle(udg_Hashtable_Spells, GetHandleId(t1), 1, v) call SaveInteger(udg_Hashtable_Spells, GetHandleId(t1), 0, i) call TimerStart(t1, 1.0, function burn) )) а саму функцию перепаять на
((код JASS
function burn takes nothing returns nothing
local timer t = GetExiredTimer() local unit c = LoadUnitHandle(udg_Hashtable_Spells, GetHandleId(t), 0) local unit v = LoadUnitHandle(udg_Hashtable_Spells, GetHandleId(t), 1) local integer i = LoadInteger(udg_Hashtable_Spells, GetHandleId(t), 0) )) действия на базе локалок чистка локалок endfunction я правильно понимаю? Отредактировано X, 03.11.2010 в 16:38. |
03.11.2010, 16:30 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Ага. Но только этот твой интегер i нужно на 2ую ячейку, а не на 0евую. Советую почитать. |
03.11.2010, 16:34 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,880Активность: |
FKoFF, очень похоже на правду. Ставь, пожалуйста, теги для выделения кода. |
03.11.2010, 16:35 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FKoFF
Venomancer 89lvl. Europe
offline
Опыт:
5,975Активность: |
Отлично. Поехали к следующей теме. |
03.11.2010, 16:53 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|