![]()
Zombak2500
![]() ![]() offline
Опыт:
1,855Активность: |
Вакуум
Не работает, вот код:
INFO
uca = caster ability ula = level ability ra = region of ability ENDINFO function Trig_Vacuum_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A006' endfunction function Trig_Untitled_Trigger_Null takes nothing returns nothing
endfunction function Trig_Vacuum_Action takes nothing returns nothing
Locals local unit uca local integer ula local location ra End Locals Sets set uca = GetSpellAbilityUnit() set ula = GetUnitAbilityLevel(uca,'A006') set ra = GetSpellTargetLoc() End Sets Start Effect call AddSpecialEffectLocBJ( ra , "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" ) call PolledWait( 0.30 ) call DestroyEffectBJ( GetLastCreatedEffectBJ() ) End Effect Creat Group call ForGroupBJ( GetUnitsInRangeOfLocAll(ula*50, ra ), function Trig_Untitled_Trigger_Null ) if IsPlayerEnemy(GetOwningPlayer(uca), GetOwningPlayer(GetEnumUnit())) then call SetUnitPositionLoc( GetEnumUnit(), ra ) call UnitDamageTargetBJ(uca, GetEnumUnit(), ula*50, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE ) endif endfunction function InitTrig_Vacuum takes nothing returns nothing
set gg_trg_Vacuum = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Vacuum, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_Vacuum, Condition( function Trig_Vacuum_Conditions ) ) call TriggerAddAction( gg_trg_Vacuum, function Trig_Vacuum_Action ) endfunction Тригер должен делать вот что: Выделять всех в круге(пустышка БЛИЗЗАРД скилл) и всех врагов в центр |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
Лол. Действия притягивания должны быть в функций которую вызывает ФорГруп. Да и вообще тут все медленно и утечно. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zombak2500
![]() ![]() offline
Опыт:
1,855Активность: |
Покажи как надо |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
Trig_Untitled_Trigger_Null вот сюда вставляешь if IsPlayerEnemy(GetOwningPlayer(uca),
GetOwningPlayer(GetEnumUnit())) then call SetUnitPositionLoc( GetEnumUnit(), ra ) call UnitDamageTargetBJ(uca, GetEnumUnit(), ula*50, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE ) endif DoctorGester добавил: Соответственно придется либо вставлять глобалки, либо делать вместо ФорГрупа брутфорс |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zombak2500
![]() ![]() offline
Опыт:
1,855Активность: |
глобалки меня не устраивают скажи плиз что нужно написать для брутфорса |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
|
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zombak2500
![]() ![]() offline
Опыт:
1,855Активность: |
» То есть так
INFO
uca = caster ability ula = level ability ra = region of ability ENDINFO function Trig_Vacuum_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A006' endfunction function Trig_Vacuum_Action takes nothing returns nothing
Locals local unit uca local integer ula local location ra End Locals Sets set uca = GetSpellAbilityUnit() set ula = GetUnitAbilityLevel(uca,'A006') set ra = GetSpellTargetLoc() End Sets Start Effect call AddSpecialEffectLocBJ( ra , "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" ) call PolledWait( 0.30 ) call DestroyEffectBJ( GetLastCreatedEffectBJ() ) End Effect Creat Group local group g = CreateGroup() local unit u call GroupEnumUnitsInRange(parameters) set u = FirstOfGroup(g) loop exitwhen u = null call GroupRemoveUnit(g,u) if IsPlayerEnemy(GetOwningPlayer(uca), GetOwningPlayer(GetEnumUnit())) then call SetUnitPositionLoc( GetEnumUnit(), ra ) call UnitDamageTargetBJ(uca, GetEnumUnit(), ula*50, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE ) endif set u = FirstOfGroup(g) endloop endfunction function InitTrig_Vacuum takes nothing returns nothing set gg_trg_Vacuum = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Vacuum, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_Vacuum, Condition( function Trig_Vacuum_Conditions ) ) call TriggerAddAction( gg_trg_Vacuum, function Trig_Vacuum_Action ) endfunction |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
GetEnumUnit замени на u и локалки перенеси вверх функции |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
если вас не устраивают глобалки вам совершенно не нужен джаз.
брутфорс группы совершенно бессмысленное с точки зрения производительности и логики занятие. |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
В моей карте используется брутфорс при попадании снаряда в юнита и ничего, производительность нормальная. А ему требуется всего лишь на применение спела. Ах да автор почитай статью сергея о утечках. |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zombak2500
![]() ![]() offline
Опыт:
1,855Активность: |
DoctorGester:
GroupEnumUnitsInRange takes group whichGroup, real x, real y, real radius, boolexpr filter returns nothing как узнать filter ,и вообще что это такое
p.s. уток уберу
Zombak2500 добавил: на вопрос ответьте плЫз Отредактировано Zombak2500, 28.01.2010 в 17:17. |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
Просто поставь null |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zombak2500
![]() ![]() offline
Опыт:
1,855Активность: |
Всё, всем спасибо выкладываю готовый тригер:
» Vacuum
INFO
uca = caster ability ula = level ability ra = region of ability g = группа u = юниты x,y,R = координаты центра скила и радиус выделения ENDINFO function Trig_Vacuum_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A006' endfunction function Trig_Vacuum_Action takes nothing returns nothing
Locals local unit uca local integer ula local location ra local group g local unit u local real x local real y local real R End Locals Sets set g = CreateGroup() set uca = GetSpellAbilityUnit() set ula = GetUnitAbilityLevel(uca,'A006') set ra = GetSpellTargetLoc() set x = GetLocationX(ra) set y = GetLocationY(ra) set R = ula*50 + 200 End Sets Start Effect call AddSpecialEffectLocBJ( ra , "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" ) call PolledWait( 0.30 ) call DestroyEffectBJ( GetLastCreatedEffectBJ() ) End Effect call GroupEnumUnitsInRange(g,x,y,R,null) set u = FirstOfGroup(g) loop exitwhen u == null call GroupRemoveUnit(g,u) if IsPlayerEnemy(GetOwningPlayer(uca), GetOwningPlayer(u)) then call SetUnitPositionLoc( u, ra ) call UnitDamageTargetBJ(uca, u, R, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE ) endif set u = FirstOfGroup(g) endloop NULLALL set g = null set uca = null set ula = 0 set ra = null set x = 0 set y = 0 set R = 0 ENDNULLALL endfunction function InitTrig_Vacuum takes nothing returns nothing set gg_trg_Vacuum = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Vacuum, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_Vacuum, Condition( function Trig_Vacuum_Conditions ) ) call TriggerAddAction( gg_trg_Vacuum, function Trig_Vacuum_Action ) endfunction DoctorGester, биг спс ,что помог разобратьвся
DioD, одна дурацкая критика не чем не помог=флуд и набивание экспы О ВЕЛИКИЙ МОДЕРАТОР ЗАКРОЙ ТЕМУ ) Отредактировано Zombak2500, 28.01.2010 в 17:53. |
![]() |
#13
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
Переменные обнули в конце и точку с группой удали
DoctorGester добавил: И бж старайся не использовать |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zombak2500
![]() ![]() offline
Опыт:
1,855Активность: |
А да) утки спс)
Zombak2500 добавил: На бж забил когда в JNGP увидел кнопку функцион лист. всё скрипт доделал можете брать кому надо) ещё раз спс |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|