P8P67EVO/i5 2500K 3.30GHz/8Gb/6950 2Gb/600W/DELL U2410 1920x1200/Directroad HOTAS металл-холлы/TrackIR5 ClipPro/Win7x64
скрипт минимальной высоты есть, но он считает от центра самолета, по этому может показаться, что ходишь низко. Тангаж в воротах с последующей петлей не учитывается (насколько я знаю)
Win7 x64 корпоративная, Intel Core 2 Quad Q9400, ASUS P5Q3, Kingston KVR1333D3N9/4G х2, GTX 570
-=RedS=-Ded
AbuDhabi.rar
Трасса АбуДаби с увеличенными диаметрами триггеров стартовых ворот и первых шикан. Старт в воздухе.
----
Ded, минимальная высота считается только на триггерах ворот/шикан. То есть получается(как я думаю) что в момент отработки триггера он "начинает" отслеживать самолет и фиксирует параметры в точке траектории, ближайшей к центру триггера. При этом остальные точки траектории внутри диаметра триггера могут быть на любых высотах без последствий. Вне тириггеров можно летать сколь угодно низко. Это нужно править. В идеале - одним триггером диаметром на всю трассу.
naryv - помогите пожалуйста. Возможно ли одним триггером, или нужно их множество по траектории.
P8P67EVO/i5 2500K 3.30GHz/8Gb/6950 2Gb/600W/DELL U2410 1920x1200/Directroad HOTAS металл-холлы/TrackIR5 ClipPro/Win7x64
Вот что Рахманин ответил.
Из этого следует, что если брать натуральные правила и применить к Су-26, то максимальный предел скорости на Су-26 должен быть в 270 км. Тоесть, скорость в воротах должна быть ниже максималки в горизонте на 10% У сушки максималка в горизонте 310 значит ограничение в 300 км\ч вполне приемлимо. И ещё ограничить минимальную высоту в 10 м, это какраз половина пилона, ниже второй полосы на пилоне. Сейчас на всех картах стоит 6 м. Так что как-то так получается.
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
если надо смотреть минимальную высоту на всём протяжении полёта, то можно без триггеров обойтись, добавить в 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); // тут считаем среднюю и максимальную скорости
Don't happy, be worry
naryv спасибо! Мы академиев не кончали, где именно эта константа hMin в приведенном коде??
tim, спасибо Вам и Сергею! Если не получается аутентичной скорости входа, давайте хоть минимальную высоту реальную оставим. Пилоны(и полосы на них)) же стандартные.
P8P67EVO/i5 2500K 3.30GHz/8Gb/6950 2Gb/600W/DELL U2410 1920x1200/Directroad HOTAS металл-холлы/TrackIR5 ClipPro/Win7x64
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
tim, под реальной минимальной высотой я понимаю ту что ограничена на реальных гонках RB.)
----
Да, naryv, ясно(и эти люди критикуют кодеров БоБа)
P8P67EVO/i5 2500K 3.30GHz/8Gb/6950 2Gb/600W/DELL U2410 1920x1200/Directroad HOTAS металл-холлы/TrackIR5 ClipPro/Win7x64
Хочется отметить, что начиная с сезона 2010 года на соревнованиях не используются квадро ворота, что помогло Ханнесу выйти из сложнейшей ситуации, так как при использовании классических квадро ворот произошло бы столкновение с двумя пилонами.
naryv я что-то не нашёл где и в каком файле прописано время возрождения сбитого пилона. Подскажи пожалуйста.
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
вот функция восстановления -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(); }); }
Don't happy, be worry
naryv, благодарю.
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
Доброго дня всем.
Вопрос такой. Вот смотрю я ролик (внизу должен появиться, если правильно сообщение создам) и не догоняю - почему у меня пламеньев из выхлопух нету, и дым по W не активируется. Что я делаю не так?
Спасибо.
naryv, Можно ли дописать в скрипт штраф за превышение скорости во время старта, при прохождении стартовых ворот ? К примеру, от 300 до 310 км\ч штраф 2 сек, а выше 310 дисквалификация. В принципе, в правилах этот штраф предусмотрен.
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
да, пожалуйста :
в описании переменных добавитьв проверке ворот (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; }
Don't happy, be worry
naryv Огромное спасибо !
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
Подправил все карты 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.
Карты тут -
Abudabi-Interlaken-Istambul .rar
Barcelona-San Diego-Windsor Ontario .rar
Lausitz-New-York Porto .rar
Во избежании глюков, предыдущие версии карт желательно удалить !
Крайний раз редактировалось tim32; 22.12.2012 в 15:43.
Nati repere non potest volare.
KZN_TIM
Скрытый текст: