Полностью код посмотреть не могу, так как ut99 не установлен, а тукей экспортировать естественно u 99-го не хочет. По тому что разобрал, у вас точно есть отдельный клас пушки и снаряд "tracer". Если сделано по уму, то отверстие спавнит сам снаряд при попадании, в его коде и стоит искать. Так как суперклас снаряда указан projectile, то декаля должна быть указана в вашем класе - надо в default properties найти отсылку к класу типа decal или scorch (как-то так) и подставить туда аналогичное значение от проектиля ракетницы или другое (только существующее). Если хочете создать свой след, то собственно надо клонировать класс этой самой декали к себе и использовать ее, а текстуру и размер как поменять сам легко поймете в коде декали. Ну а если дальше будут трудности, то приготовте сразу архив с скриптами в исходном виде, будет понятнее...
1 - В ut99 наверняка другой сетевой код, но наверняка могу сказать это в основном к нему относитса. 2 - Потрошыте другие игры, бесплатно в интернете предлогают в основном Г.
Стоит XP64bit, поставил громкий ксанговский патч для 64х битных версий винди и воуля, нехрена не работает Ксанг, че за дела? Обычный 32х запускается, а 64 не хочет.
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
UberSoldier, а подробнее, я не знаю что ты намутил. У меня всё сразу встало на место. Also откуда файл взял? С РТ его кто-то удалил, который именно я выкладывал. Тот, что тут выложен - выложен не мною. Не факт, что XP 64 не на костылях сделана, да и потом её обновления очень быстро бросили, с Висты и на 7 вот уже понятное дело, есть 64 бита.
Добавлено (04 Декабря 15, 18:38) --------------------------------------------- Ну и без лога мне тоже не понятно что там вообще у тебя мб.
Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же. http-сервер .do impossible beat unbeatable
GP, Могли бы Вы пояснить, что значат эти цифры в этой секции кода оружия для ut99? И есть ли в этом коде ошибка? Класс ' InstaTracer' мой projectile класс,
то создает новый екземпляр класа InstaTracer в точке, которая на 96 единиц дальше исходной StartTrace в направлении прицеливания, задавая ему направление по линии хитскана. (тут HitLocation - точка попадания хитскана, StartTrace - точка его начала, AimDir - направление прицеливания в виде единичного вектора, rotator(EndTrace - StartTrace) - направление от одной точки к другой в виде углов поворота)
Недоделаная функцыя, потому что нет даже этой самой строчки "хитскана", начинаетса типа c Trace(... или присвоения его чему-то. В ней как-раз долен определитса HitLocation. Отсылки к суперкласу тоже нет (не знаю правда есть ли они в ut99). Другими словами я не понимаю зачем выносить такой маленький кусочек кода в фунцыю, если всеравно перед ней каждый раз надо будет писать как минимум столько-же... И не менее важно где и как определяютса StartTrace и EndTrace.... Механика какая-то странная...
Если это касаетса той проблемы со смещением снаряда относительно прицела, то попробуйте вместо AimDir подставить normal(EndTrace - StartTrace). Если оно так не поймет, то можно еще попробовать (EndTrace - StartTrace)/VSize(EndTrace - StartTrace)). Ато чет, направляетса (летит) снаряд но одной линии, а смещаетса явно по другой...
Все строки как в оригинале кроме этих двух нижевыделенных строк. Проблема в том, что этот код не вызывает мой класс 'InstaTracer', если я стою скажем в одном, двух метрах от стены и палю в нее. С такого расстояния даже не появляется декаль на стене! Обратите внимание снова на эти строчки кода: if ( VSize(HitLocation - StartTrace) > 250 ) { Spawn(class'InstaTracer',,, StartTrace + 96 * AimDir,rotator(EndTrace - StartTrace)); } Эти строки не мои, не могу понять даже, зачем автор так написал, по сути он ограничивает спавн Progectile класса в зависимости от расстояния до цели. То есть если до цели более 250 юнитов, то только тогда вызывается мой класс. Я изменил значение 250 в строке if ( VSize(HitLocation - StartTrace) > 250 ) на 0, А в строке Spawn(class'InstaTracer',,, StartTrace + 96 * AimDir,rotator(EndTrace - StartTrace)); я изменил 96 на 12. В итоге, теперь на любом расстоянии до цели появляется декаль, то есть, даже если уткнуться носом в стену и стрелять в нее, класс 'InstaTracer' спавниться будет всегда как и есть в оригинальной игре! Не повлияют ли такие изменения на точность прицеливания и на точность стрельбы ботов? Я ведь мудрил без знания дела. Если лучше чтo-то где-то подправить для исключения любых глюков, то напишите, пожалуйста!
ЦитатаGP
Если это касаетса той проблемы со смещением снаряда относительно прицела, то попробуйте вместо AimDir подставить normal(EndTrace - StartTrace). Если оно так не поймет, то можно еще попробовать (EndTrace - StartTrace)/VSize(EndTrace - StartTrace))
Первый совет не помог, второй выдал ошибку. Не понравился значок /. Чует мое сердце, что направление пули по точке прицела (без зума) как-то должно регулируется координатами X, Y, Z в этой функции. Но вот как это записать!?! И почему, если убрать оружие с экрана командой hidden, то пуля идет точнее без зума.? Как же все сложно с этим движком, с последним наверняка не меньше проблем...
XCanG, а что ты там с графоуни делал? Качество чем улучшал?
UPD_ Сделал тест и воуля, действительно работает и дейсвительно стало лучше, будто цветов стало на 2бита побольше, текстуры прорисовываются дальше, та и прозрачность ложится лучше, туман стал тоже лучше, эффекты подетальнее, да и лагов как то подубавилось (или мне показалось). :clapping: Естественно тестировал на HD карте и со своими танками и дополнительно выявил причину падения фпс, БОТЫ, боты съедают проц, не знаю как на 4х ядрах, но у мну на 2х при 3.1гц, разница между 10ю и 30ю ботами оч видна. Ну а при 5 ботах 75фпс и не падает, думаю что по сети чисто с игроками должно все идеально работать (даже с кармо взрывами ) (если они в сети вообще нормально работают ).
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
ну я такое встречал в турелях 2004-го, там это сугубо для того чтоб след пули появлялса после дула и пропадал как надо, потому что если просто сместить сам эффект то он будет залетать слишком далеко - впечатление будто в цель иглы прокалывают а не пули. Кроме того в 2004-м часто без такого смещения снаряды пропадают сразу же после появления, так как колизятса с моделью игрока/пушки/техники.
ЦитатаGadavre ()
Не понравился значок /
а делить тогда как??? Ну теперь ясно почему ничто не помогло, потому что AimDir вычисляетса хз из чего... Можно попробовать еще что: 1 - поставить 0 вместо 2*AimError, разброс тут никчему, хз насколько правильно он роботает... 2 - поставить вместо
1 - поставить 0 вместо 2*AimError, разброс тут никчему, хз насколько правильно он роботает... 2 - поставить вместо AdjustedAim = PawnOwner.AdjustAim(1000000, StartTrace, 2*AimError, False, False);это AdjustedAim = PawnOwner.Controller.Rotation
Не помогло. В первом случае все осталось как и было. Во втором случае компиллятор выдал ошибку Error, unrecognized member 'Controller' in Class 'Pawn'. Я вот думаю, возможно, когда я убираю оружие с руки, то смещается немного прицел левее, потому и стрельба идет точнее. То есть где-то может быть прописано положение прицела в зависимости от положения оружия. Понимаете, что имею ввиду? То есть править нужно не координаты стрельбы, а положение прицела точки относительно позиции оружия. Моя догадка может быть истинной?
Может я Вам скину игру и Вы как появиться время посмотрите этот момент?
Тут реально хрень какя-то, в исходниках ничего "умышленного" и близко не нахожу.
Добавлено (07 Декабря 15, 19:54) --------------------------------------------- Прощупал на всякий случай логом - смещаетса именно текстра прицела и на этом край, HitLocation не меняетса.
Хочу изменить стандартый выстрел снайперки ( у меня стрельба разрывными патронами) в своем мутаторе. Так как я заинтересован в реиграбельности своего мутатора, то прошу послушайть каждый из четырех выстрелов и назвать по счету из четырех тот, который Вам более приятен на слух и не будет при частых выстрелах Вас раздражать. Благодарю за внимание.
Значит что косяк где-то глубоко в коде игры, без знания его спецыфики никак.
ЦитатаGadavre ()
то что нужно делать, хотя бы в общих чертах?
Как вариант, рисовать свой прицел не только для зума. Как-то так:
Код
simulated function PostRender( canvas Canvas ) { local PlayerPawn P; local actor Other; local float S, m, Xlength, range, radpitch; local vector HitLocation, HitNormal, StartTrace, EndTrace, X, Y, Z;
Как вариант, рисовать свой прицел не только для зума. Как-то так:
Я менял разные значения в этом simulated function PostRender( canvas Canvas ). Меняется положение прицела, когда мы используем зум, но не меняется его положение без зума. Стрельба с зумом и так идет точно, ее улучшать не надо.