Страница 27 из 46«1225262728294546»
Форум - Russian Tournament » Игры » UnrealED » Просьбы, подсказки, помощь.
Просьбы, подсказки, помощь.
UberSoldier
А, ну тут все просто:


И сам танк:



Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Понедельник, 11 Января 16, 23:12
GP
Ках-то так...
Много, потому что пришлось состакать все вплоть до onsvehicle (жесткого переопределения не нашлось)... должно роботать, но не без опечяток...
Сообщение отредактировал GP - Вторник, 12 Января 16, 01:11
UberSoldier
Error, Right type is incompatible with "-"

Первый раз такую ошибку вижу или 2й
С чем связанно? Чтоб знать хоть на будующее.

2 строчки я заполнил, в перовой дамаг тип, во вторую эмитер.

И из кода я мало что понял, нужно наглядно плсмотреть в игре, чтоб мозгом понять как все это дело работает.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Вторник, 12 Января 16, 03:03
Gadavre
Почему я не могу удалить  в ut99 из инвентаря игрока при старте транслокатор? Пистолет удаляется, а транс-р нет, хотя тот и тот относятся к классу оружия. Посмотрите пожалуйста!

function ModifyPlayer(Pawn Other)    // called by GameInfo.RestartPlayer()
{
    local Inventory inv;
               local Weapon weap;

               for ( inv=Other.inventory; inv!=None; inv=inv.inventory )
              {
                             if (inv.isA('weapon')) weap = Weapon(inv);

                              if (weap.isA('enforcer')) weap.destroy();
                              if (weap.isA('translocator')) weap.destroy();
              }
}
Сообщение отредактировал Gadavre - Вторник, 12 Января 16, 18:45
GP
Цитата UberSoldier ()
Error, Right type is incompatible with "-"

переводим: правый тип не совместим с "минусом"
другими словами я там немного накосячил. Суть в том что павн нельзя вообще от чего-то отнять, как например число или вектор. Такая ошыбка еще может быть если например отнимать разные вещи, типа вектор от числа или наоборот, тогда обычно выдает ошыбку вообще в другом месте, сразу и не допреш.
правильный кусок:
Код
     if ((ActualDamage <= 0) && (DamageType == {класс DamageType у проэктиля}))
     {
        TraceStart = HitLocation + Normal(InstigatedBy.Location - HitLocation)*24;
        TraceEnd = HitLocation + Normal(HitLocation - InstigatedBy.Location)*24;
        Trace(NewHitLocation,HitNormal,TraceEnd,TraceStart, true);
        VNorm = ((HitLocation - InstigatedBy.Location) dot HitNormal) * HitNormal;
        NewRotation = rotator(-VNorm  + ((HitLocation - InstigatedBy.Location)  - VNorm) );
        Spawn( {class} , , , HitLocation, NewRotation);
     }

Еще может быть косяк с направлением, так как я не помню в какую сторону HitNormal торчит (в или из точки попадания.)

Добавлено (13 Января 16, 01:51)
---------------------------------------------
Gadavre, мне не оченьпонятна логика роботы строчки

Код
for ( inv=Other.inventory; inv!=None; inv=inv.inventory )

откуда ее вытащили?
Если нормально убираютса другие пушки, то скорее всего наличием транеслокатора управлят клас игры, так сказать дает всем у кого нет. Попробуйте убрать для теста другие пушки таким кодом. Но если убираетса только енфорсер, то это скоре всего потому что он первый в масиве(списке) - очень уж подозрителное описание цыкла for.
Кроме того, что более вероятно, проблема в том что нельзя просто уничтожать клас, когда он в списке инвентаря. Ведь если строчка for все-таки правильная, то списка никакого нет а каждый инвентарь содержыт в себе ссылку на следующий инвентарь; поэтому просто уничтожыв инвентарь теряетса связь с остальной цепочкой. Попробуйте удалять только транслокатор, НЕ удаляя перед ним енфорсер. Если уберетса значит так и есть.
UberSoldier
GP, упаковывается но не работает, ничего не спавнит не при каких условиях, тщательно проверил.
Расскажи мне за каждую фунцию что ты написал, я чет логику в них не понимаю.
Может быть у меня в чем проблема...

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Среда, 13 Января 16, 14:01
Gadavre
GP
Очень хочу назначить свой урон для ImpactHammer. Но не хочу создавать отдельно для него класс . Как бы прописать для него урон (damagescaling)  в классе мутатора?
Вот этот код присваивает в классе мутатора одинаковый урон для всего оружия. Может что то добавить нужно, чтобы damagescaling был только для ImpactHammer'a? Посмотрите пожалуйста!

Сообщение отредактировал Gadavre - Среда, 13 Января 16, 19:18
UberSoldier
Gadavre, в инвентарь прописывать не азэр, а путь до импакта хамера вроде как.

В противном случае что бы быстрее понимать сурипты, качай разные мутаторы, распаковывай и смотри как там сделанно ибо то что ты спрашиваешь достаточно легко.

И почему именно ут99 поч не 2004?

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Gadavre
Цитата UberSoldier ()
В противном случае что бы быстрее понимать сурипты, качай разные мутаторы, распаковывай и смотри как там сделанно ибо то что ты спрашиваешь достаточно легко.
Давно уже делаю, что ты пишешь, но не встретился ни один мутатор с возможностью назначения своего урона для каждого оружия  в классе мутатора. Было бы  тебе легко, то написал бы ты конкретно. Интересна твоя реакция, если бы тебе также ответил GP как ты мне....
Цитата UberSoldier
И почему именно ут99 поч не 2004?
Потому что мне как и ряду других людей  для счастья не нужна навороченная графика и техника  и мелкие еле видные на больших картах модели игроков.  UT99 имеет много общего с первым Unreal с атмосферой старинных замков, с атмосферой иного мира в котором просто расслабляешься как никогда и чувствуешь себя в игре свободным...В нем нет перебора с техногенностью коей в избытке в последующих играх. В ut2004 как то все роботизированно,механистично, играя в ut99 чувствешь как будто играешь живым человеком.  Озвучка UT99 есть на нашем родном русском языке и это уже как-то сближает с ним, делает его роднее. Да и по динамике  он ничем не проигрывает последующим играм, мне он даже показался быстрее. Каких то супер человечных ботов в ut2004  не почувствовал, а хотел. Ботов так и не научили стрелять упреждающим огнем, стрелять туда где тебя нет, но где ты должен быть спустя секунду :) Это мое мнение, я играл в 2004 и он меня как и последующие игры, увы, не зацепил ничем.... Ну если только  едитор понравился. Однозначно едитор  лучше.
Сообщение отредактировал Gadavre - Четверг, 14 Января 16, 15:44
GP
Блин, думал что отписал, а видимо из-за глюка подключения ответ не дошел. Короч лень второй раз расписывать, короко по сути:
Цитата UberSoldier ()
ничего не спавнит не при каких условиях
скорее всего дамаг все-таки не бывает меньше 0. Проверь на всякий случай убрав проверку

Если зароботает, то через takedamage так как ты хочеш все-же не получитса. вообще не понимаю как можно не наносить урона попадая в танк.

Еще может быть косяк с направлением о котором я уже упоминал - может эфект спавнитса внутри танка например. Попробуй поменять направление:
Код
NewRotation = rotator(2*VNorm  - HitLocation + InstigatedBy.Location);


Ну а больше остаетса только логом дебажыть dntknw
Gadavre
GP
А мне могли бы подсказать?
UberSoldier

Цитата
не понимаю как можно не наносить урона попадая в танк.
Еще раз для тебя лично, внимательно прочитай. Может так понятней будет. (Правой кнопкой клик и в новую вкладку что бы смотреть в развернутом виде)





Цитата
Еще может быть косяк с направлением
Не, я поменял даже эффект на обычный взрыв, так что не спавнилось там ниче и буз разницы куда направлять, в эмитере же можно настроить велосити.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Четверг, 14 Января 16, 17:41
GP
Ну по идее должно быть так:
function ModifyPlayer(Pawn other)
{
local inventory Inv;
for( Inv=Other.Inventory; Inv!=None; Inv=Inv.Inventory )
{
if ( Inv.isA('enforcer') )
other.DamageScaling = 200.0;
}
Super.ModifyPlayer(other);
}
!!! вместо enforcer подставте название класа хаммера, ато я не знаю как он там в ут99 прописан...

Добавлено (14 Января 16, 20:31)
---------------------------------------------
UberSoldier, ну вот даже в переделаном балистиковском проэктиле который ты юзаеш есть и радиус урона и прямой урон. Тоесть даже если ты поставиш радиус 0 или вообще убереш тот кусок, то при прямом попадании в павн (иемеетса ввиду контакт с мешем танка, а не точка какая-то) урон все-равно будет наноситса. Алгоритм там хрен поймеш, но по верхушкам оно ясно заточена на модэли игроков а не техники. Вот я и не понимаю, как можно напрямую попасть в танк и нанести урона.... painface
Сообщение отредактировал GP - Четверг, 14 Января 16, 20:32
UberSoldier
Ща я видео тебе сниму, все увидишь. Магииииияяяя :yaoming:


Цитата
иемеетса ввиду контакт с мешем танка, а не точка какая-то
Ну представь что меш, заменился на точку или уменьшился до таких размеров, а колозия не дает до него добратся проектилям

Еще, смотри, если я в проектиль своего снаряда впишу ту херню, которая в процесс тоуч пишется что я на рис. написал, то у танка вся эта херня намудренная пропадает и становится так, как и по стандарту, попал в танк хоть с автомата и получил урон. Значииииииит, я так предполагаю, что тот процесс тоуч который я вписываю, заменяет баллистиковский, а баллистиковский выглядит так:



И так выглядит мой:



Что то с пинетрой, проникновением, я не особо понимаю.

Добавлено (15 Января 16, 00:34)
---------------------------------------------


Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Четверг, 14 Января 16, 21:28
GP
Цитата UberSoldier ()
я так предполагаю, что тот процесс тоуч который я вписываю, заменяет баллистиковский

да, ты таким образом переопределяеш функцыю, исполняетса только твой кусок кода. Строчка типа Super.ProcessTouch(.... как раз запускает тот код, который в суперкласе (балистиковском). Балистиковский код в свою очередь запускает таким образом куски стандартного кода в своем и т.д. В этом вся фишка начледования (ну не вся но) .
Его можна запустить до/после или внутри своего кода. И если ты у себя в класе (extends actor например) ничго вообще не напише, все-равно то все функцыи актора доступны, не так ли?

Добавлено (15 Января 16, 01:35)
---------------------------------------------

Цитата GP ()
Что то с пинетрой, проникновением, я не особо понимаю.

Оно юзает сторонние класы без спавна (как damage type например) просто как носителей функцый/параметров. Скорее всего это заточка под балистиковскую кровь/эффекты и пр. И там половина лишнего, тоесть Explode например там вообще пустой вроде.
UberSoldier
Кстати все разбирался сидел с мешколозией для техники, по монуалам как я понял она нужна только для проектилей, это все что она останавливает вроде как, но на деле и даже этого не делает.
Но тут меня осинило, может быть что то дописывать нужно в код что бы спавнить его? А то такое ощущение что движок его не спавнит, хотя стандартная техника им нацеплина, так же и интересен вот Этот пак который не так давно обновился, здесь автор тоже колозию нацепил, а ЕСЧЕ!!! он заставил турель быть отдельной от танка, т.е. у нее своя колозия и делается это через атач сокетов в эдиторе. Эта штука будет крайне полезной и интересной.

Вопрос, тряска камеры при попадании в танк в котором ты сидишь, как настроить, некак не пойму, вий шейк что ли?

Добавлено (15 Января 16, 02:59)
---------------------------------------------
UPD


Цитата
он заставил турель быть отдельной от танка, т.е. у нее своя колозия и делается это через атач сокетов в эдиторе.
Сделал у себя, все легко и просто и не затратно, но приятно, еще более детальная колозия)

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Пятница, 15 Января 16, 02:28
Gadavre
Цитата GP ()
Ну по идее должно быть так:
function ModifyPlayer(Pawn other)
{
local inventory Inv;
for( Inv=Other.Inventory; Inv!=None; Inv=Inv.Inventory )
{
if ( Inv.isA('enforcer') )
other.DamageScaling = 200.0;
}
Super.ModifyPlayer(other);
}
Вставил для теста вместо пистолета свою пушку, вместо 200 написал 10, но все равно сносится  одним выстрелом вся жизнь, похоже для движка эти строки почему то  не приорететные и он продожает считывать  прописанный мной урон с класса пушки. Странно.... В моем мутаторе этот код не хочет работать, хотя компилляция проходит без ошибок. Почему?
Сообщение отредактировал Gadavre - Пятница, 15 Января 16, 09:49
UberSoldier
GP, Тут короч задавал вопрос помню, про колозию на авиацию, я прост найти чет не могу ответы, 2 часа потратил и не нашел.
Спрошу есче раз. Проблема была в том, что когда на танк нацепляешь колозию то все ок и персонаж может по ней бегать, а вот в летательной технике, а именно в ONSChopperCraft так не прокатит, персонаж начинает прыгать автоматически, т.к. колозия тебя отбрасывает. Можешь сам посмотреть на обычном рапторе, как это убрать и не повлияет ли это на чтото?


Цитата
колозию
pokerface

Щас хочу с летной техникой сделать тоже самое что и с танками.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
Сообщение отредактировал UberSoldier - Пятница, 15 Января 16, 17:08
GP
Gadavre
Цитата Gadavre ()
похоже для движка

хватит списывать на движок все проблемы, пакедж engine это еще не движок.
1 - что имено вы прописали вместо enforcer? там должно быть имя класса пушки, а не ее название.
2 - а с другими стандартными пушками через ваш мутатор оно роботает?
3 - Код других пушек смотрели, может эта переменная должна учитыватса в коде самой пушки, а у вас на скольку помню DamageScaling небыло и в помине.

Добавлено (15 Января 16, 20:03)
---------------------------------------------
UberSoldier, там просто в дефолт пропертис стоит
bCanBeBaseForPawns=False, кагбэ превод говорит сам за себя.
Сообщение отредактировал GP - Пятница, 15 Января 16, 20:04
GP
Доглядел вот элементарщину. other это по скрипту павн (игрок), и 90% гарантии, что для игрока и бота этот DamageScaling юзаетса по-разному. Пушка к нему отношения напрямую не имеет.
Странно, но в ут99 много где урон прописан цыфрой жестко, что через переменную урон просто не поменяеш...
Сообщение отредактировал GP - Пятница, 15 Января 16, 22:06
Форум - Russian Tournament » Игры » UnrealED » Просьбы, подсказки, помощь.
Страница 27 из 46«1225262728294546»
Поиск: