Nati repere non potest volare.
KZN_TIM
Скрытый текст:
Дублирую))
"Так ткни триггер, там радиус задается - какой нужно диаметр ставишь, смотри вот в примере крайняя цифра (выделена жирным) - это и есть диаметр. Я им всегда пользуюсь.
[Trigger]
GateStart TPassThrough 0 13410 31579 60
GateH1 TPassThrough 0 13047 32210 60
GateH3 TPassThrough 0 13225 31900 60
GateH2 TPassThrough 0 13238 32296 60
GateV1 TPassThrough 0 13065 32436 60
Shikana3 TPassThrough 0 13383 32088 60
Shikana2 TPassThrough 0 13333 31939 60
Shikana1 TPassThrough 0 13491 31899 60
Т.е. в данном случае диаметр триггера 60 метров".
да, это в .mis
Ну вот а я все глаза обламал копаясь в cs. Все скрипты вродь работают. А с настройками правого и левого ножа пока никак ?
Крайний раз редактировалось tim32; 12.11.2012 в 00:51.
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
Обновлённый скрипт гоночной миссии, теперь в свойствах ворот задаётся желаемый крен (правый положительный, левый отрицательный) (элемент списка ворот теперь заполняется так - gatesList.Add(new Gate("Gate5Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, -90)); , крайняя цифра - как раз желаемый крен), за пролёт ниже нижней границы (6.5 м задаётся hMin, меняйте по своему усмотрению ) - дисквалификация, гонка обнуляется, при пролёте выше 30м (hMax - опять же можно менять) ворота не считаются пройденными. За не включенный дымогенератор - штраф 2 сек.
Теперь рестарт после гонки не обязательно делать, после финиша всё обнуляется и можно лететь снова. Сбитый пилон через 2 минуты восстанавливается.
Race.zip
Крайний раз редактировалось naryv; 26.10.2012 в 11:22.
Don't happy, be worry
Отлично! Теперь можно будет сбитые пилоны и в онлайне переделать. Илья, а как ты решил проблему с прохождением одного и того же триггера с разных направлений? Я про то, что одни и те же ворота приходится проходить с разных направлений в одной и той же гонке.
ЗЫ. Кстати, а для чего по сути нужен дымогенератор?
Так триггер ведь круглый, с любого направления проходится, направление сейчас не проверяется(можно конечно ещё и его проверять), но если проходить не оптимальным маршрутом - время увеличится, так что смысла особого нет.
Для красоты, наверное, это же шоу во многом . А так - в правилах РедБулльских есть пенальти за не включенный, ну и я сделал
Don't happy, be worry
А чтоб в других картах было подобное надо поставить новый cs файл и вставить свои координаты триггеров или можно в уже имеющийся вставить строчки ? -
......-90
double hMin = 6.5;
double hMax = 30.0;
bool smokeOn = false;
А время восстановления пилона регулируется ? А то 2 мин многовато.
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
Упс, сейчас только обратил внимание, а в змейке-то крен вообще не учитывается. Змейку можно горизонтально проходить без штрафа.
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
надо новый, в нём обработка этих новых условий. И в этот новый файл свои координаты(можно их просто из старого забрать, добавив в конце желаемый крен)
отдельной переменной нет, можно в функциинайти строчкуКод:public override void OnStationaryKilled(int missionNumber, GroundStationary _stationary, AiDamageInitiator initiator, int eventArgInt)120.0 - время в секундах после которого пилон восстанавливается, поменяйте как Вам удобнее будет.Код:Timeout(120.0, () =>
а от направления движения это не зависит левый крен всегда отрицательный а правый - всегда положительный.
Don't happy, be worry
Ну так в скрипте каждый пролёт ворот описан в списке ворот, соответственно ворота на ноже будут 3,4 и 10,11 строчками в списке ворот и у них можно указать любой желаемый крен.
угу про локали забыл, в исходном сообщении исправленный скрипт перевыложил, либо просто руками в своём заменить строчкунаКод:value += " " + _stationary.pos.x.ToString() + " " + _stationary.pos.y.ToString() + " 0";Код:value += " " + _stationary.pos.x.ToString(System.Globalization.CultureInfo.InvariantCulture.NumberFormat) + " " + _stationary.pos.y.ToString(System.Globalization.CultureInfo.InvariantCulture.NumberFormat) + " 0";
Don't happy, be worry
Старт гонки не корректно начинается. Если лететь через стартовые ворота прямо то появляется только надпись старт гонки, а прохождение ворот не считается ни этих ни соответственно следующих. Но если входить в ворота под углом и чуть отдать ручку от себя до ворот, то триггер нормально схватывается. И первый конус шиканы тоже через раз на пятый считается и то если ее проходить по большому радиусу.
Крайний раз редактировалось Kros; 19.10.2012 в 14:43.
(=E95=; FW)
i7 940, 2,93 => 3,8 ГГц, MB Gigabyte GA-EX58-DS4, 6х2Gb-DDR3-1333Mhz-Kingston, NVIDIA GeForce GTX 680 (2048 Мб), БП OCZ 550W Fatal1ty, Win7U, CH, Saitek, TrackIR, SSD Plextor-128.
Ах! С новым патчем если открыть фонарь - то это просто супер как чувствуется!!! Скорость падает катастрофически! =)) В общем - спасибо!
naryv, в новом скрипте, если пролететь старт до восстановления пилонов, то пенальти остаются с прошлого вылета (если не перезапускать миссию). Возможно и в любом случае, ещё не проверил.
Сделал шикарный вылет: пролетел трассу, случайно открыл фонарь - пришлось садиться в поле, пролетая над кустиками, деревьями и домиками улыбнулся, сел, закрыл фонарь, взлетел, начал снова проходить трассу! Ах! Вроде бы и ничего необычного, а так погружает!
А перезарядку и дозаправку не выходя из миссии точно никак нельзя сделать?!
Windows 7 64 bit /// Core i5 2300 3,3 GHz /// ASUS P8P67 LE
8 GB DDR3 1600 MHz /// Nvidia GeForce GTX 550 Ti 1024 Mb /// Logitech Extreme 3D Pro
В змейе, вертикальный угол ( нож ) по прежнему не штрфуется. Файл cs из крайней правки.
// заполняем список ворот всеми воротами по порядку их прохождения
gatesList.Add(new Gate("StartGate", "GateStart", false, GateType.startGate, AfterGateAction.none, 246737, 233546, 0));
gatesList.Add(new Gate("Gate1Red", "Shikana1", false, GateType.shicaneGate, AfterGateAction.none, 246865, 233831, -90));
gatesList.Add(new Gate("Gate2Red", "Shikana2", false, GateType.shicaneGate, AfterGateAction.none, 246788, 233955, 90));
gatesList.Add(new Gate("Gate3Red", "Shikana3", false, GateType.shicaneGate, AfterGateAction.none, 246918, 234008, -90))
gatesList.Add(new Gate("Gate4Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, 90));
gatesList.Add(new Gate("Gate5Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, -90));
gatesList.Add(new Gate("Gate6Blue", "GateH1", false, GateType.levelGate, AfterGateAction.none, 246983, 234391, 0));
gatesList.Add(new Gate("Gate7Blue", "GateH2", false, GateType.levelGate, AfterGateAction.loop, 247421, 234340, 0));
gatesList.Add(new Gate("Gate8Blue", "GateH2", false, GateType.levelGate, AfterGateAction.none, 247421, 234340, 0));
gatesList.Add(new Gate("Gate9Blue", "GateH1", false, GateType.levelGate, AfterGateAction.none, 246983, 234391, 0));
gatesList.Add(new Gate("Gate10Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, 90));
gatesList.Add(new Gate("Gate11Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, 90));
gatesList.Add(new Gate("Gate12Blue", "GateH3", false, GateType.levelGate, AfterGateAction.barrel, 246528, 233988, 0));
gatesList.Add(new Gate("FinishGate", "GateStart", false, GateType.finishGate, AfterGateAction.none, 246737, 233546, 0));
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
Что-то никак не разберу, за что штраф начисляется, может кто подскажет ?
// заполняем список ворот всеми воротами по порядку их прохождения
gatesList.Add(new Gate("StartGate", "GateStart", false, GateType.startGate, AfterGateAction.none, 29276, 15536, 0));
gatesList.Add(new Gate("Gate1Red", "Shikana1", false, GateType.shicaneGate, AfterGateAction.none, 29340, 15308, 0));
gatesList.Add(new Gate("Gate2Red", "Shikana2", false, GateType.shicaneGate, AfterGateAction.none, 29224, 15203, 0));
gatesList.Add(new Gate("Gate3Red", "Shikana3", false, GateType.shicaneGate, AfterGateAction.none, 29341, 15092, 0));
gatesList.Add(new Gate("Gate4Red", "Shikana4", false, GateType.shicaneGate, AfterGateAction.none, 29132, 14989, 0));
gatesList.Add(new Gate("Gate5Red", "Shikana5", false, GateType.shicaneGate, AfterGateAction.none, 29116, 15143, 0));
gatesList.Add(new Gate("Gate6Red", "Shikana6", false, GateType.shicaneGate, AfterGateAction.none, 28952, 15116, 0));
gatesList.Add(new Gate("Gate7Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 28995, 15352, 90));
gatesList.Add(new Gate("Gate8Blue", "GateH1", false, GateType.levelGate, AfterGateAction.none, 28880, 15675, 0));
gatesList.Add(new Gate("Gate9Blue", "GateH2", false, GateType.levelGate, AfterGateAction.none, 29041, 15607, 0));
gatesList.Add(new Gate("Gate11Red", "Shikana1", false, GateType.shicaneGate, AfterGateAction.none, 29340, 15308, 0));
gatesList.Add(new Gate("Gate12Red", "Shikana2", false, GateType.shicaneGate, AfterGateAction.none, 29224, 15203, 0));
gatesList.Add(new Gate("Gate13Red", "Shikana3", false, GateType.shicaneGate, AfterGateAction.none, 29341, 15092, 0));
gatesList.Add(new Gate("Gate14Red", "Shikana4", false, GateType.shicaneGate, AfterGateAction.none, 29132, 14989, 0));
gatesList.Add(new Gate("Gate15Red", "Shikana5", false, GateType.shicaneGate, AfterGateAction.none, 29116, 15143, 0));
gatesList.Add(new Gate("Gate16Red", "Shikana6", false, GateType.shicaneGate, AfterGateAction.none, 28952, 15116, 0));
gatesList.Add(new Gate("Gate17Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 28995, 15352, 90));
gatesList.Add(new Gate("Gate18Blue", "GateH1", false, GateType.levelGate, AfterGateAction.none, 28880, 15675, 0));
gatesList.Add(new Gate("Gate19Blue", "GateH2", false, GateType.levelGate, AfterGateAction.none, 29041, 15607, 0));
gatesList.Add(new Gate("FinishGate", "GateStart", false, GateType.finishGate, AfterGateAction.none, 29276, 15536, 0));
Nati repere non potest volare.
KZN_TIM
Скрытый текст:
no loop- нет петли
no barrel roll- нет бочки
Win7 x64 корпоративная, Intel Core 2 Quad Q9400, ASUS P5Q3, Kingston KVR1333D3N9/4G х2, GTX 570
-=RedS=-Ded
double penaltyAerobatics = 6.0; // пенальти(с) за не выполнение пилотажных эл-тов 6*2 элемента = 12
нет бочки и петли, если они в гонке не предусмотрены в public void InitRace() поставьтебудет считаться что они выполнены и штрафа не будетКод:CheckLoopPass = true; CheckBarrelPass = true;
--- Добавлено ---
добавьте, пожалуйста в скрипте миссии в public void InitRace() строчкузабыл обнулить пенальти, примерно так должно выглядеть:Код:penaltyTotal = 0.0;Скрытый текст:
нет
Don't happy, be worry