İlan
04 Haz 2026 22 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python Orijinal konu başlığını Türkçe olarak yeniden yaza...
İlan Yan banner placeholder

Orijinal konu başlığını Türkçe olarak yeniden yazarak clickbait etkili bir başlık ortaya koyabilirsiniz: [C++ & Python] - Oyunun Gizemli Dünyaını Oluştur: GM Efsane İtem Üretimi (Edit & Normal Modlar)

serhanrecepce 27.04.2026 20:19 459 görüntüleme 17 cevap
Son Mesaj
serhanrecepce
Üye
Üye
Katılım23 Nis 2026
Konular4
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:13 #9
Gereksiz yorumlar silindi konu altından hakaret içerikli ikili tartışmalara girmeyelim. @Blaxsiss @memodalxxx
teşekkür ederim ❤️
komedyatube
Üye
Üye
Katılım16 Ara 2025
Konular16
Mesajlar88
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:13 #10
+rev tesekkurler kral eline sağlık
Merhaba,

Zamanında yabancı bir forumda komut aracılığıyla src üzerinden item düzenleme konusunu görmüş ve denemiştim. (Maalesef, konu sahibini hatırlamıyorum; bileniniz varsa yorumda belirtebilir.)

Bu yöntem sorunsuz çalışıyor, ancak en büyük dezavantajı komutun zahmetli olmasıydı. Bu nedenle, pratiklik açısından tanıdık bir Python efsun botunu düzenleyerek bu amaç için kullanılabilir hale getirdim. Çok detayına girmedim, fakat mevcut hali ile testleriniz için kullanabilirsiniz. En nihayetinde, üstüne çok düşülmesi gerekmeyen bir sistem. Bu yüzden dosya ve fonksiyon isimlerini değiştirmek gibi detaylara girmedim.

Bu küçük sistem, sadece meraklı geliştiriciler ve files geliştirme süreci amacıyla hazırlanmıştır. İsterseniz daha da geliştirip kullanabilirsiniz; bu tercihe bağlıdır.


Sistemin Özellikleri Kısaca:
  • GM Karakterler İçin: Sistem sadece GM (Game Master) karakterleri tarafından kullanılabilir.
  • Item Efsun İşlemleri: Sürüklenen item için efsun değiştirme veya bozma işlevleri bulunmaz. Sadece sürüklenen itemin vnum değerini alır ve o vnum ile yeni bir item oluşturur. Örneğin, +3 olan bir itemi sürüklerseniz, oluşacak olan yeni item de +3 olacaktır.
  • Bonus Oranları: Bonus oranları maksimum 32767 ile sınırlıdır. Bu sınırı aşmamak koşuluyla dilediğiniz değeri kullanabilirsiniz.
  • Bot İşlevleri ve Efsun İşlemleri: Python dosyasında bot işlevleri ve efsunlarla ilgili diğer işlemler kaldırılmıştır.
  • Sekme Çokluğu: Birden fazla item sürükleyip, her item için farklı efsunlar belirleyerek her birini ayrı ayrı oluşturabilirsiniz.
  • Tekrar Eklenemezlik: Aynı vnum’a sahip itemler tekrar sürüklenip eklenemez. Aynı itemden birden fazla oluşturmak isterseniz, item oluşturma butonuna 2 veya daha fazla defa tıklarsınız.
  • GUI Düzenlemeleri: GUI (Grafik Kullanıcı Arayüzü) ile ilgili bazı küçük buglar giderilmiştir.
Bu sistemin pratik kullanımını ve özelliklerini göz önünde bulundurarak, geliştirme sürecinde faydalı buluyorum. Eğer üzerine daha fazla geliştirme yapıp kullanmak ister, detaylandırmak isterseniz, bu tamamen sizin tercihinize kalmış.

Kısa bir tanıtım videosu:

Anlatım:
cmd.cpp açın ve şunu bulun:
Kod:
ACMD(do_item);

Altına ekleyin:
Kod:
ACMD(do_create_item);


Tekrar şu kodu bulun:
Kod:
{ "item",        do_item,        0,            POS_DEAD,    GM_GOD        },


Altına ekleyin:
Kod:
{"create_item",        do_create_item,        0,            POS_DEAD,    GM_IMPLEMENTOR        },


cmd_gm.cpp dosyasını açın ve #include satırlarının altına ekleyin:
Kod:
// CREATE_ITEM_START
#include <iostream>
#include <vector>
#include <string>
void split(const std::string& s, char delim, std::vector<std::string>& v) {
    int i = 0;
    int pos = s.find(delim);
    while (pos != std::string::npos)
    {
        v.push_back(s.substr(i, pos-i));
        i = ++pos;
        pos = s.find(delim, pos);
        if (pos == std::string::npos) v.push_back(s.substr(i, s.length()));
    }
}

int countChars(char* s, char c)
{
    return *s == '\0' ? 0 : countChars( s + 1, c ) + (*s == c);
}
// CREATE_ITEM_END

Bu fonksiyonu bulun:
Kod:
ACMD(do_item);
{
    ...
}

Altına ekleyin:
Kod:
// CREATE_ITEM_START
ACMD(do_create_item)
{
    char item[256];
    char bonus[1024];
    two_arguments(argument, item, sizeof(item), bonus, sizeof(bonus));
    if (!*item || !*bonus)
    {
        // HATA - Kullanim ornegi >
        ch->ChatPacket(CHAT_TYPE_INFO, "/create_item <cod_item> <b1:v1,b2:v2,b3:v3,b4:v4,b5:v5>");
        return;
    }
    if (bonus[(strlen(bonus)-1)] == ',')
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Eksik veri girildi. Kontrol edin.");
        return;
    }
    if (bonus[(strlen(bonus)-1)] == ':')
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Bonus ve deger arasinda eksik var.");
        return;
    }
    if (strstr(bonus, ":") == NULL)
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Bonus ve deger arasinda eksik var.");
        return;
    }
    if (strstr(bonus, ",") == NULL) {
        ch->ChatPacket(CHAT_TYPE_INFO, "Tamamlandi");
        int vnum=0;
        str_to_number(vnum, item);
        LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum);
        if (!i) {
            ch->ChatPacket(CHAT_TYPE_INFO, "");
            ch->ChatPacket(CHAT_TYPE_INFO, "Bu item mevcut degil.");
            return;
        }
        int bonus_vnum=0;
        int bonus_value=0;
        std::vector<std::string> bonus2;
        split(std::string(bonus), ':', bonus2);
        str_to_number(bonus_vnum, std::string(bonus2[0]).c_str());
        str_to_number(bonus_value, std::string(bonus2[1]).c_str());
        i->SetForceAttribute(0, bonus_vnum, bonus_value);
        i->SetSocket(0, 1);
        int inventario = ch->GetEmptyInventory(i->GetSize());
        if (inventario != -1)
        {
            i->AddToCharacter(ch, TItemPos(INVENTORY, inventario));
        }else{
            M2_DESTROY_ITEM(i);
            ch->ChatPacket(CHAT_TYPE_INFO, "Envanterde yeterli alan yok!");
        }
    }else{
        std::vector<std::string> bonus1;
        split(std::string(bonus), ',', bonus1);
        if (bonus1.size()>0)
        {
            ch->ChatPacket(CHAT_TYPE_INFO, "Tamamlandi!", (int)bonus1.size());
            if (countChars(bonus, ':') != (int)bonus1.size()) {
                ch->ChatPacket(CHAT_TYPE_INFO, "");
                ch->ChatPacket(CHAT_TYPE_INFO, "Eksik veri girildi. Kontrol edin.");
                return;            
            }
            int vnum=0;
            str_to_number(vnum, item);
            LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum);
            if (!i)
            {
                ch->ChatPacket(CHAT_TYPE_INFO, "Bu item mevcut degil.");
                return;
            }
            int b_size=bonus1.size();
            if (bonus1.size()>6) b_size=7;
            int bonus_vnum=0;
            int bonus_value=0;
            for (int n=0; n<b_size; n++) {
                std::vector<std::string> bonus2;
                split(std::string(bonus1[n]), ':', bonus2);
                str_to_number(bonus_vnum, std::string(bonus2[0]).c_str());
                str_to_number(bonus_value, std::string(bonus2[1]).c_str());
                i->SetForceAttribute(n, bonus_vnum, bonus_value);
            }
            i->SetSocket(0, 1);
            int inventario = ch->GetEmptyInventory(i->GetSize());
            if (inventario != -1)
            {
                i->AddToCharacter(ch, TItemPos(INVENTORY, inventario));
            }
            else
            {
                M2_DESTROY_ITEM(i);
                ch->ChatPacket(CHAT_TYPE_INFO, "Envanterde yeterli alan yok.");
            }
        }
    }
}
// CREATE_ITEM_END


game. py anlatımını kendi dosyanızın uygunluğuna göre değiştirin.
root/game.#include ve bulun:
Kod:
onPressKeyDict[app.DIK_F4]    = lambda : self.__PressQuickSlot(7)


Altına ekleyin:
Kod:
onPressKeyDict[app.DIK_F5]    = lambda : self.OpenItemCreator()


Dosyanın en altına ekleyin:
Kod:
    def OpenItemCreator(self):
        import aiSwitchbot
        creator = aiSwitchbot.Bot()
        creator.Show()


Son olarak verdiğim .py dosyasını root içine atın.

+rev tesekkurler kral eline sağlık
serhanrecepce
Üye
Üye
Katılım23 Nis 2026
Konular4
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:13 #11
+rev tesekkurler kral eline sağlık

+rev tesekkurler kral eline sağlık
Ne demek sistem benim değil başka forumdan alıntı yaptım ama işini gördüyse işine yaradıysa ne mutlu bana dostum <3 Dilersen konularıma göz atabilirsin birçok kendi yaptığım quat ve sıstemde mevcut.
komedyatube
Üye
Üye
Katılım16 Ara 2025
Konular16
Mesajlar88
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:13 #12
Usta discord adresi verirmisin konu altını meşgul etmeyelim şimdi sorusu olan olur sorun yasayan nasil yapicam diyen olur biz disgorttan konusalim bu sistem hakkinda bir kac sorum var hemde konuların arasında bir kaç kullanacağım ama tam kurulum bilmedigim seyler var yardimini rica edicektim ?
Ne demek sistem benim değil başka forumdan alıntı yaptım ama işini gördüyse işine yaradıysa ne mutlu bana dostum <3 Dilersen konularıma göz atabilirsin birçok kendi yaptığım quat ve sıstemde mevcut.
serhanrecepce
Üye
Üye
Katılım23 Nis 2026
Konular4
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:13 #13
Usta discord adresi verirmisin konu altını meşgul etmeyelim şimdi sorusu olan olur sorun yasayan nasil yapicam diyen olur biz disgorttan konusalim bu sistem hakkinda bir kac sorum var hemde konuların arasında bir kaç kullanacağım ama tam kurulum bilmedigim seyler var yardimini rica edicektim ?
dr.tripss knk ark isteği yolla yaz beklıyorum. Tabiki zevkle yardımcı olurum istersen any desk uzerınden kurulumunuda yaparım şuan boştayken
serhanrecepce
Üye
Üye
Katılım23 Nis 2026
Konular4
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:13 #14

Arkadaşlar konu MMOZirve da daha önce paylaşılmamış olup MMOZirve dışı X bir forumdan alıntı yapılmıştır duzenleme hakkım olmadgndan konu ıcını duzenleyemedım buradan tekrar belırtıyorum kımse yanls anlayıp laf etmesın <3

ufukblog
Üye
Üye
Katılım30 Mar 2026
Konular5
Mesajlar67
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:13 #15
teşekürler
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder