Konu

#1
Merhaba, bi chat eklentisi düzenlemeye çalışıyorum. Daha önce konusunu açmıştım burada farklı birşey için. Şöyle bir deneme içindeyim, acaba bu kod satırında yanlış nerede?
Kod:
else if(flags & ADMIN_PASSWORD) //Chief Admin
        {
            if(flags > 0 && !(flags & ADMIN_ADMIN))
            {
                if(is_user_steam(sndr))
                {
                    prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Chief Adminss ^x03] ^x03":"^x03[^x04 Steam Chief Adminss ^x03] ^x03";
                }
                else
                {
                    prefix = "^x03[^x04 NonSteam Chief Admin ^x03] ^x03"
                }    
            }
            else if(is_user_steam(sndr))
            {
                prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Chief Admin ^x03] ^x03":"^x03[^x04 Steam Chief Admin+ ^x03] ^x03";
            }
            else
            {
                prefix = "^x03[^x04 NonSteam Chief Admin ^x03] ^x03"
            }
        }

Selected Community [ Cs2.Csduragi.Net ]
Son Düzenleme: 03-11-2021, 12:57, Düzenleyen: Demirhan.
#2
Eklentinin tamamını görmeden, derleyemeden birşey diyemem.
(- Ücretli Eklenti Yaptırmak İsteyen -)
#3
(03-11-2021, 13:23)suriyelikene Adlı Kullanıcıdan Alıntı: Eklentinin tamamını görmeden, derleyemeden birşey diyemem.

derlemede bir hata yok. Amacım Password yetkisine sahip olan birisine tekrar sorgulama yapıcak ve eğer password yetkisine sahipsine sahipse "Y" yetkisine tekrar sorgulama yapıcak ve eğer ona sahipse belirttiğim chat prefixini yazdıracak. Eğer zaten sahip değilse de diğer belirttiğim prefixi yazdıracak. Şuan sadece password sorgulamasını yapıyor. ADMIN_ADMIN sorgulamasını yapmıyor direk passwordu algılıyor ve ona göre yazdırıyor. Mantıkta bir yanlışlık var mı ?
Selected Community [ Cs2.Csduragi.Net ]
#4
eklentinin üst kısmını bilmiyorum. Örnek veriyorum üstte oyuncunun yetkisi A'yı sorgulattiysa, onun gerçekleşmemesi dışında bu attığın kışın değişecek.flag>0 kısmındaki ifi sen eklemişsin sanırım. Ama parantezin bittiği yerde hata yapmışsın gibi. Pek dikkatli bakamıyorum mobil olduğum için ve eklentinin kaynak kodlarını da göremediğim için.
(- Ücretli Eklenti Yaptırmak İsteyen -)
#5
Şöyle göstereyim o zaman

Kod:
public buildmsg(sndr, is_sndr_spec, is_team_msg, sndr_team, str4[ ])
{
    new sndr_name[33]
    get_user_name(sndr, sndr_name, charsmax(sndr_name))
    
    new prefix[64] = "^x01"

    new flags = get_user_flags(sndr);
    new authid[MAX_AUTHID_LENGTH];
    get_user_authid(sndr,authid,charsmax(authid));
    if(flags > 0 && !(flags & ADMIN_USER))
    {
        if(equali(authid,"STEAM_0:0:8713385733")) ///
        {
            if(is_user_steam(sndr))
            {
                prefix = csd_checkuserac(sndr) ? "^x04[^x03Steam+ MRA^x04] ^x03":"^x04[Steam MRA] ^x03";
            }
            else
            {
                prefix = "x"
            }
        }
        else if(flags & ADMIN_PASSWORD) //Chief Admin
        {
            if(flags > 0 && !(flags & ADMIN_ADMIN))
            {
                ///prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Chief Admin ^x03] ^x03":"^x03[^x04 Steam Chief Admin ^x03] ^x03";
                if(is_user_steam(sndr))
                {
                    prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Chief Adminss ^x03] ^x03":"^x03[^x04 Steam Chief Adminss ^x03] ^x03";
                }
                else
                {
                    prefix = "^x03[^x04 NonSteam Chief Admin ^x03] ^x03[^x04 SSSSS ^x03] ^x03"
                }    
            }
            else if(is_user_steam(sndr))
            {
                prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Chief Admin ^x03] ^x03":"^x03[^x04 Steam Chief Admin+ ^x03] ^x03";
            }
            else
            {
                prefix = "^x03[^x04 NonSteam Chief Admin ^x03] ^x03"
            }
        }
    else { ////Oyuncu
        if(is_user_steam(sndr))
        {
            prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Oyuncu ^x03] ^x03":"^x03[^x04 Steam Oyuncu ^x03] ^x03";
        }
        else
            {
                prefix = "^x03[^x04 NonSteam Oyuncu ^x03] ^x03"
            }
    }

    new len = strlen(prefix);

    if(is_sndr_spec) add(prefix[len], charsmax(prefix) - len, "¤¤ ")
    else if(!is_user_alive(sndr)) add(prefix[len], charsmax(prefix) - len, "^x01¤^x03")
        
    
    if(is_team_msg)
    {
        if(is_sndr_spec) add(prefix[len], charsmax(prefix) - len, "[SPEC]")
        else if(sndr_team == 1) add(prefix[len], charsmax(prefix) - len, "[^x04TE^x03] ")
        else if(sndr_team == 2) add(prefix[len], charsmax(prefix) - len, "[^x04CT^x03] ")
    }

    if(flags > 0 && !(flags & ADMIN_USER))
    {
        format(msg, 199, "%s^x03%s :  ^x03%s",\
        len > 1 ? prefix : "",\
        sndr_name, str4)
        
    }
    else{
        format(msg, 199, "%s^x03%s :  ^x01%s",\
        len > 1 ? prefix : "",\
        sndr_name, str4)
    }
    return PLUGIN_HANDLED
}

Selected Community [ Cs2.Csduragi.Net ]
#6
Ne yapmaya çalıştığını anlamadım. Fakat şuanda chief admin yazan yerde baştan sona yaptıkların :
Oyuncunun Steam idsi üstte belirtilen id değil ise ve oyuncunun yetkisi ADMIN_PASSWORD ise, oyuncunun yetkisi 0dan büyükse ve yetkisi ADMIN_ADMIN'e eşit değilse, Oyuncu Steam ise oyuncuya Steam+ chief adminss tagın giydir. Oyuncu Steam değil ise oyuncuya nonsteam chief adminn tagını ve SSSSSS tagını giydir. Oyuncu steam değilse ve steamse demişsin. İki kere aynı şeyi yapmışsın. Sil o 2. kısmı. Bunların hiçbirini gerceklesmemesi dışında oyuncu steam ise oyuncuya Steam+ oyuncu tagını giydir.
Steam+ ile Steam arasındaki farkda csdnin check nativesini kullanmışsın. Bu kısma girmedim. Aklın karışır.

Mobilden bakarak anladığım kadarıyla anlattım. Ufak tefek yanlış gördüğüm yerler olabilir. Ayrıca eklentiyi denemeden hata var mı veya yok mu anlamak zor.
(- Ücretli Eklenti Yaptırmak İsteyen -)
#7
(03-11-2021, 14:19)suriyelikene Adlı Kullanıcıdan Alıntı: Ne yapmaya çalıştığını anlamadım. Fakat şuanda chief admin yazan yerde baştan sona yaptıkların :
Oyuncunun Steam idsi üstte belirtilen id değil ise ve oyuncunun yetkisi ADMIN_PASSWORD ise, oyuncunun yetkisi 0dan büyükse ve yetkisi ADMIN_ADMIN'e eşit değilse, Oyuncu Steam ise oyuncuya Steam+ chief adminss tagın giydir. Oyuncu Steam değil ise oyuncuya nonsteam chief adminn tagını ve SSSSSS tagını giydir. Oyuncu steam değilse ve steamse demişsin. İki kere aynı şeyi yapmışsın. Sil o 2. kısmı. Bunların hiçbirini gerceklesmemesi dışında oyuncu steam ise oyuncuya Steam+ oyuncu tagını giydir.
Steam+ ile Steam arasındaki farkda csdnin check nativesini kullanmışsın. Bu kısma girmedim. Aklın karışır.

Mobilden bakarak anladığım kadarıyla anlattım. Ufak tefek yanlış gördüğüm yerler olabilir. Ayrıca eklentiyi denemeden hata var mı veya yok mu anlamak zor.

Derlemede herhangi bir problem yok mantık hatası vardı, anlattığın kadarıyla çözdüm. Amacım şuydu Steam idsi üstte belirtilen id değil ise ve oyuncunun yetkisi ADMIN_PASSWORD iise ve tekrar bir sorgulama sağlayacak ADMIN_ADMIN yetkisine sahipse oyuncu steam ise oynucuya steam+ chief adminss tagını verecek eğer ADMIN_ADMIN yetkisi yok ise Steam Chief Admin tagını sağla. Özet geçtim mantık buydu. En başta bir yanlışlık yapmışım "( ! )" değilse ibaresini sonradan gördüm sen yazdıktan sonra. İlgin için teşekkür ederim sağol.
Selected Community [ Cs2.Csduragi.Net ]
#8
İstek konusu, @suriyelikene adlı kullanıcı tarafından 2 saat içinde çözülmüştür.
İsteği çözdüğü için suriyelikene Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
suriyelikene Adlı kullanıcı sizin dışınızda toplam 720 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task
Kayıt Ol
Discord Adresimize Katılın