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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

amx_adminlisten.amxx

, "AdminListen","2.5","/dev/ urandom V I R U S Hobom
Статус пользователя qpi3ik
сообщение 10.12.2015, 15:51
Сообщение #1


Стаж: 12 лет

Сообщений: 621
Благодарностей: 78
Полезность: 12

Доброе время суток!
Прошу помощи с плагином "AdminListen","2.5","/dev/ urandom V I R U S Hoboman"
Очень жутко спамит в логах сервера.

Логи

L 12/10/2015 - 14:37:50: [AMXX] [0] amx_adminlisten.sma::catch_say (line 103)
L 12/10/2015 - 14:37:50: [AMXX] Displaying debug trace (plugin "amx_adminlisten.amxx")
L 12/10/2015 - 14:37:50: [AMXX] Run time error 4: index out of bounds
L 12/10/2015 - 14:37:50: [AMXX] [0] amx_adminlisten.sma::catch_say (line 127)
L 12/10/2015 - 14:37:53: [AMXX] Displaying debug trace (plugin "amx_adminlisten.amxx")

Есть подозрения что и за него падает серв.
Падения не часто замечаю но раз в день может упасть.
Кто может помочь решить проблему? Или кто посоветует эму замену, чем вы заменяете этот плагин?
Исходник я прикрепил.

Прикрепленные файлы:
Прикрепленный файл  amx_adminlisten.sma ( 4,82 килобайт ) Кол-во скачиваний: 14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Immunity
сообщение 10.12.2015, 15:57
Сообщение #2
Стаж: 11 лет

Сообщений: 444
Благодарностей: 119
Полезность: 139

Лучше код прикрепи, а то качать всем лень)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 10.12.2015, 15:58
Сообщение #3


Стаж: 12 лет

Сообщений: 621
Благодарностей: 78
Полезность: 12

Цитата(Immunity @ 10.12.2015, 16:52) *
Лучше код прикрепи, а то качать всем лень)


Как скажете)
Исходник

Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define ADMIN_ACCESS ADMIN_LEVEL_B // Flag "n". Define here.

#define SPEAK_NORMAL 0
#define SPEAK_MUTED 1
#define SPEAK_ALL 2
#define SPEAK_LISTENALL 4

new fm_plinfo[33]

public FM_SetListen(iReceiver, iSender, bListen)
{
if( (fm_plinfo[iSender] & SPEAK_MUTED) != 0)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, 0)

forward_return(FMV_CELL,0)
return FMRES_SUPERCEDE;
}

if( (fm_plinfo[iSender] & SPEAK_ALL) != 0)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, 1)

forward_return(FMV_CELL,1)
return FMRES_SUPERCEDE;
}

if( (fm_plinfo[iReceiver] & SPEAK_LISTENALL) != 0)
{
engfunc(EngFunc_SetClientListening, iReceiver, iSender, 1)

forward_return(FMV_CELL,1)
return FMRES_SUPERCEDE;
}

return FMRES_IGNORED
}
stock fm_set_speak(id,tmp) (fm_plinfo[id] = tmp)


new count[32][32]
new g_voice_status[2]


public plugin_init()
{
register_plugin("AdminListen","2.5","/dev/ urandom V I R U S Hoboman")
register_srvcmd("amx_adminlisten_voice","voice_status")
register_event("SayText","catch_say","b")
register_forward(FM_Voice_SetClientListening,"FM_SetListen");
return PLUGIN_CONTINUE
}

public catch_say(id)
{
new reciever = read_data(0)
new sender = read_data(1)
new message[151]
new channel[151]
new sender_name[32]

if (is_running("czero")||is_running("cstrike"))
{
read_data(2,channel,150)
read_data(4,message,150)
get_user_name(sender, sender_name, 31)
}
else
{
read_data(2,message,150)
}
count[sender][reciever] = 1
if (sender == reciever)
{
new player_count = get_playersnum()
new players[32]
get_players(players, player_count, "c")

for (new i = 0; i < player_count; i++)
{
if (get_user_flags(players[i]) & ADMIN_ACCESS)
{
if (count[sender][players[i]] != 1)
{
message_begin(MSG_ONE, get_user_msgid("SayText"),{0,0,0},players[i])
write_byte(sender)
if (is_running("czero")||is_running("cstrike"))
{
write_string(channel)
write_string(sender_name)
}
write_string(message)
message_end()
}
}
count[sender][players[i]] = 0
}
}
return PLUGIN_CONTINUE
}


public client_infochanged(id)
{
if ((get_user_flags(id) & ADMIN_ACCESS) && equal(g_voice_status,"1") && is_user_connected(id)) fm_set_speak(id, SPEAK_LISTENALL)
}

public client_connect(id)
{
if ((get_user_flags(id) & ADMIN_ACCESS) && equal(g_voice_status,"1") && is_user_connected(id)) fm_set_speak(id, SPEAK_LISTENALL)
}

public voice_status(id){
read_argv(1,g_voice_status,1)
new player_count = get_playersnum()
new players[32]
get_players(players, player_count, "c")
for (new i = 0; i < player_count; i++) {
if ((get_user_flags(players[i]) & ADMIN_ACCESS)) {
if (equal(g_voice_status,"0")) {
fm_set_speak(players[i], SPEAK_NORMAL)
}
if (equal(g_voice_status,"1")) {
fm_set_speak(players[i], SPEAK_LISTENALL)
}
}
}
}


Только удалил 27 строчек рекламы и инфы.

Отредактировал: qpi3ik, - 10.12.2015, 15:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Jenya Psy
сообщение 10.12.2015, 15:59
Сообщение #4


Иконка группы

Стаж: 14 лет

Сообщений: 1647
Благодарностей: 2040
Полезность: 1146

Если стоят какие-то плагины чата, транслит, приставки и т.д. то в некоторых из них, есть эта функция. Засени на аналог с админилистингом. У неугомона есть такие фичи.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 10.12.2015, 16:04
Сообщение #5


Стаж: 12 лет

Сообщений: 621
Благодарностей: 78
Полезность: 12

Цитата(psyjey @ 10.12.2015, 16:55) *
Если стоят какие-то плагины чата, транслит, приставки и т.д. то в некоторых из них, есть эта функция. Засени на аналог с админилистингом. У неугомона есть такие фичи.


Что то я не помню такого аналога админлистена у него.
Ладно спрошу на всякий случай.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Jenya Psy
сообщение 10.12.2015, 16:08
Сообщение #6


Иконка группы

Стаж: 14 лет

Сообщений: 1647
Благодарностей: 2040
Полезность: 1146

qpi3ik, а я разве сказал об аналоге админлистинга? перечитайте внимательно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 10.12.2015, 16:16
Сообщение #7


Стаж: 12 лет

Сообщений: 621
Благодарностей: 78
Полезность: 12

Цитата(psyjey @ 10.12.2015, 17:03) *
qpi3ik, а я разве сказал об аналоге админлистинга? перечитайте внимательно.


Да сори, не внимательно прочитал.
Стоит Prefix Manager by serfreeman1337
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: