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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Проблема с Target point of ability being cast
FkoFFДата: Четверг, 22 Апреля 2010, 12:30:30 | Сообщение # 1
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Вообщем то не знаю в связи с чем это происходит, но у старых триггерных спеллов, которые кастуются на точку если изменить время каста или что либо еще триггеры перестают запоминать точку и смещают её в центр карты. точнее даже не в центр а куда заблагорасудится. и это странно. Собственно строчка Target point of ability being cast перестает адекватно функцианировать, выдавая рандомные результаты. Кто знает с чем это может быть связанно?

Добавлено (22-04-2010, 12:30)
---------------------------------------------
забыл добавить, если изменить все статы абилки на предидущие параметры - она всеравно откзывается адекватно работать.




Сообщение отредактировал FkoFF - Четверг, 22 Апреля 2010, 12:29:53
 

Fox3Дата: Четверг, 22 Апреля 2010, 14:07:49 | Сообщение # 2
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 10
Блокировки:
Может проблема с переменными? Хотя я не про :)
 

FkoFFДата: Четверг, 22 Апреля 2010, 15:05:14 | Сообщение # 3
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
да какие, простите, к чертям переменные? в триггере использую ссылку "target point of ability being cast" которая какого то черта выкидывает в странную точку на карте. Всегда в одну, но при этом очень странную. Тобишь это не центр карты, это даже не геометрический центр тоей половины карты которую я использую. Причем что самое мерзкое так со всеми скиллами, которые требуют точку для запуска, и у них подкрутить какойнибудь параметр, по типу "время подготовки заклинания".. Незнаю действует ли на все спеллы, но со всеми, что на основе чаннела это точно.

Прошу не отписываться тут людей с смутными предположениями что они получат +1 мсг... если не поделу за этот массаг вы получите минус в репутацию. Прошу не гадить в теме глупыми соображениями.. Только по делу, господа, только по делу... )


 

Ramazan(off)Дата: Четверг, 22 Апреля 2010, 15:25:43 | Сообщение # 4
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 775
Блокировки:
FkoFF, Ну ка дай сюда ссыль на спелл посмотрим что функция пытается возвратить....
 

FkoFFДата: Пятница, 23 Апреля 2010, 03:10:16 | Сообщение # 5
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
везде где сейчас position of target unit of ability being cast раньше стояла target point of ability being cast

Code

function Trig_Dimension_Blink_Conditions takes nothing returns boolean
     if ( not ( GetSpellAbilityId() == 'A04Q' ) ) then
         return false
     endif
     return true
endfunction

function Trig_Dimension_Blink_Func004Func002001003001001 takes nothing returns boolean
     return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) != true )
endfunction

function Trig_Dimension_Blink_Func004Func002001003001002 takes nothing returns boolean
     return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Dimension_Blink_Func004Func002001003001 takes nothing returns boolean
     return GetBooleanAnd( Trig_Dimension_Blink_Func004Func002001003001001(), Trig_Dimension_Blink_Func004Func002001003001002() )
endfunction

function Trig_Dimension_Blink_Func004Func002001003002 takes nothing returns boolean
     return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) != true )
endfunction

function Trig_Dimension_Blink_Func004Func002001003 takes nothing returns boolean
     return GetBooleanAnd( Trig_Dimension_Blink_Func004Func002001003001(), Trig_Dimension_Blink_Func004Func002001003002() )
endfunction

function Trig_Dimension_Blink_Func005A takes nothing returns nothing
     set udg_ncblinkunits[udg_nc] = GetEnumUnit()
     set udg_nc = ( udg_nc + 1 )
endfunction

function Trig_Dimension_Blink_Func006Func001001003001001 takes nothing returns boolean
     return ( GetUnitStateSwap(UNIT_STATE_LIFE, GetFilterUnit()) > 0.00 )
endfunction

function Trig_Dimension_Blink_Func006Func001001003001002 takes nothing returns boolean
     return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) != true )
endfunction

function Trig_Dimension_Blink_Func006Func001001003001 takes nothing returns boolean
     return GetBooleanAnd( Trig_Dimension_Blink_Func006Func001001003001001(), Trig_Dimension_Blink_Func006Func001001003001002() )
endfunction

function Trig_Dimension_Blink_Func006Func001001003002 takes nothing returns boolean
     return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetSpellAbilityUnit())) != true )
endfunction

function Trig_Dimension_Blink_Func006Func001001003 takes nothing returns boolean
     return GetBooleanAnd( Trig_Dimension_Blink_Func006Func001001003001(), Trig_Dimension_Blink_Func006Func001001003002() )
endfunction

function Trig_Dimension_Blink_Func006Func001A takes nothing returns nothing
     call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( 25.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endfunction

function Trig_Dimension_Blink_Actions takes nothing returns nothing
     call PolledWait( 0.20 )
     set udg_nc = 1
     set udg_AAA_REAL[1] = 0.00
     set udg_G = 1
     loop
         exitwhen udg_G > 8
         set udg_AA_Point[udg_G] = PolarProjectionBJ(GetUnitLoc(GetTriggerUnit()), ( ( DistanceBetweenPoints(GetUnitLoc(GetTriggerUnit()), GetUnitLoc(GetSpellTargetUnit())) / 8.00 ) * I2R(udg_G) ), AngleBetweenPoints(GetUnitLoc(GetTriggerUnit()), GetUnitLoc(GetSpellTargetUnit())))
         call GroupAddGroup( GetUnitsInRangeOfLocMatching(250.00, udg_AA_Point[udg_G], Condition(function Trig_Dimension_Blink_Func004Func002001003)), udg_ncjump )
         set udg_G = udg_G + 1
     endloop
     call ForGroupBJ( udg_ncjump, function Trig_Dimension_Blink_Func005A )
     set udg_nk = 1
     loop
         exitwhen udg_nk > udg_nc
         call ForGroupBJ( GetUnitsInRangeOfLocMatching(300.00, GetUnitLoc(udg_ncblinkunits[udg_nk]), Condition(function Trig_Dimension_Blink_Func006Func001001003)), function Trig_Dimension_Blink_Func006Func001A )
         call AddSpecialEffectLocBJ( GetUnitLoc(udg_ncblinkunits[udg_nk]), "Objects\\Spawnmodels\\Undead\\UndeadLargeDeathExplode\\UndeadLargeDeathExplode.mdl" )
         call DestroyEffectBJ( GetLastCreatedEffectBJ() )
         call GroupRemoveUnitSimple( udg_ncblinkunits[udg_nk], udg_ncjump )
         set udg_ncblinkunits[udg_nk] = null
         set udg_nk = udg_nk + 1
     endloop
     call AddSpecialEffectLocBJ( GetUnitLoc(GetTriggerUnit()), "Abilities\\Spells\\Demon\\DemonBoltImpact\\DemonBoltImpact.mdl" )
     call DestroyEffectBJ( GetLastCreatedEffectBJ() )
     call SetUnitPositionLoc( GetTriggerUnit(), GetUnitLoc(GetSpellTargetUnit()) )
     call AddSpecialEffectLocBJ( GetUnitLoc(GetTriggerUnit()), "Abilities\\Spells\\Demon\\DemonBoltImpact\\DemonBoltImpact.mdl" )
     call DestroyEffectBJ( GetLastCreatedEffectBJ() )
     set udg_nc = 0
endfunction

//===========================================================================
function InitTrig_Dimension_Blink takes nothing returns nothing
     set gg_trg_Dimension_Blink = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_Dimension_Blink, EVENT_PLAYER_UNIT_SPELL_EFFECT )
     call TriggerAddCondition( gg_trg_Dimension_Blink, Condition( function Trig_Dimension_Blink_Conditions ) )
     call TriggerAddAction( gg_trg_Dimension_Blink, function Trig_Dimension_Blink_Actions )
endfunction



 

FaionДата: Пятница, 23 Апреля 2010, 16:06:02 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Мне думается при работе с каким то тригом сторонним возникла проблема. Помнится как то у меня при юзе любого скила кастеров начало кидать в центр, а потом убивать, я долго голову ломал, потом таки вспомнил что удалил в РО спелл, и получилось что один тригер срабатывал при юзе любого спела. Раз раньше такого небыло, значит сейчас где то намудрил и сторонний триг влезает в работу.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

FkoFFДата: Пятница, 23 Апреля 2010, 18:12:48 | Сообщение # 7
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
подумаю, у меня есть идеи касательно этого... мхм.. хотя чего скрывать, я уже думал о такой возможности, просто перепахивать тонну спеллов конечно не самая радостная перспектива.. Да и проблема в том что сбои начинаются после редактирования спелла изнутри (самой пустышки)

 

  • Страница 1 из 1
  • 1
Поиск:

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