Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Админ в чате зелёный [поправить]

Статус пользователя Karpen
сообщение 23.5.2011, 17:42
Сообщение #1


Стаж: 15 лет

Сообщений: 368
Благодарностей: 27
Полезность: < 0

Вот я нашел плагин, что админа ник, в чате зелёным цветом,

1. Как мне сделать не зелёный, а синий например цвет?
2. И кто может исправить плагин? Когда я пишу комманду: /me, /rank, /top15 или другу, через /, то она убирается, и пишет: me, rank, top15 (и так все команды)

adminchatcolor.sma
Код
#include <amxmodx>
#include <amxmisc>

new g_msgSayText
new funcType[32], funcCallType[32]
new normalChat[32] // handle recursiveness, to temporarily switch back to normal chat using /

public plugin_init() {
    register_plugin("Admin Chat", "1.2", "faenix")
    
    register_concmd("amx_say", "adminSay", ADMIN_CHAT, "<text> - Displays colored admin message to all")
    register_concmd("amx_chat", "adminChat", ADMIN_CHAT, "<text> - Displays colored message only to other admins")
    register_concmd("amx_psay", "adminPSay", ADMIN_CHAT, "<name or #userid> <text> - Send a message to only one user")
    register_concmd("amx_namegreen", "toggleGreen", ADMIN_CHAT, "<1 or 0> - Should regular chat of an admin be green")
    
    register_clcmd("say", "chatSay", 0, "@<text> - Displays colored admin message to all")
    register_clcmd("say_team", "chatTeamSay", 0, "@<text> - Diplays colored message only to other admins")
    
    register_cvar("sv_namegreen", "1")
    
    g_msgSayText = get_user_msgid("SayText")
}

public showAdminChat(id) {    
    new message[192], players[32], numPlayers, adminName[32]
    read_args(message, 191)
    remove_quotes(message)
    get_players(players, numPlayers, "c") // skip bots
    get_user_name(id, adminName, 31)
    
    new adminMsg[192]
    if (funcType[id] == 0) // called using say or amx_say
        format(adminMsg, 191, "^x01(ALL) ^x04%s ^x01: %s", adminName, message[funcCallType[id]])
    else // called using say_team or amx_chat
        format(adminMsg, 191, "^x01(ADMINS) ^x04%s ^x01: %s", adminName, message[funcCallType[id]])
    
    for (new i = 0; i <= numPlayers; i++) {
        if (!is_user_connected(players[i]))
            continue
        
        // if say_team or amx_chat, send only to other admins
        if (funcType[id] == 1 && !(get_user_flags(players[i]) & ADMIN_CHAT))
            continue

        message_begin(MSG_ONE, g_msgSayText, {0,0,0}, players[i])
        write_byte(players[i])
        write_string(adminMsg)
        message_end()
    }

    return PLUGIN_HANDLED_MAIN
}

public chatSay(id) {
    if (!access(id, ADMIN_CHAT)) return PLUGIN_CONTINUE
    
    if (normalChat[id]) {
        normalChat[id] = 0
        return PLUGIN_CONTINUE
    }
    
    funcCallType[id] = 1 // function called with say
    funcType[id] = 0 // tell function we are sending message to all
    
    new chat[1]
    read_argv(1, chat, 1)
    if (chat[0] == '@') {
        showAdminChat(id)
        return PLUGIN_HANDLED_MAIN
    }
        
    if (get_cvar_num("sv_namegreen")) {
        if (chat[0] == '/') {
            new message[192]
            read_args(message, 191)
            remove_quotes(message)
            normalChat[id] = 1
            client_cmd(id, "say %s", message[1]) // recursive
            return PLUGIN_HANDLED_MAIN
        }
        greenChat(id)
        return PLUGIN_HANDLED_MAIN
    }
    
    return PLUGIN_CONTINUE
}

public chatTeamSay(id) {
    if (!access(id, ADMIN_CHAT)) return PLUGIN_CONTINUE
    
    if (normalChat[id]) {
        normalChat[id] = 0
        return PLUGIN_CONTINUE
    }
    
    funcCallType[id] = 1 // function called with say
    funcType[id] = 1 // tell function we are sending message only to admins or team

    new chat[1]
    read_argv(1, chat, 1)
    if (chat[0] == '@') {
        showAdminChat(id)
        return PLUGIN_HANDLED_MAIN
    }
    
    if (get_cvar_num("sv_namegreen")) {
        if (chat[0] == '/') {
            new message[192]
            read_args(message, 191)
            remove_quotes(message)
            normalChat[id] = 1
            client_cmd(id, "say_team %s", message[1]) // recursive
            return PLUGIN_HANDLED_MAIN
        }
        greenChat(id)
        return PLUGIN_HANDLED_MAIN
    }
    return PLUGIN_CONTINUE
}

public adminSay(id, level, cid) {
    if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED_MAIN
    
    funcCallType[id] = 0 // function called with amx_say
    funcType[id] = 0 // tell function we are sending message to all
    showAdminChat(id)
    return PLUGIN_HANDLED_MAIN
}

public adminChat(id, level, cid) {
    if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED_MAIN
    
    funcCallType[id] = 0 // function called with amx_chat
    funcType[id] = 1 // tell function we are sending message only to admins
    showAdminChat(id)
    return PLUGIN_HANDLED_MAIN
}

public adminPSay(id, level, cid) {
    if (!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED_MAIN
    new name[32], length
    read_argv(1, name, 31)
    length = strlen(name) + 1
    
    new msgId = cmd_target(id, name, 0)
    if (!msgId) return PLUGIN_HANDLED_MAIN
    
    new message[192], msgToName[32], adminName[32]
    read_args(message, 191)
    format(message, 191, "%s", message[length])
    remove_quotes(message)
    get_user_name(msgId, msgToName, 31)
    get_user_name(id, adminName, 31)
    
    new showTo[192], showFrom[192]
    format(showTo, 191, "^x01(PRIVATE TO) ^x03%s ^x01: %s", msgToName, message)
    format(showFrom, 191, "^x01(PRIVATE FROM) ^x04%s ^x01: %s", adminName, message)
    
    message_begin(MSG_ONE, g_msgSayText, {0,0,0}, id)
    write_byte(id)
    write_string(showTo)
    message_end()
    
    message_begin(MSG_ONE, g_msgSayText, {0,0,0}, msgId)
    write_byte(msgId)
    write_string(showFrom)
    message_end()
    
    return PLUGIN_HANDLED_MAIN
}

public greenChat(id) {
    new adminMsg[192], message[192], players[32], numPlayers, adminName[32], adminTeam, isAlive
    read_args(message, 191)
    remove_quotes(message)
    if (strlen(message) == 0) return PLUGIN_HANDLED_MAIN
    get_players(players, numPlayers, "c") // skip bots
    get_user_name(id, adminName, 31)
    isAlive = is_user_alive(id)
    adminTeam = get_user_team(id)
    
    if (funcType[id]) { // Sent a team message
        if (adminTeam == 1)
            format(adminMsg, 191, "^x01(Terrorist)")
        else if (adminTeam == 2)
            format(adminMsg, 191, "^x01(Counter-Terrorist)")
    }
    
    if (!isAlive) {
        if (adminTeam == 0) {
            if (funcType[id])
                format(adminMsg, 191, "^x01(Spectator)%s", adminMsg)
            else
                format(adminMsg, 191, "^x01*SPEC*%s", adminMsg)
        } else
            format(adminMsg, 191, "^x01*DEAD*%s", adminMsg)
    }
    
    if (strlen(adminMsg) == 0)
        format(adminMsg, 191, "^x01^x04%s ^x01:  %s", adminName, message)
    else
        format(adminMsg, 191, "^x01%s ^x04%s ^x01:  %s", adminMsg, adminName, message)
    
    for (new i = 0; i <= numPlayers; i++) {
        if (!is_user_connected(players[i]))
            continue
        
        if (isAlive != is_user_alive(players[i]))
            continue
        if (funcType[id] == 1 && get_user_team(players[i]) != adminTeam)
            continue

        message_begin(MSG_ONE, g_msgSayText, {0,0,0}, players[i])
        write_byte(players[i])
        write_string(adminMsg)
        message_end()
    }
    return PLUGIN_HANDLED_MAIN
}

public toggleGreen(id, level, cid) {
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED_MAIN
    new val[1], numval
    read_argv(1,val,1)
    numval = str_to_num(val)
    set_cvar_num("sv_namegreen", numval)
    
    if (numval == 0)
        console_print(id, "[AMXX] Green admin names have been turned off")
    else if (numval == 1)
        console_print(id, "[AMXX] Green admin names is now enabled")
        
    return PLUGIN_HANDLED_MAIN
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Archipelago
сообщение 26.5.2011, 23:34
Сообщение #2


Стаж: 16 лет

Сообщений: 520
Благодарностей: 67
Полезность: 21

Karpen,
1.Поставь другой плагин
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Karpen
сообщение 27.5.2011, 7:20
Сообщение #3


Стаж: 15 лет

Сообщений: 368
Благодарностей: 27
Полезность: < 0

Archipelago,
Та я все перепробовал, у них у всех урезан тот прикол(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Archipelago
сообщение 27.5.2011, 9:55
Сообщение #4


Стаж: 16 лет

Сообщений: 520
Благодарностей: 67
Полезность: 21

Colored Translit v3.0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Karpen
сообщение 27.5.2011, 12:29
Сообщение #5


Стаж: 15 лет

Сообщений: 368
Благодарностей: 27
Полезность: < 0

Archipelago,
Он сильно функциональный(
Мне нужно просто, чтоб админ был, зелёным... и ВСЁ!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Benderben
сообщение 6.6.2011, 13:44
Сообщение #6
Стаж: 15 лет

Сообщений: 8
Благодарностей: 3
Полезность: 0

Вот попробуй.

amx_namecolor "цвет" - меняет цвет ника админа
Цвета: [1] Yellow, [2] Green, [3] White, [4] Blue, [5] Red, [6] Team-Color

amx_color "цвет" - меняет цвет текста админа
Цвета: [1] Yellow, [2] Green, [3] White, [4] Blue, [5] Red

amx_listen 1/0 - могут ли админы с флагом BAN'а видеть абсолютно все сообщения.
Прикрепленные файлы:
Прикрепленный файл  admin_chat_color2.rar ( 12,38 килобайт ) Кол-во скачиваний: 92
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Karpen
сообщение 13.6.2011, 14:15
Сообщение #7


Стаж: 15 лет

Сообщений: 368
Благодарностей: 27
Полезность: < 0

Benderben,
Когда я пишу в чат команды:
/me, /rank, /top15 то я у меня в чате их не пишет и они не пашут...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nb00wn
сообщение 13.6.2011, 14:25
Сообщение #8


Стаж: 15 лет

Сообщений: 25
Благодарностей: 5
Полезность: 154

Цитата
2. И кто может исправить плагин? Когда я пишу комманду: /me, /rank, /top15 или другу, через /, то она убирается, и пишет: me, rank, top15 (и так все команды)

Код
if (chat[0] == '/') {

ЗАМЕНИ НА...
Код
if (chat[0] == '&') {


Цитата
1. Как мне сделать не зелёный, а синий например цвет?

Код
        format(adminMsg, 191, "^x01(ALL) ^x04%s ^x01: %s", adminName, message[funcCallType[id]])
    else // called using say_team or amx_chat
        format(adminMsg, 191, "^x01(ADMINS) ^x04%s ^x01: %s", adminName, message[funcCallType[id]])

ВОТ ТУТ МЕНЯЙ...

Код
^x01 - Нормальный
^x03 - Цвет команды (Красный, Синий, Серый)
^x04 - Зеленый


Отредактировал: Nb00wn, - 13.6.2011, 14:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Karpen
сообщение 14.6.2011, 11:14
Сообщение #9


Стаж: 15 лет

Сообщений: 368
Благодарностей: 27
Полезность: < 0

Nb00wn,
спс, сейчас посмотрим.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Karpen
сообщение 15.6.2011, 16:21
Сообщение #10


Стаж: 15 лет

Сообщений: 368
Благодарностей: 27
Полезность: < 0

Nb00wn,
да, команда /rank, /me появляется, но не работает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Akushi
сообщение 15.6.2011, 16:58
Сообщение #11


Стаж: 16 лет

Сообщений: 883
Благодарностей: 313
Полезность: 604

Цитата(Karpen @ 15.6.2011, 20:21) *
Nb00wn,
да, команда /rank, /me появляется, но не работает.

включи через админку
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Karpen
сообщение 16.6.2011, 13:11
Сообщение #12


Стаж: 15 лет

Сообщений: 368
Благодарностей: 27
Полезность: < 0

Akushi,
ох, спасибо, я просто создал тестовый сервер, а на нем просто отключил плагин статистики :D

Вот плагин, кому надо, без багов и с рабочими командами.

тему офф.
Прикрепленные файлы:
Прикрепленный файл  adminchatcolor.rar ( 12,2 килобайт ) Кол-во скачиваний: 122
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: