Psych0SoociaL 1
Psych0SoociaL
onur akbaş 1
onur akbaş
noisiv 1
noisiv
xranzei 1
xranzei
Bvural41 1
Bvural41
D 1
delimuratt
ShadowFon 1
ShadowFon
shrpnl 1
shrpnl
DEVLOPER 1
DEVLOPER
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Karan2offical 1
Karan2offical
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!

Game/packet.h Açılır-Aratılır:
Kod:
typedef struct pakcet_view_equip
Kod bloğu değişilir;

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 bloğu değiştirilir;
Kod:
void CHARACTER::SendEquipment(LPCHARACTER ch){[/B][/LEFT][/B][/LEFT][/B][/LEFT][/B][/LEFT]
[B]
[LEFT][B]
[LEFT][B]
[LEFT][B]
[LEFT]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:
Kod:
bool CPythonNetworkStream::RecvViewEquipPacket()
Değiştirin;
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:
Kod:
self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
Altına ekle:

Kod:
self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
uitargetin ilk başındaki:
Kod:
BUTTON_NAME_LIST = (
Aralarına ekleyin;
Kod:
localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Aratın:
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:
Kod:
def OpenEquipmentDialog(self, vid):
Değiştirin;
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 olarak verdiğim dosyaları gerekli yerlere atın
Kanıt:
x0ME54e.jpg

2151372f52.jpg



Indexe ekleyin
Kod:
*ekipman*
DPWPB6.jpg

SORUNSUZ :)
 
Son düzenleme:
DPWPB6.jpg

SORUNSUZ Bİ KAC YER KAYMA YAPABİLİYOR ONLARI AYARLAMALARI YETERLİ :)
Kardeşim rica edsem ben ekliyemedim skype gelsen konuşsak olurmu lütfen tek bu sistem kaldı

skype: emre.demirel.14
 
İyide

Hocam iyide bundan uzaktan ticaret felan yazıyo sorun çıkarmasın ?
Hocam onaylı oldu verdiğin kodlarla bu sefer ch1 ve game99 syserr veriyor

(locale_find: LOCALE_ERROR: "%s kisisine isteginiz iletildi.";)
(locale_find: LOCALE_ERROR: "%s isimli oyuncu uzaktan ticareti reddetti!";)

Bu syserrleri veriyor lütfen yardımlarını bekliyorum
 
Hocam onaylı oldu verdiğin kodlarla bu sefer ch1 ve game99 syserr veriyor

(locale_find: LOCALE_ERROR: "%s kisisine isteginiz iletildi.";)
(locale_find: LOCALE_ERROR: "%s isimli oyuncu uzaktan ticareti reddetti!";)

Bu syserrleri veriyor lütfen yardımlarını bekliyorum
Lc textleri locale stringe ekle
 
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