quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,203Активность: |
Баг кислотной бомбы
Я использую кислотную бомбу для скилла вроде Helfire blast из Dota allstars, дамми каст молота бурь и кислотной бомбы в юнита, но когда юнит умирает от кислотной бомбы, иногда не срабатывает триггер отлавливающий смерть юнита. Отладка показала что убивший юнит равен null.
Как подобное можно исправить?
» Дамми каст бомбы
((код jass
function Trig_Hell_Fire_Blast_Actions takes nothing returns nothing
local unit Cast = GetSpellAbilityUnit() local unit Targ = GetSpellTargetUnit() if GetUnitAbilityLevel( Targ, 'BNss' ) > 0 then set Cast = null set Targ = null return endif set bj_lastCreatedUnit = CreateUnit(GetOwningPlayer(Cast),'hdum',GetUnitX(Cast),GetUnitY(Cast),GetUnitFacing(Cast)) call SetUnitPathing( bj_lastCreatedUnit,false) call SetUnitFlyHeight( bj_lastCreatedUnit,60.00,10.00) call SetUnitX(bj_lastCreatedUnit,GetUnitX(Cast)) call SetUnitY(bj_lastCreatedUnit,GetUnitY(Cast)) call UnitAddAbility(bj_lastCreatedUnit,'A01N') call UnitAddAbility(bj_lastCreatedUnit,'Alsi') call SetUnitAbilityLevel(bj_lastCreatedUnit,'A01N',GetUnitAbilityLevel(Cast,'A001')) call IssueTargetOrder(bj_lastCreatedUnit,"acidbomb",Targ) call UnitApplyTimedLife(bj_lastCreatedUnit,0,4.01) set Cast = null set Targ = null endfunction ))
» Дебаг
((код jass
f Kpl == Player( PLAYER_NEUTRAL_AGGRESSIVE ) then call DisplayTextToForce( bj_FORCE_ALL_PLAYERS, GetColoredPlayerName( GetPlayerId( Rpl ) ) + udg__STR_HASKILLEDBYNEUTRAL ) call DisplayTextToPlayer( Rpl, 0.00, 0.00, udgSTR_TIP + udgSTR_TIP_RESP_INFO ) set gg_bvl_PlayerDefeated[nPlayerId] = false set zRespawnWindow[nPlayerId] = CreateTimerDialog( zRespawnTimer[nPlayerId] ) if GetLocalPlayer( ) == Rpl then call TimerDialogDisplay( zRespawnWindow[nPlayerId], true ) call StartSound( bj_questHintSound ) else call TimerDialogDisplay( zRespawnWindow[nPlayerId], false ) endif call TimerDialogSetTitle( zRespawnWindow[nPlayerId], udg__STR_HEROREZ ) call TimerStart( zRespawnTimer[nPlayerId], 45.00, false, function RevivePlayerHero ) endif if Kpl == null then call BJDebugMsg( "|cffff0000Баг|r - Player == null! |cffC0C0C0Скиньте реплей игры автору skype quq_CCCP|r" ) if IsSlotPlayer( 6 ) then set Kpl = Player( 6 ) else set Kpl = Player( 7 ) endif endif ))
Отредактировано quq_CCCP, 28.03.2014 в 12:44. |
27.03.2014, 11:46 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
делай триггерным снарядом и не парься |
27.03.2014, 12:23 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
Наноси урон тригерно |
27.03.2014, 19:50 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Extremator
online
Опыт:
40,030Активность: |
что могу сказать по факту
1й скилл из доты - я бы сделал триггерно
точнее, я даже сделал триггерно, и он у меня бафф вешает триггерный и урон наношу триггерно тоже что косаемо кислотной бомбы и null юнита
возможно у тебя даммик умирает раньше чем заканчивается эффект скилла если это так - то урон идёт от никого... т.к. даммик умер, разложился, и вычистился из игры напроч Что могу посоветовать
1 - как сказал выше гб, делай всё триггерно 2 - делай не всё триггерно х) Что я имею ввиду - дай герою скилл кислотную бомбу, сделай в ней длительность 0.01 сек, урон 0, бафф там
при касте (герой будет кидать бомбу в цель) - сделай так что бы цель реагиовала на получение урона как только цель получит урон и будет иметь бафф от бомбы - значит бомба влетела в цель тут ты можешь сделать дамми-каст и повесить стан + начать наносить урон триггерно... и не забудь в начале, сразу после проверки, снять бафф с цели |
27.03.2014, 20:42 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,203Активность: |
Extremator:
Ага, че же на мобах работает четко, снаряд еще не долетел а дамик уже RemoveUnit(dummy) и все четко, я получаю золото за убийство, а тут нету голда даже (награда которая в РО) и тд, пробовал проявлять жизнь дамми, тоже самое. В сингле все чётко, в муи иногда вылазит дебаг строка следующего содержания - "|cffff0000Баг|r - Player == null! |cffC0C0C0Скиньте реплей игры автору skype quq_CCCP|r" Я просто поленился делать полностью триггерно такую пустяковую способность, а видимо зря.
Про реализацию спс, я сделаю немного по другому, как сделать подобный скилл мне известно, просто я поленился разводить код на пол страницы,ну собственно результатт не заставил себя долго ждать... Всем спасибо, поду делать триггерную версию скилла |
28.03.2014, 07:51 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Extremator
online
Опыт:
40,030Активность: |
quq_CCCP:
синглплей странная штука... у меня раньше тоже были ситуации когда "в сингле норм, а в сети - багибагибаги" но могу лишь сваливать на то что я был неопытен в картострое.... Всё же попробуй кидать бомбу самим героем...
Что касаемо триггерного снаряда - могу подкинуть свою тестовую карту, в ней я набрасывал своего гера... но там без стана и дамага... просто наносит урон, режет броню, замедляет (на 4 сек.) разумеется GUI, а я так понимаю делаешь на Jass'е, поэтому просмотри просто саму суть и сделай сам... |
28.03.2014, 08:59 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|