Karan2offical 1
Karan2offical
Fethi Polat 1
Fethi Polat
ShadowFon 1
ShadowFon
bikral 1
bikral
-TuRKuaZ- 1
-TuRKuaZ-
SLyFeLLowTR 1
SLyFeLLowTR
TGamesZeus 1
TGamesZeus
Best Studio 1
Best Studio
berkmenoo 1
berkmenoo
InfernoShade 1
InfernoShade
Hikaye Ekle

40K Envanter Görüntüleme Sistemi(Kostüm,Kemer Dahil)[C++,PYTHON]

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Gamesrc/packet.h açılır aratılır:
PHP:
typedef struct pakcet_view_equip
Kod bloğu değişilir;
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;

Char.cpp aratılır:
PHP:
void CHARACTER::SendEquipment(LPCHARACTER ch)

Kod bloğu değiştirilir;
Kod:
void CHARACTER::SendEquipment(LPCHARACTER ch){
Kod:
[FONT=Verdana]TPacketViewEquip p;[/FONT]
[FONT=Verdana]p.header = HEADER_GC_VIEW_EQUIP;[/FONT]
[FONT=Verdana]p.vid = GetVID();[/FONT]
[FONT=Verdana]int pos[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23 };[/FONT]
[FONT=Verdana]for (int i = 0; i < 16; i++)[/FONT]
[FONT=Verdana]{[/FONT]
[FONT=Verdana]LPITEM item = GetWear(pos[i]);[/FONT]
[FONT=Verdana]if (item)[/FONT]
[FONT=Verdana]{[/FONT]
[FONT=Verdana]p.equips[i].vnum = item->GetVnum();[/FONT]
[FONT=Verdana]p.equips[i].count = item->GetCount();[/FONT]


[FONT=Verdana]thecore_memcpy(p.equips[i].alSockets, item->GetSockets(), sizeof(p.equips[i].alSockets));[/FONT]
[FONT=Verdana]thecore_memcpy(p.equips[i].aAttr, item->GetAttributes(), sizeof(p.equips[i].aAttr));[/FONT]
[FONT=Verdana]}[/FONT]
[FONT=Verdana]else[/FONT]
[FONT=Verdana]{[/FONT]
[FONT=Verdana]p.equips[i].vnum = 0;[/FONT]
[FONT=Verdana]}[/FONT]
[FONT=Verdana]}[/FONT]
[FONT=Verdana]ch->GetDesc()->Packet(&p, sizeof(p));[/FONT]

[FONT=Verdana]}[/FONT]
Gamesrc bitti
Clientsrc/Userınterface/packet.h aratılır:

PHP:
typedef struct pakcet_view_equip
Kod bloğu değiştirilir;
PHP:
typedef struct pakcet_view_equip{
BYTE header;
DWORD dwVID;
TEquipmentItemSet equips[16];

} TPacketGCViewEquip;
UserInterfacePythonNetworkStreamPhaseGame.cpp aratın:
PHP:
bool CPythonNetworkStream::RecvViewEquipPacket()
Değiştirin;
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:
PHP:
self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
Altına ekle:
PHP:
self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
uitargetin ilk başındaki:
PHP:
BUTTON_NAME_LIST = (
Aralarına ekleyin;
PHP:
localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Aratın:
PHP:
def __OnExitObserver(self):
net.SendChatPacket("/observer_exit")
Altına ekleyin;
PHP:
def __OnViewEquipment(self):
net.SendChatPacket("/view_equip " + str(self.vid))
Aratın:
PHP:
def ShowDefaultButton(self):
Kod bloğunu değiştirin;
PHP:
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 bu onu fixliyorroot/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;
Kod:
def OpenEquipmentDialog(self, vid): if self.equipmentDialogDict.has_key(vid):
Kod:
[COLOR=#BB0000][FONT=Verdana]self.equipmentDialogDict[vid].Destroy()[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]self.CloseEquipmentDialog(vid)[/FONT][/COLOR]


[COLOR=#BB0000][FONT=Verdana]dlg = uiEquipmentDialog.EquipmentDialog()[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]dlg.SetItemToolTip(self.tooltipItem)[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipm entDialog))[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]dlg.Open(vid)[/FONT][/COLOR]



[COLOR=#BB0000][FONT=Verdana]self.equipmentDialogDict[vid] = dlg[/FONT][/COLOR]
Son olarak verdiğim dosyaları gerekli yerlere atın
Kanıt:
x0ME54e.jpg





Indexe ekleyin
Kod:
[COLOR=#BB0000][FONT=Verdana]*ekipman[/FONT][/COLOR][COLOR=#BB0000][FONT=Verdana]*[/FONT][/COLOR]


SORUNSUZ Bİ ŞEKİLDE EKLEDİM KARDEŞİM AMA OYUNCU ÇARLA ZIRHA BASIYOM ÇIKMIYOR GM ÇARLA AÇIYOR SADECE ? NASIL DÜZELTECEZ İYİ GÜNLER HAYIRLI FORUMLAR KONU GÜNCEL VE ÇALIŞIYOR ..
eSNR.jpg
 
SORUNSUZ Bİ ŞEKİLDE EKLEDİM KARDEŞİM AMA OYUNCU ÇARLA ZIRHA BASIYOM ÇIKMIYOR GM ÇARLA AÇIYOR SADECE ? NASIL DÜZELTECEZ İYİ GÜNLER HAYIRLI FORUMLAR KONU GÜNCEL VE ÇALIŞIYOR ..
eSNR.jpg
cmd_general.cpp
ACMD(do_view_equip)
arat
içinde
if (ch->GetGMLevel() <= GM_PLAYER)
return;

bu kodu sil
 
kostüm silah sistemin uyumsuzluk var ait olduğu yere almak için güncel kod paylaşabilirmisin

qjQMOZ.jpg
cmd_general.cpp
ACMD(do_view_equip)
arat
içinde
if (ch->GetGMLevel() <= GM_PLAYER)
return;

bu kodu sil
 
Font hataları var. Düzeltir misin?
 
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)

Geri
Üst