Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
Root/InterFaceModule.py
Arat :
Altına Ekle :
Arat :
Altına Ekle :
Arat ve Sil:
Arat :
Öncesine Ekle :
Arat :
Altına Ekle :
Root/Game.py Açılır:
Arat :
Altına Ekle :
Root/UiTip.py Açılır :
Arat :
Altına Ekle :
Nasıl Kullanırım?:
Cpp'lerinize Ekleyin:
------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------
Client/SRC/UserInterface/PythonNetworkStreamCommand.cpp Aç:
EKLE:
Client/SRC/PythonApplicationModule.cpp Aç :
En Alt Kısımlara Ekle :
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 :
İçine Ekle :
KANIT :
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));
}
KANIT :
Son düzenleme:
Teşekkürler Yakında Warezde Olur Zodyak![]()
Öyle görünüyor
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 8
- Görüntüleme
- 821
Altın Konu
Oyun içi imsakiye & iftar/sahur alarmı
- Cevaplar
- 29
- Görüntüleme
- 3K
- Cevaplar
- 8
- Görüntüleme
- 857
- Cevaplar
- 4
- Görüntüleme
- 959
