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

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

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

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

Помощь по плагину admin_check

, Кто разбирается в скриптинге
Статус пользователя Rikokz
сообщение 4.5.2014, 21:02
Сообщение #1
Стаж: 12 лет

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

Уважаемые скриптеры! Я новичек на этом сайте, и вообще впервые создаю тему, поэтому не ругайтесь если создал тему не там, или не правильно)

Прошу помочь добавить в плагин admin_check одну функцию: отображение VIP-ов онлайн.

Знаю, что плагин отображает только АДМИНОВ, и для отображения кто VIP приходится использовать другие плагины, типа ABSOLUTELY_VIP и др.

Оружейку на своем сервере раздаю по ADMIN_IMMUNITY (випам тоже прописан этот флаг), поэтому плагин ABSOLUTELY_VIP - служит только для отображения /vip

Надеюсь все понятно объяснил)

Пытался сам вшить вот этот код в плагин

кусок кода из одного плагина
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)
{
if(get_pcvar_num(vipOnline) == 1){
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 VIP-игроки онлайн: ",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, "нет VIP-игроков онлайн")
print_message(user, message)
}

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Связь с АДМИНИСТРАЦИЕЙ сервера: %s", CONTACT, contact)
print_message(user, contactinfo)


...но безрезультатно sad.gif

Исходник самого плагина admin_check приложил :)

admin_check
#include <amxmodx>

/*---------------EDIT ME------------------*/
#define ADMIN_CHECK ADMIN_KICK

static const COLOR[] = "^x04" //green
static const CONTACT[] = "^x03" //normal
/*----------------------------------------*/

new maxplayers
new gmsgSayText

public plugin_init() {
register_plugin("Admin Check", "1.51", "OneEyed")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -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_CHECK)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s Админы онлайн: ",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", CONTACT, 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()
}


Отредактировал: Rikokz, - 4.5.2014, 21:03
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 4.5.2014, 21:06
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Rikokz, код вставляйте между тегами pawn, иначе никто смотреть не будет.
Код
[pawn]тут код[/pawn]

Сделайте копию admin_check с другим названием и поставьте проверку на нужный флаг.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rikokz
сообщение 4.5.2014, 21:14
Сообщение #3
Стаж: 12 лет

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

Цитата(Bloo @ 4.5.2014, 21:06) *
Rikokz, код вставляйте между тегами pawn, иначе никто смотреть не будет.
Код
[pawn]тут код[/pawn]

Сделайте копию admin_check с другим названием и поставьте проверку на нужный флаг.


да, я думал над этим.... но все же хотелось бы все иметь в одном плагине)

Цитата(Bloo @ 4.5.2014, 21:06) *
Rikokz, код вставляйте между тегами pawn, иначе никто смотреть не будет.
Код
[pawn]тут код[/pawn]


Спасибо, учту :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
magiczoltrix
сообщение 4.5.2014, 21:26
Сообщение #4
Стаж: 12 лет

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

Жди нормального скриптера, серфриман может сделать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 4.5.2014, 21:54
Сообщение #5


Стаж: 12 лет

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

Rikokz,
Держи
Код:
#include <amxmodx>

/*---------------EDIT ME------------------*/
#define ADMIN_CHECK ADMIN_LEVEL_H

static const COLOR[] = "^x04" //green
static const CONTACT[] = "" //normal
/*----------------------------------------*/

new maxplayers
new gmsgSayText

public plugin_init() {
register_plugin("Admin Check", "1.51", "OneEyed")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -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^4[^3Випы в сети^4] ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "^3%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, "^3На данный момент нет випов в сети.")
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()
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 4.5.2014, 22:02
Сообщение #6
Стаж: 12 лет

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

/del...
не понял суть:)

firante,
просили совместить -_-

Отредактировал: trollface, - 4.5.2014, 22:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rikokz
сообщение 4.5.2014, 22:21
Сообщение #7
Стаж: 12 лет

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

firante,

извини, дорогой, ты не понял суть моей просьбы)

Отредактировал: Rikokz, - 4.5.2014, 22:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
magiczoltrix
сообщение 9.5.2014, 14:22
Сообщение #8
Стаж: 12 лет

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

совместили или нет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rikokz
сообщение 9.5.2014, 14:48
Сообщение #9
Стаж: 12 лет

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

Цитата(magiczoltrix @ 9.5.2014, 14:22) *
совместили или нет?


нет, никто так и не подсказал как(((

пришлось создавать копию admin_check и поменять флаги доступа...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 23.7.2014, 5:54
Сообщение #10


Стаж: 13 лет
Город: Харьков

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

Цитата(firante @ 4.5.2014, 22:54) *
Rikokz,
Держи
Код:
#include <amxmodx>

/*---------------EDIT ME------------------*/
#define ADMIN_CHECK ADMIN_LEVEL_H

static const COLOR[] = "^x04" //green
static const CONTACT[] = "" //normal
/*----------------------------------------*/

new maxplayers
new gmsgSayText

public plugin_init() {
register_plugin("Admin Check", "1.51", "OneEyed")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -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^4[^3Випы в сети^4] ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "^3%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, "^3На данный момент нет випов в сети.")
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()
}

Только он не компилируется, помогите поправить...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BornToBeFree
сообщение 23.7.2014, 9:16
Сообщение #11


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

Меценат Меценат

Цитата(Andrey777best @ 23.7.2014, 7:54) *
Только он не компилируется, помогите поправить...

Всё отлично компилируется, даже веб-компилятором
Прикрепленные файлы:
Прикрепленный файл  admin_check.rar ( 3,14 килобайт ) Кол-во скачиваний: 12


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 23.7.2014, 11:52
Сообщение #12


Стаж: 13 лет
Город: Харьков

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

А как добавить чтобы вызывалось по команде vip не только vips?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 23.7.2014, 12:01
Сообщение #13


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Andrey777best,
Код:
if( ( containi(said, "who") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )

>>
Код:
if( ( containi(said, "who") != -1 && containi(said, "vip") != -1 ) || contain(said, "/vip") != -1 )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 23.7.2014, 12:11
Сообщение #14


Стаж: 13 лет
Город: Харьков

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

Цитата(Bloo @ 23.7.2014, 13:01) *
Andrey777best,
Код:
if( ( containi(said, "who") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )

>>
Код:
if( ( containi(said, "who") != -1 && containi(said, "vip") != -1 ) || contain(said, "/vip") != -1 )

Сделал так но не работает...
Скрытый текст
Код:
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )
if( ( containi(said, "who") != -1 && containi(said, "vip") != -1 ) || contain(said, "/vip") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 23.7.2014, 13:01
Сообщение #15


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

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

/*---------------EDIT ME------------------*/
#define ADMIN_CHECK ADMIN_LEVEL_H

static const COLOR[] = "^x04" //green
static const CONTACT[] = "" //normal
/*----------------------------------------*/

new maxplayers
new gmsgSayText

public plugin_init() {
register_plugin("Admin Check", "1.51", "OneEyed")

register_clcmd("say /vip", "print_adminlist")
register_clcmd("say vip", "print_adminlist")
register_clcmd("say /vips", "print_adminlist")
register_clcmd("say who", "print_adminlist")

maxplayers = get_maxplayers()

gmsgSayText = get_user_msgid("SayText")

register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

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^4[^3Випы в сети^4] ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "^3%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, "^3На данный момент нет випов в сети.")
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()
}


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