Универсальная заточка

Толян

Знающий
Участник
Сообщения
122
Розыгрыши
0
Репутация
33
Реакции
47
Баллы
438
Всем привет, кто подскажет как сделать в интерфейсе чтобы была универсальная заточка (на сборке дизера инт)
Прикол в чем, стоит какая-то проверка на точки(по всем видимости), нужно ее убрать , интерфейс с исходом от Assasin - https://mmo-dev.info/threads/wip-free-assasins-interface-for-interlude.29695/ этот

Суть: сделал заточку но оно не покажет при выборе и нельзя будет заточить оружие\броня и тд, при перетягивании и тд. На дефолтном ИНТ интерфейсе все можно.
 
Всем привет, кто подскажет как сделать в интерфейсе чтобы была универсальная заточка (на сборке дизера инт)
Прикол в чем, стоит какая-то проверка на точки(по всем видимости), нужно ее убрать , интерфейс с исходом от Assasin - https://mmo-dev.info/threads/wip-free-assasins-interface-for-interlude.29695/ этот

Суть: сделал заточку но оно не покажет при выборе и нельзя будет заточить оружие\броня и тд, при перетягивании и тд. На дефолтном ИНТ интерфейсе все можно.
Подозреваю что тебе в ItemEnchantWnd.uc
 
Всем привет, кто подскажет как сделать в интерфейсе чтобы была универсальная заточка (на сборке дизера инт)
Прикол в чем, стоит какая-то проверка на точки(по всем видимости), нужно ее убрать , интерфейс с исходом от Assasin - https://mmo-dev.info/threads/wip-free-assasins-interface-for-interlude.29695/ этот

Суть: сделал заточку но оно не покажет при выборе и нельзя будет заточить оружие\броня и тд, при перетягивании и тд. На дефолтном ИНТ интерфейсе все можно.
Напиши Vikos, он вроде бы имел с этим дело.
 
Ты менеджер Vikos?)
Нет, а что похож ?? ))) человек опытный в этом деле тем более что касается сборки Lucera2. Если личные вопросы не по теме то пиши в лс, могу сказать сколько сахар нынче стоит. А если зашел пофлудить то нахерспляжа.
 
Подозреваю что тебе в ItemEnchantWnd.uc
Да смотрел, нихера не понятно там код 3.14здец) тыкнуть бы пальцем


/*******************************************************************************
* ItemEnchantWnd generated by Eliot.UELib using UE Explorer.
* Eliot.UELib ?? 2009-2022 Eliot van Uytfanghe. All rights reserved.
*
*
* All rights belong to their respective owners.
*******************************************************************************/
class ItemEnchantWnd extends UICommonAPI;



var WindowHandle Me;
var ItemWindowHandle zzenchant_slot;
var ItemWindowHandle zzitem_slot;
var ItemWindowHandle zzitem_list;
var ItemWindowHandle zzitem_scroll_list;
var ButtonHandle zzbtn_auto;
var ButtonHandle zzbtn_start;
var AnimTextureHandle zzenchant_ani;
var AnimTextureHandle zzitem_ani;
var AnimTextureHandle zzresult_ani;
var int zzvarak;
var int zzmandoint;
var int zzparaint;
var int zzmultiint;
var ItemInfo assaik, dalekax, madotax;
var array<ItemInfo> zzinfoarray;
var bool itemarmor,itemweapon,itemjewels;
var bool zzanswer;
var bool zzvalent;
var bool zzmaticora;
var bool zzmasallla;
var int zzmaxenchant;
var int zzlukator;
var WindowHandle enchantprogress;
var TextBoxHandle txt_cur;
var TextBoxHandle txt_nextvalue;
var TextBoxHandle txt_autovalue;


function OnLoad()
{
RegisterEvent(2860);
RegisterEvent(2870);
RegisterEvent(2880);
RegisterEvent(2890);
Me = GetHandle("ItemEnchantWnd");
zzenchant_slot = ItemWindowHandle(GetHandle("ItemEnchantWnd.enchantSlot"));
zzitem_slot = ItemWindowHandle(GetHandle("ItemEnchantWnd.itemSlot"));
zzitem_list = ItemWindowHandle(GetHandle("ItemEnchantWnd.itemList"));
zzitem_scroll_list = ItemWindowHandle(GetHandle("ItemEnchantScrollWnd.itemScrollList"));
zzbtn_auto = xxGetButtonHandle("ItemEnchantWnd.btnAuto");
zzbtn_start = xxGetButtonHandle("ItemEnchantWnd.btnEnchant");
zzenchant_ani = AnimTextureHandle(GetHandle("ItemEnchantWnd.EnchantAnim"));
zzitem_ani = AnimTextureHandle(GetHandle("ItemEnchantWnd.ItemAnim"));
zzresult_ani = AnimTextureHandle(GetHandle("ItemEnchantWnd.ResultAnim"));
enchantprogress = xxGetWindowHandle("ItemEnchantWnd.enchantProgress.enchantProgressTex");
txt_cur = xxGetTextBoxHandle("ItemEnchantWnd.txt_curValue");
txt_nextvalue = xxGetTextBoxHandle("ItemEnchantWnd.txt_nextValue");
txt_autovalue = xxGetTextBoxHandle("ItemEnchantWnd.txt_autoValue");
return;
}




function int GetClassIDFromItemInfo()
{
return assaik.ClassID;
}


function xxAgregarScrollEnInventario()
{
local ItemInfo zzcurrentItem;
local InventoryWnd zzinventoryWnd;
local int i;
// zzitem_list.Clear();
zzitem_scroll_list.Clear();
zzinventoryWnd = InventoryWnd(GetScript("InventoryWnd"));


for ( i = 0; i < zzinventoryWnd.m_invenItem.GetItemNum();++i )
{

zzinventoryWnd.m_invenItem.GetItem(i, zzcurrentItem);



// Agregar elementos con ciertos IDs a zzitem_scroll_list
if ( isScrollID(zzcurrentItem.ClassID) )
{
zzitem_scroll_list.AddItem(zzcurrentItem);



}


}
}

function xxAgregarItemsEnInventario()
{
local ItemInfo zzcurrentItem;
local InventoryWnd zzinventoryWnd;
local int i;
zzitem_list.Clear();
// zzitem_scroll_list.Clear();
zzinventoryWnd = InventoryWnd(GetScript("InventoryWnd"));






for ( i = 0; i < zzinventoryWnd.m_invenItem.GetItemNum();++i )
{

zzinventoryWnd.m_invenItem.GetItem(i, zzcurrentItem);



if ( scrolls(zzcurrentItem, assaik.ClassID) )
{

zzitem_list.AddItem(zzcurrentItem);
}



}






}








function OnRClickItemWithHandle(ItemWindowHandle zzhandle, int zzitemId)
{
// local ItemInfo zzclickedItem;






// Obtener la informaci??n del ??tem haciendo clic
zzhandle.GetItem(zzitemId, assaik);


sinofuscar3(assaik);


// Verificar si el ??tem seleccionado es uno de los scrolls espec??ficos
if ( isScrollID(assaik.ClassID) )
{

// zzenchant_slot.Clear();
Clear();
xxAgregarItemsEnInventario();





//ParseInt(zzparam, "ScrollId", zzitemId);
zzenchant_slot.AddItem(assaik);





}




}

function OnDBClickItemWithHandle(ItemWindowHandle zzhandle, int zzitemId)
{





// Simplemente reenviar al evento OnRClickItemWithHandle para mantener la misma funcionalidad
OnRClickItemWithHandle(zzhandle, zzitemId);


zzhandle.GetItem(zzitemId, assaik);





// Verificar si el ??tem seleccionado es uno de los scrolls espec??ficos
if ( isScrollID(assaik.ClassID) )
{

// zzenchant_slot.Clear();
Clear();
xxAgregarItemsEnInventario();





zzenchant_slot.AddItem(assaik);






}




}



function OnShow()
{
xxAgregarItemsEnInventario();
xxAgregarScrollEnInventario();
zzitem_ani.SetLoopCount(-1);
zzitem_ani.Play();
zzitem_ani.SetAlpha(255);
zzmandoint = -1;
zzparaint = -1;
zzmultiint = -1;
txt_cur.SetText("+0");
txt_nextvalue.SetText("+0");
txt_autovalue.SetText("+ 0");
sinofuscar22();
enchantprogress.SetAnchor("ItemEnchantWnd.enchantProgress", "TopLeft", "TopLeft", -193, 0);
GetINIInt("PatchSettings", "MAX_ENCHANT", zzmaxenchant, "PatchSettings");
enchantprogress.ClearAnchor();
return;
}

function OnEvent(int i, string param)
{
switch(i)
{
// End:0x1D
case 2860:

// OMG("Mensaje: " $ param);

sinofuscar9(param);
ShowWindowWithFocus("ItemEnchantScrollWnd");

// End:0x5D
break;
// End:0x2E
case 2870:
// OMG("Mensaje: " $ param);
sinofuscar17();
// End:0x5D
break;
// End:0x44
case 2880:
sinofuscar11(param);
// End:0x5D
break;
// End:0x5A
case 2890:
sinofuscar12(param);
// End:0x5D
break;
// End:0xFFFF
default:
break;
}
return;
}

function OnTimer(int i)
{
switch(i)
{
// End:0x2C
case 32221:
Me.KillTimer(32221);
sinofuscar16();
// End:0x40
break;
// End:0x3D
case 32222:
sinofuscar19();
// End:0x40
break;
// End:0xFFFF
default:
break;
}
return;
}

function OnClickButton(string param)
{
switch(param)
{
// End:0x1C
case "btnAuto":
sinofuscar5();
// End:0x79
break;
// End:0x34
case "btnEnchant":
sinofuscar19();
// End:0x79
break;
// End:0x4B
case "btnCancel":
sinofuscar8();
// End:0x79
break;
// End:0x60
case "btnPlus":
sinofuscar2();
// End:0x79
break;
// End:0x76
case "btnMinus":
sinofuscar();
// End:0x79
break;
// End:0xFFFF
default:
break;
}
return;
}

function sinofuscar()
{
// End:0x0D
if( zzmandoint <= 0 )
{
return;
}
zzlukator--;
// End:0x2D
if( zzlukator <= 0 )
{
zzlukator = zzlukator + 1;
}
txt_autovalue.SetText("+ "$string(zzlukator));
return;
}

function sinofuscar2()
{
// End:0x10
if( zzmandoint <= 0 )
{
return;
}
else
{
zzlukator++;
}
// End:0x2B
if( zzlukator >= zzmaxenchant )
{
zzlukator = zzmaxenchant;
}
// End:0x44
if( zzlukator <= 0 )
{
zzlukator = zzparaint + 1;
}
txt_autovalue.SetText("+ "$string(zzlukator));
return;
}


function OnDropItem(string param, ItemInfo infomax3, int X, int Y)
{
local Rect r;

r = Me.GetRect();
// End:0x9E
if( (((X > (r.nX + 13)) && X < ((r.nX + r.nWidth) - 10)) && Y > (r.nY + 13)) && Y < ((r.nY + r.nHeight) - 120) )
{

if ( scrolls(infomax3, assaik.ClassID) )
{


sinofuscar3(infomax3);
}
}
return;
}

function sinofuscar3(ItemInfo loakatukax)
{
// End:0x12
if( loakatukax.CrystalType < 1 )
{
return;
}
// End:0x27
if( IsStackableItem(loakatukax.ConsumeType) )
{
return;
}

zzitem_slot.Clear();
zzitem_slot.AddItem(loakatukax);
zzitem_ani.SetAlpha(255);
zzmandoint = loakatukax.ServerID;
zzparaint = loakatukax.Enchanted;
txt_cur.SetText("+"$string(loakatukax.Enchanted));
txt_nextvalue.SetText("+"$string(loakatukax.Enchanted + 1));
zzlukator = 0;
txt_autovalue.SetText("+ 0");
// End:0x105
if( zzparaint == zzmaxenchant )
{
zzbtn_auto.DisableWindow();
zzbtn_start.DisableWindow();
return;
}
zzmultiint = loakatukax.CrystalType;
sinofuscar7();
sinofuscar22();
return;
}

function sinofuscar4()
{
local ItemInfo andotiem;

zzitem_slot.GetItem(0, andotiem);
zzmaticora = True;
// End:0x51
if( sinofuscar18(andotiem.ServerID, andotiem) )
{
Class'EnchantAPI'.static.RequestEnchantItem(andotiem.ServerID);
}
else
{
Class'EnchantAPI'.static.RequestEnchantItem(-1);
Me.KillTimer(32221);
}
return;
}

function sinofuscar5()
{
// End:0x14
if( !zzvalent )
{
sinofuscar6();
}
else
{
sinofuscar7();
}
return;
}

function sinofuscar6()
{
zzbtn_start.SetButtonName(41);
zzbtn_auto.SetButtonName(1536);
zzvalent = True;
sinofuscar19();
return;
}

function sinofuscar7()
{
zzbtn_start.SetButtonName(160);
zzbtn_auto.SetButtonName(1535);
zzvalent = False;
zzmasallla = False;
sinofuscar20();
return;
}

function sinofuscar8()
{
Class'EnchantAPI'.static.RequestEnchantItem(-1);
sinofuscar17();
Me.KillTimer(32221);
return;
}

function Clear()
{
zzenchant_slot.Clear();
zzitem_slot.Clear();
zzvalent = False;
zzanswer = False;
zzmaticora = False;
zzmasallla = False;
zzbtn_start.SetButtonName(160);
zzbtn_auto.SetButtonName(1535);
sinofuscar20();
enchantprogress.SetAnchor("ItemEnchantWnd.enchantProgress", "TopLeft", "TopLeft", -193, 0);
enchantprogress.ClearAnchor();
return;
}











function sinofuscar9(string param)
{
local int ClassID;
// local ItemInfo assaik, dalekax;


ParseInt(param, "ClassID", ClassID);

// End:0xC6
if( Me.IsShowWindow() )
{
// End:0x42
if( !GetItemInfo(ClassID, assaik) )
{
return;
}


texCountNoStack(assaik);
zzenchant_slot.GetItem(0, dalekax);
// End:0x8A
if( dalekax.ClassID > 0 )
{
zzenchant_slot.SetItem(0, assaik);
}
else
{
zzenchant_slot.AddItem(assaik);
}

// End:0xB3
/* if(zzvarak != ClassID)
{
// sinofuscar7();
}*/
zzvarak = ClassID;
sinofuscar22();


xxAgregarItemsEnInventario();
xxAgregarScrollEnInventario();

return;
}
Clear();
// End:0xE3
if( !GetItemInfo(ClassID, assaik) )
{
return;
}
zzvarak = ClassID;
texCountNoStack(assaik);
zzenchant_slot.AddItem(assaik);


Me.ShowWindow();



Me.SetFocus();



return;
}

function sinofuscar10(ItemInfo info)
{
txt_cur.SetText("+"$string(info.Enchanted));
txt_nextvalue.SetText("+"$string(info.Enchanted + 1));
enchantprogress.SetAnchor("ItemEnchantWnd.enchantProgress", "TopLeft", "TopLeft", -193, 0);
enchantprogress.ClearAnchor();
return;
}

function sinofuscar11(string param)
{
local ItemInfo itemfatalki;

ParamToItemInfo(param, itemfatalki);
zzinfoarray[zzinfoarray.Length] = itemfatalki;
return;
}

function sinofuscar12(string param)
{
local ItemInfo mandetkkk;

// End:0x1D
if( !GetItemInfo(zzvarak, mandetkkk) )
{
sinofuscar17();
return;
}
Me.SetTimer(32221, 500);
return;
}

function sinofuscar13()
{
local int i;
local ItemInfo infotularak;

i = 0;
J0x07:

// End:0x143 [Loop If]
if( i < zzinfoarray.Length )
{
// End:0x139
if( zzinfoarray.ServerID == zzmandoint )
{
// End:0x139
if( sinofuscar18(zzmandoint, infotularak) )
{
// End:0xC5
if( zzmaticora )
{
// End:0x95
if( infotularak.Enchanted > zzparaint )
{
sinofuscar14("L2UI_CH3.ItemEnchant_DF_Effect_Success_00");
xxAgregarItemsEnInventario();
xxAgregarScrollEnInventario();
}
else
{
sinofuscar14("L2UI_CH3.ItemEnchant_DF_Effect_Failed_01");
xxAgregarItemsEnInventario();
xxAgregarScrollEnInventario();
}
}
zzparaint = infotularak.Enchanted;
sinofuscar10(infotularak);
// End:0x10A
if( zzparaint == zzmaxenchant )
{
zzbtn_auto.DisableWindow();
zzbtn_start.DisableWindow();
xxAgregarItemsEnInventario();
xxAgregarScrollEnInventario();
}
zzmultiint = infotularak.CrystalType;
zzitem_slot.SetItem(0, infotularak);

zzmaticora = False;
return;
}
}
++i;
// [Loop Continue]
goto J0x07;
}
// End:0x17C
if( zzmaticora )
{
sinofuscar14("L2UI_CH3.ItemEnchant_DF_Effect_Failed_01");
xxAgregarItemsEnInventario();
xxAgregarScrollEnInventario();
}
sinofuscar15();
// End:0x1B3
if( GetItemInfo(sinofuscar21(zzmultiint), infotularak) )
{
zzitem_slot.SetItem(0, infotularak);
}
else
{
zzitem_slot.Clear();
}
zzitem_ani.SetAlpha(255);
zzvalent = False;
sinofuscar20();
sinofuscar22();
return;
}

function sinofuscar14(string param)
{
zzresult_ani.SetTexture(param);
zzresult_ani.SetLoopCount(1);
zzresult_ani.Play();
enchantprogress.HideWindow();
enchantprogress.SetAnchor("ItemEnchantWnd.enchantProgress", "TopLeft", "TopLeft", -193, 0);
enchantprogress.ClearAnchor();
return;
}

function sinofuscar15()
{
local array<ItemInfo> infoitemar;

zzinfoarray = infoitemar;
return;
}

function sinofuscar16()
{
local ItemInfo infoteak;

sinofuscar13();
// End:0x1B
if( GetItemInfo(zzvarak, infoteak) )
{
return;
}
zzenchant_slot.Clear();
sinofuscar22();
return;
}

function sinofuscar17()
{
Me.HideWindow();
HideWindow("ItemEnchantScrollWnd");
Clear();
zzvarak = -1;
zzmandoint = -1;
zzparaint = -1;
zzmultiint = -1;
return;
}

function bool GetItemInfo(int Id, out ItemInfo infotucas)
{
local int i, j;
local InventoryWnd scripts;

scripts = InventoryWnd(GetScript("InventoryWnd"));
j = scripts.m_invenItem.FindItemWithClassID(Id);
scripts.m_invenItem.GetItem(j, infotucas);
// End:0xF3
if( j == -1 )
{
i = 0;
J0x7A:

// End:0xF3 [Loop If]
if( i < 15 )
{
j = scripts.zzm_equipItem.FindItemWithClassID(Id);
scripts.zzm_equipItem.GetItem(j, infotucas);
// End:0xE9
if( j > -1 )
{
// [Explicit Break]
goto J0xF3;
}
++i;
// [Loop Continue]
goto J0x7A;
}
}
J0xF3:

// End:0x104
if( j > -1 )
{
return True;
}

}

function bool sinofuscar18(int Id, out ItemInfo mandutkooo)
{
local int i, j;
local InventoryWnd scripts;

scripts = InventoryWnd(GetScript("InventoryWnd"));
j = scripts.m_invenItem.FindItemWithServerID(Id);
scripts.m_invenItem.GetItem(j, mandutkooo);
// End:0xF3
if( j == -1 )
{
i = 0;
J0x7A:

// End:0xF3 [Loop If]
if( i < 15 )
{
j = scripts.zzm_equipItem.FindItemWithServerID(Id);
scripts.zzm_equipItem.GetItem(j, mandutkooo);
// End:0xE9
if( j > -1 )
{
// [Explicit Break]
goto J0xF3;
}
++i;
// [Loop Continue]
goto J0x7A;
}
}
J0xF3:

// End:0x104
if( j > -1 )
{
return True;
}

}

function sinofuscar19()
{
local ItemInfo infomax;

// End:0x0B
if( zzmasallla )
{
return;
}
zzmasallla = True;
zzitem_slot.GetItem(0, infomax);
zzenchant_slot.GetItem(0, madotax);
// End:0x211
if( (madotax.ItemNum >= 1) && infomax.ItemNum == 1 )
{
// End:0x1A6
if( GetItemInfo(madotax.ClassID, madotax) )
{
// End:0x10F
if( zzvalent )
{
// End:0x10F
if( zzparaint >= zzlukator )
{
sinofuscar7();
zzbtn_auto.DisableWindow();
zzbtn_start.DisableWindow();
zzitem_slot.Clear();
zzitem_ani.SetAlpha(255);
txt_autovalue.SetText("+0");
txt_cur.SetText("+0");
txt_nextvalue.SetText("+ 0");
return;
}
}
RequestUseItem(madotax.ServerID);
enchantprogress.ShowWindow();
enchantprogress.SetAnchor("ItemEnchantWnd.enchantProgress", "TopLeft", "TopLeft", -193, 0);
enchantprogress.ClearAnchor();
enchantprogress.Move(193, 0, float(900) / float(1000));
}
// End:0x1BC
if( infomax.ClassID == -1 )
{
return;
}
zzenchant_ani.SetLoopCount(1);
zzenchant_ani.Play();
PlaySound("Itemsound2.smelting.smelting_loding");

zzanswer = True;
}
else
{
// End:0x21E
if( !zzvalent )
{
return;
}
zzvalent = False;
sinofuscar20();
}
return;
}

function sinofuscar20()
{
zzenchant_ani.SetLoopCount(0);
zzenchant_ani.Stop();

zzanswer = False;
Me.KillTimer(32222);
return;
}

function OnTextureAnimEnd(AnimTextureHandle mandot)
{
switch(mandot)
{
// End:0x5C
case zzenchant_ani:
// End:0x1C
if( !zzanswer )
{
return;
}
sinofuscar4();
// End:0x2F
if( !zzvalent )
{
return;
}
Me.KillTimer(32222);
Me.SetTimer(32222, 100);
// End:0x74
break;
// End:0x71
case zzresult_ani:
zzmasallla = False;
return;
// End:0x74
break;
// End:0xFFFF
default:
break;
}
return;
}

function int sinofuscar21(int i)
{
switch(i)
{
// End:0x14
case 1:
return 1458;
// End:0x4F
break;
// End:0x22
case 2:
return 1459;
// End:0x4F
break;
// End:0x30
case 3:
return 1460;
// End:0x4F
break;
// End:0x3E
case 4:
return 1461;
// End:0x4F
break;
// End:0x4C
case 5:
return 1462;
// End:0x4F
break;
// End:0xFFFF
default:
break;
}

}

function sinofuscar22()
{
local ItemInfo info, slotinfo;

zzitem_slot.GetItem(0, info);
zzenchant_slot.GetItem(0, slotinfo);
// End:0x6D
if( (slotinfo.ItemNum >= 1) && info.ItemNum == 1 )
{
zzbtn_auto.EnableWindow();
zzbtn_start.EnableWindow();
}
else
{
zzbtn_auto.DisableWindow();
zzbtn_start.DisableWindow();
}
return;
}


 
Нет, а что похож ?? ))) человек опытный в этом деле тем более что касается сборки Lucera2. Если личные вопросы не по теме то пиши в лс, могу сказать сколько сахар нынче стоит. А если зашел пофлудить то нахерспляжа.
Очень похож.
 
@lotus2k24 on discord. He also have an updated version with more functions.
 
ПС сделал, кому нужно, просто нужно или пригодится:
Найти класс заточки и ее проверку и просто заменить на if (true)

Пример как было у меня: if ( scrolls(infomax3, assaik.ClassID) ) заменяем на if (true)
 
Назад
Сверху