Ищем ошибки в григе
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 19:59:31 | Сообщение # 1 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| У героя есть способность (Тоесть 2), они взаимосвязаны. 1ой абилкой герой собирает души рядом стоящих врагов (переменная считает кол-во): Потом втечении 10 сек можно стрельнуть этими душами в 1 врага... Нажимаем значит, и сколько душ накопилось, столько раз и стрельнет, ну там плюс еще ману вокруг восстанавливает. Проблема в том что 1 раз юзаешь - работает а потом ни в какую =( вот триг самой стрелялки: Заранее спасибо и просьба не обзываться на некомпетентность триггера.
|
|
|
|
Borodach | Дата: Понедельник, 28 Ноября 2011, 20:12:22 | Сообщение # 2 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Ilusha, Cтранно что и 1 рас работает
Karamba
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 20:19:29 | Сообщение # 3 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| ну на самом деле, раньше работала на 100% потом, почему не понял перестала. Borodach, ну дак подкинь правильный вариант если этот не должен работать, и, хотелось бы аргументы, что не правильно. Спасибо за понимание
|
|
|
|
oleg_best_oleg | Дата: Понедельник, 28 Ноября 2011, 20:52:23 | Сообщение # 4 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Ilusha, мб потому что души устанавливаются на 0, а цикл успевает сработать 1 раз, из-за веита, попробуй перед последним действием "Set DushiSgustok = 0" поставить "Wait 0.25*DushiSgustok".
Сообщение отредактировал oleg_best_oleg - Понедельник, 28 Ноября 2011, 20:52:48 |
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 20:56:06 | Сообщение # 5 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| Ну я попробую, но это бред какой-то как он может раньше выйти из цикла чем надо?
|
|
|
|
Borodach | Дата: Понедельник, 28 Ноября 2011, 21:43:45 | Сообщение # 6 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Ilusha, Вот примерно так: http://rghost.ru/32418551 Добавлено (28 Ноябрь 2011, 21:43:45) --------------------------------------------- Только вейт в цыкле не рекомендовано...
Karamba
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:00:14 | Сообщение # 7 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| А как избегать вейтов в цикле, а то если без вейта они все очень быстро вылетят, а может даже даммик не успеет прокастовать... И всеже не понятно, если в цикле нужен вэйт как его заменить?
|
|
|
|
oleg_best_oleg | Дата: Понедельник, 28 Ноября 2011, 22:03:43 | Сообщение # 8 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Quote (Ilusha) если в цикле нужен вэйт как его заменить? Таймером.
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:05:44 | Сообщение # 9 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| А и вот еще, что за тему ты написал в CS?
|
|
|
|
Ty3uK | Дата: Понедельник, 28 Ноября 2011, 22:06:04 | Сообщение # 10 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Вейт в цикле надо менять либо на периодическое включение / выключение отдельного триггера с действиями цикла (вариант нубов) или использовать периодический таймер на жассе (труЪ вариант). И на будущее- скрины закидывай под спойлер
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:13:03 | Сообщение # 11 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| Вариант для нубов работает исправно? И бля... почему нельзя было сделать чтобы вэйт в циклах робили?((
|
|
|
|
Borodach | Дата: Понедельник, 28 Ноября 2011, 22:14:15 | Сообщение # 12 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Ilusha, BJDebug()--выводит на экран количество душ(можешь удалить) RemoveLocation--Удаление точки(они вызивают утечки) сейчас скину пример с таймером
Karamba
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:15:55 | Сообщение # 13 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| А этот ремув можно во всех тригах с утечками точек писать?
|
|
|
|
Ty3uK | Дата: Понедельник, 28 Ноября 2011, 22:20:20 | Сообщение # 14 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Функа удаления да, а аргументы нужны разные (название точки). Бородач, код потом под примером выложи, ок? Добавлено (28 Ноябрь 2011, 22:20:20) --------------------------------------------- И, да, вариант для нубов работает исправно. Только он не муи, вот и все
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:21:12 | Сообщение # 15 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| а без CS гуишно можно удалять?
|
|
|
|
Ty3uK | Дата: Понедельник, 28 Ноября 2011, 22:24:00 | Сообщение # 16 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Нельзя, да и если можно (например, удаление эффекта) все равно не надо. Бж = одинаковый результат (для этой ситуации) + лишний вызов Добавлено (28 Ноябрь 2011, 22:24:00) --------------------------------------------- Бтв, я надеюсь, что глобалку с точкой никто не обнуляет?
|
|
|
|
Borodach | Дата: Понедельник, 28 Ноября 2011, 22:26:27 | Сообщение # 17 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Ilusha, Пример того же цыкла, только таймером http://rghost.ru/32428291
Karamba
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:27:09 | Сообщение # 18 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| Если я правильно понял, то он обнулил в конце глобалку с точкой. Дак в каких случаях нужно чистить утечки? Все точки, юниты, бафы чтоли?
|
|
|
|
Ty3uK | Дата: Понедельник, 28 Ноября 2011, 22:27:31 | Сообщение # 19 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Код в студию, пожалуйста (в тег [code])
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:31:55 | Сообщение # 20 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| Code function Trig_PowerSoul_Conditions takes nothing returns boolean if ( not ( GetSpellAbilityId() == 'A001' ) ) then return false endif return true endfunction
function Trig_PowerSoul_Func003Func001C takes nothing returns boolean if ( not ( IsUnitDeadBJ(udg_SoulUnitTarget[1]) == false ) ) then return false endif if ( not ( udg_CountSoul > 0 ) ) then return false endif return true endfunction
function Trig_PowerSoul_Actions takes nothing returns nothing set udg_SoulUnitTarget[0] = GetTriggerUnit() set udg_SoulUnitTarget[1] = GetSpellTargetUnit() set bj_forLoopAIndex = 1 set bj_forLoopAIndexEnd = udg_CountSoul loop exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd if ( Trig_PowerSoul_Func003Func001C() ) then set udg_LocationCreateDummy = GetUnitLoc(udg_SoulUnitTarget[0]) call CreateNUnitsAtLoc( 1, 'n000', GetOwningPlayer(GetTriggerUnit()), udg_LocationCreateDummy, bj_UNIT_FACING ) call UnitApplyTimedLifeBJ( 0.50, 'BTLF', GetLastCreatedUnit() ) call UnitAddAbilityBJ( 'A003', GetLastCreatedUnit() ) call SetUnitAbilityLevelSwapped( 'A003', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A001', udg_SoulUnitTarget[0]) ) call IssueTargetOrder( GetLastCreatedUnit(), "chainlightning", udg_SoulUnitTarget[1] ) call RemoveLocation(udg_LocationCreateDummy) else endif call TriggerSleepAction( 0.20 ) set bj_forLoopAIndex = bj_forLoopAIndex + 1 endloop set udg_CountSoul = 0 endfunction
//=========================================================================== function InitTrig_PowerSoul takes nothing returns nothing set gg_trg_PowerSoul = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_PowerSoul, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_PowerSoul, Condition( function Trig_PowerSoul_Conditions ) ) call TriggerAddAction( gg_trg_PowerSoul, function Trig_PowerSoul_Actions ) endfunction
|
|
|
|
Ty3uK | Дата: Понедельник, 28 Ноября 2011, 22:32:56 | Сообщение # 21 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Я вообще имел в виду тот, который тебе скинул Бородач
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:35:27 | Сообщение # 22 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| он и есть Добавлено (28 Ноябрь 2011, 22:35:27) --------------------------------------------- а щас, затупил
|
|
|
|
Borodach | Дата: Понедельник, 28 Ноября 2011, 22:36:46 | Сообщение # 23 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Ty3uK, Я на гуи сделал... какой код?
Karamba
|
|
|
|
Ty3uK | Дата: Понедельник, 28 Ноября 2011, 22:37:01 | Сообщение # 24 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| О.о о.о о.о мойлол... Это же ужас, рли. Я не за компом, код кинуть не могу. Но это тупой конверт из гуи в текст. Даже без оптимизации кода. Юзать такой бессмысленно. Плюс, никакого периодического таймера там нет. Как был луп (цикл), так и остался
|
|
|
|
Ilusha | Дата: Понедельник, 28 Ноября 2011, 22:37:50 | Сообщение # 25 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| Borodach, спасибо, лови +
|
|
|
|