Envanter Görüntüleme Aç/Kapat Oyun Seçeneklerine [C++, PYTHON ve LUA] | MMO Tutkunları
  1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.
  2. Merhaba Ziyaretçi,
    Henüz sitemize üye girişi yapmadınız. Sitemizden tam anlamıyla yararlanabilmeniz için sitemize üye olmanız gerekmektedir. Eğer sitemize daha önceden üye olduysanız, buradan giriş yapabilirsiniz. Sitemize üye değilseniz buraya tıklayarak üye olabilirsiniz.

    Duyuruyu Kapat
  3. Merhaba Ziyaretçi, Usta üye alımında bazı maddeler değişti. Sizde güncel halini okumak istiyorsanız buraya tıklayabilirsiniz.
    Duyuruyu Kapat
Duyuruyu Kapat
Merhaba Ziyaretçi,
Sitemize gelen kullanıcıların güvenliğini göz önünde bulundurarak Yönetim ekibi ile aldığımız ortak karar sonucu zararlı link kısaltma servislerini yasakladık. Detaylar: tıklayın.
Duyuruyu Kapat
Merhaba Ziyaretçi,
Yönetim tüzüğümüz yayınlanmıştır. Sizde okumak için tıklayınız.
Konuya gidip görüş bildirmek için tıklayınız.

Envanter Görüntüleme Aç/Kapat Oyun Seçeneklerine [C++, PYTHON ve LUA]

'C++ / C# / Python' forumunda Whistle tarafından 16 Eylül 2015 tarihinde açılan konu

  1. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    Server/game/src/char.cpp açılır ve aratılır;
    Kod (C++):
    1. void CHARACTER::SetBlockMode(BYTE bFlag)
    Kod blogunu { ..code.. }; şu kodlarla değiştir:
    Kod (C++):
    1. void CHARACTER::SetBlockMode(BYTE bFlag)
    2. {
    3.     m_pointsInstant.bBlockMode = bFlag;
    4.  
    5.     ChatPacket(CHAT_TYPE_COMMAND, "setblockmode %d", m_pointsInstant.bBlockMode);
    6.  
    7.     SetQuestFlag("game_option.block_exchange", bFlag & BLOCK_EXCHANGE ? 1 : 0);
    8.     SetQuestFlag("game_option.block_party_invite", bFlag & BLOCK_PARTY_INVITE ? 1 : 0);
    9.     SetQuestFlag("game_option.block_guild_invite", bFlag & BLOCK_GUILD_INVITE ? 1 : 0);
    10.     SetQuestFlag("game_option.block_whisper", bFlag & BLOCK_WHISPER ? 1 : 0);
    11.     SetQuestFlag("game_option.block_messenger_invite", bFlag & BLOCK_MESSENGER_INVITE ? 1 : 0);
    12.     SetQuestFlag("game_option.block_party_request", bFlag & BLOCK_PARTY_REQUEST ? 1 : 0);
    13.     SetQuestFlag("game_option.block_view_equipment", bFlag & BLOCK_VIEW_EQUIPMENT ? 1 : 0);
    14. }
    Server/game/src/char.h açılır ve aratılır;
    Kod (C):
    1. enum EBlockAction
    Hepsini şu kodlarla değiştir:
    Kod (C):
    1. enum EBlockAction
    2. {
    3.     BLOCK_EXCHANGE        = (1 << 0),
    4.     BLOCK_PARTY_INVITE        = (1 << 1),
    5.     BLOCK_GUILD_INVITE        = (1 << 2),
    6.     BLOCK_WHISPER        = (1 << 3),
    7.     BLOCK_MESSENGER_INVITE    = (1 << 4),
    8.     BLOCK_PARTY_REQUEST        = (1 << 5),
    9.     BLOCK_VIEW_EQUIPMENT    = (1 << 6),
    10.  
    11. };
    Server/game/src/cmd_general.cpp açılır ve aratılır;
    Kod (C++):
    1. ACMD(do_view_equip)
    Altında biryerlerde şu kod olacak;
    Kod (C++):
    1. if (!tch->IsPC())
    2.             return;
    Altına şu kod eklenir:
    Kod (C++):
    1. if (tch->IsBlockMode(BLOCK_VIEW_EQUIPMENT))  
    2. {
    3.         ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ekipman konusmasi"));
    4.        return;
    5. }
    Ayrıca orada;
    Kod (C++):
    1. if (ch->GetGMLevel() <= GM_PLAYER)
    2.        return;
    böyle bir kod varsa silin çünkü sadece gm oyuncuların ekipmanlarına bakması için yapılmış bir engelleme
    Game src bitti.

    Sıra Clientsrc'ye geldi.
    Client/UserInterface/packet.h açılır ve aratılır;
    Kod (C):
    1. enum EBlockAction
    Hepsini şu kodlarla değiştir:
    Kod (C):
    1. enum EBlockAction
    2. {
    3.    BLOCK_EXCHANGE              = (1 << 0),
    4.    BLOCK_PARTY_INVITE          = (1 << 1),
    5.    BLOCK_GUILD_INVITE          = (1 << 2),
    6.    BLOCK_WHISPER               = (1 << 3),
    7.    BLOCK_MESSENGER_INVITE      = (1 << 4),
    8.    BLOCK_PARTY_REQUEST         = (1 << 5),
    9.    BLOCK_VIEW_EQUIPMENT        = (1 << 6),
    10. };
    Client/UserInterface/PythonPlayerModule.cpp açılır ve aratılır;
    Kod (C++):
    1. // Block Mode
    Kodları şu kodlarla değiştir:
    Kod (C++):
    1.  
    2.    PyModule_AddIntConstant(poModule, "BLOCK_EXCHANGE",                BLOCK_EXCHANGE);
    3.    PyModule_AddIntConstant(poModule, "BLOCK_PARTY",                BLOCK_PARTY_INVITE);
    4.    PyModule_AddIntConstant(poModule, "BLOCK_GUILD",                BLOCK_GUILD_INVITE);
    5.    PyModule_AddIntConstant(poModule, "BLOCK_WHISPER",                BLOCK_WHISPER);
    6.    PyModule_AddIntConstant(poModule, "BLOCK_FRIEND",                BLOCK_MESSENGER_INVITE);
    7.    PyModule_AddIntConstant(poModule, "BLOCK_PARTY_REQUEST",        BLOCK_PARTY_REQUEST);
    8.    PyModule_AddIntConstant(poModule, "BLOCK_VIEW_EQUIPMENT",        BLOCK_VIEW_EQUIPMENT);  
    Client src bitti.

    Sıra pythona geldi.
    root/uitarget.py açılır ve aratılır;
    Kod (Python):
    1. self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
    Altına şu kod eklenir:
    Kod (Python):
    1. self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
    root/uitarget.py ilk başındaki;
    Kod (Python):
    1. BUTTON_NAME_LIST = (
    Şu kodu aralarına ekleyin:
    Kod (Python):
    1. localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
    Aratın;
    Kod (Python):
    1. def __OnExitObserver(self):
    2.        net.SendChatPacket("/observer_exit")
    Altına şu kod eklenir:
    Kod (Python):
    1. def __OnViewEquipment(self):
    2.        net.SendChatPacket("/view_equip " + str(self.vid))
    Aratın;
    Kod (Python):
    1. def ShowDefaultButton(self):
    Hepsini şu kodlarla değiştir:
    Kod (Python):
    1. def ShowDefaultButton(self):
    2.  
    3.        self.isShowButton = TRUE
    4.        self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_WHISPER])
    5.        self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_EXCHANGE])
    6.        self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_FIGHT])
    7.        self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT])
    8.        self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_EMOTION_ALLOW])
    9.        for button in self.showingButtonList:
    10.            button.Show()
    root/uioption.py açılır ve aratılır;
    Kod (Python):
    1. self.blockButtonList[4].SetToggleUpEvent(self.__OnClickBlockFriendButton)
    Altına şu kodlar eklenir;
    Kod (Python):
    1. self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
    Kod (Python):
    1. self.blockButtonList[4].SetToggleDownEvent(self.__OnClickBlockFriendButton)
    Kod (Python):
    1. self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
    Kod (Python):
    1. self.blockButtonList.append(GetObject("block_friend_button"))
    Altına şu kod eklenir;
    Kod (Text):
    1. self.blockButtonList.append(GetObject("block_view_equipment_button"))
    root/uigameoption.py açılır ve aratılır;
    Kod (Python):
    1. def __OnClickBlockPartyButton(self):
    2.        self.RefreshBlock()
    3.        global blockMode
    4.        net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_PARTY))
    Altına şu kod eklenir:
    Kod (Python):
    1. def __OnClickBlockViewEquipmentButton(self):
    2.        self.RefreshBlock()
    3.        global blockMode
    4.        net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_VIEW_EQUIPMENT))
    Aratın;
    Kod (Python):
    1. self.blockButtonList[5].SetToggleUpEvent(self.__OnClickBlockPartyRequest)
    Altına şu kod eklenir:
    Kod (Python):
    1. self.blockButtonList[6].SetToggleUpEvent(self.__OnClickBlockViewEquipmentButton)
    Tekrar Aratın;
    Kod (Python):
    1. self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockPartyRequest)
    Altına şu kod eklenir:
    Kod (Python):
    1. self.blockButtonList[6].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
    Aratın;
    Kod (Python):
    1. self.blockButtonList.append(GetObject("block_party_request_button"))
    Altına şu kod eklenir:
    Kod (Python):
    1. self.blockButtonList.append(GetObject("block_view_equipment_button"))
    ve root bölümüde bitti

    sıra uiscript'e geldi
    uiscript/gameoptiondialog.py açılır ve aratılır;
    Kod (Python):
    1. "name" : "block_party_request_button",
    Altına şu kod eklenir:
    Not: Kodların aralarını x y ayarıyla düzenlemeniz gerek. Çünkü iç içe girerler her butonun mesefasi 25'dir;
    Kod (Python):
    1. {                    "name" : "block_view_equipment_button",
    2.                     "type" : "toggle_button",
    3.  
    4.  
    5.                     "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
    6.                     "y" : 165,
    7.  
    8.  
    9.                     "text" : "Profil",
    10.  
    11.  
    12.                     "default_image" : ROOT_PATH + "middle_button_01.sub",
    13.                     "over_image" : ROOT_PATH + "middle_button_02.sub",
    14.                     "down_image" : ROOT_PATH + "middle_button_03.sub",
    15.                 },
    c++ ve python bölümü bitti

    sıra questlere (lua) geldi
    game_option.quest açılır;
    Aralarına biryerine ekleyin:
    Kod (Lua):
    1. if pc.getqf("block_view_equipment") == 1 then
    2.             msg = msg.."Profil "
    3.             val = val + 64
    4.             end
    Locale_stringe ekleyin;
    Kod (Text):
    1. "ekipman konusmasi";
    2. "|cffFFC125Karşınızdaki oyuncu profil görüntülemeyi blokladı.";
    Sistemin çalıştığına dair kanıtlar;
    Envanter Görüntüleme Aç-Kapat Oyun Seçeneklerine[C++, PYTHON ve LUA]-1.jpg

    Envanter Görüntüleme Aç-Kapat Oyun Seçeneklerine[C++, PYTHON ve LUA]-2.jpg
     
    Son düzenleme: 29 Eylül 2017
  2. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    Güncelleme;
    Arkadaşlar bu akşam Casro2 için yeni bir engelleme seçeneği ekliyordum. Bu sistemde olan bir hata gözüme çarptı. Şimdi size bu sorunu çözmeyi anlatacağım.

    Filesinide bulunan game_option.quest dosyasındaki;
    Kod (Lua):
    1. if pc.getqf("block_view_equipment") == 1 then
    2.             msg = msg.."Profil "
    3.             val = val + 6
    4.             end
    kodu şu şekilde değiştirin.
    Kod (Lua):
    1. if pc.getqf("block_view_equipment") == 1 then
    2.             msg = msg.."Profil "
    3.             val = val + 64
    4.             end
     
    Son düzenleme: 29 Eylül 2017
  3. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    çalışıyormu
     
  4. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    hocam bu game_option.quest nedir tam anlayamadım bende böyle bişey yok.
     
  5. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    O quest olmazsa oyun içindeki ayarların kalıcı olmaz. Oyun seçeneklerinde engelle kısmında olan Fısıltı, Grup filan var. Onlar için bu.
     
  6. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    bende böyle bir quest yok oluşturmalımıyım anlayamadım

    /usr/game/share/locale/turkey/quest bu yolda olması gerekiyor değil mi.
     
  7. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    Turkey'de yada questte olması lazım. İki yere de bak
     
  8. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    iyice bakındım ama yok hocam
    sizdekini gönderebilirmisiniz.
     
  9. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    ve ayrıca bunu
    1. if (ch->GetGMLevel() <= GM_PLAYER)
    2. return;
    bunu sildim gm çar profil dediğinde direk oyn kkapanıyor syserde bu
    0925 21:55:12402 :: Unknown packet header: 24, last: 3 99
     
  10. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    O zaman geri ekle. ;) Packetlerle ilgili sorun var.
     
  11. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    hiç bir şey hata vermiyor çalışmıyor yani
     
  12. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    anlamadığım şu yanlız

    Linkleri Görebilmek İçin Üye Olmanız Gerekmektedir. Üye Olmak İçin Tıklayınız...

    burdaki gibi görünüyor zırh olarak normal sizin resmde profil diye kaydediyoruz yada envanter diye anlamadım karışık çözümlenmesi gerekiyor.
     
  13. uqursen

    uqursen Aktif Üye Üye

    77
    18
    411
    19 Mart 2016
    Erkek
    istanbul
    Adınız ve Soyadınız:
    uğur şen
    Ruh Haliniz:
    Cok Yorgun
    Takımınız:
    Trabzonspor
    çalışmıyor herneyse sildim ekleyecekler boşa vakit kaybetmeyin benim gibi iyi geceler.
     
  14. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    Genelde bir şeyi paylaşmadan önce kendim kullanıp test ederim. Ondan sonra paylaşırım.
    Bizzat çalışıyor. Ekleyemiyorsanız forumda propaganda yapma hakkına sahip değilsiniz. Bundan sonra bu konu altından size yardımda bulunmayacağım..
     
    Son düzenleme: 29 Eylül 2017
  15. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    Konu içeriği yeni kod editörüne uygun bir şekilde güncellenmiştir. Artık kodları daha rahat okuyabileceksiniz. ;)
     
  16. huseyınargun219

    huseyınargun219 Normal Üye Üye

    1
    0
    38
    30 Eylül 2017
    Erkek
    kayseri
    Adınız ve Soyadınız:
    huseyin argun
    Ruh Haliniz:
    Saygin
    Takımınız:
    Galatasaray
     
  17. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    Buyrun. :)
     
  18. akin025

    akin025 Aktif Üye Üye

    42
    22
    296
    16 Ocak 2018
    Erkek
    İstanbul
    Adınız ve Soyadınız:
    Akın GENÇ
    Ruh Haliniz:
    Hasta
    Takımınız:
    Fenerbahce
    Reyiz bunlarda tab ayarı yokmu kodlar hep bosluklu bi hata yapmıyalim :D
     
    Whistle bunu beğendi.
  19. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    4.565
    927
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Adınız ve Soyadınız:
    Eray Öksüz
    Ruh Haliniz:
    Ruhsuz
    Eklerken ona dikkat edin. :)
     
    akin025 bunu beğendi.
  20. akin025

    akin025 Aktif Üye Üye

    42
    22
    296
    16 Ocak 2018
    Erkek
    İstanbul
    Adınız ve Soyadınız:
    Akın GENÇ
    Ruh Haliniz:
    Hasta
    Takımınız:
    Fenerbahce
    Daha önce acemi olduğumu söylemişmiydim :D
     
    Whistle bunu beğendi.

Bu Sayfayı Paylaş

XenForo Add-ons by Brivium ™ © 2012-2013 Brivium LLC.