⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🌐 www.furiazm.com ⏰ 7/24 aktif Yönetim 💬 Discord.gg/furiaclancs 💰Ücretsiz Adminlik/Vip alımı 🌟 Türkiye’nin yeni en gelişmiş Zombie Plague sunucusu
Sponsor Görsel 2
SponsorSponsor

Dünkü Chat Yardım

Dünkü Chat Yardım
selam herkese, dün istek konusudna bir arkadaşın attığı eklentiyi kendimize göre düzenledik ve sağolsun suriyelikeneninde yardımlarıyla bizimde aradağımız birşeyde yardımcı oldu arkadaşa olduğu gibi. şöyle bir problem var, mesela biz tagı eklenti içerisinde ayarlıyoruz problem yok ama diyelim örnek olarak [ Steam+ Chief Admin ] böyle bi tagımız var bu adam normal y sayden yazınca problem olmuyor ancak u sayden yazınca u sayde bulunan (TE) Tagı adamda görünmüyor çünkü tag çok uzun olmuş oluyor. Bunun çözümü nasıl olabilir? ve bu bizim 2 tane tag vereceğimiz oyunculardada böyle bir problem olacağını düşünüyoruz. Ancak CSD'nin kendi adminchatında böyle bir problem yok nasıl önüne geçebiliriz?
Kod:
///----------------------------------------
/// The author is Ian Cammarata
/// Editors are Yek'-ta and PurposeLess
/// Optimized and Powered by PurposeLess
///----------------------------------------

#include <amxmodx>
#include <reapi_reunion>

native csd_checkuserac(id);

new alv_sndr, alv_str2[26], alv_str4[101];
new msg[200], saytext;
const TaskId = 144;

public plugin_precache()
{
    saytext = get_user_msgid("SayText");
}

public plugin_init()
{
    register_plugin("SteamCHAT", "1.2", "Ian Cammara");

    register_message(saytext, "message_saytext")
}

public message_saytext(msgid, msgdest, receiver)
{
    new str2[26]
    get_msg_arg_string(2, str2, charsmax(str2))
    
    static const Cstrike_Chat[] = "#Cstrike_Chat";
    
    if(equal(str2, Cstrike_Chat, 13))
    {
        new str3[22], len;
        get_msg_arg_string(3, str3, charsmax(str3))
        len = strlen(str3);

        if(!len)
        {
            new str4[101]
            get_msg_arg_string(4, str4, charsmax(str4))
            
            if(str4[0] == '/' || str4[0] == '.' || str4[0] == '!')
            {
                return PLUGIN_HANDLED;
            }
            
            new sndr = get_msg_arg_int(1)
            
            static const Cstrike_Chat_All[] = "#Cstrike_Chat_All";
            
            new bool:is_team_msg = !bool:equal(str2, Cstrike_Chat_All, 17)
            
            new sndr_team = get_user_team(sndr)
            new bool:is_sndr_spec = !bool:(0 < sndr_team < 3)

            new bool:same_as_last = bool:(alv_sndr == sndr && equal(alv_str2, str2) && equal(alv_str4, str4))
            
            if(!same_as_last)
            {
                if(!(is_team_msg && (is_sndr_spec || is_team_msg)))
                {
                    new flags[5], team[10]
                    flags = is_user_alive(sndr) ? "bc":"ac";
                    
                    if(is_team_msg)
                    {
                        len = strlen(flags);
                        add(flags[len], charsmax(flags) - len, "e")
                        if(sndr_team == 1) team = "TERRORIST"
                        else team = "CT"
                    }
                    
                    new players[32], num
                    static Uid
                    get_players(players, num, flags, team)
                    if(get_user_flags(sndr) & ADMIN_RESERVATION)
                        buildmsg(sndr, is_sndr_spec, is_team_msg, sndr_team, str4)
                    else buildmsg(sndr, is_sndr_spec, is_team_msg, sndr_team, str4)
                    
                    for(new i=0; i < num; i++)
                    {
                        Uid = players[i];
                        if(is_user_alive(Uid) && get_user_flags(Uid) & ADMIN_RESERVATION|| !is_user_alive(Uid)){
                            client_print_color(Uid, sndr, msg);
                            //message_begin(MSG_ONE, saytext, _, Uid)
                            //write_byte(sndr)
                            //write_string(msg)
                            //message_end()
                        }
                    }
                    
                }
                
                alv_sndr = sndr
                alv_str2 = str2
                alv_str4 = str4
                
                if(task_exists(TaskId)) remove_task(TaskId)
                set_task(0.1, "task_clear_antiloop_vars", TaskId)
                
            }
            
            if(!same_as_last) buildmsg(sndr, is_sndr_spec, is_team_msg, sndr_team, str4)
            
            set_msg_arg_string(2, msg)
            set_msg_arg_string(4, "")
            
        }
    }
    return PLUGIN_CONTINUE
}

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[30] = "^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:8713385555"))
        {
            if(is_user_steam(sndr))
            {
                prefix = csd_checkuserac(sndr) ? "^x04[^x03Steam+ MRA^x04] [ssss] ^x02":"^x04[Steam MRA] [ssss] ^x03";
            }
            else
            {
                prefix = "^x04[ala] ^x01"
            }
        }
        else if(equali(authid,"STEAM_0:1:577965555"))
        {
            if(is_user_steam(sndr))
            {
                prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ emr ^x03] ^x03":"^x04[Steam emr] ^x03";
            }
            else
            {
                prefix = "^x04[emr] ^x01"
            }
        }
        else if(flags & ADMIN_PASSWORD) //CHİEF ADMİN
        {
            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 Chief Admin ^x03] ^x03"
            }
        }
        else if(flags & ADMIN_KICK)
        {
            if(is_user_steam(sndr))
            {
                prefix = csd_checkuserac(sndr) ? "^x04[Steam+ Admin] ^x01":"^x04[Steam Admin] ^x01";
            }
            else
            {
                prefix = "^x04[Admin] ^x01"
            }
        }
        else if(flags & ADMIN_RESERVATION)
        {
            if(is_user_steam(sndr))
            {
                prefix = csd_checkuserac(sndr) ? "^x04[Steam+ Slot] ^x01":"^x04[Steam Slot] ^x01";
            }
            else
            {
                prefix = "^x04[Slot] ^x01"
            }
        }
    }
    else {
        if(is_user_steam(sndr))
        {
            prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Oyuncu ^x03] ^x03":"^x03[^x04 Steam 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, "xx ")
        
    
    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, "[^x04 CT ^x03] ")
    }

    if(flags > 0 && !(flags & ADMIN_USER))
    {
        format(msg, 199, "%s^x03%s :  ^x04%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
}

public task_clear_antiloop_vars()
{
    alv_sndr = 0
    alv_str2 = ""
    alv_str4 = ""
    return PLUGIN_HANDLED
}

.smaichat.sma(Dosya Boyutu: 5,5 KB | İndirme Sayısı: 7)
Son Düzenleme: 17-10-2021, 11:40, Düzenleyen: darimyane
RE: Dünkü Chat Yardım
Eklentiyi eke koyar mısın ?
Yukarda atarken sorun çıkmış.
RE: Dünkü Chat Yardım
pardon,düzelttim.
RE: Dünkü Chat Yardım
Şöyle dene bakalım :
PHP Kod:
///----------------------------------------
/// The author is Ian Cammarata
/// Editors are Yek'-ta and PurposeLess
/// Optimized and Powered by PurposeLess
///----------------------------------------

#include <amxmodx>
#include <reapi_reunion>

native csd_checkuserac(id);

new 
alv_sndr, alv_str2[64], alv_str4[101];
new 
msg[200], saytext;
const 
TaskId = 144;

public 
plugin_precache()
{
    
saytext = get_user_msgid("SayText");
}

public 
plugin_init()
{
    
register_plugin("SteamCHAT", "1.2", "Ian Cammara");

    
register_message(saytext, "message_saytext")
}

public 
message_saytext(msgid, msgdest, receiver)
{
    new 
str2[64]
    
get_msg_arg_string(2, str2, charsmax(str2))
    
    static const 
Cstrike_Chat[] = "#Cstrike_Chat";
    
    if(
equal(str2, Cstrike_Chat, 13))
    {
        new 
str3[22], len;
        
get_msg_arg_string(3, str3, charsmax(str3))
        
len = strlen(str3);

        if(!
len)
        {
            new 
str4[101]
            
get_msg_arg_string(4, str4, charsmax(str4))
            
            if(
str4[0] == '/' || str4[0] == '.' || str4[0] == '!')
            {
                return 
PLUGIN_HANDLED;
            }
            
            new 
sndr = get_msg_arg_int(1)
            
            static const 
Cstrike_Chat_All[] = "#Cstrike_Chat_All";
            
            new 
bool:is_team_msg = !bool:equal(str2, Cstrike_Chat_All, 17)
            
            new 
sndr_team = get_user_team(sndr)
            new 
bool:is_sndr_spec = !bool:(0 < sndr_team < 3)

            new 
bool:same_as_last = bool:(alv_sndr == sndr && equal(alv_str2, str2) && equal(alv_str4, str4))
            
            if(!
same_as_last)
            {
                if(!(
is_team_msg && (is_sndr_spec || is_team_msg)))
                {
                    new 
flags[5], team[10]
                    
flags = is_user_alive(sndr) ? "bc":"ac";
                    
                    if(
is_team_msg)
                    {
                        
len = strlen(flags);
                        
add(flags[len], charsmax(flags) - len, "e")
                        if(
sndr_team == 1) team = "TERRORIST"
                        
else team = "CT"
                    
}
                    
                    new 
players[32], num
                    
static Uid
                    get_players
(players, num, flags, team)
                    if(
get_user_flags(sndr) & ADMIN_RESERVATION)
                        
buildmsg(sndr, is_sndr_spec, is_team_msg, sndr_team, str4)
                    else 
buildmsg(sndr, is_sndr_spec, is_team_msg, sndr_team, str4)
                    
                    for(new 
i=0; i < num; i++)
                    {
                        
Uid = players[i];
                        if(
is_user_alive(Uid) && get_user_flags(Uid) & ADMIN_RESERVATION|| !is_user_alive(Uid)){
                            
client_print_color(Uid, sndr, msg);
                            
//message_begin(MSG_ONE, saytext, _, Uid)
                            //write_byte(sndr)
                            //write_string(msg)
                            //message_end()
                        
}
                    }
                    
                }
                
                
alv_sndr = sndr
                alv_str2 
= str2
                alv_str4 
= str4
                
                
if(task_exists(TaskId)) remove_task(TaskId)
                
set_task(0.1, "task_clear_antiloop_vars", TaskId)
                
            }
            
            if(!
same_as_last) buildmsg(sndr, is_sndr_spec, is_team_msg, sndr_team, str4)
            
            
set_msg_arg_string(2, msg)
            
set_msg_arg_string(4, "")
            
        }
    }
    return 
PLUGIN_CONTINUE
}

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[30] = "^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:211252333"))
        {
            if(
is_user_steam(sndr))
            {
                
prefix = csd_checkuserac(sndr) ? "^x04[^x03Steam+ MRA^x04] [ssss] ^x02":"^x04[Steam MRA] [ssss] ^x03";
            }
            else
            {
                
prefix = "^x04[ala] ^x01"
            
}
        }
        if(
equali(authid,"STEAM_0:0:8713385555"))
        {
            if(
is_user_steam(sndr))
            {
                
prefix = csd_checkuserac(sndr) ? "^x04[^x03Steam+ MRA^x04] [ssss] ^x02":"^x04[Steam MRA] [ssss] ^x03";
            }
            else
            {
                
prefix = "^x04[ala] ^x01"
            
}
        }
        else if(
equali(authid,"STEAM_0:1:577965555"))
        {
            if(
is_user_steam(sndr))
            {
                
prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ emr ^x03] ^x03":"^x04[Steam emr] ^x03";
            }
            else
            {
                
prefix = "^x04[emr] ^x01"
            
}
        }
        else if(
flags & ADMIN_PASSWORD) //CHÝEF ADMÝN
        
{
            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 Chief Admin ^x03] ^x03"
            
}
        }
        else if(
flags & ADMIN_KICK)
        {
            if(
is_user_steam(sndr))
            {
                
prefix = csd_checkuserac(sndr) ? "^x04[Steam+ Admin] ^x01":"^x04[Steam Admin] ^x01";
            }
            else
            {
                
prefix = "^x04[Admin] ^x01"
            
}
        }
        else if(
flags & ADMIN_RESERVATION)
        {
            if(
is_user_steam(sndr))
            {
                
prefix = csd_checkuserac(sndr) ? "^x04[Steam+ Slot] ^x01":"^x04[Steam Slot] ^x01";
            }
            else
            {
                
prefix = "^x04[Slot] ^x01"
            
}
        }
    }
    else {
        if(
is_user_steam(sndr))
        {
            
prefix = csd_checkuserac(sndr) ? "^x03[^x04 Steam+ Oyuncu ^x03] ^x03":"^x03[^x04 Steam 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, "xx ")
        
    
    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, "[^x04 CT ^x03] ")
    }

    if(
flags > 0 && !(flags & ADMIN_USER))
    {
        
format(msg, 199, "%s^x03%s :  ^x04%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
}

public 
task_clear_antiloop_vars()
{
    
alv_sndr = 0
    alv_str2 
= ""
    
alv_str4 = ""
    
return PLUGIN_HANDLED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/ 
RE: Dünkü Chat Yardım
Malesef yine aynı, düzelmedi.
Son Düzenleme: 17-10-2021, 12:22, Düzenleyen: darimyane
RE: Dünkü Chat Yardım
Tekrar dene bakalım :
.smaichat.sma(Dosya Boyutu: 5,5 KB | İndirme Sayısı: 3)
RE: Dünkü Chat Yardım
Malesef, yine aynı.

Yapamadınız mı ?
Son Düzenleme: 17-10-2021, 21:27, Düzenleyen: darimyane
RE: Dünkü Chat Yardım
Şöyle dene bakalım :
.smaichat.sma(Dosya Boyutu: 5,5 KB | İndirme Sayısı: 2)
RE: Dünkü Chat Yardım
Teşekkür ederim çözülmüş gibi ama şöyle bir şey sorucam, bu sığmama sorunu ne kadar karaktere kadar devam eder veya ilerde farklı bir sorun çıkartır mı bize ?
RE: Dünkü Chat Yardım
İlerde sorun çıkaracağını sanmıyorum.

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Konuyu Okuyanlar: 1 Ziyaretçi