Hikayeler

Reklam vermek için turkmmo@gmail.com

Kan Ritüeli Etkinliğinde Yukarı'ya Gelen Ruhlar: %d/20 Eklentisi

olkan41

Müzik Prodüktörü ve Ses Tasarımcısı
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
4 Ağu 2010
Konular
356
Mesajlar
4,122
Online süresi
3ay 14g
Reaksiyon Skoru
2,235
Altın Konu
82
Başarım Puanı
292
Yaş
32
TM Yaşı
15 Yıl 8 Ay 22 Gün
MmoLira
3,067
DevLira
138

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Kendi kodlamamdır eksiklerim varsa ona göre ayar çekin işte. :)

char_battle.cpp Dead fonksyionun içinde arat :

Kod:
    // BOSS_KILL_LOG
    if (GetMobRank() >= MOB_RANK_BOSS && pkKiller && pkKiller->IsPC())

üstüne ekle :

Kod:
#ifdef __BL_SOUL_ROULETTE__
    if (!IsPC() && (pkKiller && pkKiller->IsPC()))
    {
        if (pkKiller->GetQuestFlag("bloodevent.blood_affect") == 1) {
            int randomnumberlimit = 1000;
            int prob = 100;
            if (number(1, randomnumberlimit) <= prob) {
                pkKiller->PointChange(POINT_QSOUL, 1, true);
                pkKiller->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You gained 1 soul."));
            }
            if (pkKiller->GetQuestSoulPoint() >= 20) {
                pkKiller->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You collected souls. Release them."));
                pkKiller->SetQuestFlag("bloodevent.blood_affect", 0);
                pkKiller->ChatPacket(CHAT_TYPE_COMMAND, "ClearBloodEventAffect");
            }
        }
    }
#endif

char_item.cpp arat :

Kod:
            case 27987:


üstüne ekle :

Kod:
#ifdef __BL_SOUL_ROULETTE__
            case 70311:
            {
#ifdef __EVENT_MANAGER__
                if (quest::CQuestManager::instance().GetEventFlag("soul_roulette_event") == 0)
                {
                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("It can only be used during the event."));
                    return false;
                }
#endif
                if (GetQuestFlag("bloodevent.blood_affect") == 1)
                {
                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You are ready to collect souls."));
                    return false;
                }
                if (GetQuestSoulPoint() >= 20)
                {
                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You collected souls. Release them."));
                    return false;
                }
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You used the blood sacrifice. Start collecting souls now."));
                SetQuestFlag("bloodevent.blood_affect", 1);
                ChatPacket(CHAT_TYPE_COMMAND, "ActiveBloodEventAffect");
                item->SetCount(item->GetCount() - 1);
            }
            break;
#endif

ışınlandığında affectin silinmesi fixi input_login.cpp enterGame içine ekle:

Kod:
#ifdef __BL_SOUL_ROULETTE__
    if (ch->GetQuestFlag("bloodevent.blood_affect") == 1)
    {
        ch->ChatPacket(CHAT_TYPE_COMMAND, "ActiveBloodEventAffect");
    }
#endif

Source build alabilirsiniz. Benim Eklentilerim (GetQuestSoulPoint) Ben Point Üzerinden ekledim. Siz istediğiniz şekilde yapabilrsiniz.

Root Tarafı:

Game.py aç ve commandların içine ekle :

Kod:
        if app.__BL_SOUL_ROULETTE__:
            serverCommandList.update({"ActiveBloodEventAffect" : self.ActiveBloodEventAffect })
            serverCommandList.update({"ClearBloodEventAffect" : self.ClearBloodEventAffect })

Bunuda ekleyin en altlara felan:

Kod:
    if app.__BL_SOUL_ROULETTE__:
        def ActiveBloodEventAffect(self):
            self.affectShower.SetBloodAffect()

        def ClearBloodEventAffect(self):
            self.affectShower.ClearBloodAffect()

uiaffectshower.py açılır ve aratın:

Kod:
        self.serverPlayTime=0
        self.clientPlayTime=0
        self.lastUpdateTime=0
        self.affectImageDict={}


altına veya üstüne ekleyin:

Kod:
        if app.__BL_SOUL_ROULETTE__:
            self.bloodaffect = None

tekrar aratın:

Kod:
    def SetPlayTime(self, playTime):
        self.serverPlayTime = playTime
        self.clientPlayTime = app.GetTime()

        if localeInfo.IsVIETNAM():


üstüne ekleyin:

Kod:
    if app.__BL_SOUL_ROULETTE__:
        def SetBloodAffect(self):
            image = ClassBloodAffect()
            image.SetParent(self)
            image.SetState()
            image.Show()
   
            self.bloodaffect = image
            self.__ArrangeImageList()
   
        def ClearBloodAffect(self):
            self.bloodaffect = None
            self.__ArrangeImageList()


tekrar aratın:

Kod:
        if self.horseImage:
            self.horseImage.SetPosition(xPos, 0)
            xPos += self.IMAGE_STEP
            AffectCount += 1

Altına ekleyin:

Kod:
        if app.__BL_SOUL_ROULETTE__:
            if self.bloodaffect:
                self.bloodaffect.SetPosition(xPos, 0)
                xPos += self.IMAGE_STEP
                AffectCount += 1


Bunuda Class olarak üstlerdeki at clasına yada oto potların clasının üstüne altına ekleyin.

Kod:
if app.__BL_SOUL_ROULETTE__:
    class ClassBloodAffect(ui.ExpandedImageBox):
        def __init__(self):
            ui.ExpandedImageBox.__init__(self)
   
            self.toolTip = uiToolTip.ToolTip(100)
            self.toolTip.HideToolTip()
   
        def SetState(self):
            self.toolTip.ClearToolTip()
            fileName = "d:/ymir work/ui/skill/common/affect/bloodpoint.sub"
            self.LoadImage(fileName)
            self.__AppendText("Ruhlar : %d/20" % (player.GetQuestSoul()))
   
            self.SetScale(0.7, 0.7)

        def __AppendText(self, text):
            self.toolTip.AppendTextLine(text)
   
        def OnMouseOverIn(self):
            self.toolTip.ShowToolTip()
   
        def OnMouseOverOut(self):
            self.toolTip.HideToolTip()





KANIT

Adsız.png

 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler, ellerine sağlık
 
Paylaşım için teşekkürler
 
paylaşımın için teşekkürler
 

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

Geri
Üst