Да, понимаю. На современных компах норм будет. Патч и делается на такую аудиторию. + это опционально же))да, реально. Тебе к Rolo у него есть готовый на продажу для ИТ.
Но также стоит заметить, что будут фризы на таком клиенте.
допустим ты фармиш, и там овер дофига ресурсов подсвечивается.
Да все верно сказали выше, это к Роло нужно обратится, юзал эти дроп эффекты, смотрится суперскиДа, понимаю. На современных компах норм будет. Патч и делается на такую аудиторию. + это опционально же))
для примера можешь посмотреть подсветка от Rolo.Привет всем! Я Вот вообще полный нубас в этом деле, кое как осваиваю процесс сборки кастомных патчей. Любительский уровень.
Это вводные, чтобы Вы понимали с кем имеете дело) Скорее всего - мало кто захочет помогать в этом вопросе... Но - спрошу, мало ли?!
Я делаю патчик для Elmore x2 median, запихнул туда интерфейс Silent Essense, и вот он юзает U файлы, как на хрониках выше.
Читал на одной ветке форума, что кто-то как-то себе реализовал подсветку дропа. Это реально сделать для Интерлюда, с таким вот интерфейсом, что я написал выше?
Если да - то как?
Да так же, есть волнения по этому поводу, даже тебе хотел отписать, мб с тобой на связь выходил.Можете не ждать ответа от Rolo, он пропал примерно пол месяца назад и не отписывает.
Он любитель пропасть,скоро появится,вопрос времени.Да так же, есть волнения по этому поводу, даже тебе хотел отписать, мб с тобой на связь выходил.
Ну, я нашёл 2 файлика, с Е-Глобаловского интерфейса, они же подтянули файлик, что тут выкладывали, на 97кб который)Можно просто перенести в отдельный класс подсветку дропа с хроник выше it, откуда взять все знают "наверное".
Берете интерфейс HF и переносите код в отдельный .uc класс на свой интерфейс и подключаете его.Ну, я нашёл 2 файлика, с Е-Глобаловского интерфейса, они же подтянули файлик, что тут выкладывали, на 97кб который)
Но тем не менее - я Вас совсем не понял, что значит перенести в отдельный класс?) Это в каком-то редакторе делать надо?)
Я прям совсем нубас в этом вопросе, извините)
ох... а файлик автор закодировал так, что не вскрыть((Берете интерфейс HF и переносите код в отдельный .uc класс на свой интерфейс и подключаете его.
Должно заработать если к примеру попробовать с хроник HF.
Создаете отдельный класс .uc, по аналогии и создаете свой .u не трогая сам интерфейс тогда.ох... а файлик автор закодировал так, что не вскрыть((
в теории понял, осталось преодолеть препятствия)
const TIMER_ID1 = 691;
const TIMER_DELAY1 = 2000;
const HIGHLIGHT_ACCESSORY = "LineageEffectWD27.pnt_drop_accessary";
const HIGHLIGHT_ARMOR = "LineageEffectWD27.pnt_drop_armor";
const HIGHLIGHT_WEAPON = "LineageEffectWD27.pnt_drop_weapon";
var class<Emitter> HLEmitterClassWeapon;
var class<Emitter> HLEmitterClassArmor;
var class<Emitter> HLEmitterClassAccessory;
var WindowHandle wnd_RadarMap;
function OnLoad()
{
wnd_RadarMap = GetWindowHandle("RadarMapWnd");
HLEmitterClassWeapon = class<Emitter>(DynamicLoadObject(HIGHLIGHT_WEAPON, class'Class'));
HLEmitterClassArmor = class<Emitter>(DynamicLoadObject(HIGHLIGHT_ARMOR, class'Class'));
HLEmitterClassAccessory = class<Emitter>(DynamicLoadObject(HIGHLIGHT_ACCESSORY, class'Class'));
}
function OnEvent( int a_EventID, String a_Param )
{
switch( a_EventID )
{
case EV_UpdateUserInfo:
if (my_ID <= 0)
{
my_ID = class'UIDATA_PLAYER'.static.GetPlayerID();
if (my_ID > 0)
{
wnd_RadarMap.SetTimer(TIMER_ID1, TIMER_DELAY1);
}
}
else
{
}
break;
}
}
function OnTimer(int TimerID)
{
switch (TimerID)
{
case TIMER_ID1:
HandleOntimer();
break;
}
}
function HandleOntimer()
{
local Actor PlayerActor;
local Actor A;
if (inGamingState)
{
PlayerActor = GetPlayerActor();
foreach PlayerActor.CollidingActors( class 'Actor', A, 2000, PlayerActor.Location)
{
if (A.Tag == 'L2Pickup')
{
if (CheckDropActors(A))
{
continue;
}
}
}
}
}
function bool CheckDropActors(Actor DropActor)
{
local L2Pickup L2P;
local string MeshName;
local int dropType;
L2P = L2Pickup(DropActor);
if (L2P.DropEffectActor.Initialized == 1)
{
if (L2P.DropEffectActor.Tag == 'e_u056_b') // Tag - editable, Name - const
{
MeshName = DropActor.GetMeshName();
if (MeshName == "drop_ring_m00" || MeshName == "drop_earring_m00" || MeshName == "drop_necklace_m00")
{
dropType = 1;
}
else if (InStr(MeshName, "drop") == -1)
{
if (InStr(MeshName, "hield") == -1 && InStr(MeshName, "igil") == -1) // sShield sSigil
dropType = 2;
else
dropType = 3;
}
else if (MeshName == "drop_highlight_helmet" || (InStr(meshName, "_vamprbic_") == -1 && InStr(meshName, "_move_") == -1 && InStr(meshName, "_critical_") == -1 && InStr(meshName, "_speed_") == -1 //herbs
&& isArmorName(MeshName))) // if "_" >= 4
{
dropType = 3;
}
else
{
L2P.DropEffectActor.Tag = 'S'; //skip
return true;
}
L2P.DropEffectActor.Kill();
switch (dropType)
{
case 1:
L2P.DropEffectActor = DropActor.Spawn(HLEmitterClassAccessory, DropActor, , DropActor.Location, defaultRotion);
break;
case 2:
L2P.DropEffectActor = DropActor.Spawn(HLEmitterClassWeapon, DropActor, , DropActor.Location, defaultRotion);
break;
case 3:
L2P.DropEffectActor = DropActor.Spawn(HLEmitterClassArmor, DropActor, , DropActor.Location, defaultRotion);
break;
}
return true;
}
else
{
return true;
}
}
else
{
return true;
}
}
Понял, код прочел, достаточно понятный. Даже мысль появилась, как оптимизировать нагрузку. У дропа должен быть класс, отвечающий за то Можно ли его поднять, или Нет, Твой дроп, или Чужой. Ну вот, надо будет как-то прикрутить подсветку только для того дропа, что твой, и который можно поднять)Создаете отдельный класс .uc, по аналогии и создаете свой .u не трогая сам интерфейс тогда.
Не забывайте удалять подсветку, я возможно не все перенес в более простой вариант не смотря на:Понял, код прочел, достаточно понятный. Даже мысль появилась, как оптимизировать нагрузку. У дропа должен быть класс, отвечающий за то Можно ли его поднять, или Нет, Твой дроп, или Чужой. Ну вот, надо будет как-то прикрутить подсветку только для того дропа, что твой, и который можно поднять)
Хотя, я почему-то думаю, что это настройка на сервере... И тогда локально - надо будет тянуть эти параметры.
В общем - размечтался я уже)))
С этит знаниями - пойду осваивать границы модинга Ла2) Пошёл читать, чем вскрывать u файлы, и какими редакторами пользоваться)
L2P.DropEffectActor.Kill();
я пытался всячески поработать с файлами, из интерфейса Silent Essense (это адаптация под Интерлюд), я именно его использую в своём патчике.... и просто не понимаю, как достать инфу, что interface.u что interface.xdat - не декомпилируются, не открываются ни через XdatEditor, ни через что вообще. Сломал себе голову уже.ну чтоб акторы не перебирать лучше конечно или сам эффект дропа перекомпилировать или engine.u в котором dropeffectactor
Спасибо большое! Твои Файлы работают с этим интерфейсом, хотя они значительно меньше. Возможно в его версии были какие-то доработки.Я уже выкладывал в ресурсы без защиты смарта файлы, можете взять и редактировать.
хз, на RTX 3060 после пару часов игры на интерлюде фпс проседает...На современных компах норм будет
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?