Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 22:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Bitte um Hilfe einfügbproblem ;/

Discussion on Bitte um Hilfe einfügbproblem ;/ within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2012
Posts: 31
Received Thanks: 4
Unhappy Bitte um Hilfe einfügbproblem ;/

Guten Morgen elitepvpers
Ich würde gerne in meinen Server eine Slotmachine
einbauen. Da ich aber noch sehr neu in der Metin2 p server Scene bin,
weis ich nicht wie ich das zb. einfügen soll.
PHP Code:
## Slotmachine

import uislotmachine

    def __MakeDialogs
(self):
        
##Slotmachine
        
self.SlotmachineWnd uislotmachine.Slotmachine()
        
    
def Close(self):
        
## Slotmachine

        
if self.SlotmachineWnd:
            
self.SlotmachineWnd.Destroy()
        
        
##Slotmachine
        
del self.SlotmachineWnd 
Diese Sachen muss ich in die interfacemodule einsetzten. Leider habe ich keinen schimmer wie ich das machen muss ;/ Hier ist meine Interfacemodule datei. Hoffe einer kann mir helfen. Hier sieht man nun die Interfacemodule datei von meinem Client

PHP Code:
##
## Interface
##

import constInfo
import systemSetting
import wndMgr
import chat
import app
import player

import uiTaskBar
import uiCharacter
import uiInventory
import uiChat
import uiMessenger
import guild

import ui
import uiHelp
import uiWhisper
import uiPointReset
import uiShop
import uiExchange
import uiSystem
import uiRestart
import uiToolTip
import uiMiniMap
import uiParty
import uiSafebox
import uiGuild
import uiQuest
import uiPrivateShopBuilder
import uiCommon
import uiRefine
import uiEquipmentDialog
import uiGameButton
import uiTip
import uiCube
import miniMap
# ACCESSORY_REFINE_ADD_METIN_STONE
import uiSelectItem
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

import event
import locale
import uislotmachine        

IsQBHide 
0
class Interface(object):
    
CHARACTER_STATUS_TAB 1
    CHARACTER_SKILL_TAB 
2
    
    def __init__
(self):
        
systemSetting.SetInterfaceHandler(self)
        
self.windowOpenPosition 0
        self
.dlgWhisperWithoutTarget None
        self
.inputDialog None
        self
.tipBoard None
        self
.bigBoard None

        
# ITEM_MALL
        
self.mallPageDlg None
        
# END_OF_ITEM_MALL

        
self.wndWeb None
        self
.wndTaskBar None
        self
.wndCharacter None
        self
.wndInventory None
        self
.wndChat None
        self
.wndMessenger None
        self
.wndMiniMap None
        self
.wndGuild None
        self
.wndGuildBuilding None

        self
.listGMName = {}
        
self.wndQuestWindow = []
        
self.privateShopAdvertisementBoardDict = {}
        
self.guildScoreBoardDict = {}
        
self.equipmentDialogDict = {}
        
event.SetInterfaceWindow(self)

    
def __del__(self):
        
systemSetting.DestroyInterfaceHandler()
        
event.SetInterfaceWindow(None)

    
################################
    ## Make Windows & Dialogs
    
def __MakeUICurtain(self):
        
wndUICurtain ui.Bar("TOP_MOST")
        
wndUICurtain.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
        
wndUICurtain.SetColor(0x77000000)
        
wndUICurtain.Hide()
        
self.wndUICurtain wndUICurtain

    def __MakeMessengerWindow
(self):
        
self.wndMessenger uiMessenger.MessengerWindow()

        
from _weakref import proxy
        self
.wndMessenger.SetWhisperButtonEvent(lambda n,i=proxy(self):i.OpenWhisperDialog(n))
        
self.wndMessenger.SetGuildButtonEvent(ui.__mem_func__(self.ToggleGuildWindow))

    
def __MakeGuildWindow(self):
        
self.wndGuild uiGuild.GuildWindow()

    
def __MakeChatWindow(self):
        
CHAT_WINDOW_WIDTH 600
        wndChat 
uiChat.ChatWindow()
        
wndChat.SetSize(CHAT_WINDOW_WIDTH25)
        
wndChat.SetPosition(wndMgr.GetScreenWidth()/CHAT_WINDOW_WIDTH/2wndMgr.GetScreenHeight() - wndChat.GetHeight() - 37)
        
wndChat.SetHeight(200)
        
wndChat.Refresh()
        
wndChat.Show()

        
self.wndChat wndChat
        self
.wndChat.BindInterface(self)
        
self.wndChat.SetSendWhisperEvent(ui.__mem_func__(self.OpenWhisperDialogWithoutTarget))
        
self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))

    
def __MakeTaskBar(self):
        
wndTaskBar uiTaskBar.TaskBar()
        
wndTaskBar.LoadWindow()
        
self.wndTaskBar wndTaskBar
        self
.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTERui.__mem_func__(self.ToggleCharacterWindowStatusPage))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORYui.__mem_func__(self.ToggleInventoryWindow))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGERui.__mem_func__(self.ToggleMessenger))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEMui.__mem_func__(self.ToggleSystemDialog))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHATui.__mem_func__(self.ToggleChat))
        
self.wndEnergyBar 0
        import constinfo
        
if constinfo.ENABLE_ENERGY_SYSTEM == 1:
            
wndEnergyBar uiTaskBar.EnergyBar()
            
wndEnergyBar.LoadWindow()
            
self.wndEnergyBar wndEnergyBar

    def __MakeParty
(self):
        
wndParty uiParty.PartyWindow()
        
wndParty.Hide()
        
self.wndParty wndParty

    def __MakeGameButtonWindow
(self):
        
wndGameButton uiGameButton.GameButtonWindow()
        
wndGameButton.SetTop()
        
wndGameButton.Show()
        
wndGameButton.SetButtonEvent("STATUS"ui.__mem_func__(self.__OnClickStatusPlusButton))
        
wndGameButton.SetButtonEvent("SKILL"ui.__mem_func__(self.__OnClickSkillPlusButton))
        
wndGameButton.SetButtonEvent("QUEST"ui.__mem_func__(self.__OnClickQuestButton))
        
wndGameButton.SetButtonEvent("HELP"ui.__mem_func__(self.__OnClickHelpButton))
        
wndGameButton.SetButtonEvent("BUILD"ui.__mem_func__(self.__OnClickBuildButton))

        
self.wndGameButton wndGameButton

    def __IsChatOpen
(self):
        return 
TRUE
        
    def __MakeWindows
(self):
        
wndCharacter uiCharacter.CharacterWindow()
        
wndInventory uiInventory.InventoryWindow()        
        
wndMiniMap uiMiniMap.MiniMap()
        
wndSafebox uiSafebox.SafeboxWindow()
        
        
# ITEM_MALL
        
wndMall uiSafebox.MallWindow()
        
self.wndMall wndMall
        
# END_OF_ITEM_MALL

        
wndChatLog uiChat.ChatLogWindow()
        
wndChatLog.BindInterface(self)
        
        
self.wndCharacter wndCharacter
        self
.wndInventory wndInventory
        self
.wndMiniMap wndMiniMap
        self
.wndSafebox wndSafebox
        self
.wndChatLog wndChatLog

    def __MakeDialogs
(self):
        
self.dlgExchange uiExchange.ExchangeDialog()
        
self.dlgExchange.LoadDialog()
        
self.dlgExchange.SetCenterPosition()
        
self.dlgExchange.Hide()

        
self.dlgPointReset uiPointReset.PointResetDialog()
        
self.dlgPointReset.LoadDialog()
        
self.dlgPointReset.Hide()

        
self.dlgShop uiShop.ShopDialog()
        
self.dlgShop.LoadDialog()
        
self.dlgShop.Hide()

        
self.dlgRestart uiRestart.RestartDialog()
        
self.dlgRestart.LoadDialog()
        
self.dlgRestart.Hide()

        
self.dlgSystem uiSystem.SystemDialog()
        
self.dlgSystem.LoadDialog()
        
self.dlgSystem.SetOpenHelpWindowEvent(ui.__mem_func__(self.OpenHelpWindow))

        
self.dlgSystem.Hide()

        
self.dlgPassword uiSafebox.PasswordDialog()
        
self.dlgPassword.Hide()

        
self.hyperlinkItemTooltip uiToolTip.HyperlinkItemToolTip()
        
self.hyperlinkItemTooltip.Hide()

        
self.tooltipItem uiToolTip.ItemToolTip()
        
self.tooltipItem.Hide()

        
self.tooltipSkill uiToolTip.SkillToolTip()
        
self.tooltipSkill.Hide()

        
self.privateShopBuilder uiPrivateShopBuilder.PrivateShopBuilder()
        
self.privateShopBuilder.Hide()

        
self.dlgRefineNew uiRefine.RefineDialogNew()
        
self.dlgRefineNew.Hide()
        
    
def __MakeDialogs(self):
        
##Slotmachine
        
self.SlotmachineWnd uislotmachine.Slotmachine()

    
def __MakeHelpWindow(self):
        
self.wndHelp uiHelp.HelpWindow()
        
self.wndHelp.LoadDialog()
        
self.wndHelp.SetCloseEvent(ui.__mem_func__(self.CloseHelpWindow))
        
self.wndHelp.Hide()

    
def __MakeTipBoard(self):
        
self.tipBoard uiTip.TipBoard()
        
self.tipBoard.Hide()

        
self.bigBoard uiTip.BigBoard()
        
self.bigBoard.Hide()

    
def __MakeWebWindow(self):
        if 
constInfo.IN_GAME_SHOP_ENABLE:
            
import uiWeb
            self
.wndWeb uiWeb.WebWindow()
            
self.wndWeb.LoadWindow()
            
self.wndWeb.Hide()

    
def __MakeCubeWindow(self):
        
self.wndCube uiCube.CubeWindow()
        
self.wndCube.LoadWindow()
        
self.wndCube.Hide()

    
def __MakeCubeResultWindow(self):
        
self.wndCubeResult uiCube.CubeResultWindow()
        
self.wndCubeResult.LoadWindow()
        
self.wndCubeResult.Hide()

    
# ACCESSORY_REFINE_ADD_METIN_STONE
    
def __MakeItemSelectWindow(self):
        
self.wndItemSelect uiSelectItem.SelectItemWindow()
        
self.wndItemSelect.Hide()
    
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

    
def MakeInterface(self):
        
self.__MakeMessengerWindow()
        
self.__MakeGuildWindow()
        
self.__MakeChatWindow()
        
self.__MakeParty()
        
self.__MakeWindows()
        
self.__MakeDialogs()

        
self.__MakeUICurtain()
        
self.__MakeTaskBar()
        
self.__MakeGameButtonWindow()
        
self.__MakeHelpWindow()
        
self.__MakeTipBoard()
        
self.__MakeWebWindow()
        
self.__MakeCubeWindow()
        
self.__MakeCubeResultWindow()

        
# ACCESSORY_REFINE_ADD_METIN_STONE
        
self.__MakeItemSelectWindow()
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.questButtonList = []
        
self.whisperButtonList = []
        
self.whisperDialogDict = {}
        
self.privateShopAdvertisementBoardDict = {}

        
self.wndInventory.SetItemToolTip(self.tooltipItem)
        
self.wndSafebox.SetItemToolTip(self.tooltipItem)
        
self.wndCube.SetItemToolTip(self.tooltipItem)
        
self.wndCubeResult.SetItemToolTip(self.tooltipItem)

        
# ITEM_MALL
        
self.wndMall.SetItemToolTip(self.tooltipItem)
        
# END_OF_ITEM_MALL

        
self.wndCharacter.SetSkillToolTip(self.tooltipSkill)
        
self.wndTaskBar.SetItemToolTip(self.tooltipItem)
        
self.wndTaskBar.SetSkillToolTip(self.tooltipSkill)
        
self.wndGuild.SetSkillToolTip(self.tooltipSkill)

        
# ACCESSORY_REFINE_ADD_METIN_STONE
        
self.wndItemSelect.SetItemToolTip(self.tooltipItem)
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.dlgShop.SetItemToolTip(self.tooltipItem)
        
self.dlgExchange.SetItemToolTip(self.tooltipItem)
        
self.privateShopBuilder.SetItemToolTip(self.tooltipItem)

        
self.__InitWhisper()

    
def MakeHyperlinkTooltip(selfhyperlink):
        
tokens hyperlink.split(":")
        if 
tokens and len(tokens):
            
type tokens[0]
            if 
"item" == type:
                
self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)

    
## Make Windows & Dialogs
    ################################
    
    
def Close(self):
        
## Slotmachine

        
if self.SlotmachineWnd:
            
self.SlotmachineWnd.Destroy()

    
def Close(self):

        if 
self.dlgWhisperWithoutTarget:
            
self.dlgWhisperWithoutTarget.Destroy()
            
del self.dlgWhisperWithoutTarget

        
if uiQuest.QuestDialog.__dict__.has_key("QuestCurtain"):
            
uiQuest.QuestDialog.QuestCurtain.Close()

        if 
self.wndQuestWindow:
            for 
eachQuestWindow in self.wndQuestWindow:
                
eachQuestWindow.nextCurtainMode = -1
                eachQuestWindow
.CloseSelf()
                
eachQuestWindow None

        
if self.wndChat:
            
self.wndChat.Destroy()

        if 
self.wndTaskBar:
            
self.wndTaskBar.Destroy()
            
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Destroy()

        if 
self.wndCharacter:
            
self.wndCharacter.Destroy()

        if 
self.wndInventory:
            
self.wndInventory.Destroy()

        if 
self.dlgExchange:
            
self.dlgExchange.Destroy()

        if 
self.dlgPointReset:
            
self.dlgPointReset.Destroy()

        if 
self.dlgShop:
            
self.dlgShop.Destroy()

        if 
self.dlgRestart:
            
self.dlgRestart.Destroy()

        if 
self.dlgSystem:
            
self.dlgSystem.Destroy()

        if 
self.dlgPassword:
            
self.dlgPassword.Destroy()

        if 
self.wndMiniMap:
            
self.wndMiniMap.Destroy()

        if 
self.wndSafebox:
            
self.wndSafebox.Destroy()

        if 
self.wndWeb:
            
self.wndWeb.Destroy()
            
self.wndWeb None

        
if self.wndMall:
            
self.wndMall.Destroy()

        if 
self.wndParty:
            
self.wndParty.Destroy()

        if 
self.wndHelp:
            
self.wndHelp.Destroy()

        if 
self.wndCube:
            
self.wndCube.Destroy()

        if 
self.wndCubeResult:
            
self.wndCubeResult.Destroy()

        if 
self.wndMessenger:
            
self.wndMessenger.Destroy()

        if 
self.wndGuild:
            
self.wndGuild.Destroy()

        if 
self.privateShopBuilder:
            
self.privateShopBuilder.Destroy()

        if 
self.dlgRefineNew:
            
self.dlgRefineNew.Destroy()

        if 
self.wndGuildBuilding:
            
self.wndGuildBuilding.Destroy()

        if 
self.wndGameButton:
            
self.wndGameButton.Destroy()

        
# ITEM_MALL
        
if self.mallPageDlg:
            
self.mallPageDlg.Destroy()
        
# END_OF_ITEM_MALL

        # ACCESSORY_REFINE_ADD_METIN_STONE
        
if self.wndItemSelect:
            
self.wndItemSelect.Destroy()
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.wndChatLog.Destroy()
        for 
btn in self.questButtonList:
            
btn.SetEvent(0)
        for 
btn in self.whisperButtonList:
            
btn.SetEvent(0)
        for 
dlg in self.whisperDialogDict.itervalues():
            
dlg.Destroy()
        for 
brd in self.guildScoreBoardDict.itervalues():
            
brd.Destroy()
        for 
dlg in self.equipmentDialogDict.itervalues():
            
dlg.Destroy()

        
# ITEM_MALL
        
del self.mallPageDlg
        
# END_OF_ITEM_MALL

        
del self.wndGuild
        del self
.wndMessenger
        del self
.wndUICurtain
        del self
.wndChat
        del self
.wndTaskBar
        del self
.wndCharacter
        del self
.wndInventory
        del self
.dlgExchange
        del self
.dlgPointReset
        del self
.dlgShop
        del self
.dlgRestart
        del self
.dlgSystem
        del self
.dlgPassword
        del self
.hyperlinkItemTooltip
        del self
.tooltipItem
        del self
.tooltipSkill
        del self
.wndMiniMap
        del self
.wndSafebox
        del self
.wndMall
        del self
.wndParty
        del self
.wndHelp
        del self
.wndCube
        del self
.wndCubeResult
        del self
.privateShopBuilder
        del self
.inputDialog
        del self
.wndChatLog
        del self
.dlgRefineNew
        del self
.wndGuildBuilding
        del self
.wndGameButton
        del self
.tipBoard
        del self
.bigBoard
        del self
.wndItemSelect
        del self
.SlotmachineWnd

        self
.questButtonList = []
        
self.whisperButtonList = []
        
self.whisperDialogDict = {}
        
self.privateShopAdvertisementBoardDict = {}
        
self.guildScoreBoardDict = {}
        
self.equipmentDialogDict = {}

        
uiChat.DestroyChatInputSetWindow()

    
## Skill
    
def OnUseSkill(selfslotIndexcoolTime):
        
self.wndCharacter.OnUseSkill(slotIndexcoolTime)
        
self.wndTaskBar.OnUseSkill(slotIndexcoolTime)
        
self.wndGuild.OnUseSkill(slotIndexcoolTime)

    
def OnActivateSkill(selfslotIndex):
        
self.wndCharacter.OnActivateSkill(slotIndex)
        
self.wndTaskBar.OnActivateSkill(slotIndex)

    
def OnDeactivateSkill(selfslotIndex):
        
self.wndCharacter.OnDeactivateSkill(slotIndex)
        
self.wndTaskBar.OnDeactivateSkill(slotIndex)

    
def OnChangeCurrentSkill(selfskillSlotNumber):
        
self.wndTaskBar.OnChangeCurrentSkill(skillSlotNumber)

    
def SelectMouseButtonEvent(selfdirevent):
        
self.wndTaskBar.SelectMouseButtonEvent(direvent)

    
## Refresh
    
def RefreshAlignment(self):
        
self.wndCharacter.RefreshAlignment()

    
def RefreshStatus(self):
        
self.wndTaskBar.RefreshStatus()
        
self.wndCharacter.RefreshStatus()
        
self.wndInventory.RefreshStatus()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.RefreshStatus()
        
    
def RefreshStamina(self):
        
self.wndTaskBar.RefreshStamina()

    
def RefreshSkill(self):
        
self.wndCharacter.RefreshSkill()
        
self.wndTaskBar.RefreshSkill()

    
def RefreshInventory(self):
        
self.wndTaskBar.RefreshQuickSlot()
        
self.wndInventory.RefreshItemSlot()

    
def RefreshCharacter(self): ## Character 페이지의 얼굴, Inventory 페이지의 전신 그림 등의 Refresh
        
self.wndCharacter.RefreshCharacter()
        
self.wndTaskBar.RefreshQuickSlot()

    
def RefreshQuest(self):
        
self.wndCharacter.RefreshQuest()

    
def RefreshSafebox(self):
        
self.wndSafebox.RefreshSafebox()

    
# ITEM_MALL
    
def RefreshMall(self):
        
self.wndMall.RefreshMall()

    
def OpenItemMall(self):
        if 
not self.mallPageDlg:
            
self.mallPageDlg uiShop.MallPageDialog()

        
self.mallPageDlg.Open()
    
# END_OF_ITEM_MALL

    
def RefreshMessenger(self):
        
self.wndMessenger.RefreshMessenger()

    
def RefreshGuildInfoPage(self):
        
self.wndGuild.RefreshGuildInfoPage()

    
def RefreshGuildBoardPage(self):
        
self.wndGuild.RefreshGuildBoardPage()

    
def RefreshGuildMemberPage(self):
        
self.wndGuild.RefreshGuildMemberPage()

    
def RefreshGuildMemberPageGradeComboBox(self):
        
self.wndGuild.RefreshGuildMemberPageGradeComboBox()

    
def RefreshGuildSkillPage(self):
        
self.wndGuild.RefreshGuildSkillPage()

    
def RefreshGuildGradePage(self):
        
self.wndGuild.RefreshGuildGradePage()

    
def DeleteGuild(self):
        
self.wndMessenger.ClearGuildMember()
        
self.wndGuild.DeleteGuild()

    
def RefreshMobile(self):
        
self.dlgSystem.RefreshMobile()

    
def OnMobileAuthority(self):
        
self.dlgSystem.OnMobileAuthority()

    
def OnBlockMode(selfmode):
        
self.dlgSystem.OnBlockMode(mode)

    
## Calling Functions
    # PointReset
    
def OpenPointResetDialog(self):
        
self.dlgPointReset.Show()
        
self.dlgPointReset.SetTop()

    
def ClosePointResetDialog(self):
        
self.dlgPointReset.Close()

    
# Shop
    
def OpenShopDialog(selfvid):
        
self.wndInventory.Show()
        
self.wndInventory.SetTop()
        
self.dlgShop.Open(vid)
        
self.dlgShop.SetTop()

    
def CloseShopDialog(self):
        
self.dlgShop.Close()

    
def RefreshShopDialog(self):
        
self.dlgShop.Refresh()

    
## Quest
    
def OpenCharacterWindowQuestPage(self):
        
self.wndCharacter.Show()
        
self.wndCharacter.SetState("QUEST")

    
def OpenQuestWindow(selfskinidx):

        
wnds = ()

        
uiQuest.QuestDialog(skinidx)
        
q.SetWindowName("QuestWindow" str(idx))
        
q.Show()
        if 
skin:
            
q.Lock()
            
wnds self.__HideWindows()

            
# UNKNOWN_UPDATE
            
q.SetOnDoneEvent(lambda tmp_selfargs=wndsself.__ShowWindows(args))
            
# END_OF_UNKNOWN_UPDATE

        
if skin:
            
q.AddOnCloseEvent(q.Unlock)
        
q.AddOnCloseEvent(lambda s selfqw qs.__dict__.__getitem__("wndQuestWindow").remove(qw))

        
# UNKNOWN_UPDATE
        
self.wndQuestWindow.append(q)
        
# END_OF_UNKNOWN_UPDATE

    ## Exchange
    
def StartExchange(self):
        
self.dlgExchange.OpenDialog()
        
self.dlgExchange.Refresh()

    
def EndExchange(self):
        
self.dlgExchange.CloseDialog()

    
def RefreshExchange(self):
        
self.dlgExchange.Refresh()

    
## Party
    
def AddPartyMember(selfpidname):
        
self.wndParty.AddPartyMember(pidname)

        
self.__ArrangeQuestButton()

    
def UpdatePartyMemberInfo(selfpid):
        
self.wndParty.UpdatePartyMemberInfo(pid)

    
def RemovePartyMember(selfpid):
        
self.wndParty.RemovePartyMember(pid)

        
##!! 20061026.levites.퀘스트_위치_보정
        
self.__ArrangeQuestButton()

    
def LinkPartyMember(selfpidvid):
        
self.wndParty.LinkPartyMember(pidvid)

    
def UnlinkPartyMember(selfpid):
        
self.wndParty.UnlinkPartyMember(pid)

    
def UnlinkAllPartyMember(self):
        
self.wndParty.UnlinkAllPartyMember()

    
def ExitParty(self):
        
self.wndParty.ExitParty()

        
##!! 20061026.levites.퀘스트_위치_보정
        
self.__ArrangeQuestButton()

    
def PartyHealReady(self):
        
self.wndParty.PartyHealReady()

    
def ChangePartyParameter(selfdistributionMode):
        
self.wndParty.ChangePartyParameter(distributionMode)

    
## Safebox
    
def AskSafeboxPassword(self):
        if 
self.wndSafebox.IsShow():
            return

        
# SAFEBOX_PASSWORD
        
self.dlgPassword.SetTitle(locale.PASSWORD_TITLE)
        
self.dlgPassword.SetSendMessage("/safebox_password ")
        
# END_OF_SAFEBOX_PASSWORD

        
self.dlgPassword.ShowDialog()

    
def OpenSafeboxWindow(selfsize):
        
self.dlgPassword.CloseDialog()
        
self.wndSafebox.ShowWindow(size)

    
def RefreshSafeboxMoney(self):
        
self.wndSafebox.RefreshSafeboxMoney()

    
def CommandCloseSafebox(self):
        
self.wndSafebox.CommandCloseSafebox()

    
# ITEM_MALL
    
def AskMallPassword(self):
        if 
self.wndMall.IsShow():
            return
        
self.dlgPassword.SetTitle(locale.MALL_PASSWORD_TITLE)
        
self.dlgPassword.SetSendMessage("/mall_password ")
        
self.dlgPassword.ShowDialog()

    
def OpenMallWindow(selfsize):
        
self.dlgPassword.CloseDialog()
        
self.wndMall.ShowWindow(size)

    
def CommandCloseMall(self):
        
self.wndMall.CommandCloseMall()
    
# END_OF_ITEM_MALL

    ## Guild
    
def OnStartGuildWar(selfguildSelfguildOpp):
        
self.wndGuild.OnStartGuildWar(guildSelfguildOpp)

        
guildWarScoreBoard uiGuild.GuildWarScoreBoard()
        
guildWarScoreBoard.Open(guildSelfguildOpp)
        
guildWarScoreBoard.Show()
        
self.guildScoreBoardDict[uiGuild.GetGVGKey(guildSelfguildOpp)] = guildWarScoreBoard

    def OnEndGuildWar
(selfguildSelfguildOpp):
        
self.wndGuild.OnEndGuildWar(guildSelfguildOpp)

        
key uiGuild.GetGVGKey(guildSelfguildOpp)

        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
self.guildScoreBoardDict[key].Destroy()
        
del self.guildScoreBoardDict[key]

    
# GUILDWAR_MEMBER_COUNT
    
def UpdateMemberCount(selfgulidID1memberCount1guildID2memberCount2):
        
key uiGuild.GetGVGKey(gulidID1guildID2)

        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
self.guildScoreBoardDict[key].UpdateMemberCount(gulidID1memberCount1guildID2memberCount2)
    
# END_OF_GUILDWAR_MEMBER_COUNT

    
def OnRecvGuildWarPoint(selfgainGuildIDopponentGuildIDpoint):
        
key uiGuild.GetGVGKey(gainGuildIDopponentGuildID)
        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
guildBoard self.guildScoreBoardDict[key]
        
guildBoard.SetScore(gainGuildIDopponentGuildIDpoint)

    
## PK Mode
    
def OnChangePKMode(self):
        
self.wndCharacter.RefreshAlignment()
        
self.dlgSystem.OnChangePKMode()

    
## Refine
    
def OpenRefineDialog(selftargetItemPosnextGradeItemVnumcostprobtype):
        
self.dlgRefineNew.Open(targetItemPosnextGradeItemVnumcostprobtype)

    
def AppendMaterialToRefineDialog(selfvnumcount):
        
self.dlgRefineNew.AppendMaterial(vnumcount)

    
## Show & Hide
    
def ShowDefaultWindows(self):
        
self.wndTaskBar.Show()
        
self.wndMiniMap.Show()
        
self.wndMiniMap.ShowMiniMap()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Show()

    
def ShowAllWindows(self):
        
self.wndTaskBar.Show()
        
self.wndCharacter.Show()
        
self.wndInventory.Show()
        
self.wndChat.Show()
        
self.wndMiniMap.Show()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Show()

    
def HideAllWindows(self):
        if 
self.wndTaskBar:
            
self.wndTaskBar.Hide()
        
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Hide()

        if 
self.wndCharacter:
            
self.wndCharacter.Hide()

        if 
self.wndInventory:
            
self.wndInventory.Hide()

        if 
self.wndChat:
            
self.wndChat.Hide()

        if 
self.wndMiniMap:
            
self.wndMiniMap.Hide()

        if 
self.wndMessenger:
            
self.wndMessenger.Hide()

        if 
self.wndGuild:
            
self.wndGuild.Hide()

    
def ShowMouseImage(self):
        
self.wndTaskBar.ShowMouseImage()

    
def HideMouseImage(self):
        
self.wndTaskBar.HideMouseImage()

    
def ToggleChat(self):
        if 
TRUE == self.wndChat.IsEditMode():
            
self.wndChat.CloseChat()
        else:
            
# 웹페이지가 열렸을때는 채팅 입력이 안됨
            
if self.wndWeb and self.wndWeb.IsShow():
                
pass
            
else:
                
self.wndChat.OpenChat()

    
def IsOpenChat(self):
        return 
self.wndChat.IsEditMode()

    
def SetChatFocus(self):
        
self.wndChat.SetChatFocus()

    
def OpenRestartDialog(self):
        
self.dlgRestart.OpenDialog()
        
self.dlgRestart.SetTop()

    
def CloseRestartDialog(self):
        
self.dlgRestart.Close()

    
def ToggleSystemDialog(self):
        if 
FALSE == self.dlgSystem.IsShow():
            
self.dlgSystem.OpenDialog()
            
self.dlgSystem.SetTop()
        else:
            
self.dlgSystem.Close()

    
def OpenSystemDialog(self):
        
self.dlgSystem.OpenDialog()
        
self.dlgSystem.SetTop()

    
def ToggleMessenger(self):
        if 
self.wndMessenger.IsShow():
            
self.wndMessenger.Hide()
        else:
            
self.wndMessenger.SetTop()
            
self.wndMessenger.Show()

    
def ToggleMiniMap(self):
        if 
app.IsPressed(app.DIK_LSHIFT) or app.IsPressed(app.DIK_RSHIFT):
            if 
FALSE == self.wndMiniMap.isShowMiniMap():
                
self.wndMiniMap.ShowMiniMap()
                
self.wndMiniMap.SetTop()
            else:
                
self.wndMiniMap.HideMiniMap()

        else:
            
self.wndMiniMap.ToggleAtlasWindow()

    
def PressMKey(self):
        if 
app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT):
            
self.ToggleMessenger()

        else:
            
self.ToggleMiniMap()

    
def SetMapName(selfmapName):
        
self.wndMiniMap.SetMapName(mapName)

    
def MiniMapScaleUp(self):
        
self.wndMiniMap.ScaleUp()

    
def MiniMapScaleDown(self):
        
self.wndMiniMap.ScaleDown()

    
def ToggleCharacterWindow(selfstate):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndCharacter.IsShow():
                
self.OpenCharacterWindowWithState(state)
            else:
                if 
state == self.wndCharacter.GetState():
                    
self.wndCharacter.OverOutItem()
                    
self.wndCharacter.Hide()
                else:
                    
self.wndCharacter.SetState(state)

    
def OpenCharacterWindowWithState(selfstate):
        if 
FALSE == player.IsObserverMode():
            
self.wndCharacter.SetState(state)
            
self.wndCharacter.Show()
            
self.wndCharacter.SetTop()

    
def ToggleCharacterWindowStatusPage(self):
        
self.ToggleCharacterWindow("STATUS")

    
def ToggleInventoryWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndInventory.IsShow():
                
self.wndInventory.Show()
                
self.wndInventory.SetTop()
            else:
                
self.wndInventory.OverOutItem()
                
self.wndInventory.Close()

    
def ToggleGuildWindow(self):
        if 
not self.wndGuild.IsShow():
            if 
self.wndGuild.CanOpen():
                
self.wndGuild.Open()
            else:
                
chat.AppendChat(chat.CHAT_TYPE_INFOlocale.GUILD_YOU_DO_NOT_JOIN)
        else:
            
self.wndGuild.OverOutItem()
            
self.wndGuild.Hide()

    
def ToggleChatLogWindow(self):
        if 
self.wndChatLog.IsShow():
            
self.wndChatLog.Hide()
        else:
            
self.wndChatLog.Show()

    
def CheckGameButton(self):
        if 
self.wndGameButton:
            
self.wndGameButton.CheckGameButton()

    
def __OnClickStatusPlusButton(self):
        
self.ToggleCharacterWindow("STATUS")

    
def __OnClickSkillPlusButton(self):
        
self.ToggleCharacterWindow("SKILL")

    
def __OnClickQuestButton(self):
        
self.ToggleCharacterWindow("QUEST")

    
def __OnClickHelpButton(self):
        
player.SetPlayTime(1)
        
self.CheckGameButton()
        
self.OpenHelpWindow()

    
def __OnClickBuildButton(self):
        
self.BUILD_OpenWindow()

    
def OpenHelpWindow(self):
        
self.wndUICurtain.Show()
        
self.wndHelp.Open()

    
def CloseHelpWindow(self):
        
self.wndUICurtain.Hide()
        
self.wndHelp.Close()

    
def OpenWebWindow(selfurl):
        
self.wndWeb.Open(url)

        
# 웹페이지를 열면 채팅을 닫는다
        
self.wndChat.CloseChat()

    
def CloseWebWindow(self):
        
self.wndWeb.Close()

    
def OpenCubeWindow(self):
        
self.wndCube.Open()

        if 
FALSE == self.wndInventory.IsShow():
            
self.wndInventory.Show()

    
def CloseCubeWindow(self):
        
self.wndCube.Close()

    
def SucceedCubeWork(selfitemVnumcount):
        
self.wndCube.Clear()
        
        print 
"큐브 제작 성공! [%d:%d]" % (itemVnumcount)

        if 
0# 결과 메시지 출력은 생략 한다
            
self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
            
self.wndCubeResult.SetCubeResultItem(itemVnumcount)
            
self.wndCubeResult.Open()
            
self.wndCubeResult.SetTop()

    
def __HideWindows(self):
        
hideWindows self.wndTaskBar,\
                            
self.wndCharacter,\
                            
self.wndInventory,\
                            
self.wndMiniMap,\
                            
self.wndGuild,\
                            
self.wndMessenger,\
                            
self.wndChat,\
                            
self.wndParty,\
                            
self.wndGameButton,
                            
        if 
self.wndEnergyBar:
            
hideWindows +=     (self.wndEnergyBar,)
        
        
hideWindows filter(lambda x:x.IsShow(), hideWindows)
        
map(lambda x:x.Hide(), hideWindows)

        
self.HideAllQuestButton()
        
self.HideAllWhisperButton()

        if 
self.wndChat.IsEditMode():
            
self.wndChat.CloseChat()

        return 
hideWindows

    def __ShowWindows
(selfwnds):
        
map(lambda x:x.Show(), wnds)
        global 
IsQBHide
        
if not IsQBHide:
            
self.ShowAllQuestButton()
        else:
            
self.HideAllQuestButton()

        
self.ShowAllWhisperButton()

    
def BINARY_OpenAtlasWindow(self):
        if 
self.wndMiniMap:
            
self.wndMiniMap.ShowAtlas()

    
def BINARY_SetObserverMode(selfflag):
        
self.wndGameButton.SetObserverMode(flag)

    
# ACCESSORY_REFINE_ADD_METIN_STONE
    
def BINARY_OpenSelectItemWindow(self):
        
self.wndItemSelect.Open()
    
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

    #####################################################################################
    ### Private Shop ###

    
def OpenPrivateShopInputNameDialog(self):
        
#if player.IsInSafeArea():
        #    chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)
        #    return

        
inputDialog uiCommon.InputDialog()
        
inputDialog.SetTitle(locale.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)
        
inputDialog.SetMaxLength(32)
        
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))
        
inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))
        
inputDialog.Open()
        
self.inputDialog inputDialog

    def ClosePrivateShopInputNameDialog
(self):
        
self.inputDialog None
        
return TRUE

    def OpenPrivateShopBuilder
(self):

        if 
not self.inputDialog:
            return 
TRUE

        
if not len(self.inputDialog.GetText()):
            return 
TRUE

        self
.privateShopBuilder.Open(self.inputDialog.GetText())
        
self.ClosePrivateShopInputNameDialog()
        return 
TRUE

    def AppearPrivateShop
(selfvidtext):

        
board uiPrivateShopBuilder.PrivateShopAdvertisementBoard()
        
board.Open(vidtext)

        
self.privateShopAdvertisementBoardDict[vid] = board

    def DisappearPrivateShop
(selfvid):

        if 
not self.privateShopAdvertisementBoardDict.has_key(vid):
            return

        
del self.privateShopAdvertisementBoardDict[vid]
        
uiPrivateShopBuilder.DeleteADBoard(vid)

    
#####################################################################################
    ### Equipment ###

    
def OpenEquipmentDialog(selfvid):
        
dlg uiEquipmentDialog.EquipmentDialog()
        
dlg.SetItemToolTip(self.tooltipItem)
        
dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
        
dlg.Open(vid)

        
self.equipmentDialogDict[vid] = dlg

    def SetEquipmentDialogItem
(selfvidslotIndexvnumcount):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogItem(slotIndexvnumcount)

    
def SetEquipmentDialogSocket(selfvidslotIndexsocketIndexvalue):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogSocket(slotIndexsocketIndexvalue)

    
def SetEquipmentDialogAttr(selfvidslotIndexattrIndextypevalue):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogAttr(slotIndexattrIndextypevalue)

    
def CloseEquipmentDialog(selfvid):
        if 
not vid in self.equipmentDialogDict:
            return
        
del self.equipmentDialogDict[vid]

    
#####################################################################################

    #####################################################################################
    ### Quest ###    
    
def BINARY_ClearQuest(selfindex):
        
btn self.__FindQuestButton(index)
        if 
!= btn:
            
self.__DestroyQuestButton(btn)        
    
    
def RecvQuest(selfindexname):
        
# QUEST_LETTER_IMAGE
        
self.BINARY_RecvQuest(indexname"file"locale.GetLetterImageName())
        
# END_OF_QUEST_LETTER_IMAGE

    
def BINARY_RecvQuest(selfindexnameiconTypeiconName):

        
btn self.__FindQuestButton(index)
        if 
!= btn:
            
self.__DestroyQuestButton(btn)

        
btn uiWhisper.WhisperButton()

        
# QUEST_LETTER_IMAGE
        ##!! 20061026.levites.퀘스트_이미지_교체
        
import item
        
if "item"==iconType:
            
item.SelectItem(int(iconName))
            
buttonImageFileName=item.GetIconImageFileName()
        else:
            
buttonImageFileName=iconName

        
if locale.IsEUROPE():
            
btn.SetUpVisual(locale.GetLetterCloseImageName())
            
btn.SetOverVisual(locale.GetLetterOpenImageName())
            
btn.SetDownVisual(locale.GetLetterOpenImageName())
        else:
            
btn.SetUpVisual(buttonImageFileName)
            
btn.SetOverVisual(buttonImageFileName)
            
btn.SetDownVisual(buttonImageFileName)
            
btn.Flash()
        
# END_OF_QUEST_LETTER_IMAGE

        
if locale.IsARABIC():
            
btn.SetToolTipText(name035)
            
btn.ToolTipText.SetHorizontalAlignCenter()
        else:
            
btn.SetToolTipText(name, -2035)
            
btn.ToolTipText.SetHorizontalAlignLeft()
            
        
btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
        
btn.Show()

        
btn.index index
        btn
.name name

        self
.questButtonList.insert(0btn)
        
self.__ArrangeQuestButton()

        
#chat.AppendChat(chat.CHAT_TYPE_NOTICE, locale.QUEST_APPEND)

    
def __ArrangeQuestButton(self):

        
screenWidth wndMgr.GetScreenWidth()
        
screenHeight wndMgr.GetScreenHeight()

        
##!! 20061026.levites.퀘스트_위치_보정
        
if self.wndParty.IsShow():
            
xPos 100 30
        
else:
            
xPos 20

        
if locale.IsARABIC():
            
xPos xPos 15

        yPos 
170 screenHeight 600
        yCount 
= (screenHeight 330) / 63

        count 
0
        
for btn in self.questButtonList:

            
btn.SetPosition(xPos + (int(count/yCount) * 100), yPos + (count%yCount 63))
            
count += 1
            
global IsQBHide
            
if IsQBHide:
                
btn.Hide()
            else:
                
btn.Show()

    
def __StartQuest(selfbtn):
        
event.QuestButtonClick(btn.index)
        
self.__DestroyQuestButton(btn)

    
def __FindQuestButton(selfindex):
        for 
btn in self.questButtonList:
            if 
btn.index == index:
                return 
btn

        
return 0

    def __DestroyQuestButton
(selfbtn):
        
btn.SetEvent(0)
        
self.questButtonList.remove(btn)
        
self.__ArrangeQuestButton()

    
def HideAllQuestButton(self):
        for 
btn in self.questButtonList:
            
btn.Hide()

    
def ShowAllQuestButton(self):
        for 
btn in self.questButtonList:
            
btn.Show()
    
#####################################################################################

    #####################################################################################
    ### Whisper ###

    
def __InitWhisper(self):
        
chat.InitWhisper(self)

    
## 채팅창의 "메시지 보내기"를 눌렀을때 이름 없는 대화창을 여는 함수
    ## 이름이 없기 때문에 기존의 WhisperDialogDict 와 별도로 관리된다.
    
def OpenWhisperDialogWithoutTarget(self):
        if 
not self.dlgWhisperWithoutTarget:
            
dlgWhisper uiWhisper.WhisperDialog(self.MinimizeWhisperDialogself.CloseWhisperDialog)
            
dlgWhisper.BindInterface(self)
            
dlgWhisper.LoadDialog()
            
dlgWhisper.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
            
dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
            
dlgWhisper.Show()
            
self.dlgWhisperWithoutTarget dlgWhisper

            self
.windowOpenPosition = (self.windowOpenPosition+1) % 5

        
else:
            
self.dlgWhisperWithoutTarget.SetTop()
            
self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)

    
## 이름 없는 대화창에서 이름을 결정했을때 WhisperDialogDict에 창을 넣어주는 함수
    
def RegisterTemporaryWhisperDialog(selfname):
        if 
not self.dlgWhisperWithoutTarget:
            return

        
btn self.__FindWhisperButton(name)
        if 
!= btn:
            
self.__DestroyWhisperButton(btn)

        
elif self.whisperDialogDict.has_key(name):
            
oldDialog self.whisperDialogDict[name]
            
oldDialog.Destroy()
            
del self.whisperDialogDict[name]

        
self.whisperDialogDict[name] = self.dlgWhisperWithoutTarget
        self
.dlgWhisperWithoutTarget.OpenWithTarget(name)
        
self.dlgWhisperWithoutTarget None
        self
.__CheckGameMaster(name)

    
## 캐릭터 메뉴의 1:1 대화 하기를 눌렀을때 이름을 가지고 바로 창을 여는 함수
    
def OpenWhisperDialog(selfname):
        if 
not self.whisperDialogDict.has_key(name):
            
dlg self.__MakeWhisperDialog(name)
            
dlg.OpenWithTarget(name)
            
dlg.chatLine.SetFocus()
            
dlg.Show()

            
self.__CheckGameMaster(name)
            
btn self.__FindWhisperButton(name)
            if 
!= btn:
                
self.__DestroyWhisperButton(btn)

    
## 다른 캐릭터로부터 메세지를 받았을때 일단 버튼만 띄워 두는 함수
    
def RecvWhisper(selfname):
        if 
not self.whisperDialogDict.has_key(name):
            
btn self.__FindWhisperButton(name)
            if 
== btn:
                
btn self.__MakeWhisperButton(name)
                
btn.Flash()

                
chat.AppendChat(chat.CHAT_TYPE_NOTICElocale.RECEIVE_MESSAGE % (name))

            else:
                
btn.Flash()
        
elif self.IsGameMasterName(name):
            
dlg self.whisperDialogDict[name]
            
dlg.SetGameMasterLook()

    
def MakeWhisperButton(selfname):
        
self.__MakeWhisperButton(name)

    
## 버튼을 눌렀을때 창을 여는 함수
    
def ShowWhisperDialog(selfbtn):
        try:
            
self.__MakeWhisperDialog(btn.name)
            
dlgWhisper self.whisperDialogDict[btn.name]
            
dlgWhisper.OpenWithTarget(btn.name)
            
dlgWhisper.Show()
            
self.__CheckGameMaster(btn.name)
        
except:
            
import dbg
            dbg
.TraceError("interface.ShowWhisperDialog - Failed to find key")

        
## 버튼 초기화
        
self.__DestroyWhisperButton(btn)

    
## WhisperDialog 창에서 최소화 명령을 수행했을때 호출되는 함수
    ## 창을 최소화 합니다.
    
def MinimizeWhisperDialog(selfname):

        if 
!= name:
            
self.__MakeWhisperButton(name)

        
self.CloseWhisperDialog(name)

    
## WhisperDialog 창에서 닫기 명령을 수행했을때 호출되는 함수
    ## 창을 지웁니다.
    
def CloseWhisperDialog(selfname):

        if 
== name:

            if 
self.dlgWhisperWithoutTarget:
                
self.dlgWhisperWithoutTarget.Destroy()
                
self.dlgWhisperWithoutTarget None

            
return

        try:
            
dlgWhisper self.whisperDialogDict[name]
            
dlgWhisper.Destroy()
            
del self.whisperDialogDict[name]
        
except:
            
import dbg
            dbg
.TraceError("interface.CloseWhisperDialog - Failed to find key")

    
## 버튼의 개수가 바뀌었을때 버튼을 재정렬 하는 함수
    
def __ArrangeWhisperButton(self):

        
screenWidth wndMgr.GetScreenWidth()
        
screenHeight wndMgr.GetScreenHeight()

        
xPos screenWidth 70
        yPos 
170 screenHeight 600
        yCount 
= (screenHeight 330) / 63
        
#yCount = (screenHeight - 285) / 63

        
count 0
        
for button in self.whisperButtonList:

            
button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount 63))
            
count += 1

    
## 이름으로 Whisper 버튼을 찾아 리턴해 주는 함수
    ## 버튼은 딕셔너리로 하지 않는 것은 정렬 되어 버려 순서가 유지 되지 않으며
    ## 이로 인해 ToolTip들이 다른 버튼들에 의해 가려지기 때문이다.
    
def __FindWhisperButton(selfname):
        for 
button in self.whisperButtonList:
            if 
button.name == name:
                return 
button

        
return 0

    
## 창을 만듭니다.
    
def __MakeWhisperDialog(selfname):
        
dlgWhisper uiWhisper.WhisperDialog(self.MinimizeWhisperDialogself.CloseWhisperDialog)
        
dlgWhisper.BindInterface(self)
        
dlgWhisper.LoadDialog()
        
dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
        
self.whisperDialogDict[name] = dlgWhisper

        self
.windowOpenPosition = (self.windowOpenPosition+1) % 5

        
return dlgWhisper

    
## 버튼을 만듭니다.
    
def __MakeWhisperButton(selfname):
        
whisperButton uiWhisper.WhisperButton()
        
whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        
whisperButton.SetOverVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        
whisperButton.SetDownVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        if 
self.IsGameMasterName(name):
            
whisperButton.SetToolTipTextWithColor(name0xffffa200)
        else:
            
whisperButton.SetToolTipText(name)
        
whisperButton.ToolTipText.SetHorizontalAlignCenter()
        
whisperButton.SetEvent(ui.__mem_func__(self.ShowWhisperDialog), whisperButton)
        
whisperButton.Show()
        
whisperButton.name name

        self
.whisperButtonList.insert(0whisperButton)
        
self.__ArrangeWhisperButton()

        return 
whisperButton

    def __DestroyWhisperButton
(selfbutton):
        
button.SetEvent(0)
        
self.whisperButtonList.remove(button)
        
self.__ArrangeWhisperButton()

    
def HideAllWhisperButton(self):
        for 
btn in self.whisperButtonList:
            
btn.Hide()

    
def ShowAllWhisperButton(self):
        for 
btn in self.whisperButtonList:
            
btn.Show()

    
def __CheckGameMaster(selfname):
        if 
not self.listGMName.has_key(name):
            return
        if 
self.whisperDialogDict.has_key(name):
            
dlg self.whisperDialogDict[name]
            
dlg.SetGameMasterLook()

    
def RegisterGameMasterName(selfname):
        if 
self.listGMName.has_key(name):
            return
        
self.listGMName[name] = "GM"

    
def IsGameMasterName(selfname):
        if 
self.listGMName.has_key(name):
            return 
TRUE
        
else:
            return 
FALSE

    
#####################################################################################

    #####################################################################################
    ### Guild Building ###

    
def BUILD_OpenWindow(self):
        
self.wndGuildBuilding uiGuild.BuildGuildBuildingWindow()
        
self.wndGuildBuilding.Open()
        
self.wndGuildBuilding.wnds self.__HideWindows()
        
self.wndGuildBuilding.SetCloseEvent(ui.__mem_func__(self.BUILD_CloseWindow))

    
def BUILD_CloseWindow(self):
        
self.__ShowWindows(self.wndGuildBuilding.wnds)
        
self.wndGuildBuilding None

    def BUILD_OnUpdate
(self):
        if 
not self.wndGuildBuilding:
            return

        if 
self.wndGuildBuilding.IsPositioningMode():
            
import background
            x
ybackground.GetPickingPoint()
            
self.wndGuildBuilding.SetBuildingPosition(xyz)

    
def BUILD_OnMouseLeftButtonDown(self):
        if 
not self.wndGuildBuilding:
            return

        
# GUILD_BUILDING
        
if self.wndGuildBuilding.IsPositioningMode():
            
self.wndGuildBuilding.SettleCurrentPosition()
            return 
TRUE
        elif self
.wndGuildBuilding.IsPreviewMode():
            
pass
        
else:
            return 
TRUE
        
# END_OF_GUILD_BUILDING
        
return FALSE

    def BUILD_OnMouseLeftButtonUp
(self):
        if 
not self.wndGuildBuilding:
            return

        if 
not self.wndGuildBuilding.IsPreviewMode():
            return 
TRUE

        
return FALSE

    def BULID_EnterGuildArea
(selfareaID):
        
# GUILD_BUILDING
        
mainCharacterName player.GetMainCharacterName()
        
masterName guild.GetGuildMasterName()

        if 
mainCharacterName != masterName:
            return

        if 
areaID != player.GetGuildID():
            return
        
# END_OF_GUILD_BUILDING

        
self.wndGameButton.ShowBuildButton()

    
def BULID_ExitGuildArea(selfareaID):
        
self.wndGameButton.HideBuildButton()

    
#####################################################################################

    
def IsEditLineFocus(self):
        if 
self.ChatWindow.chatLine.IsFocus():
            return 
1

        
if self.ChatWindow.chatToLine.IsFocus():
            return 
1

        
return 0

    def EmptyFunction
(self):
        
pass

if __name__ == "__main__":

    
import app
    import wndMgr
    import systemSetting
    import mouseModule
    import grp
    import ui
    import locale

    app
.SetMouseHandler(mouseModule.mouseController)
    
app.SetHairColorEnable(TRUE)
    
wndMgr.SetMouseHandler(mouseModule.mouseController)
    
wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
    
app.Create(locale.APP_TITLEsystemSetting.GetWidth(), systemSetting.GetHeight(), 1)
    
mouseModule.mouseController.Create()

    class 
TestGame(ui.Window):
        
def __init__(self):
            
ui.Window.__init__(self)

            
locale.LoadLocaleData()
            
player.SetItemData(02700110)
            
player.SetItemData(12700410)

            
self.interface = Interface()
            
self.interface.MakeInterface()
            
self.interface.ShowDefaultWindows()
            
self.interface.RefreshInventory()
            
#self.interface.OpenCubeWindow()

        
def __del__(self):
            
ui.Window.__del__(self)

        
def OnUpdate(self):
            
app.UpdateGame()

        
def OnRender(self):
            
app.RenderGame()
            
grp.PopState()
            
grp.SetInterfaceRenderState()

    
game TestGame()
    
game.SetSize(systemSetting.GetWidth(), systemSetting.GetHeight())
    
game.Show()

    
app.Loop() 
xfantix1 is offline  
Old 06/29/2014, 11:11   #2
 
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
Was ist ne Slotmachine? Schick mal Link ._.
Rextrus is offline  
Old 06/29/2014, 11:13   #3
 
elite*gold: 0
Join Date: Nov 2012
Posts: 31
Received Thanks: 4
so etwas nur für metin
xfantix1 is offline  
Old 06/29/2014, 11:15   #4
 
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
Wäre das über eine Quest an einem NPC nicht etwas leichter?
Würd' ich einem Anfänger mehr empfehlen.

€dit: Hab dir die Quest von Ifcmaus mal rausgesucht^^
Rextrus is offline  
Old 06/29/2014, 11:21   #5
 
elite*gold: 0
Join Date: Nov 2012
Posts: 31
Received Thanks: 4
Die Slotmachine wo ich nutzen will, ist auch mit einer Quest verbunden. Mir fehlt nurnoch das einfügen dieser " Befehle"
xfantix1 is offline  
Old 06/30/2014, 22:58   #6


 
.Sεℜio×™'s Avatar
 
elite*gold: 14
Join Date: Jul 2010
Posts: 382
Received Thanks: 85
Quote:
if tokens and len(tokens):
type = tokens[0]
if "item" == type:
self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)

## Make Windows & Dialogs
################################

def Close(self):
## Slotmachine

if self.SlotmachineWnd:
self.SlotmachineWnd.Destroy()

def Close(self):
Teilweise steht es sogar schon drin.

Ich würde dir empfehlen es unter dir Imports zu setzen, oder noch einfach, per Quest wie es oben schon vorgeschlagen wurde.
.Sεℜio×™ is offline  
Reply


Similar Threads Similar Threads
SimCity! Bitte um Hilfe!|Verarbeitung der großen Datei ... bitte warten
04/10/2013 - Technical Support - 4 Replies
Jo Leute, ich habe mir vor etwa 2 Wochen SimCity gekauft und habe gleich mal den Installer bei Origin heruntergeladen. Ich versuche also seit 2 Wochen (!) SimCity zum laufen zu bekommen, da dort die ganze Zeit "Verarbeitung der großen Datei ... bitte warten" steht. Nach ca. 1 Stunde warten bekomme ich eine Fehlermeldung. SMCY5. Habe auch schon von help.ea.com den Lösungsweg für Fehler SMCY5 versucht. Habt ihr da vielleicht ne Idee was man da noch machen kann? Ich habe mal gelesen mit VPN...



All times are GMT +1. The time now is 22:50.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.