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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Ищем ошибки в григе (просмотрите плз свежим взглядом)
Ищем ошибки в григе
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 рас работает :o

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
Блокировки:
Вейт в цикле надо менять либо на периодическое включение / выключение отдельного триггера с действиями цикла (вариант нубов) или использовать периодический таймер на жассе (труЪ вариант). И на будущее- скрины закидывай под спойлер

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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)
---------------------------------------------
И, да, вариант для нубов работает исправно. Только он не муи, вот и все


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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)
---------------------------------------------
Бтв, я надеюсь, что глобалку с точкой никто не обнуляет?


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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])

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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
Блокировки:
Я вообще имел в виду тот, который тебе скинул Бородач

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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
Блокировки:
О.о о.о о.о мойлол... Это же ужас, рли. Я не за компом, код кинуть не могу. Но это тупой конверт из гуи в текст. Даже без оптимизации кода. Юзать такой бессмысленно. Плюс, никакого периодического таймера там нет. Как был луп (цикл), так и остался

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

IlushaДата: Понедельник, 28 Ноября 2011, 22:37:50 | Сообщение # 25
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
Borodach, спасибо, лови +
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Ищем ошибки в григе (просмотрите плз свежим взглядом)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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