AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моды для Ил-2 > "МОДный" ON-LINE.

Важная информация

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.11.2009, 22:20   #1
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от LePage Посмотреть сообщение
надо тока найти.
это ключевое...я ща попутно ковыряюсь в моде на остановку танков...
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 05.11.2009, 22:46   #2
JGr124_boRada
Местный
 
Регистрация: 19.02.2009
Сообщений: 450
По умолчанию

Цитата:
Сообщение от ZloyPetrushkO Посмотреть сообщение
это ключевое...я ща попутно ковыряюсь в моде на остановку танков...
По моему берется последнее значение переменной позишен, там есть какой-то шаг обсчета. Шаг зависит от скорости.
JGr124_boRada вне форума   Ответить с цитированием
Старый 05.11.2009, 22:21   #3
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

Цитата:
Сообщение от JGr124_boRada Посмотреть сообщение
П
2. Проблема с поездами
МГ сделал ЖД с одной веткой и без стрелок. В итоге если поезда идут в встречном направлении, то они сталкиваются и ессно повреждаются.
нельзя ли исключить повреждение при столкновении вагон с вагоном? Ведь тот же поезд, если изменить ему направление, проходит сам через себя, вагон за вагоном, безболезненно. Добавить только чтоб с любым вагоном так было, а не только со своим.
Тебе нужен Wagon.java Ищи там msgCollisionRequest, как я понял эта функция отвечает за возможность столкновения вагона с другим объектом.
Там есть строки
Код:
00342         if(actor instanceof BridgeSegment)
00343         {
00344             aflag[0] = false;
00345             return;
00346         } else
00347         {
00348             return;
00349         }
Короче, тебе нужна 342 строка этого файла.
Меняешь ее на
Код:
if(actor instanceof BridgeSegment) && (actor instanceof Wagon)
По идее вагон с вагоном больше не столкнется, локомотив (как я понял) тоже считается вагоном.

По аналогии, наверное, и с короблями
Sexton вне форума   Ответить с цитированием
Старый 15.11.2009, 18:45   #4
JGr124_boRada
Местный
 
Регистрация: 19.02.2009
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Sexton Посмотреть сообщение
Тебе нужен Wagon.java Ищи там msgCollisionRequest, как я понял эта функция отвечает за возможность столкновения вагона с другим объектом.
Там есть строки
Код:
00342         if(actor instanceof BridgeSegment)
00343         {
00344             aflag[0] = false;
00345             return;
00346         } else
00347         {
00348             return;
00349         }
Короче, тебе нужна 342 строка этого файла.
Меняешь ее на
Код:
if(actor instanceof BridgeSegment) && (actor instanceof Wagon)
По идее вагон с вагоном больше не столкнется, локомотив (как я понял) тоже считается вагоном.

По аналогии, наверное, и с короблями
А вот у меня другие строчки.
Код:
    public void msgCollisionRequest(Actor actor, boolean[] bools) {
	if (actor instanceof Wagon) {
	    Actor actor_8_ = getOwner();
	    Actor actor_9_ = actor.getOwner();
	    if (actor_8_ == actor_9_)
		bools[0] = false;
	    else if (((Train) actor_8_).stoppedForever()
		     && ((Train) actor_9_).stoppedForever())
		bools[0] = false;
	} else if (((Train) getOwner()).stoppedForever()
		   && actor instanceof ActorMesh
		   && ((ActorMesh) actor).isStaticPos())
	    bools[0] = false;
	else if (actor instanceof BridgeSegment)
	    bools[0] = false;
    }

Последний раз редактировалось JGr124_boRada; 15.11.2009 в 18:51.
JGr124_boRada вне форума   Ответить с цитированием
Старый 05.11.2009, 22:32   #5
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

По кораблям.
Класс BigshipGeneric.java
Тоже функция msgCollisionRequest
Код:
01231         if(actor instanceof BridgeSegment)
01232         {
01233             if(dying != 0)
01234                 aflag[0] = false;
01235             return;
01236         }
после 1236 строки добавляешь

Код:
else
{
if(actor instanceof BigShipGeneric) && (actor instanceof ShipGeneric)
{
aflag[0] = false;
return;
}
}
ТОже проделываешь в классе ShipGeneric
Sexton вне форума   Ответить с цитированием
Старый 05.11.2009, 22:42   #6
JGr124_boRada
Местный
 
Регистрация: 19.02.2009
Сообщений: 450
По умолчанию

Ок, спасибо.
JGr124_boRada вне форума   Ответить с цитированием
Старый 05.11.2009, 23:07   #7
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

F что касается создания АПИ для внешнего "генерала", то за основу можно взять код devicelink - там уже реализован код обмена данными с внешней программой. Придумать формат сообщений, которыми будут обмениваться ил и "генерал".
Ну и самое сложное - дистрибьюция этих сообщений по иловским объектам и организация их реакции на сообщения. D Иле уже есть класс Message - можно попытаться его наследовать и вклиниться в существующюю цепочку передачи сообщений.
Sexton вне форума   Ответить с цитированием
Старый 07.11.2009, 01:43   #8
LePage
Местный
 
Регистрация: 15.06.2009
Сообщений: 114
По умолчанию

Цитата:
Сообщение от Sexton Посмотреть сообщение
F что касается создания АПИ для внешнего "генерала", то за основу можно взять код devicelink - там уже реализован код обмена данными с внешней программой. Придумать формат сообщений, которыми будут обмениваться ил и "генерал".
Ну и самое сложное - дистрибьюция этих сообщений по иловским объектам и организация их реакции на сообщения. D Иле уже есть класс Message - можно попытаться его наследовать и вклиниться в существующюю цепочку передачи сообщений.

devicelink, конечно, хорошо...
Но одолевают сомнения. В плане «безопасности». Мод то предполагается серверный. А использование такой фичи, как связь с внешним управлением, на клиенте, чисто теоретически может дать ему некоторые дополнительные возможности, в плане изменения геймплея «лично для себя».

может через консоль - по старинке, или еще одну завести?

з/ы/ Кроме того, devicelink, кажется UDP? Не исключена вероятность что генерал отдаст команду, а сервер пропустит ее мимо ушей. Или наоборот.
Лучше будет отдельный потоковый сокет.

Последний раз редактировалось LePage; 07.11.2009 в 01:54.
LePage вне форума   Ответить с цитированием
Старый 07.11.2009, 01:52   #9
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от LePage Посмотреть сообщение
devicelink, конечно, хорошо...
Но одолевают сомнения. В плане «безопасности». Мод то предполагается серверный. А использование такой фичи, как связь с внешним управлением, на клиенте, чисто теоретически может дать ему некоторые дополнительные возможности, в плане изменения геймплея «лично для себя».

может через консоль - по старинке, или еще одну завести?
тут уж надо смотреть сначала что получиться...
я то пока сорри немного не тем занимаюсь, атмосферный мод дотачиваю...
а что такое devicelink если не секрет?
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 07.11.2009, 11:52   #10
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

Цитата:
Сообщение от LePage Посмотреть сообщение
devicelink, конечно, хорошо...
Но одолевают сомнения. В плане «безопасности». Мод то предполагается серверный. А использование такой фичи, как связь с внешним управлением, на клиенте, чисто теоретически может дать ему некоторые дополнительные возможности, в плане изменения геймплея «лично для себя».

может через консоль - по старинке, или еще одну завести?

з/ы/ Кроме того, devicelink, кажется UDP? Не исключена вероятность что генерал отдаст команду, а сервер пропустит ее мимо ушей. Или наоборот.
Лучше будет отдельный потоковый сокет.
Шанс, что сервер пропустить команду мимо ушей - никакого.
В плане безопасности - в devicelink'е уже есть код, который отключает его при сетевой игре. Почему бы его не задействовать?
Sexton вне форума   Ответить с цитированием
Старый 06.11.2009, 09:41   #11
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

Нашел место в коде, где колонна упирается в разрушенный мост и встает намертво.
Класс ChiefGround.java
Функция moveChiefPacked

Код:
01046             if(cantEnterIntoSegmentPacked_checkComplete(chiefSeg + 1))
01047             {
01048                 chiefAlong = roadsegment.length2D;
01049                 d = 0.0D;
01050                 break;
Если следующий сегмент дороги не проходим (а это происходит, если след. сегмент проходит по разрушенному мосту), то пройденное за тик расстояние просто ставят равное 0. В это место кода нужно добавлять запрос на новый маршрут.
Sexton вне форума   Ответить с цитированием
Старый 06.11.2009, 09:48   #12
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

Кстати есть класс ChiefManager, в нем нет кода, но он создается в классе World

Сам ОМ велел реализовать в нем управление колоннами
Sexton вне форума   Ответить с цитированием
Старый 07.11.2009, 01:58   #13
LePage
Местный
 
Регистрация: 15.06.2009
Сообщений: 114
По умолчанию

Насколько помню - это интерфейс для связи с внешними устройствами - на его базе делают устройства, типа кокпитов, со всякими, почти настоящими приборами - в общем тренажеры. Ну и используют проги, типа UDPGraf, триммер и подобные.
LePage вне форума   Ответить с цитированием
Старый 07.11.2009, 13:26   #14
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

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


а вообще нашел в классе например ShipGeneric метод
private void LoadPath(SectFile sectfile, String s) {
ну он есть почти везде. очевидно, что он и прогружает путь(разбивает на сегменты и т.п.). найти бы что его вызывает( в каком месте) и куда передаються ети данные. думаю ето то что нужно...копаю в общем дальше тут
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 07.11.2009, 14:03   #15
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

Сделай doxygen'ом документацию с диаграммами dot с CALL_GRAPH, CALLER_GRAPH - будет тебе красивые диаграммы кто кого вызывает (правда прога работать будет полдня )

LoadPath есть только в ShipGeneric и Ship, вызывается конструктором (это я про оригинальный ил)

ДА! Не забудь в доки еще исходники добавить - разбираться будет куда проще.
Sexton вне форума   Ответить с цитированием
Старый 07.11.2009, 16:41   #16
LePage
Местный
 
Регистрация: 15.06.2009
Сообщений: 114
По умолчанию

Цитата:
Сообщение от Sexton Посмотреть сообщение
Сделай doxygen'ом документацию с диаграммами dot с CALL_GRAPH, CALLER_GRAPH - будет тебе красивые диаграммы кто кого вызывает (правда прога работать будет полдня )

Поподробнее про doxigen, плз... И не пинайте, тока вчера первый класс декомпилил....

Или сцылочку на рукоблудство.... по русски.
LePage вне форума   Ответить с цитированием
Старый 07.11.2009, 17:22   #17
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

Цитата:
Сообщение от LePage Посмотреть сообщение
Поподробнее про doxigen, плз... И не пинайте, тока вчера первый класс декомпилил....

Или сцылочку на рукоблудство.... по русски.
Качаешь doxygen http://www.stack.nl/~dimitri/doxygen/
Качаешь GraphViz http://www.graphviz.org/
Ставишь
Берешь из приложения файлы для doxygen для создания документации по классам Ила. Только поменяй пути.

doxygen_wc - доки с исходниками
doxygen_wd - доки с исходниками и диаграммами (будь готов к тому, что создаваться они будут несколько часов )
Вложения
Тип файла: rar com.rar (52.1 Кб, 245 просмотров)
Sexton вне форума   Ответить с цитированием
Старый 07.11.2009, 17:31   #18
LePage
Местный
 
Регистрация: 15.06.2009
Сообщений: 114
По умолчанию

Цитата:
Сообщение от Sexton Посмотреть сообщение
Качаешь doxygen http://www.stack.nl/~dimitri/doxygen/
Качаешь GraphViz http://www.graphviz.org/
Ставишь
Берешь из приложения файлы для doxygen для создания документации по классам Ила. Только поменяй пути.

doxygen_wc - доки с исходниками
doxygen_wd - доки с исходниками и диаграммами (будь готов к тому, что создаваться они будут несколько часов )
Огромное мерси!!!!!
LePage вне форума   Ответить с цитированием
Старый 07.11.2009, 15:31   #19
Sexton
Администратор
 
Аватар для Sexton
 
Регистрация: 28.02.2007
Адрес: Выборг
Сообщений: 1,154
По умолчанию

Цитата:
Сообщение от JGr124_boRada Посмотреть сообщение
1. Проблема с ботами после посадки
Боты после посадки заруливают на плошадки и бросают самолеты и уходят по бабам, а самолеты стоят там бесконечно. ...
Теперь боты исчезают через 1 секунду.
Тестировалось только в оффлайне. Я не знаю, что нужно чтоб оно заработало в онлайне - возможно ничего больше и не надо = просто достаточно наличия этого мода у юзера.

Если что - могу сказать где что править
Вложения
Тип файла: rar SX_DeleteLandedBots.rar (5.4 Кб, 327 просмотров)
Sexton вне форума   Ответить с цитированием
Старый 07.11.2009, 16:25   #20
JGr124_boRada
Местный
 
Регистрация: 19.02.2009
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Sexton Посмотреть сообщение
Теперь боты исчезают через 1 секунду.
Тестировалось только в оффлайне. Я не знаю, что нужно чтоб оно заработало в онлайне - возможно ничего больше и не надо = просто достаточно наличия этого мода у юзера.

Если что - могу сказать где что править
О! Конечно скажи! Мне же надо с модом Зути чтоб работало. У него то наверно этот класс использован уже.
JGr124_boRada вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:42. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Рейтинг@Mail.ru