Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Küfür engelleyen plugin ‼️

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Kaybetmeyen
Mesajlar: 254
Kayıt: Prş Ağu 22, 2019 11:12 pm
Clan İsmi: RedDawn

Küfür engelleyen plugin ‼️

Mesaj gönderen Kaybetmeyen »

Yek'-ta yazdı: Cmt Mar 21, 2020 2:19 pm Eskiden eklentiler sıra ile çalışıyordu, fakat değişen mimariler sonucu tek bir bütün olarak çalışmaya başlayınca eski eklentiler de böyle bozulmaya başlamış. Eski sürüm amxmodx sürümü kullanırsanız eklentiler sırası ile çalışacağı için sorun olmayacaktır. Neyse, ben eklentileri birleştirdim.

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>

#define PLUGIN         	"Admin Yesil Yazi & Adminlerde Tag"
#define VERSION     	"2.2"
#define AUTHOR         	"EDITLEYEN: qurteisa"

#define ACCESS_LEVEL    ADMIN_IMMUNITY
#define ADMIN_LISTEN    ADMIN_LEVEL_C

new message[192]
new sayText
new teamInfo
new maxPlayers

new g_MessageColor
new g_NameColor
new g_AdminListen

new strName[191]
new strText[191]
new alive[11]

new const g_szTag[][] = {
    "[DestanGaming]",
    "[DestanGaming]",
    "[DestanGaming]",
    "[DestanGaming]"
}

new const g_iTagFlag[sizeof(g_szTag)] = {
    ADMIN_RCON,
    ADMIN_RCON,
    ADMIN_BAN,
    ADMIN_RESERVATION
}
#define MAX_WORDS 192

new g_swearsNames[MAX_WORDS][32];
new g_swearsNum;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)

    g_MessageColor = register_cvar("amx_color", "2") 
    g_NameColor = register_cvar("amx_namecolor", "6") 
    g_AdminListen = register_cvar("amx_listen", "1")


    sayText = get_user_msgid("SayText")
    teamInfo = get_user_msgid("TeamInfo")
    maxPlayers = get_maxplayers()


    register_message(sayText, "avoid_duplicated")

    register_concmd("amx_color", "set_color", ACCESS_LEVEL, "<color>")
    register_concmd("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
    register_concmd("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
    register_clcmd("say", "hook_say")
    register_clcmd("say_team", "hook_teamsay")
    readList();
}


public avoid_duplicated(msgId, msgDest, receiver)
{
    return PLUGIN_HANDLED
}

get_tag_index(id)
{
    new flags = get_user_flags(id)
    
    for(new i = 1; i < sizeof(g_iTagFlag); i++)
    {
        if(check_admin_flag(flags, g_iTagFlag[i]))
        {
            return i
        }
    }
    
    return 0
}

check_admin_flag(flags, flag)
{
    if(flag == ADMIN_ADMIN)
    {
        return ((flags & ~ADMIN_USER) > 0)
    }
    else if(flag == ADMIN_ALL)
    {
        return 1
    }
    
    return (flags & flag)
}
readList()  {
	new filename[64];
	get_localinfo("amxx_configsdir", filename, charsmax(filename));
	format(filename, charsmax(filename), "%s/kufur_listesi.ini", filename);

	if(!file_exists(filename))
	{
		log_message("Swear Filter: %s dosyasi bulunamadi.", filename);
		return;
	}
	new iLen;
	while(g_swearsNum < MAX_WORDS && read_file(filename, g_swearsNum ,g_swearsNames[g_swearsNum][1],30,iLen))
	{
		if(g_swearsNames[g_swearsNum][0] == ';') continue;
		g_swearsNames[g_swearsNum][0] = iLen;
		++g_swearsNum;
	}
	log_message("Swear Filter: %d adet engellenecek kufur eklendi.", g_swearsNum);
} 
public hook_say(id)
{
    read_args(message, 191)
    remove_quotes(message)

    
    if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, "")) 
        return PLUGIN_CONTINUE

    new pos, i = 0;
    while(i < g_swearsNum)
    {
        if((pos = containi(message,g_swearsNames[i][1])) != -1)
        {
            new len = g_swearsNames[i][0];
            while(len--)
            message[pos++] = '*';
            continue;
        }
        ++i;
    }
	
    new name[32]
    get_user_name(id, name, 31)

    new admin = get_tag_index(id)

    new isAlive

    if(is_user_alive(id))
    {
        isAlive = 1
        alive = "^x01"
    }
    else
    {
        isAlive = 0
        alive = "^x01*DEAD* "
    }

    static color[10]

    if(admin)
    {
        // İsim
        switch(get_pcvar_num(g_NameColor))
        {
            case 1:
                format(strName, 191, "^x04%s %s%s", g_szTag[admin], alive, name)
            case 2:
                format(strName, 191, "^x04%s %s^x04%s ", g_szTag[admin], alive, name)
            case 3:
            {
                color = "SPECTATOR"
                format(strName, 191, "^x04%s %s^x03%s ", g_szTag[admin], alive, name)
            }
            case 4:
            {
                color = "CT"
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
            case 5:
            {
                color = "TERRORIST"
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
            case 6:
            {
                get_user_team(id, color, 9)
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
        }

        // Mesaj
        switch(get_pcvar_num(g_MessageColor))
        {
            case 1:    // Sari
                format(strText, 191, "%s", message)
            case 2:    // Yesil
                format(strText, 191, "^x04%s", message)
            case 3:    // Beyaz
            {
                copy(color, 9, "SPECTATOR")
                format(strText, 191, "^x03%s", message)
            }
            case 4:    // Mavi
            {
                copy(color, 9, "CT")
                format(strText, 191, "^x03%s", message)
            }
            case 5:    // Kirmizi
            {
                copy(color, 9, "TERRORIST")
                format(strText, 191, "^x03%s", message)
            }
        }
    }
    else     
    {
        get_user_team(id, color, 9)
        format(strName, 191, "%s^x03%s", alive, name)
        format(strText, 191, "%s", message)
    }

    format(message, 191, "%s^x01 :  %s", strName, strText)

    sendMessage(color, isAlive)    

    return PLUGIN_CONTINUE
}


public hook_teamsay(id)
{
    new playerTeam = get_user_team(id)
    new playerTeamName[19]

    switch(playerTeam) 
    {
        case 1:
            copy(playerTeamName, 11, "Terrorists")

        case 2:
            copy(playerTeamName, 18, "Counter-Terrorists")

        default:
            copy(playerTeamName, 9, "Spectator")
    }

    read_args(message, 191)
    remove_quotes(message)

   
    if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, "")) 
        return PLUGIN_CONTINUE

    new name[32]
    get_user_name(id, name, 31)

    new admin = get_tag_index(id)

    new isAlive

    if(is_user_alive(id))
    {
        isAlive = 1
        alive = "^x01"
    }
    else
    {
        isAlive = 0
        alive = "^x01*DEAD* "
    }

    static color[10]

    if(admin)
    {
        // İsim
        switch(get_pcvar_num(g_NameColor))
        {
            case 1:
                format(strName, 191, "%s(%s)^x04%s %s", alive, playerTeamName, g_szTag[admin], name)
            case 2:
                format(strName, 191, "%s(%s)^x04%s ^x04%s", alive, playerTeamName, g_szTag[admin], name)
            case 3:
            {
                color = "SPECTATOR"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 4:
            {
                color = "CT"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 5:
            {
                color = "TERRORIST"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 6:
            {
                get_user_team(id, color, 9)
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
        }

        // Message
        switch(get_pcvar_num(g_MessageColor))
        {
            case 1:    // Sari
                format(strText, 191, "%s", message)
            case 2:    // Yesil
                format(strText, 191, "^x04%s", message)
            case 3:    // Beyaz
            {
                copy(color, 9, "SPECTATOR")
                format(strText, 191, "^x03%s", message)
            }
            case 4:    // Mavi
            {
                copy(color, 9, "CT")
                format(strText, 191, "^x03%s", message)
            }
            case 5:    // Kirmizi
            {
                copy(color, 9, "TERRORIST")
                format(strText, 191, "^x03%s", message)
            }
        }
    }
    else     
    {
        get_user_team(id, color, 9)
        format(strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
        format(strText, 191, "%s", message)
    }

    format(message, 191, "%s ^x01:  %s", strName, strText)

    sendTeamMessage(color, isAlive, playerTeam)    

    return PLUGIN_CONTINUE
}


public set_color(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newColor
    read_argv(1, arg, 1)

    newColor = str_to_num(arg)

    if(newColor >= 1 && newColor <= 5)
    {
        set_pcvar_num(g_MessageColor, newColor)

        if(get_pcvar_num(g_NameColor) != 1 &&
            ((newColor == 3 &&  get_pcvar_num(g_NameColor) != 3)
            ||(newColor == 4 &&  get_pcvar_num(g_NameColor) != 4)
            ||(newColor == 5 &&  get_pcvar_num(g_NameColor) != 5)))
        {
            set_pcvar_num(g_NameColor, 2)
        }
    }

    return PLUGIN_HANDLED
}


public set_name_color(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newColor
    read_argv(1, arg, 1)

    newColor = str_to_num(arg)

    if(newColor >= 1 && newColor <= 6)
    {
        set_pcvar_num(g_NameColor, newColor)

        if((get_pcvar_num(g_MessageColor) != 1
            &&((newColor == 3 &&  get_pcvar_num(g_MessageColor) != 3)
            ||(newColor == 4 &&  get_pcvar_num(g_MessageColor) != 4)
            ||(newColor == 5 &&  get_pcvar_num(g_MessageColor) != 5)))
            || get_pcvar_num(g_NameColor) == 6)
        {
            set_pcvar_num(g_MessageColor, 2)
        }
    }

    return PLUGIN_HANDLED
}


public set_listen(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newListen
    read_argv(1, arg, 1)

    newListen = str_to_num(arg)

    set_pcvar_num(g_AdminListen, newListen)

    return PLUGIN_HANDLED
}


public sendMessage(color[], alive)
{
    new teamName[10]

    for(new player = 1; player < maxPlayers; player++)
    {
        if(!is_user_connected(player))
            continue

        if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
        {
            get_user_team(player, teamName, 9)
            changeTeamInfo(player, color)
            writeMessage(player, message)
            changeTeamInfo(player, teamName)
        }
    }
}


public sendTeamMessage(color[], alive, playerTeam)
{
    new teamName[10]

    for(new player = 1; player < maxPlayers; player++)
    {
        if(!is_user_connected(player))
            continue

        if(get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
        {
            if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
            {
                get_user_team(player, teamName, 9)
                changeTeamInfo(player, color)
                writeMessage(player, message)
                changeTeamInfo(player, teamName)
            }
        }
    }
}


public changeTeamInfo(player, team[])
{
    message_begin(MSG_ONE, teamInfo, _, player) 
    write_byte(player)                
    write_string(team)                
    message_end()                   
}


public writeMessage(player, message[])
{
    message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    
    write_byte(player)                   
    write_string(message)                    
    message_end()                        
}  
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
Admin tag eklentisinin içine swear filtre gömülü. ini dosyasını config klasörüne atıp kullanabilirsiniz.
Csd Admin chat icinde gelirse iyi olabilir.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
talhasendag
Mesajlar: 3
Kayıt: Cum Mar 20, 2020 7:12 am

Küfür engelleyen plugin ‼️

Mesaj gönderen talhasendag »

Yek'-ta yazdı: Cmt Mar 21, 2020 2:19 pm Eskiden eklentiler sıra ile çalışıyordu, fakat değişen mimariler sonucu tek bir bütün olarak çalışmaya başlayınca eski eklentiler de böyle bozulmaya başlamış. Eski sürüm amxmodx sürümü kullanırsanız eklentiler sırası ile çalışacağı için sorun olmayacaktır. Neyse, ben eklentileri birleştirdim.

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>

#define PLUGIN         	"Admin Yesil Yazi & Adminlerde Tag"
#define VERSION     	"2.2"
#define AUTHOR         	"EDITLEYEN: qurteisa"

#define ACCESS_LEVEL    ADMIN_IMMUNITY
#define ADMIN_LISTEN    ADMIN_LEVEL_C

new message[192]
new sayText
new teamInfo
new maxPlayers

new g_MessageColor
new g_NameColor
new g_AdminListen

new strName[191]
new strText[191]
new alive[11]

new const g_szTag[][] = {
    "[DestanGaming]",
    "[DestanGaming]",
    "[DestanGaming]",
    "[DestanGaming]"
}

new const g_iTagFlag[sizeof(g_szTag)] = {
    ADMIN_RCON,
    ADMIN_RCON,
    ADMIN_BAN,
    ADMIN_RESERVATION
}
#define MAX_WORDS 192

new g_swearsNames[MAX_WORDS][32];
new g_swearsNum;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)

    g_MessageColor = register_cvar("amx_color", "2") 
    g_NameColor = register_cvar("amx_namecolor", "6") 
    g_AdminListen = register_cvar("amx_listen", "1")


    sayText = get_user_msgid("SayText")
    teamInfo = get_user_msgid("TeamInfo")
    maxPlayers = get_maxplayers()


    register_message(sayText, "avoid_duplicated")

    register_concmd("amx_color", "set_color", ACCESS_LEVEL, "<color>")
    register_concmd("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
    register_concmd("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
    register_clcmd("say", "hook_say")
    register_clcmd("say_team", "hook_teamsay")
    readList();
}


public avoid_duplicated(msgId, msgDest, receiver)
{
    return PLUGIN_HANDLED
}

get_tag_index(id)
{
    new flags = get_user_flags(id)
    
    for(new i = 1; i < sizeof(g_iTagFlag); i++)
    {
        if(check_admin_flag(flags, g_iTagFlag[i]))
        {
            return i
        }
    }
    
    return 0
}

check_admin_flag(flags, flag)
{
    if(flag == ADMIN_ADMIN)
    {
        return ((flags & ~ADMIN_USER) > 0)
    }
    else if(flag == ADMIN_ALL)
    {
        return 1
    }
    
    return (flags & flag)
}
readList()  {
	new filename[64];
	get_localinfo("amxx_configsdir", filename, charsmax(filename));
	format(filename, charsmax(filename), "%s/kufur_listesi.ini", filename);

	if(!file_exists(filename))
	{
		log_message("Swear Filter: %s dosyasi bulunamadi.", filename);
		return;
	}
	new iLen;
	while(g_swearsNum < MAX_WORDS && read_file(filename, g_swearsNum ,g_swearsNames[g_swearsNum][1],30,iLen))
	{
		if(g_swearsNames[g_swearsNum][0] == ';') continue;
		g_swearsNames[g_swearsNum][0] = iLen;
		++g_swearsNum;
	}
	log_message("Swear Filter: %d adet engellenecek kufur eklendi.", g_swearsNum);
} 
public hook_say(id)
{
    read_args(message, 191)
    remove_quotes(message)

    
    if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, "")) 
        return PLUGIN_CONTINUE

    new pos, i = 0;
    while(i < g_swearsNum)
    {
        if((pos = containi(message,g_swearsNames[i][1])) != -1)
        {
            new len = g_swearsNames[i][0];
            while(len--)
            message[pos++] = '*';
            continue;
        }
        ++i;
    }
	
    new name[32]
    get_user_name(id, name, 31)

    new admin = get_tag_index(id)

    new isAlive

    if(is_user_alive(id))
    {
        isAlive = 1
        alive = "^x01"
    }
    else
    {
        isAlive = 0
        alive = "^x01*DEAD* "
    }

    static color[10]

    if(admin)
    {
        // İsim
        switch(get_pcvar_num(g_NameColor))
        {
            case 1:
                format(strName, 191, "^x04%s %s%s", g_szTag[admin], alive, name)
            case 2:
                format(strName, 191, "^x04%s %s^x04%s ", g_szTag[admin], alive, name)
            case 3:
            {
                color = "SPECTATOR"
                format(strName, 191, "^x04%s %s^x03%s ", g_szTag[admin], alive, name)
            }
            case 4:
            {
                color = "CT"
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
            case 5:
            {
                color = "TERRORIST"
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
            case 6:
            {
                get_user_team(id, color, 9)
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
        }

        // Mesaj
        switch(get_pcvar_num(g_MessageColor))
        {
            case 1:    // Sari
                format(strText, 191, "%s", message)
            case 2:    // Yesil
                format(strText, 191, "^x04%s", message)
            case 3:    // Beyaz
            {
                copy(color, 9, "SPECTATOR")
                format(strText, 191, "^x03%s", message)
            }
            case 4:    // Mavi
            {
                copy(color, 9, "CT")
                format(strText, 191, "^x03%s", message)
            }
            case 5:    // Kirmizi
            {
                copy(color, 9, "TERRORIST")
                format(strText, 191, "^x03%s", message)
            }
        }
    }
    else     
    {
        get_user_team(id, color, 9)
        format(strName, 191, "%s^x03%s", alive, name)
        format(strText, 191, "%s", message)
    }

    format(message, 191, "%s^x01 :  %s", strName, strText)

    sendMessage(color, isAlive)    

    return PLUGIN_CONTINUE
}


public hook_teamsay(id)
{
    new playerTeam = get_user_team(id)
    new playerTeamName[19]

    switch(playerTeam) 
    {
        case 1:
            copy(playerTeamName, 11, "Terrorists")

        case 2:
            copy(playerTeamName, 18, "Counter-Terrorists")

        default:
            copy(playerTeamName, 9, "Spectator")
    }

    read_args(message, 191)
    remove_quotes(message)

   
    if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, "")) 
        return PLUGIN_CONTINUE

    new name[32]
    get_user_name(id, name, 31)

    new admin = get_tag_index(id)

    new isAlive

    if(is_user_alive(id))
    {
        isAlive = 1
        alive = "^x01"
    }
    else
    {
        isAlive = 0
        alive = "^x01*DEAD* "
    }

    static color[10]

    if(admin)
    {
        // İsim
        switch(get_pcvar_num(g_NameColor))
        {
            case 1:
                format(strName, 191, "%s(%s)^x04%s %s", alive, playerTeamName, g_szTag[admin], name)
            case 2:
                format(strName, 191, "%s(%s)^x04%s ^x04%s", alive, playerTeamName, g_szTag[admin], name)
            case 3:
            {
                color = "SPECTATOR"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 4:
            {
                color = "CT"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 5:
            {
                color = "TERRORIST"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 6:
            {
                get_user_team(id, color, 9)
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
        }

        // Message
        switch(get_pcvar_num(g_MessageColor))
        {
            case 1:    // Sari
                format(strText, 191, "%s", message)
            case 2:    // Yesil
                format(strText, 191, "^x04%s", message)
            case 3:    // Beyaz
            {
                copy(color, 9, "SPECTATOR")
                format(strText, 191, "^x03%s", message)
            }
            case 4:    // Mavi
            {
                copy(color, 9, "CT")
                format(strText, 191, "^x03%s", message)
            }
            case 5:    // Kirmizi
            {
                copy(color, 9, "TERRORIST")
                format(strText, 191, "^x03%s", message)
            }
        }
    }
    else     
    {
        get_user_team(id, color, 9)
        format(strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
        format(strText, 191, "%s", message)
    }

    format(message, 191, "%s ^x01:  %s", strName, strText)

    sendTeamMessage(color, isAlive, playerTeam)    

    return PLUGIN_CONTINUE
}


public set_color(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newColor
    read_argv(1, arg, 1)

    newColor = str_to_num(arg)

    if(newColor >= 1 && newColor <= 5)
    {
        set_pcvar_num(g_MessageColor, newColor)

        if(get_pcvar_num(g_NameColor) != 1 &&
            ((newColor == 3 &&  get_pcvar_num(g_NameColor) != 3)
            ||(newColor == 4 &&  get_pcvar_num(g_NameColor) != 4)
            ||(newColor == 5 &&  get_pcvar_num(g_NameColor) != 5)))
        {
            set_pcvar_num(g_NameColor, 2)
        }
    }

    return PLUGIN_HANDLED
}


public set_name_color(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newColor
    read_argv(1, arg, 1)

    newColor = str_to_num(arg)

    if(newColor >= 1 && newColor <= 6)
    {
        set_pcvar_num(g_NameColor, newColor)

        if((get_pcvar_num(g_MessageColor) != 1
            &&((newColor == 3 &&  get_pcvar_num(g_MessageColor) != 3)
            ||(newColor == 4 &&  get_pcvar_num(g_MessageColor) != 4)
            ||(newColor == 5 &&  get_pcvar_num(g_MessageColor) != 5)))
            || get_pcvar_num(g_NameColor) == 6)
        {
            set_pcvar_num(g_MessageColor, 2)
        }
    }

    return PLUGIN_HANDLED
}


public set_listen(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newListen
    read_argv(1, arg, 1)

    newListen = str_to_num(arg)

    set_pcvar_num(g_AdminListen, newListen)

    return PLUGIN_HANDLED
}


public sendMessage(color[], alive)
{
    new teamName[10]

    for(new player = 1; player < maxPlayers; player++)
    {
        if(!is_user_connected(player))
            continue

        if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
        {
            get_user_team(player, teamName, 9)
            changeTeamInfo(player, color)
            writeMessage(player, message)
            changeTeamInfo(player, teamName)
        }
    }
}


public sendTeamMessage(color[], alive, playerTeam)
{
    new teamName[10]

    for(new player = 1; player < maxPlayers; player++)
    {
        if(!is_user_connected(player))
            continue

        if(get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
        {
            if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
            {
                get_user_team(player, teamName, 9)
                changeTeamInfo(player, color)
                writeMessage(player, message)
                changeTeamInfo(player, teamName)
            }
        }
    }
}


public changeTeamInfo(player, team[])
{
    message_begin(MSG_ONE, teamInfo, _, player) 
    write_byte(player)                
    write_string(team)                
    message_end()                   
}


public writeMessage(player, message[])
{
    message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    
    write_byte(player)                   
    write_string(message)                    
    message_end()                        
}  
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
Admin tag eklentisinin içine swear filtre gömülü. ini dosyasını config klasörüne atıp kullanabilirsiniz.
kusura bakma kodlama işinde iyi değilim biraz daha açıklayıcı şekilde yardım edebilirmisin bu arada baktım admin tag eklentisi yok server da [kurucu]yazıyor fakat eklentinin adı sanırım admin tag değil

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
talhasendag
Mesajlar: 3
Kayıt: Cum Mar 20, 2020 7:12 am

Küfür engelleyen plugin ‼️

Mesaj gönderen talhasendag »

Yek'-ta yazdı: Cmt Mar 21, 2020 2:19 pm Eskiden eklentiler sıra ile çalışıyordu, fakat değişen mimariler sonucu tek bir bütün olarak çalışmaya başlayınca eski eklentiler de böyle bozulmaya başlamış. Eski sürüm amxmodx sürümü kullanırsanız eklentiler sırası ile çalışacağı için sorun olmayacaktır. Neyse, ben eklentileri birleştirdim.

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>

#define PLUGIN         	"Admin Yesil Yazi & Adminlerde Tag"
#define VERSION     	"2.2"
#define AUTHOR         	"EDITLEYEN: qurteisa"

#define ACCESS_LEVEL    ADMIN_IMMUNITY
#define ADMIN_LISTEN    ADMIN_LEVEL_C

new message[192]
new sayText
new teamInfo
new maxPlayers

new g_MessageColor
new g_NameColor
new g_AdminListen

new strName[191]
new strText[191]
new alive[11]

new const g_szTag[][] = {
    "[DestanGaming]",
    "[DestanGaming]",
    "[DestanGaming]",
    "[DestanGaming]"
}

new const g_iTagFlag[sizeof(g_szTag)] = {
    ADMIN_RCON,
    ADMIN_RCON,
    ADMIN_BAN,
    ADMIN_RESERVATION
}
#define MAX_WORDS 192

new g_swearsNames[MAX_WORDS][32];
new g_swearsNum;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)

    g_MessageColor = register_cvar("amx_color", "2") 
    g_NameColor = register_cvar("amx_namecolor", "6") 
    g_AdminListen = register_cvar("amx_listen", "1")


    sayText = get_user_msgid("SayText")
    teamInfo = get_user_msgid("TeamInfo")
    maxPlayers = get_maxplayers()


    register_message(sayText, "avoid_duplicated")

    register_concmd("amx_color", "set_color", ACCESS_LEVEL, "<color>")
    register_concmd("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
    register_concmd("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
    register_clcmd("say", "hook_say")
    register_clcmd("say_team", "hook_teamsay")
    readList();
}


public avoid_duplicated(msgId, msgDest, receiver)
{
    return PLUGIN_HANDLED
}

get_tag_index(id)
{
    new flags = get_user_flags(id)
    
    for(new i = 1; i < sizeof(g_iTagFlag); i++)
    {
        if(check_admin_flag(flags, g_iTagFlag[i]))
        {
            return i
        }
    }
    
    return 0
}

check_admin_flag(flags, flag)
{
    if(flag == ADMIN_ADMIN)
    {
        return ((flags & ~ADMIN_USER) > 0)
    }
    else if(flag == ADMIN_ALL)
    {
        return 1
    }
    
    return (flags & flag)
}
readList()  {
	new filename[64];
	get_localinfo("amxx_configsdir", filename, charsmax(filename));
	format(filename, charsmax(filename), "%s/kufur_listesi.ini", filename);

	if(!file_exists(filename))
	{
		log_message("Swear Filter: %s dosyasi bulunamadi.", filename);
		return;
	}
	new iLen;
	while(g_swearsNum < MAX_WORDS && read_file(filename, g_swearsNum ,g_swearsNames[g_swearsNum][1],30,iLen))
	{
		if(g_swearsNames[g_swearsNum][0] == ';') continue;
		g_swearsNames[g_swearsNum][0] = iLen;
		++g_swearsNum;
	}
	log_message("Swear Filter: %d adet engellenecek kufur eklendi.", g_swearsNum);
} 
public hook_say(id)
{
    read_args(message, 191)
    remove_quotes(message)

    
    if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, "")) 
        return PLUGIN_CONTINUE

    new pos, i = 0;
    while(i < g_swearsNum)
    {
        if((pos = containi(message,g_swearsNames[i][1])) != -1)
        {
            new len = g_swearsNames[i][0];
            while(len--)
            message[pos++] = '*';
            continue;
        }
        ++i;
    }
	
    new name[32]
    get_user_name(id, name, 31)

    new admin = get_tag_index(id)

    new isAlive

    if(is_user_alive(id))
    {
        isAlive = 1
        alive = "^x01"
    }
    else
    {
        isAlive = 0
        alive = "^x01*DEAD* "
    }

    static color[10]

    if(admin)
    {
        // İsim
        switch(get_pcvar_num(g_NameColor))
        {
            case 1:
                format(strName, 191, "^x04%s %s%s", g_szTag[admin], alive, name)
            case 2:
                format(strName, 191, "^x04%s %s^x04%s ", g_szTag[admin], alive, name)
            case 3:
            {
                color = "SPECTATOR"
                format(strName, 191, "^x04%s %s^x03%s ", g_szTag[admin], alive, name)
            }
            case 4:
            {
                color = "CT"
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
            case 5:
            {
                color = "TERRORIST"
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
            case 6:
            {
                get_user_team(id, color, 9)
                format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
            }
        }

        // Mesaj
        switch(get_pcvar_num(g_MessageColor))
        {
            case 1:    // Sari
                format(strText, 191, "%s", message)
            case 2:    // Yesil
                format(strText, 191, "^x04%s", message)
            case 3:    // Beyaz
            {
                copy(color, 9, "SPECTATOR")
                format(strText, 191, "^x03%s", message)
            }
            case 4:    // Mavi
            {
                copy(color, 9, "CT")
                format(strText, 191, "^x03%s", message)
            }
            case 5:    // Kirmizi
            {
                copy(color, 9, "TERRORIST")
                format(strText, 191, "^x03%s", message)
            }
        }
    }
    else     
    {
        get_user_team(id, color, 9)
        format(strName, 191, "%s^x03%s", alive, name)
        format(strText, 191, "%s", message)
    }

    format(message, 191, "%s^x01 :  %s", strName, strText)

    sendMessage(color, isAlive)    

    return PLUGIN_CONTINUE
}


public hook_teamsay(id)
{
    new playerTeam = get_user_team(id)
    new playerTeamName[19]

    switch(playerTeam) 
    {
        case 1:
            copy(playerTeamName, 11, "Terrorists")

        case 2:
            copy(playerTeamName, 18, "Counter-Terrorists")

        default:
            copy(playerTeamName, 9, "Spectator")
    }

    read_args(message, 191)
    remove_quotes(message)

   
    if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, "")) 
        return PLUGIN_CONTINUE

    new name[32]
    get_user_name(id, name, 31)

    new admin = get_tag_index(id)

    new isAlive

    if(is_user_alive(id))
    {
        isAlive = 1
        alive = "^x01"
    }
    else
    {
        isAlive = 0
        alive = "^x01*DEAD* "
    }

    static color[10]

    if(admin)
    {
        // İsim
        switch(get_pcvar_num(g_NameColor))
        {
            case 1:
                format(strName, 191, "%s(%s)^x04%s %s", alive, playerTeamName, g_szTag[admin], name)
            case 2:
                format(strName, 191, "%s(%s)^x04%s ^x04%s", alive, playerTeamName, g_szTag[admin], name)
            case 3:
            {
                color = "SPECTATOR"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 4:
            {
                color = "CT"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 5:
            {
                color = "TERRORIST"
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
            case 6:
            {
                get_user_team(id, color, 9)
                format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
            }
        }

        // Message
        switch(get_pcvar_num(g_MessageColor))
        {
            case 1:    // Sari
                format(strText, 191, "%s", message)
            case 2:    // Yesil
                format(strText, 191, "^x04%s", message)
            case 3:    // Beyaz
            {
                copy(color, 9, "SPECTATOR")
                format(strText, 191, "^x03%s", message)
            }
            case 4:    // Mavi
            {
                copy(color, 9, "CT")
                format(strText, 191, "^x03%s", message)
            }
            case 5:    // Kirmizi
            {
                copy(color, 9, "TERRORIST")
                format(strText, 191, "^x03%s", message)
            }
        }
    }
    else     
    {
        get_user_team(id, color, 9)
        format(strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
        format(strText, 191, "%s", message)
    }

    format(message, 191, "%s ^x01:  %s", strName, strText)

    sendTeamMessage(color, isAlive, playerTeam)    

    return PLUGIN_CONTINUE
}


public set_color(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newColor
    read_argv(1, arg, 1)

    newColor = str_to_num(arg)

    if(newColor >= 1 && newColor <= 5)
    {
        set_pcvar_num(g_MessageColor, newColor)

        if(get_pcvar_num(g_NameColor) != 1 &&
            ((newColor == 3 &&  get_pcvar_num(g_NameColor) != 3)
            ||(newColor == 4 &&  get_pcvar_num(g_NameColor) != 4)
            ||(newColor == 5 &&  get_pcvar_num(g_NameColor) != 5)))
        {
            set_pcvar_num(g_NameColor, 2)
        }
    }

    return PLUGIN_HANDLED
}


public set_name_color(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newColor
    read_argv(1, arg, 1)

    newColor = str_to_num(arg)

    if(newColor >= 1 && newColor <= 6)
    {
        set_pcvar_num(g_NameColor, newColor)

        if((get_pcvar_num(g_MessageColor) != 1
            &&((newColor == 3 &&  get_pcvar_num(g_MessageColor) != 3)
            ||(newColor == 4 &&  get_pcvar_num(g_MessageColor) != 4)
            ||(newColor == 5 &&  get_pcvar_num(g_MessageColor) != 5)))
            || get_pcvar_num(g_NameColor) == 6)
        {
            set_pcvar_num(g_MessageColor, 2)
        }
    }

    return PLUGIN_HANDLED
}


public set_listen(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[1], newListen
    read_argv(1, arg, 1)

    newListen = str_to_num(arg)

    set_pcvar_num(g_AdminListen, newListen)

    return PLUGIN_HANDLED
}


public sendMessage(color[], alive)
{
    new teamName[10]

    for(new player = 1; player < maxPlayers; player++)
    {
        if(!is_user_connected(player))
            continue

        if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
        {
            get_user_team(player, teamName, 9)
            changeTeamInfo(player, color)
            writeMessage(player, message)
            changeTeamInfo(player, teamName)
        }
    }
}


public sendTeamMessage(color[], alive, playerTeam)
{
    new teamName[10]

    for(new player = 1; player < maxPlayers; player++)
    {
        if(!is_user_connected(player))
            continue

        if(get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
        {
            if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
            {
                get_user_team(player, teamName, 9)
                changeTeamInfo(player, color)
                writeMessage(player, message)
                changeTeamInfo(player, teamName)
            }
        }
    }
}


public changeTeamInfo(player, team[])
{
    message_begin(MSG_ONE, teamInfo, _, player) 
    write_byte(player)                
    write_string(team)                
    message_end()                   
}


public writeMessage(player, message[])
{
    message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    
    write_byte(player)                   
    write_string(message)                    
    message_end()                        
}  
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
Admin tag eklentisinin içine swear filtre gömülü. ini dosyasını config klasörüne atıp kullanabilirsiniz.
ichat diye bir eklenti var

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Yek'-ta
Mesajlar: 9626
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

Küfür engelleyen plugin ‼️

Mesaj gönderen Yek'-ta »

https://medium.com/yazılım-mimarileri/y ... e64353b4ac
Yazılım mimarisi kavramı burada mevcuttur. Yakın zamanda paneldeki admin chat eklentisine ekleme yaparız.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Kaybetmeyen
Mesajlar: 254
Kayıt: Prş Ağu 22, 2019 11:12 pm
Clan İsmi: RedDawn

Küfür engelleyen plugin ‼️

Mesaj gönderen Kaybetmeyen »

Yek'-ta yazdı: Cmt Mar 21, 2020 9:28 pm https://medium.com/yazılım-mimarileri/y ... e64353b4ac
Yazılım mimarisi kavramı burada mevcuttur. Yakın zamanda paneldeki admin chat eklentisine ekleme yaparız.
Teşekkürler beklemedeyiz.

Link:
Linklerini gizle
Linki Kopyala
Cevapla