Cerere rangadmin in chat

Descarcari de pluginuri si discutii despre acestea.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
donciujunior1999
Membru, skill 0
Membru, skill 0
Posts: 7
Joined: 06 May 2017, 20:41
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

06 May 2017, 23:12

Nu merge sa il compile
#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 18

new g_Rang[MAX_GROUPS][] = {
"DETINATOR",
"DONATOR",
"OWNER+VIP",
"OWNER",
"CO-OWNER+VIP",
"CO-OWNER",
"GOD+VIP",
"GOD",
"SUPER-MODERATOR+VIP",
"SUPER-MODERATOR",
"MODERATOR+VIP",
"MODERATOR",
"ADMINISTRATOR+VIP",
"ADMINISTRAOR",
"HELPER+VIP",
"HELPER",
"V.I.P",
"SLOT"
};

new g_RangFlag[MAX_GROUPS][] = {
"abcdefghijklmnopqrstu",
"abcdefghijlmnopqrstu",
"bcdefghijmnopqrsut",
"bcdefghijmnopqrsu",
"bcdefijmnopqrsut",
"bcdefijmnopqrsu",
"bcdefijmnopqrst",
"bcdefijmnopqrs",
"bcdefijmnopqrt",
"bcdefijmnopqr",
"bcdefijmnopq",
"bcdefijmnot",
"bcdefijmno",
"bceijmnot",
"bceijmno",
"bt",
"b"

};

// 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
RoyalServer
donciujunior1999
Membru, skill 0
Membru, skill 0
Posts: 7
Joined: 06 May 2017, 20:41
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

07 May 2017, 01:38

rezolvat !
User avatar
eMeKa.eXe
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 717
Joined: 12 Jan 2016, 03:59
Detinator Steam: Da
Reputatie: Nume anterior: SkeletoN2016
Fost Membru Club eXtreamCS (2 luni)
Fond eXtream: 0
Has thanked: 7 times
Been thanked: 28 times

06 Apr 2020, 04:19

NEXT LEVEL
Image
Post Reply

Return to “Pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 4 guests