Требуется компилятор interface.u, xdat editor ну и соответственно исходники interface.u
идем в исходники interface.u, открываем NPCDialogWnd.uc
вставляем следующий код:
сохраняем, компилируем interface.u
Открываем interface.xdat
скрипт под high five:
сохраняем
теперь чтобы убрать кнопку "закрыть" у окна, или растянуть его, в штмл указываем параметры
идем в исходники interface.u, открываем NPCDialogWnd.uc
вставляем следующий код:
Код:
//вверху
var ButtonHandle exitButton;
var int hideexitbutton;
const oldwidth = 314;
const oldheigth = 408;
function OnLoad() //в эту функцию добавить код в соответствии с условием
{
if(CREATE_ON_DEMAND==0)
{
exitButton = ButtonHandle( GetHandle( "NPCDialogWnd.exitbutton" ) );
}
else
{
exitButton = GetButtonHandle( "NPCDialogWnd.exitbutton" );
}
}
function OnEvent(int Event_ID, String param)//в эту функцию добавить код в соответствии с условием
{
switch(Event_ID)
{
case EV_QuestIDWndLoadHtmlFromString:
exitButton.HideWindow();
break;
}
}
function HandleLoadHtmlFromString(string param)//вставляем полностью вместо старой функции
{
local string htmlString;
local int i;
ParseInt(param, "hideexitbutton", i);
ParseInt(param, "whdwidth", width);
ParseInt(param, "wndheight", heigth);
hideexitbutton = i;
if(width > 0 && heigth > 0) {
m_hNPCDialogWnd.setWindowSize(width, heigth);
} else {
m_hNPCDialogWnd.setWindowSize(oldwidth, oldheigth);
}
ParseString(param, "HTMLString", htmlString);
m_hHtmlViewer.LoadHtmlFromString(htmlString);
}
function OnClickButton( string Name )//вставляем полностью вместо старой функции
{
if( Name == "exitbutton" ) // 혈원 정보. 파티 초대
{
PressCloseButton();
m_hNPCDialogWnd.HideWindow();
exitButton.HideWindow();
}
}
function HideNPCDialogWnd()//вставляем полностью вместо старой функции
{
m_hNpcDialogWnd.HideWindow();
exitButton.HideWindow();
m_bReShowNPCDialogWnd = false;
}
function ShowNPCDialogWnd()//вставляем полностью вместо старой функции
{
local PrivateShopWnd kPrivateShop;
ExecuteEvent(EV_QuestHtmlWndHide);
kPrivateShop = PrivateShopWnd(GetScript("PrivateShopWnd"));
if (IsShowWindow("PrivateShopWnd"))
{
kPrivateShop.RequestQuit();
HideWindow("PrivateShopWnd");
}
m_hNPCDialogWnd.ShowWindow();
m_hNPCDialogWnd.SetFocus();
if(hideexitbutton > 0) {//если параметр больше нуля - скрыть кнопку
exitButton.HideWindow();
} else {//иначе - показать
exitButton.ShowWindow();
}
m_bReShowNPCDialogWnd = true;
}
Открываем interface.xdat
скрипт под high five:
Код:
xdat.windows["NPCDialogWnd"].children.add(new Button())
xdat.windows["NPCDialogWnd"].children["null"].name = "exitbutton"
xdat.windows["NPCDialogWnd"].children["exitbutton"].parentName = "NPCDialogWnd"
xdat.windows["NPCDialogWnd"].children["exitbutton"].normalTex = "l2ui_ch3.FRAMECTRL.FrameCloseBtn"
xdat.windows["NPCDialogWnd"].children["exitbutton"].pushedTex = "l2ui_ch3.FRAMECTRL.FrameCloseOnBtn"
xdat.windows["NPCDialogWnd"].children["exitbutton"].buttonNameText = "undefined"
xdat.windows["NPCDialogWnd"].children["exitbutton"].size_absolute_width = 16
xdat.windows["NPCDialogWnd"].children["exitbutton"].size_absolute_height = 16
xdat.windows["NPCDialogWnd"].children["exitbutton"].anchored = true
xdat.windows["NPCDialogWnd"].children["exitbutton"].size = true
xdat.windows["NPCDialogWnd"].children["exitbutton"].alwaysOnTop = true
xdat.windows["NPCDialogWnd"].children["exitbutton"].relativePoint = Alignment.TOP_RIGHT
xdat.windows["NPCDialogWnd"].children["exitbutton"].anchorPoint = Alignment.TOP_RIGHT
xdat.windows["NPCDialogWnd"].children["exitbutton"].usePosition = true
xdat.windows["NPCDialogWnd"].children["exitbutton"].anchor_x = -6.0
xdat.windows["NPCDialogWnd"].children["exitbutton"].anchor_y = 7.0
xdat.windows["NPCDialogWnd"].exitbutton = false
теперь чтобы убрать кнопку "закрыть" у окна, или растянуть его, в штмл указываем параметры
Код:
<html noscrollbar hideexitbutton=1 whdwidth=400 wndheight=400> // к примеру так