Попробуйте добавить в InventoryWnd.ucЛюцера сборка, у файтера при автофарме если соску вставить в вверхний маленькие панели оттуда они не работают, нужно только в панель положить как обычно чтобы они работали. По стрелку именно во время крит урона соски срабатывают....
RegisterEvent(EV_SystemMessage);
case EV_SystemMessage:
HandleSystemMessage(param);
break;
function HandleSystemMessage( string a_Param )
{
local int Index, Param1, Param2;
ParseInt(a_Param, "Index", Index);
ParseInt(a_Param, "Param1", Param1);
ParseInt(a_Param, "Param2", Param2);
if ( Index == 35 || Index == 1015 )
ExecuteEvent(70694);
}
var bool isSpiritShotEnabled;
RegisterEvent(EV_SystemMessage);
isSpiritShotEnabled = False;
case EV_SystemMessage:
HandleSystemMessage(a_Param);
break;
function HandleSystemMessage( string a_Param )
{
local int Index, Param1, Param2;
ParseInt(a_Param, "Index", Index);
ParseInt(a_Param, "Param1", Param1);
ParseInt(a_Param, "Param2", Param2);
if ( Index == 533 )
isSpiritShotEnabled = True;
}
function HandleReceiveMagicSkillUse( string a_Param )
{
local int attackerID, skillID, skillLv;
local UserInfo playerInfo;
local SkillInfo skillInfo;
local float speed;
local float skillAnimTime;
ParseInt(a_Param, "AttackerID", attackerID);
ParseInt(a_Param, "SkillID", skillID);
GetPlayerInfo(playerInfo);
skillLv = GetPlayerSkillLevel(skillID); // for skills with '#hitTime'
GetSkillInfo(skillID, skillLv, skillInfo);
if ( skillInfo.CastStyle != 0 )
{
skillAnimTime = skillInfo.HitTime;
if ( !IsStaticHitTime(skillID) )
{
if ( skillInfo.isMagic == 1 )
speed = playerInfo.nMagicCastingSpeed;
else
speed = playerInfo.nPhysicalAttackSpeed;
skillAnimTime = (skillAnimTime / speed) * 333;
}
if ( skillInfo.isMagic == 1 && isSpiritShotEnabled )
{
skillAnimTime = skillAnimTime * 0.7;
isSpiritShotEnabled = False;
}
if ( (skillAnimTime < 0.5) && (skillInfo.HitTime > 0.5) )
skillAnimTime = 0.5;
if ( playerInfo.nID == attackerID && skillInfo.HitTime > 0f )
{
ResetBar();
Me.ShowWindow();
textSkill.SetTextColor(SetColor(230, 213, 164));
textSkill.SetText(skillInfo.SkillName);
texLightBar.Move(200, 0, skillAnimTime);
Me.SetTimer(TIMER_HIDE, int(skillAnimTime * 1000.0f) + 100);
GotoState('StartCastState');
}
}
}
Нужна ли запятая в цыфрах урона и опыта на экране?
да, как и везде)Petr, а как, кстати, урон устроен, парс с пакета и ворлд ту скрин анчор текста/текстур? Влом смотреть, а интересно. )0))
It's all about the texture of this monster, of course.I'm getting a critical error when trying to spawn a custom monster. What could be the problem?
Try to collect your thoughts, develop a tactic, MAKE A SCREENSHOT OF THE ERROR, and show it here, I'm not a clairvoyantWithout the interface I can see all the custom monsters, but with the interface I'm getting a critical error.
Спасибо , ноПопробуйте добавить в InventoryWnd.uc
В функцию OnLoad
В функцию OnEventC-подобный:RegisterEvent(EV_SystemMessage);
И добавить функциюC-подобный:case EV_SystemMessage: HandleSystemMessage(param); break;
C-подобный:function HandleSystemMessage( string a_Param ) { local int Index, Param1, Param2; ParseInt(a_Param, "Index", Index); ParseInt(a_Param, "Param1", Param1); ParseInt(a_Param, "Param2", Param2); if ( Index == 35 || Index == 1015 ) ExecuteEvent(70694); }
Так же изменения в SkillGaugeWnd.uc
добавьте в начало переменную
В функцию OnLoadC-подобный:var bool isSpiritShotEnabled;
В функцию OnEventC-подобный:RegisterEvent(EV_SystemMessage); isSpiritShotEnabled = False;
Добавить функциюC-подобный:case EV_SystemMessage: HandleSystemMessage(a_Param); break;
И заменить функцию HandleReceiveMagicSkillUse (для правильного вычисления полоски каста) на:C-подобный:function HandleSystemMessage( string a_Param ) { local int Index, Param1, Param2; ParseInt(a_Param, "Index", Index); ParseInt(a_Param, "Param1", Param1); ParseInt(a_Param, "Param2", Param2); if ( Index == 533 ) isSpiritShotEnabled = True; }
C-подобный:function HandleReceiveMagicSkillUse( string a_Param ) { local int attackerID, skillID, skillLv; local UserInfo playerInfo; local SkillInfo skillInfo; local float speed; local float skillAnimTime; ParseInt(a_Param, "AttackerID", attackerID); ParseInt(a_Param, "SkillID", skillID); GetPlayerInfo(playerInfo); skillLv = GetPlayerSkillLevel(skillID); // for skills with '#hitTime' GetSkillInfo(skillID, skillLv, skillInfo); if ( skillInfo.CastStyle != 0 ) { skillAnimTime = skillInfo.HitTime; if ( !IsStaticHitTime(skillID) ) { if ( skillInfo.isMagic == 1 ) speed = playerInfo.nMagicCastingSpeed; else speed = playerInfo.nPhysicalAttackSpeed; skillAnimTime = (skillAnimTime / speed) * 333; } if ( skillInfo.isMagic == 1 && isSpiritShotEnabled ) { skillAnimTime = skillAnimTime * 0.7; isSpiritShotEnabled = False; } if ( (skillAnimTime < 0.5) && (skillInfo.HitTime > 0.5) ) skillAnimTime = 0.5; if ( playerInfo.nID == attackerID && skillInfo.HitTime > 0f ) { ResetBar(); Me.ShowWindow(); textSkill.SetTextColor(SetColor(230, 213, 164)); textSkill.SetText(skillInfo.SkillName); texLightBar.Move(200, 0, skillAnimTime); Me.SetTimer(TIMER_HIDE, int(skillAnimTime * 1000.0f) + 100); GotoState('StartCastState'); } } }
И еще когда у магов соски включаешь из маленькой панели часто он сперва юзает скилл а потом соску не успевает соска прожаться до скила из за этого замедляется скорость каста умений, а в обычной панели проблем с этим нет, не подскажешь где проблема?Попробуйте добавить в InventoryWnd.uc
В функцию OnLoad
В функцию OnEventC-подобный:RegisterEvent(EV_SystemMessage);
И добавить функциюC-подобный:case EV_SystemMessage: HandleSystemMessage(param); break;
C-подобный:function HandleSystemMessage( string a_Param ) { local int Index, Param1, Param2; ParseInt(a_Param, "Index", Index); ParseInt(a_Param, "Param1", Param1); ParseInt(a_Param, "Param2", Param2); if ( Index == 35 || Index == 1015 ) ExecuteEvent(70694); }
Так же изменения в SkillGaugeWnd.uc
добавьте в начало переменную
В функцию OnLoadC-подобный:var bool isSpiritShotEnabled;
В функцию OnEventC-подобный:RegisterEvent(EV_SystemMessage); isSpiritShotEnabled = False;
Добавить функциюC-подобный:case EV_SystemMessage: HandleSystemMessage(a_Param); break;
И заменить функцию HandleReceiveMagicSkillUse (для правильного вычисления полоски каста) на:C-подобный:function HandleSystemMessage( string a_Param ) { local int Index, Param1, Param2; ParseInt(a_Param, "Index", Index); ParseInt(a_Param, "Param1", Param1); ParseInt(a_Param, "Param2", Param2); if ( Index == 533 ) isSpiritShotEnabled = True; }
C-подобный:function HandleReceiveMagicSkillUse( string a_Param ) { local int attackerID, skillID, skillLv; local UserInfo playerInfo; local SkillInfo skillInfo; local float speed; local float skillAnimTime; ParseInt(a_Param, "AttackerID", attackerID); ParseInt(a_Param, "SkillID", skillID); GetPlayerInfo(playerInfo); skillLv = GetPlayerSkillLevel(skillID); // for skills with '#hitTime' GetSkillInfo(skillID, skillLv, skillInfo); if ( skillInfo.CastStyle != 0 ) { skillAnimTime = skillInfo.HitTime; if ( !IsStaticHitTime(skillID) ) { if ( skillInfo.isMagic == 1 ) speed = playerInfo.nMagicCastingSpeed; else speed = playerInfo.nPhysicalAttackSpeed; skillAnimTime = (skillAnimTime / speed) * 333; } if ( skillInfo.isMagic == 1 && isSpiritShotEnabled ) { skillAnimTime = skillAnimTime * 0.7; isSpiritShotEnabled = False; } if ( (skillAnimTime < 0.5) && (skillInfo.HitTime > 0.5) ) skillAnimTime = 0.5; if ( playerInfo.nID == attackerID && skillInfo.HitTime > 0f ) { ResetBar(); Me.ShowWindow(); textSkill.SetTextColor(SetColor(230, 213, 164)); textSkill.SetText(skillInfo.SkillName); texLightBar.Move(200, 0, skillAnimTime); Me.SetTimer(TIMER_HIDE, int(skillAnimTime * 1000.0f) + 100); GotoState('StartCastState'); } } }
Когда включаешь соски он сразу их юзает, как она может не успевать? Это если ты включаешь каст а потом панель то естественно соска уже не сработает на первый ударИ еще когда у магов соски включаешь из маленькой панели часто он сперва юзает скилл а потом соску не успевает соска прожаться до скила из за этого замедляется скорость каста умений, а в обычной панели проблем с этим нет, не подскажешь где проблема?
Сервер стандартный без наворотов скорости итд? А вообще больше похоже на пинг.Спасибо , но
Критует часто после этого.
General protection fault!
History: UUIDATA_ITEM::execGetSetItemIDList <- UObject::execClassContext <- (ToolTip Transient.ToolTip0 @ Function Interface.ToolTip.AddDescTooltip : 001F) <- UObject:rocessEvent <- (ToolTip Transient.ToolTip0, Function Interface.ToolTip.OnEvent) <- XMLUIManager::ExecuteUIEvent <- NCTooltipManager::MakeTooltipInfo <- NCItemWnd::OnPostPaint <- NCVirtualWndMain: ostDrawChildWindow <- NCVirtualWndMain: ispatchWndMsg <- NConsoleWnd::ConsolePostRender <- UGameEngine: raw <- UWindowsViewport::Repaint <- UWindowsClient::Tick <- ClientTick <- UGameEngine::Tick <- UpdateWorld <- MainLoop
И еще когда у магов соски включаешь из маленькой панели часто он сперва юзает скилл а потом соску не успевает соска прожаться до скила из за этого замедляется скорость каста умений, а в обычной панели проблем с этим нет, не подскажешь где проблема?
Это больше похоже что какие-то кастом итемы продаются или за них покупка идёт. Он же не уточнил в каком моменте критуетСервер стандартный без наворотов скорости итд? А вообще больше похоже на пинг.
В панели с этим проблем нет, но в мини панели во время использования умений соски не всегда используются перед кастованием скила, иногда сперва скилл кастуется потом сразу соски, а обычном панели которые мы всегда привыкли юзать там таких проблем нет, всегда первым используется соски а потом каст ну я имею ввиду то что успеваются соски использоватьсяКогда включаешь соски он сразу их юзает, как она может не успевать? Это если ты включаешь каст а потом панель то естественно соска уже не сработает на первый удар
Ну если только для отделения целых цифр от десятых. Тысячи лучше отделить пробелом.Нужна ли запятая в цыфрах урона и опыта на экране?
class Shortcut extends UIScript;
const CHAT_WINDOW_NORMAL = 0;
const CHAT_WINDOW_TRADE = 1;
const CHAT_WINDOW_PARTY = 2;
const CHAT_WINDOW_CLAN = 3;
const CHAT_WINDOW_ALLY = 4;
const CHAT_WINDOW_COUNT = 5;
const CHAT_WINDOW_SYSTEM = 5;
var MenuWnd menuScript;
var ChatWnd chatScript;
var ShortcutBindWnd shortcutBindScript;
var ShortcutWnd ShortcutWndScript;
var bool useFPad;
var bool useNumpad;
var bool useQwerty;
var int ComboNum1;
var int ComboNum2;
var int ComboNum3;
function OnLoad()
{
RegisterEvent( EV_ShortcutCommand );
RegisterEvent( 70700 );
chatScript = ChatWnd( GetScript("ChatWnd") );
menuScript = MenuWnd( GetScript( "MenuWnd" ) );
shortcutBindScript = ShortcutBindWnd( GetScript( "ShortcutBindWnd" ) );
shortcutWndScript = ShortcutWnd( GetScript( "ShortcutWnd" ) );
}
function OnEvent( int a_EventID, string a_Param )
{
switch ( a_EventID )
{
case EV_ShortcutCommand:
HandleShortcutCommand( a_Param );
break;
case 70700:
InitShortcut();
break;
}
}
function HandleShortcutCommand( string a_Param )
{
local string Command;
if ( ParseString( a_Param, "Command", Command ) )
{
switch ( Command )
{
case "CloseAllWindow":
HandleCloseAllWindow();
break;
case "ShowChatWindow":
HandleShowChatWindow();
break;
case "SetPrevChatType":
HandleSetPrevChatType();
break;
case "SetNextChatType":
HandleSetNextChatType();
break;
case "ShowDetailStatusWnd":
menuScript.ToggleCharacterWnd();
break;
case "ShowSkillWnd":
class'UIAPI_TEXTURECTRL'.static.SetTexture("MainMenuWnd.IconNotify", "");
menuScript.ToggleSkillsAndActionWnd(0);
break;
case "ShowActionWnd":
menuScript.ToggleSkillsAndActionWnd(1);
break;
case "ShowQuestWnd":
menuScript.ToggleQuestWnd();
break;
case "ShowClanWnd":
menuScript.ToggleClanWnd();
break;
case "ShowOptionWnd":
HandleOptionWnd();
break;
default:
if ( Left(Command, 11) == "UseShortcut" )
HandleShortcutBind(Command);
break;
}
}
}
function HandleShortcutBind( string Name )
{
local string targetPageF;
local string targetPageNum;
local string targetPageQW;
if ( ComboNum1 == 1 ) {
targetPageF = string(ShortcutWndScript.CurrentShortcutPage + 1);
} else {
targetPageF = string(ComboNum1);
}
targetPageNum = string(ComboNum2);
targetPageQW = string(ComboNum3);
switch ( Name )
{
case "UseShortcutNum=0":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 1");
break;
case "UseShortcutNum=1":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 2");
break;
case "UseShortcutNum=2":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 3");
break;
case "UseShortcutNum=3":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 4");
break;
case "UseShortcutNum=4":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 5");
break;
case "UseShortcutNum=5":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 6");
break;
case "UseShortcutNum=6":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 7");
break;
case "UseShortcutNum=7":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 8");
break;
case "UseShortcutNum=8":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 9");
break;
case "UseShortcutNum=9":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 10");
break;
case "UseShortcutNum=10":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 11");
break;
case "UseShortcutNum=11":
if ( useFPad ) ExecuteCommand("/useshortcut " $ targetPageF $ " 12");
break;
case "UseShortcutNum=12":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 1");
break;
case "UseShortcutNum=13":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 2");
break;
case "UseShortcutNum=14":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 3");
break;
case "UseShortcutNum=15":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 4");
break;
case "UseShortcutNum=16":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 5");
break;
case "UseShortcutNum=17":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 6");
break;
case "UseShortcutNum=18":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 7");
break;
case "UseShortcutNum=19":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 8");
break;
case "UseShortcutNum=20":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 9");
break;
case "UseShortcutNum=21":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 10");
break;
case "UseShortcutNum=22":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 11");
break;
case "UseShortcutNum=23":
if ( useNumpad ) ExecuteCommand("/useshortcut " $ targetPageNum $ " 12");
break;
case "UseShortcutNum=24":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 1");
break;
case "UseShortcutNum=25":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 2");
break;
case "UseShortcutNum=26":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 3");
break;
case "UseShortcutNum=27":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 4");
break;
case "UseShortcutNum=28":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 5");
break;
case "UseShortcutNum=29":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 6");
break;
case "UseShortcutNum=30":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 7");
break;
case "UseShortcutNum=31":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 8");
break;
case "UseShortcutNum=32":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 9");
break;
case "UseShortcutNum=33":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 10");
break;
case "UseShortcutNum=34":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 11");
break;
case "UseShortcutNum=35":
if ( useQwerty ) ExecuteCommand("/useshortcut " $ targetPageQW $ " 12");
break;
}
}
function InitShortcut()
{
local string pos, end;
useFPad = GetOptionBool("Key", "UseFPad");
useNumpad = GetOptionBool("Key", "UseNumpad");
useQwerty = GetOptionBool("Key", "UseQwerty");
ComboNum1 = GetOptionInt("Key", "Panel1");
ComboNum2 = GetOptionInt("Key", "Panel2");
ComboNum3 = GetOptionInt("Key", "Panel3");
pos = "Horizontal";
end = "";
if ( IsShortcutVertical() )
{
pos = "Vertical";
end = "_v";
}
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$".Shortcut_keybind", "");
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$"_1.Shortcut_keybind", "");
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$"_2.Shortcut_keybind", "");
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$"_3.Shortcut_keybind", "");
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$"_4.Shortcut_keybind", "");
if ( useQwerty && GetOptionBool("Game", "EnterChatting") )
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$strPanelNum(ComboNum3)$".Shortcut_keybind", "L2UI_CH3.ShortcutWnd.shortcut_keybindqw"$end);
if ( useNumpad && GetOptionBool("Game", "EnterChatting") )
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$strPanelNum(ComboNum2)$".Shortcut_keybind", "L2UI_CH3.ShortcutWnd.shortcut_keybind12"$end);
if ( useFPad )
class'UIAPI_TEXTURECTRL'.static.SetTexture("ShortcutWnd.ShortcutWnd"$pos$strPanelNum(ComboNum1)$".Shortcut_keybind", "L2UI_CH3.ShortcutWnd.shortcut_keybindf1f2"$end);
}
function string strPanelNum( int ComboNum )
{
if ( ComboNum == 1 )
return "";
else
return "_"$string(ComboNum - 1);
}
function HandleShowChatWindow()
{
local WindowHandle chatWnd;
chatWnd = GetHandle( "ChatWnd" );
if ( chatWnd.IsShowWindow() )
{
chatWnd.HideWindow();
if ( GetOptionBool("Game", "SystemMsgWnd") )
class'UIAPI_WINDOW'.static.HideWindow("SystemMsgWnd");
}
else
{
chatWnd.ShowWindow();
if ( GetOptionBool("Game", "SystemMsgWnd") )
class'UIAPI_WINDOW'.static.ShowWindow("SystemMsgWnd");
}
}
function HandleOptionWnd()
{
if ( class'UIAPI_WINDOW'.static.IsShowWindow("OptionWnd") )
{
PlayConsoleSound(IFST_WINDOW_CLOSE);
class'UIAPI_WINDOW'.static.HideWindow("OptionWnd");
}
else
{
PlayConsoleSound(IFST_WINDOW_OPEN);
class'UIAPI_WINDOW'.static.ShowWindow("OptionWnd");
class'UIAPI_WINDOW'.static.SetFocus("OptionWnd");
}
}
function HandleSetPrevChatType()
{
switch ( chatScript.m_chatType )
{
case CHAT_WINDOW_NORMAL:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_ALLY);
chatScript.ChatTabCtrl.SetTopOrder(4, True);
chatScript.HandleTabClick("ChatTabCtrl4");
break;
case CHAT_WINDOW_TRADE:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_ALLY);
chatScript.ChatTabCtrl.SetTopOrder(0, True);
chatScript.HandleTabClick("ChatTabCtrl0");
break;
case CHAT_WINDOW_PARTY:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_ALLY);
chatScript.ChatTabCtrl.SetTopOrder(1, True);
chatScript.HandleTabClick("ChatTabCtrl1");
break;
case CHAT_WINDOW_CLAN:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.SetTopOrder(2, True);
chatScript.HandleTabClick("ChatTabCtrl2");
break;
case CHAT_WINDOW_ALLY:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.SetTopOrder(3, True);
chatScript.HandleTabClick("ChatTabCtrl3");
break;
}
}
function HandleSetNextChatType()
{
switch ( chatScript.m_chatType )
{
case CHAT_WINDOW_NORMAL:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_ALLY);
chatScript.ChatTabCtrl.SetTopOrder(1, True);
chatScript.HandleTabClick("ChatTabCtrl1");
break;
case CHAT_WINDOW_TRADE:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_ALLY);
chatScript.ChatTabCtrl.SetTopOrder(2, True);
chatScript.HandleTabClick("ChatTabCtrl2");
break;
case CHAT_WINDOW_PARTY:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_ALLY);
chatScript.ChatTabCtrl.SetTopOrder(3, True);
chatScript.HandleTabClick("ChatTabCtrl3");
break;
case CHAT_WINDOW_CLAN:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_NORMAL);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.SetTopOrder(4, True);
chatScript.HandleTabClick("ChatTabCtrl4");
break;
case CHAT_WINDOW_ALLY:
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_TRADE);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_PARTY);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_CLAN);
chatScript.ChatTabCtrl.MergeTab(CHAT_WINDOW_ALLY);
chatScript.ChatTabCtrl.SetTopOrder(0, True);
chatScript.HandleTabClick("ChatTabCtrl0");
break;
}
}
function HandleCloseAllWindow()
{
class'UIAPI_WINDOW'.static.HideWindow( "SystemMenuWnd" );
}
function bool IsShortcutVertical()
{
return ShortcutWndScript.IsVertical();
}
defaultproperties
{
}
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?