Страница 10 из 19«12891011121819»
Форум - Russian Tournament » Игры » UnrealED » Bump на UE2 (sml[thread]Вот попробовал запилить...)
Bump на UE2
XCanG
там альфа равна 0 или 1, то есть будет резкая граница у тени
а так у альфы 256 значений и она постепенно их на границе изменяет с 0 до 256

Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же.
http-сервер
.do impossible   beat unbeatable
UberSoldier
Ну лучше конечно резкая граница как в современных играх.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
XCanG
даа, http://store.steampowered.com/app/261110/
такая резкая конечно же лучше

Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же.
http-сервер
.do impossible   beat unbeatable
UberSoldier
Я тут столкнулся с проблемкой, мне нужно сделать эффект для повреждения танков, т.е. когда у танка меньше чем 50% брони, появляется эффект дыма и огня из под башни, далее когда 25% загорается двигатель. Так вот... эффект готов, а как мне его теперь присабачить к танку? Я попробовал путем замены стандартного эффекта, все сделал так же, только имя поменял, но он вылетает. Я уже все перепробывал, но не как. Как мне правильно сделать? Техника заменяется не через мутатор.

Добавлено (27 Мая 14, 18:07)
---------------------------------------------
Кстати то что сделал в коде на ленс фларес GP, а именно с тенями, я делал тоже самое ha . Только не работало наверно потому что я не через мутатор делал.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
XCanG
UberSoldier, там у скорпа и у танка тоже эффект появляется при малом количестве хп
что, совсем никак не удаётся у них взять принцип эффекта?

Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же.
http-сервер
.do impossible   beat unbeatable
UberSoldier
В том то и проблема что нет, похоже что только через мутатор, не знаю, может ГП знает ответ как сделать что бы не через мутатор все это дело было.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
GP
Код вехикла в студию!
Лучче весь пакедж и контент, чтоб я мог скомпилировать и если чего то поменять в ефектах (там офсет и т.д.)

Добавлено (27 Мая 14, 20:43)
---------------------------------------------
Да, и с тенью башень пока не очень - проекторы не для павнов почему-то не обрабатываютса. Точнее сама текстура тени не генерируетса(
XCanG
UberSoldier, может наследовал не от той техники, потому и куска кода нет?

Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же.
http-сервер
.do impossible   beat unbeatable
UberSoldier
GP, На счет техники возьми к примеру стандартную, находится в Onslaught -> ONSPRV или ONSVehicle, смотри там куда extends ведет, там поймешь.

На счет тени, может быть можно в ручную присабачить тень? Я бы для каждого танка сделал в ручную, так как я много что в ручную делаю для каждой еденицы.

Добавлено (27 Мая 14, 23:45)
---------------------------------------------
XCanG, там без разницы, там 1 код на все. Эффект берется отдельно, но это не важно. Важно сам код который... в прочем вот:

Добавлено (27 Мая 14, 23:49)
---------------------------------------------

Цитата
Точнее сама текстура тени не генерируетса(


Вот вот вот, я пробывал павнить проектор, но тень не проецируется от него.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
GP
Неее. Нужен готовый код твоего танка, независимо от чего-либо там.
Дело в том, то для такого дела надо использовать другие функцыи. А если я к примеру в своем класе пропишу функцыю 'Tick', то тем самым нивелирую эту функцыю в суперклассе. Если ты в своей технике используеш какю-то функцыю, то надо сначала скопировать ее из ближайшего суперкласа. Тоесть:
Если у тебя твой танк extends стандартный онсовский танк, и ты хочеш чегото добавить в функцыю, надо ее скопировать полностю из стандартного танка, если ее там нет, то идеш по дереву выше и выше пока ее не найдеш. Если ее нет, либо есть пустая (аж в класе актор), то тогда нечего копировать собственно и просто пишеш свое.

Потому и надо код, ато мне для примера надо создавать новый вехикл, мне лень. + Мне легче сделать код и обьяснить потом только то что не ясно.

Добавлено (28 Мая 14, 00:02)
---------------------------------------------
У тебя ефекты стандартные, или кастомные?

Добавлено (28 Мая 14, 00:06)
---------------------------------------------
Что значит вречную? Можно иначе? Если у твоего танка не появляютса стандартные ефекты, то надо просто в его код их добавить, как раз только вручную.

UnShame
UberSoldier
GP,

Код танка:

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
UberSoldier
Или вот так:

Добавлено (28 Мая 14, 00:20)
---------------------------------------------

Цитата
У тебя ефекты стандартные, или кастомные?

Свои.

Добавлено (28 Мая 14, 00:23)
---------------------------------------------

Цитата
Если у тебя твой танк extends стандартный онсовский танк, и ты хочеш чегото добавить в функцыю, надо ее скопировать полностю из стандартного танка, если ее там нет, то идеш по дереву выше и выше пока ее не найдеш. Если ее нет, либо есть пустая (аж в класе актор), то тогда нечего копировать собственно и просто пишеш свое.

Там функции в основном из Vehicle и если я их себе копирую то он мне говорит что типа эта функция уже есть и типа "заменить ее?" - это он спрашивает у меня при кампиляции.

Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
GP
Цитата UberSoldier ()
Цитата
У тебя ефекты стандартные, или кастомные?
Свои.

Значит классы этих ефектов у тебя должны иметь отличные от стандарних имена и лежать в папке с кодом техники чтоб не прописывть весь путь.

добавляеш в начало класса (где все) переменные

var [имя класса ефекта башни без квадратных скобок] CannonEffect;
var [имя класса ефекта двигателя без квадратных скобок] ChassisEffect;

в любое место функцыи tick добавляеш

if ( (Health <= 0.5*HealthMax) || (CannonEffect == none) )
CannonEffect = spawn( [имя класса ефекта башни без квадратных скобок] , self);

if ( (Health <= 0.25*HealthMax) || (ChassisEffect == none) )
ChassisEffect = spawn( [имя класса ефекта двигателя без квадратных скобок] , self);

Так ефекты должны спавнитса в центре танка, а офсет добавиш в сами емитеры.
setbase base и attach часто не роботают, так как связаны с параметрами ефектов (как минимум у ефектов должен стоять bNodelete = false), потому лучче проще постоянно в tick-e делать вот так:

if (CannonEffect != none)
{
CannonEffect.SetLocation(Location);
if ( DriverWeapons[0] != none)
CannonEffect.SetRotation(DriverWeapons[0].Rotation);
}
if (ChassisEffect != none)
{
ChassisEffect.SetLocation(Location);
ChassisEffect.SetRotation(Rotation);
}

это будет постоянно двигать и поворачивать ефекты относительно положения танка и башни (с DriverWeapons[0] может быть ошыбка, обратишся к класу башни напрямую или както еще, там должен быть rotation башни.)

Если у тебя офсет будет в самих емитерах, тогда rotation обязательно задавать. Если ты добавляеш офсет при спавне, не забудь его добавлять и к location-ам, тогда rotation не обязателен
Еще чтоб не делать постоянно предидущее, попробуй вместо setbase() сразу после спавна делать вот так

if ( (Health <= 0.5*HealthMax) || (CannonEffect == none) )
{
CannonEffect = spawn( [имя класса ефекта башни без квадратных скобок] , self);
CannonEffect.Attach(self);
}

if ( (Health <= 0.25*HealthMax) || (ChassisEffect == none) )
{
ChassisEffect = spawn( [имя класса ефекта двигателя без квадратных скобок] , self);
ChassisEffect.Attach(self);
}

селф там в скобках, так как это код танка это будет обращение к танку, а не к самому ефекту как кажетса...

и не забудь в функцыю Destroyed добавить

if (CannonEffect != none)
CannonEffect.Destroy();
if (ChassisEffect != none)
ChassisEffect.Destroy();
UberSoldier
shok Хуя се, спасибо, попробую.

Добавлено (28 Мая 14, 03:32)
---------------------------------------------
Error, Call to 'spawn': bad or missing parameter 1 think

Ротатить не надо, т.е. эффект не должен поворачиваться, он сам все делает.

Нужно только что бы он появился при малом колличестве хп. А ещё лучше если он появится на точке, т.е. я в 3д максе поставлю кость, а скриптом задать что бы на этой кости появился эффект вот и все.

Добавлено (28 Мая 14, 03:55)
---------------------------------------------
Просто эффект воткнуть на кость у меня получилось, нужно теперь что бы это появлялось когда мало хп.
Вот код:

var FX_TankDamagedEffect CannonDamage;

if (CannonDamage==none)
{

CannonDamage = Spawn(class'FX_TankDamagedEffect',self,,Location);
if( !AttachToBone(CannonDamage,'Turret') )
{
log( "Couldn't attach CannonDamage to Turret", 'Error' );
CannonDamage.Destroy();
return;
}

}


Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
GP
Цитата UberSoldier ()
Error, Call to 'spawn': bad or missing parameter

делай без дефолт пропертис и в спавне указывай адрес своего пакеджа, иногда хочет именно так...

var FX_TankDamagedEffect CannonDamage;
.
.

.
.
CannonDamage = Spawn(class'xxxxx.FX_TankDamagedEffect',self,,Location);

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

если FX_TankDamagedEffect НЕ в твоем пакедже, надо тот пакедж подгрузить - в начале файла:

#EXEC OBJ LOAD FILE=xxxxx.u

Цитата GP ()
иногда хочет именно так...


Ротатить НАДО если офсет бдет в емитере (когда без аттачинга и сетбасинга), а не при спавне. Иначе офсет будет относительно глобальных координат, а не относительно танка...

Добавлено (28 Мая 14, 05:14)
---------------------------------------------
Цитата UberSoldier ()
CannonDamage = Spawn(class'FX_TankDamagedEffect',self,,Location);
if( !AttachToBone(CannonDamage,'Turret') )
{
log( "Couldn't attach CannonDamage to Turret", 'Error' );
CannonDamage.Destroy();
return;
}

что за мрак?
можно ж проще...

if ( (Health <= 0.5*HealthMax) || (CannonDamage == none) )
{
CannonDamage = spawn( class'xxxxx.FX_TankDamagedEffect' , self);
if (CannonDamage != none)
AttachToBone(CannonDamage,'Turret');
}

вот лог не понимаю зачем нужен, а вот без проверки if (CannonDamage != none) будет как раз давать в лог ошыбку, как у меня в коде часто... просто раз не приаттачит, а второй раз возьмет и приаттачит, зачем сразу destroy)
UberSoldier
Ага, все работает, только вот 1 нюанс, он мне спавнит его в начале игры как только в технику залазию + когда хп до 50% доходит он мне ещё плодит этот же эффект только в таком колличестве что лагает ужс. Ну я так понял это уже в эмиторе дело?

Добавлено (28 Мая 14, 05:45)
---------------------------------------------
Хотя нет. Он я так понял заменяет стандартный эффект что ли.


Infinite War v5.0.2 construction
UIP 2.0 - UIPP(UIP 2.1)
GP
сорри, проглядел, там в условии должно быть "и" (&&) а не "или" (||), тогда не будет спавнить много...

if ( (Health <= 0.5*HealthMax) && (CannonDamage == none) )
{
CannonDamage = spawn( class'xxxxx.FX_TankDamagedEffect' , self);
if (CannonDamage != none)
AttachToBone(CannonDamage,'Turret');
}

стандартный ефект убери, это он зароботал когда пакедж стал подгружаетса. стандартные ефекты спавнятса сразу, и просто отключаютса/включаютса когда надо, а у тебя видимо это не предвидено в ефекте... если не получаетса убрать, сделай для него пустой емитер... а свои спавнь вручную, отдельно для башни и для танка...
XCanG
то то я не втыкал до последнего поста почему там ||, ибо знаю что это или
потому что это почти всегда было бы True

вроде как всё просто и когда смотришь коды других скриптов там всё тоже просто, но там какраз таки странный дефицит кода когда непонятно откуда появляется то-то, когда его нет в коде
и некоторые акторы так вообще чуть ли не пустые. там задаётся одна переменная и она пишется в 3хстрочной функции, а получается вообще актор с кучей функций

из кода выше я только не понял что тут проверяется if ( DriverWeapons[0] != none)
это отсутствие в 0 слоте(1 место в технике) оружия?


кстати, может знает кто почему некоторые акторы не помещаются на карту? я имею ввиду что именно в коде отвечает за то, что этот актор можно непосредственно поместить на карту?

так то фактически можно добавить любой актор, но не дружелюбным способом, а ухищрением

Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же.
http-сервер
.do impossible   beat unbeatable
GP
за помещение на карту отвечает ключ 'placeble' в шапке скрипта... в браузере акторов соответственно есть чекбокс для их отображения...
Цитата XCanG ()
что тут проверяется if ( DriverWeapons[0] != none)

ну тут по сути проверка НАЛИЧИЯ какого-либо оружея у водителя, тоесть обычно башня танка там лежыт.
Проверку (иногда в очень неожыданых местах) надо делать всегда, чтоб небыло вот такого
Цитата XCanG ()
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:06F5) Accessed None
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:071F) Accessed None 'Master'
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:0727) Accessed None
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:07E7) Accessed None 'Master'
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:06ED) Accessed None 'Master'
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:06F5) Accessed None
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:071F) Accessed None 'Master'
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:0727) Accessed None
Warning: ProjLensFlare Autoplay.ProjLensFlare (Function LensFlare.ProjLensFlare.Tick:0837) Accessed None 'Master'
Форум - Russian Tournament » Игры » UnrealED » Bump на UE2 (sml[thread]Вот попробовал запилить...)
Страница 10 из 19«12891011121819»
Поиск: