Триггер можно делать больше, расчёт ролла, высоты и т.п идёт в точке ближайшей к его центру.
Вид для печати
Триггер можно делать больше, расчёт ролла, высоты и т.п идёт в точке ближайшей к его центру.
А что это за тики ? http://gn.ucoz.ua/im/osnova/scratch_head.gif
:eek: - вот незадача, а я иного смысла не вижу(разнообразие особей - залог выживания вида):D.
naryv - как я понял вероятность не срабатывания триггера минимальна при проходе по диаметру окружности, а не по секущей и еще желательно с тангажом - чтобы увеличить время прохода(и вероятность попасть на "тик")).
Придется самому лезть.
---
Залез)
Вложение 160992
"[Trigger]
GateStart TPassThrough 0 29276 15536 90
Shikana1 TPassThrough 0 29300 15310 80
Shikana2 TPassThrough 0 29266 15201 80
Shikana3 TPassThrough 0 29300 15091 60
..."
увеличил диаметры триггеров первых трех ворот и сдвинул центры триггеров шикан ближе к пилонам - на полотнища.
Попробовал, пропусков нет:rolleyes:
Попробовал эти разгоны до флатера...
Да, результаты поприличнее получаются, но извращается сама идея слалома, получается бобслей какой-то :)
Я за ограничение скорости на отметке 300-320 км/ч (штраф 2 сек), больше 320- либо дисквалификация, либо штраф 4-6 сек.
З.Ы. если порог поднимать выше, то тогда следует вводить, как в реальных гонках, ограничение по перегрузкам, залез за 12G- дисквалификация
И что мешает?
И что не мешает в реале пилотам входить на 370?
На какой скорости флаттер?
---
Эта (370) скорость держится до первого маневра, больше 8 перегрузка не получалась пока.
Если мы дорастем до чемпионатов - то с правилами щадящими нежную психику участников останемся на уровне междусобойчиков.
при бобслее ;) получается выигрыш 2-3 сек, т.е. он нивелирует оптимальное прохождение ворот.
у меня экран темнеет при перекладке из одной змейки в другую.
Как замерить величину перегрузки?
http://forum.1cpublishing.eu/showthr...655#post479655
1.09.27 новый рекорд.
---
Не бобслей а проход стартовых ворот на реальной скорости.
Акселерометры - два нижних прибора по центру. Тот что перевернут - измеряет отрицательную перегрузку. Максимальные значения остаются показанными после достижения.
--- Добавлено ---
:D
Нет конечно. Стартовать можно в воздухе, на произвольной высоте и скорости.
На реальном шоу RB зрители не наблюдают взлета, комментаторы не его комментируют, а ТВ не транслирует. Каким боком это аркадно??
Меня как пилота и как зрителя меньше всего интересует взлет(и посадка), а вот вираж участника ко вторым шиканам после максимальной или умышленно сброшенной скорости на старте - очень даже.
На желтом спрошу конечно.
По ТВ, к стати, очень даже транслировали, канал 7ТВ. Ток канал этот щас почему-то не работает. :(
Вложение 161060
Русские не сдаюца)
----
Тим, я устал что-то доказывать, честно. Хотите летать медленно - в путь.
Летать не медленно, а с более приближённой скоростью лтх самолёта.
да, всё правильно. Триггер сейчас - это лишь сигнал о том, с какими воротами надо сравнивать, и что надо более внимательно смотреть на летящего, поэтому триггеры увеличивать можно (но в разумных пределах, если один на другой будет наползать, могут быть некорректно сработавшие триггеры).
ну ты монстр, я только к 1:10 с трудом подобрался.... При чем результат очень не стабилен
Мы просто думаем как сделать и зрелищно и динамично, и в то же время не распугать желающих погоняться.
З.Ы. ты когда скрины с результатом выкладываешь, еще и сообщай о вероятности попадания в такое время (например, 250 стартов, лучшее время 1:08:82, повторяемость- 1 раз из 250 попыток ;) )
ЛТХ самолетов RB
http://www.air-races.com/the-planes/
Максимальная скорость пикирования у Сушек - 450 км/ч (я знаю что в БоБе меньше))
Максимальная горизонтального полета у MXS - 388 км/ч http://www.mxaircraft.com/mxs-performance.php
Таким образом, средняя скорость горизонтального полета у всех 310-330, т.е. все входят в стартовые ворота на разгоне со снижения.
----------------
Крайнее время получилось где-то с 30-40 попытки. 50/50 или падаешь или меньшее время(стартовал в воздухе). На соревнованиях так конечно не получится - падать же нельзя категорически. Так что желающим погонять пугаться особо нечего.
Если турнир стримить по взрослому - падать как то не айс. В идеале - этапы параллельные официальным гонкам на идентичных трассах/правилах с 16ю максимум участниками. На квалификациях, за кадром, думаю можно и три попытки дать с возможностью упасть.
есть опыт проведения гонок в иле, так вот, 16 участников еще набрать надо... Обычно все сводилось к 6-8 максимум...
По совпадению дат... Сложно держать людей на низком старте в течение года. Обычно на 2-3 месяц народ расползается, остаются только самые упертые.
Как вариант, проводили так называемые "гоночные уикэнды", т.е. раз в неделю или через неделю (старт один раз в 2 недели). По договоренности между участниками.
Если наделать разных трасс в большом количестве, то можно сезонно это устраивать, т.е. весна- 4 трассы. перекур, лето- 4 трассы, перекур, и т.д. Хотя лето я бы вообще вычеркнул- мертвый сезон. Самый оптимал- осень (октябрь, ноябрь) и зима (либо декабрь первая половина, либо январь вторая половина и февраль), весна- полумертвый сезон, хотя март-апрель можно людей собрать
6-10 было бы идеально, меньшему количеству гораздо проще сойтись во времени. В 2010 году было 8 этапов, корову мы пока не проигрываем, вполне можно отлетать ~2 минуты х 8 раз = 16 минут в год:D
1.08.19
Вложение 161207
и это не предел:)
В чем то Вы правы:D:
http://www.youtube.com/watch?v=jTWfB...ature=youtu.be
Считаю необходимым добавить скрипт минимальной высоты по всей площади трассы, либо насыпать этих скриптов по области траекторий, мне кажется я низковато прохожу. Так же нужно выяснить(Тим) - произвольный ли тангаж в воротах с последующей петлей?
скрипт минимальной высоты есть, но он считает от центра самолета, по этому может показаться, что ходишь низко. Тангаж в воротах с последующей петлей не учитывается (насколько я знаю)
Вложение 161265
Трасса АбуДаби с увеличенными диаметрами триггеров стартовых ворот и первых шикан. Старт в воздухе.
----
Ded, минимальная высота считается только на триггерах ворот/шикан. То есть получается(как я думаю) что в момент отработки триггера он "начинает" отслеживать самолет и фиксирует параметры в точке траектории, ближайшей к центру триггера. При этом остальные точки траектории внутри диаметра триггера могут быть на любых высотах без последствий. Вне тириггеров можно летать сколь угодно низко. Это нужно править. В идеале - одним триггером диаметром на всю трассу.
naryv - помогите пожалуйста. Возможно ли одним триггером, или нужно их множество по траектории.
Вот что Рахманин ответил.
Вложение 161273
Из этого следует, что если брать натуральные правила и применить к Су-26, то максимальный предел скорости на Су-26 должен быть в 270 км. Тоесть, скорость в воротах должна быть ниже максималки в горизонте на 10% У сушки максималка в горизонте 310 значит ограничение в 300 км\ч вполне приемлимо. И ещё ограничить минимальную высоту в 10 м, это какраз половина пилона, ниже второй полосы на пилоне. Сейчас на всех картах стоит 6 м. Так что как-то так получается.
если надо смотреть минимальную высоту на всём протяжении полёта, то можно без триггеров обойтись, добавить в public override void OnTickGame() проверку, вот так:на всём протяжении полёта (после прохождения стартовых ворот) высота будет сравниваться с hMin, если ниже - дисквалификация.Код:public override void OnTickGame()
{
base.OnTickGame();
if (raceStart) // все проверки делаем если гонка начата
{
double curH = playerPlane.getParameter(part.ParameterTypes.Z_AltitudeMSL, -1) ; // проверка минимальной высоты полёта
if (curH < hMin)
{
GamePlay.gpHUDLogCenter(null, "Disqualification ! Height:{0} is too low", new object[] { curH.ToString("f1") }, 30);
InitRace();
return;
}
// дальше всё как было, начиная с double curSpeed = playerPlane.getParameter(part.ParameterTypes.Z_VelocityTAS, -1); // тут считаем среднюю и максимальную скорости
naryv спасибо! Мы академиев не кончали, где именно эта константа hMin в приведенном коде??
tim, спасибо Вам и Сергею! Если не получается аутентичной скорости входа, давайте хоть минимальную высоту реальную оставим. Пилоны(и полосы на них)) же стандартные.
tim, под реальной минимальной высотой я понимаю ту что ограничена на реальных гонках RB.)
----
Да, naryv, ясно(и эти люди критикуют кодеров БоБа:umora:)
Хочется отметить, что начиная с сезона 2010 года на соревнованиях не используются квадро ворота, что помогло Ханнесу выйти из сложнейшей ситуации, так как при использовании классических квадро ворот произошло бы столкновение с двумя пилонами.
naryv я что-то не нашёл где и в каком файле прописано время возрождения сбитого пилона. Подскажи пожалуйста.
Нижний предел высоты придётся снизить с 10 до 8 м, так как в игре, нижний край полосы на пилоне на уровне 8 м.
Вложение 161502 Вложение 161503
вот функция восстановления -120.0 после Timeout - это и есть время восстановления, в секундах.Код:public override void OnStationaryKilled(int missionNumber, GroundStationary _stationary, AiDamageInitiator initiator, int eventArgInt)
{
base.OnStationaryKilled(missionNumber, _stationary, initiator, eventArgInt);
penaltyTotal += penaltyCollision;
pilonsHit++;
GamePlay.gpLogServer(null, "Pilon hit, penalty:{0}", new object[] { penaltyTotal });
Timeout(120.0, () =>
{
ISectionFile sf = GamePlay.gpCreateSectionFile();
string section = "";
string key = "";
string value = "";
section = "Stationary";
key = "Static0";
switch (_stationary.Title)
{
case "Stationary#RacingSigns#RacingSign1":
value = "Stationary.RacingSigns.RacingSign1 nn";
break;
case "Stationary#RacingSigns#RacingSign2":
value = "Stationary.RacingSigns.RacingSign2 nn";
break;
case "Stationary#RacingSigns#RacingSign3":
value = "Stationary.RacingSigns.RacingSign3 nn";
break;
default: break;
}
value += " " + _stationary.pos.x.ToString(System.Globalization.CultureInfo.InvariantCulture.NumberFormat) + " " + _stationary.pos.y.ToString(System.Globalization.CultureInfo.InvariantCulture.NumberFormat) + " 0";
sf.add(section, key, value);
GamePlay.gpPostMissionLoad(sf);
_stationary.Destroy();
});
}
naryv, благодарю. :ok:
Доброго дня всем.
Вопрос такой. Вот смотрю я ролик (внизу должен появиться, если правильно сообщение создам) и не догоняю - почему у меня пламеньев из выхлопух нету, и дым по W не активируется. Что я делаю не так?
Спасибо.
http://www.youtube.com/watch?v=BCaF2WaMUzI
naryv, Можно ли дописать в скрипт штраф за превышение скорости во время старта, при прохождении стартовых ворот ? К примеру, от 300 до 310 км\ч штраф 2 сек, а выше 310 дисквалификация. В принципе, в правилах этот штраф предусмотрен. http://gn.ucoz.ua/im/osnova/scratch_head.gif
да, пожалуйста :
в описании переменных добавитьв проверке ворот (public void checkGatePassed() // проверка прохождения ворот) заменяем проверку прохождения стартовых ворот -Код:public class Mission : AMission
{
double penaltyH = 2.0; // пенальти(с) за пролёт выше границы
double penaltyRoll = 2.0; // пенальти(с) за пролёт с неправильным креном
double penaltySmoke = 2.0; // пенальти(с) за не включенный дым
double penaltyCollision = 6.0; // пенальти(с) за сбитый пилон
double penaltyAerobatics = 6.0; // пенальти(с) за не выполнение пилотажных эл-тов
double hPenaltyLimit = 20.0; // лимит высоты - выше - пенальти
double rollPenaltyLimit = 10.0; // лимит крена - выше - пенальти
double hMin = 8.0; // нижняя граница - ниже - дисквалификация
double hMax = 23.0; // верхняя граница - выше ворота не засчитываются
double startSpeedLimit = 300.0; // предельная скорость в стартовых воротах (км/ч) , выше - пенальти
double startSpeedLimitDisq = 310.0; // предельная скорость в стартовых воротах (км/ч) , выше - дисквалификация
double penaltySGSpeedLimit = 2.0; // пенальти(с) за превышение скорости в стартовых воротах
Код:if (gatesList[nextGate].type == GateType.startGate) // если это стартовые или финишные ворота - заполняем соответствующие переменные
{
double speed = playerPlane.getParameter(part.ParameterTypes.Z_VelocityTAS, -1) * 3.6;
if (speed > startSpeedLimitDisq) // если превысили скорость startSpeedLimitDisq - дисквалификация
{
GamePlay.gpHUDLogCenter(null, "Disqualification ! Start gate speed:{0} is too hi!", new object[] { (playerPlane.getParameter(part.ParameterTypes.Z_VelocityTAS, -1) * 3.6).ToString("f2") }, 30);
InitRace();
return;
}
if (speed > startSpeedLimit) // если превысили скорость - startSpeedLimit пенальти
{
GamePlay.gpLogServer(null, "Start Gate Speed Limitation penalty :{0}s, speed:{1}", new object[] { penaltySGSpeedLimit.ToString("f1"), speed.ToString("f1") });
penaltyTotal += penaltySGSpeedLimit;
penalty += penaltySGSpeedLimit;
}
startTime = triggerTime;
}
naryv http://gn.ucoz.ua/im/osnova/preved.gif Огромное спасибо !
Подправил все карты RB Abudabi, RB Interlaken, RB Istambul, RB San Diego, RB Windsor Ontario, RB Lausitz, RB New-York под новые параметры. Теперь превышение скорости в стартовых воротах от 300 до 310 км\ч штрафуется двумя секундами, а свыше 310 дисквалификация. Добавил 2 новые карты RB Porto и RB Barcelona.
Карты тут -
Вложение 163063
Вложение 163064
Вложение 163065
Во избежании глюков, предыдущие версии карт желательно удалить !