Так сделано для упрощения разработки. Если например решыли-бы что для геймплея лучше подходит скорость по умолчанию не 400 а 500, то 560 уже небольшая разница и пришлос-бы исправлять еще и тут, а об этом надо помнить... а если пушками занимаетса другая група людей... этот код не каждый тик запускаетса, экономить одну операцыю умножения тут смысла нет.
решил посмотреть на бота с увеличеннным мешем В коде моего мутатора была выполнена команда
Код
Other.DrawScale=3.000000;
Мало того, что часть ног бота стало не видно так и еще и не всякий выстрел на него действует, как будто пули просто проходят насквозь через его раздутый мешь, не причинив ему вреда. Видимо идею добавить в свой мутатор отдельных бойцов гигантов придется оставить, а было бы прикольно босса в игре сделать кинг конгом...
ради трех секунд пилить фичу, которая будет запоминать положения всего в игре лучше как у трейсер в овервоче сделать - запоминает только себя так можно будет схватить флаг, заюзать комбо и вернуться на базу
Кстати да, тоже прикольно, только не на такое растояние, а последние 3-5, максимум 10сек. Возвращает тебя со всем тем, что было у тебя № время назад, а именно хп, оружие, патроны и т.п. кроме адреналина. Это что то типа автотранслокатора, только подробного с хар-ками. Я так думаю если запоминать будет только павн, т.е. игрока, то давить на игру эт не должно, эт ж получается как сохранение в игре, не?
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
Почему я эту функцыю знаю не из овервотча? Запомнить положение игрока это не откат времени, время может идти нормально... Для биошоковских карт я делал подобное, только не помю выпилил фичу или нет... там если игрок падает то телепортируетса на последнее место где стоял (типа точка обновляетса только если Phys = Phys_Walking)
Сообщение отредактировал GP - Пятница, 28 Октября 16, 23:18
Хорошо, получилось так. Юз адр. комбо, высчитывается время исходя из адреналина сопровождающееся эффектом. Затем, как адр. заканчивается, тебя переносит на то место где ты сделал юз, но переносит не телепортом, а скоростью. Я понимаю конечно что GP так задумал, но телепортом было бы круче чем скоростью. Ну и дополнить это сохранением твоих хар-к если это возможно. Сам мутатор если GP одобряет.
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Суббота, 29 Октября 16, 22:36
0 errors, 0 warnings Ну я не доделывал ни че, (могу доэфектить как по максиму сделаеш) а в остальном все отлично работ, без проявлений падения фпс или какого либо еще г. (я так понимаю 2004 у тебя нет?)
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Суббота, 29 Октября 16, 23:10
по максимуму это сохранение всех характеристик? , не я пас, , совмесить с другими мутаторами не реально, так как код даже стандартных пушек у половины отличаетса, и в результате надо делать на все исключения... не , это я удочку закинул. А вот звуки и эфекты добавить не сложно, мне просто лень все устанавливать.
он как-бы есть, но винт битый и просто склонировать не получитса. Все связи с класами и прочую х. беру из декомпилированых исходников через UDE автоматом, так-что ошыбки разве что только в цыклах и условиях.
Сообщение отредактировал GP - Суббота, 29 Октября 16, 23:15
Винт разбил что ли? R-Studio не проканает? (Я тут недавно нечаянно удалил всю папку с моделями и их составляющими, поплакал чуток, но часть восстановил, часть придется вручную опять пилить) Сам господь велит заканчивать с УТ
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
телепорт не кул, читерно как-то, если учесть что 100 адреналина должно хватать до середины фейса даже с моим убогим доджынгом. Назад вседь секнду всего уходит.
Добавлено (29 Октября 16, 23:19) --------------------------------------------- + След это палевно и в его начале может ктото уже ждать с флакой.
Добавлено (29 Октября 16, 23:22) ---------------------------------------------
ЦитатаUberSoldier ()
Винт разбил что ли
не разбил, болванка сама вроде норм, файлы постепенно начали сыпатса, по ходу просто намагничивание ослабело - внешних причин у меня для этого хватает.
Комбо должно запускатса начиная от 35 адреналина, но со скоростью и размерами карт в 2004-м что такое 3.5 секунды? Лимитировать меньше 10 секунд пользы 0, тем более если игра с транслокатором... лень даже таблетки собирать по карте. Телепорт = дроп флага , но если не нравитса перемещение, так просто убери ненужнй цыкл перемещения по масиву и сделай сразу в одну точку, которую надо запомнить в одну глобальную переменную в момент запуска комбо (где эмитер спавнитса). Сам эмитер имхо убирать не стоит, ато вообще будет неясно что куда и почему. Запись точек во время движения тоже можно убрать.
Код
class FSCOMBO extends Combo;
var float LastRecTime; var int LastHealth; var int LastShield;
var vector LastPos; var rotator LastRot;
var Emitter WarpTracer; var rotator FianalRot;
function PostBeginPlay() { local xPawn P; P = xPawn(Owner); if (P == None) { Destroy(); return; } LastRecTime = Level.TimeSeconds; // Remember params here LastHealth = P.Health; LastShield = P.ShieldStrength; LastPos = P.Location; LastRot = rotator(-vector(P.Controller.Rotation));
// Tracer is custom WarpTracer = Spawn(class'WARP', P,, P.Location, P.Rotation); // Other activation effects and sounds here // }
function Destroyed() { local xPawn P; P = xPawn(Owner); if (P != None) { if (P.CurrentCombo == self) P.CurrentCombo = None; } if (WarpTracer != None) WarpTracer.Destroy();
// All lasting effects destroy here to prevent their staying if main code has holes // }
simulated function Tick(float DeltaTime) { local Pawn P;
P = Pawn(Owner); if ( (P == None) || (P.Controller == None) ) { Destroy(); return; }
if ((Level.TimeSeconds - LastRecTime) >= 0.1) // remember position and ect. eat adrenaline { LastRecTime = Level.TimeSeconds; P.Controller.Adrenaline = P.Controller.Adrenaline - 1; if (P.Controller.Adrenaline <= 0.00) // do teleport when no adrenaline { P.SetLocation(LastPos); P.Controller.SetRotation(LastRot); P.ShieldStrength = Max(LastShield, P.ShieldStrength); // do teleport effects here !!! if (WarpTracer != None) WarpTracer.Destroy(); P.Controller.Adrenaline = 0.0; // to prevent negative adrenaline? // All lasting effects destroy here, main code // Destroy(); } } }
if (WarpTracer != None) // this shit for rotating tracer emitter, to make it spiral without revolution { FianalRot.Roll = FianalRot.Roll + DeltaTime*60000; WarpTracer.SetLocation(P.Location); WarpTracer.SetRotation(Normalize(rotator(P.Velocity) + FianalRot)); } }
но со скоростью и размерами карт в 2004-м что такое 3.5 секунды?
Ну вот подумай, если противник бежит за тобой а ты прыгаешь куда нить вниз, он вниз за тобой, а ты сзади него появляешься. Эффект не, убирать не над, в нем то и фишка, эффект нужно сделать такой, что бы не так сильно заметно было, но оповещающий о вкл адр. комбо, что бы глазастый игрок мог заметить и пресеч попытку наебалова Так же звук, тоже впаять что бы ты по крайней мере слышал что заюзал, ну и противник если совсем вблизи.
Цитата
Телепорт = дроп флага
Ну да, так и должно быть.
В общем я допилю с эффектами, а там будет ясно с тестами.
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)