Ortalama ve Beceri Hasarı Efsun Nesnesi

TheAdmin33

Ah, bu şarkıların gözü kör olsun
Geliştirici
Yardımsever Üye
Usta Üye
Editör
Mesaj
1.085
Çözümler
61
Beğeni
2.863
Puan
1.849
Ticaret Puanı
0
Silahlarınıza belirlenen aralıkta rastgele bir ortalama veya beceri hasarı gelmesini sağlar.

Ekran Alıntısı.PNG





ANLATIM;

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.











Başka bir yerde paylaşılmamasını rica ediyorum.

 
En son bir moderatör tarafından düzenlenmiş:
Efsun nesnesi için oranları value değerinden çektirirsen switchleri kaldırabilirsin
 
@TheAdmin33
char_item

C++:
Genişlet Daralt Kopyala
                                    else if (item->GetVnum() == 76014)
                                    {
                                        int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                        {
                                            0, 10, 50, 39, 1
                                        };
                                        if(item2->GetType() == ITEM_NEW_RINGS)
                                        {
                                            item2->SetAttrRings(true);
                                        }else{
                                            item2->SetAttrRings(false);
                                        }
                                        item2->ChangeAttribute(aiChangeProb);
                                    }
                                    else if (item->GetVnum() >= 71200 && item->GetVnum() <= 71206)
                                    {
                                        const TItemTable * ort_bec_kontrol = item2->GetProto();

                                        if (ort_bec_kontrol->sAddonType == -1)
                                        {

                                            item2->ChangeAttribute();//Bütün efsunların değişmesini istemiyorsanız bu satırı silin yada yorum haline getirin.

                                            int32_t ort = 0;
                                            int32_t bec = 0;

                                            switch (item->GetVnum())
                                            {
                                                case 71201:
                                                    ort = number(101, 150);
                                                    bec = -(number(15,20));
                                                    break;
                                                case 71202:
                                                    ort = number(151, 200);
                                                    bec = -(number(15,20));
                                                    break;
                                                case 71203:
                                                    ort = number(201, 250);
                                                    bec = -(number(15,20));
                                                    break;
                                                case 71204:
                                                    ort = number(251, 300);
                                                    bec = -(number(15,20));
                                                    break;
                                                case 71205://ort verir
                                                    ort = number(301, 350);
                                                    bec = -(number(15,20));
                                                    break;
                                                case 71206://beceri verir
                                                    ort = -(number(10, 25));
                                                    bec = number(20,30);
                                                    break;
                                                default:
                                                    ort = number(60, 100);
                                                    bec = -(number(15,20));
                                                    break;
                                            }

                                            item2->SetForceAttribute(0,72,ort);
                                            item2->SetForceAttribute(1,71,bec);

                                        }
                                        else
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, "Bu nesneyi sadece ortalama ve/veya beceri hasarı gelebilen esyalarda kullanabilirsin !");
                                            return false;
                                        }

                                    }
🤷‍♂️ herhangibir hata yok . Altarnatif_2 yi dene.
 
@TheAdmin33
not work bro

char_item
C++:
Genişlet Daralt Kopyala
                                    else if (item->GetVnum() >= 71200 && item->GetVnum() <= 71206)
                                    {
                                        const TItemTable * ort_bec_kontrol = item2->GetProto();

                                        if (ort_bec_kontrol->sAddonType == -1)
                                        {

                                            item2->ChangeAttribute();//Bütün efsunların değişmesini istemiyorsanız bu satırı silin yada yorum haline getirin.

                                            int32_t ort = 0;
                                            int32_t bec = 0;

                                            if (item->GetValue(0) == 0)//Value0 değeri 0 ise ortalama gelecek 1 ise beceri gelecek olduğunu belirtiyoruz.
                                            {
                                                ort = number(item->GetValue(1), item->GetValue(2));
                                                bec = -(number(15,20));
                                            }
                                            else
                                            {
                                                ort = -(number(15,20));
                                                bec = number(item->GetValue(1), item->GetValue(2));
                                            }

                                            item2->SetForceAttribute(0,72,ort);
                                            item2->SetForceAttribute(1,71,bec);

                                        }
                                        else
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, "Bu nesneyi sadece ortalama ve/veya beceri hasarı gelebilen esyalarda kullanabilirsin !");
                                            return false;
                                        }

                                    }
item_proto
C++:
Genişlet Daralt Kopyala
71201    a_c    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL    ITEM_STACKABLE | LOG    NONE    NONE    1000    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
71200    Ort. Zararı(10-100)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        500    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    10    100    0    0    0    0    0    0
71201    Ort. Zararı(101-150)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        500    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    101    150    0    0    0    0    0    0
71202    Ort. Zararı(151-200)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        500    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    151    200    0    0    0    0    0    0
71203    Ort. Zararı(201-250)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        500    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    201    250    0    0    0    0    0    0
71204    Ort. Zararı(251-300)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        500    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    251    300    0    0    0    0    0    0
71205    Ort. Zararı(301-350)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        500    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    301    350    0    0    0    0    0    0
71206    Bec. Hasarı(20-30)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        500    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    1    30    50    0    0    0    0    0    0
sürekli konularımın altına çalışmıyor yazma. Hata alıyorsan Konu Oluştur konu açıp yardım iste :mad: .
 
öncelikle paylaşım için teşekkürler ekledim sistemi ama ufacık bir sorunum mevcut oda efsunu bastıktan sonra altda çince yazı çıkması

ss de mevcut yardımcı olursanız sevinirim


1705527255747.png
 
Notpade yazıları bozabiliyor, sorunun kaynağı o olabilir. Hata tam olarak nasıl gerçekleşiyor anlatman lazım. Efsunu attığında silahtaki efsun değişiyormu yoksa efsun değişmeyip çince yazımı yazıyor.
Öncelikle efsun değiştirmede filan sorun yok
Efsunlu basıyorum efsun değişiyor sonra o yazı çıkıyor

Birde zırha basınca hani şey uyarısı vermiyor sadece ortalamalı silahlara atılır diye diğer iç itenlerde veriyor örneğin küpeye atmak istediğimde bu sadece ortalamalı sikaha atılır diyor filan ama sistemde sıkıntı yok hepsi sorunsuz çalışıyor sadece uyarınyazılar
 
Yardım konusu aç ordan devam edelim. Açtığın konuya char_item.cpp dosyasınıda dahil et
 
Paylaşım için teşekkürler. 1. yolu deneyerek ekleme yaptım. Şunu merak ediyorum. bu itemleri silahlara attıktan sonra kaybolmasını nasıl sağlarız ? @TheAdmin33
 
Bu kodu eklediğin blogun işlevinde var zaten kullaninca siliyor extra eklersen 2 tane siler
 
O sildiğin sadece tum efsunlarin degismesini engeller

Yanlis yere eklemişde olabilirsin 6/7 efsunlarin olduğu bloga ekle
 
Hocam konu paylaşılmış bir sorun varsa ise çözümüde burada olmalı.
Sistemde sorun yok. Sizin yapmış olduğunuz yanlıştan dolayı sistem sorunluymuş gibi davranmanız insanların aklını karıştırabilir. lütfen hata alıyorsanız yardım konusu açınız. sistemde bir hata varsa da ben konuyu güncellerim merak etme.
 
Güncelleme;

Alternatif 1 ve Alternatif 2 içerisindeki char_item.cpp dosyaları güncellendi. Sistemi daha önceden eklemiş olanlar char_item.cpp dosyasındaki eski kodu silip yenisini eklesinler. Diğer dosyalarda bir şeyi değiştirmenize gerek yok.
 
Üst