Karan2offical 1
Karan2offical
Fethi Polat 1
Fethi Polat
ShadowFon 1
ShadowFon
bikral 1
bikral
-TuRKuaZ- 1
-TuRKuaZ-
SLyFeLLowTR 1
SLyFeLLowTR
TGamesZeus 1
TGamesZeus
Best Studio 1
Best Studio
berkmenoo 1
berkmenoo
InfernoShade 1
InfernoShade
Hikaye Ekle

[C++ & PY ] Zodyak Mission Notice

  • Konuyu başlatan Konuyu başlatan olkan41
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 21
  • Görüntüleme Görüntüleme 5K

olkan41

Müzik Prodüktörü ve Ses Tasarımcısı
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
4 Ağu 2010
Konular
356
Mesajlar
4,122
Çözüm
74
Online süresi
3mo 14d
Reaksiyon Skoru
2,235
Altın Konu
82
Başarım Puanı
292
Yaş
32
MmoLira
3,067
DevLira
138
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

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));
        }

KANIT :

dv49gZ.jpg
 
Son düzenleme:
Teşekkürler Yakında Warezde Olur Zodyak :D
 
Teşekkürler
 
sistem resmi pls?
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst