[C++&PY] Map Name on The Application Window

  • Konuyu başlatan Konuyu başlatan MT2Dev
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 14
  • Görüntüleme Görüntüleme 3K

MT2Dev

Cplusplus
Katılım
30 Ocak 2020
Konular
50
Mesajlar
812
Çözüm
6
Online süresi
26d 15h
Reaksiyon Skoru
735
Altın Konu
1
Başarım Puanı
184
MmoLira
8,746
DevLira
123
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhaba TurkMMO ;

Bugün ufak ama hoş bir detay paylaşacağım, oyun içerisinde bulunduğunuz map ismi title bölümünde yazacak.Fikir ve paylaşım için Metin2Dev'den Owsap adlı üyeye teşekkürler, kendisinden alıntıdır.

Nasıl Gözükür ?


Anlatım ;

CLIENT SRC

UserInterface/Locale_inc.h
açılır ve içine eklenir ;

C++:
#define ENABLE_MAP_NAME_ON_APP_TITLE // Exenin title bölümünde bulunduğunuz harita ismi gözükür.

UserInterface/PythonApplicationModule.cpp açılır ve aşağıdaki kod bulunur ;

C++:
PyObject* appLoop(PyObject* poSelf, PyObject* poArgs)

Üstüne eklenir ;

C++:
#if defined(ENABLE_MAP_NAME_ON_APP_TITLE)
PyObject* appSetText(PyObject* poSelf, PyObject* poArgs)
{
    char* szName;
    if (!PyTuple_GetString(poArgs, 0, &szName))
        return Py_BuildException();

    CPythonApplication& rkApp = CPythonApplication::Instance();
    rkApp.SetText(szName);
    return Py_BuildNone();
}
#endif

Aşağıdaki kod bulunur ;

C++:
        { "Loop", appLoop, METH_VARARGS },

Üstüne eklenir ;

C++:
#if defined(ENABLE_MAP_NAME_ON_APP_TITLE)
        { "SetText", appSetText, METH_VARARGS },
#endif

Aşağıdaki kod bulunur ;

C++:
PyModule_AddIntConstant(poModule, "CAMERA_STOP", CPythonApplication::CAMERA_STOP);

Altına eklenir ;

C++:
#if defined(ENABLE_MAP_NAME_ON_APP_TITLE)
    PyModule_AddIntConstant(poModule, "ENABLE_MAP_NAME_ON_APP_TITLE", 1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_MAP_NAME_ON_APP_TITLE", 0);
#endif

UserInterface/PythonNetworkStream.cpp açılır ve aşağıdaki kod bloğu bulunur ;

C++:
bool CPythonNetworkStream::RecvPhasePacket

Kod bloğunun içinde bulunur ;


C++:
    case PHASE_GAME: // °ÔÀÓ È¸é
        SetGamePhase();

Altına eklenir ;

C++:
#if defined(ENABLE_MAP_NAME_ON_APP_TITLE)
        PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetApplicationText", Py_BuildValue("()"));
#endif

Client/root/game.py Açılır ve aşağıdaki bölüm bulunur ; //TAB AYARLARINA DİKKAT !!!

Python:
    def StartGame(self):
        self.RefreshInventory()
        self.RefreshEquipment()
        self.RefreshCharacter()
        self.RefreshSkill()

Üstüne Eklenir ;

Python:
    if app.ENABLE_MAP_NAME_ON_APP_TITLE:
        def SetApplicationText(self):
            mapName = background.GetCurrentMapName()
            if mapName in localeInfo.MINIMAP_ZONE_NAME_DICT:
                app.SetText(localeInfo.APP_TITLE + " - " + localeInfo.MINIMAP_ZONE_NAME_DICT[mapName])
 

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler.
 
Rica ederim.
 
Paylaşım için teşekkürler.
 
Rica ederim.
 

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