AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моды для Ил-2 > Баллада об оружии

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

можно...да и раньше можно было собсна вроде как..
а что за обстоятельства то?
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 15.08.2009, 14:01   #42
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

тэкс....посмотрел код, все отлично, спс!

думаю реально надо делать через ету проверку. ибо она рбаотает почти для всех самолетов, кроме некоторых таки как корсар, вилдкет,лайтинг ну и т.п.
в общем для них просто пропишу исключения
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 18.08.2009, 01:46   #43
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

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

Последний раз редактировалось ZloyPetrushkO; 18.08.2009 в 02:46.
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 18.08.2009, 13:37   #44
SJack
Местный
 
Регистрация: 27.12.2007
Адрес: Харьков
Сообщений: 250
Отправить сообщение для SJack с помощью ICQ Отправить сообщение для SJack с помощью Skype™
По умолчанию

Цитата:
Сообщение от ZloyPetrushkO Посмотреть сообщение
пока не удается в классе конролс в методе апдейт сделать так, чтобы в нужных условиях не происходил сброс бомбы, а всего лишь перешагивалось на следующую бомбу(чтобы бомба осталась висеть в самолете и при посадке рванула как и положено)
мозг чето совсем не варит...буду еще пробовать...
хотелось бы канешно-но можно по старинке, просто в бомболюке...
Ну по идее надо добавить с класс переменную, которая будет хранить индекс текущего сброса, и увеличивать ее при каждом вызове кода сброса, независимо от того, был ли он успешным. И использовать при сбросе именно эту переменную, а не определять перебором слотов первый занятый слот.
Вот только насчет реализма не уверен. Насколько я понимаю, бомба скорее всего все равно вывалилась бы из бомболюка при выходе из пикирования - это раз. Ну а если даже и нет - то с чего бы ей рвануть при посадке, вентилятор-то предохранительный на ней останется, а с ним рванет она разве что случайно.
SJack вне форума   Ответить с цитированием
Старый 19.08.2009, 00:42   #45
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от SJack Посмотреть сообщение
Ну по идее надо добавить с класс переменную, которая будет хранить индекс текущего сброса, и увеличивать ее при каждом вызове кода сброса, независимо от того, был ли он успешным. И использовать при сбросе именно эту переменную, а не определять перебором слотов первый занятый слот.
Вот только насчет реализма не уверен. Насколько я понимаю, бомба скорее всего все равно вывалилась бы из бомболюка при выходе из пикирования - это раз. Ну а если даже и нет - то с чего бы ей рвануть при посадке, вентилятор-то предохранительный на ней останется, а с ним рванет она разве что случайно.
да я вот тоже сомневаюсь в реализме-рано или поздно она ведь там выпадала\ее выбрасывали....да и не хочеться редактировать еще 1н класс-контролся....он в др модах используеться часто....

в общем за недостатком времени-просто модернизирую свой старый мод на бомбы.

а еще сча работаю с парметром setReadyness - чтобы симулировать пробитие винта. сбросил с истра с подфюзюляжного держателя-бац бомба в винт и все, мотор не тянет

там же как я понимаю надо добавить что то типа строчки setReadyness = Х.Х?
или технически намного сложнее сделать чтобы связать подобным образом классы бомбс и мотор?
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 19.08.2009, 01:02   #46
SJack
Местный
 
Регистрация: 27.12.2007
Адрес: Харьков
Сообщений: 250
Отправить сообщение для SJack с помощью ICQ Отправить сообщение для SJack с помощью Skype™
По умолчанию

Ну из класса FlightModelMain крафта игрока надо вызвать EI.engines[0].setReadyness(actor, fReadyness) где fReadyness - степень нетянутия . Сложно или нет зависит от того, есть ли в твоём классе доступ к ФМ игрока. Если из класса Controls, то теоретически (не проверял) вызов должен выглядеть так:
FM.EI.engines[0].setReadyness(FM.actor, fReadyness);
SJack вне форума   Ответить с цитированием
Старый 19.08.2009, 01:04   #47
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

а через Motor.doSetReadyness( f) низя?(работаю через класс Bomb)
я просто непрограммер, до книжки еще недобрался и не могу понять что значит " non static method connot referndet from static contxt"
вернее более менее понятно. они же вроде оба void идут...ищу как ето лечить....

Последний раз редактировалось ZloyPetrushkO; 19.08.2009 в 01:12.
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 19.08.2009, 03:59   #48
SJack
Местный
 
Регистрация: 27.12.2007
Адрес: Харьков
Сообщений: 250
Отправить сообщение для SJack с помощью ICQ Отправить сообщение для SJack с помощью Skype™
По умолчанию

Цитата:
Сообщение от ZloyPetrushkO Посмотреть сообщение
а через Motor.doSetReadyness( f) низя?(работаю через класс Bomb)
я просто непрограммер, до книжки еще недобрался и не могу понять что значит " non static method connot referndet from static contxt"
вернее более менее понятно. они же вроде оба void идут...ищу как ето лечить....
Это означает что ты вызываешь нестатический метод из статического. Так делать нельзя, т.к. нестатический метод привязан к экземпляру класса, а статический "существует сам по себе", т.е. может работать и тогда, когда ни одного экземпляра класса не существует. Т.е. если ты работаешь с методом, имеющим модификатор static, то для вызова методов класса ты не можешь пользоваться неявным this (когда ты изнутри класса вызываешь его метод вызовом someMethod, на самом деле происходит вызов this.someMethod).
Из класса Bomb можно сломать игроку двигатель например так: World.getPlayerFM().EI.engines[0].setReadyness(getOwner(), fReadyness);
Тока ты уж не забудь удостовериться, что бомбу игрок бросает (getOwner() == World.getPlayerAircraft()), а то бомбу уронит бот, а двигатель игроку хряпнут
SJack вне форума   Ответить с цитированием
Старый 19.08.2009, 15:51   #49
Karabas-Barabas
Местный
 
Регистрация: 08.02.2009
Сообщений: 2,078
Отправить сообщение для Karabas-Barabas с помощью ICQ
По умолчанию

Цитата:
Сообщение от ZloyPetrushkO Посмотреть сообщение
да я вот тоже сомневаюсь в реализме-рано или поздно она ведь там выпадала\ее выбрасывали...
Ну так если нельзя реализовать "выпадание потом", то может лучше сделать сразу по сбросу исчезновение в никуда для бомберов и поломку винта для истребителей, так же с исчезновением самой бомбы?
Karabas-Barabas вне форума   Ответить с цитированием
Старый 19.08.2009, 23:08   #50
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от SJack Посмотреть сообщение
Это означает что ты вызываешь нестатический метод из статического. Так делать нельзя, т.к. нестатический метод привязан к экземпляру класса, а статический "существует сам по себе", т.е. может работать и тогда, когда ни одного экземпляра класса не существует. Т.е. если ты работаешь с методом, имеющим модификатор static, то для вызова методов класса ты не можешь пользоваться неявным this (когда ты изнутри класса вызываешь его метод вызовом someMethod, на самом деле происходит вызов this.someMethod).
Из класса Bomb можно сломать игроку двигатель например так: World.getPlayerFM().EI.engines[0].setReadyness(getOwner(), fReadyness);
Тока ты уж не забудь удостовериться, что бомбу игрок бросает (getOwner() == World.getPlayerAircraft()), а то бомбу уронит бот, а двигатель игроку хряпнут
да вроде они все имеют модификаторы воид...ну да ладно...тут прост у меня руки из одного места растут...

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

а способ твой работает отлично, спс, уже опробовал. весело



Цитата:
Сообщение от Karabas-Barabas Посмотреть сообщение
Ну так если нельзя реализовать "выпадание потом", то может лучше сделать сразу по сбросу исчезновение в никуда для бомберов и поломку винта для истребителей, так же с исчезновением самой бомбы?

зачем так именно так ?
для всех внешних подвесок-бомба падает но ломает с какойто вероятностью двигатель\винт
для всех внутренних- бомба никуда не летит при етом, визуально бомба остаеться внутри но при посадке просто не детонирует так как нормальные бомбы(то ли экипаж обезвредил,то ли таки вытолкнули\выпала...).ну и соотвественно исключения. вот такой я вариант делаю...
-----
зы: можно сделать запрет на сброс бомбы в пике. ее можно будет сбросить выйди из пике. но для етого надо изменять класс controls, а он часто используеться. поетому мод будет просто очень конфликтным
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 26.08.2009, 00:30   #51
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

Sjack подскажи плз а обязательно ли организовывать циклы(как в классе контролс) чтобы юзать строчку
String hookName = FM.CT.Weapons[k][l].getHookName();
просто ведь оружие у нас всегда бомбы( а ето к = 3) а переменную l можно обновлять в конце метода....

ЗЫ: еще параллельна копаю классы с самолетами и оружием завязанные, там тоже должна быть аналогичная по функциональности строчка
.
----
и ето, тут товарищи с spsialaircraftservice спрашивали мод, который позволяет сбрасывать бомбы по одной-мб ты дооформишь его?

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

чета я так подумал...иначал работать с классом BombGun - он походу стоит выше по иерархии....
и там уже есть проверка на вунтренний\наружный подвес.
и в нем же опять же удалось наладить без циклов команду gethookname... но наладить проверку на расположение не используя цикл пока не удаеться...=/

Последний раз редактировалось ZloyPetrushkO; 28.08.2009 в 17:29.
ZloyPetrushkO вне форума   Ответить с цитированием
Старый 28.08.2009, 17:43   #53
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

а если быть совсем точным- то редактирую метод protected void interpolateStep()

йес! получилось без циклов

String hookName = getHookName();

Aircraft craft = ((Aircraft)actor);
HierMesh mesh = craft.hierMesh();


int chunkIndex = mesh.hookParentChunk(hookName);
mesh.setCurChunk(chunkIndex);
String chunkName = mesh.chunkName();

и в етом методе выводит все что нужно для счастья

Последний раз редактировалось ZloyPetrushkO; 28.08.2009 в 17:51.
ZloyPetrushkO вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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