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

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

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

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

Изменение имя, когда мертвый ( от VEN )

Статус пользователя Sky Cat
сообщение 26.7.2013, 19:55
Сообщение #1
Стаж: 13 лет
Город: Белгород

Сообщений: 1179
Благодарностей: 734
Полезность: 1056

Описание:
Плагин позволяет менять игрокам имена, когда их нет в живых.
Стандартно плагин будет работать для всех на сервере
С помощью кваров, вы можете настроить уровни доступа по флагам, запретить текст.

Квары:

dnc_enable (0: Выкл, 1: Вкл, стандартно: 1) - работа плагина
dnc_access (флаг, стандартно: "") - установка флага доступа
dnc_announce (0: Выкл, 1: Вкл, стандартно: 1) - управление за текстом

Благодарности:

L3X - первоначальная идея

Скрытый текст
Код
#include <amxmodx>
#include <fakemeta>

// Главная информация о плагине
#define PLUGIN_NAME "Dead Name Change"
#define PLUGIN_VERSION "0.1"
#define PLUGIN_AUTHOR "VEN"

// Квары имена
#define CVAR_NAME_ENABLE "dnc_enable"
#define CVAR_NAME_ACCESS "dnc_access"
#define CVAR_NAME_ANNOUNCE "dnc_announce"

// Стандартные значения кваров
#define CVAR_DVAL_ENABLE "1"
#define CVAR_DVAL_ACCESS ""
#define CVAR_DVAL_ANNOUNCE "1"

new const g_name[] = "name"
new /* const */ g_name_change[] = "#Cstrike_Name_Change"

new g_pcvar_enable
new g_pcvar_access
new g_pcvar_announce

new g_msgid_saytext

public plugin_init() {
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)

    g_pcvar_enable = register_cvar(CVAR_NAME_ENABLE, CVAR_DVAL_ENABLE)
    g_pcvar_access = register_cvar(CVAR_NAME_ACCESS, CVAR_DVAL_ACCESS)
    g_pcvar_announce = register_cvar(CVAR_NAME_ANNOUNCE, CVAR_DVAL_ANNOUNCE)

    register_forward(FM_ClientUserInfoChanged, "forward_client_userinfochanged")

    g_msgid_saytext = get_user_msgid("SayText")
}

public forward_client_userinfochanged(id, buffer) {
    if (!get_pcvar_num(g_pcvar_enable) || !is_user_connected(id) || is_user_alive(id))
        return FMRES_IGNORED

    static oldname[32], newname[32]
    get_user_name(id, oldname, sizeof oldname - 1)
    engfunc(EngFunc_InfoKeyValue, buffer, g_name, newname, sizeof newname - 1)
    if (equal(newname, oldname))
        return FMRES_IGNORED

    static iflags, szflags[28]
    get_pcvar_string(g_pcvar_access, szflags, sizeof szflags - 1)
    iflags = read_flags(szflags)
    if (iflags != ADMIN_ALL && !(get_user_flags(id) & iflags))
        return FMRES_IGNORED

    if (get_pcvar_num(g_pcvar_announce))
        msg_name_change(id, oldname, newname)

    return FMRES_SUPERCEDE
}

msg_name_change(id, /* const */ oldname[], /* const */ newname[]) {
    message_begin(MSG_BROADCAST, g_msgid_saytext)
    write_byte(id)
    write_string(g_name_change)
    write_string(oldname)
    write_string(newname)
    message_end()
}


Отредактировал: insamez, - 26.7.2013, 19:57
Причина: Отвлекся, добавил несколько слов. Подправил ошибки


я знаю, что я ничего не знаю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя neverminde
сообщение 26.7.2013, 19:56
Сообщение #2


Стаж: 15 лет

Сообщений: 1133
Благодарностей: 595
Полезность: 576

Может что-нибудь свое. Оленей и самим пасти можно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Sky Cat
сообщение 26.7.2013, 19:59
Сообщение #3
Стаж: 13 лет
Город: Белгород

Сообщений: 1179
Благодарностей: 734
Полезность: 1056

Цитата(neverminde @ 26.7.2013, 21:56) *
Может что-нибудь свое. Оленей и самим пасти можно

ну раз можете, пожалуйста


я знаю, что я ничего не знаю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 27.7.2013, 3:00
Сообщение #4
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(neverminde @ 26.7.2013, 21:56) *
Может что-нибудь свое. Оленей и самим пасти можно
Можно, но:
- хорошо получается только у тех, кто по-английски чуток понимает;
- мало у каких плагинов есть поддержка вывода сообщений на русском, а это must have для большинства наших серверов.
Потому идея русификации с перепостом - здравая, если человеку своего времени не жалко.

Только я рекомендую не менять оригинальные названия плагинов: названия не переводятся да и искать плагины будут по ним. Краткое описание плагина можно указать в описании топика.

Отредактировал: Safety1st, - 27.7.2013, 3:03
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: