EviLInside #1 - 4 месяца назад 2
Голосов: +2 / -0

» WarCraft 3 Reforged / неуязвимость здания

Может я что то не понял, но я добавил постоянную невидимость волков фарсира. Всё работает. Враги не бьют.
Но в любом случае какой нибудь детект инвиза сломает эту схему. А так вот карта тут работает всё
Прикрепленные файлы
EviLInside #2 - 4 месяца назад 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Помогите найти проблемы в коде или "то после чего вы не уснёте"

//    set Lgroup2=CreateGroup()
//    call GroupEnumUnitsInRange(Lgroup2,LmissiletargetpointX,LmissiletargetpointY,150,null)
//loop
//set Picked=FirstOfGroup(Lgroup2)
//exitwhen Picked==null

//if IsUnitEnemy(Picked, GetOwningPlayer(Lcaster)) == true and GetWidgetLife(Picked)>0.405 and  IsUnitType(Picked, UNIT_TYPE_STRUCTURE) == false then

 // call UnitDamageTargetBJ( Lcaster, Picked, Ldmg, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
 // call GroupRemoveUnit(Lgroup2,Picked)

//endif
    - Если как раз таки мой герой (который не подходит условию попадал под абилку) я ничего не вырубал/не чистил  в этот момент, из за этого начинались проблемы.
//endloop

DualShock:
EviLInside, Подправил код, теперь не вылетает
В одно время с твоим постом я тоже нашёл проблему. Глянул твой код, поэтому любом случае оставляю твой ответ как правильный, потому что у тебя человеческий код в отличии от моего. Благодарю.
EviLInside #3 - 4 месяца назад 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Помогите найти проблемы в коде или "то после чего вы не уснёте"

Это как танцы с бубном, если код нормальный, то логично что трабла не в нем...
Я там вон выше описал когда пропадает проблема, а код не факт что нормальный , мало ли где я там накосячить мог. и в сочетании с чем то или в какой то момент этот loop фризит варик.
EviLInside #4 - 4 месяца назад (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Помогите найти проблемы в коде или "то после чего вы не уснёте"

Вопрос такой, может ли как то связано быть с этим то, что я открывал и запускал/ пытался запустить в редакторе разные карты с наработками/библиотеками и сделанные в разных версиях, в том числе поломанными картами которые крашились и прочее. При этом сам редактор не перезапуска после всего этого, а открыл свою карту и начал заниматься ей.

Поковырялся, поотключал различные этапы абилки. Проблема проподает если убрать часть кода где ищутся юниты в точке падения снаряда и перебираются для нанесения урона
(ВАЖНО, карта пустая никого враждебного на карте нет, это карта которая я выложил тут)
//    set Lgroup2=CreateGroup()
//    call GroupEnumUnitsInRange(Lgroup2,LmissiletargetpointX,LmissiletargetpointY,150,null)
//loop
//set Picked=FirstOfGroup(Lgroup2)
//exitwhen Picked==null

//if IsUnitEnemy(Picked, GetOwningPlayer(Lcaster)) == true and GetWidgetLife(Picked)>0.405 and  IsUnitType(Picked, UNIT_TYPE_STRUCTURE) == false then

 // call UnitDamageTargetBJ( Lcaster, Picked, Ldmg, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
 // call GroupRemoveUnit(Lgroup2,Picked)

//endif
    
//endloop
EviLInside #5 - 4 месяца назад (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Помогите найти проблемы в коде или "то после чего вы не уснёте"

Посмотрел,всё работает зависаний нет, спамил абилку и нарезал круги
Ну я щас после твоего комента зашёл ещё раз чекал, первые секунд 20 я думал что реально всё норм. Но потом опять.
И типо я к тому что на протяжении всего намёков на лаги от утечек нет, всё плавно (утечки конечно же там есть) Но в один момент всё полностью зависает резко.
P.S опять же отметая теорию утечек, при другой попытке я закастил побежал и сразу зависло.
EviLInside #6 - 4 месяца назад (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Помогите найти проблемы в коде или "то после чего вы не уснёте"

Перенёс на пустую карту, это конечно не точно, но если стоять и не двигать героя то зависаний не было, но если пока идёт время действия абилки начать бегать то происходит зависание.
Прикрепляю карту. Reforged last vers.
Прикрепленные файлы
EviLInside #7 - 4 месяца назад 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Special Effect Height + рельеф (часть вторая)

МрачныйВорон:
Тут надо понять как деформируется рельеф по высоте. Проще брать сеточкой (карта состоит из клеток тайлов), как рассчитываете размер шага брать? мин шаг - 32 или 128?
1 берете заводите темп глобалку maxH, и координаты XH YH. в ней записываете высоту центра окружности и координаты XH YH
2 Можно взять квадрат, который вписан в окружность. или правильно сказать окружность вписанная в квадрат. путаю эти понятия. далее циклом пробегаете по каждой точке квадрата. и сравниваете размер высоты с maxH.
Цикл происходит так (описываю примерно): сначала от левого верхнего угла квадрата берем точку, и проверяем
2.1 лежит ли точка в окружности, это надо сравнить: расстояние этой точки от центра окружности <= radius круга. Если меньше значит попала точка, иначе если больше расстояние, значит точка не лежит в круге (значит лежит уголке квадрата), следовательно, высоту не имеет смысла проверять.
2.2 проверяем высоту. сравниваем высоту выбранной точки, если оно больше чем maxH, значит берем эту высоту и записываем в maxH и координаты этой точки в XH YH
А да не рассказал как цикл происходит. От левой границы квадрата смещаем точку справа шагом 32, короче смещается координата X - и расстояние и проверяем высоту. и так до сих пор пока не упрется в правую границу. Потом опускаем координату Y на 32, и снова двигаем от левой стороны до правой, и так до сих пор пока не упрется в нижнюю границу и цикл завершаем.
Cмысл я наверное понял - берём квадрат в который вписан мой круг, прогоняем по всем координатам квадрата, отсеиваем те места где круг не задевает квадрат, там где квадрат наложен на круг записываем высоту каждой "точки/(тут я как понял точки не будут каждая проверятся с шагом 1, а шаг типо 32 брать надо(ну если меньше можно то лучше). в глобалку, сверям меньше ли полученная высота которая записана в глобалке с новой высотой ,если появляется высота больше чем записано в глобалке ставим в глобалку новую более высокую высоту :) .
И тут самое интересное мои познания функций существующих для совершения некоторых действий которые описаны - очень скудные, да и правильность их использования что бы не через задний проход структурировался код и кучей лишних действий. Поэтому если не сложно и у кого то есть времени немного, сделайте на примере любой аое абилке.

Вообще мне кажется можно сделать функцию типо :
function GetTerrainMaxZinRadius takes "точка" , takes "радиус окружности от этой точки" return "МаксВысота в этом радиусе от точки"
И выложить её в статьях, кому то да пригодится возможно...Эх мечты.

*в этом круг от точки.
EviLInside #8 - 4 месяца назад 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Special Effect Height + рельеф

Bergi_Bear:
EviLInside, тебе кажется =) потому что там десятки кругов точка сделала, оно соответствует тому что ты выставил?
Ну я поставил число на бум, думал раз двигается значит работает, да ты прав
EviLInside #9 - 4 месяца назад (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Special Effect Height + рельеф

и в call BlzSetSpecialEffectPitch( Leffect, 45.00 ) нельзя передать угол, от требует радианы, поэтому нужен конверт, я же писал пример там math.rad
у меня всё вращается нормально
EviLInside #10 - 4 месяца назад 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Special Effect Height + рельеф

Никак не соображу как сделать что бы если мой Ltargetpoint ( это центр этой АоЕ абилки во время применения) находится на нижней части, но кольцо задевает ту что выше, делать высоту всех эффектов в кольце относительно той которая выше.
Прикрепленные файлы
EviLInside #11 - 4 месяца назад 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Тормозит код (или комп?)

Bergi_Bear:
Где у тебя момент, что юнит вышел из радиуса? вот тут?
--
else
    call GroupRemoveUnit(g,f)
    call FlushChildHashtable(udg_hash,GetHandleId(f))
--
оно не должно лагать, тем более на периоде 1 секунда
Вроде пофиксил

call GroupRemoveUnit(gn,f) Было g , надо gn
call FlushChildHashtable(udg_hash,GetHandleId(f))


quq_CCCP:
Какая то странная реализация, ауру сделать можно гораздо проще,
Ну это я её так назвал в этой теме, это же и не аура вовсе.
EviLInside #12 - 4 месяца назад 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Тормозит код (или комп?)

Карта практически пустая, маловероятно что это какой то другой код. Может кто проверить у себя? Подойти к вражеским юнитам потом отойти от них, в этот момент начинаются фризы.

Bergi_Bear:
В коде ничего подозрительного не вижу, надо продебажить лагающее место
Это не для моих познаний :) Я самоучка и не разу не программист
EviLInside #13 - 4 месяца назад 3
Голосов: +5 / -2

» WarCraft 3 Reforged / Уменьшение урона от магии - есть ли такая способность в РО?

Благословение Элуны (у лучниц ночных эльфов) попробуй.
EviLInside #14 - 2 года назад 0
Голосов: +0 / -0

» StarCraft 2 / CUSTOM UNIT STATUS FRAME НЕ МЕНЯЕТСЯ.

Я не упомянул , но в XML тоже не меняется выдаёт ошибку, сам тоже думал что баг. Но вопрос в том что если это общий баг то у всех сейчас кто постоянно обновляет и держит версию в актуале должны иметь такую же проблему ) Как быть то.
EviLInside #15 - 3 года назад 0
Голосов: +0 / -0

» StarCraft 2 / Damage unit (from unit)

Спасибо, я тебя понял, но вот поточнее бы узнать что это за effect/behavior и тп, может кто в курсе?))
EviLInside #16 - 9 лет назад 0
Голосов: +0 / -0

» World of WarCraft / WoW патч 4.3.2

сегодня жара была, с патчем багнулись ретро палы, по 100-200+к дпс выдавали в Душе дракона. Будто на пиратке ))
EviLInside #17 - 13 лет назад 1
Голосов: +1 / -0

» World of WarCraft / EPIC Frostmourne

Будем ждать сапоги из шкуры Тралла, как раз под цвет глаз зелёненькие)
EviLInside #18 - 14 лет назад 1
Голосов: +1 / -0

» Murloc Expansion / Главная страница

Я давно за форумом не следил , скажите когда проект готовится к выходу?
EviLInside #19 - 14 лет назад 1
Голосов: +1 / -0

» WarCraft 3 Reforged / DotA 6.74c

За*бал он со своими дотами, моск ипёт.
EviLInside #20 - 14 лет назад 1
Голосов: +1 / -0

» WarCraft 3 Reforged / DotA 6.74c

и снова дота.....