AviaSkins.Forums

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

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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.08.2009, 00:55   #11
SJack
Местный
 
Регистрация: 27.12.2007
Адрес: Харьков
Сообщений: 250
Отправить сообщение для SJack с помощью ICQ Отправить сообщение для SJack с помощью Skype™
По умолчанию

Цитата:
Сообщение от ZloyPetrushkO Посмотреть сообщение
по человечкам- я уже увы не успеваю( сча буду бомбо мод делать...
а вот с обращением к файлу миссии. там етсь одна трабла. у кораблей там же немного не так-он сначала считает а потом гдето хранит. по артиллерии такой штуки нету, писать достаточно много. соотвественно, он будет каждый раз обращаться к текстовому файлу. а если еще и делать проверку на то назначил ли пользователь( а соотвественно надо еще проверку чтоб пользователь правильно назначил!!)...
разве ето небудет тормозить?
Короче, не парься лучше. Это тебе копать долго и нудно, лучше займись настройкой коэффициентов, если настроите отдельно коэффициенты для разных уровней сложности зены - вообще зашибись будет, ну это если не сложно, конечно. А привязкой настроек этого добра к файлу миссии я могу заняться, уж как-нибудь сделаю, чтоб не тормозило .
По поводу завязки вероятности на время. У тебя же есть код
(rangerandom.nextDouble(0.0D, 10D) < d2)
Плюс, ты все равно каждый такт считаешь разницу (Time.current() < tmAAAScared + какаято константа). Поэтому особого зла не будет, если ты заведешь в классе еще одну переменную timePrevious = Time.current(), обновляемую в конце targetGun, и в свою формулу рассчета вероятности добавишь учет разности (Time.current() - timePrevious), чтобы чем больше была разность - тем больше была вероятность. Это - решение с минимальными изменениями твоего кода.
Но, вообще - я б предложил несколько поменять логику работы. Идея в том, чтобы:
1. Каждый такт делать все твои проверки на подавление (без всякой вероятности):
- Если они прошли успешно - установить переменную timeStartSuppression = Time.current()
- Если они не прошли - сбросить эту переменную (timeStartSuppression = 0).
2. А дальше - работаешь сугубо с этой timeStartSuppression. Можно (да наверное, и нужно) даже не в targetGun с ней работать, а в Interpolate.tick(). И работать очень просто - грубо, задать максимальное время подавления timeSuppressionMax и минимально возможное время подавления timeSuppressionMin и написать примерно такое:
if (world.rnd().nextDouble(1,timeSuppressionMax/timeSuppressionMin)*(time.Current() - timeStartSuppression) > timeSuppressionMax )
{
//Установить подавленный режим
}
Формула конечно приблизительная, по ней время подавления гарантированно не превысит timeSuppressionMax и гарантированно не будет меньше чем timeSuppressionMin. Коэффициенты можно задавать в зависимости от уровня зены. ИМХО, такой режим с точки зрения геймплея - лучше (чтобы фичей пользоваться, она должна быть предсказуемой, никто не захочет "подавлять" зены, если нет гарантии, что они вообще подавятся - ну а так ты хоть знать будешь, что если секунд 5 выдержишь полет в лоб зене - она заткнется).
Ну это моё имхо, не хочешь - оставляй как есть, конечно.
А человечеки на мне, копаю в этом направлении. Плюс я проверю, как оно все по сети передаётся, и если чего там вылезет - пофикшу.
SJack вне форума   Ответить с цитированием
 


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

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

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

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

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


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


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