UjAPI

Добавлен , опубликован
Лауреат премии 2023 года


Данный ресурс работает ТОЛЬКО с патчами 1.24e/1.26а/1.27a/1.27b/1.28f

Как пользоваться?

  1. Распакуйте все файлы из архива, желательно в отдельную папку, вот так:
скриншоты
  1. Запустите UjAPI.exe.
    • Если же у вас приложение не запускается, то скачайте и установите: .NET Framework 4.7.2.
    • Если же ни в игре, ни в World Editor UjAPI не работает, то скачайте и установите: C++ Redistributable 2012
  2. Установите путь для Warcraft 3, вот так:
скриншоты
  • Можно указать и на Frozen Throne.exe или же на Warcraft III.exe (но рекомендуется использовать именно war3.exe для патчей 1.27б и ниже).
  • На патче 1.28.5(f) рекомендуется использовать непосредственно Warcraft III.exe.
  1. Установите путь для World Editor, вот так:
скриншоты
  • Рекомендуется использовать JNGP версии Прометея: скачать
  • Пароль от архива: JNGP
4.1 Для удобства, добавления подсветки/автозаполнения, скачайте: [UjAPI] TESH Подсветка (спасибо DevilVsLife и Nazarpunk) и просто положите его в папку tesh/data вот так:
скриношоты
  1. Готово, вы можете теперь смело запускать как игру, так и World Editor через UjAPI Launcher.
    • Для использования оконного режима в Warcraft III нажмите галочку на "Additional command line arguments" и в появившееся окно, пропишите -window, вот так:
скриншоты

Полезные файлы

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Этот комментарий удален
30
EugeAl, при инициализаци проести индексацию и положить индексы в хт?
23
nazarpunk, но у меня нет хт, только "двумерный" массив ( не люблю хт) ). Что значит провести индексацию? Заполнить массив? так это вначале делается.
30
не люблю хт
Кто тебе дохтор?
Получать элемент за О(n) всяко лучше чем за O(1)
Что значит провести индексацию?
Это значит положить в хт индекс элемента в массиве, чтоб можно было достать его без перебора.
23
nazarpunk, ок, а как его привязать например к равкоду абилки? Чтобы при касте абилки код сразу распознал её индекс в массиве, ведь без перебора это не определить. Что тогда нужно загрузить/ выгружать в/из хт? Не скажется ли это на фпс/производительности?
30
ок, а как его привязать например к равкоду абилки?
Равкод это число.
SaveInteger(Таблица, Равкод, 0, ИндексМассива)
Не скажется ли это на фпс/производительности?
Перебор массива гораздо производительней получения значения таблицы.
23
nazarpunk, Что ж, интересная концепция. Пожалуй, можно пробовать. Но вот вопрос в рациональности - если требуется перебрать всего 60 значений максимум, имеет ли такая оптимизация смысл?
30
Но вот вопрос в рациональности - если требуется перебрать всего 60 значений максимум, имеет ли такая оптимизация смысл?
Если есть возможность не перебирать, то зачем перебирать?
23
nazarpunk, может быть там внутри хт идёт свой код перебора, который в случае с маленьким количеством значений ещё хуже перебора массива, хт ведь не волшебным образом определяет и ищет данные внутри себя.
20
nazarpunk, может быть там внутри хт идёт свой код перебора, который в случае с маленьким количеством значений ещё хуже перебора массива, хт ведь не волшебным образом определяет и ищет данные внутри себя.
500 нс разницы (700 против 200), если ты делаешь чтения хотя бы 1000 раз в 1 функции, тогда да, ты ощутишь это... Добавь StringHash, вот тогда уже 400 переборов будет проявляться хоть как-то. Но опять же, ты эту скорость почти нигде не почувствуешь, пока конкретно что-то не перегрузишь.
23
Unryze, Спасибо за пояснение. Значит, с мелким количеством значений разницы не будет.
20
Unryze, Спасибо за пояснение. Значит, с мелким количеством значений разницы не будет.
Ну, всегда можешь тестировать в отдельной карте (взять МемХак карту мою или UjAPI) и проверяй задержку и т.д. если оно тебе очень интересно. Но если изначально запланировать код максимально простым, то там "нагружать" будет толком нечему. Да и многое тяжёлое можно разгрузить/разделить и т.д.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.