melankolıa18 1
melankolıa18
shrpnl 1
shrpnl
Fethi Polat 1
Fethi Polat
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

[C++] Affect potion System | Bykatil199 1

indirmek için izniniz yok
@bykatil199 konu için teşekkürler isterseniz konuya dahil edebilirsiniz pek cok insan yorumlari fazla okumaz


Locale_game.txt
Kod:
TOOLTIP_AFFECT_POTION_2    Turuncu Şebnem    SNA

Eklenir


P772k6.png

Renk Değiştirmek isteyen

root > uiinventory.py

Kod:
if app.BYKATIL199_ITEM_SLOT_EFFECT:
olan kısım icinde

Kod:
self.wndItem.ActivateSlot(i)
bunu
Kod:
self.wndItem.ActivateSlot(slotNumber, (32.00 / 255.0), (178.00 / 255.0), (170.00 / 255.0), 1.0)
bu şekilde değiştirirse turkuaz olacaktir renk


5 SANIYE FIXI VE STR DEF BONUSLARINI VERMEMESİNİN ÇÖZÜMÜ

Not2: 5 saniye fixi uygulanmiştir sadece konudakini kurunuz ( kurarken AFFECT_ITEM_BLOCK 603 dür bu sistemdede 603 oldugu için cakışacaktir AFFECT_ITEM_BLOCK = 313 yapmayi unutmayiniz
C++:
#ifdef BYKATIL199_ITEM_SLOT_EFFECT
                            case NEW_MOVE_SPEED_POTION:
                            case NEW_ATTACK_SPEED_POTION:
                                {
                                    if (FindAffect(AFFECT_ITEM_BLOCK))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, ("Bunu yapabilmek icin 5 saniye beklemelisin!"));
                                        return false;
                                    }
                                    EAffectTypes type = AFFECT_NONE;

                                    if (item->GetVnum() == NEW_MOVE_SPEED_POTION)
                                        type = AFFECT_MOV_SPEED;

                                    if (item->GetVnum() == NEW_ATTACK_SPEED_POTION)
                                        type = AFFECT_ATT_SPEED;

                                    if (AFFECT_NONE == type)
                                        break;
                            

                                    CAffect * pAffect = FindAffect(type);

                                    if (NULL == pAffect)
                                    {
                                        EPointTypes bonus = POINT_NONE;
                                        EAffectBits flag = AFF_NONE;

                                        if (item->GetVnum() == NEW_MOVE_SPEED_POTION)
                                        {
                                            bonus = POINT_MOV_SPEED;
                                            flag = AFF_MOV_SPEED_POTION;
                                        }

                                        if (item->GetVnum() == NEW_ATTACK_SPEED_POTION)
                                        {
                                            bonus = POINT_ATT_SPEED;
                                            flag = AFF_ATT_SPEED_POTION;
                                        }

                                        AddAffect(type, bonus, item->GetValue(2), flag, INFINITE_AFFECT_DURATION, 0, true);

                                        item->Lock(true);
                                        item->SetSocket(0, true);
                                        AddAffect(AFFECT_ITEM_BLOCK, POINT_NONE, 0, 0, 5, 0, true, false);
                                    }
                                    else
                                    {
                                        RemoveAffect(pAffect);
                                        item->Lock(false);
                                        item->SetSocket(0, false);
                                    }
                                }
                                break;
                            case NEW_KRITIK_POTION:
                            case NEW_DELICI_POTION:
                            case NEW_DRAGON_1_POTION:
                            case NEW_DRAGON_2_POTION:
                            case NEW_DRAGON_3_POTION:
                            case NEW_DRAGON_4_POTION:
                                {
                                    EAffectTypes type = AFFECT_NONE;
                                    if (FindAffect(AFFECT_ITEM_BLOCK))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, ("Bunu yapabilmek icin 5 saniye beklemelisin!"));
                                        return false;
                                    }

                                    if (item->GetVnum() == NEW_KRITIK_POTION)
                                        type = AFFECT_NEW_AFFECT_POTION_1;

                                    if (item->GetVnum() == NEW_DELICI_POTION)
                                        type = AFFECT_NEW_AFFECT_POTION_2;

                                    if (item->GetVnum() == NEW_DRAGON_1_POTION)
                                        type = AFFECT_NEW_AFFECT_POTION_3;

                                    if (item->GetVnum() == NEW_DRAGON_2_POTION)
                                        type = AFFECT_NEW_AFFECT_POTION_4;

                                    if (item->GetVnum() == NEW_DRAGON_3_POTION)
                                        type = AFFECT_NEW_AFFECT_POTION_5;

                                    if (item->GetVnum() == NEW_DRAGON_4_POTION)
                                        type = AFFECT_NEW_AFFECT_POTION_6;

                                    if (AFFECT_NONE == type)
                                        break;
                            
                                    if (FindAffect(AFFECT_ITEM_BLOCK))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, ("Bunu yapabilmek icin 5 saniye beklemelisin!"));
                                        return false;
                                    }

                                    CAffect * pAffect = FindAffect(type);

                                    if (NULL == pAffect)
                                    {
                                        EPointTypes bonus = POINT_NONE;
                                        EAffectBits flag = AFF_NONE;

                                        if (item->GetVnum() == NEW_KRITIK_POTION)
                                        {
                                            bonus = POINT_CRITICAL_PCT;
                                        }

                                        if (item->GetVnum() == NEW_DELICI_POTION)
                                        {
                                            bonus = POINT_PENETRATE_PCT;
                                        }

                                        if (item->GetVnum() == NEW_DRAGON_1_POTION)
                                        {
                                            bonus = POINT_MAX_HP_PCT;
                                        }

                                        if (item->GetVnum() == NEW_DRAGON_2_POTION)
                                        {
                                            bonus = POINT_ATT_GRADE_BONUS;
                                        }

                                        if (item->GetVnum() == NEW_DRAGON_3_POTION)
                                        {
                                            bonus = POINT_MAX_SP_PCT;
                                        }

                                        if (item->GetVnum() == NEW_DRAGON_4_POTION)
                                        {
                                            bonus = POINT_DEF_BONUS;
                                        }

                                        AddAffect(type, bonus, item->GetValue(2), flag, INFINITE_AFFECT_DURATION, 0, true);
                                        AddAffect(AFFECT_ITEM_BLOCK, POINT_NONE, 0, 0, 5, 0, true, false);
                                        item->Lock(true);
                                        item->SetSocket(0, true);
                                    }
                                    else
                                    {
                                        RemoveAffect(pAffect);
                                        item->Lock(false);
                                        item->SetSocket(0, false);
                                    }
                                }
                                break;
                            case NEW_SEBNEM_PEMBE:
                            case NEW_SEBNEM_KIRMIZI:
                            case NEW_SEBNEM_MAVI:
                            case NEW_SEBNEM_BEYAZ:
                            case NEW_SEBNEM_YESIL:
                            case NEW_SEBNEM_SARI:
                                {
                                    EAffectTypes type = AFFECT_NONE;
                            
                                    if (FindAffect(AFFECT_ITEM_BLOCK))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, ("Bunu yapabilmek icin 5 saniye beklemelisin!"));
                                        return false;
                                    }


                                    if (item->GetVnum() == NEW_SEBNEM_PEMBE)
                                        type = AFFECT_NEW_SEBNEM_POTION_1;

                                    if (item->GetVnum() == NEW_SEBNEM_KIRMIZI)
                                        type = AFFECT_NEW_SEBNEM_POTION_2;

                                    if (item->GetVnum() == NEW_SEBNEM_MAVI)
                                        type = AFFECT_NEW_SEBNEM_POTION_3;

                                    if (item->GetVnum() == NEW_SEBNEM_BEYAZ)
                                        type = AFFECT_NEW_SEBNEM_POTION_4;

                                    if (item->GetVnum() == NEW_SEBNEM_YESIL)
                                        type = AFFECT_NEW_SEBNEM_POTION_5;

                                    if (item->GetVnum() == NEW_SEBNEM_SARI)
                                        type = AFFECT_NEW_SEBNEM_POTION_6;
                            
                            

                                    if (AFFECT_NONE == type)
                                        break;

                                    CAffect * pAffect = FindAffect(type);

                                    if (NULL == pAffect)
                                    {
                                        EPointTypes bonus = POINT_NONE;
                                        EAffectBits flag = AFF_NONE;

                                        if (item->GetVnum() == NEW_SEBNEM_PEMBE)
                                        {
                                            bonus = POINT_PENETRATE_PCT;
                                        }

                                        if (item->GetVnum() == NEW_SEBNEM_KIRMIZI)
                                        {
                                            bonus = POINT_CRITICAL_PCT;
                                        }

                                        if (item->GetVnum() == NEW_SEBNEM_MAVI)
                                        {
                                            bonus = POINT_ATT_GRADE_BONUS;
                                        }

                                        if (item->GetVnum() == NEW_SEBNEM_BEYAZ)
                                        {
                                            bonus = POINT_DEF_GRADE;
                                        }

                                        if (item->GetVnum() == NEW_SEBNEM_YESIL)
                                        {
                                            bonus = POINT_RESIST_MAGIC;
                                        }

                                        if (item->GetVnum() == NEW_SEBNEM_SARI)
                                        {
                                            bonus = POINT_ATT_SPEED;
                                        }
                                
                                
                                        AddAffect(type, bonus, item->GetValue(2), flag, INFINITE_AFFECT_DURATION, 0, true);
                                        AddAffect(AFFECT_ITEM_BLOCK, POINT_NONE, 0, 0, 5, 0, true, false);
                                        item->Lock(true);
                                        item->SetSocket(0, true);
                                    }
                                    else
                                    {
                                        RemoveAffect(pAffect);
                                        item->Lock(false);
                                        item->SetSocket(0, false);
                                    }
                                }
                                break;
#endif


Renk degistirmek icin verdigin kodlar kusak ekli degilse calismaz haberin olsun. Çünkü normal ActivateSlot() o kadar fazla deger almaz kusak sistemindekileri eklemeleri lazim
 
Renk degistirmek icin verdigin kodlar kusak ekli degilse calismaz haberin olsun. Çünkü normal ActivateSlot() o kadar fazla deger almaz kusak sistemindekileri eklemeleri lazim

aynen onu farkettim bende kuşak ekli kuşak eklerken özel değerler eklendiği icin vermesi ihtimal
 
Renk degistirmek icin verdigin kodlar kusak ekli degilse calismaz haberin olsun. Çünkü normal ActivateSlot() o kadar fazla deger almaz kusak sistemindekileri eklemeleri lazim
Kuşak Sistemini mi eklemem lazım başka yolu yok mu
 

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

Geri
Üst