Добавлен Lasto4ka,
опубликован
Программы
Предназначение:
Работа с картами
Лаунчер Варкрафта через .wgc
Эта программа создает файл .wgc (Warcraft 3 Game Configuration) по вашим настройкам и запускает с ним игру для тестирования карт.
WorldEditor пользуется этим способом только для тестирования ИИ скриптов (через Редактор ИИ), но имеет ограничение, разрешая только обычные карты сражения (melee). Более того, в Reforged эта функционалость похоже вообще никак не работает (на примере 1.32.10).
Что умеет:
- выставить любую скорость игры (даже выше 25x)
- тестирование карты в один клик (не надо вручную запускать карту или игру)
- работает (в отличие от Reforged)
- запуск любых карт (WC3 допускает только сражения)
- тестовая карта может быть в любой папке (WC3 запускает только из папки с игрой)
- поддержка старых версий и Reforged
- полностью настраиваема, можно выставить:
- слот игрока, команду, расу, цвет, здоровье (гандикап), сложность ИИ и свой скрипт ИИ
- свой путь к папке с WC3 (параллельно запустить 1.26 и Реф)
- дополнительные параметры запуска игры (напр. -windowed, в WE такого нет)
- вкл./выкл. туман войны и условия победы/поражения
- скорость игры
Использование:
Примечание: Windows принимает как обратные так и обычные косые черты (перечертки):
C:\folder\ то же что и C:/folder/. Советую писать везде C:/folder/ во избежание ошибок и ситуаций, когда обратная косая черта имеет другое значение (экранирование символов)
C:\folder\ то же что и C:/folder/. Советую писать везде C:/folder/ во избежание ошибок и ситуаций, когда обратная косая черта имеет другое значение (экранирование символов)
- --gameroot <полный путь к корневой папке игры>
- C:/folder/Warcraft III Reforged/_retail_/
- C:/folder/Warcraft III Classic/
- --gameexe <полный путь к запускаемому .exe>
- C:/folder/Warcraft III Reforged/_retail_/x86_64/Warcraft III.exe
- C:/folder/Warcraft III Classic/War3.exe
- --map <полный путь к тестируемой карте>
- --gameargs <доп. параметры для запуска игры>
- Reforged-у обязательно нужен -launch для запуска.
- --gamespeed <0-n>
- По-умолчанию скорость 1, т.е. 100% от стандартной.
- --disable-victory / --enable-victory
- Условия победы/поражения включены по умолчанию.
- --disable-fow / --enable-fow
- Туман войны включен по умолчанию
- --slot <настройка слота> (повторить N раз для каждого игрока)
- Эту опцию можно использовать несколько раз для описания более одного слота для тестирования. --slot описывается следующей структурой
- --slot slotЧисло,teamЧисло,raceНАЗВАНИЕ,colorЧисло,healthЧисло,ТИП_СЛОТА[,ПУТЬ_К_ФАЙЛУ_ИИ.ai]
- Число - это целочисленное, начинается с нуля.
- Номер слота: 0-11 / 0-23 (Classic/Reforged), 0="красный" игрок
- Номер команды: 0-n
- Название расы:
- human
- orc
- nightelf
- undead
- random
- Номер цвета: 0-11 / 0-23 (Classic/Reforged), 0=красный
- Число здоровья: 50-100 (гандикап, 50 означает, у юнитов игрока будет 50% hp от обычного)
- ТИП_СЛОТА:
- human (ты будешь игроком)
- observer (ты будешь наблюдателем)
- aiЧисло (обычный ИИ с сложностью равной Числу)
- customaiЧисло,scriptpath (свой ИИ со сложностью Число и полным путем к файлу .ai)
Сложность ИИ: 0 = слабый, 1 = средний, 2 = сильный.
Примечание: Эта программа не накладывает ограничений на введенные здесь параметры. Можете вводить любые числа, если захотите. Но неправильная конфигурация приведет к тому, что карта не будет грузиться или с ошибками.
Примечание: Эта программа не накладывает ограничений на введенные здесь параметры. Можете вводить любые числа, если захотите. Но неправильная конфигурация приведет к тому, что карта не будет грузиться или с ошибками.
=Только для разработки:=
- --print
- Требует наличие имплементации text = table.serialize(strTableName, tabl).
- Которая загружается через table.serialize = require("serialize")
- --wgc <путь к wgc>
- Вместе с --print показывает содержимое .wgc в текстовом виде (вывод в STDOUT).
- Иначе это тот путь, куда сгенерируется новый файл .wgc.
Примеры:
OSX / Linux / *nix
Для Shell (Bash) создай новый текстовый файл start-map.sh с таким содержимым:
Код .sh
lua ./wgc-launch.lua \
--gameroot 'D:/War3-v127' \
--gameexe 'D:/War3-v127/war3.exe' \
--map 'D:/War3-v127/Maps/(2)HillsOfGlory.w3m' \
--slot slot0,team0,raceRandom,color0,health100,ai1 \
--slot slot1,team1,raceHuman,color1,health70,ai0 \
--slot slot2,team0,raceRandom,color2,health100,observer \
--gameargs "-windowed -launch" \
--gamespeed 64
Для запуска надо два раза щёлкнуть. А чтобы это можно было сделать, надо дать файлу разрешение на запуск, например chmod +x start-map.sh.
Windows
Можно использовать и Cygwin для консоли с Bash, но и командная строка CMD тоже сойдет.
Для CMD создай текстовый файл start-map.bat с таким содержимым:
.bat
lua.exe .\wgc-launch.lua ^
--gameroot "D:\\War3-v127\\" ^
--gameexe "D:/War3-v127/war3.exe" ^
--map "D:\\War3-v127\\Maps\\(2)HillsOfGlory.w3m" ^
--slot slot0,team0,raceRandom,color0,health100,ai1 ^
--slot slot1,team1,raceHuman,color1,health70,ai0 ^
--slot slot2,team0,raceRandom,color2,health100,observer ^
--gameargs "-windowed -launch" ^
--gamespeed 64
Теперь можно тестировать карту после двойного нажатия на .bat-файл.
Пример вывода:
Вывод
Creating directory:
mkdir: cannot create directory ‘D:/War3-v127/map-wgc-test’: File exists
Writing .wgc file: 'D:\War3-v127/map-wgc-test/(2)HillsOfGlory-playtest.wgc'
Copying map from -> to:
D:/War3-v127/Maps/(2)HillsOfGlory.w3m
D:/War3-v127/map-wgc-test/(2)HillsOfGlory.w3m
testing map path: 'D:/War3-v127/Maps/(2)HillsOfGlory.w3m'
temp map copy: 'map-wgc-test/(2)HillsOfGlory.w3m'
wgc path: 'map-wgc-test/(2)HillsOfGlory-playtest.wgc'
game speed: 64x
game flags: 0 (decimal)
launching: 'cd "D:/War3-v127" && "D:/War3-v127/war3.exe" -loadfile "map-wgc-test/(2)HillsOfGlory-playtest.wgc" -windowed'
Установка:
- Требуется Lua 5.3 или новее. Для пользователей проприетарной ОС Windows уже идет в комплекте. вам же все равно какой код запускать?
- Эта программа должна мочь писать в папку <корневая папка игры>/map-wgc-test/ и создавать там новые файлы
- Можно запускать под администратором, а можно самому создать папку с нужными разрешениями. Или же создать на месте папки символьную ссылку в какое-нибудь другое место. Это ограничение Warcraft.
Конец
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Таренас