[Rezolvat] [Cerere] Plugin rang_admin_chat.

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
h1Tz0r
Membru, skill 0
Membru, skill 0
Posts: 3
Joined: 02 Mar 2014, 12:12
Detinator Steam: Da
CS Status: Life Is Short...It's Up To YoU...
Detinator server CS: Bb.JoiNeT.Ro
SteamID: karpeka1996
Location: Cluj-Napoca
Has thanked: 1 time
Contact:

08 Mar 2014, 12:11

Nickname: h1Tz0r
Numele pluginului cerut: rang_admin_chat
Descriere plugin cerut: Nu am nimic de adaugat , cred ca stiti cum arata.. ( [fondator] alex: bla bla)
Alte informatii: As dori sa-mi faceti un rang_admin_chat cu gradele acestea si accesele.


"FondatoR",
"OwneR + VIP",
"OwneR",
"Co-OwneR + VIP",
"Co-OwneR",
"GoD + VIP",
"GoD",
"SemI-GoD + VIP",
"SemI-GoD",
"GlobaL ModeratoR + VIP",
"GlobaL ModeratoR",
"ModeratoR + VIP",
"ModeratoR",
"AdministratoR + VIP",
"AdministratoR",
"HelpeR + VIP",
"HelpeR",
"SloT",
"GirlS",
"V.I.P"


"abcdefghijklmnopqrstu",
"abcdefghijlmnopqrstu",
"bcdefghijlmnopqrstu",
"abcdefghijmnopqrstu",
"bcdefghijmnopqrstu",
"abcdefgijmnopqrstu",
"bcdefgijmnopqrstu",
"abcdefgijmnopqrst",
"bcdefgijmnopqrst",
"abcdefgijmnqrstu",
"bcdefgijmnqrst",
"abcdefgijmnqrst",
"bcdefgijmnqrst",
"abcdefgijmnstu",
"bcdefgijmnstu",
"abcefijm",
"bcefijm",
"bi",
"bi",
"abcefiju"


Multumesc frumos !
Last edited by NuRoFeN [;x] on 28 Mar 2014, 10:43, edited 1 time in total.
Reason: Rezolvat !
"We have to look for the facts, not words."
RoyalServer
h1Tz0r
Membru, skill 0
Membru, skill 0
Posts: 3
Joined: 02 Mar 2014, 12:12
Detinator Steam: Da
CS Status: Life Is Short...It's Up To YoU...
Detinator server CS: Bb.JoiNeT.Ro
SteamID: karpeka1996
Location: Cluj-Napoca
Has thanked: 1 time
Contact:

08 Mar 2014, 17:47

Up , va rog , am nevoie cat mai repede de el :|
"We have to look for the facts, not words."
H3rTz.
Membru, skill 0
Membru, skill 0
Posts: 46
Joined: 06 Feb 2014, 22:13
Detinator Steam: Nu
CS Status: Stau
Detinator server CS: Cs.CsRullz.Ro
Has thanked: 10 times
Been thanked: 1 time
Contact:

08 Mar 2014, 17:57

Da-mi sma de la pluginul acela si ti-l fac.
Daca te-am ajutat apasa butonul multumesc !!:)
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

08 Mar 2014, 18:04

| Afiseaza codul
[code=php]#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 20

new g_Rang[MAX_GROUPS][] = {
    "FondatoR",
    "OwneR + VIP",
    "OwneR",
    "Co-OwneR + VIP",
    "Co-OwneR",
    "GoD + VIP",
    "GoD",
    "SemI-GoD + VIP",
    "SemI-GoD",
    "GlobaL ModeratoR + VIP",
    "GlobaL ModeratoR",
    "ModeratoR + VIP",
    "ModeratoR",
    "AdministratoR + VIP",
    "AdministratoR",
    "HelpeR + VIP",
    "HelpeR",
    "SloT",
    "GirlS",
    "V.I.P"
};

new g_RangFlag[MAX_GROUPS][] = {
    "abcdefghijklmnopqrstu",
    "abcdefghijlmnopqrstu",
    "bcdefghijlmnopqrstu",
    "abcdefghijmnopqrstu",
    "bcdefghijmnopqrstu",
    "abcdefgijmnopqrstu",
    "bcdefgijmnopqrstu",
    "abcdefgijmnopqrst",
    "bcdefgijmnopqrst",
    "abcdefgijmnqrstu",
    "bcdefgijmnqrst",
    "abcdefgijmnqrst",
    "bcdefgijmnqrst",
    "abcdefgijmnstu",
    "bcdefgijmnstu",
    "abcefijm",
    "bcefijm",
    "bi",
    "bi",
    "abcefiju"
};

// 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  [/code]
h1Tz0r
Membru, skill 0
Membru, skill 0
Posts: 3
Joined: 02 Mar 2014, 12:12
Detinator Steam: Da
CS Status: Life Is Short...It's Up To YoU...
Detinator server CS: Bb.JoiNeT.Ro
SteamID: karpeka1996
Location: Cluj-Napoca
Has thanked: 1 time
Contact:

28 Mar 2014, 10:27

Multumesc.
"We have to look for the facts, not words."
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 36 guests