Иконка ресурса

"Abstract" interface for Interlude

  • Автор темы Автор темы Petr
  • Дата начала Дата начала
Assertion failed: Defaults.Num() [File:d:\work\interlude\2007_05_23\warfare2110\core\inc\UnClass.h] [Line: 543]History: ULevel::SpawnActor <- (kel_mahum_champion_50_bi) <- UNetworkHandler::Tick <- Function Name=NpcInfoPacket <- UGameEngine::Tick <- UpdateWorld <- MainLoop

Assertion failed: Defaults.Num() [File:d:\work\interlude\2007_05_23\warfare2110\core\inc\UnClass.h] [Line: 543]History: ULevel::SpawnActor <- (FElf) <- UNetworkHandler::Tick <- Function Name=CIPacket <- UGameEngine::Tick <- UpdateWorld <- MainLoop


this is some of the error i get

also can you add this fix?

History: UpdateAnimation <- AActor::Tick <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- TickLevel <- UGameEngine::Tick <- UpdateWorld <- MainLoop
 
Я планировал адаптировать его к fafurion/secret empire p166, скоро поделюсь им и оставлю ссылки здесь.

Кстати, можно ли адаптировать вступление и логин из essence?
 
Я планировал адаптировать его к fafurion/secret empire p166, скоро поделюсь им и оставлю ссылки здесь.

Кстати, можно ли адаптировать вступление и логин из essence?
Думаешь если б можно было добавить ролик как заставку к логину я бы этого не сделал?)
С помощью сторонных файлов может и можно, но у меня при "создании" сиё чудо стояла одна задача без сторонных файлов кроме .ini

P.S Я уже представил себе если записать ролик в хорошем качестве разбить на 100 текстур и сделать анимацию )))))
 
Последнее редактирование:
Думаешь если б можно было добавить ролик как заставку к логину я бы этого не сделал?)
С помощью сторонных файлов может и можно, но у меня при "создании" сиё чудо стояла одна задача без сторонных файлов кроме .ini

P.S Я уже представил себе если записать ролик в хорошем качестве разбить на 100 текстур и сделать анимацию )))))
Я полагаю, что существует источник для версии Assassin, и он использует эти два типа USM. Нам нужно тщательно изучить его, чтобы понять, как его «флэш» использует их и как это реализовано
 
thank you very much for the answer and your time !

Посмотреть вложение zapis-ekrana-2026-02-01-195850_eXM59rXU.mp4

Если вдруг неохото искать как сделать рабочими ссылки.

Можишь сделать кнопки под команды которые есть на сервере .cfg .online .menu .en .ru //admin ...

Добавь в класс SystemMenuWnd

function OnClickButton( string strID )
C:
        case "btnHome":
            ExecuteCommand(".online");
            break;

Кстати именно с кнопкой Website проблемма в interface.u она btnWebsite хотя в interface.xdat btnHome должно быть одинакого.

Думаешь если б можно было добавить ролик как заставку к логину я бы этого не сделал?)
Я полагаю, что существует источник для версии Assassin, и он использует эти два типа USM. Нам нужно тщательно изучить его, чтобы понять, как его «флэш» использует их и как это реализовано
Всё ради вас.
 
Последнее редактирование:
have code for lucera interlude to teleport option
 
У меня есть код Giran Forge, но я не знаю, какой параметр обхода нужно ввести в TeleportWnd.uc. Можете мне помочь?

Там он называеться Teleport2k2Wnd мне пока в лом туда лезть тем более что есть ГК и КБ.

Если вдруг кто хочит покавырять и поделится рабочей версией:
C:
//================================================================================
// Teleport2k2Wnd.
//================================================================================

class Teleport2k2Wnd extends UICommonAPI;

var WindowHandleMe;
был TextureHandle zzt_BG;
var int zzi_TownsCount;
var int zzzzi_AreasCount;
var int zzi_QuestAreasCount;
была строка zzs_lastBypass;
var array<string> zzs_ClanArea;
var TextBoxHandle zztxtzone;
var TextBoxHandle zztxtQuest;
var TextBoxHandle zzTxtDbClick;
const Teleport2k2Wnd= "Teleport2k2Wnd.";
const zzTREENameQuest = "QuestInfo";
const zzTREENameArea= "HuntingInfo";
const zzTREENameTown= "TownsInfo";

функция OnLoad()
{

    Me = xxGetWindowHandle("Teleport2k2Wnd");
    zzt_BG = xxGetTextureHandle("Teleport2k2Wnd.bgTeleport");
    zztxtzone = xxGetTextBoxHandle("Teleport2k2Wnd.txtzoneName");
    zztxtQuest = xxGetTextBoxHandle("Teleport2k2Wnd.txtHuntingZone");
    zzTxtDbClick = xxGetTextBoxHandle("Teleport2k2Wnd.txtDoubleClick");
    zzi_TownsCount = 0;
    zzzzi_AreasCount = 0;
    zzi_QuestAreasCount = 0;
    HideWindow(("Teleport2k2Wnd."$"QuestInfo"));
}



функция OnEnterState (имя State)
{
    xxResetTeleport();
}



функция xxResetTeleport()
{
    zztxtzone.SetText("Зона установлена");
    zztxtQuest.SetText("Телепортируйтесь сейчас");
    zzTxtDbClick.SetText("Двойной щелчок для перемещения");
    xxGetWindowHandle("Teleport2k2Wnd.txtHuntingZone2").HideWindow();
    HideWindow(("Teleport2k2Wnd."$"QuestInfo"));

    TreeClear((("Teleport2k2Wnd."$"")$"HuntingInfo"));

    TreeClear((("Teleport2k2Wnd."$"")$"QuestInfo"));
    SetQuestTab(False);
    zzi_TownsCount = 0;
    zzzzi_AreasCount = 0;
    zzi_QuestAreasCount = 0;
    xxHandleLoadTeleport();
}

функция OnShow()
{

    xxResetTeleport();
}

функция xxHandleLoadTeleport()
{
    local int zzi;
    локальная строка zzzzt_Name;

    zzi = 1;
J0x07:

    // Конец:0x8C [Цикл, если]
    если (zzi < 20)
    {
        // Конец:0x82
        if( GetINIString("TownsInfo", string(zzi), zzzzt_Name, "teleport") )
        {
            // Конец:0x59
            if( zzi_TownsCount == 0 )
            {
                xxfirstTeleport("TownsInfo");
            }
            xxaddTeleport("TownsInfo", zzzzt_Name, string(zzi_TownsCount), zzi_TownsCount);
            zzi_TownsCount++;
        }
        zzi++;
        // [Продолжение цикла]
        перейти к J0x07;
    }
    возвращаться;
}

function xxHandleTeleportAreas(int zzi_Area)
{
    local int zzi;
    local int zzj;
    локальная строка zzt_Param;
    локальная строка zzt_Name;
    локальная строка zzt_Bypass;
    локальная строка zzt_Level;
    локальная строка zzt_Price;
    локальная строка zzt_Items;
    локальная строка zzt_Types;
    локальный массив<строка> zzs_EventArea;
    local bool zzisEventArea;

    SetQuestTab(False);
    xxGetWindowHandle("Teleport2k2Wnd.txtHuntingZone2").HideWindow();
    zzi = 1;
J0x3B:

    // Конец:0x27A [Цикл, если]
    если (zzi < 20)
    {
        zzisEventArea = False;
        // Конец:0x270
        if( GetINIString(("HuntingInfo"$"_")$string(zzi_Area), string(zzi), zzt_Param, "teleport") )
        {
            // Конец:0xEE
            если(zzi_Area == 4)
            {
                zzj = 0;
            J0x9C:

                // Конец:0xEE [Цикл, если]
                if( zzj < zzs_ClanArea.Length )
                {
                    zzs_EventArea = xxlista23(zzs_ClanArea[zzj], ",");
                    // Конец:0xE4
                    if( string(zzi) == zzs_EventArea[0] )
                    {
                        zzisEventArea = True;
                        // [Явная пауза]
                        перейти к J0xEE;
                    }
                    zzj++;
                    // [Продолжение цикла]
                    перейти к J0x9C;
                }
            }
        J0xEE:

            // Конец: 0x10C
            если (zzzzi_AreasCount == 0)
            {
                xxfirstTeleport("HuntingInfo");
            }
            ParseString(zzt_Param, "Name", zzt_Name);
            // Конец:0x146
            if( !ParseString(zzt_Param, "price", zzt_Price) )
            {
                zzt_Price = "";
            }
            // Конец:0x16A
            if( !ParseString(zzt_Param, "level", zzt_Level) )
            {
                zzt_Level = "";
            }
            // Конец:0x18E
            if( !ParseString(zzt_Param, "itens", zzt_Itens))
            {
                zzt_Items = "";
            }
            // Конец:0x1B2
            if( !ParseString(zzt_Param, "types", zzt_Types) )
            {
                zzt_Types = "";
            }
            // Конец:0x1E6
            if( !ParseString(zzt_Param, "quest", zzt_Bypass) )
            {
                ParseString(zzt_Param, "Bypass", zzt_Bypass);
            }
            // Конец:0x233
            if( zzisEventArea )
            {
                xxaddTeleport("HuntingInfo", zzt_Name, zzt_Bypass, zzzzi_AreasCount, zzt_Price, zzt_Level, zzt_Itens, zzt_Types, zzs_ClanArea[zzj]);               
            }
            еще
            {
                xxaddTeleport("HuntingInfo", zzt_Name, zzt_Bypass, zzzzi_AreasCount, zzt_Price, zzt_Level, zzt_Itens, zzt_Types);
            }
            zzzzi_AreasCount++;
        }
        zzi++;
        // [Продолжение цикла]
        перейти к J0x3B;
    }
    возвращаться;
}

function xxHandleTeleportQuestAreas(int zzi_Area)
{
    локальная строка zzt_Param;
    локальная строка zzt_Name;
    локальная строка zzt_Bypass;
    локальная строка zzt_Level;
    локальная строка zzt_Price;
    локальная строка zzt_Items;
    локальная строка zzt_Types;
    local int zzi;
    локальная строка zztmpTabName;

    SetQuestTab(True);
    if ( GetINIString((("QuestInfo"$"_")$string(zzi_Area)),"AreaName",zztmpTabName,"teleport") )
    {
        xxGetTextBoxHandle("Teleport2k2Wnd.txtHuntingZone2").SetText(zztmpTabName);
        xxGetWindowHandle("Teleport2k2Wnd.txtHuntingZone2").ShowWindow();
    }
    еще
    {
        xxGetWindowHandle("Teleport2k2Wnd.txtHuntingZone2").HideWindow();
    }
    zzi = 1;
J0xD8:

    // Конец:0x23B [Цикл, если]
    если (zzi < 20)
    {
        // Конец:0x231
        if( GetINIString(("QuestInfo"$"_")$string(zzi_Area), string(zzi), zzt_Param, "teleport") )
        {
            // Конец:0x138
            если ( zzi_QuestAreasCount == 0 )
            {
                xxfirstTeleport("QuestInfo");
            }
            ParseString(zzt_Param, "Name", zzt_Name);
            ParseString(zzt_Param, "Bypass", zzt_Bypass);
            // Конец:0x18A
            if( !ParseString(zzt_Param, "price", zzt_Price) )
            {
                zzt_Price = "";
            }
            // Конец:0x1AE
            if( !ParseString(zzt_Param, "level", zzt_Level) )
            {
                zzt_Level = "";
            }
            // Конец:0x1D2
            if( !ParseString(zzt_Param, "itens", zzt_Itens))
            {
                zzt_Items = "";
            }
            // Конец:0x1F6
            if( !ParseString(zzt_Param, "types", zzt_Types) )
            {
                zzt_Types = "";
            }
            xxaddTeleport("QuestInfo", zzt_Name, zzt_Bypass, zzi_QuestAreasCount, zzt_Price, zzt_Level, zzt_Itens, zzt_Types);
            zzi_QuestAreasCount++;
        }
        zzi++;
        // [Продолжение цикла]
        готический J0xD8;
    }
    возвращаться;
}

function xxfirstTeleport(string zzl_TREEName)
{
    local XMLTreeNodeInfo zzinfNode;
    локальная строка zztmpTREEName;
    локальная строка zzval;
    zztmpTREEName = ("Teleport2k2Wnd."$zzl_TREEName);
    
    TreeClear(zztmpTREEName);
    
    zzinfNode.strName = zzl_TREEName;
    zzinfNode.nOffSetX = 0;
    zzinfNode.nOffSetY = 0;
    zzval = getxml(zztmpTREEName,"",zzinfNode);
}

function xxaddTeleport(string zzl_TREEName, string zzt_Name, string zzt_Bypass, int zzi_Line, optional string zzt_Price, optional string zzt_Level, optional string zzt_Itens, optional string zzt_Types, optional string zzs_AreaInfo)
{
    local XMLTreeNodeInfo zzinfNode;
    локальная строка zzstrRetName;
    локальная строка zztmpTREEName;
    локальный массив<строка> zzs_EventArea;

    если (zzs_AreaInfo != "")
    {
        zzs_EventArea = xxlista23(zzs_AreaInfo,","");
    }
    zztmpTREEName = ("Teleport2k2Wnd."$zzl_TREEName);
    zzinfNode.strName = zzt_Bypass;
    zzinfNode.bFollowCursor = True;
    если ( zzt_Itens != "" )
    {
        zzinfNode.ToolTip = xxMakeTooltipItens(zzt_Name,zzt_Itens,zzt_Types,zzs_EventArea);
    }
    еще
    {
        zzinfNode.ToolTip = xxMakeTooltipTeleport(zzt_Name,zzt_Bypass);
    }
    zzinfNode.nOffSetY = 0;
    zzinfNode.bShowButton = 0;
    zzinfNode.nTexExpandedHeight = 38;
    zzinfNode.nTexExpandedRightWidth = 5;
    zzinfNode.nTexExpandedLeftUWidth = 30;
    zzinfNode.nTexExpandedLeftUHeight = 38;
    zzinfNode.strTexExpandedLeft = "L2UI_CH3.etc.IconSelect2";
    zzstrRetName = getxml(zztmpTREEName,zzl_TREEName,zzinfNode);
    если ( ((zzi_Line % 2) == 0) )
    {
        if ( (zzs_EventArea.Length > 0) && (int(zzs_EventArea[1]) == 1) )
        {
            xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.red_bg",262,38);
        }
        еще
        {
            xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.Null",262,38);
        }
    }
    еще
    {
        if ( (zzs_EventArea.Length > 0) && (int(zzs_EventArea[1]) == 1) )
        {
            xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.red_bg",262,38);
        }
        еще
        {
            xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.etc.GroupBox_df_LineBack",262,38);
        }
    }
    если ( "TownsInfo" != zzl_TREEName )
    {
        если ( zzt_Price != "" )
        {
            xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.teleportIcon2",15,15, -255,4);
        }
        еще
        {
            если ( ((zzs_EventArea.Length > 0) && (int(zzs_EventArea[1]) == 1)) )
            {
                xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.pvp_icon",15,20, -251,8);
            }
            еще
            {
                xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.teleportIcon",15,15, -251,11);
            }
        }
    }
    еще
    {
        xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.teleportIcon",15,15, -251,11);
    }
    если ( (Len(zzt_Name) > 28) )
    {
        zzt_Name = (Left(zzt_Name,28)$"..");
    }
    если ( "TownsInfo" != zzl_TREEName )
    {
        если ( zzt_Price != "" )
        {
            xxStxXml(zztmpTREEName,zzstrRetName,zzt_Name,7,5,0,True);
        }
        еще
        {
            xxStxXml(zztmpTREEName,zzstrRetName,zzt_Name,7,12,0,True);
        }
    }
    еще
    {
        xxStxXml(zztmpTREEName,zzstrRetName,zzt_Name,7,12,0,True);
    }
    если ( zzt_Level != "" )
    {
        xxStxXml(zztmpTREEName,zzstrRetName,("Lv "$zzt_Level),29, -15,2,True,True);
    }
    если ( zzt_Price != "" )
    {
        xxStxXml(zztmpTREEName,zzstrRetName,zzt_Price,(168 - (Len(zzt_Price) * 5)), -15,2,True,True);
        xxstx2k23(zztmpTREEName,zzstrRetName,"L2UI_CH3.InventoryWnd.IconAdena",15,15,2, -15,True);
    }
}

function SetQuestTab (bool tabOn)
{

    если ( tabOn )
    {
        Me.SetWindowSize(680,430);
        zzt_BG.SetTexture("L2UI_CH3.FastTeleportWnd.FastTeleportWnd_BGExt");
        ShowWindow("Teleport2k2Wnd."$"QuestInfo");
    }
    еще
    {
        Me.SetWindowSize(459,430);
        zzt_BG.SetTexture("L2UI_CH3.FastTeleportWnd.FastTeleportWnd_BG");
        HideWindow("Teleport2k2Wnd."$"QuestInfo");
    }
}

function OnClickButton (string zzclick )
{
    локальная строка zzb_Bypass;
    локальная строка zzb_Town;
    локальная строка zzb_Area;
    локальная строка zzb_Quest;

    zzb_Town = Left(zzclick,Len("TownsInfo"));
    zzb_Area = Left(zzclick,Len("HuntingInfo"));
    zzb_Quest = Left(zzclick,Len("QuestInfo"));
    zzs_lastBypass = "";
    если (zzb_Town == "TownsInfo" )
    {
        zzi_QuestAreasCount = 0;
        zzzzi_AreasCount = 0;
        zzb_Bypass = Mid(zzclick,(Len("TownsInfo") + 1));
    
        xxHandleTeleportAreas((int(zzb_Bypass) + 1));
    }
    еще
    {
        if ( zzb_Area == "HuntingInfo" )
        {
            zzi_QuestAreasCount = 0;
            zzb_Bypass = Mid(zzclick,(Len("HuntingInfo") + 1));
            если ( (InStr(zzb_Bypass,"QuestInfo") > -1) )
            {
                zzb_Bypass = Mid(zzb_Bypass,(Len("QuestInfo") + 1));
        
                xxHandleTeleportQuestAreas (int (zzb_Bypass));
            }
            еще
            {
                zzs_lastBypass = zzb_Bypass;
            }
        }
        еще
        {
            if ( zzb_Quest == "QuestInfo" )
            {
                zzb_Bypass = Mid(zzclick,(Len("QuestInfo") + 1));
                zzs_lastBypass = zzb_Bypass;
            }
        }
    }
}

function OnLButtonDblClick (int zzX, int zzY)
{
    local Rect zzTeleport2k2WndRect;
    local Rect zzQuestInfoRect;

    zzTeleport2k2WndRect = Class'UIAPI_WINDOW'.static.GetRect(("Teleport2k2Wnd."$"HuntingInfo"));
    zzQuestInfoRect = Class'UIAPI_WINDOW'.static.GetRect(("Teleport2k2Wnd."$"QuestInfo"));
    если ( ((zzX >= zzTeleport2k2WndRect.nX) && (zzX <= (zzQuestInfoRect.nX + zzQuestInfoRect.nWidth - 10)) && (zzY >= zzQuestInfoRect.nY)) )
    {
        // если ( (Left(zzs_lastBypass,1) == " ") )
        // {
            xxbypass(zzs_lastBypass);
        // }
    }
    если ( ((zzX >= zzTeleport2k2WndRect.nX) && (zzX <= (zzQuestInfoRect.nX + zzQuestInfoRect.nWidth - 10)) && (zzY >= zzQuestInfoRect.nY)) )
    {
        // если ( (Left(zzs_lastBypass,1) == " ") )
        // {
            xxbypass(zzs_lastBypass);
        // }
    }
}


/*function OnLButtonDblClick (int zzX, int zzY)
{
    local Rect zzTeleport2k2WndRect;
    local Rect zzQuestInfoRect;

    zzTeleport2k2WndRect = Class'UIAPI_WINDOW'.static.GetRect(("Teleport2k2Wnd."$"HuntingInfo"));
    zzQuestInfoRect = Class'UIAPI_WINDOW'.static.GetRect(("Teleport2k2Wnd."$"QuestInfo"));
    если ( ((zzX >= zzTeleport2k2WndRect.nX) && (zzX <= (zzQuestInfoRect.nX + zzQuestInfoRect.nWidth - 10)) && (zzY >= zzQuestInfoRect.nY)) )
    {
        //if ( (Left(zzs_lastBypass,1) == " ") )
    // {
        xxbypass(zzs_lastBypass);
    // }
    }
    если ( ((zzX >= zzTeleport2k2WndRect.nX) && (zzX <= (zzQuestInfoRect.nX + zzQuestInfoRect.nWidth - 10)) && (zzY >= zzQuestInfoRect.nY)) )
    {
    // если ( (Left(zzs_lastBypass,1) == " ") )
    // {
        xxbypass(zzs_lastBypass);
    // }
    }
}*/


функция xxbypass(string zzs_lastBypass)
{
    Me.HideWindow();
 // ExecuteCommand(".GkGo " $ zzs_lastBypass);
 
// RequestBypassToServer("scripts_services.Interface:GkGo "$zzs_lastBypass);
// RequestBypassToServer("goto "$zzs_lastBypass);
// RequestBypassToServer("_LotusUI Teleport "$zzs_lastBypass);
    // RequestBypassToServer("scripts_services.Interface:GkGo "$zzs_lastBypass);
    //RequestBypassToServer((("scripts_services.Interface:GkGo: "$string(zzs_lastBypass))));
    RequestBypassToServer((("scripts_services.Interface:GkGo: "$(zzs_lastBypass))));
  
// RequestBypassToServer("_bpUI teleport "$zzs_lastBypass);
}




function CustomTooltip xxMakeTooltipTeleport(string zzTeleportName, string zzBypass)
{
    local int zzi;
    local CustomTooltip zzToolTip;

    zzi = 0;
    zzToolTip.DrawList.Length = 5;
    если ( (Left(zzBypass,1) == "_") )
    {
        zzToolTip.DrawList[zzi] = xxDrawText(zzTeleportName,xxgetInstanceL2Util().BWhite,True,False,3,5);
        zzi++;
        zzToolTip.DrawList[zzi] = DrawTex("L2UI_CH3.tooltip_line",200,1,1,1,0,8,True,True);
        zzi++;
        zzToolTip.DrawList[zzi] = xxDrawText(GetSystemString(1653),GetColortool(176,155,121,255),True,True,3,4);
        zzi++;
        zzToolTip.DrawList[zzi] = xxDrawBlank(3);
        zzi++;
    }
    еще
    {
        zzToolTip.DrawList[zzi] = xxDrawText(zzTeleportName,xxgetInstanceL2Util().BWhite,True,False,3,5);
        zzi++;
        zzToolTip.DrawList[zzi] = xxDrawText(" ",xxgetInstanceL2Util().Yellow,True,False,3,5);
        zzi++;
        zzToolTip.DrawList[zzi] = xxDrawBlank(4);
        zzi++;
    }
    return zzToolTip;
}

function CustomTooltip xxMakeTooltipItens(string zzTeleportName, string strItens, string strTypes, array<string> zzs_EventArea)
{
    local int i;
    локальное целое число j;
    local CustomTooltip zzToolTip;
    локальный массив<строка> zzarrItens;
    локальный массив<строка> zzarrTypes;
    local int zzIconSize;
    локальная строка zzClanName;
    локальная текстура zzClanCrestTexture;
    локальная текстура zzAllyCrestTexture;


    if ( ((zzs_EventArea.Length >= 1) && (int(zzs_EventArea[2]) > 0)) )
    {
        zzClanName = zzs_EventArea[3];
        Class'UIDATA_CLAN'.static.GetAllianceCrestTexture(int(zzs_EventArea[2]),zzAllyCrestTexture);
        Class'UIDATA_CLAN'.static.GetCrestTexture(int(zzs_EventArea[2]),zzClanCrestTexture);
    }
    zzIconSize = 24;
    zzarrItens = xxlista23(strItens,",");
    zzarrTypes = xxlista23(strTypes,",");
    i = 0;
    zzToolTip.MinimumWidth = 200;
    zzToolTip.DrawList.Length = 5;
    zzToolTip.DrawList[i] = xxDrawText(zzTeleportName,xxgetInstanceL2Util().BWhite,True,False,3,5);
    i++;
    zzToolTip.DrawList[i] = DrawTex("L2UI_CH3.tooltip_line",200,1,1,1,0,8,True,True);
    i++;
    если (zzClanName != "")
    {
        zzToolTip.DrawList[i] = xxDrawText(GetSystemString(1693),GetColortool(176,155,121,255),True,True,3,4);
        i++;
        если (zzAllyCrestTexture != None)
        {
            zzToolTip.DrawList[i] = DrawTex(string(zzAllyCrestTexture),8,16,8,16,5,5,True,True);
            i++;
            если (zzClanCrestTexture != None)
            {
                zzToolTip.DrawList[i] = DrawTex(string(zzClanCrestTexture),16,16,16,16,0,5,True,False);
                i++;
                zzToolTip.DrawList[i] = DrawTex("L2UI_CH3.crestLine",30,22, -1, -1, -26,3,True,False);
                i++;
            }
            еще
            {
                zzToolTip.DrawList[i] = DrawTex("L2UI_CH3.crestLine",30,22, -1, -1, -10,3,True,False);
                i++;
            }
        }
        еще
        {
            если (zzClanCrestTexture != None)
            {
                zzToolTip.DrawList[i] = DrawTex(string(zzClanCrestTexture),16,16,16,16,15,5,True,True);
                i++;
                zzToolTip.DrawList[i] = DrawTex("L2UI_CH3.crestLine",30,22, -1, -1, -26,3,True,False);
                i++;
            }
            еще
            {
                zzToolTip.DrawList[i] = DrawTex("L2UI_CH3.crestLine",30,22, -1, -1,3,3,True,True);
                i++;
            }
        }
        zzToolTip.DrawList[i] = xxDrawText(zzClanName,GetColortool(75,185,220,255),True,False,3,8);
        i++;
        zzToolTip.DrawList[i] = DrawTex("L2UI_CH3.tooltip_line",200,1,1,1,0,3,True,True);
        i++;
    }
    zzToolTip.DrawList[i] = xxDrawText(GetSystemString(1652),GetColortool(176,155,121,255),True,True,3,4);
    i++;
    j = 0;
J0x417:

    // Конец:0x575 [Цикл, если]
    if( j < zzarrItens.Length )
    {
        zzToolTip.DrawList[i] = DrawTex("L2UI_CH3.Tooltip.lifeBG", zzIconSize + 2, zzIconSize + 2, 18, 18, 3, 8, True, True);
        i++;
        zzToolTip.DrawList[i] = DrawTex(Class'UIDATA_ITEM'.static.GetItemTextureName(int(zzarrItens[j])), zzIconSize, zzIconSize, 32, 32, -zzIconSize - 1, 9, True, False);
        i++;
        zzToolTip.DrawList[i] = xxDrawText(Class'UIDATA_ITEM'.static.GetItemName(int(zzarrItens[j])), GetColortool(206, 185, 151, 255), True, False, 5, 7);
        i++;
        zzToolTip.DrawList[i] = xxDrawText(xxGetItemType(int(zzarrTypes[j])), xxGetItemTypeColor(int(zzarrTypes[j])), True, True, 33, -14);
        i++;
        j++;
        // [Продолжение цикла]
        перейти к J0x417;
    }
    zzToolTip.DrawList[i] = DrawTex("L2ui_ch3.tooltip_line", 200, 1, 1, 1, 0, 8, True, True);
    i++;
    zzToolTip.DrawList[i] = xxDrawText(GetSystemString(1653), GetColortool(176, 155, 121, 255), True, True, 3, 4);
    i++;
    zzToolTip.DrawList[i] = xxDrawBlank(3);
    i++;
    return zzToolTip;
 
}

функция string xxGetItemType(int zzType)
{
    переключатель (zzType)
    {
        случай 0:
            вернуть "Normal Drop";
        случай 1:
            вернуть "Spoil";
        случай 2:
            вернуть "Событие";
        случай 3:
            вернуть "Чемпион";
        случай 4:
            вернуть "Boses";
        случай 5:
            вернуть "Тираннозавр";
        по умолчанию:
    }
}

функция Color xxGetItemTypeColor(int zzType)
{
    переключатель (zzType)
    {
        случай 0:
            return GetColortool(57,194,55,255);
        случай 1:
            return GetColortool(226,229,38,255);
        случай 2:
            return GetColortool(19,114,224,255);
        случай 3:
            return GetColortool(221,121,62,255);
        случай 4:
            return GetColortool(217,41,236,255);
        случай 5:
            return GetColortool(210,60,80,255);
        по умолчанию:
    }
}
[/КОД]
 
eu tenho o do giran forge, mas não sei qual bysspass colocar noTeleportWnd.uc, você pode me ajudar ?
Add to AltSettings.properties
AltSimpleBypassAllowed = scripts_services.Interface:GkGo

and TeleportWnd.uc
const TELEPORT_BYPASS = "scripts_services.Interface:GkGo";

and TeleportLocationinterface.xml on line 49 replace
C-подобный:
    <teleport id="107" name="Queen Ant" isNoble="false" price="95000" x="-21718" y="182931" z="-5720"/>
на
C-подобный:
<teleport id="107" name="Queen Ant" isNoble="false" price="95000" x="-21718" y="182931" z="-5720" SkillEffectId="2036" />

👆👆👆👆
só um problema, alguns teleport funcionam outros não.
Did you replace it in TeleportLocationsinterface.xml? Maybe your character not nooblesse status?
 
Последнее редактирование:
Посмотреть вложение 93313

Если вдруг неохото искать как сделать рабочими ссылки.

Можишь сделать кнопки под команды которые есть на сервере .cfg .online .menu .en .ru //admin ...

Добавь в класс SystemMenuWnd

function OnClickButton( string strID )
C:
        case "btnHome":
            ExecuteCommand(".online");
            break;

Кстати именно с кнопкой Website проблемма в interface.u она btnWebsite хотя в interface.xdat btnHome должно быть одинакого.



Всё ради вас.
Это будет, так сказать, «UNR». Я пытаюсь выяснить, можно ли здесь использовать «USM», то есть отказаться от использования unr в качестве логина и заменить его видео с петлей, таким же, как вступление в Essence
 
Add to AltSettings.properties
AltSimpleBypassAllowed = scripts_services.Interface:GkGo

and TeleportWnd.uc
const TELEPORT_BYPASS = "scripts_services.Interface:GkGo";

and TeleportLocationinterface.xml on line 49 replace
C-подобный:
    <teleport id="107" name="Queen Ant" isNoble="false" price="95000" x="-21718" y="182931" z="-5720"/>
на
C-подобный:
<teleport id="107" name="Queen Ant" isNoble="false" price="95000" x="-21718" y="182931" z="-5720" SkillEffectId="2036" />
для люцеры не сработало
1769979355881.webp
 
Add to AltSettings.properties
AltSimpleBypassAllowed = scripts_services.Interface:GkGo

and TeleportWnd.uc
const TELEPORT_BYPASS = "scripts_services.Interface:GkGo";

and TeleportLocationinterface.xml on line 49 replace
C-подобный:
    <teleport id="107" name="Queen Ant" isNoble="false" price="95000" x="-21718" y="182931" z="-5720"/>
на
C-подобный:
<teleport id="107" name="Queen Ant" isNoble="false" price="95000" x="-21718" y="182931" z="-5720" SkillEffectId="2036" />
thanks u man!

А ты добавил в AltSettings.properties в строку
AltSimpleBypassAllowed = scripts_services.Interface:GkGo?
Это для тех у кого есть GiranForgeInterlude.ext.jar
só um problema, alguns teleport funcionam outros não.
 
Guys, where can I find a farm button?
Is there somewhere on the site where it’s shared? I want to adapt it to my interface.
I know that afterwards I need to connect it with a core file so the buttons work in the game.

Ребята, откуда можно найти кнопку фарма?
Есть ли где-нибудь на сайте общая версия? Хочу адаптировать её под свой интерфейс.
Я знаю, что потом нужно будет связать её с core-файлом, чтобы кнопки работали в игре.
 
Guys, where can I find a farm button?
Is there somewhere on the site where it’s shared? I want to adapt it to my interface.
I know that afterwards I need to connect it with a core file so the buttons work in the game.

Ребята, откуда можно найти кнопку фарма?
Есть ли где-нибудь на сайте общая версия? Хочу адаптировать её под свой интерфейс.
Я знаю, что потом нужно будет связать её с core-файлом, чтобы кнопки работали в игре.
Get the same xdat files from giranforge.
 
thanks u man!


só um problema, alguns teleport funcionam outros não.
Petr заработало только портует нетуда или вообще не работает

Попробуйте в TeleportWnd.uc заменить байпас на строке 102 на этот
Try replacing the bypass on line 102 in TeleportWnd.uc with this one

C-подобный:
RequestBypassToServer(TELEPORT_BYPASS@"T"$reserved);

и замените id на строках 396 - 304
C-подобный:
z.id = 36; z.name = "The Saint's Necropolis"; z.noble = False; z.price = 73000; z.x = "79296"; z.y = "209584"; zones[zones.Length] = z;
    z.id = 37; z.name = "The Disciple's Necropolis"; z.noble = False; z.price = 35000; z.x = "168560"; z.y = "-17968"; zones[zones.Length] = z;
    z.id = 38; z.name = "The Pilgrim's Necropolis"; z.noble = False; z.price = 32000; z.x = "45600"; z.y = "126944"; zones[zones.Length] = z;
    z.id = 39; z.name = "The Patriot's Necropolis"; z.noble = False; z.price = 49000; z.x = "-25472"; z.y = "77728"; zones[zones.Length] = z;
    z.id = 40; z.name = "Necropolis of Sacrifice"; z.noble = False; z.price = 29000; z.x = "-41184"; z.y = "206752"; zones[zones.Length] = z;
    z.id = 41; z.name = "Necropolis of Worship"; z.noble = False; z.price = 38000; z.x = "107514"; z.y = "174329"; zones[zones.Length] = z;
    z.id = 42; z.name = "Necropolis of Devotion"; z.noble = False; z.price = 39000; z.x = "-56064"; z.y = "78720"; zones[zones.Length] = z;
    z.id = 43; z.name = "Necropolis of Martyrdom"; z.noble = False; z.price = 38000; z.x = "114496"; z.y = "132416"; zones[zones.Length] = z;
 
Назад
Сверху Снизу