13

» WarCraft 3 / Столкновение юнитов

Joma, Да, на больших размеров юнитах поставь примерно 200 и увидишь разницу
13

» WarCraft 3 / Где утечки

Тут нужно оптимизировать код, много вижу лишних функций с группами. Если я правильно понял, твой скил мгновенный, создает в точке каста вокруг ведьмаков, которые станят вокруг себя в радиусе 100.
Более оптимизированная версия, попробуй проверить ее на уточки.
globals
    group TempGroup = CreateGroup()
endglobals

function Trig_R_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A006'
endfunction

function Stun_R takes unit enemy, unit u returns nothing
    local real ux = GetUnitX(u)
    local real uy = GetUnitY(u)
    local real x = GetUnitX(enemy)
    local real y = GetUnitY(enemy)
    local real a = Atan2(y-uy, x-ux)
    // стан
    local unit dummy = CreateUnit(GetOwningPlayer(u), 'u000', x, y, 0.) // Создадим дамми в координатах цели
    
    call UnitApplyTimedLife(dummy, 'BTLF', 1) // Укажем время жизни дамми
    call UnitAddAbility(dummy, 'A007')
    call IssueTargetOrder(dummy, "thunderbolt", enemy)
    // двигаем
    call SetUnitX(enemy, x + 40*Cos(a))
    call SetUnitY(enemy, y + 40*Sin(a))
    // визуал
    call SetUnitAnimation(u, "spell")
    call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Other\\Incinerate\\IncinerateBuff.mdl", ux, uy))
    
    set dummy = null
endfunction

function Trig_R_Actions takes nothing returns nothing
    local unit caster = GetTriggerUnit()
    local integer i = 0
    local real a
    local real ux
    local real uy
    local unit witchers
    local unit enemy
    local real rx = GetSpellTargetX()
    local real ry = GetSpellTargetY()
    
    loop
    exitwhen i >= 15 // Создаёт 8 стен, образуя круг
        set a = i * 24 * bj_DEGTORAD
        set ux = rx + 400 * Cos(a)
        set uy = ry + 400 * Sin(a)
        set a = Atan2(ry-uy, rx-ux) * bj_RADTODEG
        set witchers = CreateUnit(GetOwningPlayer(caster), 'h006', ux, uy, a)
        call SetUnitAnimation(witchers, "stand defend")
        call UnitApplyTimedLife(witchers, 'BFig', 3) // Исчезает через 10 сек sum i +14
        
        call GroupEnumUnitsInRange(TempGroup, ux, uy, 100, null)
        loop
            set enemy = FirstOfGroup(TempGroup)
        exitwhen enemy == null
            if IsPlayerEnemy( GetOwningPlayer(caster), GetOwningPlayer(enemy)) and UnitAlive(enemy) and not IsUnitIdType(GetUnitTypeId(enemy), UNIT_TYPE_STRUCTURE) then
                call Stun_R(enemy, witchers)
            endif
            call GroupRemoveUnit(TempGroup, enemy)
            set enemy = null
        endloop
        set witchers = null
        set i = i + 1
    endloop
    call GroupClear(TempGroup)
    
    set caster = null
endfunction

function InitTrig_R takes nothing returns nothing
    local trigger trg = CreateTrigger()
    local integer index = 0

    loop
        call TriggerRegisterPlayerUnitEvent(trg, Player(index), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
        set index = index + 1
        exitwhen index == bj_MAX_PLAYER_SLOTS
    endloop
    
    call TriggerAddCondition(trg, Condition(function Trig_R_Conditions))
    call TriggerAddAction(trg, function Trig_R_Actions)
    
    set trg = null
endfunction
13

» WarCraft 3 / Где утечки

LastUchiha, там ведь речь и идет про локалки, не все локалки нужно обнулять.
13

» WarCraft 3 / Где утечки

Tredor46, у него есть в коде call UnitApplyTimedLife(dummy, 'BTLF', 1), которая должна освободить память после разложения.
13

» New Naruto Ultimate / New Naruto Ultimate

Altrrik_derff34, сыграл, там много есть ошибок
у гая, первые три скила норм, 4 скил врата, после каста пропадает возможность их юзать и кроме быстрого перемещения ничего не дают, 5 скил так не активировался
рок ли в основном лотусе использует скил даже на мертвых, врата опять одноразовые, пропадают после каста
у неджи при активации бьякугана выходит модель шарингана и не тратится мана, в том числе не сжигает ману у юнитов, непонятно для чего он
нету 64 и 128 ударов небес
у мей два водяных дракона скила и оба с одним ID приказа и хоткеем
у тсунаде печать бьякуи ничего не дает
это вот пример
исправлению скилов это важно, но в карте толку от них если нет какой либо истории, сюжета или цели игры, было бы не плохо разнообразить квестами карту, вот выбрал игрок героя и что ему делать дальше, игра пока что на пару минут, потом уже надоедает бить крипов, а после этого еще можно записать видео гайд как в этой карте проходить. Думаю стоит начать с этого.
13

» New Naruto Ultimate / New Naruto Ultimate

Altrrik_derff34, в старой версии нет нового функционала, в 1.29 могут быть новые нативные функции
13

» New Naruto Ultimate / New Naruto Ultimate

Altrrik_derff34, попробуй открыть ее для начала на 1.26, если не открывается удали новый функционал с триггеров который используешь на 1.29 версии
13

» New Naruto Ultimate / New Naruto Ultimate

Рад увидеть новую карту про Наруто, но в игре много чего нужно исправить.
Из того что понравилось
  • Много разных героев на выбор и много моделей героев как NPC
  • Большое количество локаций
  • Триггерные способности
  • Ландшафт местами хорош, но и местами ужасен( об этом в минусах)
  • Музыка из Наруто
  • Динамичное движение NPC и происходит какая то динамика сражений
  • Озвучка способностей
Теперь минусы и баги:
Из минусов выделю сначала самые жирные
  • Лаги... Периодически карта начинает подвисать
  • Карта на самых невостребованных патчах, 1.29 и 1.31
  • Нет описания что нужно делать собственно или в чем заключается цель карты
  • Строки в описаниях почему то сломаны, что непонятно становится что собирать из предметов или прочитать описание чего либо
  • Аниме ландшафт лучше не сочетать с дефолтом варкрафта, как и с юнитами(аколиты, кузницы, водные элементали и т.д) это все стоит убрать.
  • Дефолт иконки тоже стоит убрать и заменить по тематике
  • Некоторые здания, декорации, юниты слишком замаштабированы по сравнению с другими
  • Способности конечно есть и даже триггерные, но их мало у некоторых и некоторые с багами( можно как вариант было бы сделать героев по чуть чуть, но с большим количеством спелов)
  • Некоторые модели уже устарели, стоит обновить.
  • При увеличении камеры видны куски закрытых территорий
  • Непонятно почему однохвостый и девятихвостый делают на базе акатсуки
  • У крипов слишком занижен радиус агра, то есть если пикнуть дальнего героя, Гаару например и бить крипов, они просто стоят и не нападают даже
Огненный расенган Джирайии ничего не дает при активации.
У Наруто клоны вечные!?
При пике Орочимару, герой завис и камера переместилась в закрытую темную территорию
Если Саске наводит чидори на себя он зависает
Текстура пола слишком увеличена и в некоторых местах можно проходить сквозь декор
При касте Саске 3 и 4 катона, происходят сильные лаги, а при 4 катоне еще и зависает герой в паузе
При касте проклятой печати Саске пропали все скилы в спелбуке чидори и огненных техник
Почему то только в Конохе и в деревне Дождя есть магазины для закупа. Героям из других деревень придется бежать туда.
При касте каварими стоит убрать иконку бафа стремительности и добавить бревно на место каста что ли.
Предложения: Если карта жанра рпг, было бы не плохо добавить квесты. Желательно с инструкцией. Ее тут не хватает.
Итог: Работы над картой довольно много, я еще не сыграл за всех героев, если сыграю отпишу по багам еще, но в первую очередь стоит исправить ошибки, в первую очередь критические. Удачи тебе в проекте, интересно всегда поиграть в карты по Наруто, коих становится все меньше в наше время.
13

» WarCraft 3 / Юниты стоят на месте. Что делать?

Попробуй занулить задержку реагирования в игровых константах
и как вариант разбей спавнящих юнитов на разные группы
Загруженные файлы
13

» WarCraft 3 / При удалении способности из РО, выходит ошибка

Попробуй удалить при открытии редактора способность которая не удаляется, если она удалится, скорее всего у тебя баг с редактором, а не в способности, как у меня был, в таком случае я удалял их условно по 5-10 потом сохранялся и так каждый раз. Это касается любых объектов в редакторе объектов.
13

» WarCraft 3 / Как удалять локальные переменные типа location?

Вот так должны быть твои первые три действия вместо твоих четырех, устанавливаешь координаты, затем создаешь и удаляешь эффект таким путем
лучше это конечно писать через код
local real xRandom = GetRandomReal(GetRectMinX(bj_mapInitialPlayableArea), GetRectMaxX(bj_mapInitialPlayableArea))
local real yRandom = GetRandomReal(GetRectMinY(bj_mapInitialPlayableArea), GetRectMaxY(bj_mapInitialPlayableArea))
call DestroyEffect(AddSpecialEffect("Abilities\\Spells\Human\\Blizzard\\BlizzardTarget.mdl", xRandom, yRandom))
Загруженные файлы
13

» WarCraft 3 / Как удалять локальные переменные типа location?

Если используешь Jass, пользуйся координатами их не надо чистить, забудь про точки
13

» WarCraft 3 / Почему Jass код не работает?

nazarpunk, сейчас посмотрел код ещё раз и понял, что за 0.05 сек. переменная random могла поменяться.
Сейчас переделаю.
у тебя есть переменная r, ей надо задать значение, то есть local integer r = 0, что бы запустить цикл
Загруженные файлы
13

» WarCraft 3 / Как правильно юзать локации? Jass.

Используй всегда координаты. пример GetUnitX(Unit), GetUnitY(Unit), в 99% случаев location вообще не нужен.
13

» WarCraft 3 / Нет звука в Варике

В других играх работает звук? Переустанови звуковые драйвера. Проверь не мешают ли сторонние программы выводить звук.
13

» WarCraft 3 / Нужен профи по jass

Перенести конверт гуймуи на джассе будет геморнее, чем написать с нуля. Там в коде много гуи конверта. Скорее лучше делать с нуля. Пока что получилось добавить пик героев ботами и направить в мид, но кажется сломалась таблица.
Загруженные файлы
13

» WarCraft 3 / Помогите добавить ботов в карту naruto ninpou 9.7

Emercy, Если есть знания jass ты их найдешь, если нет, попробуй прикрепить карты, может кто сделает
если решишь найти сам, открой war3map.j файл текстовым редактором(блокнот, vscode и т.п)
тебе нужно найти функции отвечающие за пик героя ботом, за движение по линии, изучение и применение скилов и закуп предметов
ищи по ключевым словам, например как такие
GetPlayerSlotState GetPlayerController IssuePointOrder IssueTargetOrder IssueImmediateOrder EVENT_PLAYER_HERO_LEVEL
Затем тебе надо их перенести или написать самому и адаптировать к другой версии карты(что самое сложное) тут нужно учесть все факторы игры, мультиборды, системы воскрешения и т.д
открываем статьи на сайте по написанию ИИ
и опять же нужны знания jass что бы проделать все это.
13

» WarCraft 3 / Сохранить и записать получаемый опыт

Так что сложного. Есть событие герой повышает уровень, если уровень героя == такому то, блокируем опыт функцией
call SuspendHeroXP(Unit, true)
Далее есть два варианта
  1. Создаем второго героя который будет получать опыт и после покупки предмета переносим его опыт первому герою.
Получить опыт героя можно через функцию
GetHeroXP(Hero)
2.Делаем кастомное получение опыта: Создаем целочисленную. При событии юнит умирает пикаем юнитов в радиусе и прибавляем к этой целочисленной опыт либо записываем в хэштаблицу на хэндл героя. Создаем триггер с событием получения предмета и выдаем опыт с сохраненной целочисленной или с ХТ.
перед выдачей опыта разблокируем получение.
call SuspendHeroXP(Unit, false)
call SetHeroXP( Unit, GetHeroXP(Unit) + Exp, true )
13

» WarCraft 3 / Помогите добавить ботов в карту naruto ninpou 9.7

Эти карты я так понимаю запротекчены, нужно снять защиту, взять war3map.j файл и добавить свой код ИИ(естественно все будет на жасс, никакого гуи), потом положить обратно
13

» WarCraft 3 / Имеет ли смысл писать на структурах, если спелл на карте один? Jass.

LastUchiha, нет, основная задача структур это удобство. Что бы ты понимал Структуры это массив, тоже самое что и в GUI MUI. Само MUI это мультиплрименяемость, когда заклинание могут использовать несколько юнитов.
Можешь делать через Хештаблицу, можешь через Структуры. Тут уже сам выбираешь способ. Оба варианта MUI.
Вот тебе пример, хочешь сделать спел, который прожав на вражеского героя нанесет урон спустя время. В данном случае структура не нужна, можно обойтись простой хэштаблицей, всего лишь записать нужно две переменные и выгрузить.
О, ты тоже Наруто фан, как и я делаешь Наруто карты, интересно.
Да
13

» WarCraft 3 / Имеет ли смысл писать на структурах, если спелл на карте один? Jass.

Структуры очень удобны для работы с большим количеством переменных, а так можно и без них обойтись на чистожассе