Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
Teşekkürler
Root/InterFaceModule.py
Arat :
Kod:self.bigBoard = None
Altına Ekle :
Kod:if app.ENABLE_12ZI: self.missionBoard = None
Arat :
Kod:self.bigBoard = uiTip.BigBoard() self.bigBoard.Hide()
Altına Ekle :
Kod:if app.ENABLE_12ZI: self.missionBoard = uiTip.MissionBoard() self.missionBoard.Hide()
Arat ve Sil:
Kod:self.__MakeTipBoard()
Arat :
Kod:self.__MakeMessengerWindow()
Öncesine Ekle :
Kod:self.__MakeTipBoard() # ENABLE_12ZI
Arat :
Kod:del self.wndItemSelect
Altına Ekle :
Kod:if app.ENABLE_12ZI: del self.missionBoard
Root/Game.py Açılır:
Arat :
Kod:def BINARY_SetBigMessage(self, message): self.interface.bigBoard.SetTip(message)
Altına Ekle :
Kod:if app.ENABLE_12ZI: def BINARY_SetMissionMessage(self, message): if self.interface: self.interface.missionBoard.SetMission(message) def BINARY_SetSubMissionMessage(self, message): if self.interface: self.interface.missionBoard.SetSubMission(message) def BINARY_CleanMissionMessage(self): if self.interface: self.interface.missionBoard.CleanMission()
Root/UiTip.py Açılır :
Arat :
Kod:class BigTextBar(TextBar): def __init__(self, width, height, fontSize): ui.Window.__init__(self) self.handle = grp.CreateBigTextBar(width, height, fontSize) def __del__(self): ui.Window.__del__(self) grp.DestroyTextBar(self.handle)
Altına Ekle :
Kod:if app.ENABLE_12ZI: class MissionBoard(ui.Bar): FONT_HEIGHT = 15 LINE_HEIGHT = FONT_HEIGHT + 5 STEP_HEIGHT = LINE_HEIGHT + 5 LONG_TEXT_START_X = 300 SCREEN_WIDTH = wndMgr.GetScreenWidth() def __init__(self): ui.Bar.__init__(self) self.AddFlag("not_pick") self.missionText = None self.missionFullText = None self.curPos = 0 self.dstPos = -5 self.nextScrollTime = 0 self.flowMode = False self.ScrollStartTime = 0.0 self.SetPosition(0, 100) self.SetSize(self.SCREEN_WIDTH, 35) self.SetColor(grp.GenerateColor(0.0, 0.0, 0.0, 0.5)) self.SetWindowHorizontalAlignCenter() self.__CreateTextBar() def __del__(self): ui.Bar.__del__(self) def __CreateTextBar(self): x, y = self.GetGlobalPosition() self.textBar = BigTextBar(self.SCREEN_WIDTH * 2, 300, self.FONT_HEIGHT) self.textBar.SetParent(self) self.textBar.SetPosition(6, 8) self.textBar.SetTextColor(242, 231, 193) self.textBar.SetClipRect(0, y, self.SCREEN_WIDTH, y + 8 + self.STEP_HEIGHT) self.textBar.Show() def CleanMission(self): self.missionText = None self.missionFullText = None self.textBar.ClearBar() self.Hide() def __RefreshBoard(self): self.textBar.ClearBar() if self.missionFullText: (text_width, text_height) = self.textBar.GetTextExtent(self.missionFullText) if text_width>self.SCREEN_WIDTH: self.textBar.TextOut(0, (self.STEP_HEIGHT - 8 - text_height) / 2, self.missionFullText) self.flowMode = True else: self.textBar.TextOut((wndMgr.GetScreenWidth() - text_width) / 2, (self.STEP_HEIGHT - 8 - text_height) / 2, self.missionFullText) self.flowMode = False def SetMission(self, text): self.__AppendText(text) self.__RefreshBoard() if self.flowMode: self.dstPos = -text_width self.curPos = self.LONG_TEXT_START_X self.textBar.SetPosition(3 + self.curPos, 8) else: self.dstPos = 0 self.curPos = self.STEP_HEIGHT self.textBar.SetPosition(3, 8 + self.curPos) if not self.IsShow(): self.Show() def SetSubMission(self, text): self.missionFullText = self.missionText + text preflowMode = self.flowMode self.__RefreshBoard() if preflowMode != self.flowMode: if self.flowMode: self.dstPos = -text_width self.curPos = self.LONG_TEXT_START_X self.textBar.SetPosition(3 + self.curPos, 8) else: self.dstPos = 0 self.curPos = self.STEP_HEIGHT self.textBar.SetPosition(3, 8 + self.curPos) def __AppendText(self, text): if text == "": self.CleanMission() return self.missionText = text self.missionFullText = text def OnUpdate(self): if self.missionFullText == None: self.Hide() return if self.dstPos < self.curPos: self.curPos -= 1 if self.flowMode: self.textBar.SetPosition(3 + self.curPos, 8) else: self.textBar.SetPosition(3, 8 + self.curPos) else: if self.flowMode: self.curPos = self.SCREEN_WIDTH
Nasıl Kullanırım?:
Cpp'lerinize Ekleyin:
------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------Kod:ChatPacket(CHAT_TYPE_COMMAND, "SetMissionMessage %s", "VS. Ending Soon"); ChatPacket(CHAT_TYPE_COMMAND, "SetSubMission %s", "VS. is over. The world begins again under..."); ChatPacket(CHAT_TYPE_COMMAND, "CleanMission");
Client/SRC/UserInterface/PythonNetworkStreamCommand.cpp Aç:
EKLE:
Kod:#ifdef ENABLE_12ZI else if (!strcmpi(szCmd, "SetMissionMessage")) { if (2 != TokenVector.size()) { TraceError("CPythonNetworkStream::ServerCommand(c_szCommand=%s) - Strange Parameter Count : %s", c_szCommand); return; } const std::string & c_rstrMessage = TokenVector[1].c_str(); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_SetMissionMessage", Py_BuildValue("(s)", c_rstrMessage.c_str())); } else if (!strcmpi(szCmd, "SetSubMissionMessage")) { if (2 != TokenVector.size()) { TraceError("CPythonNetworkStream::ServerCommand(c_szCommand=%s) - Strange Parameter Count : %s", c_szCommand); return; } const std::string & c_rstrMessage = TokenVector[1].c_str(); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_SetSubMissionMessage", Py_BuildValue("(s)", c_rstrMessage.c_str())); } else if (!strcmpi(szCmd, "CleanMissionMessage")) { PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_CleanMissionMessage", Py_BuildValue("()")); } #endif
Client/SRC/PythonApplicationModule.cpp Aç :
En Alt Kısımlara Ekle :
Kod:#ifdef ENABLE_12ZI PyModule_AddIntConstant(poModule, "ENABLE_12ZI", 1); #else PyModule_AddIntConstant(poModule, "ENABLE_12ZI", 0); #endif
Ayrıca Bu Sistem İçin Yeni Bir CHAT_TYPE Oluşturup PhaseGame.cpp İçinde O Chat_Type......'nızın içine Bunları Ekleyeceksiniz.
Arat :
Kod:bool CPythonNetworkStream::RecvChatPacket()
İçine Ekle :
Kod:else (CHAT_TYPE_MISSION == kChat.type) { if (uChatSize) PyCallClassMemberFunc (m_apoPhaseWnd [PHASE_WINDOW_GAME], "BINARY_SetMissionMessage", Py_BuildValue ("(s)", buf)); else PyCallClassMemberFunc (m_apoPhaseWnd [PHASE_WINDOW_GAME], "BINARY_CleanMissionMessage", Py_BuildValue ("()")); } else (CHAT_TYPE_SUB_MISSION == kChat.type) { PyCallClassMemberFunc (m_apoPhaseWnd [PHASE_WINDOW_GAME], "BINARY_SetSubMissionMessage", Py_BuildValue ("(s)", buf)); }
Paylaşım için de teşekkürler bu arada.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 8
- Görüntüleme
- 823
Altın Konu
Oyun içi imsakiye & iftar/sahur alarmı
- Cevaplar
- 29
- Görüntüleme
- 3K
- Cevaplar
- 8
- Görüntüleme
- 859
- Cevaplar
- 4
- Görüntüleme
- 960
