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

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

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

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

Переделать Vip

Статус пользователя noHuK
сообщение 8.8.2011, 17:32
Сообщение #1
Стаж: 15 лет

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

Нужно, чтобы когда Vip игрок писал что то в чат перед его ником отображался тег [VIP] (зеленым цветом)

Код
#include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <fun>
    #include <hamsandwich>

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText

    public plugin_init()
    {
        register_plugin("Admins VIP", "1.0", "UNREAL")
        register_event("ResetHUD", "ResetHUD", "be")
    
    //
    maxplayers = get_maxplayers()
    gmsgSayText = get_user_msgid("SayText")
    register_clcmd("say", "handle_say")
    register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
    
    //
    }

    public ResetHUD(id)
    {
        set_task(0.5, "VIP", id + 6910)
        return PLUGIN_CONTINUE
    }

    //
    public handle_say(id) {
    new said[192]
    read_args(said,192)
    if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vip") != -1 )
        set_task(0.1,"print_adminlist",id)
    return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
    new adminnames[33][32]
    new message[256]
    new contactinfo[256], contact[112]
    new id, count, x, len
    
    for(id = 1; id <= maxplayers; id++)
        if(is_user_connected(id))
            if(get_user_flags(id) & ADMIN_LEVEL_H)
                get_user_name(id, adminnames[count++], 31)

    len = format(message, 255, "%s V.I.P: ОНЛАЙН: ",COLOR)
    if(count > 0) {
        for(x = 0; x < count; x++) {
            len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
            if(len > 96 ) {
                print_message(user, message)
                len = format(message, 255, "%s ",COLOR)
            }
        }
        print_message(user, message)
    }
    else {
        len += format(message[len], 255-len, "Випов на сервере нету")
        print_message(user, message)
    }
    
    get_cvar_string("amx_contactinfo", contact, 63)
    if(contact[0])  {
        format(contactinfo, 111, "%s Контакт администратора -- %s", COLOR, contact)
        print_message(user, contactinfo)
    }
}

print_message(id, msg[]) {
    message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
    write_byte(id)
    write_string(msg)
    message_end()
}

    //
    
    public VIP(id)
    {
        id -= 6910
        

    if (get_user_flags(id) & ADMIN_LEVEL_H)
        {
            message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
            write_byte(id)
            write_byte(4)
            message_end()
            give_item(id,"weapon_hegrenade")
            give_item(id,"weapon_flashbang")
            give_item(id,"weapon_flashbang")
            give_item(id,"weapon_smokegrenade")
            give_item(id,"item_assaultsuit")
            give_item(id, "ammo_50ae")
            give_item(id, "ammo_50ae")
            give_item(id, "ammo_50ae")
            give_item(id, "ammo_50ae")
            give_item(id, "ammo_50ae")
            cs_set_user_money(id, min(cs_get_user_money(id) + 500, 16000))
        }
        return PLUGIN_HANDLED
    }
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Sanya
сообщение 8.8.2011, 17:39
Сообщение #2


Стаж: 15 лет

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

Если использовать отдельный плагин то так

CODE
/* AMX MOD X SCRIPT
* Force Admin Tag 1.0
* Nov. 11th, 2004
* By: BigBaller
*
* Simple plugin, what it does is changes a players name if they have admin on the server.
* This can be changed by the amx_forcetag cvar. 1 is to enable, 0 to disable.
* Enabled by default.
*
* If user changes name during game, this plugin will detect it and change users name to add
* the admin tag.
*
* This should work on any Half-Life based mod running AMX MOD X.
*
* Credits
* AMX MOD X Scripting Forum (http://www.amxmodx.org/forums/viewforum.php?f=8)
*
* PM - for giving a idea on how to detect if user has [ADMIN] in name already.
* XxAvalanchexX - suggesting use of is_user_admin() stock
* Janzert - for fixing the nasty loop I kept getting and making a more efficent code.
*
*/

#include <amxmodx>
#include <amxmisc>

public plugin_init(){
register_plugin("Force Admin Tags", "1.0", "BigBaller")
register_cvar("amx_forcetag", "1")
}

public client_putinserver(id){
set_task(1.5,"admin_entered",id)
}

public admin_entered(id){
new name[32]
get_user_name(id, name, 31)
return force_tag(id, name)
}

force_tag(id, name[]) {
if (get_cvar_num("amx_forcetag")==1){
if (is_user_admin(id) && (!equal(name, "[VIP]", 7))) {
client_cmd(id,"name ^"[VIP] %s^"", name)
}
}
return PLUGIN_CONTINUE
}

public client_infochanged(id){
new name[32]
get_user_info(id, "name", name, 31)
return force_tag(id, name)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Tr1sT
сообщение 8.8.2011, 17:48
Сообщение #3
Стаж: 16 лет
Город: localhost

Сообщений: 1299
Благодарностей: 683
Полезность: 1021

Colored Translit - присутствует? - Если же стоит плагин Colored Translit, можешь использовать данный плагин для отображения префикса.

Prefix VIP
#include <amxmodx>
#include <colored_translit>

public plugin_init()
{
register_plugin("VIP Prefix", "1.0", "Sho0ter")
return PLUGIN_CONTINUE
}

public ct_message_format(id)
{
if((get_user_flags(id) & ADMIN_USER) && (get_user_flags(id) & ADMIN_RESERVATION))
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04VIP^x01]")
}
return PLUGIN_CONTINUE
}


Отредактировал: Tr1sT, - 8.8.2011, 17:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя noHuK
сообщение 8.8.2011, 17:52
Сообщение #4
Стаж: 15 лет

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

Цитата(Sanya96 @ 8.8.2011, 18:39) *
Если использовать отдельный плагин то так

CODE
/* AMX MOD X SCRIPT
* Force Admin Tag 1.0
* Nov. 11th, 2004
* By: BigBaller
*
* Simple plugin, what it does is changes a players name if they have admin on the server.
* This can be changed by the amx_forcetag cvar. 1 is to enable, 0 to disable.
* Enabled by default.
*
* If user changes name during game, this plugin will detect it and change users name to add
* the admin tag.
*
* This should work on any Half-Life based mod running AMX MOD X.
*
* Credits
* AMX MOD X Scripting Forum (http://www.amxmodx.org/forums/viewforum.php?f=8)
*
* PM - for giving a idea on how to detect if user has [ADMIN] in name already.
* XxAvalanchexX - suggesting use of is_user_admin() stock
* Janzert - for fixing the nasty loop I kept getting and making a more efficent code.
*
*/

#include <amxmodx>
#include <amxmisc>

public plugin_init(){
register_plugin("Force Admin Tags", "1.0", "BigBaller")
register_cvar("amx_forcetag", "1")
}

public client_putinserver(id){
set_task(1.5,"admin_entered",id)
}

public admin_entered(id){
new name[32]
get_user_name(id, name, 31)
return force_tag(id, name)
}

force_tag(id, name[]) {
if (get_cvar_num("amx_forcetag")==1){
if (is_user_admin(id) && (!equal(name, "[VIP]", 7))) {
client_cmd(id,"name ^"[VIP] %s^"", name)
}
}
return PLUGIN_CONTINUE
}

public client_infochanged(id){
new name[32]
get_user_info(id, "name", name, 31)
return force_tag(id, name)
}


Это не совсем то, что мне нужно

Цитата(Tr1sT @ 8.8.2011, 18:48) *
Colored Translit - присутствует? - Если же стоит плагин Colored Translit, можешь использовать данный плагин для отображения префикса.

Prefix VIP
#include <amxmodx>
#include <colored_translit>

public plugin_init()
{
register_plugin("VIP Prefix", "1.0", "Sho0ter")
return PLUGIN_CONTINUE
}

public ct_message_format(id)
{
if((get_user_flags(id) & ADMIN_USER) && (get_user_flags(id) & ADMIN_RESERVATION))
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04VIP^x01]")
}
return PLUGIN_CONTINUE
}


Нет, colored_translit не использую

Отредактировал: noHuK, - 8.8.2011, 17:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: