Выкладываю пример проекта(на VS2010) с картой для тестов и своей dll'кой со сборником стандартных нативок на языке С+ +.
В проекте я перевёл с языка Pascal на язык C+ + код представленный IceFog'om в статье xgm.guru/p/wc3/anyscript (Сценарий на любом языке). Для запуска dll'ки переименовываем её с расширением ".mix" вставляем в папку с игрой. Закидываем карту для проверки которая есть в архиве. Но самое главное это шаблон проекта на C+ +. Вкратце расскажу, что из себя представляет проект.
В "Main.cpp" файле представлена главная булевая функция DllMain, которая запускает dll файл на выполнение. В ней регистрируются функции и процедуры JassApi.dll в функции fRegistrJassApi(), и стандартные нативки Warcraft'а 3 в функции fRegistrNatives(). Потом я регистрирую свою нативку test() и в ней выполняю разные тестовые запуски стандартных нативок.
Для запуска dll'ки требуются другие две dll'ки из следующей статьи xgm.guru/p/wc3/jass-api (Работа с нативными функциями). Это dll'ки: "RedirectCalls.dll" и "JassApi.dll". Их нужно поместить в папку с игрой, а "RedirectCalls.dll" переименовать в "RedirectCalls.mix". Запускаем прилагаемую карту. Выберем расу у компьютера хуман. И после загрузки появятся тестовые сообщения и один юнит созданный при загрузке функции test().
В проекте я перевёл с языка Pascal на язык C+ + код представленный IceFog'om в статье xgm.guru/p/wc3/anyscript (Сценарий на любом языке). Для запуска dll'ки переименовываем её с расширением ".mix" вставляем в папку с игрой. Закидываем карту для проверки которая есть в архиве. Но самое главное это шаблон проекта на C+ +. Вкратце расскажу, что из себя представляет проект.
В "Main.cpp" файле представлена главная булевая функция DllMain, которая запускает dll файл на выполнение. В ней регистрируются функции и процедуры JassApi.dll в функции fRegistrJassApi(), и стандартные нативки Warcraft'а 3 в функции fRegistrNatives(). Потом я регистрирую свою нативку test() и в ней выполняю разные тестовые запуски стандартных нативок.
Для запуска dll'ки требуются другие две dll'ки из следующей статьи xgm.guru/p/wc3/jass-api (Работа с нативными функциями). Это dll'ки: "RedirectCalls.dll" и "JassApi.dll". Их нужно поместить в папку с игрой, а "RedirectCalls.dll" переименовать в "RedirectCalls.mix". Запускаем прилагаемую карту. Выберем расу у компьютера хуман. И после загрузки появятся тестовые сообщения и один юнит созданный при загрузке функции test().