Hikayeler

Reklam vermek için turkmmo@gmail.com

Pm bilgi sistemi

  • Konuyu başlatan l3erke
  • Başlangıç tarihi
  • Cevaplar 27
  • Görüntüleme 6K

l3erke

Level 1
Üye
Katılım
23 May 2016
Konular
6
Mesajlar
48
Online süresi
196s
Reaksiyon Skoru
24
Altın Konu
0
Başarım Puanı
64
TM Yaşı
9 Yıl 11 Ay 4 Gün
MmoLira
31
DevLira
0

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Server/src/
char.h aç ve arat
void SetGMLevel();
altına ekle
Kod:
        int            GetChannel() const;

char.cpp arat
quest::CQuestManager::instance().LevelUp(GetPlayerID());
altına ekle
Kod:
                // UpdateP2P                TPacketGGLogin p;
                p.bHeader = HEADER_GG_LOGIN;
                strlcpy(p.szName, GetName(), sizeof(p.szName));
                p.dwPID = GetPlayerID();
                p.bEmpire = GetEmpire();
                p.lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(GetX(), GetY());
                p.bChannel = g_bChannel;
                p.iLevel = GetLevel();
                P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGLogin));

arat
BYTE CHARACTER::GetGMLevel() const

altına ekle
Kod:
int CHARACTER::GetChannel() const{
    return g_bChannel;
}

arat
TPacketGGLogin p;


p.bHeader = HEADER_GG_LOGIN;
strlcpy(p.szName, GetName(), sizeof(p.szName));
p.dwPID = GetPlayerID();
p.bEmpire = GetEmpire();
p.lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(GetX(), GetY());
p.bChannel = g_bChannel;


P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGLogin));
değiştir
Kod:
        TPacketGGLogin p;


        p.bHeader = HEADER_GG_LOGIN;
        strlcpy(p.szName, GetName(), sizeof(p.szName));
        p.dwPID = GetPlayerID();
        p.bEmpire = GetEmpire();
        p.lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(GetX(), GetY());
        p.bChannel = g_bChannel;
        p.iLevel = GetLevel();


        P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGLogin));

input_db.cpp

Arat:
TPacketGGLogin p;


p.bHeader = HEADER_GG_LOGIN;
strlcpy(p.szName, ch->GetName(), sizeof(p.szName));
p.dwPID = ch->GetPlayerID();
p.bEmpire = ch->GetEmpire();
p.lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(ch->GetX(), ch->GetY());
p.bChannel = g_bChannel;


P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGLogin));

Kod:
Değiştir:
        TPacketGGLogin p;


        p.bHeader = HEADER_GG_LOGIN;
        strlcpy(p.szName, ch->GetName(), sizeof(p.szName));
        p.dwPID = ch->GetPlayerID();
        p.bEmpire = ch->GetEmpire();
        p.lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(ch->GetX(), ch->GetY());
        p.bChannel = g_bChannel;
        p.iLevel = ch->GetLevel();


        P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGLogin));


packet.h

arat

typedef struct SPacketGGLogin
{
BYTE bHeader;
char szName[CHARACTER_NAME_MAX_LEN + 1];
DWORD dwPID;
BYTE bEmpire;
long lMapIndex;
BYTE bChannel;
} TPacketGGLogin;




Kod:
Değiştir:typedef struct SPacketGGLogin
{
    BYTE    bHeader;
    char    szName[CHARACTER_NAME_MAX_LEN + 1];
    DWORD    dwPID;
    BYTE    bEmpire;
    long    lMapIndex;
    BYTE    bChannel;
    int        iLevel;
} TPacketGGLogin;

p2p.cpp


Arat (void P2P_MANAGER::Boot(LPDESC d)):
p.bHeader = HEADER_GG_LOGIN;
strlcpy(p.szName, ch->GetName(), sizeof(p.szName));
p.dwPID = ch->GetPlayerID();
p.bEmpire = ch->GetEmpire();
p.lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(ch->GetX(), ch->GetY());
p.bChannel = g_bChannel;
d->Packet(&p, sizeof(p));



Değiştir:
Kod:
        p.bHeader = HEADER_GG_LOGIN;
        strlcpy(p.szName, ch->GetName(), sizeof(p.szName));
        p.dwPID = ch->GetPlayerID();
        p.bEmpire = ch->GetEmpire();
        p.lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(ch->GetX(), ch->GetY());
        p.bChannel = g_bChannel;
        p.iLevel = ch->GetLevel();
        d->Packet(&p, sizeof(p));
[/CODE]

Arat (void P2P_MANAGER::Login(LPDESC d, const TPacketGGLogin * p)):
pkCCI->lMapIndex = p->lMapIndex;
pkCCI->pkDesc = d;
pkCCI->bChannel = p->bChannel;
sys_log(0, "P2P: Login %s", pkCCI->szName);


CGuildManager::instance().P2PLoginMember(pkCCI->dwPID);
CPartyManager::instance().P2PLogin(pkCCI->dwPID, pkCCI->szName);

Kod:
Değiştir:
    pkCCI->lMapIndex = p->lMapIndex;
    pkCCI->pkDesc = d;
    pkCCI->bChannel = p->bChannel;
    pkCCI->iLevel = p->iLevel;
    sys_log(0, "P2P: Login %s", pkCCI->szName);


    CGuildManager::instance().P2PLoginMember(pkCCI->dwPID);
    CPartyManager::instance().P2PLogin(pkCCI->dwPID, pkCCI->szName);

p2p.h

Arat:
typedef struct _CCI
{
char szName[CHARACTER_NAME_MAX_LEN + 1];
DWORD dwPID;
BYTE bEmpire;
long lMapIndex;
BYTE bChannel;


LPDESC pkDesc;
} CCI;

Kod:
Değiştir:
typedef struct _CCI
{
    char    szName[CHARACTER_NAME_MAX_LEN + 1];
    DWORD    dwPID;
    BYTE    bEmpire;
    long    lMapIndex;
    BYTE    bChannel;


    LPDESC    pkDesc;
    int        iLevel;
} CCI;



cmd_general.cpp
müsait biryere ekleyin
Kod:
ACMD(do_bilgial){
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));


    if (!*arg1)
        return;


    int iTargetEmpire = 0;
    int iTargetLevel = 0;
    int iTargetChannel = 0;


    LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC(arg1);
    if (tch)
    {
        iTargetEmpire = (int)tch->GetEmpire();
        iTargetLevel = tch->GetLevel();
        iTargetChannel = tch->GetChannel();
    }
    else {
        CCI * pkCCI = P2P_MANAGER::instance().Find(arg1);
        if (pkCCI)
        {
            iTargetEmpire = (int)pkCCI->bEmpire;
            iTargetLevel = pkCCI->iLevel;
            iTargetChannel = (int)pkCCI->bChannel;
        }
        else {
            ch->ChatPacket(CHAT_TYPE_INFO, "Hedef oyuncu: %s suan offline", arg1);
            return;
        }
    }


    ch->ChatPacket(CHAT_TYPE_COMMAND, "bilgiver %s %d %d %d", arg1, iTargetEmpire, iTargetLevel, iTargetChannel);
}

Arat
Cmd.cpp

ACMD(do_refine_rod);

altına

[CODE]ACMD(do_bilgial);


---


{ "joy", do_emotion, 0, POS_FIGHTING, GM_PLAYER },

altınada
Kod:
{ "bilgial",  do_bilgial, 0, POS_DEAD, GM_PLAYER },



Client/userinterface/pythonnetworkstreamcommand.cpp
arat

else if (!strcmpi(szCmd, "mobile_auth"))
{
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnMobileAuthority", Py_BuildValue("()"));
}

Kod:
Ekle:
    else if (!strcmpi(szCmd, "bilgiver"))
    {
        if (5 != TokenVector.size())
        {
            TraceError("CPythonNetworkStream::ServerCommand(c_szCommand=%s) - Strange Parameter Count : %d", c_szCommand, TokenVector.size());
            return;
        }


        const std::string & c_rstrName = TokenVector[1].c_str();
        int iEmpire = atoi(TokenVector[2].c_str());
        int iLevel = atoi(TokenVector[3].c_str());
        int iChannel = atoi(TokenVector[4].c_str());


        PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_BilgiIsle", Py_BuildValue("(siii)", c_rstrName.c_str(), iEmpire, iLevel, iChannel));
    }



/root
game.py
Arat:

def BINARY_UpdateLovePoint(self, lovePoint):
if self.interface.wndMessenger:
self.interface.wndMessenger.OnUpdateLovePoint(lovePoint)
if self.affectShower:
self.affectShower.OnUpdateLovePoint(lovePoint)

Kod:
Ekle:


    def BINARY_BilgiIsle(self, targetName, targetEmpire, targetLevel, targetChannel):
        self.interface.BilgileriEkle(targetName, targetEmpire, targetLevel, targetChannel)

interfaceModule.py

Arat:
def MinimizeWhisperDialog(self, name):


if 0 != name:
self.__MakeWhisperButton(name)


self.CloseWhisperDialog(name)

Kod:
Altına ekle:
    def BilgileriEkle(self, name, empire, level, channel):
        try:
            dlgWhisper = self.whisperDialogDict[name]
            dlgWhisper.SetToolTipForBilgi(name, empire, level, channel)
        except:
            import dbg, sys
            (type, msg, tb)=sys.exc_info()
            dbg.TraceError("interface.BilgileriEkle - Failed to find key | %s:%s" % (type, msg))
whisperdialog.py
Arat:
{
"name" : "titlename",
"type" : "text",


"x" : 3,
"y" : 3,


"text" : uiScriptLocale.WHISPER_NAME,
},
Kod:
Üstüne ekle:
                        {
                            "name" : "hiddenbutton",
                            "type" : "button",


                            "x" : 0,
                            "y" : 0,


                            "text" : "",


                            "default_image" : "d:/ymir work/ui/public/hidden.tga",
                            "over_image" : "d:/ymir work/ui/public/hidden.tga",
                            "down_image" : "d:/ymir work/ui/public/hidden.tga",
                        },





uiwhisper.py
Kod:
importların altına ekle:import uiToolTip


empireList = ["NULL", "Shinsoo", "Chunjo", "Jinno"]

Arat:
self.titleName = GetObject("titlename")

Kod:
Altına ekle:
            self.titleHiddenButton = GetObject("hiddenbutton")

Arat:
def OpenWithTarget(self, targetName):
chat.CreateWhisper(targetName)
chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 90)
self.chatLine.SetFocus()
self.titleName.SetText(targetName)
self.targetName = targetName
self.textRenderer.SetTargetName(targetName)
self.titleNameEdit.Hide()
self.ignoreButton.Show()
self.reportButton.Show()
self.acceptButton.Hide()
self.gamemasterMark.Hide()
self.minimizeButton.Show()

Kod:
Altına ekle:
        self.SetToolTipForBilgi(targetName, 0, 0, 0)
        net.SendChatPacket("/bilgial %s" % targetName)

Arat:
def OpenWithoutTarget(self, event):
self.eventAcceptTarget = event
self.titleName.SetText("")
self.titleNameEdit.SetText("")
self.titleNameEdit.SetFocus()
self.targetName = 0
self.titleNameEdit.Show()
self.ignoreButton.Hide()
self.reportViolentWhisperButton.Hide()
self.acceptButton.Show()
self.minimizeButton.Hide()

Kod:
Altına ekle:
        self.titleHiddenButton.Hide()

Arat:
def AcceptTarget(self):
name = self.titleNameEdit.GetText()
if len(name) <= 0:
self.Close()
return


if None != self.eventAcceptTarget:
self.titleNameEdit.KillFocus()
self.eventAcceptTarget(name)

Kod:
Değiştir:


    def AcceptTarget(self):
        name = self.titleNameEdit.GetText()
        if len(name) <= 0:
            self.Close()
            return


        if None != self.eventAcceptTarget:
            self.titleNameEdit.KillFocus()
            self.eventAcceptTarget(name)


        if not self.titleHiddenButton.IsShow():
            self.titleHiddenButton.Show()


        self.SetToolTipForBilgi(name, 0, 0, 0)
        net.SendChatPacket("/bilgial %s" % name)

Arat:
def Close(self):

Kod:
Üstüne ekle:
    def __CreateGameTypeToolTip(self, name, empire, level, channel):
        tooltipItem = uiToolTip.ToolTip()
        tooltipItem.ClearToolTip()


        if not empire and not level and not channel:
            tooltipItem.AppendTextLine("Oyuncu %s'in bilgileri henuz hazir degil." % name)
        else:
            tooltipItem.AppendTextLine("Krallik: %s Kralligi" % empireList[empire])
            tooltipItem.AppendTextLine("Seviye: %d" % level)
            tooltipItem.AppendTextLine("Kanal: %d" % channel)


        return tooltipItem


    def SetToolTipForBilgi(self, name, empire, level, channel):
        self.titleHiddenButton.SetToolTipWindow(self.__CreateGameTypeToolTip(name, empire, level, channel))







anlatımda blok ve hata gibi bir problem varsa rardan indirip ekleyebilirsiniz




[/FONT]
 
Moderatör tarafında düzenlendi:
Teşekkürler :)
 
teşekkürler güzel bir sistem
 
tebrikler,fakat sadece py ile basitçe yapılır bu kadar işleve gerek yok aslında.ama profesyonellik diyosan o ayrı
 
Son düzenleme:
Teşekkürler Güzel Sistem. :)
 

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

Geri
Üst