cerere plugin rang admin

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
kenzorashh
Membru, skill 0
Membru, skill 0
Posts: 59
Joined: 14 Dec 2013, 14:16
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Contact:

14 Dec 2013, 14:21

Vreau si eu un plugin sa arate inaintea numelui rangul adminului de exemplu [OWNER]Gheorghe
[CO-OWNER]Ilie
=========================FONDATOR================abcdefghijklmnopqrstu====================

=========================OWNER===================abcdefghijklmnopqrs======================


=========================Co-Owner=================abcdefijklmnopqrs========================


========================= Supervizor================bcdefijklmnopqr==========================


=========================GOD=================bcdefijmnop==============================


=========================Semi-GOD===============bcdefijmnou==============================


=========================Administrator=====================bcdefij==================================


=========================Moderator====================bceij====================================


=========================Co-Moderator=====================btim=====================================


=========================Helper=======================bi=======================================
Mersi.
http://www.steampowers.net?join=314538 fa-ti un cont si poti castiga un joc steam la alegere.
Image
RoyalServer
kenzorashh
Membru, skill 0
Membru, skill 0
Posts: 59
Joined: 14 Dec 2013, 14:16
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Contact:

15 Dec 2013, 19:17

BUMP ! Nimeni ?
http://www.steampowers.net?join=314538 fa-ti un cont si poti castiga un joc steam la alegere.
Image
User avatar
Truth*
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 766
Joined: 11 Oct 2013, 11:08
Detinator Steam: Da
SteamID: Ezeru
Reputatie: Fost moderator ajutator
Membru Club eXtreamCS (4 luni)
Nume anterior: HyperioN.
Scripter eXtreamCS
0.2 / 3
Fond eXtream: 0
Location: Sibiu
Has thanked: 44 times
Been thanked: 122 times

15 Dec 2013, 19:33

Poftim :
| Afiseaza codul
#include <amxmodx>

#pragma semicolon 1

enum Color {
    NORMAL = 1, GREEN, TEAM_COLOR,  GREY, RED, BLUE,
};

new TeamName[][] =  {
    "", "TERRORIST", "CT", "SPECTATOR"
};

// start cstrike.inc
enum CsTeams {
    CS_TEAM_UNASSIGNED = 0,
    CS_TEAM_T = 1,
    CS_TEAM_CT = 2,
    CS_TEAM_SPECTATOR = 3
};

native CsTeams:cs_get_user_team(index);
// end cstrike.inc

// edit here

#define MAX_GROUPS 10

new g_Rang[MAX_GROUPS][] = {
    "FONDATOR",
    "OWNER",
    "Co-Owner",
    "Supervizor",
    "GOD",
    "Semi-GOD",
    "Administrator",
    "Moderator",
    "Co-Moderator",
    "Helper"
};

new g_RangFlag[MAX_GROUPS][] = {
    "abcdefghijklmnopqrstu",
    "abcdefghijklmnopqrs",
    "abcdefijklmnopqrs",
    "bcdefijklmnopqr",
    "bcdefijmnop",
    "bcdefijmnou",
    "bcdefij",
    "bceij",
    "btim",
    "bi"

};

// end edit here

new g_RangFlag_Value[MAX_GROUPS];
new cvar_type, gType[2][50];

public plugin_init() {
    register_plugin("RangAdminChat", "0.7", "Ex3cuTioN aka Arion HD.");
    
    register_clcmd("say","hook_say");
    register_clcmd("say_team","hook_say2");
    
    for(new i = 0; i < MAX_GROUPS; i++)
        g_RangFlag_Value = read_flags(g_Rang);
    
    cvar_type = register_cvar("amx_rang_chat","3");
    
    switch(get_pcvar_num(cvar_type)) {
        case 1 : {
            gType[0] = "^x04*%s*^x03%s^x01 : %s";
            gType[1] = "^x04*%s*^x01(%s)^x03 %s^x01 : %s";
        }
        case 2 : {
            gType[0] = "^x04(%s)^x03%s^x01 : %s";
            gType[1] = "^x04(%s)^x01(%s)^x03 %s^x01 : %s";
        }
        case 3 : {
            gType[0] = "^x04[%s]^x03 %s^x01 : %s";
            gType[1] = "^x04[%s]^x01(%s)^x03 %s^x01 : %s";
        }
    }
}

public hook_say(id) {
    if(is_user_bot(id))
        return PLUGIN_CONTINUE;
    
    static chat[192];
    read_args(chat, sizeof(chat) - 1);
    remove_quotes(chat);
    
    if(equali(chat,""))
        return PLUGIN_CONTINUE;
    
    if(is_user_admin(id)) {
        new bool:hasRang = false;
        for(new i = 0; i < MAX_GROUPS; i++) {
            if(get_user_flags(id) == read_flags(g_RangFlag))  {
                switch(cs_get_user_team(id)) {
                    case CS_TEAM_T : ColorChat(0, RED, gType[0],  g_Rang, get_name(id), chat);
                    case CS_TEAM_CT : ColorChat(0, BLUE, gType[0], g_Rang, get_name(id), chat);
                    case CS_TEAM_SPECTATOR : ColorChat(0, GREY, gType[0], g_Rang, get_name(id), chat);
                }
                hasRang = true;
            }
        }
        if(!hasRang)
            get_team(id, chat);
    }
    else 
        get_team(id, chat);
    
    return PLUGIN_HANDLED;
}

stock get_team(id, chat[]) {
    switch(cs_get_user_team(id)) {
        case CS_TEAM_T : ColorChat(0, RED, "%s%s^x01 : %s", is_user_alive(id) ? "" : "*DEAD*",  get_name(id), chat);
        case CS_TEAM_CT : ColorChat(0, BLUE, "%s%s^x01 : %s", is_user_alive(id) ? "" : "*DEAD*",  get_name(id), chat);
        case CS_TEAM_SPECTATOR : ColorChat(0, GREY, "*SPEC*%s^x01 : %s",  get_name(id), chat);
    }
}

public hook_say2(id) {
    if(is_user_bot(id))
        return PLUGIN_CONTINUE;
    
    static chat[192];
    read_args(chat, sizeof(chat) - 1);
    remove_quotes(chat);
    
    if(equali(chat,""))
        return PLUGIN_CONTINUE;
    
    new players[32], num;
    get_players(players, num, "c");
                
    if(is_user_admin(id)) {
        new bool:hasRang = false;
        for(new i = 0; i < MAX_GROUPS; i++) {
            if(get_user_flags(id) == read_flags(g_RangFlag)) {
                for(new x = 0; x < num; x++) {
                    if(get_user_team(players[x]) == get_user_team(id)) {
                        switch(cs_get_user_team(id)) {
                            case CS_TEAM_T : ColorChat(players[x], RED, gType[1], g_Rang, "Terrorist", get_name(id), chat);
                            case CS_TEAM_CT : ColorChat(players[x], BLUE, gType[1], g_Rang, "Counter-Terrorist",  get_name(id), chat);
                            case CS_TEAM_SPECTATOR : ColorChat(players[x], GREY, gType[1], g_Rang, "Spectator", get_name(id), chat);
                        }
                    }
                }
                hasRang = true;
            }
        }
        if(!hasRang)
            get_team2(id, num, players, chat);
    }
    else
        get_team2(id, num, players,  chat);
        
    return PLUGIN_HANDLED;
}

stock get_team2(id, num, players[],  chat[]) {
    for(new x = 0; x < num; x++) {
        if(get_user_team(players[x]) == get_user_team(id)) {
            switch(cs_get_user_team(id)) {
                case CS_TEAM_T : ColorChat(players[x], RED, "^x01(Terrorist)^x03 %s^x01 : %s", get_name(id), chat);
                case CS_TEAM_CT : ColorChat(players[x], BLUE, "^x01(Counter-Terrorist)^x03 %s^x01 : %s", get_name(id), chat);
                case CS_TEAM_SPECTATOR : ColorChat(players[x], GREY, "^x01(Spectator)^x03 %s^x01 : %s", get_name(id), chat);
            }
        }
    }
}

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) {
    new message[256];

    switch(type) {
        case NORMAL: // clients scr_concolor cvar color
        {
            message[0] = 0x01;
        }
        case GREEN: // Green
        {
            message[0] = 0x04;
        }
        default: // White, Red, Blue
        {
            message[0] = 0x03;
        }
    }

    vformat(message[1], 251, msg, 4);

    // Make sure message is not longer than 192 character. Will crash the server.
    message[192] = '^0';

    new team, ColorChange, index, MSG_Type;
    
    if(id) {
        MSG_Type = MSG_ONE;
        index = id;
    } else {
        index = FindPlayer();
        MSG_Type = MSG_ALL;
    }
    
    team = get_user_team(index);
    ColorChange = ColorSelection(index, MSG_Type, type);

    ShowColorMessage(index, MSG_Type, message);
        
    if(ColorChange) {
        Team_Info(index, MSG_Type, TeamName[team]);
    }
}

ShowColorMessage(id, type, message[]) {
    static bool:saytext_used;
    static get_user_msgid_saytext;
    if(!saytext_used)
    {
        get_user_msgid_saytext = get_user_msgid("SayText");
        saytext_used = true;
    }
    message_begin(type, get_user_msgid_saytext, _, id);
    write_byte(id);
    write_string(message);
    message_end();    
}

Team_Info(id, type, team[]) {
    static bool:teaminfo_used;
    static get_user_msgid_teaminfo;
    
    if(!teaminfo_used) {
        get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
        teaminfo_used = true;
    }
    message_begin(type, get_user_msgid_teaminfo, _, id);
    write_byte(id);
    write_string(team);
    message_end();

    return 1;
}

ColorSelection(index, type, Color:Type) {
    switch(Type) {
        case RED:
        {
            return Team_Info(index, type, TeamName[1]);
        }
        case BLUE:
        {
            return Team_Info(index, type, TeamName[2]);
        }
        case GREY:
        {
            return Team_Info(index, type, TeamName[0]);
        }
    }

    return 0;
}

FindPlayer() {
    new i = -1;

    while(i <= get_maxplayers()) {
        if(is_user_connected(++i))
            return i;
    }

    return -1;
}

stock get_name (id) {
    new name[32];
    get_user_name(id, name, 31);
    return name;
}

// start amxmisc.inc
stock is_user_admin(id) {
    new __flags=get_user_flags(id);
    return (__flags>0 && !(__flags&ADMIN_USER));
}
// end amxmisc.inc


Cvar-uri:
amx_rang_chat - Tipul mesajului

1
Image
2
Image
3
Image
P.S.: Netestat = Nu am avut timp să mă uit atent peste cod. Deci ceea ce am scris este posibil să fie greşit sau să aibă erori.

If i helped you and you wanna thank me, you can donate at this link : here
This will motivate me to help you in the future.
[If you want a private plugin send me a PM.(No complex plugins please, I am a student and I don't have the time to make those)]
kenzorashh
Membru, skill 0
Membru, skill 0
Posts: 59
Joined: 14 Dec 2013, 14:16
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Contact:

15 Dec 2013, 19:46

mersi
http://www.steampowers.net?join=314538 fa-ti un cont si poti castiga un joc steam la alegere.
Image
User avatar
Truth*
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 766
Joined: 11 Oct 2013, 11:08
Detinator Steam: Da
SteamID: Ezeru
Reputatie: Fost moderator ajutator
Membru Club eXtreamCS (4 luni)
Nume anterior: HyperioN.
Scripter eXtreamCS
0.2 / 3
Fond eXtream: 0
Location: Sibiu
Has thanked: 44 times
Been thanked: 122 times

15 Dec 2013, 20:13

Cu placere :P As aprecia si un multumesc daca se poate ;)
P.S.: Netestat = Nu am avut timp să mă uit atent peste cod. Deci ceea ce am scris este posibil să fie greşit sau să aibă erori.

If i helped you and you wanna thank me, you can donate at this link : here
This will motivate me to help you in the future.
[If you want a private plugin send me a PM.(No complex plugins please, I am a student and I don't have the time to make those)]
Post Reply

Return to “Cereri”

  • Information