- Katılım
- 6 Ağu 2013
- Konular
- 45
- Mesajlar
- 902
- Reaksiyon Skoru
- 70
- Altın Konu
- 0
- Başarım Puanı
- 62
- TM Yaşı
- 12 Yıl 8 Ay 20 Gün
- MmoLira
- 0
- 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:[/CODE]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));
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); } Client/userinterface/pythonnetworkstreamcommand.cpp arat else if (!strcmpi(szCmd, "mobile_auth")) { PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnMobileAuthority", Py_BuildValue("()")); } [CODE]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)
whisperdialog.pyKod: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))
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=source_sans_proregular]https://mega.nz/#!e49xFCRI[/FONT][FONT=source_sans_proregular]!bRlQd8z1vHDUzGLz2rv_KbYzwn9DwGaxrzf71tZba8A
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
[/FONT]Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Yararlı paylaşım. Teşekkürler.
Fakat sanki /bilgial işlevi var ama cmd.cpp eklenmesi gerekiyor gibi geldi. Oyuna eklenince PM attıktan sonra "Bu düzenleme mevcut değil" atmasın hocam? Ya da yanlış mı biliyorum?
- Katılım
- 21 Eyl 2015
- Konular
- 179
- Mesajlar
- 1,102
- Online süresi
- 1ay 24g
- Reaksiyon Skoru
- 123
- Altın Konu
- 0
- Başarım Puanı
- 156
- TM Yaşı
- 10 Yıl 7 Ay 3 Gün
- MmoLira
- 704
- DevLira
- 0
Paylaşım için teşekkürler Berke, test ederim bir kaç güne.
- Katılım
- 24 Eki 2013
- Konular
- 294
- Mesajlar
- 5,939
- Online süresi
- 3ay 9g
- Reaksiyon Skoru
- 1,554
- Altın Konu
- 2
- Başarım Puanı
- 302
- TM Yaşı
- 12 Yıl 6 Ay 1 Gün
- MmoLira
- 3,027
- DevLira
- 21
Good 
- Katılım
- 17 Eyl 2014
- Konular
- 266
- Mesajlar
- 4,662
- Online süresi
- 1g 81789s
- Reaksiyon Skoru
- 1,758
- Altın Konu
- 0
- Başarım Puanı
- 307
- TM Yaşı
- 11 Yıl 7 Ay 7 Gün
- MmoLira
- 2,253
- DevLira
- -122
Tşk başka şeylerde eklenebilir
- 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
Yararlı paylaşım. Teşekkürler.
Fakat sanki /bilgial işlevi var ama cmd.cpp eklenmesi gerekiyor gibi geldi. Oyuna eklenince PM attıktan sonra "Bu düzenleme mevcut değil" atmasın hocam? Ya da yanlış mı biliyorum?
Güncelledim sağolasın
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 0
- Görüntüleme
- 151
- Cevaplar
- 2
- Görüntüleme
- 123
- Cevaplar
- 8
- Görüntüleme
- 284
- Cevaplar
- 14
- Görüntüleme
- 1K
- Cevaplar
- 18
- Görüntüleme
- 1K




