Сейчас 01:57:45 Пятница, 26 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Проблема с кодом (Дубль 2) (Продолжаем)
[Вопрос] Проблема с кодом (Дубль 2)
mazahanДата: Вторник, 28 Мая 2013, 17:45:05 | Сообщение # 51
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
Походу он выдаёт по одной ошибке

Добавлено (28 Мая 2013, 17:45:05)
---------------------------------------------

 

SirNikolasДата: Вторник, 28 Мая 2013, 18:02:17 | Сообщение # 52
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Старая версия. Используй эту.
Цитата (mazahan)
Появился jasshelper и показал одну ошибку
Скрин ошибки?


 

mazahanДата: Вторник, 28 Мая 2013, 18:21:04 | Сообщение # 53
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
В коде ошибку , исправил , показал другую , т.е работает , но показывает по одному.

Добавлено (28 Мая 2013, 18:11:37)
---------------------------------------------
Спасибо.Скачал , запустил , ошибку показывает одну , только иконка поменялась =_=

Добавлено (28 Мая 2013, 18:19:32)
---------------------------------------------
Скрин ошибки нужен? Там просто ошибка в написании

AddSpecialEffectLoc(Location(x,y), c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" )

Как правильно?

Добавлено (28 Мая 2013, 18:21:04)
---------------------------------------------
А ещё лучше

AddSpecialEffectLocBJ - утечна?

Сообщение отредактировал mazahan - Вторник, 28 Мая 2013, 18:11:51
 

SirNikolasДата: Вторник, 28 Мая 2013, 19:08:58 | Сообщение # 54
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (mazahan)
Как правильно?
Чтобы скобки были сбалансированы (каждой открывающей соответствовала закрывающая).
Цитата (mazahan)
AddSpecialEffectLoc(Location(x,y), c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" )


 

BorodachДата: Вторник, 28 Мая 2013, 19:11:35 | Сообщение # 55
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
AddSpecialEffect( EFFECT , X , Y )

Добавлено (28 Мая 2013, 19:11:35)
---------------------------------------------
И еще на цель, AddSpecialEffectTarget( эффект, юнит, часть тела )


Karamba
 

mazahanДата: Вторник, 28 Мая 2013, 19:30:01 | Сообщение # 56
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
call ForGroup(GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(udg_d),function Trig_razduv_1))

Теперь тут пишет , что много аргументов


Сообщение отредактировал mazahan - Вторник, 28 Мая 2013, 20:44:57
 

SirNikolasДата: Среда, 29 Мая 2013, 08:02:33 | Сообщение # 57
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
call ForGroup(GetUnitsInRangeOfLocAll(1200., GetUnitLoc(udg_d)), function Trig_razduv_1)

 

mazahanДата: Среда, 29 Мая 2013, 13:03:19 | Сообщение # 58
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
local real x = GetLocationX(m) + g * Cos(c * bj_DEGTORAD)
local real y = GetLocationY(m) + g * Sin(c * bj_DEGTORAD)

Пишет Cannot convert unit to location

g - расстояние , с - угол
 

SirNikolasДата: Среда, 29 Мая 2013, 13:07:12 | Сообщение # 59
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
m - это юнит. Если хочешь получить координаты юнита, используй GetWidgetX/Y.

 

mazahanДата: Среда, 29 Мая 2013, 14:31:33 | Сообщение # 60
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
Точно... Думал что написал GetUnitX и не замечал :(

А в чём отличие GetWidget от GetUnit

GetWidget более расширенное? А GetUnit - только юниты?

Добавлено (29 Мая 2013, 14:31:33)
---------------------------------------------
Ещё вопрос , смотри если я в начале записал

local real x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)
local real y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)
local location r = Location (x,y)

Потом присваиваю g какое либо значение
Потом создаю спецэффект в r

Потом присваиваю g другое значение
Потом создаю спецэффект в r

Будет ли меняться r?Или спецэффект будет создаваться в одном месте?

Пока жду ответа на прошлый вопрос , начал другой скилл , в проверке появляется надпись local all cjlocgn_00000000 , в самом коде нет её , пишет ошибку.


Сообщение отредактировал mazahan - Среда, 29 Мая 2013, 14:41:36
 

SirNikolasДата: Среда, 29 Мая 2013, 16:40:28 | Сообщение # 61
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (mazahan)
GetWidget более расширенное? А GetUnit - только юниты?
Да, юниты, разрушаемые объекты и предметы являются виджетами.
Цитата (mazahan)
Будет ли меняться r? Или спецэффект будет создаваться в одном месте?
Не будет.
На самом деле, если ты пишешь на JASS, тебе абсолютно не нужно создавать точки. Любая функция, принимающая точку, имеет аналог с координатами.
Цитата (mazahan)
в проверке появляется надпись local all cjlocgn_00000000, в самом коде нет её , пишет ошибку.
В коде ошибка, скорее всего, где-то стоит слово "all".


 

mazahanДата: Среда, 29 Мая 2013, 18:23:05 | Сообщение # 62
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
Мне нужно чтобы g менялось


Может после присваивания g писать set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)
А в локальных писать пустышки?

if (IsUnitAlly ( GetFilterUnit(), GetOwningPlayer(m))==false) and (IsUnitEnemy (GetFilterUnit(),GetOwningPlayer(m))==true) then
call ForGroup(GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(m)) // тут ошибка , надо дописать , но не знаю чего.
call UnitDamageTargetBJ( m, GetEnumUnit(), ( I2R(GetHeroStatBJ(bj_HEROSTAT_INT, m, true)) * 400.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD ) )
endif
и вообще так можно?)


Сообщение отредактировал mazahan - Среда, 29 Мая 2013, 18:50:00
 

BorodachДата: Среда, 29 Мая 2013, 18:56:45 | Сообщение # 63
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
call ForGroup(GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(m)), function НАЗВАНИЕ ФУНКЦИИ)

Добавлено (29 Мая 2013, 18:56:45)
---------------------------------------------
Цитата (mazahan)
Может после присваивания g писать set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)
А в локальных писать пустышки?

Пока учишься, делай как тебе удобнее и понятнее


Karamba


Сообщение отредактировал Borodach - Среда, 29 Мая 2013, 18:54:21
 

mazahanДата: Среда, 29 Мая 2013, 20:37:28 | Сообщение # 64
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
Цитата (Borodach)
Пока учишься, делай как тебе удобнее и понятнее


Мне так удобнее , т.к я вижу только этот способ , а есть ли удобнее?

Добавлено (29 Мая 2013, 20:37:28)
---------------------------------------------
Цитата
function Trig_razduv_1 takes nothing returns nothing
local unit m = GetSpellAbilityUnit()
call UnitDamageTargetBJ( m, GetEnumUnit(),(I2R(GetHeroStatBJ(bj_HEROSTAT_INT, m, true)) * 400.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD )
endfunction
function Trig_razduv_Actions takes nothing returns nothing
local integer a = 1
local integer b = 6
local unit m = GetSpellAbilityUnit()
local unit t
local real c = 0
local real g = 300
local effect array u
local real x
local real y
local location r = Location (x,y)

call SetUnitInvulnerable( m, true )
call PauseUnit(m, true)
loop
exitwhen a > b
call SetUnitScalePercent( m, (I2R(a) * 100.00 ), ( I2R(a) * 100.00 ), ( I2R(a) * 100.00 ) )
call TriggerSleepAction( 0.50 )
set a = a + 1
endloop
call CreateNUnitsAtLoc( 1, 'h009', GetOwningPlayer(m), GetUnitLoc(m), bj_UNIT_FACING )
set t = GetLastCreatedUnit()
set a = 1
set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)
loop
exitwhen a == 13
set u[a] = AddSpecialEffectLoc("Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl",r)
set c = ( c + 30.00 )
set a = a + 1
endloop

set g = 700
set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)
loop
exitwhen a == 26
set u[a] = AddSpecialEffectLoc("Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl",r)
set c = ( c + 30.00 )
set a = a + 1
endloop

set g = 1200
set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)
loop
exitwhen a == 37
set u[a] = AddSpecialEffectLoc("Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl",r)
set c = ( c + 30.00 )
set a = a + 1
endloop
call TriggerSleepAction( 0.50 )
call SetUnitScalePercent( m, 100.00, 100.00, 100.00 )

call KillUnit(m)
call SetUnitInvulnerable( m, false )
call PauseUnit(m, false)
call TriggerSleepAction( 15.00 )
call RemoveUnit(t)
set a = 1
set b = 36
loop
exitwhen a > b
call DestroyEffect(u[a])
set u[a]=null
set a = a + 1
endloop
if (IsUnitAlly ( GetFilterUnit(), GetOwningPlayer(m))==false) and (IsUnitEnemy (GetFilterUnit(),GetOwningPlayer(m))==true) then
call ForGroup(GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(m)),function Trig_razduv_1)
endif
set t = null
set m = null
set x = 0
set y = 0
endfunction

function Trig_razduv_Condition takes nothing returns boolean
return GetSpellAbilityId() == 'A00F'
endfunction
//===========================================================================
function InitTrig_razduv takes nothing returns nothing
local integer i = 0
set gg_trg_razduv = CreateTrigger( )
call TriggerAddCondition( gg_trg_razduv, Condition( function Trig_razduv_Condition ) )
call TriggerAddAction( gg_trg_razduv, function Trig_razduv_Actions )
loop
call TriggerRegisterPlayerUnitEvent( gg_trg_razduv, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null )
set i = i + 1
exitwhen i > 11
endloop
endfunction


Почему не работает спелл? Код без ошибок.
Даже не срабатывают изначальные действия
call SetUnitInvulnerable( m, true )
call PauseUnit(m, true)
условие проверил , скилл тот (индекс)

call CreateNUnitsAtLoc( 1, 'h00D', GetOwningPlayer(a),GetRandomLocInRect(RectFromCenterSizeBJ(x, 700.00, 700.00)), bj_UNIT_FACING )

мне нужно чтобы создался один юнит в случайной точке локации х размерами 700 на 700
local location x = GetSpellTargetLoc()
Нормально , или можно проще?


Сообщение отредактировал mazahan - Среда, 29 Мая 2013, 20:47:58
 

BorodachДата: Среда, 29 Мая 2013, 21:23:22 | Сообщение # 65
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
mazahan, BJDebugMsg( "текст" ), после каждого действия сможешь поставить какой-то номер, узнаешь после какого действия обрываются действия. Также проверяй свои переменные, верные ли они.

Karamba
 

mazahanДата: Среда, 29 Мая 2013, 21:35:41 | Сообщение # 66
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
Т.е верные ли переменные?

У меня в самом начале стоит

call SetUnitInvulnerable( m, true )
call PauseUnit(m, true)

Т.е сразу после переменных , и не работает. (local unit m = GetSpellAbilityUnit() )
 

BorodachДата: Среда, 29 Мая 2013, 22:06:00 | Сообщение # 67
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
mazahan, Если юнит то, BJDebugMsg( GetUnitName( unit )), если число целое ...(I2S( integer )) если реальное ...(R2S( real )). Это тебе на будущее, а ошибка в переменных х,у. Ты не задал им значение, перед тем как используешь...
local real x = 0.
local real y = 0.
local location loc = Location(x,y)

Или
local real x
local real y
local location loc
....set x = 0.
....set y = 0.
....set loc = Location(x,y)


Karamba


Сообщение отредактировал Borodach - Среда, 29 Мая 2013, 22:15:29
 

mazahanДата: Четверг, 30 Мая 2013, 14:36:29 | Сообщение # 68
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
А что насчёт
Цитата (mazahan)
call CreateNUnitsAtLoc( 1, 'h00D', GetOwningPlayer(a),GetRandomLocInRect(RectFromCenterSizeBJ(x, 700.00, 700.00)), bj_UNIT_FACING )

мне нужно чтобы создался один юнит в случайной точке локации х размерами 700 на 700
local location x = GetSpellTargetLoc()
Нормально , или можно проще?
 

SirNikolasДата: Четверг, 30 Мая 2013, 15:51:39 | Сообщение # 69
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
call CreateUnit('h00D', GetOwningPlayer(a), GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)

Добавлено (30 Мая 2013, 15:51:39)
---------------------------------------------
P. S. Используй тег [code].


 

mazahanДата: Воскресенье, 02 Июня 2013, 15:03:38 | Сообщение # 70
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
Цитата (SirNikolas)
call CreateUnit('h00D', GetOwningPlayer(a), GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)


Правильней будет

CreateUnit(GetOwningPlayer(a),'h00D', GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)

:)

Добавлено (31 Мая 2013, 22:59:43)
---------------------------------------------
Код
function Trig_mec_Actions takes nothing returns nothing
local unit a = GetSpellAbilityUnit()
local unit array b
local integer q
local unit array c
set q = 1
loop
exitwhen q == 100
call CreateUnit(GetOwningPlayer(a),'h00D', GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)
set b[ку] = GetLastCreatedUnit ()
call CreateUnit(GetOwningPlayer(a),'h00D', GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)
set c[ку] = GetLastCreatedUnit ()
call IssueImmediateOrder(b[ку], "stomp")
call UnitApplyTimedLife(b[ку],'h00D',2)
call IssueImmediateOrder(c[ку], "stomp")
call UnitApplyTimedLife(c[ку],'h00D',2)
call TriggerSleepAction (0.05)
set q = q+1
endloop

endfunction
function Trig_mec_Condition takes nothing returns boolean    
return GetSpellAbilityId() == 'A00P'    
endfunction    
//===========================================================================
function InitTrig_mec takes nothing returns nothing
local integer i = 0    
       set gg_trg_mec = CreateTrigger(  )
       call TriggerAddAction( gg_trg_mec, function Trig_mec_Actions )
call TriggerAddCondition( gg_trg_mec, Condition(function Trig_mec_Condition) )    
loop    
             call TriggerRegisterPlayerUnitEvent( gg_trg_mec, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null )    
             set i = i + 1    
exitwhen i > 11    
endloop     
endfunction


Думми не умирают и не юзают скилл
заменял на set b[ку]=CreateUnit(GetOwningPlayer(a),'h00D', GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)
появлялось 4 думми , но умирали и юзали скилл.

Добавлено (02 Июня 2013, 15:03:38)
---------------------------------------------
Сделал в 2 триггера , всё норм , но всё ровно интересно почему не работал предыдущий...
И можно ли сделать в 1 триггере?

Код
function Trig_mec_Actions takes nothing returns nothing
set udg_a = GetSpellAbilityUnit()
set udg_x1 = GetSpellTargetX()
set udg_y1 = GetSpellTargetY()
EnableTrigger (gg_trg_mec_1)
TriggerSleepAction (5)
DisableTrigger(gg_trg_mec_1)

endfunction
function Trig_mec_Condition takes nothing returns boolean  
return GetSpellAbilityId() == 'A00P'  
endfunction  
//===========================================================================
function InitTrig_mec takes nothing returns nothing
local integer i = 0  
     set gg_trg_mec = CreateTrigger(  )
     call TriggerAddAction( gg_trg_mec, function Trig_mec_Actions )
call TriggerAddCondition( gg_trg_mec, Condition(function Trig_mec_Condition) )  
loop  
           call TriggerRegisterPlayerUnitEvent( gg_trg_mec, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null )  
           set i = i + 1  
exitwhen i > 11  
endloop   
endfunction  

2
Код

function Trig_mec_1_Actions takes nothing returns nothing
local unit array b
local integer q = 1
set b[q1] = CreateUnit(GetOwningPlayer(udg_a),'h00D', udg_x1 + GetRandomReal(-700., 700.), udg_y1 + GetRandomReal(-700., 700.), 270.)
call IssueImmediateOrder(b[q1], "stomp")
call UnitApplyTimedLife(b[q1],'h00D',2)
set q = q+1
endfunction

//===========================================================================
function InitTrig_mec_1 takes nothing returns nothing
     set gg_trg_mec_1 = CreateTrigger(  )
  call DisableTrigger( gg_trg_mec_1 )
     call TriggerRegisterTimerEventPeriodic( gg_trg_mec_1, 0.09 )
     call TriggerAddAction( gg_trg_mec_1, function Trig_mec_1_Actions )
endfunction



Сообщение отредактировал mazahan - Суббота, 01 Июня 2013, 12:08:50
 

BorodachДата: Понедельник, 03 Июня 2013, 00:21:59 | Сообщение # 71
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
call UnitApplyTimedLife(b[ку],'h00D',2)
надо изменить на
call UnitApplyTimedLife(b[ку],'BTLF',2)
'BTLF' - это тип таймера для юнита (общий), а не тип юнита.


Karamba
 

mazahanДата: Понедельник, 03 Июня 2013, 14:43:23 | Сообщение # 72
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
А почему тогда работает , если в 2 триггера , ведь там тоже call UnitApplyTimedLife(b[ку],'h00D',2)

Сообщение отредактировал mazahan - Понедельник, 03 Июня 2013, 14:43:40
 

BorodachДата: Понедельник, 03 Июня 2013, 21:35:25 | Сообщение # 73
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
mazahan, В 1 надо изменить
call CreateUnit(GetOwningPlayer(a),'h00D', GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)
set b[ку] = GetLastCreatedUnit ()
на
set b[ку] = CreateUnit(GetOwningPlayer(a),'h00D', GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)


Karamba
 

mazahanДата: Пятница, 07 Июня 2013, 23:18:29 | Сообщение # 74
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
Цитата (mazahan)
заменял на set b[ку]=CreateUnit(GetOwningPlayer(a),'h00D', GetSpellTargetX() + GetRandomReal(-700., 700.), GetSpellTargetY() + GetRandomReal(-700., 700.), 270.)
появлялось 4 думми , но умирали и юзали скилл.

Добавлено (07 Июня 2013, 23:18:29)
---------------------------------------------

Код
function Trig_razduv_1 takes nothing returns nothing  
local unit m = GetSpellAbilityUnit()  
call UnitDamageTargetBJ( m, GetEnumUnit(),(I2R(GetHeroStatBJ(bj_HEROSTAT_INT, m, true)) * 400.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD )  
endfunction  
function Trig_razduv_Actions takes nothing returns nothing  
local integer a = 1  
local integer b = 6  
local unit m = GetSpellAbilityUnit()  
local unit t  
local real c = 0  
local real g = 300  
local effect array u  
local real x  
local real y  
local location r = Location (x,y)  

call SetUnitInvulnerable( m, true )  
call PauseUnit(m, true)  
loop  
exitwhen a > b  
call SetUnitScalePercent( m, (I2R(a) * 100.00 ), ( I2R(a) * 100.00 ), ( I2R(a) * 100.00 ) )  
call TriggerSleepAction( 0.50 )  
set a = a + 1  
endloop  
call CreateNUnitsAtLoc( 1, 'h009', GetOwningPlayer(m), GetUnitLoc(m), bj_UNIT_FACING )  
set t = GetLastCreatedUnit()  
set a = 1  
set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)  
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)  
loop  
exitwhen a == 13  
set u[a] = AddSpecialEffectLoc("Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl",r)  
set c = ( c + 30.00 )  
set a = a + 1  
endloop  

set g = 700  
set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)  
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)  
loop  
exitwhen a == 26  
set u[a] = AddSpecialEffectLoc("Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl",r)  
set c = ( c + 30.00 )  
set a = a + 1  
endloop  

set g = 1200  
set x = GetUnitX(m) + g * Cos(c * bj_DEGTORAD)  
set y = GetUnitY(m) + g * Sin(c * bj_DEGTORAD)  
loop  
exitwhen a == 37  
set u[a] = AddSpecialEffectLoc("Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl",r)  
set c = ( c + 30.00 )  
set a = a + 1  
endloop  
call TriggerSleepAction( 0.50 )  
call SetUnitScalePercent( m, 100.00, 100.00, 100.00 )  

call KillUnit(m)  
call SetUnitInvulnerable( m, false )  
call PauseUnit(m, false)  
call TriggerSleepAction( 15.00 )  
call RemoveUnit(t)  
set a = 1  
set b = 36  
loop  
exitwhen a > b  
call DestroyEffect(u[a])  
set u[a]=null  
set a = a + 1  
endloop  
if (IsUnitAlly ( GetFilterUnit(), GetOwningPlayer(m))==false) and (IsUnitEnemy (GetFilterUnit(),GetOwningPlayer(m))==true) then  
call ForGroup(GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(m)),function Trig_razduv_1)  
endif  
set t = null  
set m = null  
set x = 0  
set y = 0  
endfunction  

function Trig_razduv_Condition takes nothing returns boolean  
return GetSpellAbilityId() == 'A00F'  
endfunction  
//===========================================================================  
function InitTrig_razduv takes nothing returns nothing  
local integer i = 0  
set gg_trg_razduv = CreateTrigger( )  
call TriggerAddCondition( gg_trg_razduv, Condition( function Trig_razduv_Condition ) )  
call TriggerAddAction( gg_trg_razduv, function Trig_razduv_Actions )  
loop  
call TriggerRegisterPlayerUnitEvent( gg_trg_razduv, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null )  
set i = i + 1  
exitwhen i > 11  
endloop  
endfunction

Всё также не работает код.
 

BorodachДата: Понедельник, 10 Июня 2013, 07:30:08 | Сообщение # 75
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Цитата (mazahan)
Всё также не работает код

Цитата (mazahan)
local real x
local real y
local location r = Location (x,y)


Karamba
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Проблема с кодом (Дубль 2) (Продолжаем)
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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