Команду на флаг

Статус
В этой теме нельзя размещать новые ответы.

Wonder.V

Пользователь
Регистрация
17 Фев 2018
Сообщения
2
Симпатии
0
Всем привет! Прошу помощи у знающих людей.
В общем, нужно поставит флаг на команду "/admin", - чтобы только игроки с определённым флагом могли использовать данную команду в этом чудном плагине:

C++:
#include <amxmodx>
#include <amxmisc>

#define ADMIN_CHECK ADMIN_BAN // флаг админа
#define VIP_CHECK ADMIN_LEVEL_H // Флаг ВИП

new maxplayers
new gmsgSayText

public plugin_init()
{
 register_plugin("Check Admin & Vip", "2.0", "Leo_[BH]")

 maxplayers = get_maxplayers()
 gmsgSayText = get_user_msgid("SayText")
 
 register_clcmd("say", "handle_say");
 register_clcmd("say_team", "handle_say");
}


public handle_say(id)
{
 new said[192]
 read_args(said,192)
 
 if ( contain(said, "admin") != -1)
 {
 set_task(0.2,"print_adminlist",id)
 }
 
 if ( contain(said, "vip") != -1 )
 {
 set_task(0.2,"print_viplist",id)
 }
}


public print_adminlist(user)
{
 new adminnames[33][32]
 new message[256]

 new id, count, x, len
 
 for(id = 1 ; id <= maxplayers ; id++)
 if(is_user_connected(id))
 if(get_user_flags(id) & ADMIN_CHECK)
 get_user_name(id, adminnames[count++], 31)
 
 len = format(message, 255, "^x04[%d] ^x03Админы на сервере: ^x04",count)
 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, "^x04 ")
 }
 }
 print_message(user, message)
 }
 else {
 len += format(message[len], 255-len, "^x03 Отсутствуют.")
 print_message(user, message)
 }
}

public print_viplist(user)
{
 new vipnames[33][32]
 new message[256]
 new id, count, x, len
 
 for(id = 1 ; id <= maxplayers ; id++)
 if(is_user_connected(id))
 if(get_user_flags(id) & VIP_CHECK)
 get_user_name(id, vipnames[count++], 31)

 len = format(message, 255, "^x04[%d] ^x03VIP-игроки на сервере: ^x04",count)
 if(count > 0) {
 for(x = 0 ; x < count ; x++) {
 len += format(message[len], 255-len, "%s%s ", vipnames[x], x < (count-1) ? ", ":"")
 if(len > 96 ) {
 print_message(user, message)
 len = format(message, 255, "^x04 ")
 }
 }
 print_message(user, message)
 }
 else {
 len += format(message[len], 255-len, "^x03 Никого.")
 print_message(user, message)
 }
}

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

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
393
Симпатии
55
Пол
Мужской
PHP:
public handle_say(id)
{
new said[192]
read_args(said,192)

if ( contain(said, "admin") != -1)
{
set_task(0.2,"print_adminlist",id)
}

if ( contain(said, "vip") != -1 )
{
set_task(0.2,"print_viplist",id)
}
}
>>>>

PHP:
public handle_say(id)
{
new said[192]
read_args(said,192)

if ( contain(said, "admin") != -1)
{
if(~get_user_flags(id) & ADMIN_LEVEL_ТВОЙФЛАГ)
client_print(id, print_chat, "у вас нет доступа к этой команде")
else
set_task(0.2,"print_adminlist",id)
}

if ( contain(said, "vip") != -1 )
{
set_task(0.2,"print_viplist",id)
}
}
 

Tenseus

Пользователь
Регистрация
12 Июн 2017
Сообщения
43
Симпатии
5
Пол
Мужской
PHP:
public handle_say(id)
{
new said[192]
read_args(said,192)

if ( contain(said, "admin") != -1)
{
set_task(0.2,"print_adminlist",id)
}

if ( contain(said, "vip") != -1 )
{
set_task(0.2,"print_viplist",id)
}
}
>>>>

PHP:
public handle_say(id)
{
new said[192]
read_args(said,192)

if ( contain(said, "admin") != -1)
{
if(~get_user_flags(id) & ADMIN_LEVEL_ТВОЙФЛАГ)
client_print(id, print_chat, "у вас нет доступа к этой команде")
else
set_task(0.2,"print_adminlist",id)
}

if ( contain(said, "vip") != -1 )
{
set_task(0.2,"print_viplist",id)
}
}
Этот код не имеет никакого отношения к тому что предоставлен выше...
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
393
Симпатии
55
Пол
Мужской
Этот код не имеет никакого отношения к тому что предоставлен выше...
что, блеать простите?[DOUBLEPOST=1518955639][/DOUBLEPOST]щас бы учителей вспомнить "смотрю в книгу..." :Hunter:
 

Tenseus

Пользователь
Регистрация
12 Июн 2017
Сообщения
43
Симпатии
5
Пол
Мужской
что, блеать простите?[DOUBLEPOST=1518955639][/DOUBLEPOST]щас бы учителей вспомнить "смотрю в книгу..." :Hunter:
Все верно, прошу прощения за невнимательность. Есть такой же плагин, только без задержки в выводе информации и без блока public handle_say(id)
вот и подумал к чему это..
 

georgeml

Скриптер
Постоялец
Регистрация
12 Сен 2017
Сообщения
595
Симпатии
314
register_clcmd("say", "handle_say");
register_clcmd("say_team", "handle_say");
замените на

C++:
register_clcmd("say /admin", "print_adminlist", ADMIN_BAN);
register_clcmd("say_team /admin", "print_adminlist", ADMIN_BAN);
register_clcmd("say /vip", "print_viplist");
register_clcmd("say_team /vip", "print_viplist");
Это все, чем могу помочь с этим "чудовищем" под названием "код"
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу