А что в итоге планируется -- движок онлайн-кампании по образу Нульвара или АДВ?
Альтернативный движок онлайн-кампании по типу АДВ был бы очень востребован -- клонов Нульвара много, а вот движок АДВ, с его багами, уже не развивается...
А что в итоге планируется -- движок онлайн-кампании по образу Нульвара или АДВ?
Альтернативный движок онлайн-кампании по типу АДВ был бы очень востребован -- клонов Нульвара много, а вот движок АДВ, с его багами, уже не развивается...
Да, по сути это и есть движок онлайн кампании.
У Нульвара брались идеи, с АДВ не сталкивался но планирую ознакомится.
Если напишу свой командер то можно будет думать о всяких уникальных
фичах как на Нульваре потому что связка "свой коммандер-свой генератор"
дает очень большой потенциал. Но это намного более трудоемкий процесс.
Все заработало, теперь нужно легкое обьяснение как рисовать карты под этот генератор, уж очень охота запустить генератор и еще я непонял с картами которые нарисованы в jpg что и как они делают.
Может карты и шаблоны с Нульвара взять они там в сободном пользовании.
А как можно прикрепить карту с информацией о цели и информацию о наземке которую генерирунт генератор к Командеру?
Крайний раз редактировалось JokerWar; 10.09.2008 в 10:37.
Идет работа над этим. Но вряд-ли оно будет "легкое". Все-таки довольно сложный процесс. Я постараюсь сделать подоходчивее.Сообщение от JokerWar
Они ничего не делают. На сайте можно давать ссылку на соответствующийСообщение от JokerWar
миссии файл htm и jpg. Просто удобно. В readme описано.
Угу, наверное так и сделаю.Сообщение от JokerWar
Если ты про то как прикрепить файл jpg к стату (не знаю к чему тут командер) то надо править стат: отредактировать нужные скрипты, модули и скины.Сообщение от JokerWar
Запустил в своей локалке сервер на своем генераторе.
Один товарищ написал карту, будем тестировать.
Как только протестируем выложу.
При запуске столкнулся с траблой - когда сервер ил2 запущен другие процесы не могут получать доступ к файлу. Но для чтения он доступен.
Поэтому написал и юзаю такой батник.
Он также пишет в файл log лог работы а в файл errors лог ошибок. В оба файла ставятся временные метки.Код:@echo off C: cd C:\Generator date /T >> log echo Starting generation >> log date /T >> errors echo Starting generation >> errors copy C:\IL2FBDS\eventlog.lst C:\Generator\eventlog.lst generator 1>> log 2>> errors date /T >> log echo Finishing generation >> log echo ____________________ >> log date /T >> errors echo Finishing generation >> errors echo ____________________ >> errors exit
Нюанс - это файл должен быть в той же папке что и generator.exe Потому что il2sc берет имя миссии которую надо загрузить
из файла missions.txt и ищет его в той папке где лежит исполняемый файл для генерации (тоесть generate.cmd).
А создается этот файл в той папке где лежит generator.exe
Крайний раз редактировалось Asmoday; 14.09.2008 в 19:15.
Небольшая тестовая миссия для генератора
Паситесь, мирные народы! Вас не разбудит чести клич.
К чему стадам дары свободы? Их должно резать или стричь.
Наследство их из рода в роды
Ярмо с гремушками да бич. (А.С.Пушкин)
Написал графический редактор связей для генератора.
Предназначен для того чтобы руками не писать xml карты.
В архиве исходники и сама программа.
UPD: Генератор обновился, пофикшены багиСообщение от readme.txt
UPD2: Пофиксил пару багов в редакторе связей
Крайний раз редактировалось Asmoday; 26.09.2008 в 21:16.
Asmoday, почитал ваш FAQ и не согласен с пунктом 2. Согласно классической теории войны для успешного наступления необходимо иметь троекратное преимущество, а не двукратное.
Наконец-то добрался до генератора.
Сделал как посоветовал Waso.
Обновленный ген и ридми в 1 посте треда.
ждем более/менее удобоваримый редми... разобраться можно - только времени нету
а то в одном месте одни пути:
<LogFilePath>eventlog.lst</LogFilePath>
<GenPath>D:\dev\Generator\Generator\bin\Debug</GenPath>
<RelPath>dogfight\gen</RelPath>
в другом другие
<LogFilePath>D:\AG\IL-2 Sturmovik Forgotten Battles\eventlog.lst</LogFilePath>
<GenPath>D:\AG\IL-2 Sturmovik Forgotten Battles\Missions\Net\dogfight\gen</GenPath>
<RelPath>dogfight\gen</RelPath>
ИМХО лучше описать - какой путь откуда чего берет и чего он с ним потом делает.
зы. generate.cmd и 1generate.cmd убили нафиг тягу к ковырянию из-за отсутсвтия времени...
а сама идея
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
LogFilePath - Путь к файлу лога. Нельзя указывать путь к логу сервера, так как когда сервер запущен то файл не доступен для открытия. Для этого есть generate.cmd, который копирует лог в другое место.Сообщение от DnK
GenPath - куда генерировать.
RelPath - путь к папке с миссиями относительно missions\net\
Этот параметр нужен для формирование mission.txt для il2sc. Этот механизм взят из dcg.
Все это описано в ридми.
Хм. А fc или comp отменили?Сообщение от DnK
1generate.cmd используется на сервере, где используется этот генератор. Там файлы htm и jpg копируются в папку стата, чтобы смотреть их из веба.
начал ковырять.
все что прилогается работает...
при создании своего - не работает
итак начнем вопросы задавать последовательно :
1. содаем карту Crimera.mis и Crimera.xml
ставим на ней танк 0_Static vehicles.stationary.Stationary$M4A2
прописываем связи - вот с ними непонятно, но вроде все как в редми...
2. к танку создаем M4A2-1943-red.mis и M4A2-1943-blue.misи прописываем соответсвенно объекты:
0_Static vehicles.stationary.Stationary$M4A2 1 131024.85 101301.79 360.00 0.0
5_Static vehicles.stationary.Stationary$T34 1 131023.85 101310.25 540.00 0.0
6_Static vehicles.stationary.Stationary$T34 1 131012.05 101300.20 540.00 0.0
7_Static vehicles.stationary.Stationary$T34 1 131034.85 101318.10 540.00 0.0
8_Static vehicles.stationary.Stationary$T34 1 131048.01 101325.59 540.00 0.0
9_Static vehicles.stationary.Stationary$T34 1 131059.65 101333.86 540.00 0.0
10_Static vehicles.stationary.Stationary$T34 1 131024.54 101290.26 540.00 0.0
11_Static vehicles.stationary.Stationary$T34 1 131035.27 101283.20 540.00 0.0
12_Static vehicles.stationary.Stationary$T34 1 131048.44 101277.73 540.00 0.0
13_Static vehicles.stationary.Stationary$T34 1 131059.92 101272.89 540.00 0.0
далее создаем M4A2-1943.xml в создаем:
<root>
<MarkerType>ft</MarkerType>
<Weight>9</Weight>
</root>
аналогочино пишем снабжение и т.п.
3. редактируем Classes.xml и попутно вопросы:
<root>
<Aaa>a</Aaa> - зены?
<Art>b</Art> - пушки?
<Car>Static vehicles.stationary.Stationary$OpelBlitz6700A</Car> - машины?
<Car>Static vehicles.stationary.Stationary$OpelBlitz6700A_medic</Car>
<Car>Static vehicles.stationary.Stationary$OpelBlitz6700A_fuel</Car>
<Car>Static vehicles.stationary.Stationary$ZIS5_PC</Car>
<Car>Static vehicles.stationary.Stationary$ZIS5_medic</Car>
<Car>Static vehicles.stationary.Stationary$ZIS6_fuel</Car>
<Ship>d</Ship> - что это?
<Tank>Static vehicles.stationary.Stationary$PzIVF2</Tank>
<Tank>Static vehicles.stationary.Stationary$T34</Tank>
<Wag>f</Wag> - что это?
<Air>g</Air> - что это?
</root>
4. в генераторе пишем:
<startmap>Crimera</startmap>
...........
<StartDay>22</StartDay>
<StartMonth>22</StartMonth>
<StartYear>1943</StartYear>
<EndDay>09</EndDay>
<EndMonth>48</EndMonth>
<EndYear>1945</EndYear>
5. в Maps.xml прописываем:
<root>
<map>KhalkhinGol</map>
<map>Prokhorovka</map>
<map>Crimera</map>
</root>
6. в Planeset.xml пишем
<root>
<month number="22">
<Bf-109G-2 side="blue">2</Bf-109G-2>
<La-5FN side="red">2</La-5FN>
</month>
<month number="23">
<Bf-109G-2 side="blue">2</Bf-109G-2>
<La-5FN side="red">2</La-5FN>
</month>
<month number="24">
<Bf-109G-2 side="blue">2</Bf-109G-2>
<La-5FN side="red">2</La-5FN>
</root>
должно работать?
а нифига
де косяки?
багрепорты:
в редакторе связей объекты отображаются наоборот относительно верха/низа. т.е. если в полном редакторе относительно филда маркер стоит выше, то в редакторе будет ниже
ждемс ответов
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
Посмотри в редакторе на Прохоровку, может станет понятнееСообщение от DnK
Скоро будут новые карты, сейчас тестяться.
<Aaa> - зены
<Art> - пушки
<Car> - машины
<Ship> - корабли
<Tank> - танки
<Wag> - вагоны
<Air> - самолеты
Может возникнуть вопрос: почему в generator.xml нет упоминание о цене
самолета, а в classes.xml есть.
Дело в том что уничтожение самолетов не влияет на движение ЛФ (поэтому для них не нужна цена), так как например уничтожение танков или машин.
А запись в classes для самолетов нужна для того чтобы когда уничтожается самолет-статик, количество самолетов этого типа уменьшалось.
<StartMonth>22</StartMonth>
<EndMonth>48</EndMonth>
Таких месяцов не бывает Надо указывать обычную дату
Соответственно в planeset.xml не <month number="22"> а
<month number="1"> и тд.
Тоесть первый месяц войны, второй и тд.
Отсчет месяцов начинается с начальной даты войны. Вручную их не надо задавать.
ЗЫЖ А вообще, если что-то не работает, неплохо было-бы получать лог работы и стек вызовов для ексепшна
Редактор связей пофиксил
errors:
28.09.2008
Starting generation
Unhandled Exception: System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename)
at Generator.Mission.WriteMap() in D:\dev\Generator\Generator\Mission.cs:line 1292
at Generator.Program.Main() in D:\dev\Generator\Generator\Program.cs:line 119
log:
28.09.2008
Starting generation
Generator v1 by aurel@ic.km.ua
Reading configuration:
Reading global configuration: completed
Reading planeset: completed
Reading list of maps: completed
Reading classes.xml: completed
completed
Checking for previous mission: not found.
Starting new war: Start time: 1/1/1943 12:00
Adding planes from 1st month: completed
Calling global init for crimera:
Weather: 0
Clouds: 2528
Reading markers: completed
Reading airfields: completed
Reading crimera.xml: completed
completed
completed
Putting front markers: completed
Putting supply markers: Parsing supply chains: completed
Finishing mission generation:
Checking for winter: completed
Mission file name: gcrimera_1943_1_1_1200
War wasn't finished - putting planes on airfields: completed
War wasn't finished - loading persistent markers: completed
completed
War wasn't finished - writing ini for IL2SC:
Writing [Common]: completed
Writing [PlanesArmy1]: completed
Writing [PlanesArmy2]: completed
Writing [Army1]: completed
Writing [Army2]: completed
completed
Writing briefing:
Writing head: completed
War wasn't finished - writing <ARMY NONE>: completed
War wasn't finished - writing <ARMY RED>:
Head: completed
Front markers state: completed
Supply markers state: completed
Planes: completed
Airfields: completed
completed
War wasn't finished - writing <ARMY BLUE>:
Head: completed
Front markers state: completed
Supply markers state: completed
Planes: completed
Airfields: completed
completed
completed
Writing web description:
Writing head: completed
Writing frontline state: completed
completed
War wasn't finished - writing mission.xml:
Writing head: completed
Writing planes: completed
Writing front markers state: completed
Writing supply markers state: completed
Writing airfields: completed
completed
War wasn't finished - writing targets.xml:
Writing front markers: completed
Writing supply markers: completed
completed
Writing mission:
Writing [MAIN]: completed
Writing [RespawnTime]: completed
Writing [NStationary]:
Front markers: completed
Supply markers: completed
Statics: completed
completed
Writing [Buildings]:
Front markers: completed
Supply markers: completed
Statics: completed
completed
Writing [BornPlace]: completed
Writing [FrontMarker]:
Front markers: completed
Supply markers: completed
Airfields: completed
completed
лог сервера
[12:56:23 AM] 31>[Sep 28, 2008 12:59:39 AM] ------------ BEGIN log session -------------
[12:59:41 AM] 1>server NAME UMG WAR Server PWD
[12:59:41 AM] 1>f gc.cmd
[12:59:41 AM] >GC
[12:59:41 AM] Memory: total(12058624) free(640048)
[12:59:41 AM] >GC
[12:59:42 AM] Memory: total(11599872) free(756088)
[12:59:42 AM] >GC
[12:59:42 AM] Memory: total(11599872) free(755672)
[12:59:42 AM] >timeout 3600000 f gc.cmd
[12:59:42 AM] 1>maxping 9999 DELAY 9999 WARNINGS 9999
[12:59:42 AM] 8>[12:59:45 AM] mission END
[12:59:45 AM] ERROR mission: Mission NOT loaded
[12:59:45 AM] 9>[12:59:45 AM] chat Warning! IL2SCommander is activated! TO ALL
[12:59:45 AM] 10>[12:59:45 AM] chat Current mission will be stopped! TO ALL
[12:59:45 AM] 11>[12:59:45 AM] chat Everyone will be kicked out now! TO ALL
[12:59:45 AM] 12>[12:59:45 AM] mission END
[12:59:45 AM] ERROR mission: Mission NOT loaded
[12:59:45 AM] 13>[12:59:45 AM] kick# 1
[12:59:45 AM] 14>[12:59:45 AM] kick# 1
[12:59:45 AM] 15>[12:59:45 AM] kick# 1
[12:59:45 AM] 16>[12:59:45 AM] kick# 1
[12:59:45 AM] 17>[12:59:45 AM] kick# 1
[12:59:45 AM] 18>[12:59:45 AM] kick# 1
[12:59:45 AM] 19>[12:59:45 AM] kick# 1
[12:59:45 AM] 20>[12:59:45 AM] kick# 1
[12:59:45 AM] 21>[12:59:45 AM] kick# 1
[12:59:45 AM] 22>[12:59:45 AM] kick# 1
[12:59:45 AM] 23>[12:59:45 AM] kick# 1
[12:59:45 AM] 24>[12:59:45 AM] kick# 1
[12:59:45 AM] 25>[12:59:45 AM] kick# 1
[12:59:45 AM] 26>[12:59:45 AM] kick# 1
[12:59:45 AM] 27>[12:59:45 AM] kick# 1
[12:59:45 AM] 28>[12:59:45 AM] kick# 1
[12:59:45 AM] 29>[12:59:51 AM] mission END
[12:59:51 AM] ERROR mission: Mission NOT loaded
[12:59:51 AM] 30>[12:59:51 AM] mission LOAD BEGIN
[12:59:51 AM] SectFile load failed: null
[12:59:51 AM] java.io.FileNotFoundException
[12:59:51 AM] at com.maddox.rts.SFSInputStream.<init>(SFSInputStream.java:65)
[12:59:51 AM] at com.maddox.rts.SFSReader.<init>(SFSReader.java:19)
[12:59:51 AM] at com.maddox.rts.SectFile.loadFile(SectFile.java:157)
[12:59:51 AM] at com.maddox.rts.SectFile.loadFile(SectFile.java:136)
[12:59:51 AM] at com.maddox.rts.SectFile.<init>(SectFile.java:108)
[12:59:51 AM] at com.maddox.rts.SectFile.<init>(SectFile.java:68)
[12:59:51 AM] at com.maddox.il2.game.Mission.load(Mission.java:169)
[12:59:51 AM] at com.maddox.il2.game.Mission.load(Mission.java:157)
[12:59:51 AM] at com.maddox.il2.game.Mission.load(Mission.java:154)
[12:59:51 AM] at com.maddox.il2.game.cmd.CmdMission.exec(CmdMission.java:65)
[12:59:51 AM] at com.maddox.rts.CmdEnv.exec(CmdEnv.java:601)
[12:59:51 AM] at com.maddox.il2.game.DServer.loopApp(DServer.java:167)
[12:59:51 AM] at com.maddox.il2.game.Main.exec(Main.java:436)
[12:59:51 AM] at com.maddox.il2.game.DServer.main(DServer.java:431)
[12:59:51 AM] Loading mission ...
[12:59:51 AM] No MAP in mission file
[12:59:51 AM] java.lang.Exception: No MAP in mission file
[12:59:51 AM] at com.maddox.il2.game.Mission.loadMain(Mission.java:393)
[12:59:51 AM] at com.maddox.il2.game.Mission._load(Mission.java:272)
[12:59:51 AM] at com.maddox.il2.game.Mission.load(Mission.java:235)
[12:59:51 AM] at com.maddox.il2.game.Mission.load(Mission.java:170)
[12:59:51 AM] at com.maddox.il2.game.Mission.load(Mission.java:157)
[12:59:51 AM] at com.maddox.il2.game.Mission.load(Mission.java:154)
[12:59:51 AM] at com.maddox.il2.game.cmd.CmdMission.exec(CmdMission.java:65)
[12:59:51 AM] at com.maddox.rts.CmdEnv.exec(CmdEnv.java:601)
[12:59:51 AM] at com.maddox.il2.game.DServer.loopApp(DServer.java:167)
[12:59:51 AM] at com.maddox.il2.game.Main.exec(Main.java:436)
[12:59:51 AM] at com.maddox.il2.game.DServer.main(DServer.java:431)
[12:59:52 AM] No MAP in mission file
[12:59:52 AM] java.lang.Exception: No MAP in mission file
[12:59:52 AM] at com.maddox.il2.game.Mission.loadMain(Mission.java:393)
[12:59:52 AM] at com.maddox.il2.game.Mission._load(Mission.java:272)
[12:59:52 AM] at com.maddox.il2.game.Mission.load(Mission.java:235)
[12:59:52 AM] at com.maddox.il2.game.Mission.load(Mission.java:170)
[12:59:52 AM] at com.maddox.il2.game.Mission.load(Mission.java:157)
[12:59:52 AM] at com.maddox.il2.game.Mission.load(Mission.java:154)
[12:59:52 AM] at com.maddox.il2.game.cmd.CmdMission.exec(CmdMission.java:65)
[12:59:52 AM] at com.maddox.rts.CmdEnv.exec(CmdEnv.java:601)
[12:59:52 AM] at com.maddox.il2.game.DServer.loopApp(DServer.java:167)
[12:59:52 AM] at com.maddox.il2.game.Main.exec(Main.java:436)
[12:59:52 AM] at com.maddox.il2.game.DServer.main(DServer.java:431)
[12:59:52 AM] ERROR mission: NOT loaded [java.lang.Exception: No MAP in mission file ]
[12:59:52 AM] 31>[12:59:56 AM] exit
[12:59:56 AM] 32>[Sep 28, 2008 12:59:56 AM] -------------- END log session
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
В папке Maps нет нужной картинки (Crimea.bmp) для рисования карты. Положи туда заглушку (например битмап размером 1 на 1 пиксель), или настоящую карту.
Настоящую карту можно взять в maps.rar
идем дальше...
28.09.2008
Starting generation
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Generator.Mission.GlobalInit(String templateName, Boolean isNew, Boolean isNext, Side who) in D:\dev\Generator\Generator\Mission.cs:line 95
at Generator.Mission..ctor(Boolean newWar, Boolean isNext, Side who) in D:\dev\Generator\Generator\Mission.cs:line 314
at Generator.Program.Main() in D:\dev\Generator\Generator\Program.cs:line 58
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
так генератор запущен.
замечания: если в файле missions.txt не будет нижней пустой строки - работать не будет.
беда, что не генерируются шаблоны. какие объекты поддерживает генератор?
не рисуется и карта...
зы. копаем дальше.
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
Генератор обновился. Добавлена поддержка ограничения вооружения.
Вырезка из readme.
Сообщение от readme.txt
Asmoday, у тебя все работает? Я не пойму. В том генераторе, что ты даешь как пример, в трех файлах прописаны разные пути :
Generator.xml
<LogFilePath>eventlog.lst</LogFilePath>
<GenPath>D:\dev\Generator\Generator\bin\Debug</GenPath>
<RelPath>dogfight\gen</RelPath>
...
1generate.cmd
cd C:\Generator
copy C:\IL2FBDS\eventlog.lst C:\Generator\eventlog.lst
...
generate.cmd
cd D:\server\Generator
copy D:\server\IL2FBDS2\eventlog.lst D:\server\Generator\eventlog.lst
xcopy D:\server\IL2FBDS2\Missions\Net\dogfight\gen\*.jpg C:\WWW\gen /Y
xcopy D:\server\IL2FBDS2\Missions\Net\dogfight\gen\*.htm C:\WWW\gen /Y
Напиши, где находится твой генератор и где сервер? И как это должно выглядеть в этих файлах?
Паситесь, мирные народы! Вас не разбудит чести клич.
К чему стадам дары свободы? Их должно резать или стричь.
Наследство их из рода в роды
Ярмо с гремушками да бич. (А.С.Пушкин)
Это файлы от двух разных машин: от сервера и моей. Кинул просто для примера. Естественно, у меня все работает.
Generator.xml настроен для разработки.
Generate.cmd и 1Generate.cmd - это 2 разные версии, которые используются на сервере.
Пути на сервере, где крутится этот ген:
<LogFilePath>D:\server\Generator\eventlog.lst</LogFilePath> (это копия лога)
<GenPath>D:\server\IL2FBDS2\Missions\Net\dogfight\gen</GenPath>
Мой текущий generate.cmd
Код:@echo off D: rem тут лежит сам ген cd D:\server\Generator date /T >> log echo Starting generation >> log date /T >> errors echo Starting generation >> errors rem копирую лог copy D:\server\IL2FBDS2\eventlog.lst D:\server\Generator\eventlog.lst generator 1>> log 2>> errors rem копирую файлы для стата. xcopy D:\server\IL2FBDS2\Missions\Net\dogfight\gen\*.jpg C:\WWW\gen /Y xcopy D:\server\IL2FBDS2\Missions\Net\dogfight\gen\*.htm C:\WWW\gen /Y date /T >> log echo Finishing generation >> log echo ____________________ >> log date /T >> errors echo Finishing generation >> errors echo ____________________ >> errors exit
Крайний раз редактировалось Asmoday; 30.09.2008 в 01:27.
на предстоящих выходных напишу подробный редми... у всех, все будет работать
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
У меня все равно проблемы... Первая миссия грузится нормально, а вот дальше... Когда должна генериться следующая миссия выдает вот это. В чем ошибка?
Паситесь, мирные народы! Вас не разбудит чести клич.
К чему стадам дары свободы? Их должно резать или стричь.
Наследство их из рода в роды
Ярмо с гремушками да бич. (А.С.Пушкин)