Данный ресурс работает ТОЛЬКО с патчами 1.24e/1.26а/1.27a/1.27b/1.28f и требует UjAPI
Как пользоваться?
- Перенесите AngelScript.dll в папку Modules в папке UjAPI.
- Запустите UjAPI.exe и отметьте чекбокс "Load Library" в секции AngelScript.
- Запустите игру.
- Наслаждайтесь.
Как программировать?
- Создайте war3map.as файл, в этом файле вы будете писать код.
- Добавьте файл через менеджер импорта или же MPQ по пути Scripts\\war3map.as или же просто war3map.as.
- Запустите UjAPI со включённой опцией AngelScript.
- Наслаждайтесь.
В чём особенность AngelScript?
- Строгая типизация как в Jass.
- Возможность создавать свои объекты/классы.
- Современные парадигмы и их особенности.
- Возможность программировать код по кускам за счёт "#include".
- Скорость сравнимая с lua, без её проблем.
- И многое другое.
Парсер/Проверка синтаксиса и простое выполнение:
- Скачать: файлы.
Пометка: common.j и blizzard.as рекомендуется вручную брать из последнего релиза UjAPI.mpq - Перетащите ваш файл в приложение.
- В консоль выведутся предупреждения/ошибки.
Подсветка для AngelScript:
Пример кода:
раскрыть
#include "Scripts\\blizzard.as" // это подключит blizzard.as (транспилированный blizzard.j) в проект.
void SomeFunction( )
{
print( "SomeFunction\n" );
}
void main( )
{
TimerStart( CreateTimer( ), 1.f, false, @SomeFunction ); // @ используется для создания делегата, в данном случае ссылки на функцию.
TimerStart( CreateTimer( ), 1.f, false, function( )
{
print( "OnSomeTimerAction\n" );
} ); // Данный вид написания тоже валиден, в данном случае мы используем лямбду (анонимную функцию).
// Пример лямбды с триггером.
trigger tTest = CreateTrigger( );
player p = Player( 0 );
TriggerRegisterPlayerEvent( tTest, p, EVENT_PLAYER_ARROW_LEFT_DOWN ); // ConvertPlayerEvent(261)
TriggerAddCondition( tTest, Filter(
function( )
{
print( "OnSomeStupidCond\n" );
return true;
}
)
);
TriggerAddAction( tTest,
function( )
{
print( "OnSomeStupidAct\n" );
}
);
}
void config( )
{
// Логика этой функции в точности копирует поведение функции config в Jass, потому тут показывать нечего.
}
без UjAPI происходит тоже самое. Как и в обычном WE. И не только со скриптами. Пытался заменить текстуру ландшафта - та же проблема. Переустановка JNGP не дала результатов. Чуть позже проверю на другой машине, надеюсь, поможет.
Тогда только жду обновление парсера. Спасибо.
Ред. Makeba
Ред. Unryze
AngelScript v1.0.4.16
AngelScript Parser 1.0.3.14
Ред. Vampir_kolik
Ред. Unryze