- 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 20 Gün
- Başarım Puanı
- 146
- MmoLira
- 25
- 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!
ha buraya kopyaladın ha oraya bi fark yok (buraya kopyalayınca tab ayarları bozuluyor.). hem konu görünümü açısından hem kolaylık açısından diyorum.
bende sorun çıkartmadı ama bazı forumlarda sıkıntı var turkmmoda öyle bi sıkıntı olmuyor gördügüm kadarıyla sorunsuz ekliyorum genelde
- Katılım
- 13 Ara 2014
- Konular
- 8
- Mesajlar
- 282
- Online süresi
- 1d 5h
- Reaksiyon Skoru
- 151
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 6 Ay 3 Gün
- Başarım Puanı
- 90
- MmoLira
- 193
- DevLira
- 18
kimse sıkıntı çekmemiş sen kavga mı istiyon seç meydan akçaabat ortahisar gelelim yaniha buraya kopyaladın ha oraya bi fark yok (buraya kopyalayınca tab ayarları bozuluyor.). hem konu görünümü açısından hem kolaylık açısından diyorum.

- Katılım
- 2 Ocak 2015
- Konular
- 145
- Mesajlar
- 1,404
- Reaksiyon Skoru
- 167
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 5 Ay 13 Gün
- Başarım Puanı
- 107
- MmoLira
- 17
- DevLira
- 0
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 *
user diger userin itemini göremiyor aynısnı yaptım ama gmlerde sıkıntı yok nsl ayarlıycaz
- 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
diğer konuda belirttim buraya da ekliyeceğim gibi görünüyor cmd_generalde şöyle biryer var if (ch->GetGMLevel() <= GM_PLAYER) return; burayı siluser diger userin itemini göremiyor aynısnı yaptım ama gmlerde sıkıntı yok nsl ayarlıycaz
- Katılım
- 2 Ocak 2015
- Konular
- 145
- Mesajlar
- 1,404
- Reaksiyon Skoru
- 167
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 5 Ay 13 Gün
- Başarım Puanı
- 107
- MmoLira
- 17
- DevLira
- 0
diğer konuda belirttim buraya da ekliyeceğim gibi görünüyor cmd_generalde şöyle biryer var if (ch->GetGMLevel() <= GM_PLAYER) return; burayı sil
çözülmedi
- 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



