- 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 7 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!
hele şükür şöyle fotoğraf attın files paylaşılacaksa alırım 10000 dalAçıp kapatma da sorunsuz çalışıyor
![]()

- Katılım
- 5 Ocak 2015
- Konular
- 55
- Mesajlar
- 609
- Reaksiyon Skoru
- 137
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 5 Ay 10 Gün
- Başarım Puanı
- 108
- MmoLira
- 4
- DevLira
- 0
sağolasınGamesrc/packet.h açılır aratılır:
Kod bloğu değişilir;PHP:typedef struct pakcet_view_equip
Char.cpp aratılır:PHP: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[16]; } TPacketViewEquip;
Kod bloğu değiştirilir;PHP:void CHARACTER::SendEquipment(LPCHARACTER ch)
Gamesrc bittiKod:void CHARACTER::SendEquipment(LPCHARACTER ch){ TPacketViewEquip p; p.header = HEADER_GC_VIEW_EQUIP; p.vid = GetVID(); int pos[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23 }; for (int i = 0; i < 16; 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)); }
Clientsrc/Userınterface/packet.h aratılır:
Kod bloğu değiştirilir;PHP:typedef struct pakcet_view_equip
UserInterfacePythonNetworkStreamPhaseGame.cpp aratın:PHP:typedef struct pakcet_view_equip{ BYTE header; DWORD dwVID; TEquipmentItemSet equips[16]; } TPacketGCViewEquip;
Değiştirin;PHP:bool CPythonNetworkStream::RecvViewEquipPacket()
PHP: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 < 16; ++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:PHP:self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
uitargetin ilk başındaki:PHP:self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
Aralarına ekleyin;PHP:BUTTON_NAME_LIST = (
Aratın:PHP:localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Altına ekleyin;PHP:def __OnExitObserver(self): net.SendChatPacket("/observer_exit")
Aratın:PHP:def __OnViewEquipment(self): net.SendChatPacket("/view_equip " + str(self.vid))
Kod bloğunu değiştirin;PHP:def ShowDefaultButton(self):
Bir bug var onuda fixliyelim sürekli açabiliyorsunuz bu onu fixliyorPHP: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()
root/interfacemodule.py aratın
Kod:[COLOR=#000088][FONT=monospace]def[/FONT][/COLOR][COLOR=#660066][FONT=monospace]OpenEquipmentDialog[/FONT][/COLOR][COLOR=#666600][FONT=monospace]([/FONT][/COLOR][COLOR=#000088][FONT=monospace]self[/FONT][/COLOR][COLOR=#666600][FONT=monospace],[/FONT][/COLOR][COLOR=#000000][FONT=monospace] vid[/FONT][/COLOR][COLOR=#666600][FONT=monospace]):[/FONT][/COLOR]
Değiştirin;Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Son olarak verdiğim dosyaları gerekli yerlere atınKod: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
Kanıt:![]()
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Indexe ekleyin
Kod:*ekipman *
- Katılım
- 1 Haz 2014
- Konular
- 45
- Mesajlar
- 1,013
- Reaksiyon Skoru
- 233
- Altın Konu
- 0
- TM Yaşı
- 12 Yıl 13 Gün
- Başarım Puanı
- 82
- MmoLira
- -4
- DevLira
- 0
hele şükür şöyle fotoğraf attın files paylaşılacaksa alırım 10000 dal![]()
Files paylaşılırsa 10000 dalım kırılır

- Katılım
- 8 Nis 2013
- Konular
- 403
- Mesajlar
- 1,891
- Çözüm
- 3
- Online süresi
- 10d 5h
- Reaksiyon Skoru
- 63
- Altın Konu
- 0
- TM Yaşı
- 13 Yıl 2 Ay 7 Gün
- Başarım Puanı
- 192
- MmoLira
- 1,183
- DevLira
- 3
onaylımı gösteriyor acaba bu ?Gamesrc/packet.h açılır aratılır:
Kod bloğu değişilir;PHP:typedef struct pakcet_view_equip
Char.cpp aratılır:PHP: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[16]; } TPacketViewEquip;
Kod bloğu değiştirilir;PHP:void CHARACTER::SendEquipment(LPCHARACTER ch)
Gamesrc bittiKod:void CHARACTER::SendEquipment(LPCHARACTER ch){ TPacketViewEquip p; p.header = HEADER_GC_VIEW_EQUIP; p.vid = GetVID(); int pos[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23 }; for (int i = 0; i < 16; 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)); }
Clientsrc/Userınterface/packet.h aratılır:
Kod bloğu değiştirilir;PHP:typedef struct pakcet_view_equip
UserInterfacePythonNetworkStreamPhaseGame.cpp aratın:PHP:typedef struct pakcet_view_equip{ BYTE header; DWORD dwVID; TEquipmentItemSet equips[16]; } TPacketGCViewEquip;
Değiştirin;PHP:bool CPythonNetworkStream::RecvViewEquipPacket()
PHP: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 < 16; ++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:PHP:self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
uitargetin ilk başındaki:PHP:self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
Aralarına ekleyin;PHP:BUTTON_NAME_LIST = (
Aratın:PHP:localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Altına ekleyin;PHP:def __OnExitObserver(self): net.SendChatPacket("/observer_exit")
Aratın:PHP:def __OnViewEquipment(self): net.SendChatPacket("/view_equip " + str(self.vid))
Kod bloğunu değiştirin;PHP:def ShowDefaultButton(self):
Bir bug var onuda fixliyelim sürekli açabiliyorsunuz bu onu fixliyorPHP: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()
root/interfacemodule.py aratın
Kod:[COLOR=#000088][FONT=monospace]def[/FONT][/COLOR][COLOR=#660066][FONT=monospace]OpenEquipmentDialog[/FONT][/COLOR][COLOR=#666600][FONT=monospace]([/FONT][/COLOR][COLOR=#000088][FONT=monospace]self[/FONT][/COLOR][COLOR=#666600][FONT=monospace],[/FONT][/COLOR][COLOR=#000000][FONT=monospace] vid[/FONT][/COLOR][COLOR=#666600][FONT=monospace]):[/FONT][/COLOR]
Değiştirin;Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Son olarak verdiğim dosyaları gerekli yerlere atınKod: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
Kanıt:![]()
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Indexe ekleyin
Kod:*ekipman *
- Katılım
- 4 May 2015
- Konular
- 51
- Mesajlar
- 785
- Online süresi
- 2mo 22d
- Reaksiyon Skoru
- 217
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 1 Ay 11 Gün
- Başarım Puanı
- 149
- MmoLira
- 9,595
- DevLira
- 0
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.
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.
Son düzenleme:
- 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
- 211
- Cevaplar
- 37
- Görüntüleme
- 2K
- Cevaplar
- 33
- Görüntüleme
- 7K
- Cevaplar
- 65
- Görüntüleme
- 12K



