Jump to content

Recommended Posts

Posted

I have a EU client of Grand Crusade with protocol 110. I have added russian locale, but adding necessary .dat files and Localization.ini file :

[LanguageSet]
Language=8
0=Korea
1=English
2=Japan
3=Taiwan
4=China
5=Thailand
6=Philippine
7=Indonesia
8=Russia
9=Europe
10=Germany
11=France
12=Poland
13=Turkey
EnableEngSelection=true

 

ANd now I able to run with urssian locale, but... I wish able to choose betwwen two of them 8(Russian) and 9(Europe), but now is accessible just one of them:

image.png.06cf5e8fb024d2a737ae0ce31339c797.png

 

I have tried also change L2.ini:
 

[LanguageSet]
Language=8,9

 

But same result:
image.png.aadda36f481f46622640a25cd23727f9.png

I also has read that some logic might be at OptionWnd class of my Interface.u package, but didn't found has it initialize, just :
 

class OptionWnd extends L2UIGFxScript;

const PARTY_MODIFY_REQUEST = 9;
const DIALOGID_proc1 = 10;
const DIALOGID_proc2 = 11;
const DIALOGID_proc3 = 12;
const DIALOGID_proc4 = 13;
const ID_CALL_DIALOG = 10;
const ID_EXEC_FUNCTION = 11;
const ID_OPENWINDOW = 12;

var bool m_bL2Shader;
var bool m_bDOF;
var bool m_bShaderWater;
var int m_AntiAliasing;
var int m_PostProc;
var bool m_bAutoPartyMatching;
var int g_CurrentMaxWidth;
var int g_CurrentMaxHeight;
var int nPixelShaderVersion;
var int nVertexShaderVersion;
var bool isGAMINGSTATE;
var DialogBox dScript;
var bool bPartyMember;
var bool bPartyMaster;
var FlightShipCtrlWnd scriptShip;
var FlightTransformCtrlWnd scriptTrans;
var array<string> m_datasheetKeyReplace;
var array<string> m_datasheetKeyReplaced;
var bool isOpenShortCut;
var WindowHandle m_hPartyMatchWnd;
var WindowHandle m_hUnionMatchWnd;
var bool preEnterChattingOption;

function OnRegisterEvent()
{
    RegisterEvent(9170);
    RegisterEvent(9175);
    RegisterEvent(1710);
    RegisterEvent(1720);
    RegisterEvent(3410);
    RegisterEvent(4910);
    RegisterEvent(4911);
    RegisterGFxEvent(5870);
    RegisterGFxEvent(3420);
    RegisterGFxEvent(3430);
    RegisterGFxEvent(510);
    RegisterEvent(520);
    RegisterEvent(4913);
    RegisterEvent(4916);
    RegisterEvent(4914);
    RegisterEvent(4915);
    RegisterEvent(4918);
    RegisterEvent(4919);
    RegisterEvent(1560);
    RegisterEvent(40);
    RegisterEvent(4917);
    RegisterGFxEvent(3452);
    RegisterGFxEvent(5871);
    RegisterGFxEvent(691);
    RegisterGFxEvent(692);
    RegisterGFxEvent(6210);
    RegisterGFxEvent(9320);
    RegisterGFxEvent(9330);
    return;
}

function LoadAudioOption()
{
    local bool bMute;

    // End:0x4A
    if(CanUseAudio())
    {
        bMute = GetOptionBool("Audio", "AudioMuteOn");
        SetOptionBool("Audio", "AudioMuteOn", bMute);
    }
    return;
}

function LoadVideoOption()
{
    local bool bKeepMinFrameRate;

    m_AntiAliasing = GetOptionInt("Video", "AntiAliasing");
    m_PostProc = GetOptionInt("Video", "PostProc");
    m_bL2Shader = GetOptionBool("Video", "L2Shader");
    m_bDOF = GetOptionBool("Video", "S30DOFBOX");
    m_bShaderWater = GetOptionBool("Video", "S30WaterEffectBox");
    bKeepMinFrameRate = GetOptionBool("Video", "IsKeepMinFrameRate");
    // End:0x11C
    if(!bKeepMinFrameRate)
    {
        // End:0x11C
        if((nPixelShaderVersion >= 30) && nVertexShaderVersion >= 30)
        {
            SetL2Shader(m_bL2Shader);
            // End:0x11C
            if(m_bL2Shader)
            {
                SetDOF(m_bDOF);
                SetShaderWaterEffect(m_bShaderWater);
            }
        }
    }
    return;
}

function LoadGameOption()
{
    local bool bChecked;
    local int iChecked;

    bChecked = false;
    bChecked = GetOptionBool("Control", "RightClickBox");
    SetFixedDefaultCamera(bChecked);
    // End:0x92
    if(!GetINIBool("ScreenInfo", "ShowZoneTitle", iChecked, "Option.ini"))
    {
        SetOptionBool("ScreenInfo", "ShowZoneTitle", true);
    }
    // End:0xED
    if(!GetINIBool("ScreenInfo", "ShowGameTipMsg", iChecked, "Option.ini"))
    {
        SetOptionBool("ScreenInfo", "ShowGameTipMsg", true);
    }
    return;
}

function OnLoad()
{
    SetContainerWindow("SkinnedWindow", 205);
    AddState("GAMINGSTATE");
    AddState("LOGINSTATE");
    AddState("PAWNVIEWERSTATE");
    AddState("ARENAGAMINGSTATE");
    AddState("ARENABATTLESTATE");
    SetOptionBool("ScreenInfo", "HideDropItem", false);
    GetShaderVersion(nPixelShaderVersion, nVertexShaderVersion);
    LoadVideoOption();
    LoadAudioOption();
    LoadGameOption();
    DataSheetAssignKeyReplacement();
    scriptShip = FlightShipCtrlWnd(GetScript("FlightShipCtrlWnd"));
    scriptTrans = FlightTransformCtrlWnd(GetScript("FlightTransformCtrlWnd"));
    m_hPartyMatchWnd = GetWindowHandle("PartyMatchWnd");
    m_hUnionMatchWnd = GetWindowHandle("UnionMatchWnd");
    return;
}

function DataSheetAssignKeyReplacement()
{
    m_datasheetKeyReplace[1] = "LEFTMOUSE";
    m_datasheetKeyReplace[2] = "RIGHTMOUSE";
    m_datasheetKeyReplace[3] = "BACKSPACE";
    m_datasheetKeyReplace[4] = "ENTER";
    m_datasheetKeyReplace[5] = "SHIFT";
    m_datasheetKeyReplace[6] = "CTRL";
    m_datasheetKeyReplace[7] = "ALT";
    m_datasheetKeyReplace[8] = "PAUSE";
    m_datasheetKeyReplace[9] = "CAPSLOCK";
    m_datasheetKeyReplace[10] = "ESCAPE";
    m_datasheetKeyReplace[11] = "SPACE";
    m_datasheetKeyReplace[12] = "PAGEUP";
    m_datasheetKeyReplace[13] = "PAGEDOWN";
    m_datasheetKeyReplace[14] = "END";
    m_datasheetKeyReplace[15] = "HOME";
    m_datasheetKeyReplace[16] = "LEFT";
    m_datasheetKeyReplace[17] = "UP";
    m_datasheetKeyReplace[18] = "RIGHT";
    m_datasheetKeyReplace[19] = "DOWN";
    m_datasheetKeyReplace[20] = "SELECT";
    m_datasheetKeyReplace[21] = "PRINT";
    m_datasheetKeyReplace[22] = "PRINTSCRN";
    m_datasheetKeyReplace[23] = "INSERT";
    m_datasheetKeyReplace[24] = "DELETE";
    m_datasheetKeyReplace[25] = "HELP";
    m_datasheetKeyReplace[26] = "NUMPAD0";
    m_datasheetKeyReplace[27] = "NUMPAD1";
    m_datasheetKeyReplace[28] = "NUMPAD2";
    m_datasheetKeyReplace[29] = "NUMPAD3";
    m_datasheetKeyReplace[30] = "NUMPAD4";
    m_datasheetKeyReplace[31] = "NUMPAD5";
    m_datasheetKeyReplace[32] = "NUMPAD6";
    m_datasheetKeyReplace[33] = "NUMPAD7";
    m_datasheetKeyReplace[34] = "NUMPAD8";
    m_datasheetKeyReplace[35] = "NUMPAD9";
    m_datasheetKeyReplace[36] = "GREYSTAR";
    m_datasheetKeyReplace[37] = "GREYPLUS";
    m_datasheetKeyReplace[38] = "SEPARATOR";
    m_datasheetKeyReplace[39] = "GREYMINUS";
    m_datasheetKeyReplace[40] = "NUMPADPERIOD";
    m_datasheetKeyReplace[41] = "GREYSLASH";
    m_datasheetKeyReplace[42] = "NUMLOCK";
    m_datasheetKeyReplace[43] = "SCROLLLOCK";
    m_datasheetKeyReplace[44] = "UNICODE";
    m_datasheetKeyReplace[45] = "SEMICOLON";
    m_datasheetKeyReplace[46] = "EQUALS";
    m_datasheetKeyReplace[47] = "COMMA";
    m_datasheetKeyReplace[48] = "MINUS";
    m_datasheetKeyReplace[49] = "SLASH";
    m_datasheetKeyReplace[50] = "TILDE";
    m_datasheetKeyReplace[51] = "LEFTBRACKET";
    m_datasheetKeyReplace[52] = "BACKSLASH";
    m_datasheetKeyReplace[53] = "RIGHTBRACKET";
    m_datasheetKeyReplace[54] = "SINGLEQUOTE";
    m_datasheetKeyReplace[55] = "PERIOD";
    m_datasheetKeyReplace[56] = "MIDDLEMOUSE";
    m_datasheetKeyReplace[57] = "MOUSEWHEELDOWN";
    m_datasheetKeyReplace[58] = "MOUSEWHEELUP";
    m_datasheetKeyReplace[59] = "UNKNOWN16";
    m_datasheetKeyReplace[60] = "UNKNOWN17";
    m_datasheetKeyReplace[61] = "BACKSLASH";
    m_datasheetKeyReplace[62] = "UNKNOWN19";
    m_datasheetKeyReplace[63] = "UNKNOWN5C";
    m_datasheetKeyReplace[64] = "UNKNOWN5D";
    m_datasheetKeyReplace[65] = "UNKNOWN0C";
    m_datasheetKeyReplaced[1] = GetSystemString(1670);
    m_datasheetKeyReplaced[2] = GetSystemString(1671);
    m_datasheetKeyReplaced[3] = GetSystemString(1517);
    m_datasheetKeyReplaced[4] = "Enter";
    m_datasheetKeyReplaced[5] = "Shift";
    m_datasheetKeyReplaced[6] = "Ctrl";
    m_datasheetKeyReplaced[7] = "Alt";
    m_datasheetKeyReplaced[8] = "Pause";
    m_datasheetKeyReplaced[9] = "CapsLock";
    m_datasheetKeyReplaced[10] = "ESC";
    m_datasheetKeyReplaced[11] = GetSystemString(1672);
    m_datasheetKeyReplaced[12] = "PageUp";
    m_datasheetKeyReplaced[13] = "PageDown";
    m_datasheetKeyReplaced[14] = "End";
    m_datasheetKeyReplaced[15] = "Home";
    m_datasheetKeyReplaced[16] = "Left";
    m_datasheetKeyReplaced[17] = "Up";
    m_datasheetKeyReplaced[18] = "Right";
    m_datasheetKeyReplaced[19] = "Down";
    m_datasheetKeyReplaced[20] = "Select";
    m_datasheetKeyReplaced[21] = "Print";
    m_datasheetKeyReplaced[22] = "PrintScrn";
    m_datasheetKeyReplaced[23] = "Insert";
    m_datasheetKeyReplaced[24] = "Delete";
    m_datasheetKeyReplaced[25] = "Help";
    m_datasheetKeyReplaced[26] = GetSystemString(1657);
    m_datasheetKeyReplaced[27] = GetSystemString(1658);
    m_datasheetKeyReplaced[28] = GetSystemString(1659);
    m_datasheetKeyReplaced[29] = GetSystemString(1660);
    m_datasheetKeyReplaced[30] = GetSystemString(1661);
    m_datasheetKeyReplaced[31] = GetSystemString(1662);
    m_datasheetKeyReplaced[32] = GetSystemString(1663);
    m_datasheetKeyReplaced[33] = GetSystemString(1664);
    m_datasheetKeyReplaced[34] = GetSystemString(1665);
    m_datasheetKeyReplaced[35] = GetSystemString(1666);
    m_datasheetKeyReplaced[36] = "*";
    m_datasheetKeyReplaced[37] = "+";
    m_datasheetKeyReplaced[38] = "Separator";
    m_datasheetKeyReplaced[39] = "-";
    m_datasheetKeyReplaced[40] = ".";
    m_datasheetKeyReplaced[41] = "/";
    m_datasheetKeyReplaced[42] = "NumLock";
    m_datasheetKeyReplaced[43] = "ScrollLock";
    m_datasheetKeyReplaced[44] = "Unicode";
    m_datasheetKeyReplaced[45] = ";";
    m_datasheetKeyReplaced[46] = "=";
    m_datasheetKeyReplaced[47] = ",";
    m_datasheetKeyReplaced[48] = "-";
    m_datasheetKeyReplaced[49] = "/";
    m_datasheetKeyReplaced[50] = "`";
    m_datasheetKeyReplaced[51] = "[";
    m_datasheetKeyReplaced[52] = "";
    m_datasheetKeyReplaced[53] = "]";
    m_datasheetKeyReplaced[54] = "'";
    m_datasheetKeyReplaced[55] = ".";
    m_datasheetKeyReplaced[56] = GetSystemString(1669);
    m_datasheetKeyReplaced[57] = GetSystemString(1667);
    m_datasheetKeyReplaced[58] = GetSystemString(1668);
    m_datasheetKeyReplaced[59] = "-";
    m_datasheetKeyReplaced[60] = "=";
    m_datasheetKeyReplaced[61] = GetSystemString(1676);
    m_datasheetKeyReplaced[62] = GetSystemString(1673);
    m_datasheetKeyReplaced[63] = GetSystemString(1674);
    m_datasheetKeyReplaced[64] = GetSystemString(1675);
    m_datasheetKeyReplaced[65] = GetSystemString(1677);
    return;
}

function string GetUserReadableKeyName(string Input)
{
    local int i;
    local string output;

    i = 0;
    J0x07:

    // End:0x47 [Loop If]
    if(i < m_datasheetKeyReplace.Length)
    {
        // End:0x3D
        if(m_datasheetKeyReplace[i] == Input)
        {
            output = m_datasheetKeyReplaced[i];
        }
        ++i;
        // [Loop Continue]
        goto J0x07;
    }
    // End:0x5E
    if(output == "")
    {
        output = Input;
    }
    return output;
    return;
}

function PartyLootingChanged(int selectedNum)
{
    // End:0x62
    if(bPartyMaster || (IsRoomMaster()) && !bPartyMember)
    {
        // End:0x50
        if(GetOptionInt("Communication", "PartyLooting") == selectedNum)
        {
            return;
        }
        setEnableLootingBox(false);
        RequestPartyLootingModify(selectedNum);
    }
    return;
}

function chkRequestRegistWaitingSubstitute(bool checked)
{
    // End:0x3C
    if(checked == GetOptionBool("Communication", "StartupAutoPartyMatching"))
    {
        return;
    }
    // End:0x47
    if(m_bAutoPartyMatching)
    {
        return;
    }
    // End:0x57
    if(checked)
    {
        RequestRegistWaitingSubstitute(1);
    }
    return;
}

function HandleSwitchEnterchatting()
{
    local bool enableEnterChatting;
    local FlightTransformCtrlWnd scriptFlgithForm;
    local FlightShipCtrlWnd scriptFlightShip;
    local ShortcutCommandItem shortcutItem;

    scriptFlgithForm = FlightTransformCtrlWnd(GetScript("FlightTransformCtrlWnd"));
    // End:0x3D
    if(scriptFlgithForm.isNowActiveFlightTransShortcut)
    {
        return;
    }
    scriptFlightShip = FlightShipCtrlWnd(GetScript("FlightShipCtrlWnd"));
    // End:0x75
    if(scriptFlightShip.isNowActiveFlightShipShortcut)
    {
        return;
    }
    Class'NWindow.ShortcutAPI'.static.ActivateGroup("GamingStateDefaultShortcut");
    Class'NWindow.ShortcutAPI'.static.ActivateGroup("CameraControl");
    Class'NWindow.ShortcutAPI'.static.ActivateGroup("GamingStateGMShortcut");
    // End:0x196
    if(getInstanceUIData().getIsArenaServer())
    {
        Class'NWindow.ShortcutAPI'.static.ActivateGroup("TempStateShortcut");
        preEnterChattingOption = GetChatFilterBool("Global", "EnterChatting");
        SetChatFilterBool("Global", "EnterChatting", true);
        enableEnterChatting = true;
        CallGFxFunction(getCurrentWindowName(string(self)), "onSwitchDisableEnterChatting", string(true));        
    }
    else
    {
        // End:0x201
        if(GetChatFilterBool("Global", "EnterChatting"))
        {
            Class'NWindow.ShortcutAPI'.static.ActivateGroup("TempStateShortcut");
            SetChatFilterBool("Global", "EnterChatting", true);
            enableEnterChatting = true;            
        }
        else
        {
            Class'NWindow.ShortcutAPI'.static.DeactivateGroup("TempStateShortcut");
            SetChatFilterBool("Global", "EnterChatting", false);
            enableEnterChatting = false;
        }
    }
    // End:0x30C
    if((GetGameStateName() == "ARENABATTLESTATE") || GetGameStateName() == "ARENAGAMINGSTATE")
    {
        Class'NWindow.ShortcutAPI'.static.DeactivateGroup("ArenaPickEnterChattingShortcut");
        Class'NWindow.ShortcutAPI'.static.ActivateGroup("ArenaGamingShortcut");
        Class'NWindow.ShortcutAPI'.static.ActivateGroup("ArenaGamingEnterChattingShortcut");        
    }
    else
    {
        // End:0x3CD
        if(GetGameStateName() == "ARENAPICKSTATE")
        {
            Class'NWindow.ShortcutAPI'.static.ActivateGroup("ArenaPickEnterChattingShortcut");
            Class'NWindow.ShortcutAPI'.static.DeactivateGroup("TempStateShortcut");
            Class'NWindow.ShortcutAPI'.static.DeactivateGroup("ArenaGamingShortcut");
            Class'NWindow.ShortcutAPI'.static.DeactivateGroup("ArenaGamingEnterChattingShortcut");
        }
    }
    CallGFxFunction(getCurrentWindowName(string(self)), "onSwitchEnterChatting", string(enableEnterChatting));
    return;
}

function ToggleOpenMeWnd(bool isShortCut)
{
    isOpenShortCut = isShortCut;
    // End:0x1F
    if(IsShowWindow())
    {
        HideWindow();        
    }
    else
    {
        ShowWindow();
    }
    return;
}

function ShortCutReset()
{
    ActiveFlightShort();
    HandleSwitchEnterchatting();
    return;
}

function OnCallUCFunction(string funcName, string param)
{
    switch(funcName)
    {
        // End:0x22
        case "ShortCutReset":
            ShortCutReset();
            // End:0x132
            break;
        // End:0x49
        case "HandleSwitchEnterchatting":
            HandleSwitchEnterchatting();
            // End:0x132
            break;
        // End:0x71
        case "PartyLootingChanged":
            PartyLootingChanged(int(param));
            // End:0x132
            break;
        // End:0xA4
        case "RequestRegistWaitingSubstitute":
            chkRequestRegistWaitingSubstitute(bool(param));
            // End:0x132
            break;
        // End:0xC9
        case "SetPcRoomBoxData":
            SetPcRoomBoxData(bool(param));
            // End:0x132
            break;
        // End:0xEA
        case "StateBoxShow":
            StateBoxShow(bool(param));
            // End:0x132
            break;
        // End:0x110
        case "handleShaderOptionChange":
            handleShaderOptionChange();
            // End:0x132
            break;
        // End:0x12F
        case "setChattingOption":
            setChattingOption();
            // End:0x132
            break;
        // End:0xFFFF
        default:
            break;
    }
    return;
}

function SetDefaultPositionByClick()
{
    GetCurrentResolution(g_CurrentMaxWidth, g_CurrentMaxHeight);
    SetDefaultPosition();
    return;
}

function InitControlOption()
{
    CallGFxFunction(getCurrentWindowName(string(self)), "InitControlOption", "");
    return;
}

function InitScreenInfoOption()
{
    CallGFxFunction(getCurrentWindowName(string(self)), "InitScreenInfoOption", "");
    return;
}

function StateBoxShow(bool bChecked)
{
    local TargetStatusWnd util;

    util = TargetStatusWnd(GetScript("TargetStatusWnd"));
    util.StateBoxShow(bChecked);
    return;
}

function SetPcRoomBoxData(bool bOption)
{
    local InfoWnd Script;

    Script = InfoWnd(GetScript("InfoWnd"));
    // End:0x46
    if((Script != none) && isGAMINGSTATE)
    {
        Script.HandleToggleShowPCCafeEventWnd(true, bOption);
    }
    return;
}

function ActiveFlightShort()
{
    // End:0xC8
    if(scriptShip.Me.IsShowWindow())
    {
        SetChatFilterBool("Global", "EnterChatting", true);
        CallGFxFunction(getCurrentWindowName(string(self)), "onSwitchEnterChatting", string(true));
        CallGFxFunction(getCurrentWindowName(string(self)), "onSwitchDisableEnterChatting", string(true));
        Class'NWindow.ShortcutAPI'.static.ActivateGroup("FlightStateShortcut");
        scriptShip.updateLockButton();        
    }
    else
    {
        // End:0x191
        if(scriptTrans.Me.IsShowWindow())
        {
            SetChatFilterBool("Global", "EnterChatting", true);
            CallGFxFunction(getCurrentWindowName(string(self)), "onSwitchEnterChatting", string(true));
            CallGFxFunction(getCurrentWindowName(string(self)), "onSwitchDisableEnterChatting", string(true));
            scriptTrans.updateLockButton();
            Class'NWindow.ShortcutAPI'.static.ActivateGroup("FlightTransformShortcut");
        }
    }
    return;
}

function handleShaderOptionChange()
{
    m_AntiAliasing = GetOptionInt("Video", "AntiAliasing");
    m_PostProc = GetOptionInt("Video", "PostProc");
    m_bL2Shader = GetOptionBool("Video", "L2Shader");
    m_bDOF = GetOptionBool("Video", "S30DOFBOX");
    m_bShaderWater = GetOptionBool("Video", "S30WaterEffectBox");
    SetHDR(m_PostProc);
    SetAntialiasing(m_AntiAliasing);
    SetShaderWaterEffect(m_bShaderWater);
    SetDOF(m_bDOF);
    SetL2Shader(m_bL2Shader);
    return;
}

function OnEvent(int a_EventID, string a_Param)
{
    switch(a_EventID)
    {
        // End:0x19
        case 1710:
            HandleDialogResult(true);
            // End:0x1CC
            break;
        // End:0x2B
        case 1720:
            HandleDialogResult(false);
            // End:0x1CC
            break;
        // End:0x41
        case 3410:
            UIActivationUponStateChanges(a_Param);
            // End:0x1CC
            break;
        // End:0x57
        case 4910:
            OnAskPartyLootingModify(a_Param);
            // End:0x1CC
            break;
        // End:0x6D
        case 4911:
            OnPartyLootingHasModified(a_Param);
            // End:0x1CC
            break;
        // End:0x75
        case 4917:
        // End:0x7D
        case 4916:
        // End:0x9E
        case 4913:
            bPartyMember = false;
            bPartyMaster = false;
            OnPartyHasDismissed();
            // End:0x1CC
            break;
        // End:0xC4
        case 4914:
            bPartyMember = true;
            bPartyMaster = false;
            OnBecamePartyMember(a_Param);
            // End:0x1CC
            break;
        // End:0xEA
        case 4915:
            bPartyMember = false;
            bPartyMaster = true;
            OnBecamePartyMaster(a_Param);
            // End:0x1CC
            break;
        // End:0x153
        case 4918:
            bPartyMember = true;
            bPartyMaster = false;
            OnHandOverPartyMaster();
            // End:0x12C
            if(m_hPartyMatchWnd.IsShowWindow() == true)
            {
                m_hPartyMatchWnd.HideWindow();
            }
            // End:0x150
            if(m_hUnionMatchWnd.IsShowWindow() == true)
            {
                m_hUnionMatchWnd.HideWindow();
            }
            // End:0x1CC
            break;
        // End:0x174
        case 4919:
            bPartyMember = false;
            bPartyMaster = true;
            OnRecvPartyMaster();
            // End:0x1CC
            break;
        // End:0x192
        case 40:
            bPartyMember = false;
            bPartyMaster = false;
            OnRestart();
            // End:0x1CC
            break;
        // End:0x1A3
        case 1560:
            OnPartyMatchRoomClose();
            // End:0x1CC
            break;
        // End:0x1B6
        case 9170:
            m_bAutoPartyMatching = true;
            // End:0x1CC
            break;
        // End:0x1C9
        case 9175:
            m_bAutoPartyMatching = false;
            // End:0x1CC
            break;
        // End:0xFFFF
        default:
            break;
    }
    return;
}

function HandleDialogResult(bool bOK)
{
    local DialogBox dialogBoxScript;

    dialogBoxScript = DialogBox(GetScript("DialogBox"));
    // End:0x53
    if(Class'UICommonAPI'.static.DialogIsOwnedBy(string(self)))
    {
        // End:0x53
        if(dialogBoxScript.DialogGetID() == 9)
        {
            SetRequestPartyLootingModifyAgreement(bOK);
        }
    }
    return;
}

function setEnableLootingBox(bool bEnable)
{
    CallGFxFunction(getCurrentWindowName(string(self)), "setEnableLootingBox", string(bEnable));
    return;
}

function setLootingBoxSelection(int SelectNum)
{
    CallGFxFunction(getCurrentWindowName(string(self)), "setLootingBoxSelection", string(SelectNum));
    return;
}

function saveLootingBoxSelection()
{
    CallGFxFunction(getCurrentWindowName(string(self)), "saveLootingBoxSelection", "");
    return;
}

function SetRequestPartyLootingModifyAgreement(bool bOK)
{
    // End:0x13
    if(bOK)
    {
        RequestPartyLootingModifyAgreement(1);        
    }
    else
    {
        dScript.SetButtonName(1337, 1342);
        RequestPartyLootingModifyAgreement(0);
    }
    return;
}

function OnPartyMatchRoomClose()
{
    // End:0x41
    if(!bPartyMember && !bPartyMaster)
    {
        setLootingBoxSelection(GetOptionInt("Communication", "PartyLooting"));
    }
    return;
}

function OnPartyHasDismissed()
{
    setLootingBoxSelection(GetOptionInt("Communication", "PartyLooting"));
    setEnableLootingBox(true);
    return;
}

function OnBecamePartyMember(string a_Param)
{
    local int Lootingtype;

    ParseInt(a_Param, "Lootingtype", Lootingtype);
    setLootingBoxSelection(Lootingtype);
    setEnableLootingBox(false);
    return;
}

function OnBecamePartyMaster(string a_Param)
{
    local int Lootingtype;

    ParseInt(a_Param, "Lootingtype", Lootingtype);
    setLootingBoxSelection(Lootingtype);
    setEnableLootingBox(true);
    return;
}

function OnHandOverPartyMaster()
{
    setEnableLootingBox(false);
    return;
}

function OnRecvPartyMaster()
{
    saveLootingBoxSelection();
    setEnableLootingBox(true);
    return;
}

function OnRestart()
{
    setLootingBoxSelection(GetOptionInt("Communication", "PartyLooting"));
    setEnableLootingBox(true);
    // End:0x66
    if(getInstanceUIData().getIsArenaServer())
    {
        SetChatFilterBool("Global", "EnterChatting", preEnterChattingOption);
    }
    return;
}

function bool IsRoomMaster()
{
    local PartyWnd Script;

    Script = PartyWnd(GetScript("PartyWnd"));
    return Script.m_AmIRoomMaster;
    return;
}

function OnPartyLootingHasModified(string a_Param)
{
    local int IsSuccess, LootingScheme;
    local string Schemestr, strParam;
    local PartyWnd Script;
    local SystemMsgData SystemMsgCurrent;
    local TextBoxHandle t_handle;
    local L2Util util;

    util = L2Util(GetScript("L2Util"));
    Script = PartyWnd(GetScript("PartyWnd"));
    ParseInt(a_Param, "IsSuccess", IsSuccess);
    ParseInt(a_Param, "LootingScheme", LootingScheme);
    // End:0xE8
    if(IsSuccess != 0)
    {
        Script.SetMasterTooltip(LootingScheme);
        Schemestr = util.getLootingString(LootingScheme);
        t_handle = GetTextBoxHandle("PartyMatchRoomWnd.LootingMethod");
        t_handle.SetText(Schemestr);
    }
    // End:0x16D
    if(bPartyMaster || IsRoomMaster())
    {
        AddSystemMessage(3136);
        // End:0x13D
        if(IsSuccess != 0)
        {
            SetOptionInt("Communication", "PartyLooting", LootingScheme);            
        }
        else
        {
            setLootingBoxSelection(GetOptionInt("Communication", "PartyLooting"));
        }
        setEnableLootingBox(true);
    }
    // End:0x17B
    if(IsSuccess == 0)
    {        
    }
    else
    {
        // End:0x345
        if(IsSuccess == 1)
        {
            Schemestr = util.getLootingString(LootingScheme);
            GetSystemMsgInfo(3138, SystemMsgCurrent);
            ParamAdd(strParam, "MsgType", string(1));
            ParamAdd(strParam, "WindowType", string(SystemMsgCurrent.WindowType));
            ParamAdd(strParam, "FontType", string(SystemMsgCurrent.FontType));
            ParamAdd(strParam, "BackgroundType", string(SystemMsgCurrent.BackgroundType));
            ParamAdd(strParam, "LifeTime", string(SystemMsgCurrent.Lifetime * 1000));
            ParamAdd(strParam, "AnimationType", string(SystemMsgCurrent.AnimationType));
            ParamAdd(strParam, "Msg", MakeFullSystemMsg(SystemMsgCurrent.OnScrMsg, Schemestr));
            ParamAdd(strParam, "MsgColorR", string(SystemMsgCurrent.FontColor.R));
            ParamAdd(strParam, "MsgColorG", string(SystemMsgCurrent.FontColor.G));
            ParamAdd(strParam, "MsgColorB", string(SystemMsgCurrent.FontColor.B));
            ExecuteEvent(140, strParam);
            PlaySound(SystemMsgCurrent.Sound);
            setLootingBoxSelection(LootingScheme);            
        }
        else
        {
            // End:0x50D
            if(IsSuccess == 2)
            {
                Schemestr = util.getLootingString(LootingScheme);
                GetSystemMsgInfo(3138, SystemMsgCurrent);
                ParamAdd(strParam, "MsgType", string(1));
                ParamAdd(strParam, "WindowType", string(SystemMsgCurrent.WindowType));
                ParamAdd(strParam, "FontType", string(SystemMsgCurrent.FontType));
                ParamAdd(strParam, "BackgroundType", string(SystemMsgCurrent.BackgroundType));
                ParamAdd(strParam, "LifeTime", string(SystemMsgCurrent.Lifetime * 1000));
                ParamAdd(strParam, "AnimationType", string(SystemMsgCurrent.AnimationType));
                ParamAdd(strParam, "Msg", MakeFullSystemMsg(SystemMsgCurrent.OnScrMsg, Schemestr));
                ParamAdd(strParam, "MsgColorR", string(SystemMsgCurrent.FontColor.R));
                ParamAdd(strParam, "MsgColorG", string(SystemMsgCurrent.FontColor.G));
                ParamAdd(strParam, "MsgColorB", string(SystemMsgCurrent.FontColor.B));
                ExecuteEvent(140, strParam);
                PlaySound(SystemMsgCurrent.Sound);
                setLootingBoxSelection(LootingScheme);
            }
        }
    }
    return;
}

function OnAskPartyLootingModify(string a_Param)
{
    local string LeaderName;
    local int LootingScheme;
    local string Schemestr;
    local L2Util util;

    util = L2Util(GetScript("L2Util"));
    // End:0x3F
    if(Class'NWindow.UIAPI_WINDOW'.static.IsShowWindow("DialogBox"))
    {
        SetRequestPartyLootingModifyAgreement(false);
        return;
    }
    dScript.SetButtonName(184, 185);
    Class'UICommonAPI'.static.DialogSetID(9);
    Class'UICommonAPI'.static.DialogSetParamInt64((10 * 1000));
    Class'UICommonAPI'.static.DialogSetDefaultCancle();
    ParseString(a_Param, "LeaderName", LeaderName);
    ParseInt(a_Param, "LootingScheme", LootingScheme);
    Schemestr = util.getLootingString(LootingScheme);
    Class'UICommonAPI'.static.DialogShow(1, 7, MakeFullSystemMsg(GetSystemMessage(3134), Schemestr), string(self));
    return;
}

function UIActivationUponStateChanges(string a_Param)
{
    // End:0x8F
    if((((a_Param == "GAMINGSTATE") || a_Param == "ARENAGAMINGSTATE") || a_Param == "ARENABATTLESTATE") || a_Param == "ARENAPICKSTATE")
    {
        HandleSwitchEnterchatting();
        Class'NWindow.ShortcutAPI'.static.RequestList();
        isGAMINGSTATE = true;        
    }
    else
    {
        isGAMINGSTATE = false;
    }
    SetAlwaysOnTop(!isGAMINGSTATE);
    InitControlOption();
    return;
}

function setChattingOption()
{
    local ChatWnd Script;
    local SystemMsgWnd SysMsgScript;
    local int tempVal, i, resultNum;

    Script = ChatWnd(GetScript("ChatWnd"));
    SysMsgScript = SystemMsgWnd(GetScript("ChatWnd.SystemMsgWnd"));
    i = 0;
    J0x48:

    // End:0x575 [Loop If]
    if(i < Script.m_sectionName.Length)
    {
        GetINIBool(Script.m_sectionName[i], "system", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bSystem = tempVal;
        GetINIBool(Script.m_sectionName[i], "useitems", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bUseitem = tempVal;
        GetINIBool(Script.m_sectionName[i], "damage", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bDamage = tempVal;
        GetINIBool(Script.m_sectionName[i], "chat", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bChat = tempVal;
        GetINIBool(Script.m_sectionName[i], "normal", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bNormal = tempVal;
        GetINIBool(Script.m_sectionName[i], "party", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bParty = tempVal;
        GetINIBool(Script.m_sectionName[i], "shout", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bShout = tempVal;
        GetINIBool(Script.m_sectionName[i], "market", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bTrade = tempVal;
        GetINIBool(Script.m_sectionName[i], "pledge", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bClan = tempVal;
        GetINIBool(Script.m_sectionName[i], "tell", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bWhisper = tempVal;
        GetINIBool(Script.m_sectionName[i], "ally", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bAlly = tempVal;
        GetINIBool(Script.m_sectionName[i], "hero", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bHero = tempVal;
        GetINIBool(Script.m_sectionName[i], "union", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bUnion = tempVal;
        GetINIBool(Script.m_sectionName[i], "nonpcmessage", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bNoNpcMessage = tempVal;
        GetINIBool(Script.m_sectionName[i], "worldChat", tempVal, "chatfilter.ini");
        Script.m_filterInfo[i].bWorldChat = tempVal;
        i++;
        // [Loop Continue]
        goto J0x48;
    }
    Script.m_UseChatSymbol = int(GetChatFilterBool("Global", "OldChatting"));
    GetINIBool("global", "keywordsound", resultNum, "chatfilter.ini");
    Script.m_KeywordFilterSound = resultNum;
    GetINIBool("global", "keywordactivate", resultNum, "chatfilter.ini");
    Script.m_KeywordFilterActivate = resultNum;
    GetINIBool("global", "UseAlpha", resultNum, "chatfilter.ini");
    Script.m_UseAlpha = resultNum;
    GetINIBool("global", "ChatResizing", resultNum, "chatfilter.ini");
    Script.m_ChatResizeOnOff = resultNum;
    GetINIBool("global", "SystemMsgWnd", resultNum, "chatfilter.ini");
    Script.m_bUseSystemMsgWnd = resultNum;
    GetINIBool("global", "UseSystemMsg", resultNum, "chatfilter.ini");
    Script.m_bSystemMsgWnd = resultNum;
    GetINIBool("global", "SystemMsgWndDamage", resultNum, "chatfilter.ini");
    Script.m_bDamageOption = resultNum;
    GetINIBool("global", "SystemMsgWndExpendableItem", resultNum, "chatfilter.ini");
    Script.m_bUseSystemItem = resultNum;
    GetINIBool("global", "UseWorldChatSpeaker", resultNum, "chatfilter.ini");
    Script.m_bWorldChatSpeaker = resultNum;
    GetINIString("global", "Keyword0", Script.m_Keyword0, "chatfilter.ini");
    GetINIString("global", "Keyword1", Script.m_Keyword1, "chatfilter.ini");
    GetINIString("global", "Keyword2", Script.m_Keyword2, "chatfilter.ini");
    GetINIString("global", "Keyword3", Script.m_Keyword3, "chatfilter.ini");
    // End:0x933
    if(bool(Script.m_bUseSystemMsgWnd))
    {
        Class'NWindow.UIAPI_WINDOW'.static.ShowWindow("SystemMsgWnd");        
    }
    else
    {
        Class'NWindow.UIAPI_WINDOW'.static.HideWindow("SystemMsgWnd");
    }
    // End:0x96D
    if(bool(Script.m_ChatResizeOnOff))
    {
        EnableChatWndResizing(false);        
    }
    else
    {
        EnableChatWndResizing(true);
    }
    Script.SetDefaultAlpha(Script.m_UseAlpha);
    SysMsgScript.SetDefaultAlpha(Script.m_UseAlpha);
    Script.GetAllcurrentAssignedChatTypeID();
    return;
}

 

 

Help me able to add 8 and 9 langugges into drop list of Language.
Many thanks for any advice!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...