Лауреат премии 2023 года
Данный ресурс работает ТОЛЬКО с патчами 1.24e/1.26а/1.27a/1.27b/1.28f
Как пользоваться?
- Распакуйте все файлы из архива, желательно в отдельную папку, вот так:
- Запустите UjAPI.exe.
- Если же у вас приложение не запускается, то скачайте и установите: .NET Framework 4.7.2.
- Если же ни в игре, ни в World Editor UjAPI не работает, то скачайте и установите: C++ Redistributables 2012
- Установите путь для Warcraft 3, вот так:
- Можно указать и на Frozen Throne.exe или же на Warcraft III.exe (но рекомендуется использовать именно war3.exe для патчей 1.27б и ниже).
- На патче 1.28.5(f) рекомендуется использовать непосредственно Warcraft III.exe.
- Установите путь для World Editor, вот так:
- Рекомендуется использовать JNGP версии Прометея: скачать
- Пароль от архива: JNGP
- Готово, вы можете теперь смело запускать как игру, так и World Editor через UjAPI Launcher.
- Для использования оконного режима в Warcraft III нажмите галочку на "Additional command line arguments" и в появившееся окно, пропишите -window, вот так:
Полезные файлы
Для лаунчера | Информационные |
---|---|
.NET Framework 4.7.2 | Список всех функций |
C++ Redistributables 2012 | Новые типы/функции |
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Волчачка
v1.0.18.74
native BitwiseGetByte takes integer number, integer byteIndex returns integer
native StringCount takes string s, string whichString, boolean caseSensitive returns integer
native StringTrimLeft takes string s, boolean caseSensitive returns string
native StringTrimRight takes string s, boolean caseSensitive returns string
native StringTrim takes string s, boolean caseSensitive returns string
native StringReverse takes string s, boolean caseSensitive returns string
native StringReplace takes string s, string whichString, string replaceWith, boolean caseSensitive returns string
native StringInsert takes string s, string whichString, integer whichPosition, boolean caseSensitive returns string
native GetTriggerSyncPlayer takes nothing returns player this is simply mimicking GetTriggerPlayer, added for simplicity.
native IsTextTagVisible takes texttag whichTextTag returns boolean
native IsTextTagSuspended takes texttag whichTextTag returns boolean
native IsTextTagPermanent takes texttag whichTextTag returns real
native GetTextTagX takes texttag whichTextTag returns real
native SetTextTagX takes texttag whichTextTag, real x returns nothing
native GetTextTagY takes texttag whichTextTag returns real
native SetTextTagY takes texttag whichTextTag, real y returns nothing
native GetTextTagZ takes texttag whichTextTag returns real
native SetTextTagZ takes texttag whichTextTag, real z returns nothing
native GetTextTagHeight takes texttag whichTextTag returns real
native SetTextTagHeight takes texttag whichTextTag, real height returns nothing
native GetTextTagLocation takes texttag whichTextTag returns location
native SetTextTagPositionLocation takes texttag whichTextTag, location whichLocation returns nothing
native GetTextTagColour takes texttag whichTextTag returns integer
native GetTextTagAlpha takes texttag whichTextTag returns integer
native SetTextTagAlpha takes texttag whichTextTag, integer alpha returns nothing
native GetTextTagVelocityX takes texttag whichTextTag returns real
native SetTextTagVelocityX takes texttag whichTextTag, real velX returns nothing
native GetTextTagVelocityY takes texttag whichTextTag returns real
native SetTextTagVelocityY takes texttag whichTextTag, real velY returns nothing
native GetTextTagVelocityZ takes texttag whichTextTag returns real
native SetTextTagVelocityZ takes texttag whichTextTag, real velZ returns nothing
native GetTextTagAge takes texttag whichTextTag returns real
native GetTextTagLifespan takes texttag whichTextTag returns real
native GetTextTagFadepoint takes texttag whichTextTag returns real
native GetTextTagShadowColour takes texttag whichTextTag returns integer
native SetTextTagShadowColour takes texttag whichTextTag, integer colour returns nothing
native GetTextTagShadowAlpha takes texttag whichTextTag returns integer
native SetTextTagShadowAlpha takes texttag whichTextTag, integer alpha returns nothing
native GetTextTagText takes texttag whichTextTag returns string
Пометка 1: Это выполнит UjAPI и включит его режим разработчика, а так же включит луа с заданными к ней параметрами, игра будет в мультиоконном режиме и в режиме окна. Затем будет запущена карта заданная в loadfile аргументе.
Пример 2 (полный): "D:\Files\Work Files\Programming\uJAPI\Release\UjAPILauncher.exe" -ujapi "dev" -lua "dev console nowarnings" -multiwindow -window -launch "Warcraft" -gamepath "D:\Games\Warcraft III TFT\war3.exe" -loadfile "Maps\Test\WorldEditTestMap.w3x"
Пометка 2: Это выполнит всё, что описано в Примере 1, однако если присутствуют (-gamepath или -editorpath) оно также "переопределит" путь игры/редактора основываясь на аргументах поданных в них.
-justdoupdate (просто на просто выполнит форсированное скачивание последней версии и выполнит автообновление UjAPI, остальные команды будут проигнорированы).
-ujapi (даёт возможность переопределения некоторых базовых настроек UjAPI, пример: -ujapi "dev"), "" (кавычки) обязательны!
noload (отключает подгрузку UjAPI.mpq и UjAPI нативных функций).
dev (включает режим разработчика, который также включит консоль).
-lua (даёт возможность переопределения некоторых базовых настроек war3_lua.dll, пример: -lua "dev console nowarnings"), "" (кавычки) обязательны!
dev (включает режим разработчика).
console (включает консоль для луа ошибок и так далее).
nowarnings (отключает некоторые внутренние ошибки типов).
-multiwindow (включает режим Multi-Window и загружает необходимый модуль).
-window (запустит приложение в оконном режиме).
-launch (даёт возможность переопределения/указания пути для запуска игры или редактора, по стандарту будет запускаться игра, пример: -launch "Editor"), "" (кавычки) обязательны!
-gamepath (переопределяет и использует путь игры заданный в UjAPI Launcher, пример: -gamepath "D:\Games\Warcraft III TFT\war3.exe"), "" (кавычки) обязательны!
-editorpath (переопределяет и использует путь редактора заданный в UjAPI Launcher, пример: -editorpath "D:\Programs\WC3 Tools\JNPG-R1.4-Prometheus-Edition\NewGen WE.exe"), "" (кавычки) обязательны!
-loadfile (повторяет 1 в 1 метод запуска карт, путь до карты для игры ВСЕГДА относителен пути игры, однако для редактора нужно указывать ПОЛНЫЙ путь до карты).
Отредактирован Unryze
v1.0.18.75
Отредактирован Unryze
v1.0.19.78
type jassthread extends handle
constant widgetevent EVENT_WIDGET_DAMAGING = ConvertWidgetEvent(400)
constant widgetevent EVENT_WIDGET_DAMAGED = ConvertWidgetEvent(401)
constant abilityreallevelfield ABILITY_RLF_CAST_BACK_SWING = ConvertAbilityRealLevelField('acbs')
constant abilityreallevelfield ABILITY_RLF_CAST_POINT = ConvertAbilityRealLevelField('acpt')
constant unitintegerfield UNIT_IF_AGILITY_BONUS = ConvertUnitIntegerField('uag+') Get Only
constant unitintegerfield UNIT_IF_INTELLIGENCE_BONUS = ConvertUnitIntegerField('uin+') Get Only
constant unitintegerfield UNIT_IF_STRENGTH_BONUS = ConvertUnitIntegerField('ust+') Get Only
constant unitrealfield UNIT_RF_HEALTH_FROM_BONUS_STRENGTH = ConvertUnitRealField('uhs+') Get Only
constant unitrealfield UNIT_RF_MANA_FROM_BONUS_INTELLIGENCE = ConvertUnitRealField('umi+') Get Only
constant unitrealfield UNIT_RF_DEFENSE_BONUS = ConvertUnitRealField('udf+') Get Only
constant unitrealfield UNIT_RF_SPEED_BONUS = ConvertUnitRealField('umv+') Get Only
constant unitweaponintegerfield UNIT_WEAPON_IF_ATTACK_DAMAGE_BONUS = ConvertUnitWeaponIntegerField('ud1+') Get Only | this is the + (Green) or - (Red) value next to attack.
constant unitweaponrealfield UNIT_WEAPON_RF_ATTACK_SPEED_BONUS = ConvertUnitWeaponRealField('us1+') Get Only
Jass VM Natives
native GetJassMainThread takes nothing returns jassthread
native GetJassCurrentThread takes nothing returns jassthread
native RunJassScriptEx takes string parentScriptFile, string helperScriptFile, string jassScriptFile returns jassthread
native RunJassScript takes string helperScriptFile, string jassScriptFile returns jassthread
native RunJassScriptSimple takes string jassScriptFile returns jassthread
native StopJassThread takes jassthread thread returns boolean
native GetJassGlobalInteger takes jassthread thread, string variableName returns integer
native GetJassGlobalReal takes jassthread thread, string variableName returns real
native GetJassGlobalString takes jassthread thread, string variableName returns string
native GetJassGlobalHandle takes jassthread thread, string variableName returns handle
native GetJassGlobalBoolean takes jassthread thread, string variableName returns boolean
native SetJassGlobalInteger takes jassthread thread, string variableName, integer value returns boolean
native SetJassGlobalReal takes jassthread thread, string variableName, real value returns boolean
native SetJassGlobalString takes jassthread thread, string variableName, string value returns boolean
native SetJassGlobalHandle takes jassthread thread, string variableName, handle value returns boolean
native SetJassGlobalBoolean takes jassthread thread, string variableName, boolean value returns boolean
native GetWidgetModel takes widget whichWidget returns string
native TriggerRegisterWidgetEvent takes trigger whichTrigger, widget whichWidget, widgetevent whichWidgetEvent returns event
native SetSpecialEffectPlayerColour takes effect whichEffect, playercolor color returns nothing
native SetSpecialEffectMaterialTexture takes effect whichEffect, string textureName, integer materialId, integer textureIndex returns nothing
native SetSpecialEffectTexture takes effect whichEffect, string textureName, integer textureIndex returns nothing
native SetSpecialEffectReplaceableTexture takes effect whichEffect, string textureName, integer textureIndex returns nothing
native SetTrackablePlayerColour takes trackable whichTrackable, playercolor color returns nothing
native SetMissilePlayerColour takes missile whichMissile, playercolor color returns nothing
native SetMissileMaterialTexture takes missile whichMissile, string textureName, integer materialId, integer textureIndex returns nothing
native SetMissileTexture takes missile whichMissile, string textureName, integer textureIndex returns nothing
native SetMissileReplaceableTexture takes missile whichMissile, string textureName, integer textureIndex returns nothing
native SetFrameSpritePlayerColour takes framehandle whichFrame, playercolor color returns nothing
native GetFrameSpriteAlpha takes framehandle whichFrame returns integer
native SetFrameSpriteMaterialTexture takes framehandle whichFrame, string textureName, integer materialId, integer textureIndex returns nothing
native SetFrameSpriteTexture takes framehandle whichFrame, string textureName, integer textureIndex returns nothing
native SetFrameSpriteReplaceableTexture takes framehandle whichFrame, string textureName, integer textureIndex returns nothing
native GetUnitInSelectionByIndex takes player whichPlayer, integer index returns unit
native GetLastUnitInSelection takes player whichPlayer returns unit
UNIT_IF_AGILITY_PERMANENT
UNIT_IF_INTELLIGENCE_PERMANENT
UNIT_IF_STRENGTH_PERMANENT
UNIT_IF_AGILITY_WITH_BONUS
UNIT_IF_INTELLIGENCE_WITH_BONUS
UNIT_IF_STRENGTH_WITH_BONUS
UNIT_IF_AGILITY_BONUS
UNIT_IF_INTELLIGENCE_BONUS
UNIT_IF_STRENGTH_BONUS
UNIT_RF_HEALTH_FROM_BONUS_STRENGTH
UNIT_RF_MANA_FROM_BONUS_INTELLIGENCE
UNIT_RF_DEFENSE_BONUS
UNIT_RF_SPEED_BONUS
UNIT_WEAPON_IF_ATTACK_DAMAGE_BONUS
UNIT_WEAPON_RF_ATTACK_SPEED_BONUS
Пояснение: игра по стандарту создаёт лишь 1 индикатор, затем, когда у игры нет "свободных" индикаторов, она создаёт ещё 1 вплоть до 7.
ABILITY_RLF_CASTING_TIME
ABILITY_RLF_CAST_BACK_SWING
ABILITY_RLF_CAST_POINT.
EugeAl:
OSKEY_LEFT и RIGHT, UP, DOWN не работают, но так понимаю в 1.19.78 работает.Обновление в дискорде и гитхабе нет, а с сайта блочит вирус( отключал антивирус и брандмауэр). Windows 7
Если не стоит, то карта не открывается с одной глобальной
Отредактирован Borodach
Отредактирован Unryze
Borodach:
ОШИБКА
Отредактирован host_pi
Планируется ли поддержка карт, для которых требуется JN Loader ?
Например карты от корейца z1z1z1 (скачка карт ниже) - он делает уникальные интересные карты, при этом всегда они многопользовательские. т.е. заточены на командную работу. и т.к. ирина их не поддерживает - остается только один вариант RadminVPN, но там пинг очень плохой (если много игроков). Поэтому идеальным вариантом была бы поддержка JN карт на ирине.
Также есть и другие игроки, так называемые "игроки в корейские RPG", которые тоже играют через JN loader в корейские карты