Jump to content

barao45

Members
  • Posts

    231
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by barao45

  1. Hello how are you?. I have a problem with the interface, when I open the map and I'm inside Hellbound it doesn't show the map but it shows the Aden map, does anyone know what part of the interface I should see?
  2. i found a bug in minimap hellbound, when you are in hellbound map doenst work. does anybody know how can we fix it?.
  3. Yes i wanna to increment chance drop of all items. like materials, weapons. etc.
  4. Hi People! Does anyone know how I can create an object that increases the percentage of the character's drop?. I'm using L2jSunrise.
  5. Hi, how are you?. Query, I am using L2J and I have a problem or something is missing, the npc Dragon Knight of Antharas Lair does not have his escorts, according to my experience he should have 3 or more escorts. Does anyone know how I could add them?
  6. Close Please. I move teleports location outside of catacombs.
  7. Hello how are you?. I wanted to ask you if you know where I can modify the distance for example of the Kariks mobs that almost always return home when you are hitting them, and the same also the Queen Ant mob and its minions that reach a certain range within the nest and return to their place . Thank you!
  8. Close this thread. Thanks!
  9. Hi people. Does anybody solved this formula?. I found that this is not exact with drops groups. I have for example 100% drop on a mob but is not 100% really. If i add a item drop outside of any group it's drops 100%
  10. Does anybody found the way to solve problems with precice calculation on drop? i found the same formula of drop in l2jsunrise en l2jserver. https://bitbucket.org/l2jserver/l2j-server-game/src/develop/src/main/java/com/l2jserver/gameserver/model/drops/strategy/IGroupedItemDropCalculationStrategy.java yesterday i check that the problem is with drop group, because for example Celtus npc drops holys on 100% configurated like datapack is comming. but if i creat a drop of holys or an item outside of a group drop. it is droped well.
  11. Hi!!! Could someone tell me where I can modify the rate that I catch a fish? The Big White Fat Fish is impossible to catch. I see in the fishes.xml file fishBiteRate="100.0" fishGuts="54.6" I modify it and it still doesn't come out.
  12. Hi Bro. I have tried to ask if it is possible or if someone knows where I can make this modification so that the catacombs take out the characters that are not listed in the catacombs. Thank you so much
  13. Hello. I'm testing a pack of L2Jsunrise, where it has teleports that take you to the Catacombs, the problem is that when a character in catacombs is not listed, he can kill without problems inside the catacombs. Is there any way to remove it from the tasting if it is not listed?
  14. Thanks! It worked but as you said is a temp fix. How can i show messages debugging. i'dont wanna make mistakes and broken the code.
  15. THanks! MonoKiniSix. Problem 1 resolved. xD I think I'll read the source a bit to see if the other problems are from java. A query. I also have a problem with the life bar of the doors that do not update when you hit them. Do you know where I should look?
  16. AlisaCodeDragon the texture when you boot the game looks good. But when you equip or unequip any item the bracelet turns black and doesn't turn right again until you reset the character. Thanks for your reply.
  17. Hello. I have detected some problems in this interface. 1- right bracelet the texture looks black. 2-randomly when you drop something to the ground he can't get it back. neither oneself nor another person. 3-when you drop something the item is seen on the ground. You grab it but visually the item is still there. Does anyone do development work to make some fixes?
  18. Hello how are you?. I need a help please. I am working with an Essence interface in H5. The problem I have is that when I equip any item the RBracelet turns black. When I start the bracelet again it looks good. It only happens with that Item. Could someone help me if they are very kind. thank you My interface.u. class InventoryWnd extends UICommonAPI; const DIALOG_USE_RECIPE = 1111; // �����Ǹ� ����� �������� ���� �� const DIALOG_POPUP = 2222; // �����ۻ�� �� ������ �˾��޽����� ��� �� const DIALOG_DROPITEM = 3333; // �������� �ٴڿ� ���� ��(�Ѱ�) const DIALOG_DROPITEM_ASKCOUNT = 4444; // �������� �ٴڿ� ���� ��(������, ������ �����) const DIALOG_DROPITEM_ALL = 5555; // �������� �ٴڿ� ���� ��(MoveAll ������ ��) const DIALOG_DESTROYITEM = 6666; // �������� �����뿡 ���� ��(�Ѱ�) const DIALOG_DESTROYITEM_ALL = 7777; // �������� �����뿡 ���� ��(MoveAll ������ ��) const DIALOG_DESTROYITEM_ASKCOUNT = 8888; // �������� �����뿡 ���� ��(������, ������ �����) const DIALOG_CRYSTALLIZE = 9999; // �������� ����ȭ �Ҷ� const DIALOG_NOTCRYSTALLIZE = 9998; // ����ȭ�� �Ұ����ϴٴ� ��� const DIALOG_DROPITEM_PETASKCOUNT = 10000; // ���κ����� �������� ��ӵǾ��� �� const TIMER_REQUEST_ITEMLIST = 1718; const TIMER_REQUEST_ITEMLIST_DELAY = 1000; const EQUIPITEM_Underwear = 0; const EQUIPITEM_Head = 1; const EQUIPITEM_Hair = 2; const EQUIPITEM_Hair2 = 3; const EQUIPITEM_Neck = 4; const EQUIPITEM_RHand = 5; const EQUIPITEM_Chest = 6; const EQUIPITEM_LHand = 7; const EQUIPITEM_REar = 8; const EQUIPITEM_LEar = 9; const EQUIPITEM_Gloves = 10; const EQUIPITEM_Legs = 11; const EQUIPITEM_Feet = 12; const EQUIPITEM_RFinger = 13; const EQUIPITEM_LFinger = 14; const EQUIPITEM_LBracelet = 15; const EQUIPITEM_RBracelet = 16; const EQUIPITEM_Deco1 = 17; const EQUIPITEM_Deco2 = 18; const EQUIPITEM_Deco3 = 19; const EQUIPITEM_Deco4 = 20; const EQUIPITEM_Deco5 = 21; const EQUIPITEM_Deco6 = 22; const EQUIPITEM_Cloak = 23; const EQUIPITEM_Waist = 24; const EQUIPITEM_Max = 25; const INVENTORY_ITEM_TAB = 0; const INVENTORY_ITEM_1_TAB = 1; const INVENTORY_ITEM_2_TAB = 2; const INVENTORY_ITEM_3_TAB = 3; const INVENTORY_ITEM_4_TAB = 4; var WindowHandle m_hInventoryWnd; var WindowHandle m_hTaliWnd; var WindowHandle m_hFlightWnd; var WindowHandle wnd_CharView; var String m_WindowName; var ItemWindowHandle m_invenItem; ////////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// var L2Util l2UtilScript; var int m_QuestInvenCount; // Added by JoeyPark 2010/09/10 ���� ������ �ִ� ����Ʈ���� ����. var int m_NormalInvenCount; // Added by JoeyPark 2010/09/10 ���� ������ �ִ� �Ϲ����� ����. var ItemWindowHandle m_invenItem_1; var ItemWindowHandle m_invenItem_2; var ItemWindowHandle m_invenItem_3; var ItemWindowHandle m_invenItem_4; var bool bIsSavedLocalItemIdx ; var array<int> itemSwapedServerID; var array<int> itemSwapedServerID_1; var array<int> itemSwapedServerID_2; var array<int> itemSwapedServerID_3; var array<int> itemSwapedServerID_4; var array<int> itemSwapedServerID_q; var array<int> itemSwapedIdx; var array<int> itemSwapedIdx_1; var array<int> itemSwapedIdx_2; var array<int> itemSwapedIdx_3; var array<int> itemSwapedIdx_4; var array<int> itemSwapedIdx_q; var bool bIsQuestItemList; var bool bIsRequestItemList; ////////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// var ItemWindowHandle m_questItem; var ItemWindowHandle m_equipItem[ EQUIPITEM_Max ]; var TextureHandle tex_Tooltip[ EQUIPITEM_Max ]; var ItemWindowHandle m_hHennaItemWindow; var TextBoxHandle m_hAdenaTextBox; var TextBoxHandle txt_ItemCount; var TextboxHandle txt_ExpBarAdenaValue; var TextboxHandle txt_ExpBarAdenaChangeValue; //var TabHandle m_invenTab; //var ButtonHandle btn_Sort; var TextureHandle m_CloakSlot_Disable; var TextureHandle m_Talisman_Disable[ 6 ]; var Vector m_clickLocation; // ������ ����Ҷ� ��� ����� ���� �����ϰ� �ִ´�. var Array<ItemInfo> m_EarItemListStart; var Array<ItemInfo> m_EarItemList; var Array<ItemInfo> m_FingerItemLIstStart; var Array<ItemInfo> m_FingerItemLIst; var Array<ItemInfo> m_DecoItemList; //var int m_NormalInvenCount; var bool m_bCurrentState; var bool m_bFirstOpen; var int m_MaxInvenCount; var int m_MaxQuestItemInvenCount; var INT64 myAdena; var ButtonHandle m_hBtnCrystallize; //var WindowHandle ColorNickNameWnd; var int m_selectedItemTab; //INVENORY EXPAND var ButtonHandle btn_WindowExpand; var ButtonHandle btn_AutoAtt; var ButtonHandle btn_AutoEnchant; var ButtonHandle btn_CharViewOn; var ButtonHandle btn_CharViewOff; var TextureHandle tex_InventoryItemExpandBG; var TextureHandle tex_QuestItemExpandBG; var TextureHandle tex_InventoryRoundLineBG; var TextureHandle tex_InventorySimpleLineBG; var TextureHandle tex_TalismanAllow; var TextureHandle tex_InventoryItemDisable1; var TextureHandle tex_InventoryItemDisable2; var TextureHandle tex_InventoryItemDisable3; var int useExtendedInventory; var int extraSlotsCount; var int currentInvenCol; var bool isVert; var bool isStart; var ItemInfo TaliInfo1, TaliInfo2, TaliInfo3, TaliInfo4, TaliInfo5, TaliInfo6; var TaliWnd script_tali; var ItemControlWnd script_item; var OnScreenDmg script_osd; var ExpBarWnd script_expbar; function OnRegisterEvent() { RegisterEvent(EV_InventoryClear); RegisterEvent(EV_InventoryOpenWindow); RegisterEvent(EV_InventoryHideWindow); RegisterEvent(EV_InventoryAddItem); RegisterEvent(EV_InventoryUpdateItem); RegisterEvent(EV_InventoryItemListEnd); RegisterEvent(EV_InventoryAddHennaInfo); RegisterEvent(EV_InventoryToggleWindow); RegisterEvent(EV_UpdateHennaInfo); RegisterEvent(EV_UpdateUserInfo); RegisterEvent(EV_DialogOK); RegisterEvent(EV_Restart); RegisterEvent(EV_SetMaxCount); RegisterEvent(EV_ChatMessage); } function OnLoad() { m_WindowName="InventoryWnd"; l2UtilScript = L2Util(GetScript("L2Util")); InitHandle(); InitScrollBar(); GetINIInt("Inventory", "extraSlots", extraSlotsCount, "PatchSettings"); GetINIInt("Inventory", "useExtender", useExtendedInventory, "PatchSettings"); if (useExtendedInventory == 1) currentInvenCol = extraSlotsCount + 8; else currentInvenCol = 8; if ((currentInvenCol < 8) || (currentInvenCol > 14)) { useExtendedInventory = 0; SetINIInt("Inventory", "useExtender", useExtendedInventory, "PatchSettings"); currentInvenCol = 8; } //m_questItem.SetCol(11); //m_questItem.ShowScrollBar(false); // m_questItem.SetWindowSize(395, 34); //m_questItem.SetScrollBarPosition( 20, 5, -3 ); // m_questItem.SetScrollBarPosition( 21, -338, -101 ); m_bFirstOpen = false; btn_WindowExpand.SetTexture("MonIcaEssence.Frames.frames_df_btn_Expand","MonIcaEssence.Frames.frames_df_btn_Expand_down","MonIcaEssence.Frames.frames_df_btn_Expand_over"); if (useExtendedInventory == 1) { resizeInventory(extraSlotsCount); } m_selectedItemTab = INVENTORY_ITEM_TAB; m_bCurrentState = false; // m_selectedItemTab = INVENTORY_ITEM_TAB; btn_CharViewOn.ShowWindow(); btn_CharViewOff.HideWindow(); tex_TalismanAllow.HideWindow(); script_tali = TaliWnd(GetScript("TaliWnd")); script_item = ItemControlWnd(GetScript("ItemControlWnd")); script_osd = OnScreenDmg(GetScript("OnScreenDmg")); script_expbar = ExpBarWnd(GetScript("ExpBarWnd")); btn_CharViewOff.SetTooltipCustomType(MakeTooltipSimpleText("Show/Hide Character")); btn_CharViewOn.SetTooltipCustomType(MakeTooltipSimpleText("Show/Hide Character")); btn_WindowExpand.SetTooltipCustomType(MakeTooltipSimpleText("Expand/Minimize Inventory")); btn_AutoAtt.SetTooltipCustomType(MakeTooltipSimpleText("Attribute Window")); btn_AutoEnchant.SetTooltipCustomType(MakeTooltipSimpleText("Enchant Window")); } function InitHandle() { local int i; m_hInventoryWnd = GetWindowHandle(m_WindowName); m_hTaliWnd = GetWindowHandle("TaliWnd"); m_hFlightWnd = GetWindowHandle("FlightTransformCtrlWnd"); wnd_CharView = GetWindowHandle("CharacterViewWnd"); m_invenItem = GetItemWindowHandle(m_WindowName $ ".InventoryItem"); m_questItem = GetItemWindowHandle(m_WindowName $ ".QuestItem"); m_hAdenaTextBox = GetTextBoxHandle( m_WindowName $ ".AdenaText" ); txt_ItemCount = GetTextBoxHandle(m_WindowName $ ".ItemCount"); for( i = 0; i < EQUIPITEM_MAX; ++i ) { tex_Tooltip[i] = GetTextureHandle( m_WindowName $ ".texTooltip" $ i); } m_equipItem[ EQUIPITEM_Underwear ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Underwear" ); tex_Tooltip[ EQUIPITEM_Underwear ].SetTooltipCustomType(MakeTooltipSimpleText("Underwear")); m_equipItem[ EQUIPITEM_Head ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Head" ); tex_Tooltip[ EQUIPITEM_Head ].SetTooltipCustomType(MakeTooltipSimpleText("Headgear")); m_equipItem[ EQUIPITEM_Hair ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Hair" ); tex_Tooltip[ EQUIPITEM_Hair ].SetTooltipCustomType(MakeTooltipSimpleText("Hair Accessory")); m_equipItem[ EQUIPITEM_Hair2 ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Hair2" ); tex_Tooltip[ EQUIPITEM_Hair2 ].SetTooltipCustomType(MakeTooltipSimpleText("Hair Accessory")); m_equipItem[ EQUIPITEM_Neck ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Neck" ); tex_Tooltip[ EQUIPITEM_Neck ].SetTooltipCustomType(MakeTooltipSimpleText("Necklace")); m_equipItem[ EQUIPITEM_RHand ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_RHand" ); tex_Tooltip[ EQUIPITEM_RHand ].SetTooltipCustomType(MakeTooltipSimpleText("Weapon")); m_equipItem[ EQUIPITEM_Chest ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Chest" ); tex_Tooltip[ EQUIPITEM_Chest ].SetTooltipCustomType(MakeTooltipSimpleText("Upper Body")); m_equipItem[ EQUIPITEM_LHand ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_LHand" ); tex_Tooltip[ EQUIPITEM_LHand ].SetTooltipCustomType(MakeTooltipSimpleText("Shield/Sigil")); m_equipItem[ EQUIPITEM_REar ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_REar" ); tex_Tooltip[ EQUIPITEM_REar ].SetTooltipCustomType(MakeTooltipSimpleText("Earring")); m_equipItem[ EQUIPITEM_LEar ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_LEar" ); tex_Tooltip[ EQUIPITEM_LEar ].SetTooltipCustomType(MakeTooltipSimpleText("Earring")); m_equipItem[ EQUIPITEM_Gloves ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Gloves" ); tex_Tooltip[ EQUIPITEM_Gloves ].SetTooltipCustomType(MakeTooltipSimpleText("Gloves")); m_equipItem[ EQUIPITEM_Legs ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Legs" ); tex_Tooltip[ EQUIPITEM_Legs ].SetTooltipCustomType(MakeTooltipSimpleText("Lower Body")); m_equipItem[ EQUIPITEM_Feet ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Feet" ); tex_Tooltip[ EQUIPITEM_Feet ].SetTooltipCustomType(MakeTooltipSimpleText("Boots")); m_equipItem[ EQUIPITEM_RFinger ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_RFinger" ); tex_Tooltip[ EQUIPITEM_RFinger ].SetTooltipCustomType(MakeTooltipSimpleText("Ring")); m_equipItem[ EQUIPITEM_LFinger ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_LFinger" ); tex_Tooltip[ EQUIPITEM_LFinger ].SetTooltipCustomType(MakeTooltipSimpleText("Ring")); m_equipItem[ EQUIPITEM_LBracelet ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_LBracelet" ); tex_Tooltip[ EQUIPITEM_LBracelet ].SetTooltipCustomType(MakeTooltipSimpleText("Left Bracelet")); m_equipItem[ EQUIPITEM_RBracelet ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_RBracelet" ); tex_Tooltip[ EQUIPITEM_RBracelet ] .SetTooltipCustomType(MakeTooltipSimpleText("Right Bracelet")); m_equipItem[ EQUIPITEM_Deco1 ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Talisman1" ); tex_Tooltip[ EQUIPITEM_Deco1 ].SetTooltipCustomType(MakeTooltipSimpleText("Talisman")); m_equipItem[ EQUIPITEM_Deco2 ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Talisman2" ); tex_Tooltip[ EQUIPITEM_Deco2 ].SetTooltipCustomType(MakeTooltipSimpleText("Talisman")); m_equipItem[ EQUIPITEM_Deco3 ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Talisman3" ); tex_Tooltip[ EQUIPITEM_Deco3 ].SetTooltipCustomType(MakeTooltipSimpleText("Talisman")); m_equipItem[ EQUIPITEM_Deco4 ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Talisman4" ); tex_Tooltip[ EQUIPITEM_Deco4 ].SetTooltipCustomType(MakeTooltipSimpleText("Talisman")); m_equipItem[ EQUIPITEM_Deco5 ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Talisman5" ); tex_Tooltip[ EQUIPITEM_Deco5 ].SetTooltipCustomType(MakeTooltipSimpleText("Talisman")); m_equipItem[ EQUIPITEM_Deco6 ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Talisman6" ); tex_Tooltip[ EQUIPITEM_Deco6 ].SetTooltipCustomType(MakeTooltipSimpleText("Talisman")); m_equipItem[ EQUIPITEM_Cloak ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Cloak" ); tex_Tooltip[ EQUIPITEM_Cloak ].SetTooltipCustomType(MakeTooltipSimpleText("Cloack")); m_equipItem[ EQUIPITEM_Waist ] = GetItemWindowHandle( m_WindowName $ ".EquipItem_Waist" ); tex_Tooltip[ EQUIPITEM_Waist ].SetTooltipCustomType(MakeTooltipSimpleText("Belt")); m_equipItem[ EQUIPITEM_LHand ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); m_equipItem[ EQUIPITEM_Head ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); m_equipItem[ EQUIPITEM_Gloves ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); m_equipItem[ EQUIPITEM_Legs ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); m_equipItem[ EQUIPITEM_Feet ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); m_equipItem[ EQUIPITEM_Hair2 ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_LBracelet ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_RBracelet ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_Deco1 ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_Deco2 ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_Deco3 ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_Deco4 ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_Deco5 ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); //~ m_equipItem[ EQUIPITEM_Deco6 ].SetDisableTex( "L2UI.InventoryWnd.Icon_dualcap" ); m_CloakSlot_Disable = GetTextureHandle(m_WindowName $ ".CloakSlot_Disable"); m_Talisman_Disable[ 0 ] = GetTextureHandle(m_WindowName $ ".Talisman1_Disable"); m_Talisman_Disable[ 1 ] = GetTextureHandle(m_WindowName $ ".Talisman2_Disable"); m_Talisman_Disable[ 2 ] = GetTextureHandle(m_WindowName $ ".Talisman3_Disable"); m_Talisman_Disable[ 3 ] = GetTextureHandle(m_WindowName $ ".Talisman4_Disable"); m_Talisman_Disable[ 4 ] = GetTextureHandle(m_WindowName $ ".Talisman5_Disable"); m_Talisman_Disable[ 5 ] = GetTextureHandle(m_WindowName $ ".Talisman6_Disable"); m_hHennaItemWindow = GetItemWindowHandle( m_WindowName$".HennaItem" ); m_hBtnCrystallize = GetButtonHandle(m_WindowName $ ".CrystallizeButton"); tex_InventoryItemExpandBG = GetTextureHandle("InventoryWnd.texInventoryItemExpandBG"); // m_tabbg = GetTextureHandle("InventoryWnd.tabbkg"); tex_QuestItemExpandBG = GetTextureHandle("InventoryWnd.texQuestItemExpandBG"); tex_InventoryRoundLineBG = GetTextureHandle("InventoryWnd.texInventoryRoundLineBG"); tex_InventorySimpleLineBG = GetTextureHandle("InventoryWnd.texInventorySimpleLineBG"); tex_TalismanAllow = GetTextureHandle("InventoryWnd.texTalismanAllow"); tex_InventoryItemDisable1 = GetTextureHandle("InventoryWnd.texInventoryItemDisable1"); tex_InventoryItemDisable2 = GetTextureHandle("InventoryWnd.texInventoryItemDisable2"); tex_InventoryItemDisable3 = GetTextureHandle("InventoryWnd.texInventoryItemDisable3"); btn_WindowExpand = GetButtonHandle(m_WindowName $ ".btnWindowExpand"); btn_AutoAtt = GetButtonHandle(m_WindowName $ ".btnAutoAtt"); btn_AutoEnchant = GetButtonHandle(m_WindowName $ ".btnAutoEnchant"); btn_CharViewOn = GetButtonHandle("InventoryWnd.btnCharViewOn"); btn_CharViewOff = GetButtonHandle("InventoryWnd.btnCharViewOff"); txt_ExpBarAdenaValue = GetTextBoxHandle("ExpBarWnd.txtExpBarAdenaValue"); txt_ExpBarAdenaChangeValue = GetTextBoxHandle("ExpBarWnd.txtExpBarAdenaChangeValue"); ////////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// m_invenItem_1 = GetItemWindowHandle(m_WindowName $ ".InventoryItem_1"); m_invenItem_2 = GetItemWindowHandle(m_WindowName $ ".InventoryItem_2"); m_invenItem_3 = GetItemWindowHandle(m_WindowName $ ".InventoryItem_3"); m_invenItem_4 = GetItemWindowHandle(m_WindowName $ ".InventoryItem_4"); ////////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// ///////////////////////// MultiTab Try ////////////////////////// } function InitScrollBar() { m_invenItem.SetScrollBarPosition( 0, 17, 0 ); m_invenItem_1.SetScrollBarPosition( 0, 17, 0 ); m_invenItem_2.SetScrollBarPosition( 0, 17, 0 ); m_invenItem_3.SetScrollBarPosition( 0, 17, 0 ); m_invenItem_4.SetScrollBarPosition( 0, 17, 0 ); m_questItem.SetScrollBarPosition( 0, 3, -3 ); } function OnEvent(int Event_ID, string param) { // debug("Inven Event ID :" $string(Event_ID)$" "$param); switch( Event_ID ) { case EV_InventoryClear: HandleClear(); break; case EV_InventoryOpenWindow: HandleOpenWindow(param); break; case EV_InventoryHideWindow: HandleHideWindow(); break; case EV_InventoryAddItem: //~ debug ("add item"); HandleAddItem(param); break; case EV_InventoryUpdateItem: //~ debug ("update item" @ param); HandleUpdateItem(param); //FingerItemUpdate(); break; case EV_InventoryItemListEnd: HandleItemListEnd(); break; case EV_InventoryAddHennaInfo: HandleAddHennaInfo(param); break; case EV_UpdateHennaInfo: HandleUpdateHennaInfo(param); break; case EV_InventoryToggleWindow: HandleToggleWindow(); break; case EV_DialogOK: HandleDialogOK(); break; case EV_UpdateUserInfo: HandleUpdateUserInfo(); break; case EV_Restart: HandleRestart(); //~ SaveInventoryOrder(); break; case EV_SetMaxCount: HandleSetMaxCount(param); break; case EV_ChatMessage: HandleChatMessage( param ); break; default: break; }; } //Check GamingState - Start function HandleRestart() { myAdena = IntToInt64(0); m_bCurrentState = false; m_bFirstOpen = true; m_hInventoryWnd.HideWindow() ; bIsRequestItemList = false ; m_hOwnerWnd.KillTimer( TIMER_REQUEST_ITEMLIST ); } function OnEnterState( name a_PrevStateName ) { isStart = true; m_bCurrentState = true; } function OnExitState( name a_NextStateName ) { m_bCurrentState = false; } function OnShow() { m_bFirstOpen = true; // CheckShowCrystallizeButton(); SetAdenaText(); SetItemCount(); UpdateHennaInfo(); m_hOwnerWnd.KillTimer(TIMER_REQUEST_ITEMLIST); if (btn_CharViewOff.isShowWindow()) wnd_CharView.ShowWindow(); } function OnHide() { if( m_bCurrentState ) SaveInventoryOrder(); if(DialogIsMine()) DialogHide(); bIsRequestItemList = false; if (wnd_CharView.isShowWindow()) wnd_CharView.HideWindow(); } function HandleChatMessage( String param ) { local int SysMsgIndex; ParseInt(param, "SysMsgIndex", SysMsgIndex); if ( SysMsgIndex == 34 ) { isStart = false; m_hInventoryWnd.SetTimer(1130, 2000); script_tali.tal[0].Clear(); script_tali.tal[1].Clear(); script_tali.tal[2].Clear(); script_tali.tal[3].Clear(); } } function SwitchExtendedInventory() { if (currentInvenCol != 8) { if (useExtendedInventory == 1) { useExtendedInventory = 0; resizeInventory(0); } else { useExtendedInventory = 1; resizeInventory(extraSlotsCount); } } else { if (useExtendedInventory == 0) { useExtendedInventory = 1; resizeInventory(extraSlotsCount); } } SetINIInt("Inventory", "useExtender", useExtendedInventory, "PatchSettings"); } function resizeInventory (int nSlotsCount) { local int toExpandWidth; if (nSlotsCount > 0) { btn_WindowExpand.SetTexture("MonIcaEssence.Frames.frames_df_Btn_Minimize","MonIcaEssence.Frames.frames_df_btn_Minimize_down","MonIcaEssence.Frames.frames_df_btn_Minimize_over"); currentInvenCol = 8 + nSlotsCount; toExpandWidth = 36 * nSlotsCount; } else { btn_WindowExpand.SetTexture("MonIcaEssence.Frames.frames_df_btn_Expand","MonIcaEssence.Frames.frames_df_btn_Expand_down","MonIcaEssence.Frames.frames_df_btn_Expand_over"); currentInvenCol = 8; toExpandWidth = 0; } m_hInventoryWnd.SetWindowSize(545 + toExpandWidth, 467); m_invenItem.SetWindowSize(304 + toExpandWidth, 288); m_invenItem_1.SetWindowSize(304 + toExpandWidth, 288); m_invenItem_2.SetWindowSize(304 + toExpandWidth, 288); m_invenItem_3.SetWindowSize(304 + toExpandWidth, 288); m_invenItem_4.SetWindowSize(304 + toExpandWidth, 288); m_questItem.SetWindowSize(306 + toExpandWidth, 34); tex_InventoryRoundLineBG.SetWindowSize(315 + toExpandWidth, 322); tex_InventorySimpleLineBG.SetWindowSize(27 + toExpandWidth, 23); tex_InventoryItemExpandBG.SetWindowSize(36 + toExpandWidth, 288); tex_QuestItemExpandBG.SetWindowSize(36 + toExpandWidth, 36); FixDisableTex(); m_invenItem.SetCol(currentInvenCol); m_questItem.SetCol(currentInvenCol); m_invenItem_1.SetCol(currentInvenCol); m_invenItem_2.SetCol(currentInvenCol); m_invenItem_3.SetCol(currentInvenCol); m_invenItem_4.SetCol(currentInvenCol); } function FixDisableTex() { local float x; local string y; local int z; local int toExpandWidth; toExpandWidth = 36 * currentInvenCol; tex_InventoryItemDisable1.HideWindow(); tex_InventoryItemDisable2.HideWindow(); tex_InventoryItemDisable3.HideWindow(); if (useExtendedInventory == 1) if (currentInvenCol * 8 - m_MaxInvenCount > currentInvenCol) { x = (currentInvenCol * 8 - m_MaxInvenCount)/currentInvenCol; y = Left(string(x), 1); z = int(y); if (x != 2.f) { if (x > 2.f) { tex_InventoryItemDisable1.SetWindowSize((currentInvenCol*(8 - z) - m_MaxInvenCount)*36, 34); tex_InventoryItemDisable2.SetWindowSize(toExpandWidth, 34); tex_InventoryItemDisable3.SetWindowSize(toExpandWidth, 34); tex_InventoryItemDisable1.ShowWindow(); tex_InventoryItemDisable2.ShowWindow(); tex_InventoryItemDisable3.ShowWindow(); } else if (x < 2.f) { tex_InventoryItemDisable2.SetWindowSize((currentInvenCol*(8 - z) - m_MaxInvenCount)*36, 34); tex_InventoryItemDisable3.SetWindowSize(toExpandWidth, 34); tex_InventoryItemDisable2.ShowWindow(); tex_InventoryItemDisable3.ShowWindow(); } } } } function CheckShowCrystallizeButton() { if( class'UIDATA_PLAYER'.static.HasCrystallizeAbility() ) m_hBtnCrystallize.ShowWindow(); else m_hBtnCrystallize.HideWindow(); } // ItemWindow Event function OnDBClickItemWithHandle( ItemWindowHandle a_hItemWindow, int index ) { UseItem( a_hItemWindow, index ); } function OnRClickItemWithHandle( ItemWindowHandle a_hItemWindow, int index ) { UseItem( a_hItemWindow, index ); } function OnSelectItemWithHandle( ItemWindowHandle a_hItemWindow, int a_Index ) { local int i; local ItemInfo info; local string ItemName; a_hItemWindow.GetSelectedItem( info ); //printItemInfo(info); //TextLink if( IsKeyDown( IK_Shift ) ) { a_hItemWindow.GetSelectedItem( info ); ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( info.Name, info.RefineryOp1, info.RefineryOp2 ); if (info.ItemNum > IntToInt64(1)) ItemName = ItemName @ "[" $ MakeCostString(Int64ToString(info.ItemNum)) $ "]"; if (info.Enchanted > 0) ItemName = "+" $ info.Enchanted @ ItemName; SetItemTextLink( info.ID, ItemName ); } //DeleteItem if( IsKeyDown( IK_Alt ) && IsKeyDown( IK_Ctrl ) ) { if (a_hItemWindow.GetSelectedItem( info )) { if (a_hItemWindow.FindItem(info.id) != -1) { if( class'UIDATA_PLAYER'.static.HasCrystallizeAbility() && class'UIDATA_ITEM'.static.IsCrystallizable(info.ID) ) { RequestCrystallizeItem(info.ID,IntToInt64(1)); PlayConsoleSound(IFST_TRASH_BASKET); } else { RequestDestroyItem(info.ID, info.ItemNum); PlayConsoleSound(IFST_TRASH_BASKET); } } } } switch ( a_hItemWindow ) { case m_invenItem : case m_invenItem_1 : case m_invenItem_2 : case m_invenItem_3 : case m_invenItem_4 : case m_questItem : return; } for( i = 0; i < EQUIPITEM_MAX; ++i ) { if( a_hItemWindow != m_equipItem[ i ] ) m_equipItem[ i ].ClearSelect(); } } //Ÿ�� �̸��� ���� ������ �ڵ� �ޱ� function itemWindowHandle getItemWindowHandleBystrTarget( string strTarget ) { switch ( strTarget ) { case "InventoryItem": return m_invenItem; break; case "InventoryItem_1": return m_invenItem_1; break; case "InventoryItem_2": return m_invenItem_2; break; case "InventoryItem_3": return m_invenItem_3; break; case "InventoryItem_4": return m_invenItem_4; break; } } function OnDropItem( String strTarget, ItemInfo info, int x, int y ) { local int toIndex, fromIndex; local ItemWindowHandle normalinven; // �κ��丮���� �� ���� �ƴϸ� ó������ �ʴ´�. //debug("Inventory OnDropItem dest " $ strTarget $ ", source " $ info.DragSrcName $ " x:" $ x $ ", y:" $ y); if(! isDragSrcInventory ( info.DragSrcName )) return ; if( strTarget == "InventoryItem" || strTarget == "InventoryItem_1" || strTarget == "InventoryItem_2" || strTarget == "InventoryItem_3" || strTarget == "InventoryItem_4" ) { if( info.DragSrcName == strTarget ) // Change Item position { normalinven = getItemWindowHandleBystrTarget( strTarget ); toIndex = normalinven.GetIndexAt( x, y, 1, 1 ); // Exchange with another item if( toIndex >= 0 ) { fromIndex = normalinven.FindItem(info.ID); if( toIndex != fromIndex ) normalinven.SwapItems( fromIndex, toIndex ); } } else if( -1 != InStr( info.DragSrcName, "EquipItem" ) ) // Unequip thie item { RequestUnequipItem(info.ID, info.SlotBitType); } else if( info.DragSrcName == "PetInvenWnd" ) // Pet -> Inventory { if( IsStackableItem(info.ConsumeType) && info.ItemNum > IntToInt64(1) ) // Multiple item? { if( info.AllItemCount > IntToInt64(0) ) // ���� �ű� ���ΰ� { if ( CheckItemLimit( info.ID, info.AllItemCount ) ) { class'PetAPI'.static.RequestGetItemFromPet( info.ID, info.AllItemCount, false); } } else { DialogSetID(DIALOG_DROPITEM_PETASKCOUNT); DialogSetReservedItemID(info.ID); // ServerID DialogSetParamInt64(info.ItemNum); DialogShow(DIALOG_Modalless, DIALOG_NumberPad, MakeFullSystemMsg( GetSystemMessage(72), info.Name ) ); } } else // Single item? { class'PetAPI'.static.RequestGetItemFromPet( info.ID, IntToInt64(1), false); } } } else if( strTarget == "QuestItem" ) { if( info.DragSrcName == "QuestItem" ) // Change Item position { toIndex = m_questItem.GetIndexAt( x, y, 1, 1 ); if( toIndex >= 0 ) // Exchange with another item { fromIndex = m_questItem.FindItem(info.ID); // ServerID if( toIndex != fromIndex ) { // �ΰ��� while �� �߿� ������ �Ѱ����� ����. while( fromIndex < toIndex ) // ������ ����� { m_questItem.SwapItems( fromIndex, fromIndex + 1 ); ++fromIndex; } while( toIndex < fromIndex ) // �ڷ� �о�� { m_questItem.SwapItems( fromIndex, fromIndex - 1 ); --fromIndex; } } } else // move this item to last { return; //fromIndex = m_invenItem.GetItemNum(); //while( toIndex < fromIndex - 1 ) //{ // m_invenItem.SwapItems( toIndex, toIndex + 1 ); // ++toIndex; // }; } } } else if( -1 != InStr( strTarget, "EquipItem" ) || strTarget == "ObjectViewportDispatchMsg" ) // Equip the item { // debug("Inven EquipItem: " $info.DragSrcName $" " $string(info.ItemType)); if( info.DragSrcName == "PetInvenWnd" ) // Pet -> Equip { class'PetAPI'.static.RequestGetItemFromPet( info.ID, IntToInt64(1), true ); } else if( -1 != InStr( info.DragSrcName, "EquipItem" ) ) //�ƹ��͵� ���� �ʴ´�. { } else if( EItemType(info.ItemType) != ITEM_ETCITEM ) { // debug("RequestuseItem"); RequestUseItem(info.ID); } } else if( strTarget == "TrashButton" ) // Destroy item( after confirmation ) { if( IsStackableItem(info.ConsumeType) && info.ItemNum > IntToInt64(1) ) // Multiple item? { if( info.AllItemCount > IntToInt64(0) ) // ���� ���� ���ΰ� { DialogSetID(DIALOG_DESTROYITEM_ALL); DialogSetReservedItemID(info.ID); // ServerID DialogSetReservedInt2(info.AllItemCount); DialogShow(DIALOG_Modalless,DIALOG_Warning, MakeFullSystemMsg(GetSystemMessage(74), info.Name, "")); } else { DialogSetID(DIALOG_DESTROYITEM_ASKCOUNT); DialogSetReservedItemID(info.ID); // ServerID DialogSetParamInt64(info.ItemNum); DialogShow(DIALOG_Modalless, DIALOG_NumberPad, MakeFullSystemMsg( GetSystemMessage(73), info.Name ) ); } } else // Single item? { // �ļ��Ϸ� �Ҷ�, ����ȭ�� ������ ��Ȳ�̸� �׳� ����ȭ if( class'UIDATA_PLAYER'.static.HasCrystallizeAbility() && class'UIDATA_ITEM'.static.IsCrystallizable(info.ID) ) { DialogSetID(DIALOG_CRYSTALLIZE); DialogSetReservedItemID(info.ID); DialogShow(DIALOG_Modalless,DIALOG_Warning, MakeFullSystemMsg( GetSystemMessage(2232), info.Name ) ); } else { DialogSetID(DIALOG_DESTROYITEM); DialogSetReservedItemID(info.ID); // ServerID DialogShow(DIALOG_Modalless, DIALOG_Warning, MakeFullSystemMsg( GetSystemMessage(74), info.Name ) ); } } } else if( strTarget == "CrystallizeButton" ) { if( info.DragSrcName == "InventoryItem" || ( -1 != InStr( info.DragSrcName, "EquipItem" ) ) ) { if( class'UIDATA_PLAYER'.static.HasCrystallizeAbility() && class'UIDATA_ITEM'.static.IsCrystallizable(info.ID) ) // Show Dialog asking confirmation { DialogSetID(DIALOG_CRYSTALLIZE); DialogSetReservedItemID(info.ID); DialogShow(DIALOG_Modalless,DIALOG_Warning, MakeFullSystemMsg( GetSystemMessage(336), info.Name ) ); } else { DialogSetID(DIALOG_NOTCRYSTALLIZE); DialogShow(DIALOG_Modalless,DIALOG_Notice, MakeFullSystemMsg( GetSystemMessage(2171), info.Name ) ); } } } //~ SaveInventoryOrder(); } // ���� ������ â���� �������� �ű�� ���� OnDropItem ���� �ذ��ϵ��� �ϰ� ���⼭�� �ٴڿ� ������ ��Ȳ�� ó���Ѵ�. function OnDropItemSource( String strTarget, ItemInfo info ) { if (strTarget != "Console") return; if (!isDragSrcInventory ( info.DragSrcName)) return; m_clickLocation = GetClickLocation(); if (IsStackableItem(info.ConsumeType) && info.ItemNum > IntToInt64(1)) // ������ �ִ� ������ { if( info.AllItemCount > IntToInt64(0) ) // ���� ���� ���ΰ� { DialogHide(); DialogSetID( DIALOG_DROPITEM_ALL ); DialogSetReservedItemID(info.ID); // ServerID DialogSetReservedInt2(info.AllItemCount); DialogShow(DIALOG_Modalless,DIALOG_Warning, MakeFullSystemMsg(GetSystemMessage(1833), info.Name, "")); } else // ���ڸ� ��� ���ΰ� { DialogHide(); DialogSetID( DIALOG_DROPITEM_ASKCOUNT ); DialogSetReservedItemID(info.ID); // ServerID DialogSetParamInt64(info.ItemNum); DialogShow(DIALOG_Modalless,DIALOG_NumberPad, MakeFullSystemMsg(GetSystemMessage(71), info.Name, "")); } } else { DialogHide(); DialogSetID( DIALOG_DROPITEM ); DialogSetReservedItemID(info.ID); // ServerID DialogShow(DIALOG_Modalless,DIALOG_Warning, MakeFullSystemMsg(GetSystemMessage(400), info.Name, "")); } } function bool isDragSrcInventory ( string DragSrcName ) { switch ( DragSrcName ) { case "InventoryItem" : case "QuestItem" : case "PetInvenWnd" : case "InventoryItem_1" : case "InventoryItem_2" : case "InventoryItem_3" : case "InventoryItem_4" : return true; } if ( -1 != InStr( DragSrcName, "EquipItem" ) ) return true ; return false; } function bool IsEquipItem( out ItemInfo info ) { return info.bEquipped; } function bool IsQuestItem( out ItemInfo info ) { return EItemtype(info.ItemType) == ITEM_QUESTITEM; } function HandleClear() { if ( m_hOwnerWnd.IsShowWindow() ) saveLocalItemOrder(); InvenClear(); EquipItemClear(); m_EarItemListStart.Length = 0; m_EarItemList.Length = 0; m_FingerItemLIst.Length = 0; m_FingerItemLIstStart.Length = 0; m_DecoItemList.Length = 0; bIsQuestItemList = false; } function int EquipItemGetItemNum() { local int i; local int ItemNum; for( i = 0; i < EQUIPITEM_Max; ++i ) { if(m_equipItem[ i ].IsEnableWindow()) // ��Ʈ�������� �ϳ��� ����. { ItemNum = ItemNum + m_equipItem[ i ].GetItemNum(); } } return ItemNum; } function EquipItemClear() { local int i; for( i = 0; i < EQUIPITEM_Max; ++i ) { m_equipItem[ i ].Clear(); tex_Tooltip[i].ShowWindow(); } } function bool EquipItemFind( ItemID sID ) { local int i; local int Index; for( i = 0; i < EQUIPITEM_Max; ++i ) { Index = m_equipItem[ i ].FindItem( sID ); // ServerID if( -1 != Index ) return true; } return false; } function EquipItemDelete( ItemID sID ) { local int i; local int Index; local ItemInfo TheItemInfo; for( i = 0; i < EQUIPITEM_Max; ++i ) { Index = m_equipItem[ i ].FindItem( sID ); // ServerID if( -1 != Index ) { m_equipItem[ i ].Clear(); tex_Tooltip[i].ShowWindow(); // ȭ���� ������ ���, ���ڸ��� Ȱ ����� ǥ�õǾ���Ѵ�. if( i == EQUIPITEM_LHand ) { if( m_equipItem[ EQUIPITEM_RHand ].GetItem( 0, TheItemInfo ) ) { if( TheItemInfo.SlotBitType == 16384 ) { m_equipItem[ EQUIPITEM_LHand ].Clear(); m_equipItem[ EQUIPITEM_LHand ].AddItem( TheItemInfo ); m_equipItem[ EQUIPITEM_LHand ].DisableWindow(); } } } if ( i >= EQUIPITEM_Deco1 && i <= EQUIPITEM_Deco6) //TaliWnd script_tali.tal[i - 17].Clear(); else if ( i == EQUIPITEM_REar) script_item.item3.Clear(); else if ( i == EQUIPITEM_RFinger ) script_item.item2.Clear(); else if ( ( i == EQUIPITEM_RHand ) ) script_item.item4.Clear(); else if ( i == EQUIPITEM_Neck ) script_item.item1.Clear(); else if ( i == EQUIPITEM_LHand ) { script_item.item5.Clear(); script_item.tex5.SetTexture(""); isVert = GetOptionBool( "Game", "IsShortcutWndVertical" ); if (!isVert) script_item.Me.SetWindowSize( 145 , 34 ); else script_item.Me.SetWindowSize( 34 , 145 ); } } } } function EarItemUpdate() { local int i; local int LEarIndex, REarIndex; LEarIndex = -1; REarIndex = -1; for( i = 0; i < m_EarItemList.Length; ++i ) { switch( IsLOrREar( m_EarItemList[i].ID ) ) { case -1: LEarIndex = i; break; case 0: m_EarItemList.Remove( i, 1 ); break; case 1: REarIndex = i; break; } } if( -1 != LEarIndex ) { //~ debug("���� �Ͱ���"); m_equipItem[ EQUIPITEM_LEar ].Clear(); tex_Tooltip[ EQUIPITEM_LEar ].HideWindow(); m_equipItem[ EQUIPITEM_LEar ].AddItem( m_EarItemList[ LEarIndex ] ); } if( -1 != REarIndex ) { //~ debug("������ �Ͱ���"); m_equipItem[ EQUIPITEM_REar ].Clear(); tex_Tooltip[ EQUIPITEM_REar ].HideWindow(); m_equipItem[ EQUIPITEM_REar ].AddItem( m_EarItemList[ REarIndex ] ); script_item.item3.Clear(); script_item.item3.AddItem(m_EarItemList[ REarIndex ]); } } function EarItemUpdateStart() { local int i; local int LEarIndex, REarIndex; LEarIndex = -1; REarIndex = -1; for( i = 0; i < m_EarItemListStart.Length; ++i ) { switch( IsLOrREar( m_EarItemListStart[i].ID ) ) { case -1: LEarIndex = i; break; case 0: m_EarItemList.Remove( i, 1 ); break; case 1: REarIndex = i; break; } } if( -1 != LEarIndex ) { m_equipItem[ EQUIPITEM_LEar ].Clear(); tex_Tooltip[ EQUIPITEM_LEar ].HideWindow(); m_equipItem[ EQUIPITEM_LEar ].AddItem( m_EarItemListStart[ LEarIndex ] ); } if( -1 != REarIndex ) { m_equipItem[ EQUIPITEM_REar ].Clear(); tex_Tooltip[ EQUIPITEM_REar ].HideWindow(); m_equipItem[ EQUIPITEM_REar ].AddItem( m_EarItemListStart[ REarIndex ] ); script_item.item3.Clear(); script_item.item3.AddItem(m_EarItemListStart[ REarIndex ]); } } //~ Function RBraceletItemUpdate() //~ { //~ local int i; //~ if (g_RBraceTurnOn) //~ { //~ m_equipItem[ EQUIPITEM_Deco1 ].EnableWindow(); //~ m_equipItem[ EQUIPITEM_Deco2 ].EnableWindow(); //~ m_equipItem[ EQUIPITEM_Deco3 ].EnableWindow(); //~ m_equipItem[ EQUIPITEM_Deco4 ].EnableWindow(); //~ m_equipItem[ EQUIPITEM_Deco5 ].EnableWindow(); //~ m_equipItem[ EQUIPITEM_Deco6 ].EnableWindow(); //~ } //~ else //~ { //~ m_equipItem[ EQUIPITEM_Deco1 ].DisableWindow(); //~ m_equipItem[ EQUIPITEM_Deco2 ].DisableWindow(); //~ m_equipItem[ EQUIPITEM_Deco3 ].DisableWindow(); //~ m_equipItem[ EQUIPITEM_Deco4 ].DisableWindow(); //~ m_equipItem[ EQUIPITEM_Deco5 ].DisableWindow(); //~ m_equipItem[ EQUIPITEM_Deco6 ].DisableWindow(); //~ } //~ } function FingerItemUpdate() { local int i; local int LFingerIndex, RFingerIndex; LFingerIndex = -1; RFingerIndex = -1; // AddSystemMessageString(string(m_FingerItemList.Length) $ " FingerItemUpdate "); // AddSystemMessageString(string(m_FingerItemListStart.Length) $ " FingerItemUpdate Start"); for( i = 0; i < m_FingerItemList.Length; ++i ) { switch( IsLOrRFinger( m_FingerItemList[i].ID ) ) { case -1: LFingerIndex = i; // AddSystemMessageString((m_FingerItemList[i].Name) $ " case -1 " $ string(LFingerIndex)); break; case 0: // AddSystemMessageString((m_FingerItemList[i].Name) $" case 0 remove "); m_FingerItemList.Remove( i, 1 ); break; case 1: RFingerIndex = i; // AddSystemMessageString((m_FingerItemList[i].Name) $ " case 1 " $ string(RFingerIndex)); break; } } if( -1 != LFingerIndex ) { m_equipItem[ EQUIPITEM_LFinger ].Clear(); tex_Tooltip[ EQUIPITEM_LFinger ].HideWindow(); m_equipItem[ EQUIPITEM_LFinger ].AddItem( m_FingerItemList[ LFingerIndex ] ); } if( -1 != RFingerIndex ) { m_equipItem[ EQUIPITEM_RFinger ].Clear(); tex_Tooltip[ EQUIPITEM_RFinger ].HideWindow(); m_equipItem[ EQUIPITEM_RFinger ].AddItem( m_FingerItemList[ RFingerIndex ] ); script_item.item2.Clear(); script_item.item2.AddItem(m_FingerItemList[ RFingerIndex ]); } } function FingerItemUpdateStart() { local int i; local int LFingerIndex, RFingerIndex; LFingerIndex = -1; RFingerIndex = -1; // AddSystemMessageString(string(m_FingerItemList.Length) $ " FingerItemUpdateStart "); // AddSystemMessageString(string(m_FingerItemListStart.Length) $ " FingerItemUpdateStart Start"); for( i = 0; i < m_FingerItemListStart.Length; ++i ) { switch( IsLOrRFinger( m_FingerItemListStart[i].ID ) ) { case -1: LFingerIndex = i; // AddSystemMessageString((m_FingerItemListStart[i].Name) $ " case -1 " $ string(LFingerIndex)); break; case 0: // AddSystemMessageString((m_FingerItemListStart[i].Name) $" case 0 remove "); m_FingerItemList.Remove( i, 1 ); break; case 1: RFingerIndex = i; // AddSystemMessageString((m_FingerItemListStart[i].Name) $ " case 1 " $ string(RFingerIndex)); break; } } if( -1 != LFingerIndex ) { m_equipItem[ EQUIPITEM_LFinger ].Clear(); tex_Tooltip[ EQUIPITEM_LFinger ].HideWindow(); m_equipItem[ EQUIPITEM_LFinger ].AddItem( m_FingerItemListStart[ LFingerIndex ] ); } if( -1 != RFingerIndex ) { m_equipItem[ EQUIPITEM_RFinger ].Clear(); tex_Tooltip[ EQUIPITEM_RFinger ].HideWindow(); m_equipItem[ EQUIPITEM_RFinger ].AddItem( m_FingerItemListStart[ RFingerIndex ] ); script_item.item2.Clear(); script_item.item2.AddItem(m_FingerItemListStart[ RFingerIndex ]); } } function EquipItemUpdate( ItemInfo a_info ) { local ItemWindowHandle hItemWnd; local ItemInfo TheItemInfo; local bool ClearLHand; local ItemInfo RHand; local ItemInfo LHand; local ItemInfo Legs; local ItemInfo Gloves; local ItemInfo Feet; local ItemInfo Hair2; local UserInfo InfoUser; local int i; //~ local int j; local int decoIndex; SetEnchantTex(a_Info); switch( a_Info.SlotBitType ) { case 1: // SBT_UNDERWEAR hItemWnd = m_equipItem[ EQUIPITEM_Underwear ]; tex_Tooltip[ EQUIPITEM_Underwear ].HideWindow(); break; case 2: // SBT_REAR case 4: // SBT_LEAR case 6: // SBT_RLEAR for( i = 0; i < m_EarItemList.Length; ++i ) { if( IsSameServerID(m_EarItemList[ i ].ID, a_Info.ID) ) { m_EarItemList[ i ] = a_Info; break; } } // �� ã���� ���� �߰� if( i == m_EarItemList.Length ) { m_EarItemList.Length = m_EarItemList.Length + 1; m_EarItemList[m_EarItemList.Length-1] = a_Info; if (m_EarItemListStart.Length<2) { m_EarItemListStart.Length = m_EarItemListStart.Length + 1; m_EarItemListStart[m_EarItemListStart.Length-1] = a_Info; } } hItemWnd = None; if (!isStart) EarItemUpdate(); if (isStart) EarItemUpdateStart(); break; case 8: // SBT_NECK hItemWnd = m_equipItem[ EQUIPITEM_Neck ]; tex_Tooltip[ EQUIPITEM_Neck ].HideWindow(); break; case 16: // SBT_RFINGER case 32: // SBT_LFINGER case 48: // SBT_RLFINGER // AddSystemMessageString(string(m_FingerItemList.Length) $ " ItemUpdate "); // AddSystemMessageString(string(m_FingerItemListStart.Length) $ " ItemUpdate Start"); for( i = 0; i < m_FingerItemList.Length; ++i ) { if( IsSameServerID(m_FingerItemList[ i ].ID, a_Info.ID) ) { m_FingerItemList[ i ] = a_Info; // AddSystemMessageString((m_FingerItemList[i].Name) ); break; } } // �� ã���� ���� �߰� if( i == m_FingerItemList.Length ) { m_FingerItemList.Length = m_FingerItemList.Length + 1; m_FingerItemList[m_FingerItemList.Length-1] = a_Info; if (m_FingerItemListStart.Length<2) { m_FingerItemListStart.Length = m_FingerItemListStart.Length + 1; m_FingerItemListStart[m_FingerItemListStart.Length-1] = a_Info; } } hItemWnd = None; if (!isStart) FingerItemUpdate(); if (isStart) FingerItemUpdateStart(); break; case 64: // SBT_HEAD hItemWnd = m_equipItem[ EQUIPITEM_Head ]; tex_Tooltip[ EQUIPITEM_Head ].HideWindow(); hItemWnd.EnableWindow(); //~ UpdateCloakSlotActivation(); break; case 128: // SBT_RHAND hItemWnd = m_equipItem[ EQUIPITEM_RHand ]; tex_Tooltip[ EQUIPITEM_RHand ].HideWindow(); script_osd.WeapType = a_Info.WeaponType; break; case 256: // SBT_LHAND hItemWnd = m_equipItem[ EQUIPITEM_LHand ]; tex_Tooltip[ EQUIPITEM_LHand ].HideWindow(); hItemWnd.EnableWindow(); break; case 512: // SBT_GLOVES hItemWnd = m_equipItem[ EQUIPITEM_Gloves ]; tex_Tooltip[ EQUIPITEM_Gloves ].HideWindow(); hItemWnd.EnableWindow(); // Updates cloak slot activation when the cloak slot has not equipped. Only applied to Gloves, Chest, Legs, Feet slots. //~ if (!m_equipItem[ EQUIPITEM_Cloak ].IsEnableWindow()) //~ { //~ UpdateCloakSlotActivation(); //~ } break; case 1024: // SBT_CHEST hItemWnd = m_equipItem[ EQUIPITEM_Chest ]; tex_Tooltip[ EQUIPITEM_Chest ].HideWindow(); // Updates cloak slot activation when the cloak slot has not equipped. Only applied to Gloves, Chest, Legs, Feet slots. //~ if (!m_equipItem[ EQUIPITEM_Cloak ].IsEnableWindow()) //~ { //~ UpdateCloakSlotActivation(); //~ } break; case 2048: // SBT_LEGS hItemWnd = m_equipItem[ EQUIPITEM_Legs ]; tex_Tooltip[ EQUIPITEM_Legs ].HideWindow(); hItemWnd.EnableWindow(); // Updates cloak slot activation when the cloak slot has not equipped. Only applied to Gloves, Chest, Legs, Feet slots. //~ if (!m_equipItem[ EQUIPITEM_Cloak ].IsEnableWindow()) //~ { //~ UpdateCloakSlotActivation(); //~ } break; case 4096: // SBT_FEET hItemWnd = m_equipItem[ EQUIPITEM_Feet ]; tex_Tooltip[ EQUIPITEM_Feet ].HideWindow(); hItemWnd.EnableWindow(); // Updates cloak slot activation when the cloak slot has not equipped. Only applied to Gloves, Chest, Legs, Feet slots. //~ if( m_equipItem[ EQUIPITEM_Cloak ].GetItem( 0, TheItemInfo ) ) //~ { //~ if (!m_equipItem[ EQUIPITEM_Cloak ].IsEnableWindow()) //~ { //~ Debug("Equip Item Cloak Check"); //~ UpdateCloakSlotActivation(); //~ } //~ else //~ { //~ Debug("Equip Item Cloak None"); //~ } break; case 8192: // SBT_BACK hItemWnd = m_equipItem[ EQUIPITEM_Cloak ]; tex_Tooltip[ EQUIPITEM_Cloak ].HideWindow(); //~ Debug ("���� ��Ż"); hItemWnd.EnableWindow(); break; case 16384: // SBT_RLHAND hItemWnd = m_equipItem[ EQUIPITEM_RHand ]; tex_Tooltip[ EQUIPITEM_RHand ].HideWindow(); tex_Tooltip[ EQUIPITEM_LHand ].HideWindow(); ClearLHand = true; script_osd.WeapType = a_Info.WeaponType; // ������� ���������� ���� ���� ������� ��Ʈ�� �����ش�. if( IsBowOrFishingRod( a_Info ) ) { if( m_equipItem[ EQUIPITEM_LHand ].GetItem( 0, TheItemInfo ) ) { if( IsArrow( TheItemInfo ) ) ClearLHand = false; } } if( ClearLHand ) //LRHAND ��쿡�� ex1 , ex2 �� �ִ°� �ְ� ���°� �־ ���� ó���� �ʿ��մϴ�. ;; -innowind { if(Len(a_Info.IconNameEx1) !=0) { RHand = a_info; LHand = a_info; RHand.IconIndex = 1; LHand.IconIndex = 2; //RHand.IconName = a_Info.IconNameEx1; //LHand.IconName = a_Info.IconNameEx2; m_equipItem[ EQUIPITEM_RHand ].Clear(); m_equipItem[ EQUIPITEM_RHand ].AddItem( RHand ); //m_equipItem[ EQUIPITEM_RHand ].DisableWindow(); m_equipItem[ EQUIPITEM_LHand ].Clear(); m_equipItem[ EQUIPITEM_LHand ].AddItem( LHand ); m_equipItem[ EQUIPITEM_LHand ].DisableWindow(); script_item.item4.Clear(); script_item.item4.AddItem(a_Info); script_item.item5.Clear(); isVert = GetOptionBool( "Game", "IsShortcutWndVertical" ); if (!isVert) script_item.Me.SetWindowSize( 145 , 34 ); else script_item.Me.SetWindowSize( 34 , 145 ); script_item.tex5.SetTexture(""); hItemWnd = None; // ������ �̹����� ������ �ʵ��� �⺻ ������ �����ش�. } else // Ȱ�̳� â���� �������̹����� �Ȱ��� ���. { m_equipItem[ EQUIPITEM_LHand ].Clear(); m_equipItem[ EQUIPITEM_LHand ].AddItem( a_Info ); m_equipItem[ EQUIPITEM_LHand ].DisableWindow(); } } break; case 32768: // SBT_ONEPIECE hItemWnd = m_equipItem[ EQUIPITEM_Chest ]; tex_Tooltip[ EQUIPITEM_Chest ].HideWindow(); tex_Tooltip[ EQUIPITEM_Legs ].HideWindow(); Legs = a_Info; Legs.IconName = a_Info.IconNameEX2; //���� �������� �׷��ش�. m_equipItem[ EQUIPITEM_Legs ].Clear(); m_equipItem[ EQUIPITEM_Legs ].AddItem( Legs ); m_equipItem[ EQUIPITEM_Legs ].DisableWindow(); break; case 65536: // SBT_HAIR hItemWnd = m_equipItem[ EQUIPITEM_Hair ]; tex_Tooltip[ EQUIPITEM_Hair ].HideWindow(); break; case 131072: // SBT_ALLDRESS hItemWnd = m_equipItem[ EQUIPITEM_Chest ]; Hair2 = a_info; //������ head�� �����־�� ������ �޸� ������������ hair2�� �ֽ��ϴ�. - innowind Gloves = a_info; Legs = a_info; Feet = a_info; Hair2.IconName = a_Info.IconNameEx1; Gloves.IconName = a_Info.IconNameEx2; Legs.IconName = a_Info.IconNameEx3; Feet.IconName = a_Info.IconNameEx4; tex_Tooltip[ EQUIPITEM_Head ].HideWindow(); tex_Tooltip[ EQUIPITEM_Gloves ].HideWindow(); tex_Tooltip[ EQUIPITEM_Legs ].HideWindow(); tex_Tooltip[ EQUIPITEM_Feet ].HideWindow(); m_equipItem[ EQUIPITEM_Head ].Clear(); m_equipItem[ EQUIPITEM_Head ].AddItem( Hair2 ); m_equipItem[ EQUIPITEM_Head ].DisableWindow(); m_equipItem[ EQUIPITEM_Gloves ].Clear(); m_equipItem[ EQUIPITEM_Gloves ].AddItem( Gloves ); m_equipItem[ EQUIPITEM_Gloves ].DisableWindow(); m_equipItem[ EQUIPITEM_Legs ].Clear(); m_equipItem[ EQUIPITEM_Legs ].AddItem( Legs ); m_equipItem[ EQUIPITEM_Legs ].DisableWindow(); m_equipItem[ EQUIPITEM_Feet ].Clear(); m_equipItem[ EQUIPITEM_Feet ].AddItem( Feet ); m_equipItem[ EQUIPITEM_Feet ].DisableWindow(); break; case 262144: // SBT_HAIR2 hItemWnd = m_equipItem[ EQUIPITEM_Hair2 ]; tex_Tooltip[ EQUIPITEM_Hair2 ].HideWindow(); hItemWnd.EnableWindow(); break; case 524288: // SBT_HAIRALL hItemWnd = m_equipItem[ EQUIPITEM_Hair ]; tex_Tooltip[ EQUIPITEM_Hair ].HideWindow(); tex_Tooltip[ EQUIPITEM_Hair2 ].HideWindow(); //Hair2 = a_info; //Hair2.IconName = a_Info.IconNameEx2; m_equipItem[ EQUIPITEM_Hair2 ].Clear(); m_equipItem[ EQUIPITEM_Hair2 ].AddItem( a_info ); m_equipItem[ EQUIPITEM_Hair2 ].DisableWindow(); break; case 1048576: //SBT_RBracelet hItemWnd = m_equipItem[ EQUIPITEM_RBracelet ]; m_equipItem[ EQUIPITEM_RBracelet ].Clear(); m_equipItem[ EQUIPITEM_RBracelet ].AddItem( a_info ); m_equipItem[ EQUIPITEM_RBracelet ].EnableWindow(); switch(a_info.ID.ClassID) { case 9589: m_hTaliWnd.SetWindowSize(45, 42); m_hTaliWnd.SetAnchor("FlightTransformCtrlWnd", "TopRight", "TopRight", -93, 8); break; case 9590: case 13295: m_hTaliWnd.SetWindowSize(81, 42); m_hTaliWnd.SetAnchor("FlightTransformCtrlWnd", "TopRight", "TopRight", -75, 8); break; case 9591: case 10209: case 17049: m_hTaliWnd.SetWindowSize(117, 42); m_hTaliWnd.SetAnchor("FlightTransformCtrlWnd", "TopRight", "TopRight", -57, 8); break; case 9592: case 10210: m_hTaliWnd.SetWindowSize(153, 42); m_hTaliWnd.SetAnchor("FlightTransformCtrlWnd", "TopRight", "TopRight", -39, 8); break; case 26500: m_hTaliWnd.SetWindowSize(189, 42); m_hTaliWnd.SetAnchor("FlightTransformCtrlWnd", "TopRight", "TopRight", -21, 8); break; case 26501: m_hTaliWnd.SetWindowSize(225, 42); m_hTaliWnd.SetAnchor("FlightTransformCtrlWnd", "TopRight", "TopRight", -3, 8); break; } if (m_hFlightWnd.isShowWindow()) m_hTaliWnd.ShowWindow(); else m_hTaliWnd.HideWindow(); break; case 2097152: //SBT_LBracelet hItemWnd = m_equipItem[ EQUIPITEM_LBracelet ]; tex_Tooltip[ EQUIPITEM_LBracelet ].HideWindow(); m_equipItem[ EQUIPITEM_LBracelet ].Clear(); m_equipItem[ EQUIPITEM_LBracelet ].AddItem( a_info ); m_equipItem[ EQUIPITEM_LBracelet ].EnableWindow(); // Updates Talisman Item slot activation when the Bracelet slot has not equipped. //~ if (!m_equipItem[ EQUIPITEM_Deco1 ].IsEnableWindow()) //~ { //~ UpdateTalismanSlotActivation(); //~ } break; case 4194304: //SBT_Deco1; decoIndex = GetDecoIndex(a_info.Id); if (decoIndex == -1) { for ( i = 0; i < 6; ++i ) { if (script_tali.tal[i].GetItem(0, TheItemInfo)) { if (a_info.Id.ServerID == TheItemInfo.Id.ServerID) { return; } } else { if (i == 0) TaliInfo1 = a_info; if (i == 1) TaliInfo2 = a_info; if (i == 2) TaliInfo3 = a_info; if (i == 3) TaliInfo4 = a_info; if (i == 4) TaliInfo5 = a_info; if (i == 5) TaliInfo6 = a_info; m_equipItem[ EQUIPITEM_Deco1 + i ].Clear(); m_equipItem[ EQUIPITEM_Deco1 + i ].AddItem( a_info ); m_equipItem[ EQUIPITEM_Deco1 + i ].EnableWindow(); if (GetTalismanSkillID(a_info.ID.ClassID) != -1) { a_info.ID.ClassID = GetTalismanSkillID(a_info.ID.ClassID); a_info.ItemSubType = int(EShortCutItemType.SCIT_SKILL); } script_tali.tal[i].Clear(); script_tali.tal[i].AddItem(a_info); return; } } } if (decoIndex != -1) { m_equipItem[ EQUIPITEM_Deco1 + decoIndex ].Clear(); m_equipItem[ EQUIPITEM_Deco1 + decoIndex ].AddItem( a_info ); tex_Tooltip[ EQUIPITEM_Deco1 + decoIndex ].HideWindow(); m_equipItem[ EQUIPITEM_Deco1 + decoIndex ].EnableWindow(); if (GetTalismanSkillID(a_info.ID.ClassID) != -1) { a_info.ID.ClassID = GetTalismanSkillID(a_info.ID.ClassID); a_info.ItemSubType = int(EShortCutItemType.SCIT_SKILL); } script_tali.tal[decoIndex].Clear(); script_tali.tal[decoIndex].AddItem(a_info); for (i = 0; i < 6; i++) { if (!m_equipItem[EQUIPITEM_Deco1+i].GetItem(0,TheItemInfo)) script_tali.tal[i].Clear(); } } break; case 268435456: hItemWnd = m_equipItem[ EQUIPITEM_Waist ]; tex_Tooltip[EQUIPITEM_Waist].HideWindow(); break; } if( None != hItemWnd ) { hItemWnd.Clear(); //~ Debug("IconName="@a_Info.IconName); hItemWnd.AddItem( a_Info ); //AddSystemMessageString("a_Info.Name = "$a_Info.Name); if ( a_Info.SlotBitType == 8 ) //Necklase { script_item.item1.Clear(); script_item.item1.AddItem(a_Info); } if ( (a_Info.SlotBitType == 128) || (a_Info.SlotBitType == 16384)) // RLHand wxcept Duals { script_item.item4.Clear(); script_item.item4.AddItem(a_Info); if( IsBowOrFishingRod( a_Info ) ) { if( m_equipItem[ EQUIPITEM_LHand ].GetItem( 0, TheItemInfo ) ) { if( !IsArrow( TheItemInfo ) ) { script_item.item5.Clear(); isVert = GetOptionBool( "Game", "IsShortcutWndVertical" ); if (!isVert) script_item.Me.SetWindowSize( 145 , 34 ); else script_item.Me.SetWindowSize( 34 , 145 ); script_item.tex5.SetTexture(""); } } } else { if (a_Info.SlotBitType == 16384) { script_item.item5.Clear(); isVert = GetOptionBool( "Game", "IsShortcutWndVertical" ); if (!isVert) script_item.Me.SetWindowSize( 145 , 34 ); else script_item.Me.SetWindowSize( 34 , 145 ); script_item.tex5.SetTexture(""); } } } // if (a_Info.SlotBitType == 268435456) // Belt // { // script_item.item3.Clear(); // script_item.item3.AddItem(a_Info); // } if ( (a_Info.SlotBitType == 256) ) // LHand { script_item.item5.Clear(); isVert = GetOptionBool( "Game", "IsShortcutWndVertical" ); if (!isVert) script_item.Me.SetWindowSize( 182 , 34 ); else script_item.Me.SetWindowSize( 34 , 182 ); script_item.tex5.SetTexture("L2UI_CH3.etc.menu_outline"); script_item.item5.AddItem(a_Info); } } //~ UpdateTalismanSlotActivation(); //~ UpdateCloakSlotActivation(); } function HandleOpenWindow(string param) { local int open; if ( bIsRequestItemList ) return; ParseInt(param, "Open", open); if(open==0) return; OpenWindow(); } function OpenWindow() { m_hInventoryWnd.ShowWindow(); m_hInventoryWnd.SetFocus(); } function HandleHideWindow() { DialogHide(); HideWindow(m_WindowName); } function HandleAddItem(string param) { //local int Order; local ItemInfo info; ParamToItemInfo( param, info ); //Debug ("HandleAddItem" ); if( IsEquipItem(info) ) { EquipItemUpdate( info ); } else if( IsQuestItem(info) ) { // m_questItem.AddItem( info ); QuestInvenAddItem(info); } else { //ParseInt( param, "Order", Order ); //debug("InvenOrder: "$string(Order)); //InvenAddItem( info, Order ); //InvenAddItem( info ); // AddSystemMessageString("HandleAddItem" @ info.Name); NormalInvenAddItem( info ); } } function HandleUpdateItem(string param) { local string type; local ItemInfo info; local int index; local ItemWindowHandle detailItemWindowHandle; // lastHandleAddItemParam = param; ParseString( param, "type", type ); ParamToItemInfo( param, info ); SetEnchantTex(info); if( type == "add" ) { if( IsEquipItem(info) ) { EquipItemUpdate( info ); } else if( IsQuestItem(info) ) { QuestInvenAddItem( info ); //m_questItem.AddItem(info); //index = m_questItem.GetItemNum() - 1; //while( index > 0 ) // ���� ������! //{ // m_questItem.SwapItems(index-1, index); // --index; //} } else { //InvenAddItem( info ); // AddSystemMessageString("HandleUpdateItem add" @ info.Name); NormalInvenAddItem( info ); } } else if( type == "update" ) { // debug("������Ʈ? " $ param); if( IsEquipItem(info) ) { // debug("������Ţ������?? " $ param); if( EquipItemFind(info.ID) ) // match found { // debug("������ ? " $ param); EquipItemUpdate( info ); } else // not found in equipItemList. In this case, move the item from InvenItemList to EquipItemList { // debug("������ ���� ���μ���1 �κ��丮���� �����."); // debug("������?? " $ param); InvenDelete( info ); // debug("������ ���� ���μ���2"); // if (info.SlotBitType == 1048576) EquipItemUpdate( info ); } } else if( IsQuestItem(info) ) { index = m_questItem.FindItem(info.ID); // ServerID if( index != -1 ) { m_questItem.SetItem(index, info); } else // In this case, Equipped item is being unequipped. { EquipItemDelete(info.ID); //m_questItem.AddItem(info); QuestInvenAddItem( info ); } } else { index = m_invenItem.FindItem(info.ID); // ServerID if( index != -1 ) { m_invenItem.SetItem( index, info ); detailItemWindowHandle = getItemWindowHandleByItemType( info ); detailItemWindowHandle.SetItem ( detailItemWindowHandle.FindItem( info.ID ) , info ) ; if (info.ID.ClassID == 57) { if (GetAdena() - myAdena > IntToInt64(0)) { MoveAdenaValue(1, MakeCostString(Int64ToString(GetAdena() - myAdena))); myAdena = GetAdena(); } else if (GetAdena() - myAdena < IntToInt64(0)) { MoveAdenaValue(0, MakeCostString(Int64ToString( myAdena - GetAdena()))); myAdena = GetAdena(); } } } else // In this case, Equipped item is being unequipped. { EquipItemDelete(info.ID); if (info.SlotBitType == 1048576 && m_hFlightWnd.isShowWindow()) m_hTaliWnd.HideWindow(); //InvenAddItem( info, 0 ); //InvenAddItem( info ); // AddSystemMessageString("HandleUpdateItem update" @ info.Name); NormalInvenAddItem( info ); } } } else if( type == "delete" ) { if( IsEquipItem(info) ) { EquipItemDelete(info.ID); } else if( IsQuestItem(info) ) { //index = m_questItem.FindItem(info.ID); // ServerID //m_questItem.DeleteItem(index); QuestInvenDelete( info ); } else { InvenDelete( info ); } } UpdateItemUsability(); SetAdenaText(); SetItemCount(); } function HandleItemListEnd() { // ó�� �Ϸ� �� ����Ʈ ����Ʈ�� ó�� if ( !bIsQuestItemList ) { bIsQuestItemList = true; return; } SetAdenaText(); SetItemCount(); UpdateItemUsability(); if ( bIsSavedLocalItemIdx ) SaveInventoryOrder() ; if ( bIsRequestItemList ) { //l2UtilScript.SortItem(m_invenItem_1); //l2UtilScript.SortItem(m_invenItem_2); //l2UtilScript.SortItem(m_invenItem_3); //l2UtilScript.SortItem(m_invenItem_4); bIsRequestItemList = false; //m_hOwnerWnd.ShowWindowWithFocus(); ShowWindowWithFocus( "InventoryWnd" ); PlayConsoleSound(IFST_INVENWND_OPEN); } } function UpdateItemUsability() { m_invenItem.SetItemUsability(); m_questItem.SetItemUsability(); } function HandleAddHennaInfo(string param) { /* local int hennaID, isActive; ParseInt( param, "ID", hennaID ); ParseInt( param, "bActive", isActive ); */ UpdateHennaInfo(); } function HandleUpdateHennaInfo(string param) { UpdateHennaInfo(); } function QuestInvenAddItem( ItemInfo newItem ) { local int idx; local int CurLimit; local int FindIdx; local ItemInfo curItem; FindIdx = -1; if (bIsSavedLocalItemIdx) { FindIdx = getLocalItemOrderByItemWindow( m_questItem, newItem.ID.serverID, -1) ; } // else // if( m_questItem.GetItem( newItem.Order, curItem ) ) // if( !IsValidItemID( curItem.ID ) ) // { // FindIdx = newItem.Order ; // AddSystemMessageString("!bIsSavedLocalItemIdx" @ FindIdx); // } if( FindIdx < 0 ) { CurLimit = m_questItem.GetItemNum(); for( idx=0; idx<CurLimit; idx++ ) { if( m_questItem.GetItem( idx, curItem ) ) { if( !IsValidItemID( curItem.ID ) ) { FindIdx = idx; break; } } } } if( FindIdx > -1 ) m_questItem.SetItem( FindIdx, newItem ); else m_questItem.AddItem( newItem ); // m_QuestInvenCount++; } function saveLocalItemOrder() { local int i ; bIsSavedLocalItemIdx = true; //Debug ( "saveLocalItemOrder" @ itemSwapedServerID.length ) ; for ( i = 0 ; i < m_invenItem.GetItemNum() ; i ++ ) { saveServerID ( m_invenItem, i, itemSwapedServerID, itemSwapedIdx ) ; saveServerID ( m_invenItem_1, i, itemSwapedServerID_1, itemSwapedIdx_1 ) ; saveServerID ( m_invenItem_2, i, itemSwapedServerID_2, itemSwapedIdx_2 ) ; saveServerID ( m_invenItem_3, i, itemSwapedServerID_3, itemSwapedIdx_3 ) ; saveServerID ( m_invenItem_4, i, itemSwapedServerID_4, itemSwapedIdx_4 ) ; } for ( i = 0 ; i < m_questItem.GetItemNum() ; i ++ ) saveServerID ( m_questItem, i, itemSwapedServerID_q, itemSwapedIdx_q ) ; } function saveServerID ( ItemWindowHandle targetWindow, int idx, out array<int> serverIDList, out array<int> SwapedIdx ) { local iteminfo invenInfo; targetWindow.GetItem( idx , invenInfo ); if ( invenInfo.ID.serverID != -1 ) { invenInfo.Order = idx; idx = serverIDList.length; serverIDList.length = serverIDList.length + 1 ; serverIDList[ idx ] = invenInfo.ID.serverID; SwapedIdx[ idx ] = invenInfo.Order; //Debug ( "saveServerID" @ invenInfo.Name @ invenInfo.Order @ targetWindow.GetWindowName()) ; } } // ������ order�� ã�� function int getLocalItemOrder( int serverID, array<int> serverIDList, array<int> SwapedIdx, int defaultOrder ) { local int i ; for ( i = 0 ; i < serverIDList.Length ; i ++ ) { if ( serverIDList[ i ] == serverID ) return SwapedIdx[ i ]; } return defaultOrder; } function int getLocalItemOrderByItemWindow ( itemWindowHandle targetWindow, int serverID, int defaultOrder ) { switch ( targetWindow ) { case m_invenItem_1 : return getLocalItemOrder( serverID, itemSwapedServerID_1, itemSwapedIdx_1, defaultOrder ) ; case m_invenItem_2 : return getLocalItemOrder( serverID, itemSwapedServerID_2, itemSwapedIdx_2, defaultOrder ) ; case m_invenItem_3 : return getLocalItemOrder( serverID, itemSwapedServerID_3, itemSwapedIdx_3, defaultOrder ) ; case m_invenItem_4 : return getLocalItemOrder( serverID, itemSwapedServerID_4, itemSwapedIdx_4, defaultOrder ) ; case m_questItem : return getLocalItemOrder( serverID, itemSwapedServerID_q, itemSwapedIdx_q, defaultOrder ) ; } return defaultOrder ; } function QuestInvenDelete( ItemInfo item ) { local int FindIdx; local ItemInfo ClearItem; FindIdx = m_questItem.FindItem( item.ID ); if( FindIdx != -1 ) { //����� �ٽ� �� ���� ���������� ä���ش�. m_questItem.DeleteItem(FindIdx); // m_QuestInvenCount--; ClearItemID( ClearItem.ID ); ClearItem.IconName = "L2ui_ct1.emptyBtn"; m_questItem.AddItem(ClearItem); } } function UpdateHennaInfo() { local int i; local int HennaInfoCount; local int HennaID; local int IsActive; local ItemInfo HennaItemInfo; local UserInfo PlayerInfo; local int ClassStep; if( GetPlayerInfo( PlayerInfo ) ) { ClassStep = GetClassStep( PlayerInfo.nSubClass ); switch( ClassStep ) { case 1: case 2: case 3: m_hHennaItemWindow.SetRow( ClassStep ); break; default: m_hHennaItemWindow.SetRow( 0 ); break; } } m_hHennaItemWindow.Clear(); HennaInfoCount = class'HennaAPI'.static.GetHennaInfoCount(); if( HennaInfoCount > ClassStep ) HennaInfoCount = ClassStep; for( i = 0; i < HennaInfoCount; ++i ) { if( class'HennaAPI'.static.GetHennaInfo( i, HennaID, IsActive ) ) { if( !class'UIDATA_HENNA'.static.GetItemName( HennaID, HennaItemInfo.Name ) ) break; if( !class'UIDATA_HENNA'.static.GetDescription( HennaID, HennaItemInfo.Description ) ) break; if( !class'UIDATA_HENNA'.static.GetIconTex( HennaID, HennaItemInfo.IconName ) ) break; if( 0 == IsActive ) HennaItemInfo.bDisabled = true; else HennaItemInfo.bDisabled = false; m_hHennaItemWindow.AddItem( HennaItemInfo ); } } } function SetAdenaText() { local string adenaString; adenaString = MakeCostString( Int64ToString(GetAdena()) ); m_hAdenaTextBox.SetText(adenaString); m_hAdenaTextBox.SetTooltipString(ConvertNumToText(Int64ToString(GetAdena()))); script_expbar.txt_ExpBarAdenaValue.SetText(adenaString); } function UseItem( ItemWindowHandle a_hItemWindow, int index ) { local ItemInfo info; local ItemInfo item1i,item2i,item3i,item4i,item5i; if( a_hItemWindow.GetItem(index, info) ) { if( !info.bDisabled ) // lpislhy { if( info.bRecipe ) // ������(������)�� ����� ������ ����� { DialogSetReservedItemID(info.ID); // ServerID DialogSetID(DIALOG_USE_RECIPE); DialogShow(DIALOG_Modalless,DIALOG_Warning, GetSystemMessage(798)); } else if( info.PopMsgNum > 0 ) // �˾� �޽����� �����ش�. { DialogSetID(DIALOG_POPUP); DialogSetReservedItemID(info.ID); // ServerID DialogShow(DIALOG_Modalless,DIALOG_Warning, GetSystemMessage(info.PopMsgNum)); } else { debug ("Sending Request to Server:"); RequestUseItem(info.ID); script_item.item1.GetItem(0, item1i); script_item.item2.GetItem(0, item2i); script_item.item3.GetItem(0, item3i); script_item.item4.GetItem(0, item4i); script_item.item5.GetItem(0, item5i); //AddSystemMessageString("GOT ITEM INFO"); switch (info.ID) { case item1i.ID: script_item.item1.Clear(); //script_tali.tal4.DisableWindow(); //AddSystemMessageString("4th ITEM INFO clear"); break; case item2i.ID: script_item.item2.Clear(); //script_tali.tal4.DisableWindow(); //AddSystemMessageString("4th ITEM INFO clear"); break; case item3i.ID: script_item.item3.Clear(); //script_tali.tal4.DisableWindow(); //AddSystemMessageString("4th ITEM INFO clear"); break; case item4i.ID: script_item.item4.Clear(); //script_tali.tal4.DisableWindow(); //AddSystemMessageString("4th ITEM INFO clear"); break; case item5i.ID: script_item.item5.Clear(); isVert = GetOptionBool( "Game", "IsShortcutWndVertical" ); if (!isVert) script_item.Me.SetWindowSize( 145 , 34 ); else script_item.Me.SetWindowSize( 34 , 145 ); script_item.tex5.SetTexture(""); //script_tali.tal4.DisableWindow(); //AddSystemMessageString("4th ITEM INFO clear"); break; } } } } } function int GetMyInventoryLimit() { //~ debug ("MyInventoryLimit:" @ class'UIDATA_PLAYER'.static.GetInventoryLimit()); //~ return class'UIDATA_PLAYER'.static.GetInventoryLimit(); return m_MaxInvenCount; } function int GetQuestItemInventoryLimit() { return m_MaxQuestItemInvenCount; } function SetItemCount() { local int limit; local int count; count = m_NormalInvenCount + EquipItemGetItemNum(); limit = GetMyInventoryLimit(); txt_ItemCount.SetText("(" $ count $ "/" $ limit $ ")"); script_expbar.txt_ExpBarInventoryValue.SetText(count $ "/" $ limit); } function HandleDialogOK() { local int id; local INT64 reserved2; local ItemID sID; local INT64 number; if( DialogIsMine() ) { id = DialogGetID(); reserved2 = DialogGetReservedInt2(); number = StringToInt64(DialogGetString()); sID = DialogGetReservedItemID(); // ItemID if( id == DIALOG_USE_RECIPE || id == DIALOG_POPUP ) { RequestUseItem(sID); } else if( id == DIALOG_DROPITEM ) { RequestDropItem( sID, IntToInt64(1), m_clickLocation ); } else if( id == DIALOG_DROPITEM_ASKCOUNT ) { if(number == IntToInt64(0)) number = IntToInt64(1); // �ƹ� ���ڵ� �Է����� ������ 1�� ������� ó�� RequestDropItem( sID, number, m_clickLocation ); } else if( id == DIALOG_DROPITEM_ALL ) { RequestDropItem( sID, reserved2, m_clickLocation ); } else if( id == DIALOG_DESTROYITEM ) { RequestDestroyItem(sID, IntToInt64(1)); PlayConsoleSound(IFST_TRASH_BASKET); } else if( id == DIALOG_DESTROYITEM_ASKCOUNT ) { RequestDestroyItem(sID, number); PlayConsoleSound(IFST_TRASH_BASKET); } else if( id == DIALOG_DESTROYITEM_ALL) { RequestDestroyItem(sID, reserved2); PlayConsoleSound(IFST_TRASH_BASKET); } else if( id == DIALOG_CRYSTALLIZE ) { RequestCrystallizeItem(sID,IntToInt64(1)); PlayConsoleSound(IFST_TRASH_BASKET); } else if ( id == DIALOG_DROPITEM_PETASKCOUNT ) { class'PetAPI'.static.RequestGetItemFromPet( sID, number, false); } } } function HandleUpdateUserInfo() { if( m_hInventoryWnd.IsShowWindow() ) { InvenLimitUpdate(); EarItemUpdate(); FingerItemUpdate(); CheckShowCrystallizeButton(); UpdateTalismanSlotActivation(); UpdateCloakSlotActivation(); } else { EarItemUpdate(); FingerItemUpdate(); // UpdateTalismanSlotActivation(); } } function HandleToggleWindow() { if( m_hInventoryWnd.IsShowWindow() ) { m_hInventoryWnd.HideWindow(); PlayConsoleSound(IFST_INVENWND_CLOSE); } else { if ( bIsRequestItemList ) return; bIsRequestItemList = true; m_hOwnerWnd.setTimer ( TIMER_REQUEST_ITEMLIST, TIMER_REQUEST_ITEMLIST_DELAY ); if (IsShowInventoryWndUponEvent()) { RequestItemList(); m_hInventoryWnd.ShowWindow(); // PlayConsoleSound(IFST_INVENWND_OPEN); } } } //����â��, ����â��, ȭ��â��, ��ȯâ, ��������, �Ǹ�â, �����Ǹ�, ���α��� â�� ������ ��� �����ϴ� ��ƾ //�ٸ������ ���λ��� â���� ���� �����Ҷ��� �������� --;; - innowind function bool IsShowInventoryWndUponEvent() { local WindowHandle m_warehouseWnd; local WindowHandle m_privateShopWnd; local WindowHandle m_tradeWnd; local WindowHandle m_shopWnd; local WindowHandle m_multiSellWnd; local WindowHandle m_deliverWnd; local PrivateShopWnd m_scriptPrivateShopWnd; local WindowHandle m_PostBoxWnd, m_PostWriteWnd, m_PostDetailWnd_General, m_PostDetailWnd_SafetyTrade; //branch local WindowHandle m_BR_CashShopWnd; local WindowHandle m_BR_BuyingWnd; //end of branch //��ǰ �κ��丮 �߰� local WindowHandle m_ProductInventoryWnd; m_warehouseWnd = GetWindowHandle( "WarehouseWnd" ); //����â��, ����â��, ȭ��â�� m_privateShopWnd = GetWindowHandle( "PrivateShopWnd" ); //�����Ǹ�, ���α��� m_tradeWnd = GetWindowHandle( "TradeWnd" ); //��ȯ m_shopWnd = GetWindowHandle( "ShopWnd" ); //��������, �Ǹ� m_multiSellWnd = GetWindowHandle( "MultiSellWnd" ); //��������, �Ǹ� m_deliverWnd = GetWindowHandle( "DeliverWnd" ); //ȭ������ m_scriptPrivateShopWnd = PrivateShopWnd( GetScript("PrivateShopWnd") ); m_PostBoxWnd = GetWindowHandle( "PostBoxWnd" ); m_PostWriteWnd = GetWindowHandle( "PostWriteWnd" ); m_PostDetailWnd_General = GetWindowHandle( "PostDetailWnd_General" ); m_PostDetailWnd_SafetyTrade = GetWindowHandle( "PostDetailWnd_SafetyTrade" ); //branch m_BR_CashShopWnd = GetWindowHandle( "BR_CashShopWnd" ); // ���� ���� m_BR_BuyingWnd = GetWindowHandle( "BR_BuyingWnd" ); // ���� ���� //end of branch m_ProductInventoryWnd = GetWindowHandle( "ProductInventoryWnd" ); // �ǸŴ��� if( m_warehouseWnd.IsShowWindow() ) return false; if( m_tradeWnd.IsShowWindow() ) return false; if( m_shopWnd.IsShowWindow() ) return false; if( m_multiSellWnd.IsShowWindow() ) return false; if( m_deliverWnd.IsShowWindow() ) return false; if( m_privateShopWnd.IsShowWindow() && m_scriptPrivateShopWnd.m_type == PT_Sell ) return false; if (m_PostBoxWnd.IsShowWindow() || m_PostWriteWnd.IsShowWindow() || m_PostDetailWnd_General.IsShowWindow() || m_PostDetailWnd_SafetyTrade.IsShowWindow() ) return false; //branch if( m_BR_CashShopWnd.IsShowWindow() || m_BR_BuyingWnd.IsShowWindow() ) return false; //end of branch if( m_ProductInventoryWnd.IsShowWindow() ) return false; return true; } function int IsLOrREar( ItemID sID ) { local ItemID LEar; local ItemID REar; local ItemID LFinger; local ItemID RFinger; GetAccessoryItemID( LEar, REar, LFinger, RFinger ); if( IsSameServerID(sID, LEar) ) return -1; else if( IsSameServerID(sID, REar) ) return 1; else return 0; } function int IsLOrRFinger( ItemID sID ) { local ItemID LEar; local ItemID REar; local ItemID LFinger; local ItemID RFinger; GetAccessoryItemID( LEar, REar, LFinger, RFinger ); if( IsSameServerID(sID, LFinger) ) return -1; else if( IsSameServerID(sID, RFinger) ) return 1; else return 0; } function bool IsBowOrFishingRod( ItemInfo a_Info ) { //~ debug("������� ��ȣ?"@ a_Info.WeaponType); if( 6 == a_Info.WeaponType || 10 == a_Info.WeaponType || 12 == a_Info.WeaponType ) return true; return false; } function int IsDecoItem( ItemInfo a_Info ) { return a_Info.SlotBitType; } function bool IsArrow( ItemInfo a_Info ) { return a_Info.bArrow; } // �κ��丮 ���� ǥ�� function InvenLimitUpdate() { // Changed by JoeyPark 2010/09/09 ItemboxUpdate(m_invenItem, GetMyInventoryLimit() ); ItemboxUpdate(m_invenItem_1, GetMyInventoryLimit() ); ItemboxUpdate(m_invenItem_2, GetMyInventoryLimit() ); ItemboxUpdate(m_invenItem_3, GetMyInventoryLimit() ); ItemboxUpdate(m_invenItem_4, GetMyInventoryLimit() ); ItemboxUpdate(m_questItem, GetQuestItemInventoryLimit() ); // End changing } function ItemboxUpdate(ItemWindowHandle hItemWnd, int iInvenLimit) { local int iCount; local int iItemCount; local int iAddedCount; local int iDeletedCount; local ItemInfo kClearItem; local ItemInfo kCurItem; kClearItem.IconName = "L2ui_ct1.emptyBtn"; ClearItemID( kClearItem.ID ); iItemCount = hItemWnd.GetItemNum(); if( iItemCount < iInvenLimit ) { IAddedCount = iInvenLimit - iItemCount; for( iCount=0; iCount<iAddedCount; iCount++ ) { hItemWnd.AddItem( kClearItem ); } } else if ( iItemCount > iInvenLimit ) { iDeletedCount = iItemCount - iInvenLimit; for ( iCount = hItemWnd.GetItemNum()- 1; iCount >= 0; iCount-- ) { if (iDeletedCount > 0) { hItemWnd.GetItem(iCount, kCurItem ); if (!IsValidItemID(kCurItem.ID)) { hItemWnd.DeleteItem(iCount); iDeletedCount--; } if (iDeletedCount <= 0) { break; } } } } } function MoveAdenaValue(int plusminus, string amoutAdena) { local Color adenaColor; if (txt_ExpBarAdenaValue.isShowWindow()) { txt_ExpBarAdenaChangeValue.SetAlpha(0); txt_ExpBarAdenaChangeValue.SetAnchor( "ExpBarWnd.txtExpBarAdenaValue", "BottomRight", "BottomRight", 0, 0); switch (plusminus) { case 0: adenaColor.R = 255; adenaColor.G = 0; adenaColor.B = 0; txt_ExpBarAdenaChangeValue.SetText("-" $ amoutAdena ); break; case 1: adenaColor.R = 255; adenaColor.G = 255; adenaColor.B = 0; txt_ExpBarAdenaChangeValue.SetText("+" $ amoutAdena ); break; } txt_ExpBarAdenaChangeValue.SetTextColor(adenaColor); txt_ExpBarAdenaChangeValue.ClearAnchor(); txt_ExpBarAdenaChangeValue.Move(0, -38, 1.5f); txt_ExpBarAdenaChangeValue.SetAlpha(255); txt_ExpBarAdenaChangeValue.SetAlpha(0, 1.2f); } } //function InvenAddItem( ItemInfo newItem, int order ) function NormalInvenAddItem(ItemInfo newItem) { local int idx; local int CurLimit; local int FindIdx; local ItemInfo curItem; local ItemWindowHandle detailItemWindow ; FindIdx = -1; CurLimit = m_invenItem.GetItemNum(); // if (bIsSavedLocalItemIdx) // { // newItem.Order = getLocalItemOrder( newItem.ID.serverID, itemSwapedServerID, itemSwapedIdx, newItem.Order ) ; // AddSystemMessageString("bIsSavedLocalItemIdx" @ newItem.Order); // } // AddSystemMessageString("newItem.Order" @ newItem.Order); if( m_invenItem.GetItem( newItem.Order, curItem ) ) { if( !IsValidItemID( curItem.ID ) ) { FindIdx = newItem.Order; //AddSystemMessageString("!IsValidItemID FindIdx" @ FindIdx); } } // AddSystemMessageString("FindIdx" @ FindIdx); if( FindIdx < 0 ) { //AddSystemMessageString("FindIdx < 0"); for( idx=0; idx<CurLimit; idx++ ) { if( m_invenItem.GetItem( idx, curItem ) ) { if( !IsValidItemID( curItem.ID ) ) { FindIdx = idx; // AddSystemMessageString("FindIdx" @ FindIdx); // AddSystemMessageString("idx" @ idx); break; } } } } SetEnchantTex(newItem); //AddSystemMessageString("Final FindIdx" @ FindIdx); if( FindIdx > -1 ) { // AddSystemMessageString("SetItem" @ newItem.Name); m_invenItem.SetItem(FindIdx, newItem); if (newItem.ID.ClassID == 57) { if (GetAdena() - myAdena > IntToInt64(0)) { MoveAdenaValue(1, MakeCostString(Int64ToString(GetAdena() - myAdena))); myAdena = GetAdena(); } else if (GetAdena() - myAdena < IntToInt64(0)) { MoveAdenaValue(0, MakeCostString(Int64ToString(myAdena - GetAdena()))); myAdena = GetAdena(); } } } else { // AddSystemMessageString("AddItem" @ newItem.Name); m_invenItem.AddItem( newItem ); } m_NormalInvenCount++; detailItemWindow = getItemWindowHandleByItemType ( newItem ); // curItem.ID.ClassID = -1; // curItem.ID.ServerID = -1; if (bIsSavedLocalItemIdx) { FindIdx = getLocalItemOrderByItemWindow( detailItemWindow, newItem.ID.serverID, -1 ) ; // AddSystemMessageString("bIsSavedLocalItemIdx FindIdx" @ FindIdx); } else { // AddSystemMessageString("NOT bIsSavedLocalItemIdx CurLimit" @ CurLimit); FindIdx = -1; //Debug ( "addNormalItem 0" @ newItem.Name @ FindIdx ) ; for(idx = 0; idx < CurLimit; idx++) if (detailItemWindow.GetItem(idx, curItem)) { // AddSystemMessageString("curItemID" @ curItem.ID.ClassID @ curItem.ID.ServerID); if (!IsValidItemID(curItem.ID)) { FindIdx = idx; // AddSystemMessageString("NOT bIsSavedLocalItemIdx FindIdx" @ FindIdx); break; } } } // AddSystemMessageString("NOT bIsSavedLocalItemIdx FindIdx FINAL" @ FindIdx); //Debug ( "addNormalItem 1" @ newItem.Name @ FindIdx ) ; if( FindIdx > -1 ) detailItemWindow.SetItem( FindIdx, newItem ); else detailItemWindow.AddItem( newItem ); } function InvenDelete( ItemInfo item ) { local int FindIdx; local int DetailFindIdx; local ItemInfo ClearItem; local itemWindowHandle detailItemWindow; detailItemWindow = getItemWindowHandleByItemType( item ); ClearItemID( ClearItem.ID ); //������ Ȱ��ȭ �κ� �ؽ��� ó�� ClearItem.IconName = "L2ui_ct1.emptyBtn"; FindIdx = m_invenItem.FindItem( item.ID ); DetailFindIdx = detailItemWindow.FindItem( item.ID ); if( FindIdx != -1 ) { m_invenItem.SetItem( FindIdx, ClearItem ); detailItemWindow.SetItem( DetailFindIdx, ClearItem ); m_NormalInvenCount--; } if (item.ID.ClassID == 57) { MoveAdenaValue(0, MakeCostString(Int64ToString(myAdena))); myAdena = IntToInt64(0); } } function InvenClear() { m_invenItem.Clear(); m_invenItem_1.Clear(); m_invenItem_2.Clear(); m_invenItem_3.Clear(); m_invenItem_4.Clear(); m_questItem.Clear(); InvenLimitUpdate(); m_NormalInvenCount = 0; } function SaveInventoryOrder() { local int idx; local int InvenLimit; local ItemInfo item; local array<ItemID> IDList; local array<int> OrderList; InvenLimit = m_invenItem.GetItemNum(); for( idx=0; idx<InvenLimit; idx++ ) { if( m_invenItem.GetItem( idx, item ) ) { if( IsValidItemID( item.ID ) ) { IDList.Insert(IDList.Length, 1); IDList[IDList.Length-1] = item.ID; OrderList.Insert(OrderList.Length, 1); OrderList[OrderList.Length-1] = item.Order; } } } if( IDList.Length > 0 ) { debug("Saving Inventory"); RequestSaveInventoryOrder( IDList, OrderList ); } // SetINIInt("Inventory", "extraSlots", extraSlotsCount, "PatchSettings"); bIsSavedLocalItemIdx = false; itemSwapedIdx.Length = 0 ; itemSwapedIdx_1.Length = 0 ; itemSwapedIdx_2.Length = 0 ; itemSwapedIdx_3.Length = 0 ; itemSwapedIdx_4.Length = 0 ; itemSwapedIdx_q.Length = 0 ; itemSwapedServerID.Length = 0 ; itemSwapedServerID_1.Length = 0 ; itemSwapedServerID_2.Length = 0 ; itemSwapedServerID_3.Length = 0 ; itemSwapedServerID_4.Length = 0 ; itemSwapedServerID_q.Length = 0 ; } function OnClickButtonWithHandle(ButtonHandle a_ButtonHandle) { switch (a_ButtonHandle) { case btn_CharViewOn: wnd_CharView.ShowWindow(); btn_CharViewOn.HideWindow(); btn_CharViewOff.ShowWindow(); break; case btn_CharViewOff: wnd_CharView.HideWindow(); btn_CharViewOn.ShowWindow(); btn_CharViewOff.HideWindow(); break; } } function ItemWindowHandle getItemWindowHandleByItemType ( ItemInfo item ) { if(!IsValidItemID(item.ID)) return m_invenItem_4; switch (MySimpleCheckItemType(item.ID.classID )) { case 0: return m_questItem; break; case 1: return m_invenItem_1; break; case 2: return m_invenItem_2; break; case 3: return m_invenItem_3; break; case 4: return m_invenItem_4; break; } } function int IsLastItemCheck(int CheckID) { switch (CheckID) { // fish soulshot case 6536: case 6537: case 6538: case 6539: case 6540: // scroll pack case 22087: case 22088: // pet stuff case 5262: case 9668: case 4038: case 2515: case 5168: case 14818: case 10517: case 10516: case 7582: case 10425: case 10515: case 20232: case 20233: case 20234: case 6645: case 6646: case 6647: // spiritshot case 21851: //ng case 2509: //ng case 3948: //d case 22077: //d case 2510: //d case 3949: //c case 2511: //c case 22078: //c case 3950: //b case 2512: //b case 22079: //b case 3951: //a case 2513: //a case 22080: //a case 3952: //s case 2514: //s case 22081: //s case 22231: //s //blessed spiritshot case 5790: //ng case 3947: //ng case 3948: //d case 22072: //d case 3949: //c case 22073: //c case 3950: //b case 21853: //b case 21854: //b case 22074: //b case 3951: //a case 22075: //a case 21855: //a case 21852: //a case 3952: //s case 21856: //s case 22076: //s //soulshot case 21845: //ng case 5789: //ng case 1835: //ng case 1463: //d case 21846: //d case 22082: //d case 1464: //c case 21847: //c case 22083: //c case 1465: //b case 21848: //b case 22084: //b case 1466: //a case 21849: //a case 22085: //a case 1467: //s case 21850: //s case 22086: //s //ss pack case 22104: //d case 22094: //d case 22099: //d case 22095: //c case 22100: //c case 22105: //c case 22106: //b case 22101: //b case 22096: //b case 22107: //a case 22102: //a case 22097: //a case 22098: //S case 22108: //S case 22123: //S case 22232: //s case 22103: //s case 22118: //s case 22233: //d case 20326: //pet case 20327: //pet case 20328: //pet //other case 15492: //mahum food case 8873: case 8874: case 8875: case 8876: return 2; break; case 1462: //s cry case 1461: //a cry case 1460: //b cry case 1459: //c cry case 1458: //d cry return 3; break; default: return 4; break; } } function int MySimpleCheckItemType(int CheckID) { local ItemInfo checkItemInfo; local ItemID checkItemID; local EItemType eItemType; checkItemID.ClassID = CheckID; class'UIDATA_ITEM'.static.GetItemInfo(checkItemID, checkItemInfo); if (IsQuestItem(checkItemInfo)) return 0; else { eItemType = EItemType(checkItemInfo.ItemType); switch (eItemType) { case ITEM_ASSET: case ITEM_WEAPON: case ITEM_ARMOR: case ITEM_ACCESSARY: return 1; break; case ITEM_ETCITEM: switch (EEtcItemType(checkItemInfo.ItemSubType)) { case ITEME_POTION: case ITEME_ELIXIR: case ITEME_SCROLL: case ITEME_ARROW: case ITEME_BOLT: return 2; break; case ITEME_MATERIAL: case ITEME_RECIPE: if (CheckID == 8615) // summon cry return 2; else return 3; break; default: return IsLastItemCheck(CheckID); break; } break; } } } function OnClickButton( string strID ) { switch( strID ) { case "SortButton": switch ( m_selectedItemTab ) { case INVENTORY_ITEM_TAB: l2UtilScript.SortItem(m_invenItem); //�κ��丮 ���� SaveInventoryOrder(); break; case INVENTORY_ITEM_1_TAB: l2UtilScript.SortItem(m_invenItem_1); break; case INVENTORY_ITEM_2_TAB: l2UtilScript.SortItem(m_invenItem_2); break; case INVENTORY_ITEM_3_TAB: l2UtilScript.SortItem(m_invenItem_3); break; case INVENTORY_ITEM_4_TAB: l2UtilScript.SortItem(m_invenItem_4); break; default: l2UtilScript.SortItem(m_invenItem); //�κ��丮 ���� SaveInventoryOrder(); break; } break; case "InventoryTab0": //�κ��丮 ������ �� Ŭ�� m_selectedItemTab = INVENTORY_ITEM_TAB; m_invenItem.SetScrollPosition(0); SetItemCount(); break; case "InventoryTab1": //�κ��丮 ������ �� Ŭ�� m_selectedItemTab = INVENTORY_ITEM_1_TAB; m_invenItem_1.SetScrollPosition(0); SetItemCount(); break; case "InventoryTab2": //�κ��丮 ������ �� Ŭ�� m_selectedItemTab = INVENTORY_ITEM_2_TAB; m_invenItem_2.SetScrollPosition(0); SetItemCount(); break; case "InventoryTab3": //�κ��丮 ������ �� Ŭ�� m_selectedItemTab = INVENTORY_ITEM_3_TAB; m_invenItem_3.SetScrollPosition(0); SetItemCount(); break; case "InventoryTab4": //�κ��丮 ������ �� Ŭ�� m_selectedItemTab = INVENTORY_ITEM_4_TAB; m_invenItem_4.SetScrollPosition(0); SetItemCount(); break; case "btnAutoAtt": if (class'UIAPI_WINDOW'.static.IsShowWindow("AutoAtt")) { class'UIAPI_WINDOW'.static.HideWindow("AutoAtt"); } else { class'UIAPI_WINDOW'.static.ShowWindow("AutoAtt"); class'UIAPI_WINDOW'.static.SetFocus("AutoAtt"); } break; case "btnAutoEnchant": if (!class'UIAPI_WINDOW'.static.IsShowWindow("ItemEnchantWnd")) { if (class'UIAPI_WINDOW'.static.IsShowWindow("AutoItemEnchant")) { class'UIAPI_WINDOW'.static.HideWindow("AutoItemEnchant"); } else { class'UIAPI_WINDOW'.static.ShowWindow("AutoItemEnchant"); class'UIAPI_WINDOW'.static.SetFocus("AutoItemEnchant"); } } break; case "BtnWindowExpand": SwitchExtendedInventory(); SetItemCount(); RequestItemList(); l2UtilScript.SortItem(m_invenItem); // l2UtilScript.SortItem(m_invenItem_1); // l2UtilScript.SortItem(m_invenItem_2); // l2UtilScript.SortItem(m_invenItem_3); // l2UtilScript.SortItem(m_invenItem_4); SaveInventoryOrder(); break; } } function UpdateTalismanSlotActivation() { local int Count; local int i; local UserInfo user; if (GetPlayerInfo(user)) { Count = user.nTalismanNum; if (Count > 0) { tex_TalismanAllow.ShowWindow(); for (i = 0; i < Count; i++) { m_Talisman_Disable[ i ].HideWindow(); m_equipItem[ EQUIPITEM_Deco1 + i ].EnableWindow(); } } else { tex_TalismanAllow.HideWindow(); for (i = 0; i<6; i++) { m_Talisman_Disable[ i ].ShowWindow(); m_equipItem[ EQUIPITEM_Deco1 + i ].DisableWindow(); } } } } function UpdateCloakSlotActivation() { local UserInfo user; if (GetPlayerInfo(user)) { if (user.nFullArmor > 0) { m_CloakSlot_Disable.HideWindow(); m_equipItem[ EQUIPITEM_Cloak ].EnableWindow(); } else { m_CloakSlot_Disable.ShowWindow(); m_equipItem[ EQUIPITEM_Cloak ].DisableWindow(); } } } function HandleSetMaxCount(string param) { local int ExtraBeltCount; ParseInt (param, "Inventory", m_MaxInvenCount); ParseInt (param, "questItem", m_MaxQuestItemInvenCount); ParseInt (param, "extrabelt", ExtraBeltCount); m_invenItem.SetExpandItemNum(0, ExtraBeltCount); m_invenItem_1.SetExpandItemNum(0, ExtraBeltCount); m_invenItem_2.SetExpandItemNum(0, ExtraBeltCount); m_invenItem_3.SetExpandItemNum(0, ExtraBeltCount); m_invenItem_4.SetExpandItemNum(0, ExtraBeltCount); InvenLimitUpdate(); FixDisableTex(); SetItemCount(); } function OnTimer(int TimerID) { switch (TimerID) { case TIMER_REQUEST_ITEMLIST: bIsRequestItemList = false; break; case 1130: if (GetDecoIndex(TaliInfo1.Id) != -1) EquipItemUpdate(TaliInfo1); if (GetDecoIndex(TaliInfo2.Id) != -1) EquipItemUpdate(TaliInfo2); if (GetDecoIndex(TaliInfo3.Id) != -1) EquipItemUpdate(TaliInfo3); if (GetDecoIndex(TaliInfo4.Id) != -1) EquipItemUpdate(TaliInfo4); if (GetDecoIndex(TaliInfo5.Id) != -1) EquipItemUpdate(TaliInfo5); if (GetDecoIndex(TaliInfo6.Id) != -1) EquipItemUpdate(TaliInfo6); FingerItemUpdateStart(); EarItemUpdateStart(); ExecuteEvent(EV_InventoryUpdateItem); m_hInventoryWnd.KillTimer(1130); break; } } defaultproperties { }
  19. Thanks bro i will check those classes.
  20. Hello how are you?. Where can I find the debuff skills that the character receives? I have had some problems, for example, with the celestial shield and the fire hellbound debuff. There are few times that it happens. The buff becomes infinite instead of stopping at a certain time. What class drives that?. Im using L2jSunrise HighFive
  21. Hello! Does anyone know how the pet inventory logic works? When you UnSummon the pet, what would happen to the items? Because it has happened to me that I have two pets, the wolf has the weapon and the armor. When I unsummon it and summon a cooka, the wolf's items appear in the cooka as well. It happens with all pets.
  22. Panic, I don't know if it's like you say. From what I see in l2jsunrise you have in the configs the two options type chance/amount of drops and spoil. What I see is that it is not very precise, for example in the Chimeras it says a 24% chance. When I kill them they do not fall with that %, the celtus say 100% and it does not fall completely at 100%. these are the configurations of the NPC <group chance="45.53020095825195"> <item id="1867" min="308" max="924" chance="6.9179" /> <!-- Animal Skin --> <item id="1872" min="60" max="180" chance="35.5118" /> <!-- Animal Bone --> <item id="1882" min="27" max="81" chance="13.1525" /> <!-- Leather --> <item id="1894" min="5" max="15" chance="11.2143" /> <!-- Crafted Leather --> <item id="4042" min="6" max="18" chance="4.439" /> <!-- Enria --> <item id="6901" min="1" max="1" chance="3.1961" /> <!-- Recipe: Shining Arrow (100%) --> <item id="9551" min="1" max="1" chance="25.5684" /> <!-- Holy Stone --> </group>
  23. I have modify a little quest class, i found that when you kill RAIDBOSS, player does not recibe Special Yeti Meat and queststatus is not updating. Here is my code. /* * Copyright (C) 2004-2015 L2J DataPack * * This file is part of L2J DataPack. * * L2J DataPack is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J DataPack is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package quests.Q00625_TheFinestIngredientsPart2; import l2r.gameserver.data.SpawnTable; import l2r.gameserver.enums.RaidBossStatus; import l2r.gameserver.instancemanager.RaidBossSpawnManager; import l2r.gameserver.model.Location; import l2r.gameserver.model.actor.L2Npc; import l2r.gameserver.model.actor.instance.L2PcInstance; import l2r.gameserver.model.actor.instance.L2RaidBossInstance; import l2r.gameserver.model.holders.ItemHolder; import l2r.gameserver.model.quest.Quest; import l2r.gameserver.model.quest.QuestState; import l2r.gameserver.network.NpcStringId; import l2r.gameserver.network.clientpackets.Say2; import l2r.gameserver.network.serverpackets.NpcSay; import l2r.gameserver.util.Util; /** * The Finest Ingredients Part - 2 (625) * @author Janiko */ public final class Q00625_TheFinestIngredientsPart2 extends Quest { // NPCs private static final int JEREMY = 31521; private static final int YETIS_TABLE = 31542; // Monster private static final int ICICLE_EMPEROR_BUMBALUMP = 25296; // Required Item private static final ItemHolder SOY_SOURCE_JAR = new ItemHolder(7205, 1); // Quest Items private static final ItemHolder FOOD_FOR_BUMBALUMP = new ItemHolder(7209, 1); private static final ItemHolder SPECIAL_YETI_MEAT = new ItemHolder(7210, 1); // Rewards private static final ItemHolder GREATER_DYE_OF_STR_1 = new ItemHolder(4589, 5); private static final ItemHolder GREATER_DYE_OF_STR_2 = new ItemHolder(4590, 5); private static final ItemHolder GREATER_DYE_OF_CON_1 = new ItemHolder(4591, 5); private static final ItemHolder GREATER_DYE_OF_CON_2 = new ItemHolder(4592, 5); private static final ItemHolder GREATER_DYE_OF_DEX_1 = new ItemHolder(4593, 5); private static final ItemHolder GREATER_DYE_OF_DEX_2 = new ItemHolder(4594, 5); private static L2Npc _npc = null; // Location private static final Location ICICLE_EMPEROR_BUMBALUMP_LOC = new Location(158240, -121536, -2222); private static final Location YETIS_TABLE_LOC = new Location(-104700, -252700, -15542); // Misc private static final int MIN_LVL = 73; private static int _status = -1; public Q00625_TheFinestIngredientsPart2() { super(625, Q00625_TheFinestIngredientsPart2.class.getSimpleName(), "The Finest Ingredients - Part 2"); addStartNpc(JEREMY); addTalkId(JEREMY, YETIS_TABLE); addSpawnId(ICICLE_EMPEROR_BUMBALUMP); addKillId(ICICLE_EMPEROR_BUMBALUMP); registerQuestItems(FOOD_FOR_BUMBALUMP.getId(), SPECIAL_YETI_MEAT.getId()); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { if (event.equals("check")) { L2RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(ICICLE_EMPEROR_BUMBALUMP); if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE)) { if ((_status >= 0) && (_status-- == 0)) { despawnRaid(raid); } spawnNpc(); } return null; } final QuestState qs = getQuestState(player, false); String htmltext = null; if (qs == null) { return htmltext; } switch (event) { case "31521-04.htm": { if (qs.isCreated()) { qs.startQuest(); takeItem(player, SOY_SOURCE_JAR); giveItems(player, FOOD_FOR_BUMBALUMP); htmltext = event; } break; } case "31521-08.html": { if (qs.isCond(3)) { if (hasItem(player, SPECIAL_YETI_MEAT)) { int random = getRandom(1000); if (random < 167) { rewardItems(player, GREATER_DYE_OF_STR_1); } else if (random < 334) { rewardItems(player, GREATER_DYE_OF_STR_2); } else if (random < 501) { rewardItems(player, GREATER_DYE_OF_CON_1); } else if (random < 668) { rewardItems(player, GREATER_DYE_OF_CON_2); } else if (random < 835) { rewardItems(player, GREATER_DYE_OF_DEX_1); } else if (random < 1000) { rewardItems(player, GREATER_DYE_OF_DEX_2); } qs.exitQuest(false, true); htmltext = event; } else { htmltext = "31521-09.html"; } } break; } case "31542-02.html": { if (qs.isCond(1)) { if (hasItem(player, FOOD_FOR_BUMBALUMP)) { if (!isBumbalumpSpawned()) { qs.setCond(2, true); takeItem(player, FOOD_FOR_BUMBALUMP); L2Npc umpaloopa = addSpawn(ICICLE_EMPEROR_BUMBALUMP, ICICLE_EMPEROR_BUMBALUMP_LOC); umpaloopa.setSummoner(player); htmltext = event; } else { htmltext = "31542-03.html"; } } else { htmltext = "31542-04.html"; } } break; } case "NPC_TALK": { if (isBumbalumpSpawned()) { npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.OOOH)); } break; } } return htmltext; } @Override public String onTalk(L2Npc npc, L2PcInstance talker) { final QuestState qs = getQuestState(talker, true); String htmltext = getNoQuestMsg(talker); switch (npc.getId()) { case JEREMY: { if (qs.isCreated()) { if (talker.getLevel() >= MIN_LVL) { htmltext = (hasItem(talker, SOY_SOURCE_JAR)) ? "31521-01.htm" : "31521-02.htm"; } else { htmltext = "31521-03.htm"; } } else if (qs.isStarted()) { switch (qs.getCond()) { case 1: { htmltext = "31521-05.html"; break; } case 2: { htmltext = "31521-06.html"; break; } case 3: { htmltext = "31521-07.html"; break; } } } else if (qs.isCompleted()) { htmltext = getAlreadyCompletedMsg(talker); } break; } case YETIS_TABLE: { switch (qs.getCond()) { case 1: { if (hasItem(talker, FOOD_FOR_BUMBALUMP)) { htmltext = "31542-01.html"; } break; } case 2: { if (!isBumbalumpSpawned()) { L2Npc umpaloopa = addSpawn(ICICLE_EMPEROR_BUMBALUMP, ICICLE_EMPEROR_BUMBALUMP_LOC); umpaloopa.setSummoner(talker); htmltext = "31542-02.html"; } else { htmltext = "31542-03.html"; } break; } case 3: { htmltext = "31542-05.html"; break; } } break; } } return htmltext; } @Override public String onSpawn(L2Npc npc) { startQuestTimer("NPC_TALK", 1000 * 1200, npc, null); npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.I_SMELL_SOMETHING_DELICIOUS)); return super.onSpawn(npc); } private void spawnNpc() { // spawn npc, if not spawned if (_npc == null) { _npc = addSpawn(YETIS_TABLE, 157136, -121456, -2363, 40000, false, 0, false); } } private static void despawnRaid(L2Npc raid) { // reset spawn location raid.getSpawn().setLocation(YETIS_TABLE_LOC); // teleport raid back to secret place if (!raid.isDead()) { raid.teleToLocation(-104700, -252700, -15542, 0); } // reset raid status _status = -1; } @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { final QuestState qs = getRandomPartyMemberState(killer, 1, 2, npc); if ((qs != null) && Util.checkIfInRange(1500, npc, killer, true)) { if (npc.getSummoner() == killer) { qs.setCond(3, true); giveItems(qs.getPlayer(), SPECIAL_YETI_MEAT); } } return super.onKill(npc, killer, isSummon); } private static boolean isBumbalumpSpawned() { return SpawnTable.getInstance().findAny(ICICLE_EMPEROR_BUMBALUMP) != null; } }
  24. Hello people!. I'm having problems with the Hotspring quest. I go to the Yeti Table, I talk to him, I kill the raid and then he doesn't give me the item. Viewing in the console I get this error. Player doesn't receive item Yeti Meat. I'm using L2JSunrise
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock