|
|
|
|
Немного не срабатывает спелл
|
|
CHLSN | Дата: Воскресенье, 23 Августа 2009, 16:25:35 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| function Trig_Demo_Cast takes nothing returns nothing ---call IssueTargetOrderBJ( udg_CastTargetUnit, "cripple", GetEnumUnit() ) endfunction ... set i[3] = 1 set i[4] = GetUnitAbilityLevelSwapped(udg_Spells, c) + 1 set i[1] = 1 set i[2] = 20 loop ---exitwhen i[1] > i[2] ---loop ------exitwhen i[3] > i[4] ------set udg_CastTargetUnit = x[i[3]] ------call ForGroupBJ( GetUnitsInRangeOfLocAll(256.00, GetUnitLoc(x[i[3]])), function Trig_Demo_Cast ) ------call IssuePointOrderLocBJ( x[i[3]], "move", PolarProjectionBJ(GetUnitLoc(u), GetRandomReal(200.00, 400.00), GetRandomDirectionDeg()) ) ------set i[3] = i[3] + 1 ---endloop ---call TriggerSleepAction( 1.00 ) ---set i[1] = i[1] + 1 ---set i[3] = 1 endloop Не всегда кастуется заклинание. Может можно сделать лучше, чтобы утечек не было?
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
windrunner | Дата: Воскресенье, 23 Августа 2009, 16:41:59 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
| Во 1 убери BJ Во вторых покажи пожайлуста весь триггер(начало) к примеру можно заменить все глобалки локальными(они могут поправить етот глюк) у нас уже такую ошибку исправили локалки=)
И в правду мир сошел с ума... И до тех пор пока нас не обесточат Пока не догорит аварийных фонарей заряд Мы будем жечь тут электричество что есть мочи Русский мапмейкинг - бессмысленный и беспощадный.xD
|
|
|
|
CHLSN | Дата: Воскресенье, 23 Августа 2009, 16:51:13 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (windrunner) Во вторых покажи пожайлуста весь триггер(начало) к примеру можно заменить все глобалки локальными(они могут поправить етот глюк) у нас уже такую ошибку исправили локалки=) Там "udg_CastTargetUnit" - единственная глобалка, которая используется. Остальное локальные. В начале создаются через цикл - в конце удаляются, и всёДобавлено (23-08-2009, 16:51) --------------------------------------------- windrunner, без BJ вообще нихрена не работает =\
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 18:53:30 | Сообщение # 4 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| CHLSN, Сейчас посмотрим, что можно здесь сделать
|
|
|
|
Эллесар | Дата: Воскресенье, 23 Августа 2009, 19:00:26 | Сообщение # 5 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Quote (CHLSN) ---call IssueTargetOrderBJ( udg_CastTargetUnit, "cripple", GetEnumUnit() ) эт че
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 19:04:16 | Сообщение # 6 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Вместо PolarProjectionBJ используй векторы или координаты. Оно быстрее будет работать.А пока бажный немного код. BJ разверни при помощи JASSCraft.Добавлено (23-08-2009, 19:04) ---------------------------------------------
Quote (Эллесар) Quote (CHLSN) ---call IssueTargetOrderBJ( udg_CastTargetUnit, "cripple", GetEnumUnit() ) эт че Эллесар, Действительно, зачем здесь БЖ когда можно нативку: Code native IssueTargetOrder takes unit whichUnit, string order, widget targetWidget returns boolean Вообще, что подразумевалось здесь под Х?
|
|
|
|
MaSer | Дата: Воскресенье, 23 Августа 2009, 19:04:33 | Сообщение # 7 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| Quote (CHLSN) ---call TriggerSleepAction( 1.00 ) Quote (CHLSN) ------call ForGroupBJ( GetUnitsInRangeOfLocAll(256.00, GetUnitLoc(x[i[3]])), function Trig_Demo_Cast ) Quote (CHLSN) --call IssueTargetOrderBJ( udg_CastTargetUnit, "cripple", GetEnumUnit() ) Ошибки в этих строках, вернее, они с ними связаны.
Сообщение отредактировал MaSer - Воскресенье, 23 Августа 2009, 19:04:50 |
|
|
|
Эллесар | Дата: Воскресенье, 23 Августа 2009, 19:07:25 | Сообщение # 8 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Можно полярки, потому что 2d. Так вот что IssueTargetOrder( whichUnit, order, targetWidget ) юзай Во вторых у тебя там цикл, выбирает каждого юнита и кастают. так это происходит мгновенно, и как твой паладин успеет все это сделать ? =/ Добавлено (23-08-2009, 19:07) --------------------------------------------- О кот вернулся)
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 19:09:14 | Сообщение # 9 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| MaSer, Если точнее, то, по-моему, не был задан "х". Вот проблемный код:
|
|
|
|
Эллесар | Дата: Воскресенье, 23 Августа 2009, 19:09:15 | Сообщение # 10 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Quote (MaSer) ---call TriggerSleepAction( 1.00 Одна из самых кривых функций =/
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 19:10:27 | Сообщение # 11 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Эллесар, Quote (Эллесар) Quote (MaSer) ---call TriggerSleepAction( 1.00 Одна из самых кривых функций =/ Можно и PolledWait заюзать.
|
|
|
|
MaSer | Дата: Воскресенье, 23 Августа 2009, 19:11:15 | Сообщение # 12 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| Quote (Эллесар) Одна из самых кривых функций =/ Она нисколько не кривая в отличии от PolledWait Quote (|DUОS|) Если точнее, то, по-моему, не был задан "х". Вот проблемный код: Да плевать нам на х, Зет уже объяснил основную траблу.
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 19:14:12 | Сообщение # 13 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Quote (MaSer) Она нисколько не кривая в отличии от PolledWait MaSer, Начинка говорит сама за себя.Добавлено (23-08-2009, 19:14) ---------------------------------------------
Quote (MaSer) ---call TriggerSleepAction( 1.00 ) Нативки не могут быть кривыми!
|
|
|
|
MaSer | Дата: Воскресенье, 23 Августа 2009, 19:15:56 | Сообщение # 14 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| Quote (|DUОS|) Нативки не могут быть кривыми! Лол. Хотя ты прав. Нативки могут быть НЕПОПРАВИМО кривыми.
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 19:17:39 | Сообщение # 15 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| MaSer, Лол. Не поверю, пока не увижу Покажи мне начинку хоть одной native.
|
|
|
|
Эллесар | Дата: Воскресенье, 23 Августа 2009, 19:19:38 | Сообщение # 16 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Quote (|DUОS|) Нативки не могут быть кривыми! Сделай тест. это "хлебные часы", всегда неточные. например сделаем таймер в 0.10 сек который прибовляет set TimeGame = TimeGame + 1 function test takes nothing returns nothing call TriggerSleepAction(0.10) set TimeGame = TimeGame +1 call test() endfunction и проверь разницу во времяни... это уже обсуждалось =/
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 19:21:07 | Сообщение # 17 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Чтобы не было оффтопа, покажи, чем начинена именно TriggerSleepAction() Добавлено (23-08-2009, 19:21) --------------------------------------------- Эллесар, Всё, сорри за оффтоп.
|
|
|
|
MaSer | Дата: Воскресенье, 23 Августа 2009, 19:21:53 | Сообщение # 18 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| Quote (|DUОS|) Чтобы не было оффтопа, покажи, чем начинена именно TriggerSleepAction() Процессорным временем ) На самом деле реализация нормального вейта на сях далеко не тривиальна, так что неудивителен результат.
|
|
|
|
[DUОS] | Дата: Воскресенье, 23 Августа 2009, 19:25:19 | Сообщение # 19 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| MaSer, Quote (MaSer) На самом деле реализация нормального вейта на сях далеко не тривиальна, так что неудивителен результат. Ну, выбирать не приходится, кроме как вообще его не юзать
|
|
|
|
CHLSN | Дата: Воскресенье, 23 Августа 2009, 20:03:08 | Сообщение # 20 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (MaSer) ---call TriggerSleepAction( 1.00 ) Здесь всё работает шикарно, потому что даммики исправно перемещаются: Quote (CHLSN) ------call IssuePointOrderLocBJ( x[i[3]], "move", PolarProjectionBJ(GetUnitLoc(u), GetRandomReal(200.00, 400.00), GetRandomDirectionDeg()) ) Добавлено (23-08-2009, 19:47) ---------------------------------------------
Quote (MaSer) ------call ForGroupBJ( GetUnitsInRangeOfLocAll(256.00, GetUnitLoc(x[i[3]])), function Trig_Demo_Cast ) Quote (MaSer) --call IssueTargetOrderBJ( udg_CastTargetUnit, "cripple", GetEnumUnit() ) С BJ или без нее - не работает Quote (Эллесар) Во вторых у тебя там цикл, выбирает каждого юнита и кастают. так это происходит мгновенно, и как твой паладин успеет все это сделать ? =/ Это же комп. Почему бы ему не успевать всё это сделать? Пробую паузить немногоДобавлено (23-08-2009, 20:02) --------------------------------------------- function Trig_Demo_Cast takes nothing returns nothing ---//call IssueTargetOrder( udg_CastTargetUnit, "curse", GetEnumUnit() ) ---call CreateNUnitsAtLoc( 1, 'n601', GetOwningPlayer(GetSpellAbilityUnit()), PolarProjectionBJ(GetUnitLoc(GetSpellTargetUnit()), GetRandomReal(200.00, 400.00), GetRandomDirectionDeg()), bj_UNIT_FACING ) ---call IssueTargetOrder( GetLastCreatedUnit(), "curse", GetEnumUnit() ) ---call TriggerSleepAction( 0.10 ) ---call RemoveUnit( GetLastCreatedUnit() ) endfunction function Trig_Demo_Actions takes nothing returns nothing ---local unit array x ---local unit u = GetSpellTargetUnit() ---local unit c = GetSpellAbilityUnit() ---local integer array i ---set udg_Spells = GetSpellAbilityId() ---if ( udg_Spells == 'A601' ) then ------set bj_forLoopAIndex = 1 ------set bj_forLoopAIndexEnd = GetUnitAbilityLevelSwapped(udg_Spells, c) + 1 ------loop ------------exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd ------------call CreateNUnitsAtLoc( 1, 'n600', GetOwningPlayer©, PolarProjectionBJ(GetUnitLoc(u), GetRandomReal(200.00, 400.00), GetRandomDirectionDeg()), bj_UNIT_FACING ) ------------set x[bj_forLoopAIndex] = GetLastCreatedUnit() ------------set bj_forLoopAIndex = bj_forLoopAIndex + 1 ------endloop ------set i[3] = 1 ------set i[4] = GetUnitAbilityLevelSwapped(udg_Spells, c) + 1 ------set i[1] = 1 ------set i[2] = 20 ------loop ---------exitwhen i[1] > i[2] ---------loop ------------exitwhen i[3] > i[4] ------------//set udg_CastTargetUnit = x[i[3]] ------------call ForGroup( GetUnitsInRangeOfLocAll(256.00, GetUnitLoc(x[i[3]])), function Trig_Demo_Cast ) ------------call IssuePointOrderLoc( x[i[3]], "move", PolarProjectionBJ(GetUnitLoc(u), GetRandomReal(200.00, 400.00), GetRandomDirectionDeg()) ) ------------set i[3] = i[3] + 1 ---------endloop ---------call TriggerSleepAction( 1.00 ) ---------set i[1] = i[1] + 1 ---------set i[3] = 1 ------endloop ------loop ---------exitwhen i[3] > i[4] ---------call RemoveUnit( x[i[3]] ) ---------set i[3] = i[3] + 1 ------endloop ---else ---endif ---set x[1] = null ---set x[2] = null ---set x[3] = null ---set x[4] = null ---set u = null ---set c = null ---set udg_CastTargetUnit = null endfunction //=========================================================================== function InitTrig_Cast takes nothing returns nothing ---set gg_trg_Cast = CreateTrigger( ) ---call TriggerRegisterAnyUnitEventBJ( gg_trg_Cast, EVENT_PLAYER_UNIT_SPELL_EFFECT ) ---call TriggerAddAction( gg_trg_Cast, function Trig_Demo_Actions ) endfunction Добавлено (23-08-2009, 20:03) --------------------------------------------- Не работает
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
[DUОS] | Дата: Понедельник, 24 Августа 2009, 01:25:15 | Сообщение # 21 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| CHLSN, PolarProjectionBJ - ну смени же ты её, тебе 3 варианта дали!
|
|
|
|
CHLSN | Дата: Понедельник, 24 Августа 2009, 01:39:44 | Сообщение # 22 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| [DUОS], *****!!! При чем здесь PolarProjectionBJ!? Говорю: НЕ КАСТУЕТ ЗАКЛИНАНИЕ
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Эллесар | Дата: Понедельник, 24 Августа 2009, 13:08:16 | Сообщение # 23 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Quote (CHLSN) Это же комп. Почему бы ему не успевать всё это сделать? Пробую паузить немного Потому что эта функция задаёт приказ юниту. а на приказ нужно время) В цикли создавай юниты и давай им приказ )
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
CHLSN | Дата: Понедельник, 24 Августа 2009, 13:28:10 | Сообщение # 24 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (Эллесар) В цикли создавай юниты и давай им приказ ) Quote (CHLSN) function Trig_Demo_Cast takes nothing returns nothing ---//call IssueTargetOrder( udg_CastTargetUnit, "curse", GetEnumUnit() ) ---call CreateNUnitsAtLoc( 1, 'n601', GetOwningPlayer(GetSpellAbilityUnit()), PolarProjectionBJ(GetUnitLoc(GetSpellTargetUnit()), GetRandomReal(200.00, 400.00), GetRandomDirectionDeg()), bj_UNIT_FACING ) ---call IssueTargetOrder( GetLastCreatedUnit(), "curse", GetEnumUnit() ) ---call TriggerSleepAction( 0.10 ) ---call RemoveUnit( GetLastCreatedUnit() ) endfunction Не это ли разве?
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Эллесар | Дата: Понедельник, 24 Августа 2009, 13:47:14 | Сообщение # 25 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| CHLSN local unit u = GetEnumUnit() local unit U = CreateUnit(GetOwningPlayer(GetSpellAbilityUnit()),'n601',GetUnitX(u),GetUnitY(u),0) call IssueTargetOrder(U,"curse",u) call UnitApplyTimedLife(U, 'BTLF', 4) set u = null set U = null
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
Сообщение отредактировал Эллесар - Понедельник, 24 Августа 2009, 13:48:39 |
|
|
|
|
|
|
|
|
|
|