kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
farkmt2official 1
farkmt2official
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Kişiye özel drop bonusu verme

  • Konuyu başlatan Konuyu başlatan Koray'
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 14
  • Görüntüleme Görüntüleme 1K
5.00 yıldız(lar) 2 Değerlendirme Değerlendirenler

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Dropları test ederken lazım olduğu için yaptım, benzer amaçta kullanabilirsiniz ya da başka karakterlerede verebilirsiniz. Sadece kişiye özel % olarak drop bonusu sağlar.

o9rmbII.png



* cmd.cpp

Arat:
Kod:
struct command_info cmd_info[] =

Üstüne ekle:
Kod:
ACMD(do_personal_drop_mgr);

---

Arat:
Kod:
    { "\n",        NULL,            0,            POS_DEAD,    GM_IMPLEMENTOR    }

Üstüne ekle:
Kod:
    { "personal_drop_mgr", do_personal_drop_mgr,         0,            POS_DEAD,    GM_IMPLEMENTOR },

* cmd_gm.cpp

Ekle:
Kod:
ACMD(do_personal_drop_mgr)
{
    char arg1[256], arg2[256], arg3[256];

    const char* line = two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));
    one_argument(line, arg3, sizeof(arg3));

    if (arg1[0] == '\0' && arg2[0] == '\0' && arg3[0] == '\0')
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Usage: /personal_drop_mgr <exp_value> <gold_value> <item_value>");
        return;
    }

    int exp = 0, gold = 0, item = 0;
    str_to_number(exp, arg1);
    str_to_number(gold, arg2);
    str_to_number(item, arg3);

    ch->ChatPacket(CHAT_TYPE_INFO, "Set personal drop rates: exp %d, gold %d, item %d", exp, gold, item);

    CPrivManager::instance().GiveCharacterPriv(ch->GetPlayerID(), PRIV_EXP_PCT, exp, 1);
    CPrivManager::instance().GiveCharacterPriv(ch->GetPlayerID(), PRIV_GOLD_DROP, gold, 1);
    CPrivManager::instance().GiveCharacterPriv(ch->GetPlayerID(), PRIV_ITEM_DROP, item, 1);
}

* priv_manager.cpp

Arat:
Kod:
    value = MINMAX(0, value, 100);

Değiştir:
Kod:
    value = MINMAX(0, value, 250);


* interfaceModule.py

Ekle:
Kod:
import uiPersonalDropManager

---

Arat:
Kod:
        self.wndGuildBuilding = None

Ekle:
Kod:
        self.wndPersonalDropMgr = None

--

Arat:
Kod:
        self.wndChatLog = wndChatLog

Ekle:
Kod:
        self.wndPersonalDropMgr = uiPersonalDropManager.PersonalDropWindow()

--


Arat:
Kod:
        if self.wndGuildBuilding:
            self.wndGuildBuilding.Destroy()

Ekle:
Kod:
        if self.wndPersonalDropMgr:
            self.wndPersonalDropMgr.Destroy()

--


Arat:
Kod:
        del self.wndGuildBuilding

Ekle:
Kod:
        del self.wndPersonalDropMgr

--

Arat:
Kod:
        if self.wndExpandedTaskBar:
            self.wndExpandedTaskBar.Hide()

Ekle:
Kod:
        if self.wndPersonalDropMgr:
            self.wndPersonalDropMgr.Hide()

---

Arat:
Kod:
    def ShowGift(self):
        self.wndTaskBar.ShowGift()

Ekle:
Kod:
    def TogglePersonalDropMgrWindow(self):
        self.wndPersonalDropMgr.ToggleWindow()

* game.py

Arat:
Kod:
            "mall"          : self.__InGameShop_Show,

Altına ekle:
Kod:
            "open_personal_drop_mgr"    : self.__OpenPersonalDropMgr,

---

Ekle:
Kod:
    def __OpenPersonalDropMgr(self):
        self.interface.TogglePersonalDropMgrWindow()

---

Clienizdeki root klasörüne uiPersonalDropManager.py isminde aktarın:


Kod:
quest personal_drop_mgr begin
    state start begin
        when login with pc.is_gm() begin
            set_state(run)
        end
    end

    state run begin
        when letter begin
            send_letter("<GM> Personal Drop")
        end

        when button or info begin
            cmdchat("open_personal_drop_mgr")
        end
    end
end

Questi server filesinizdeki share\locale\*\quest dizinine atın, aynı klasördeki quest_list klasörüne ekleyip qc ile derleyin daha sonrasında hazır olacaktır
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst