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