function Static_Field_Filter takes nothing returns boolean return IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO) and IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit()))and IsUnitVisible(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit())) endfunction
function Static_Field_Damage takes nothing returns nothing local real lQw=.96-.02*GetUnitAbilityLevel(GetTriggerUnit(),'A00J') local real lQW=GetUnitState(GetEnumUnit(),UNIT_STATE_LIFE) local real lf7=lQW-lQW*lQw call UnitDamageTarget(GetTriggerUnit(),GetEnumUnit(),lf7,true,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC,WEAPON_TYPE_WHOKNOWS) call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl",GetEnumUnit(),"origin")) endfunction
function Static_Field_Main takes nothing returns nothing local location liD=GetUnitLoc(GetTriggerUnit()) local group lEw=CreateGroup() local real lxx=GetLocationX(liD) local real lyy=GetLocationY(liD) local boolexpr lEW=Condition(function Static_Field_Filter) call GroupEnumUnitsInRange(lEw,lxx,lyy,800,lEW) call ForGroup(lEw,function Static_Field_Damage) call RemoveLocation(liD) call DestroyGroup(lEw) call DestroyBoolExpr(lEW) endfunction
//=========================================================================== function InitTrig_Static takes nothing returns nothing set gg_trg_Static = CreateTrigger( ) call TriggerAddAction( gg_trg_Static, function Trig_Static_Actions ) endfunction
function Static_Field_Filter takes nothing returns boolean return IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO) and IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit()))and IsUnitVisible(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit())) endfunction
function Static_Field_Damage takes nothing returns nothing local real lQw=.96-.02*GetUnitAbilityLevel(GetTriggerUnit(),'A00J') local real lQW=GetUnitState(GetEnumUnit(),UNIT_STATE_LIFE) local real lf7=lQW-lQW*lQw call UnitDamageTarget(GetTriggerUnit(),GetEnumUnit(),lf7,true,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC,WEAPON_TYPE_WHOKNOWS) call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl",GetEnumUnit(),"origin")) endfunction
function Static_Field_Main takes nothing returns nothing local location liD=GetUnitLoc(GetTriggerUnit()) local group lEw=CreateGroup() local real lxx=GetLocationX(liD) local real lyy=GetLocationY(liD) local boolexpr lEW=Condition(function Static_Field_Filter) call GroupEnumUnitsInRange(lEw,lxx,lyy,800,lEW) call ForGroup(lEw,function Static_Field_Damage) call RemoveLocation(liD) call DestroyGroup(lEw) call DestroyBoolExpr(lEW) endfunction
//=========================================================================== function InitTrig_Static takes nothing returns nothing set gg_trg_Static = CreateTrigger( ) call TriggerAddAction( gg_trg_Static, function Trig_Static_Actions ) endfunction
пробел поставь
Добавлено (09 Сентября 2013, 00:09:31) --------------------------------------------- и там много таких ошибок
Добавлено (09 Сентября 2013, 00:11:13) --------------------------------------------- А ещё ,ты способности переносил,заклинания или нет?
Сообщение отредактировал abidin - Понедельник, 09 Сентября 2013, 00:11:33
А собсно что тут должно работать, если функция Static_Field_Main ниоткуда не запускается? Триггер постоянно запускает только одну функцию Trig_Static_Actions с проверкой и на этом завершается его работа. Хотя, тут даже до проверки дело не доходит, у триггера нет даже события. Где ты этот кусок кода выдрал? Откуда?
Цитата (abidin)
пробел поставь
Слитно можно писать рядом с одинарными и двойными кавычками, а также скобками(ну и они тоже сами не везде нужны как и пробелы).
Цитата (Daro)
Хотел вот взять
Код
function StaticFieldDamage takes unit u,player p,group g returns nothing local real r=.96-.02*GetUnitAbilityLevel(u,'A00J') local real l local unit t call GroupEnumUnitsInRange(g,GetWidgetX(u),GetWidgetY(u),800.,null) loop set t=FirstOfGroup(g) exitwhen t==null call GroupRemoveUnit(g,t) set l=GetWidgetLife(t) if IsUnitEnemy(t,p)and IsUnitVisible(t,p)and IsUnitType(t,UNIT_TYPE_HERO)and not IsUnitType(t,UNIT_TYPE_STRUCTURE)and not(IsUnitType(t,UNIT_TYPE_DEAD)or GetUnitTypeId(t)<1)and l>.405 then call UnitDamageTarget(u,t,l-l*r,true,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC,WEAPON_TYPE_WHOKNOWS) call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl",t,"origin")) endif endloop call DestroyGroup(g) set u=null set t=null set p=null set g=null endfunction function Static takes nothing returns boolean local integer i=GetSpellAbilityId() if(i=='A004'or i=='A00E'or i=='A00G'or i=='A001')and GetUnitAbilityLevel(GetTriggerUnit(),'A00J')>0 then call StaticFieldDamage(GetTriggerUnit(),GetTriggerPlayer(),CreateGroup()) endif return false endfunction function InitTrig_Static takes nothing returns nothing local trigger t=CreateTrigger() local integer i=0 loop call TriggerRegisterPlayerUnitEvent(t,Player(i),EVENT_PLAYER_UNIT_SPELL_EFFECT,null) exitwhen i>14 set i=i+1 endloop call TriggerAddCondition(t,Condition(function Static)) set t=null endfunction
Делаю из воды вино, хожу по воде...
Сообщение отредактировал FEARKILLER - Понедельник, 09 Сентября 2013, 03:39:16