XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
Уж очень странный баг
Недавно наткнулся на очень странный баг, суть его примерно такова, когда я кастую склл в юнита сделанный на основе Увечье (англ. cripple равкод - 'ACcr') на юните появляется бафф, но триггер его в упор не видит, уверяя меня что
((код jass
GetUnitAbilityLevel( bj_myUnit, 'B000') == 0 бред же, бафф висит а равно 0
))
Сначала думал что то намудрил с юнитом, типа переменная равна null или хендл мусору, но оказалось что нифига подобного, все верно, ид юнита верен и ссылка правильна, на этом юните создаётся текстаг и спецэффект...
Как видно бафф то висит, скилл мы кастанули, но выводится сообщение что время истекло, только вопрос как? бафф еще в статусе, и длится 8 секнуд....
» код скилла
((код jass
function CheckBuff takes nothing returns nothing
local timer t = GetExpiredTimer( )
local integer HashId = GetHandleId( t )
local unit target = LoadUnitHandle( gg_htb_GameData, HashId, 1 )
local trigger trg
local integer TrigId
if target == null then
call BJDebugMsg("Беда, таргет равно null")
else
call BJDebugMsg(I2S(GetHandleId(target)) + " это ид юнита")
call FloatingTextFadeout( Player( 12 ), target, "|cffc3dbff!!!|r" )
endif

if not ( GetUnitAbilityLevel( target, 'Brci' ) > 0 ) then только что не пробовал...
set trg = LoadTriggerHandle( gg_htb_GameData, HashId, 0 )
set TrigId = GetHandleId( trg )
call DisableTrigger( trg )
call FlushChildHashtable( gg_htb_GameData, TrigId )
call FlushChildHashtable( gg_htb_GameData, HashId )
call DestroyTimer( t )
call TriggerClearActions( trg )
call TriggerClearConditions( trg )
call DestroyTrigger( trg )
set trg = null
call BJDebugMsg("Конец - время баффа истекло")
endif
set target = null
set t = null
endfunction
далее можно не лезьть, все работает исправно...
))

Отредактировано quq_CCCP, 01.11.2012 в 14:27.
Старый 01.11.2012, 14:07
DioD

offline
Опыт: 45,134
Активность:
что мешает проверить наличие бафа внутри отладочной структуры чтобы исключить какие либо косяки, почему сразу лайф?
Старый 01.11.2012, 14:10
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
DioD, мда, повторяю для тугих на голову, бафф есть! его неможет небыть по определению, смотри второй скринн, но функция возврящает 0.... и юнит есть, так что не надо умничать...
Старый 01.11.2012, 14:14
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,437
Активность:
quq_CCCP, B000 - это точно твой ID баффа????
Sladkoegka добавил:
Sladkoegka, а ну да ты сам себе противоречишь
B000
Bcri
очень странный баг
Старый 01.11.2012, 15:15
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
Sladkoegka, Не надо из меня делать дибила, проверял с обоими, не работает, невнимательные просто ппц.
Старый 01.11.2012, 15:24
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
quq_CCCP, я почемуто не вижу таймера..
Старый 01.11.2012, 15:41
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,437
Активность:
quq_CCCP, тогда давай ВЕСЬ КОД и все что с этим скилом связано.Не может не работать 100% где то косяк.
Sladkoegka добавил:
quq_CCCP,
Не надо из меня делать дибила, проверял с обоими, не работает, невнимательные просто ппц.
я сужу по коду, а не по тому что ты там где то как то по другому тестил.Значит и код нормальный выкладывай.
Старый 01.11.2012, 15:47
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
Sladkoegka, скрины смотрели?
Cosonic5, а зачем он тебе? что ыт нового мне скажеш увидев таймер? ну срабатывает, функцию вызывает, на скрине видны дебаги, так что дело не в коде...
Старый 01.11.2012, 16:16
DemoN2099
annihilator
offline
Опыт: 4,418
Активность:
quq_CCCP, стоп, а зачем ты создал тему? В первом посте как бы нету ни вопроса, ни просьбы о помощи, просто информация, что твой код работает не так, как ты хотел. Чего ты хотел, создав тему?
Старый 01.11.2012, 16:22
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
DemoN2099, узнать ни сталкивался ли кто с таим багом, очевидно же, но тут появились те кому нужен код, дело не в коде но никто это так и не понял, это относится к вару, и я наделся что хоть кто то это заметил, но увы все талдычат про код...
Старый 01.11.2012, 16:55
DioD

offline
Опыт: 45,134
Активность:
событие - игрок нажал эскейп
действие
если баф есть написать баф есть если бафа нет уничтожить вселенную
неужели так сложно?
Старый 01.11.2012, 17:01
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
DemoN2099, как бы я и не скрываю я выложил тот у часток в котором проблема, собственной зачем тебе весь код?
Там нет ничего связного с этим баффом, не работает то проверка, у этого скилла почему то не определяется бафф, я пробовал ставить разные баффы, но эффект один, по каким то причинам функция возвращает уровень баффа равен 0...
quq_CCCP добавил:
DioD, странно, я проверял дебагом, именно у этого скилла нету баффа, (ну его видно в статусе) я экспериментировал как с стандартными баффами так и с не стандртными....
Старый 01.11.2012, 17:05
DemoN2099
annihilator
offline
Опыт: 4,418
Активность:
У меня всё работает.
DemoN2099 добавил:
Если напишет, что Вселенная спасена, то работает.
Прикрепленные файлы
Тип файла: w3x universe.w3x (13.2 Кбайт, 1 просмотров )
Старый 01.11.2012, 17:12
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
DemoN2099, Опять затупил? дело не в коде, кто бы сомневался, мне бы узнать как избавится от этого бага не переделывая карту заново...
Старый 01.11.2012, 17:12
DemoN2099
annihilator
offline
Опыт: 4,418
Активность:
quq_CCCP:
мне бы узнать как избавится от этого бага не переделывая карту заново...
  1. Мне кажется, или ты этого не писал?
  2. Откуда я знаю, что у тебя с картой?
  3. Помочь больше нечем.
Старый 01.11.2012, 17:14
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
Так вот любуемся и думаем что это за фигня:
((код jass
function Trig_Check_Actions takes nothing returns nothing
if GetUnitAbilityLevel(gg_unit_nfgl_0000,'Brci') > 0 then
call DisplayTextToForce( GetPlayersAll(), "У гомункла бафф " + I2S(GetUnitAbilityLevel(gg_unit_nfgl_0000,'Brci')) + " уровня" )
else
call DisplayTextToForce( GetPlayersAll(), "У гомункла нету баффа")
endif
endfunction
===========================================================================
function InitTrig_Check takes nothing returns nothing
set gg_trg_Check = CreateTrigger( )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_Check, Player(0) )
call TriggerAddAction( gg_trg_Check, function Trig_Check_Actions )
endfunction
))
Вот скрины этой проверки, кто нить все таки знает как это исправить?
Миниатюры
Кликните на картинку для увеличения
Название:  Scr03.jpg
Просмотров: 13
Размер:  330.8 Кбайт  Кликните на картинку для увеличения
Название:  Scr14.jpg
Просмотров: 13
Размер:  302.5 Кбайт  Кликните на картинку для увеличения
Название:  Scr15.jpg
Просмотров: 14
Размер:  319.5 Кбайт  
Старый 01.11.2012, 17:33
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
if not ( GetUnitAbilityLevel( target, 'Brci' ) > 0 )
может тут надо поставить меньше 1?
call BJDebugMsg("Конец - время баффа истекло")
появляется из за таго что уровень бафф от скила больше 0
ну все правильно..
Cosonic5 добавил:
gg_unit_nfgl_0000 это точно гомонукала?
Старый 01.11.2012, 17:50
DioD

offline
Опыт: 45,134
Активность:

1 значит баф есть, никах больше или меньше писать не надо.

вообще первая же мысль в моей не пустой голове не сдавленной атмосферой - "так, на этой абилке кастом баф не пашет, выберу другую"
Старый 01.11.2012, 18:03
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,203
Активность:
DioD, ну тут то и подвох, с чего это у меня в карте такое началось, может ли это зависит от кол-ва абилок и равкодов, а так же не сталкивался ли кто то с подобным?
То не хватало мне еще карту переделывать...
quq_CCCP добавил:
Cosonic5, могу скинуть карту, чтобы не было сомнений что это не фейк, меня это самого удивляет как так, с чего началось, и самое главное чтобы не повторялось...
Старый 01.11.2012, 18:09
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
quq_CCCP, я вот щас на другой карте потестил бафф проверяется вот.
Прикрепленные файлы
Тип файла: w3x тест бафа.w3x (21.1 Кбайт, 1 просмотров )
Старый 01.11.2012, 18:11
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 06:10.