Çözüldü statü questi

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

hiqermod

Üye
Üye
Mesaj
124
Çözümler
14
Beğeni
39
Puan
454
Ticaret Puanı
0
merahaba arkadaşlar statü questi yazarken statü vermeme rağmen karakterin gücünde bir değişiklik olmadığını fakettim
affect.add_collect(apply.CON,50,60*60*24*365*60)
olarak statü veriyorum ve 50 VIT geliyor fakat hp de bir artış yaşamıyorum galiba POİNT_HT yi değiştiremiyor konu hakkında bilgisi olan yardım edebilirmi ?
 
Çözüm
Çözüm:
Char_affect.cpp açılır
aratılır
C++:
PointChange(pkAff->bApplyOn, pkAff->lApplyValue);
if ve else şöyle değiştirilir
C++:
if (bAdd){
            PointChange(pkAff->bApplyOn, pkAff->lApplyValue);
                if (pkAff->bApplyOn == 13) { // VIT STATUSU
                PointChange(POINT_MAX_HP, (pkAff->lApplyValue * JobInitialPoints[GetJob()].hp_per_ht));
                PointChange(POINT_MAX_STAMINA, (pkAff->lApplyValue * JobInitialPoints[GetJob()].stamina_per_con));
                }
                else if (pkAff->bApplyOn == 15){ // INT STATUSU
                    PointChange(POINT_MAX_SP, (pkAff->lApplyValue * JobInitialPoints[GetJob()].sp_per_iq));
                    if(GetJob() == 3){...
./qc questismi.questbitiş yaptıktan sonra bir hata verdi mi ? + /reload q çektiniz mi oyun içerisinden eğer bunları yaptıktan sonra gene de olmadıysa kanal syserr paylaşır mısın ?
 
Merhaba @hiqermod

Sorununuz devam ediyor mu? Sorununuzu çözdüyseniz çözümünü de paylaşırsanız seviniriz
 
./qc questismi.questbitiş yaptıktan sonra bir hata verdi mi ? + /reload q çektiniz mi oyun içerisinden eğer bunları yaptıktan sonra gene de olmadıysa kanal syserr paylaşır mısın ?
Quest hata vermiyor aksine ekliyor fakat eklediği değer sadece statüyü arttiriyor bununla birlikte maxhp artmiyor yani herhangi bir + sı olmuyor pointchangelerden kaynaklandigini buldum cözüme yakinim umarım hallolur
 
Çözüm:
Char_affect.cpp açılır
aratılır
C++:
PointChange(pkAff->bApplyOn, pkAff->lApplyValue);
if ve else şöyle değiştirilir
C++:
if (bAdd){
            PointChange(pkAff->bApplyOn, pkAff->lApplyValue);
                if (pkAff->bApplyOn == 13) { // VIT STATUSU
                PointChange(POINT_MAX_HP, (pkAff->lApplyValue * JobInitialPoints[GetJob()].hp_per_ht));
                PointChange(POINT_MAX_STAMINA, (pkAff->lApplyValue * JobInitialPoints[GetJob()].stamina_per_con));
                }
                else if (pkAff->bApplyOn == 15){ // INT STATUSU
                    PointChange(POINT_MAX_SP, (pkAff->lApplyValue * JobInitialPoints[GetJob()].sp_per_iq));
                    if(GetJob() == 3){
                        PointChange(POINT_MAGIC_ATT_GRADE, (pkAff->lApplyValue * 4));
                    }
                    else{
                        PointChange(POINT_MAGIC_ATT_GRADE, (pkAff->lApplyValue * 3));
                    }
                }
                else if (pkAff->bApplyOn == 12){// STR STATUSU
                    if(GetJob() == 3){
                        PointChange(POINT_ATT_GRADE, (pkAff->lApplyValue * 6/2));
                    }
                    else{
                        PointChange(POINT_ATT_GRADE, (pkAff->lApplyValue * 5/2));
                    }
                   
                   
                }
                else if (pkAff->bApplyOn == 14){// DEX STATUSU
                    if(GetJob() == 0){
                        PointChange(POINT_DEF_GRADE, (pkAff->lApplyValue * 12));
                    }
                    if(GetJob() == 1){
                        PointChange(POINT_DEF_GRADE, (pkAff->lApplyValue * 10));
                        PointChange(POINT_ATT_GRADE, (pkAff->lApplyValue * 5/3));
                    }
                }
        }
        else{
            PointChange(pkAff->bApplyOn, -pkAff->lApplyValue);
                if (pkAff->bApplyOn == 13) { // VIT STATUSU
                PointChange(POINT_MAX_HP, -(pkAff->lApplyValue * JobInitialPoints[GetJob()].hp_per_ht));
                PointChange(POINT_MAX_STAMINA, -(pkAff->lApplyValue * JobInitialPoints[GetJob()].stamina_per_con));
                }
                else if (pkAff->bApplyOn == 15){ // INT STATUSU
                    PointChange(POINT_MAX_SP, -(pkAff->lApplyValue * JobInitialPoints[GetJob()].sp_per_iq));
                    if(GetJob() == 3){
                        PointChange(POINT_MAGIC_ATT_GRADE, -(pkAff->lApplyValue * 4));
                    }
                    else{
                        PointChange(POINT_MAGIC_ATT_GRADE, -(pkAff->lApplyValue * 3));
                    }
                }
                else if (pkAff->bApplyOn == 12){// STR STATUSU
                    if(GetJob() == 3){
                        PointChange(POINT_ATT_GRADE, -(pkAff->lApplyValue * 6/2));
                    }
                    else{
                        PointChange(POINT_ATT_GRADE, -(pkAff->lApplyValue * 5/2));
                    }
                   
                   
                }
                else if (pkAff->bApplyOn == 14){// DEX STATUSU
                    if(GetJob() == 0){
                        PointChange(POINT_DEF_GRADE, -(pkAff->lApplyValue * 12));
                    }
                    if(GetJob() == 1){
                        PointChange(POINT_DEF_GRADE, -(pkAff->lApplyValue * 10));
                        PointChange(POINT_ATT_GRADE, -(pkAff->lApplyValue * 5/3));
                    }
                }
        }

böylelikle karakterlere statü verildiğinde onlarla oranlı bir şekilde hp str kazanırlar oranları kendi kafama göre yazdım kendi dengenizi oluşturabilirsini ben joblara göre farklı oranlar girdim herkese sabit 50 str vermek bence oyunun dengesini bozuyor herkese iyi forumlar konuya yorum yazanlara destekleri için teşekkürler
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst