Modificare plugin

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
dannyel98
Membru, skill 0
Membru, skill 0
Posts: 51
Joined: 26 Mar 2017, 21:58
Detinator Steam: Da
Detinator server CS: ZP.CSBLACKDEVIL.COM
SteamID: dannyel1998
Fond eXtream: 0

15 Jul 2018, 17:35

cand scriu xpmenu nu se deschide meniul de zombie xp alege clase sau up level etc din cauza acetui plugin pe pot face
este un fel de tag pe grade si flag
| 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 8

new g_Rang[MAX_GROUPS][] = {
    "Fondator",
    "Owner",
    "Co-Owner",
    "Good",
    "S-Moderator",
    "Moderator",
    "Administrator",
    "Helper"
};

new g_RangFlag[MAX_GROUPS][] = {
    "abcdefghijklmnopqrstu",
    "abcdefghijklmnopqrsu",
    "bcdefijmnopqrsuh",
    "bcdefijmnopqrsh",
    "bcdefijmnopqrh",
    "bcdefijmnopqh",
    "bcdefijmnoh",
    "bceijmnoh"
};

// 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
..:: ZP.CSBLACKDEVIL.COM # 178.32.241.8:27015 # WWW.CSBLACKDEVIL.COM ::.
https://www.gametracker.com/server_info ... 1.8:27015/
RoyalServer
User avatar
Laurentiu P.
Fost moderator
Fost moderator
Posts: 2549
Joined: 10 Jul 2013, 21:26
Detinator Steam: Da
Reputatie: Fost super moderator
Fond eXtream: 100
Has thanked: 26 times
Been thanked: 62 times
Contact:

15 Jul 2018, 18:12

pune acest plugin de RANG ADMIN CHAT dupa pluginul de XP in plugins.ini.
no...
dannyel98
Membru, skill 0
Membru, skill 0
Posts: 51
Joined: 26 Mar 2017, 21:58
Detinator Steam: Da
Detinator server CS: ZP.CSBLACKDEVIL.COM
SteamID: dannyel1998
Fond eXtream: 0

15 Jul 2018, 23:19

mersi merge bine
..:: ZP.CSBLACKDEVIL.COM # 178.32.241.8:27015 # WWW.CSBLACKDEVIL.COM ::.
https://www.gametracker.com/server_info ... 1.8:27015/
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 18 guests