PDA

Просмотр полной версии : REPKA.Commander beta 1



Small_Bee
18.05.2012, 21:41
REPKA.Commander public beta v1

Важно! Для корректной работы коммандер требует прав администратора, установленного .NET Framework 4, и на всякий случай, файловую систему NTFS ))

1. Инструкция по установке.

- Разархивируйте содержимое архива в любую папку на Вашем компьютере - это будет папка коммандера. Откройте папку и скопируйте содержимое папки Game в папку игры.
- Двойным щелчком запустите файл CommanderUI.exe. Будет предложено указать местоположение пользовательской папки игры. Например, "C:\Users\Small_Bee\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\" Это сделать нужно обязательно, если папку не указывать или указать неправильно, за работоспособность коммандера не ручаюсь.
После того, как Вы укажите требуемую папку, запустите коммандер еще раз. В пользовательской папке игры будет создана папка "REPKA.Commander". Не переносите и не удаляйте ее! С этого момента коммандер готов к работе. Запускается он в свернутом в трей виде. Что бы увидеть окно коммандера, щелкните по значку в трее правой клавишей и выберите "Показать окно коммандера".

2. Настройки коммандера.

Что бы попасть в окно настроек, щелкните по значку с гаечными ключами в правом верхнем углу окна.
Откроется окно, в котором есть несколько разделов настроек.

Базовые настройки

- Путь к Launcher.exe. Если программа некорректно определила путь, задайте его вручную, щелкнув по небольшой кнопке справа.
- Параметры запуска. Для запуска выделенного сервера используется ключ -server, назначен по умолчанию.
- Команда после запуска. Определите в этом окошке команду, которая будет выполнена сразу после запуска сервера. Например "f 1.cmd".

- Приоритет процесса сервера. Не меняйте эту настройку, если не вполне понимаете что это и каковы могут быть последствия.

- Автозапуск сервера после старта коммандера. Если отмечено, коммандер попытается запустить сервер сразу же после своего старта.
- Скрывать окно сервера после запуска. Если отмечено, коммандер скроет консольное окошко сервера.
- перезапустить сервер в случае аварийной остановки. Если отмечено, коммандер попытается перезапустить сервер, если тот самовольно завершит свою работу по какой либо причине.
- сохранять логи сервера в папке коммандера. Если отмечено, коммандер переместит лог сервера в свою папку, а в папке игры лог удалит. Имя файла будет отражать даты начала и завершения лога. Скопированные логи находятся в папке ServerLogs папки коммандера.
- очистить кэш перед запуском сервера. Если отмечено, коммандер очистит кэш игры перед запуском сервера.
- только скомпилированные сборки скриптов. Если отмечено, из кэша будут удалены только dll файлы.
Внимание: очистка кэша не затрагивает папку shaders

По остальным разделам все должно быть ясно без слов. Настройки категории "Игровая статистика" сейчас ни на что не влияют - отключены.

3. Ротатор карт

- Что бы добавить карты в ротатор, переместите их в папку Repka.Commander/Missions в пользовательской папке игры.
- Перейдите на вкладку Ротатора (правый верхний угол окна коммандера, значок с двумя стрелочками) и нажмите кнопку "Обновить список карт". В списке справа появятся карты, а также к каждой карте, если у нее нет скрипта, автоматически будет добавлен таковой, минимально необходимый для корректного функционирования командера. Последовательно выберите каждую и нажмите кнопку "Создать настройки карты". Теперь ротатор готов к работе.
Важно! Имена файлов миссий не должны содержать пробелов!

3.1 Настройки карт ротатора.

- Название и Комментарий используются сугубо для информативности и на карту не влияют.
- Длительность. Продолжительность проигрывания карты. По истечению времени будет загружена следующая карты в списке и т.д. Если карта в списке последняя, будет загружена первая карта.
- Эта карта участвует в ротации. Если отключить, Ротатор будет пропускать эту карту
- Предустановленные скрипты. На данный момент не реализовано.
- Кнопки в верхней части. Стрелки вверх и вниз меняют порядок следования карт. Зеленая кнопка со стрелочкой отмечает карту как следующую (будет запущена вне очереди). Остальные кнопки сохраняют и откатывают несохраненные изменения в настройках карты.

Если Ваша карта состоит из более чем одного файла карты и скрипта, поместите остальные файлы рядом в одноименную карте папку, что бы ротатор их не принял за нормальные карты.

4. Запуск сервера

- Перейдите на главную страницу и нажмите кнопку "Запустить сервер". Также сервер будет запущен автоматически, если отмечена соответствующая опция в настройках.
- В зависимости от настроек, будет предпринята попытка запуска Steam; будет очищен кэш, файл лога сервера скопирован, запущен сервер и установлены настройки реализма и маркеров. Если в Ротаторе есть хоть одна карта, которая не исключена из ротации, будет запущено сражение с этой картой.
- После запуска сервера поле ввода внизу главной страницы можно использовать непосредственно для ввода команд в консоль сервера.

5. Остановка сервера/сражения.

- Перейдите на главную страницу и нажмите кнопку "Остановить сервер". Если в данный момент идет сражение, оно будет предварительно остановлено.
- Что бы немедленно запустить следующее сражение в ротации, нажмите кнопку "Следующее сражение".

6. Требования к скрипту миссии.

Если карта не имееет собственного скрипта, необходимый скрипт будет добавлен автоматически. Однако если скрипт есть, для корректной работы коммандера необходимо будет выполнить несколько действий.

- первой строкой поместить строку
//$reference REPKA.Stat.dll
- класс миссии должен наследоваться от RSTMission
- переопределить метод Inited(), в котором указать имя сражение и название карты, так, как она выглядит в mis файле, исключая все, что до знака $.
В качестве примера можно использовать скрипт, который коммандер добавляет к картам автоматически.

7. Новые методы класса RSTMission

Если Вы все сделали правильно, и унаследовали класс своей миссии от класса RSTMission, Вам будет доступно несколько новых возможностей (пока немного :))

- Метод SendServerCommand(string command)
Отправляет команду в консоль сервера. Например "kick Small_Bee", что вызовет кик указанного игрока с сервера.

- Метод DrawnBattle()
Вызывает сообщение, что битва закончилась ничьей и загружает следующее сражение по истечении 1 минуты.
- Метод RedArmyWon()
Вызывает сообщение, что битва закончилась победой красных и загружает следующее сражение по истечении 1 минуты.
- Метод BlueArmyWon()
Вызывает сообщение, что битва закончилась победой синих и загружает следующее сражение по истечении 1 минуты.

За одно сражение можно вызвать только один метод из вышеуказанных трех и только 1 раз. Т.е. нельзя будет сначала показать победу красных, а после ничью.

Важно! При переопределении методов в скрипте всегда вызывайте первой строкой базовый метод! В противном случае корректная работа коммандера не гарантируется.

8. Сброс настроек к настройкам по умолчанию.

Удалите файл settings.dat в папке Data папки коммандера.

9. Фон окна коммандера.

При желании вы можете заменить фоновую картинку коммандера на свою. Для этого замените файл Media/Images/bg.png в папке коммандера на свой. Поддерживаемые форматы - png, bmp, jpg. Можете вообще его удалить, получится весело, но неудобно. )

===============================================

UPD 25/05/2012

Небольшое исправление (154924) неприятной ошибки, когда запуск битвы в обход ротатора приводил к появлению диалогового окна с ошибкой. Файл из архива положить в папку игры с заменой.

podvoxx
18.05.2012, 21:46
СПАСИБО! :bravo:

Все установилось, командер красивый)) Настройки работают и огромное за них спасибо, все наглядно и понятно

Вот такая штука:


[22:16:23] 37>mp_dotrange COLOR 6 DOT 16 RANGE 6 TYPE 6 ID 6 NAME 6
[22:16:23] 38>missLoad REPKA.Commander\Missions\vulkan.mis
[22:16:23] 39>[22:16:23] Loading mission ...
[22:16:23]
[22:16:23] =================================================
[22:16:23] System.Exception: (0,0): error CS0006: Metadata file 'REPKA.STAT.DLL' could not be found
[22:16:23]
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.Ukf613EEXxT(String , Boolean , Boolean )
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.Xf161Mju1Nx(String )
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.7OU61dBcdDJ(String , Int32 )
[22:16:23] =================================================
[22:16:23]
[22:16:23] =================================================
[22:16:23] System.Exception: (0,0): error CS0006: Metadata file 'REPKA.STAT.DLL' could not be found
[22:16:23]
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.7OU61dBcdDJ(String , Int32 )
[22:16:23] at LdqfGchyH689qEUt9pi.i903C2hdBoFbExMjXEu.JcZHrPbutp(uDuTuNIPvVax7RHxHas )
[22:16:23] =================================================
[22:16:23] Load landscape...
[22:16:23] Load bridges
[22:16:23] Load static objects...
[22:16:29] Mission loaded. time = 5,861

Миссия простая, без скриптов.

Автоматически созданный скрипт миссии. Может путь в референсах нужен точный?


// It`s an auto-generated script from REPKA.Commander
//$reference REPKA.Stat.dll
using RepkaMissionsLib;

public class Mission : RSTMission
{
public override void Inited()
{
base.Inited();
BattleName = "vulkan";
MapName = "Online_Volcanic_Island"; //
}
}

У меня сейчас нет внешнего ip, но в списке серверов в локалке виден. Позже попробую зайти.

Small_Bee
18.05.2012, 22:33
Точный путь не надо.
Если на этом этапе выдало ошибку, скрипт не загрузился совсем. Ковыряю что такое.

UPD Такое может быть, если у Launcher`a текущая директория отличается от его родной папки. Попробуй может абсолютный путь, но сомневаюсь.. Коммандер устанавливает рабочей папкой папку лаунчера.
Можно попробовать положить repka.stat.dll (и вторую dll тоже!) в parts/bob или parts/core
Еще попробуй этот скрипт открыть в полном редакторе и попробовать скомпилить.

Ну и самое очевидное - не положил dll-ки из Game в папку игры. Именно папку игры, та, которая в Steam. У меня она вот так выглядит:
E:\Games\Steam\steamapps\common\il-2 sturmovik cliffs of dover

podvoxx
18.05.2012, 23:16
Ну и самое очевидное - не положил dll-ки из Game в папку игры. Именно папку игры, та, которая в Steam. У меня она вот так выглядит:
E:\Games\Steam\steamapps\common\il-2 sturmovik cliffs of dover

Да, точно. Я всю папку скопировал)

golloper
19.05.2012, 07:21
Спасибо!!!:beer: отличная новость

Vetochka
19.05.2012, 16:53
А будет возможность выбора следующей карты в зависимости от результата предыдущей? Или это уже надо ручками скрипт писать?

P.S. Всем причастным к написанию - ОГРОМНОЕ СПАСИБО!

Small_Bee
19.05.2012, 17:02
А будет возможность выбора следующей карты в зависимости от результата предыдущей?

В самое ближайшее время. Будут перегруженные версии методов DrawnBattle(string nextMap), RedArmyWon(string nextMap), BlueArmyWon(string nextMap). Если эти методы будут вызваны без параметров - ротатором будет загружена след. карта, если с параметром - ротатор загрузит указанную карту.

Vetochka
19.05.2012, 20:09
А что делать с бросанием самолета в неудобной позиции и передачу его боту? Как-то этот вопрос будет решаться?

Small_Bee
19.05.2012, 20:31
А что делать с бросанием самолета в неудобной позиции и передачу его боту? Как-то этот вопрос будет решаться?

Этот вопрос решается установкой опции реализма "Без замены". Но тогда появляется другая проблема, а как самолет вообще покидать. Т.е. у юзера должна быть возможность сообщить, что он сваливает, а скрипт уже решит, можно ему сваливать или нет.

1. Это можно сделать через миссионное меню руками. Можно его встроить, но тут проблема, если картодел захочет свое меню юзать, что бы не пересекались и не затирали друг друга. Разве что крепко накрепко наказать не юзать определенный диапазон ID и всегда рисовать первую строку в меню как Server.
2. Отправкой в чат команды. Это возможно, но так сделаю только если не придумаю ничего умнее.

Кстати, так и не разобрался. Можно ли из игры отправить приватное сообщение кому-то? По аналогии с каналами в Иле?

Vetochka
20.05.2012, 10:35
Этот вопрос решается установкой опции реализма "Без замены". Но тогда появляется другая проблема, а как самолет вообще покидать. Т.е. у юзера должна быть возможность сообщить, что он сваливает, а скрипт уже решит, можно ему сваливать или нет.

ПМСМ, это одна из ключевых проблем, которую нам любезно подкинули разработчики. Еще засада в том, что и посадка в скрипте не всегда корректно срабатывает. Игрок может сесть, но самолет покинуть ему не дадут...

Про приват не знаю.

=J13=Keks
20.05.2012, 12:47
Попробовал. Работает но...
Сервер создаётся только LAN и с названием по умолчанию. Порт 27016 хотя в самом интерфейсе настроек БоБа стоит 27015. Не знаю почему (ну не разбираюсь в тонкостях:().
Порты 27015 и 27016 открыты.
Вопрос такой: А могу я запускать сервер и входить на него с одного компьютера?
У меня модем работает в режиме роутера, может здесь собака порылась?

При попытке входа пишет что я вхожу в бой но подключения нет.

П/С: Если сервер запускаю из интерфейса БоБ то всё нормально, сервер в списке есть и подключение других играков без проблем.

Small_Bee
20.05.2012, 13:55
Попробовал. Работает но...
Сервер создаётся только LAN и с названием по умолчанию. Порт 27016 хотя в самом интерфейсе настроек БоБа стоит 27015. Не знаю почему (ну не разбираюсь в тонкостях:().
Порты 27015 и 27016 открыты.
Вопрос такой: А могу я запускать сервер и входить на него с одного компьютера?
У меня модем работает в режиме роутера, может здесь собака порылась?

При попытке входа пишет что я вхожу в бой но подключения нет.

П/С: Если сервер запускаю из интерфейса БоБ то всё нормально, сервер в списке есть и подключение других играков без проблем.

Портами и видимостью коммандер не управляет (может быть в будущем сделаю более подробную настройку). Это настраивается через confs.ini в C:\Users\User\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\

По второму вопросу. У тебя не загрузилась миссия. Поэтому сервер тебя пускает, но так как играть нечего, дальше дело не идет. Сервер не понимает имена файлов с пробелами. При создании сервера из самой игры миссия загружается несколько иначе, поэтому работает. Тебе надо переименовать файл так, что бы в нем не было пробелов (подредактировал по этому вопросу первый пост).

На одном компьютере запускать сервер и подсоединятся можно. Я так и делаю. Роутер не при делах.

--- Добавлено ---


ПМСМ, это одна из ключевых проблем, которую нам любезно подкинули разработчики. Еще засада в том, что и посадка в скрипте не всегда корректно срабатывает. Игрок может сесть, но самолет покинуть ему не дадут...

Про приват не знаю.

Тут даже не в посадке дело, она действительно работает не очень - для ботов срабатывает всегда, а вот для игрока сначала надо покинуть самолет. Т.е. замкнутый круг.
Наверное таки будет через миссионное меню, а с картоделами будет соглашение, что создавать главное меню надо будет через отдельный метод, что бы избежать накладок.

=J13=Keks
20.05.2012, 14:22
Small_Bee!
Спасибо! Переименовал, всё работает.
И всё таки остался вопрос, почему только LAN сервер создаётся и имя серверу не присвоить?

Small_Bee
20.05.2012, 14:41
Small_Bee!
Спасибо! Переименовал, всё работает.
И всё таки остался вопрос, почему только LAN сервер создаётся и имя серверу не присвоить?
Имя сервера задается там же, в confs.ini. по поводу лан переадресуй вопрос пожалуйста bigRepa, он тут более квалифицированную помощь окажет )
На данный момент коммандер тонкие настройки сервера не трогает, это придется настраивать руками. Надо будет добавить в интерфейс.

=J13=Keks
20.05.2012, 15:29
Имя сервера задается там же, в confs.ini. по поводу лан переадресуй вопрос пожалуйста bigRepa, он тут более квалифицированную помощь окажет )
На данный момент коммандер тонкие настройки сервера не трогает, это придется настраивать руками. Надо будет добавить в интерфейс.
Ага..! Спасибо! С именем сервера понял и разобрался, в конфиге переписал. Копаюсь с подключением NAT.

BigREPA
20.05.2012, 20:55
Если момед:) работает как роутер, то в нем самом нужно пробросить порт внутрь "локальной сети", ведь в таком режиме работы внешний айпи у модема, а твой пк получает внутренний айпи по dhcp от него (я не телепат, но у тебя думаю именно так). Поэтому клиенты, обращающиеся на внешний, должны как то попадать на внутренний, где собственно и запущен Бобо-сервер.
В зависимости от модели модема это действо может называться по разному (DMZ или серверы в лок. сети) но суть это не меняет. Тебе нужно указать, что поступающие пакеты на порт 27016 нужно переадресовать на адрес, ... тут пишешь айпический адрес конкретно своего ПК. Тип разрешенных пакетов UDP (на Р разрешено UDP и TCP) В принципе все должно получится, если сам провайдер не предоставляет тебе изначально серый айпи. (тут сложнее или просто невозможно)

--- Добавлено ---


Надо будет добавить в интерфейс.

Там есть одна тонкость, Все изменения выполненные в confs.ini будут потерянны, если их вносить при работающем лончере (после его закрытия).

=J13=Keks
20.05.2012, 21:58
Если момед:) работает как роутер, то в нем самом нужно пробросить порт внутрь "локальной сети", ведь в таком режиме работы внешний айпи у модема, а твой пк получает внутренний айпи по dhcp от него (я не телепат, но у тебя думаю именно так). Поэтому клиенты, обращающиеся на внешний, должны как то попадать на внутренний, где собственно и запущен Бобо-сервер.
В зависимости от модели модема это действо может называться по разному (DMZ или серверы в лок. сети) но суть это не меняет. Тебе нужно указать, что поступающие пакеты на порт 27016 нужно переадресовать на адрес, ... тут пишешь айпический адрес конкретно своего ПК. Тип разрешенных пакетов UDP (на Р разрешено UDP и TCP) В принципе все должно получится, если сам провайдер не предоставляет тебе изначально серый айпи. (тут сложнее или просто невозможно)
Так порты то у меня проброшены и когда я запускаю сервер из интерфейса БоБа (появляется в общем списке серверов) то народ подключается и мы летаем. Commander beta 1 почемуто создаёт только LAN соединение. Как сделать чтоб сервер появился не в интерфейсе LAN-соединений а в общем списке серверов?

Small_Bee
20.05.2012, 22:18
Так порты то у меня проброшены и когда я запускаю сервер из интерфейса БоБа (появляется в общем списке серверов) то народ подключается и мы летаем. Commander beta 1 почемуто создаёт только LAN соединение. Как сделать чтоб сервер появился не в интерфейсе LAN-соединений а в общем списке серверов?
Обычный и выделенный сервера используют разные конфиги, conf.ini and confs.ini соответственно. Открой и сравни, чем отличаются.

golloper
20.05.2012, 22:30
- Команда после запуска. Определите в этом окошке команду, которая будет выполнена сразу после запуска сервера. Например "f 1.cmd".Дурацкий вопрос :ups: Для чего нужен этот файл.
Насколько я помню в нём прописывались настройки сложности,маркеры. Загружалась миссия,Стартовала баттла, Если Коммандер это сам делает в своих настройках и карты запускает с ротацией,нужен ли этот файлик. Или у него тут другое назначение?

--- Добавлено ---

И вот тут тоже поясните
- перезапустить сервер в случае аварийной остановки. Если отмечено, коммандер попытается перезапустить сервер, если тот самовольно завершит свою работу по какой либо причине.
Это без перезагрузки винды? хотя наверно нет,ну так для успокоения души

BigREPA
20.05.2012, 22:33
Дурацкий вопрос :ups: Для чего нужен этот файл.
Насколько я помню в нём прописывались настройки сложности,маркеры. Загружалась миссия,Стартовала баттла, Если Коммандер это сам делает в своих настройках и карты запускает с ротацией,нужен ли этот файлик. Или у него тут другое назначение?

--- Добавлено ---

И вот тут тоже поясните
Это без перезагрузки винды? хотя наверно нет,ну так для успокоения души

Если использовать ротатор - то не нужен.
Без перезагрузки.

=J13=Keks
20.05.2012, 23:11
Обычный и выделенный сервера используют разные конфиги, conf.ini and confs.ini соответственно. Открой и сравни, чем отличаются.
Истина гдето рядом, но где? Вижу только то что почемут в одном конфиге прописались разные порты. Может глаз специалиста выхватит истину и донесёт до страждущего?!:)
Ещё вижу что именно локальные порты в конфигах разные.

podvoxx
21.05.2012, 09:34
Этот вопрос решается установкой опции реализма "Без замены". Но тогда появляется другая проблема, а как самолет вообще покидать. Т.е. у юзера должна быть возможность сообщить, что он сваливает, а скрипт уже решит, можно ему сваливать или нет.

1. Это можно сделать через миссионное меню руками. Можно его встроить, но тут проблема, если картодел захочет свое меню юзать, что бы не пересекались и не затирали друг друга. Разве что крепко накрепко наказать не юзать определенный диапазон ID и всегда рисовать первую строку в меню как Server.
2. Отправкой в чат команды. Это возможно, но так сделаю только если не придумаю ничего умнее.

Кстати, так и не разобрался. Можно ли из игры отправить приватное сообщение кому-то? По аналогии с каналами в Иле?

Мне кажется нужно просить от разрабов возможность создавать собственные инф. окна со стандартными элементами управления - кнопками, списками, картинками(похожее есть в арме) - эти возможности есть у нынешних окон. Туда можно будет встроить нормальные меню, к которым можно будет привязать очень много всего хорошего и полезного:
-альтернативная карта с инструментами
-дополнительные приборы(ручной компас, например)
-реалистичная радиостанция(работает как плагин через тимспик)
-управление армиями, ресурсами, сервером, игроками ну и т.д.
-выбор заданий

Т.к. нынешнее Tab-меню мягко говоря неудобно(может пересекаться с другими меню миссии)

BigREPA
21.05.2012, 10:26
...)

Привет, не хочешь адаптировать Friday on my mind к новому коммандеру, можно было бе ее поставить. Хорошая миссия хорошо сделана (судя по кол-ву ош в консоли:)) + возможно ее зациклить в ротации, а?

--- Добавлено ---


Истина гдето рядом, но где? Вижу только то что почемут в одном конфиге прописались разные порты. Может глаз специалиста выхватит истину и донесёт до страждущего?!:)
Ещё вижу что именно локальные порты в конфигах разные.

Для дедика конфигурационным файлом является confs.ini и ему пополам что у тебя в conf.ini прописано.

podvoxx
21.05.2012, 10:29
Привет, не хочешь адаптировать Friday on my mind к новому коммандеру, можно было бе ее поставить. Хорошая миссия хорошо сделана (судя по кол-ву ош в консоли:)) + возможно ее зациклить в ротации, а?
Для дедика конфигурационным файлом является confs.ini и ему пополам что у тебя в conf.ini прописано.

Пытаюсь ее доработать и сделай легконастраиваемой, чтобы потом еще миссий можно было наклепать. Но пока надо решить несколько проблем, которые отнимают много времени по незнанию

podvoxx
21.05.2012, 15:50
Перенес из темы вопросов.

Если ты не задумываешь действительно чего то глобального с пол-сотней классов и тысячами строк кода, делать отдельную dll не стоит. Да и засорять папку игры dll-ками я бы не стал, имхо стоит подумать как сделать проще (например загружать пустые миссии со скриптом)
Bridge это не совсем рефлексия, там она используется для загрузки сборки и извлечению из нее класса и его методов.
Переменные можешь смело хранить в файле. Код скриптов миссии вызывается последовательно, так что о проблемах многопоточности можно не беспокоится.
А вообще, скажу по секрету, будет встроенный локалайзер и общее хранилище для миссий в RSTMission, это что бы не делал лишнюю работу, если что.

Нет, ничего глобального. Как раз нужна система отправки/локализации сообщений и хранилище. А когда планируешь сделать?
Еще вопрос по командеру.


6. Требования к скрипту миссии.

Если карта не имееет собственного скрипта, необходимый скрипт будет добавлен автоматически. Однако если скрипт есть, для корректной работы коммандера необходимо будет выполнить несколько действий.

- первой строкой поместить строку
//$reference REPKA.Stat.dll
- класс миссии должен наследоваться от RSTMission
- переопределить метод Inited(), в котором указать имя сражение и название карты, так, как она выглядит в mis файле, исключая все, что до знака $.
В качестве примера можно использовать скрипт, который коммандер добавляет к картам автоматически.

Какие требования к структуре папок? Мне будет неудобно вставлять все миссии в папку командера. Можно там использовать папку SMP, например, а в ней уже остальные папки миссий? Наверное нужна возможность задать путь к каждой хост миссии.

Как наследование от RSTMission отразится на подмиссиях и других скриптах? Например, есть скрипт хост-миссии, скрипт подмиссии с радаром, скрипт уничтожения разбитых самолетов, скрипт меню. И они должны иметь возможность использовать общее хранилище.
Меню - доступ к списку статуса заданий. Радар - к своему полю статуса задания. Т.е. при его уничтожении он сам меняет текущий статус.

Small_Bee
21.05.2012, 16:00
Перенес из темы вопросов.


Нет, ничего глобального. Как раз нужна система отправки/локализации сообщений и хранилище. А когда планируешь сделать?
Еще вопрос по командеру.



Какие требования к структуре папок? Мне будет неудобно вставлять все миссии в папку командера. Можно там использовать папку SMP, например, а в ней уже остальные папки миссий? Наверное нужна возможность задать путь к каждой хост миссии.

Как наследование от RSTMission отразится на подмиссиях и других скриптах? Например, есть скрипт хост-миссии, скрипт подмиссии с радаром, скрипт уничтожения разбитых самолетов, скрипт меню. И они должны иметь возможность использовать общее хранилище.
Меню - доступ к списку статуса заданий. Радар - к своему полю статуса задания. Т.е. при его уничтожении он сам меняет текущий статус.

1. Планирую в ближайшее время в след апдейте. Максимум неделя.
Предварительно там будет
- Скрипт уборки самолетов
- Возможность загрузки след. сражения в зависимости от результата.
- localizer
- Общее хранилище.
- английский язык для интерфейса.
2. Структура папок. В папке коммандера должна лежать миссия-хост и ее скрипт. Все остальное, включая другие миссии со скриптами и т.п. в одноименной папке там же. Например, есть миссия smp.mis, отсюда в папке коммандера будет

Папка smp (в ней все что надо остальное)
smp.mis
smp.cs

Здесь важное дополнение. Локалайзер будет надеяться, что одноименная миссии-хосту папка будет существовать, а в ней папка messages с файлами языков.

3. Наследовать остальные скрипты от RSTMission можно, но необязательно.
4. Меню делать руками (если разберусь с накладками, то возможно тут будут небольшие требования, что бы не пересекались со встроенным)
5. Радар - не понял.

podvoxx
21.05.2012, 16:22
5. Радар - не понял.

Все таки хотелось бы свою структуру папок сохранять, может возможно это организовать все-таки. Поясню на текущем примере. У меня есть сборка миссий в папке SMP, в ней папки миссий
- Friday on my mind
- Суббота on my mind
- Четверг on my mind

В каждой такой папке миссий находятся хост-миссия, а в ней папочки submissions и localizations(с файлами ru.ini и en.ini). Здесь же скрпит мисии, брифинги, картинка брифинга. Можно удалять, копировать папки миссий целиком - они независимы друг от друга, чтобы убрать лишнее к примеру.

Далее в папке submissions лежат папки подмиссий, каждая со своими скриптами, файлами локализации и настройками. Каждая подмиссия независима и может использоваться с другими хост-миссиями, другими дизайнерами просто копированием папки. Так можно будет легко понатыкать на карте радары, заводы и др. активные объекты не настраивая каждый раз под конкретную миссию. Список загружаемых подмиссий может находиться в настройках хост-миссии, быть рандомным или просто загружать все из папки submission, или по условиям скрипта хост-миссии.

Например я хочу сделать радар. Он будет самостоятельно отправлять сообщения о самолетах врага, через свою локализацию.

По сообщениям - нужна возможность отправить сообщение только player(для меню пригодится) и только серверу. А также возможность выбора языка сообщений сервера(независимо от версии игры). Ну и если текст в файле локализации не найден - выводится то, что отправили.


1. Планирую в ближайшее время в след апдейте. Максимум неделя.
Предварительно там будет
Это хорошо. У меня отпуск тут правда, вернусь к жизни только в июле. Хочется за две недели по максимуму сделать, может хотя бы переработанный вариант Friday on my mind подготовить для тестирования.

Small_Bee
21.05.2012, 16:46
Все таки хотелось бы свою структуру папок сохранять, может возможно это организовать все-таки. Поясню на текущем примере. У меня есть сборка миссий в папке SMP, в ней папки миссий
- Friday on my mind
- Суббота on my mind
- Четверг on my mind

В каждой такой папке миссий находятся хост-миссия, а в ней папочки submissions и localizations(с файлами ru.ini и en.ini). Здесь же скрпит мисии, брифинги, картинка брифинга. Можно удалять, копировать папки миссий целиком - они независимы друг от друга, чтобы убрать лишнее к примеру.

Далее в папке submissions лежат папки подмиссий, каждая со своими скриптами, файлами локализации и настройками. Каждая подмиссия независима и может использоваться с другими хост-миссиями, другими дизайнерами просто копированием папки. Так можно будет легко понатыкать на карте радары, заводы и др. активные объекты не настраивая каждый раз под конкретную миссию. Список загружаемых подмиссий может находиться в настройках хост-миссии, быть рандомным или просто загружать все из папки submission, или по условиям скрипта хост-миссии.

Например я хочу сделать радар. Он будет самостоятельно отправлять сообщения о самолетах врага, через свою локализацию.

По сообщениям - нужна возможность отправить сообщение только player(для меню пригодится) и только серверу. А также возможность выбора языка сообщений сервера(независимо от версии игры). Ну и если текст в файле локализации не найден - выводится то, что отправили.


Это хорошо. У меня отпуск тут правда, вернусь к жизни только в июле. Хочется за две недели по максимуму сделать, может хотя бы переработанный вариант Friday on my mind подготовить для тестирования.

Ок, я понял тебя.
В локалайзер могу добавить параметр, который бы принудительно заставлял отправлять сообщение на выбранном языке, а не на языке игрока.
Кроме общего локалайзера можно будет создать свой, конкретно для конкретной подмиссии.

По миссиям в ротаторе. Действительно, может быть неудобно, убедил. Тогда возможно в папке missions вместо самих миссий будет лежать ini-файлик с указанием что и откуда грузить
Например


[Battle]
HostMission=missions\FridayOnMyMind\host.mis
LocalizerDir=missions\FridayOnMyMind\messages\


Тогда не надо будет специально подстраивать структуру папок и миссий под коммандер, достаточно такой инишки. Устроит?

podvoxx
21.05.2012, 16:51
Тогда не надо будет специально подстраивать структуру папок и миссий под коммандер, достаточно такой инишки. Устроит?

Я когда думал над своим вариантом - решил, что лучше в локалайзер путь к папке с нужными файлами локализации отправлять. Т.е. хост миссия использует свои основные сообщения из своей папочки("убей их всех", "Будь мужиком" и т.п.)
А подмиссия использует свои файлы из своей папки. Радар например: "Самолеты противника там-то", "Высота группы такая-то". Тогда командеру не надо знать где локализация и есть ли она вообще.

Small_Bee
21.05.2012, 16:56
Я когда думал над своим вариантом - решил, что лучше в локалайзер путь к папке с нужными файлами локализации отправлять. Т.е. хост миссия использует свои основные сообщения из своей папочки("убей их всех", "Будь мужиком" и т.п.)
А подмиссия использует свои файлы из своей папки. Радар например: "Самолеты противника там-то", "Высота группы такая-то". Тогда командеру не надо знать где локализация и есть ли она вообще.

А, да это ради бога. Можно будет путь локалайзеру не указывать, тогда общего просто не будет, создаем где хотим свой и что хотим ему скармливаем. Я хочу максимально разгрузить картодела от рутинной писанины, и при этом не сильно ограничивать в фантазии.

podvoxx
21.05.2012, 17:06
А, да это ради бога. Можно будет путь локалайзеру не указывать, тогда общего просто не будет, создаем где хотим свой и что хотим ему скармливаем. Я хочу максимально разгрузить картодела от рутинной писанины, и при этом не сильно ограничивать в фантазии.

По сообщениям - еще можно добавить в командер периодические и завершающие сообщения.
Периодические - адрес сервера, адрес/пароль ТС, время до конца миссии и тп.(тоже можно сделать настраиваемым)
Завершающие - "До конца миссии столько-то минут" и задать кол-во минут до конца миссии, когда эти сообщения будут выводится(при досрочном завершении не будет).
Это не обязательно, но тем кто со скриптами не хочет связываться пригодится.

Ну и пункт в меню все-таки стоит застолбить наверное).

По "радару" забыл написать. Как пока видится, есть несколько подмиссий-заданий. Выполнено задание или нет решает сама подмиссия. Т.е. уничтожили определенное кол-во юнитов определенного типа определенной армии - задание выполнено. Хост-миссия только получает сообщение о выполнении и меняет булевый список, если требуется - false или true для этой миссии. Это избавит от рутины(как например я убрал эсминцы, а их кол-во/цена заданы в скрипте хост миссии - пришлось весь код проверять и менять переменные, очень долго и "ошибочно".

Small_Bee
21.05.2012, 17:14
По сообщениям - еще можно добавить в командер периодические и завершающие сообщения.
Периодические - адрес сервера, адрес/пароль ТС, время до конца миссии и тп.(тоже можно сделать настраиваемым)
Завершающие - "До конца миссии столько-то минут" и задать кол-во минут до конца миссии, когда эти сообщения будут выводится(при досрочном завершении не будет).
Это не обязательно, но тем кто со скриптами не хочет связываться пригодится.

Ну и пункт в меню все-таки стоит застолбить наверное).

По "радару" забыл написать. Как пока видится, есть несколько подмиссий-заданий. Выполнено задание или нет решает сама подмиссия. Т.е. уничтожили определенное кол-во юнитов определенного типа определенной армии - задание выполнено. Хост-миссия только получает сообщение о выполнении и меняет булевый список, если требуется - false или true для этой миссии. Это избавит от рутины(как например я убрал эсминцы, а их кол-во/цена заданы в скрипте хост миссии - пришлось весь код проверять и менять переменные, очень долго и "ошибочно".

Сообщения о оставшемся времени и обратный отсчет до конца миссии уже есть (каждые 10 минут, минута до конца и обратный отсчет за 10 сек)
Сообщения с информацией о сервере будут.

По прочему - эту проблему решит общее хранилище. Туда же наверное добавлю событие о смене значения какой либо переменной.
Еще я бы предостерег от чрезмерного использования подмиссий со своим скриптом - т.к. скрипты, даже если миссия уже давно завершилась, никуда не деваются, а значит жрут доп. память.

podvoxx
21.05.2012, 18:41
Сообщения о оставшемся времени и обратный отсчет до конца миссии уже есть (каждые 10 минут, минута до конца и обратный отсчет за 10 сек)
Сообщения с информацией о сервере будут.
Может все-таки ввести настройку с параметром периодичности, хотя бы на выбор - 10 мин, 30 мин, 1 час?



По прочему - эту проблему решит общее хранилище. Туда же наверное добавлю событие о смене значения какой либо переменной.
Еще я бы предостерег от чрезмерного использования подмиссий со своим скриптом - т.к. скрипты, даже если миссия уже давно завершилась, никуда не деваются, а значит жрут доп. память.

То, что я планирую - для относительно коротких миссий 4-6 часов, надеюсь потянет.

Есть предложение по ротатору и добавлению в него миссий. Как сейчас автоматически - файл миссии лежит в папке командера REPKA.Commander\Missions, либо принудительно - сделать выбор файла хост миссии через кнопку обзор(или прописывание пути вручную), а лучше оба варианта.
Далее. Если есть брифинг миссии - читаем ее название из него(можно сделать выбор предпочитаемого языка брифинга) и пишем в списке миссий, если нет брифинга - берем название файла. Так проще и удобней будет отличать файлы .mis. Гдн-то рядом будет отображаться название файла хост-миссии и путь к нему.
Если уж совсем функционал развивать - то можно сделать в будущем кнопку "Просмотр брифинга миссии", которая открывает окошко с текстом брифинга(можно сделать выбор группы - red, blue, regular и т.д.) и картинкой, если имеется. Но последнее это конечно не к спеху.

И еще по локализатору. По идее он может пригодится и в офлайн миссиях и онлайн, запускаемых через сервер в игре. Может еще отдельной сборкой его выпустить?

=J13=Keks
21.05.2012, 18:54
Для дедика конфигурационным файлом является confs.ini и ему пополам что у тебя в conf.ini прописано.
Тоесть я могу использовать Commander только в локальной сети?
Всё перелопатил а он только LAN сервер запускает.:(

podvoxx
21.05.2012, 19:03
Тоесть я могу использовать Commander только в локальной сети?
Всё перелопатил а он только LAN сервер запускает.:(

Там целая история с выделенным. Я долго мучался, потом забил. И вдруг через месяц на тесте миссии кто-то зашел на созданный мной сервер, тогда я понял что настроился. В теме по выделенному было руководство более-менее подробное - http://www.sukhoi.ru/forum/showthread.php?t=67964&page=5&p=1732136&viewfull=1#post1732136 тут кажись.

=J13=Keks
21.05.2012, 19:36
Там целая история с выделенным. Я долго мучался, потом забил. И вдруг через месяц на тесте миссии кто-то зашел на созданный мной сервер, тогда я понял что настроился. В теме по выделенному было руководство более-менее подробное - http://www.sukhoi.ru/forum/showthread.php?t=67964&page=5&p=1732136&viewfull=1#post1732136 тут кажись.
podvoxx Спасибо за информацию!
Плохо когда есть хороший командер а чтоб им воспользоваться надо бубен доставать. Там описанно как сервер запустить из применительно к БоБу а вот как задействовать командер у меня пока мыслей нет.:) Будем пользовать дедовские методы запуска из интерфейса.:(

Small_Bee
21.05.2012, 21:19
podvoxx Спасибо за информацию!
Плохо когда есть хороший командер а чтоб им воспользоваться надо бубен доставать. Там описанно как сервер запустить из применительно к БоБу а вот как задействовать командер у меня пока мыслей нет.:) Будем пользовать дедовские методы запуска из интерфейса.:(
Надо немного уточнить. Командер всего лишь обертка над той самой старой доброй консолькой выделенного сервера. Так что все что там написано, актуально и для коммандера. Т.е. ничем не отличается настройка.
Коммандер только добавляет человеческий интерфейс и автоматизацию для рутинных задач.

=J13=Keks
21.05.2012, 22:48
Small_Bee Дружище!
Ты специально надомной издеваешся?!:D Обёртка то обёртка но я уже устал... Я же не просто так интересуюсь! Зачем он мне нужен (командер) если я его не могу использовать по прямому назначению? Кому нужны сервера в локальной сети если они к тому же не работают и сети у меня такой нет? А как сделать чтоб он создавал NAT сервер толком информации (конкретной) нет.
Без обиды но... Подпись у тебя над аватаркой как ответ на все мои вопросы.:D
podvoxx конкретно дал ответ что прежде чем использовать командер, нужно с бубном поплясать :). Просто у меня в голове не укладывается.:) Как это так... Почему изначально Commander beta 1 не настроен на запуск именно NAT сервера? Почему он запускает именно то, что в БоБе и так коряво работает.

Small_Bee
21.05.2012, 23:03
Small_Bee Дружище!
Ты специально надомной издеваешся?!:D Обёртка то обёртка но я уже устал... Я же не просто так интересуюсь! Зачем он мне нужен (командер) если я его не могу использовать по прямому назначению? Кому нужны сервера в локальной сети если они к тому же не работают и сети у меня такой нет? А как сделать чтоб он создавал NAT сервер толком информации (конкретной) нет.
Без обиды но... Подпись у тебя над аватаркой как ответ на все мои вопросы.:D

Мне остается только развести руками. Тогда отставляем коммандер в сторонку за ненадобностью и пытаемся запускать вот это )

154782

=J13=Keks
21.05.2012, 23:08
А этого что не достаточно?:)

Small_Bee
21.05.2012, 23:35
А этого что не достаточно?:)
Это был троллинг )). Что, таки увидел в сети, разобрался? Я твой сервер только что видел.

=J13=Keks
21.05.2012, 23:38
Это был троллинг )). Что, таки увидел в сети, разобрался? Я твой сервер только что видел.
Где ты его видел? В общем списке, или в LAN странице серверов? Я серьёзно!

Small_Bee
21.05.2012, 23:42
Где ты его видел? В общем списке, или в LAN странице серверов? Я серьёзно!

Да пожалуйста. Я у тебя точно не в ЛАН )
Самый верхний мой, ниже, KonGo, твой походу?

=J13=Keks
21.05.2012, 23:46
Small_Bee Дружище! Извени что ... Короче получается что я запускаю командер и войдя в игру вижу свой же сервер только в закладке LAN а другие видят мой сервер в общем списке. Как же я не догадался то.... Олух царя небесного.:D:D:D
Усё... Пошёл карты клепать.:D
Спасибо!!!

Small_Bee
21.05.2012, 23:47
Small_Bee Дружище! Извени что ... Короче получается что я запускаю командер и войдя в игру вижу свой же сервер только в закладке LAN а другие видят мой сервер в общем списке. Как же я не догадался то.... Олух царя небесного.:D:D:D
Ну хз.. Я свой вижу и в INTERNET.. Правда перед этим я прямой коннект делал, мож, "пробило".. Пути бобостимские неисповедимы ) Прописал 20-й порт, прокинул его в роутере, открыл боб и попробовал прямой коннект (подсмотрел его там же в админке роутера).. работает.. А после обратил внимание, что есть и в общем списке. Хотя мой комп за роутером, внешнего IP вообще не знает. Еще пробовал тот же ip прописывать в секции NET в localHost.. Сервер при выходе его упорно затирает, но работает в принципе и без него.

=J13=Keks
21.05.2012, 23:57
Ну хз.. Я свой вижу и в INTERNET.. Правда перед этим я прямой коннект делал, мож, "пробило".. Пути бобостимские неисповедимы ) Прописал 20-й порт, прокинул его в роутере, открыл боб и попробовал прямой коннект (подсмотрел его там же в админке роутера).. работает.. А после обратил внимание, что есть и в общем списке. Хотя мой комп за роутером, внешнего IP вообще не знает. Еще пробовал тот же ip прописывать в секции NET в localHost.. Сервер при выходе его упорно затирает, но работает в принципе и без него.
Ага... Всё понял! Главное что с твоей помощю разобрались.:) Остальное завтра сделаю. Теперь проще! Командер классный! Правда я ещё не знаю всех его возможностей.:) Главное что "джентельменский" набор уже есть.:)

skynetv
22.05.2012, 20:15
Огромное спасибо за такую нужную штуку !
Установил, всё работает.

Small_Bee
22.05.2012, 23:05
Пожалуйста ). Походу не работает SendServerCommand, исправляемся.

podvoxx
24.05.2012, 16:32
Small_Bee, а по истечении времени миссии, заданного в командере вызывается метод public override void OnBattleStoped()?



Важно! При переопределении методов в скрипте всегда вызывайте первой строкой базовый метод! В противном случае корректная работа коммандера не гарантируется.

base.DrawnBattle();
Так?



По сообщениям - нужна возможность отправить сообщение только player(для меню пригодится) и только серверу.

Не то написал, только сейчас вспомнил. Нужны методы для только перевода, так как пункты меню не нужно отправлять через сообщение. Т.е. для меню должно возвращать просто перевод.
И желательно сделать просто отправку сообщений без перевода, чтобы скрипт не лазил постоянно в файл, когда это не требуется.

Т.е. три варианта:
Перевести и отправить сообщение
Не переводить и отправить сообщение
Перевести, но не отправлять сообщение - вернуть перевод

Small_Bee
24.05.2012, 16:36
Он сам вызывается по факту остановки сражения, я этим не рулю никак.

podvoxx
24.05.2012, 16:41
Он сам вызывается по факту остановки сражения, я этим не рулю никак.

Я вот про что. Миссия кончилась, карта перезагружается. Когда вывести сообщение о победе какой-либо стороны? В OnBattleStoped() раньше пробовал, но прочитать успевал только в логе, т.к. через cmd сразу проводилась перезагрузка.

Small_Bee
24.05.2012, 16:44
Я вот про что. Миссия кончилась, карта перезагружается. Когда вывести сообщение о победе какой-либо стороны? В OnBattleStoped() раньше пробовал, но прочитать успевал только в логе, т.к. через cmd сразу проводилась перезагрузка.


- Метод DrawnBattle()
Вызывает сообщение, что битва закончилась ничьей и загружает следующее сражение по истечении 1 минуты.
- Метод RedArmyWon()
Вызывает сообщение, что битва закончилась победой красных и загружает следующее сражение по истечении 1 минуты.
- Метод BlueArmyWon()
Вызывает сообщение, что битва закончилась победой синих и загружает следующее сражение по истечении 1 минуты.

OnBattleStopped вызывается в момент, когда никто уже ничего не видит.

podvoxx
24.05.2012, 16:47
)
Это понятно, вопрос когда эти методы вызывать? То есть не для досрочного завершения миссии, а по истечении времени заданного в командере. Или счетчик в скрипте придется заводить?

Small_Bee
24.05.2012, 16:51
Это понятно, вопрос когда эти методы вызывать? То есть не для досрочного завершения миссии, а по истечении времени заданного в командере. Или счетчик в скрипте придется заводить?

А. Нет такого, если ничего не вызывать, то никак и закончится. Собственно по аналогии с коммандерами для старичка Ила.
Можно в длительности поставить 0, и тогда коммандер по собственной воле завершать миссию не будет. Отсчитывай время и туши вышеприведенными командами.

podvoxx
24.05.2012, 16:56
А. Нет такого, если ничего не вызывать, то никак и закончится. Собственно по аналогии с коммандерами для старичка Ила.
А кому тогда победу или ничью давать? Нужен метод, который вызывается перед завершением миссии и в нем раздаются плюшки, мне кажется. Я городил в миссии счетчик, неудобно. Надо подгонять время миссии в скрипте и указанное в командере, чтобы синхронно завершилось. Заодно проверять, чтобы оно не выходило за рамки(т.е. время в командере - 5 минут, сообщение выводится за 6 минут до конца - почти нереальная ситуация на реальном сервере, но на тестах всплывает). В предыдущем варианте миссия судя по логам ни разу не успевала передать сообщения о выигравшей стороне.

Small_Bee
24.05.2012, 17:03
Я там дополнил - 0 длительность поставь для миссии. Тогда рулить можешь по своему усмотрению.
Плюшки раздавай перед вызовом метода завершения миссии. Ну или в OnBattleStopped уже, ты же все равно знаешь кто победил.

--- Добавлено ---


В предыдущем варианте миссия судя по логам ни разу не успевала передать сообщения о выигравшей стороне.
Конечно, OnBattleStopped потому так и называется, что вызывается уже после завершения.

podvoxx
24.05.2012, 17:07
Конечно, OnBattleStopped потому так и называется, что вызывается уже после завершения.

Нет, там по таймеру было - через cmd репка перегружаться должна была через 4 часа, а выходило по-разному. В OnBattleStopped я просто проверял на тестах.


Я там дополнил - 0 длительность поставь для миссии. Тогда рулить можешь по своему усмотрению.
Может все-таки еще один метод ввести, который вызывается автоматически за одну минуту до конца миссии(и куда можно прописать выдачу результата)?

Small_Bee
24.05.2012, 17:09
Нет, там по таймеру было - через cmd репка перегружаться должна была через 4 часа, а выходило по-разному. В OnBattleStopped я просто проверял на тестах.

Ничего не понял. К cmd не имею никакого отношения )

podvoxx
24.05.2012, 17:10
Ничего не понял. К cmd не имею никакого отношения )

Это на старой репке еще) Давно было, зимой :)

Small_Bee
24.05.2012, 17:12
Может все-таки еще один метод ввести, который вызывается автоматически за одну минуту до конца миссии(и куда можно прописать выдачу результата)?
Думаю это возможно.

podvoxx
25.05.2012, 08:54
Думаю это возможно.

А еще может пригодится метод, возвращающий время до конца миссии(по командеру). В старичке вроде была аналогичная команда time в консоли.
Также пригодится метод возвращающий длительность миссии, установленную в командере

podvoxx
25.05.2012, 23:31
Small_Bee, есть замечание по поводу расположения папки командера с миссиями.
Полный редактор не видит папки выше по уровню, чем папка missions(та, что игровая). Т.е. в полном редакторе нельзя отредактировать миссии из папки командера, это очень неудобно - приходится их перемещать туда-сюда.

Small_Bee
26.05.2012, 00:43
Сделал небольшой UPD первого сообщения - файл с небольшим, но важным исправлением.


Small_Bee, есть замечание по поводу расположения папки командера с миссиями.
Полный редактор не видит папки выше по уровню, чем папка missions(та, что игровая). Т.е. в полном редакторе нельзя отредактировать миссии из папки командера, это очень неудобно - приходится их перемещать туда-сюда.
Да, будет несколько иной формат, эта проблема решится.

podvoxx
26.05.2012, 11:47
Вчера тестировал новую миссию на командере - в ротаторе что-то странное творилось. Миссия снятая с ротация все равно в нее включалась(сама меняла значок), хотя я сохранял настройки. Также, если вырезать файл миссии из папки командера и вставить его потом обратно - он принимает ее за новую и просит создать для нее скрипт, хотя скрипт уже настроен и только что работал

Small_Bee
26.05.2012, 12:16
Вчера тестировал новую миссию на командере - в ротаторе что-то странное творилось. Миссия снятая с ротация все равно в нее включалась(сама меняла значок), хотя я сохранял настройки. Также, если вырезать файл миссии из папки командера и вставить его потом обратно - он принимает ее за новую и просит создать для нее скрипт, хотя скрипт уже настроен и только что работал

Давай определимся с терминологией - скрипт или настройки? Скрипт создать никогда не просит - настройки - да, т.к. они хранятся непосредственно в файле миссии.

podvoxx
26.05.2012, 12:23
Давай определимся с терминологией - скрипт или настройки? Скрипт создать никогда не просит - настройки - да, т.к. они хранятся непосредственно в файле миссии.
Кажется настройки. Наверное от того, что время в миссии менял.

Small_Bee
26.05.2012, 14:25
Ошибку с запуском исключенной миссии поправил, вечером будет public beta 1.1. Погорячился.

podvoxx
28.05.2012, 14:39
Вопрос по методам локализации и хранилищу. Они будут работать только в командере или можно будет подключить к любому скрипту как dll?
Просто в первом случае будет работать только для выделенного, во втором - во всех режимах игры(только в карьере не проверял). Я сделал для себя пока две сборки - для сообщений и для хранилища, очень удобно и быстро тестировать - сначала в сингле, потом на сервере из игры и потом уже на выделенном(окончательная проверка). Ну и в кампаниях и в других миссиях можно использовать.

Small_Bee
28.05.2012, 15:06
Вопрос по методам локализации и хранилищу. Они будут работать только в командере или можно будет подключить к любому скрипту как dll?
Просто в первом случае будет работать только для выделенного, во втором - во всех режимах игры(только в карьере не проверял). Я сделал для себя пока две сборки - для сообщений и для хранилища, очень удобно и быстро тестировать - сначала в сингле, потом на сервере из игры и потом уже на выделенном(окончательная проверка). Ну и в кампаниях и в других миссиях можно использовать.
Теоретически ограничений нет, но я бы крайне не рекомендовал запуск миссий коммандера без коммандера. Это дело я никак не тестировал, и скорее всего и не буду, равно как и поддерживать такую возможность. Чем дальше, тем теснее коммандер будет интегрироваться с миссией, и рисовать кучу вилок чревато. Он в принципе предназначен для выделенного сервера, и другого назначения у него нет и не будет.
Общий локалайзер точно работать не будет, не будет работать ротация и ограничение миссии по времени, все пути придется искать самостоятельно и т.д. и т.п.

podvoxx
28.05.2012, 22:03
Теоретически ограничений нет, но я бы крайне не рекомендовал запуск миссий коммандера без коммандера. Это дело я никак не тестировал, и скорее всего и не буду, равно как и поддерживать такую возможность. Чем дальше, тем теснее коммандер будет интегрироваться с миссией, и рисовать кучу вилок чревато. Он в принципе предназначен для выделенного сервера, и другого назначения у него нет и не будет.
Общий локалайзер точно работать не будет, не будет работать ротация и ограничение миссии по времени, все пути придется искать самостоятельно и т.д. и т.п.

Ок, можно тогда использовать свою сборку локалайзера и хранилище на репке, чтобы не заморачиваться с отдельной копией для выделенного(хочется все-таки универсальности в разных режимах игры, да и тестировать на выделенном я запарюсь - внешнего IP к тому же нет)? Тогда просто пути поменяю и наследование изменю, этого должно быть достаточно. Если будут проблемы - пустим через командер тогда и локализацию, и хранилище.
Миссия почти готова, осталось протестировать на выделенном.

golloper
05.08.2012, 18:43
Скажите плиз,сам коммандер обновлялся с релиза или только доп про статистику(пока не интересует). Чёта полсле отпуска не втыкаю

Small_Bee
05.08.2012, 23:10
1.1 рядом лежит.
На днях будет след бетка, с исправленными ошибками и небольшими изменениями. Большие будут вместе со статой.

podvoxx
06.08.2012, 08:34
1.1 рядом лежит.
На днях будет след бетка, с исправленными ошибками и небольшими изменениями. Большие будут вместе со статой.

Ждем и потираем руки :)

golloper
06.08.2012, 12:31
1.1 рядом лежит.
На днях будет след бетка, с исправленными ошибками и небольшими изменениями. Большие будут вместе со статой.
Спасибо,подождём:thx:

podvoxx
11.08.2012, 00:34
Ситуация такая получается. Пробовал запускать миссию на своем компьютере с версией командера 1.1, время миссии - 0. Все работает отлично. При победе обеих сторон миссия корректно перезагружается(ждал несколько перезагрузок). Ошибок нет.
Та же миссия на Р1, версия командера также 1.1. Все кроме настроек убрано из папки командера и заменено на версию 1.1.
Могут настройки мешать ротации?

Small_Bee , не ты случайно подключился к удаленному раб. столу Р1? Меня выкинуло на самом интересном месте :)

Small_Bee
11.08.2012, 00:48
Ситуация такая получается. Пробовал запускать миссию на своем компьютере с версией командера 1.1, время миссии - 0. Все работает отлично. При победе обеих сторон миссия корректно перезагружается(ждал несколько перезагрузок). Ошибок нет.
Та же миссия на Р1, версия командера также 1.1. Все кроме настроек убрано из папки командера и заменено на версию 1.1.
Могут настройки мешать ротации?

Small_Bee , не ты случайно подключился к удаленному раб. столу Р1? Меня выкинуло на самом интересном месте :)

Не, не я.
С ошибкой как раз разбираюсь, но на своей машине - она зараза нестабильно вылезает - 1 из 10 примерно проходов.
Версии на репках могут отличаться от публичных - там они постоянно дорисовываются, правятся и т.д, так что могут отличаться. Настройки на ротацию не влияют - для ротатора настройки исключительно из инишника берутся.

Zed4ever
11.08.2012, 00:51
Small_Bee , не ты случайно подключился к удаленному раб. столу Р1? Меня выкинуло на самом интересном месте :)
:ups:

BigREPA
11.08.2012, 19:04
Доступ у нас, четверых... но я захожу только днем, надо какую табличку уже вешать на дверь - Занято:)

andersbravers
16.08.2012, 11:32
Простите, а новая бетка редактора не вышла еще?

Small_Bee
16.08.2012, 11:33
Простите, а новая бетка редактора не вышла еще?
Юзаем 1.1
Исправленная 1.2 будет на днях.

andersbravers
16.08.2012, 13:40
Спасибо!

Nezu
08.07.2013, 16:54
Только сейчас проюзал, эту полезную весчь! Лучше поздно, чем никогда...Надеюсь, что еще не совсем поздно...Поэтому вопрос...Где можно ознакомиться со списком возможных параметров запуска( имя сервера, пароль...и т.д.) , и команд? Спасибо.

Small_Bee
08.07.2013, 18:17
Команды сервера можно глянуть по аналогии со старичком - там многое осталось неизменным - Wiki (http://wiki.sukhoi.ru/index.php?title=%D0%98%D0%BB-2_%D0%A8%D1%82%D1%83%D1%80%D0%BC%D0%BE%D0%B2%D0%B8%D0%BA:_%D0%97%D0%B0%D0%B1%D1%8B%D1%82%D1%8B%D0%B5_%D1%81%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F._Dedicated_Server#.D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D1.8B_.D0.BA.D0.BE.D0.BD.D1.81.D0.BE.D0.BB.D0.B8)

Пароль задается через параметры запуска - PWD <password> (в коммандере это задается в настройках - базовые - параметры запуска, после -server)
Имя сервера и описание - в confs.ini

Полный список доступных команд - в консоль отправить help

Только юзать лучше 1.2 версию из соседней темы.

Nezu
10.07.2013, 00:17
Спасибо! Получилось запустить только первый пока без проблем. 1.2.4 запускает, но я торопился, и пока не разобрался как там миссию вставить, что б ее командер увидел. Там инфа в ветке есть полная, просто времени не было разобраться... А 1.2.5 не запускается, пишет "сервер возвратил ссылку". Пока с первым летаем...проблем не было...миссия простая...Спасибо еще раз. Буду вникать.