Юнит у которого есть "Замедление" и этот юнит не с Москитами(dammy) враг выбранному юниту
я более чем уверен что этот фильтр берет всех подряд
Ошибаешься, можешь проверить. Разреши каст по своим и копипастни мой код и увидишь "Чудо", что Даммик не будет кастовать и крипы не будут кастовать по своим
мне очень интересно как GetEnumUnit() работает в другой функции
upd
полагаю из-за потока триггера и двойного фор група, энум юнит в данном случае может сохраниться, однако на будущее, обращайте на это внимание
Не брал, только что проверил и вы правы, на деле, оказалось, что фильтр, который второй работает как-то странно с положительными бафами, например, мне стало не понятно, как выбирается рандом юнит
""
u2=GroupPickRandomUnit(g)
Юнит у которого есть "Замедление" и этот юнит не с Москитами(dammy) враг выбранному юниту
я более чем уверен что этот фильтр берет всех подряд
Ошибаешься, можешь проверить. Разреши каст по своим и копипастни мой код и увидишь "Чудо", что Даммик не будет кастовать и крипы не будут кастовать по своим
Ни работает preloader а это сохраненки рпгшек, на офф бнете не будет кар со статистикой, очень хорошо?
Я может что-то не понимаю, но, что конкретно не работает, расскажите? Ведь все коды сохраняются в СustomModData c форматом .pld? Например You Td или же те же самые карты с автозагрузкой героев(Где это реализуется путем включения лок файлов)
была тема о том что нативки которые начинают с GroupEnum....могут не выделять москитов в группу xgm.guru/p/wc3/187447#lastpost
правда не все
с помощью нативок GroupEnum... фильтр отсеивает не нужных. Короче берет всех кто попал, и фильтром отсеивает. Если вернет true, то юнита зачисляют в группу, иначе отсеивают
у вас фильтр странный. Владелец GetFilterUnit враг владельца GetEnumUnit. Мне кажется лучше GetEnumUnit в переменную засунуть. Ведь варкрафтоская переменная мб не надежной, так как GetEnumUnit работает только в ForGroup. Неизвестно существует ли ссылка, пуста ли переменная. На кого ты ссылаешься? Существует ли этот юнит? мб его и не сущестует
Ну наделе, что это за фильтр выходит. Юнит у которого есть "Замедление" и этот юнит не с Москитами(dammy) враг выбранному юниту
Ничего что даммик замедление кассовая на своих\невидимых\дохлых\ иммунных к магии не может.
буллекспры не утекают, нет надобности в переменных и удалении...
Я сделал в замедлении, что каст на своих возможен и в этом фильтре даммик во все не будет кастовать.//По внимательней)// Хорошо можно и удалить эту локалку, но смысл её создания был? И нет статеек вроде как про boolexpr) и вопросик тогда смысл функции удаления boolexpr? EnergyFrost:
есть подозрение, что этот фильтр берет всех, неважно, враг или друг, вы проверьте
а еще куча лишних телодвижений, зачем то создается локалка на кондишн, яхз)
Нейтрал кастует, только во врага ему, с фильтром всё ок, а насчёт москитиков, то надо будет убрать если вы верно всё расписали мне)
С такой локалочкой удобней)
Похоже на фильтр, который писал не далекий человек, нет проверки жив ли Юнит, враг или нет проверяется функцией IsUnitEnemy, на москитов никогда не проверяют, они не попадают в группы при пике Юнитов в области. Для передачи в фильтр игрока низя юзать Get EnumUnit, вместо этого используется глобальная переменная...
Я кидал строчку для разборки не совсем было понятно и все ли верно сделано, проверку сделаю,
а так вот полный код на каст скила компом(Всё работает), но надо ли что-нибудь изменить?):
function Trig_LVL2CastSpells_f1 takes nothing returns boolean
return GetUnitAbilityLevel(GetFilterUnit(),'Aslo')==1
endfunction
function Trig_LVL2CastSpells_f3 takes nothing returns boolean
return IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()),GetOwningPlayer(GetEnumUnit())) and GetUnitAbilityLevel(GetFilterUnit(),'Aloc')==0
endfunction
function Trig_LVL2CastSpells_f2 takes nothing returns nothing
local group g=CreateGroup()
local unit u=GetEnumUnit()
local unit u2
local boolexpr be=Condition(function Trig_LVL2CastSpells_f3)
//set udg_TempUnit=u
call GroupEnumUnitsInRange(g,GetUnitX(u),GetUnitY(u),800.,be)
call DestroyBoolExpr(be)
set u2=GroupPickRandomUnit(g)
if u2!=null and GetUnitState(u,UNIT_STATE_MANA)>=50. then
call IssueTargetOrder(u,"slow",u2)
endif
call DestroyGroup(g)
set g=null
set u=null
set u2=null
endfunction
function Trig_LVL2CastSpells_Actions takes nothing returns nothing
local group g=CreateGroup()
local boolexpr be=Condition(function Trig_LVL2CastSpells_f1)
call GroupEnumUnitsOfPlayer(g,Player(bj_PLAYER_NEUTRAL_EXTRA),be)
call DestroyBoolExpr(be)
call ForGroup(g,function Trig_LVL2CastSpells_f2)
set be=null
call DestroyGroup(g)
set g=null
endfunction
//===========================================================================
function InitTrig_LVL2CastSpells takes nothing returns nothing
set gg_trg_LVL2CastSpells = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_LVL2CastSpells, 2.50 )
call TriggerAddAction( gg_trg_LVL2CastSpells, function Trig_LVL2CastSpells_Actions )
endfunction
Maniac_91, я может тебе не правильно понял, но мне нужно,чтоб действия запускались на удары допустим Героя1 (Герой1 один ударил и показать сообщение допустим) Damage source это что и где найти))).
или ты мне хотел сказать это:
Триггер 2
событие-"Входящий юнит получает урон"
условие-Атакующий юнит=Герой1
Действия - Мои действия
Юнитов может же быть много, соответственно событий будет черезчур многовато, а далее лаги?
Maniac_91, Дак ведь оживление можно заюзать при условие, что есть рядом чей-то скелет(Труп), иначе способность нельзя юзнуть так как ни кого не удастся оживить.
А у него при любом раскладе она сработает. А при использование отставить приказа,способность выходит из цикла. Это может быть говорить о том, что у Способность произошло исключение(Трупов то нет) ?
Про области хз, вот именно их разве не через БД лучше, я же не знаю, как в создаваемой карте они называются - Пещера Тысячи Всхлипов или Пляж Огненных Уток...
Тут просто при входе в область писать ее при событии unit входит в область такую-то, легко же вроде даже на гуи...
Собственно если событие одно на вход в область то спокойно, а если несколько то уже не вариант да и как то нецелесообразно пилить буквами а не переменной Игра-All text (Вместо "Пещера Тысячи Всхлипов" хотелось бы увидеть Перменную c название области)
А так атака ловится через GetUnitBaseDamage сложить с GetUnitGreenBonusDamage.
Скорость атаки через GetUnitAttackSpeed.
Броня через GetUnitArmor (я, правда, пока не мемхаковской пользуюсь, а другой, влом искать, но опытные мапмейкеры знают, если надо - спросить можно).
хпрег через GetUnitHPRegen + мб БД свое.
Мпрег через GetUnitMPRegen + мб БД свое.
Функции эти все тут github.com/DracoL1ch/WC3Memory/blob/master/war3map.j
По импорту мемхака все тут
Ну бОльшая часть этого напрямую считается только через мемхак, так что или он, или все делать через БД (базу данных), или и то и другое вместе.
Мемхак-это громозкая работа и сложновато)))
Можно пример кода по поводу вывода через мемхака допустим области ( если вам не лень конечно ) и через бд ?
» WarCraft 3 / Объясните функцию(Строчку)
""
u2=GroupPickRandomUnit(g)
» WarCraft 3 / Объясните функцию(Строчку)
» WarCraft 3 / Важная информация об обновлении 1.28
» WarCraft 3 / Важная информация об обновлении 1.28
» WarCraft 3 / Объясните функцию(Строчку)
Хорошо можно и удалить эту локалку, но смысл её создания был? И нет статеек вроде как про boolexpr) и вопросик тогда смысл функции удаления boolexpr?
EnergyFrost: Что-то я не понял, как это, можно пример?)
» WarCraft 3 / Объясните функцию(Строчку)
С такой локалочкой удобней)
» WarCraft 3 / Объясните функцию(Строчку)
а так вот полный код на каст скила компом(Всё работает), но надо ли что-нибудь изменить?):
» WarCraft 3 / Объясните функцию(Строчку)
Ну и почему же она будет не рабочей?Ты вроде что-то путаешь)
» WarCraft 3 / Spells
Теперь бы кто подсказал что с остальными скиллами и чтоб их кастовал Бот
» WarCraft 3 / Поиск по картам
Ред. Smeto
» WarCraft 3 / Как отследить атакующего юнита?
» WarCraft 3 / Как отследить атакующего юнита?
Ред. Smeto
» WarCraft 3 / Как отследить атакующего юнита?
или ты мне хотел сказать это:
Триггер 2
событие-"Входящий юнит получает урон"
условие-Атакующий юнит=Герой1
Действия - Мои действия
Юнитов может же быть много, соответственно событий будет черезчур многовато, а далее лаги?
» Hanabishi's Blog / Jass New Gen Pack - Rebuild
» WarCraft 3 / Отчего это происходит
А у него при любом раскладе она сработает. А при использование отставить приказа,способность выходит из цикла.
Это может быть говорить о том, что у Способность произошло исключение(Трупов то нет) ?
» WarCraft 3 / Вывод на экран и конвертир в перменную(тип данных integer/real)
Вместо "Пещера Тысячи Всхлипов"хотелось бы увидеть Перменную c название области)Пока не закрывайте вопрос, может кто-то еще кинет какие-нибудь способы
» WarCraft 3 / Вывод на экран и конвертир в перменную(тип данных integer/real)
Можно пример кода по поводу вывода через мемхака допустим области ( если вам не лень конечно ) и через бд ?
» WarCraft 3 / Вывод на экран и конвертир в перменную(тип данных integer/real)
» WarCraft 3 / Wc3 Map Optimizer 5.0 Rus
» WarCraft 3 / Wc3 Map Optimizer 5.0 Rus
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4