- Katılım
- 11 Ağu 2014
- Konular
- 95
- Mesajlar
- 1,904
- Reaksiyon Skoru
- 719
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 10 Ay 2 Gün
- Başarım Puanı
- 157
- MmoLira
- 67
- DevLira
- 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!
Game/packet.h Açılır-Aratılır:
Kod bloğu değişilir;
Kod bloğu değiştirilir;
Gamesrc bitti
Clientsrc/Userınterface/packet.h aratılır:
Kod:
typedef struct pakcet_view_equip
Kod:
typedef struct pakcet_view_equip
{
BYTE header;
DWORD vid;
struct
{
DWORD vnum;
BYTE count;
long alSockets[ITEM_SOCKET_MAX_NUM];
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
} equips[19];
} TPacketViewEquip;
Char.cpp aratılır:
Kod:
void CHARACTER::SendEquipment(LPCHARACTER ch)
Kod:
void CHARACTER::SendEquipment(LPCHARACTER ch){
TPacketViewEquip p;
p.header = HEADER_GC_VIEW_EQUIP;
p.vid = GetVID();
int pos[19] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23, 24, 25, 26 };
for (int i = 0; i < 19; i++)
{
LPITEM item = GetWear(pos[i]);
if (item)
{
p.equips[i].vnum = item->GetVnum();
p.equips[i].count = item->GetCount();
thecore_memcpy(p.equips[i].alSockets, item->GetSockets(), sizeof(p.equips[i].alSockets));
thecore_memcpy(p.equips[i].aAttr, item->GetAttributes(), sizeof(p.equips[i].aAttr));
}
else
{
p.equips[i].vnum = 0;
}
}
ch->GetDesc()->Packet(&p, sizeof(p));
}
Gamesrc bitti
Clientsrc/Userınterface/packet.h aratılır:
Kod:
typedef struct pakcet_view_equip
Kod bloğu değiştirilir;
Kod:
typedef struct pakcet_view_equip
{
BYTE header;
DWORD dwVID;
TEquipmentItemSet equips[19];
} TPacketGCViewEquip;
UserInterfacePythonNetworkStreamPhaseGame.cpp aratın:
Değiştirin;
Kod:
bool CPythonNetworkStream::RecvViewEquipPacket()
Kod:
bool CPythonNetworkStream::RecvViewEquipPacket()
{
TPacketGCViewEquip kViewEquipPacket;
if (!Recv(sizeof(kViewEquipPacket), &kViewEquipPacket))
return false;
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OpenEquipmentDialog", Py_BuildValue("(i)", kViewEquipPacket.dwVID));
for (int i = 0; i < 19; ++i)
{
TEquipmentItemSet & rItemSet = kViewEquipPacket.equips[i];
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogItem", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, rItemSet.vnum, rItemSet.count));
for (int j = 0; j < ITEM_SOCKET_SLOT_MAX_NUM; ++j)
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogSocket", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, j, rItemSet.alSockets[j]));
for (int k = 0; k < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++k)
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogAttr", Py_BuildValue("(iiiii)", kViewEquipPacket.dwVID, i, k, rItemSet.aAttr[k].bType, rItemSet.aAttr[k].sValue));
}
return true;
}
Clientsrcde bitti
root/uitarget.py aratın:
Altına ekle:
uitargetin ilk başındaki:
Aralarına ekleyin;
Aratın:
root/uitarget.py aratın:
Kod:
self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
Kod:
self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
Kod:
BUTTON_NAME_LIST = (
Kod:
localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Kod:
def __OnExitObserver(self):
net.SendChatPacket("/observer_exit")
Altına ekleyin;
Kod:
def __OnViewEquipment(self):
net.SendChatPacket("/view_equip " + str(self.vid))
Aratın:
Kod:
def ShowDefaultButton(self):
Kod:
def ShowDefaultButton(self):
self.isShowButton = TRUE
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_WHISPER])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_EXCHANGE])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_FIGHT])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_EMOTION_ALLOW])
for button in self.showingButtonList:
button.Show()
Bir bug var onuda fixliyelim sürekli açabiliyorsunuz;
root/interfacemodule.py aratın:
Değiştirin;
root/interfacemodule.py aratın:
Kod:
def OpenEquipmentDialog(self, vid):
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Kod:
def OpenEquipmentDialog(self, vid):
if self.equipmentDialogDict.has_key(vid):
self.equipmentDialogDict[vid].Destroy()
self.CloseEquipmentDialog(vid)
dlg = uiEquipmentDialog.EquipmentDialog()
dlg.SetItemToolTip(self.tooltipItem)
dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
dlg.Open(vid)
self.equipmentDialogDict[vid] = dlg
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Sanırım bir eksik var bazı sourcelerde sadece gm ler görebilir.
game/cmd_general.cpp aç
ACMD(do_view_equip) arat
if (ch->GetGMLevel() <= GM_PLAYER)
return;
/*
if (ch->GetGMLevel() <= GM_PLAYER)
return;
*/
olarak değiştir. sorun düzelecektir.
Öğeyi görmek için üye olmalısınız.
Olmassa Birde Bunu Denermisin
if (tch->IsGM(BLOCK_VIEW_EQUIPMENT))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Gm Nin Profiline Bakamazsin.");
return;
}
- Katılım
- 28 Ağu 2014
- Konular
- 158
- Mesajlar
- 2,071
- Online süresi
- 1h 4m
- Reaksiyon Skoru
- 351
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 9 Ay 15 Gün
- Başarım Puanı
- 146
- MmoLira
- 25
- DevLira
- 0
Bak bu oldu teşekkürler 

- Katılım
- 1 Haz 2014
- Konular
- 45
- Mesajlar
- 1,013
- Reaksiyon Skoru
- 233
- Altın Konu
- 0
- TM Yaşı
- 12 Yıl 8 Gün
- Başarım Puanı
- 82
- MmoLira
- -4
- DevLira
- 0
34k veya 2089 fileslerde sadece gameye diff atılarak ve roota ekleyerek çalışıyordu bunda ek olarak client sourceye eklemekte lazımmış gameye atılan diff clientde de mi geçerli acaba kafamda deli sorular
Deniyorum 10 15dkya kanıt atarım
Deniyorum 10 15dkya kanıt atarım- Katılım
- 11 Ağu 2014
- Konular
- 95
- Mesajlar
- 1,904
- Reaksiyon Skoru
- 719
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 10 Ay 2 Gün
- Başarım Puanı
- 157
- MmoLira
- 67
- DevLira
- 0
bugün çok möthişizBak bu oldu teşekkürler![]()
- Katılım
- 11 Ağu 2014
- Konular
- 95
- Mesajlar
- 1,904
- Reaksiyon Skoru
- 719
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 10 Ay 2 Gün
- Başarım Puanı
- 157
- MmoLira
- 67
- DevLira
- 0
hayır aslında cliente fln eklemye gerek yok farkettiysen değiştirin diyorum çünkü normalde envanter görüntüleme var ama onda sadece zırh silah vb gösterir bunda kostüm ringler ve kemeride gösterir34k veya 2089 fileslerde sadece gameye diff atılarak ve roota ekleyerek çalışıyordu bunda ek olarak client sourceye eklemekte lazımmış gameye atılan diff clientde de mi geçerli acaba kafamda deli sorularDeniyorum 10 15dkya kanıt atarım
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 1
- Görüntüleme
- 210
- Cevaplar
- 37
- Görüntüleme
- 2K
- Cevaplar
- 33
- Görüntüleme
- 7K
- Cevaplar
- 65
- Görüntüleme
- 12K



