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

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

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

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

MOTD для сервера, как у Masta

, Помогите отделить и сделать подобный плагин
Статус пользователя ncux0Zz
сообщение 11.11.2014, 16:53
Сообщение #1


Стаж: 14 лет

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

Привет всем! Я давно сервера собираю, немного в amx коде шарю...
Решил собрать недавно сервер, до этого не собирал с 2012г...сейчас много чего в коде изменилось, точнее в amxmodx 1.8.3 и самом сервере build <6153>.

Попытался использовать некоторые старые плагины, так они перестали работать и комплиться..
Хочу сделать на сервере простую минюшку с MOTD окнами, видел плагин у MastaMOTD, так вот там много лишнего и т.д. и реклама...
Надо, чтобы был прикреплен список обычных MOTD окон, которые будут запускаться со стандартного "amx_menu" - меню клиента в amxmodx 1.8.3
Я раньше использовал простенький плагин - all_motd.amxx

Скрытый текст
#include <amxmodx>
#include <amxmisc>

#define MAXIM_LINII 255
#define MAXIM_LITERE 2500

new nu1[130]

public plugin_init()
{
register_clcmd("rules", "info_motd1", 0, "- Shows the MOTD.")
register_clcmd("admin", "info_motd2", 0, "- Shows the MOTD.")
register_clcmd("listmaps", "info_motd3", 0, "- Shows the MOTD.")


get_configsdir(nu1, 128)
format(nu1, 128, "%s/mapcycle.txt", nu1)
}

public info_motd1(id)
{
show_motd(id, "addons\amxmodx\configs\mastamotds\rules.htm", "Правила сервера")
}

public info_motd2(id)
{
show_motd(id, "HLDS_TAIL\othermotd\admin.txt", "Покупка/Продажа")
}

public info_motd3(id)
{
if (!file_exists(nu1))
{
client_print(id, print_chat, "File %s don't exists!", nu1)
return PLUGIN_HANDLED
}

new text[MAXIM_LITERE + 1]
new linii_text[MAXIM_LINII + 1]
new linii = 0, len

new szString[1024], iLen

while((linii = read_file(nu1, linii, linii_text, MAXIM_LINII, len)))
{
trim(linii_text)
if(linii_text[0])
format(text, MAXIM_LITERE, "%s^n%s", text, linii_text)
}

iLen = formatex(szString, sizeof szString - 1, "<body scroll=^"yes^" bgcolor=#000000><font color=#FFB000><pre>")

iLen += formatex(szString[iLen], charsmax(szString) - iLen, "%s^n%s", text, linii_text)

show_motd(id, szString)

return PLUGIN_HANDLED
}


после добавлял пункты меню в файл addons\amxmodx\configs\custommenuitems.cfg
работает с обычными MOTD, написанными в ручную, например такое же окно, как при заходе на сервер.
попробовал взять из MastaMOTD окна, там они идут с картинками и в формате *htm
в плагине all_motd.amxx указал путь к "MOTD rules" и скомплиировал, нормально поставился...
Но вот проблема, после того как зашёл на сервер и в меню клиента нажал на "Правила сервера" у меня выкинуло с сервера с ошибкой "Reliable channel overflowed",
видел сервер стимовский, где у ребят работали эти MOTD окна, так же взятые из Masta MOTD. Как мне сказали, их нужно слегка переписать, чтобы они заработали...ошибку выдает "Канал написания переполнен", как его расширить?
Помогите пожалуйста сделать их работоспособными :)

Отредактировал: ncux0Zz, - 11.11.2014, 16:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bologercs
сообщение 11.11.2014, 17:49
Сообщение #2


Стаж: 12 лет
Город: Москва

Сообщений: 110
Благодарностей: 125
Полезность: 1318

Цитата(ncux0Zz @ 11.11.2014, 17:53) *
Скрытый текст
Привет всем! Я давно сервера собираю, немного в amx коде шарю...
Решил собрать недавно сервер, до этого не собирал с 2012г...сейчас много чего в коде изменилось, точнее в amxmodx 1.8.3 и самом сервере build <6153>.

Попытался использовать некоторые старые плагины, так они перестали работать и комплиться..
Хочу сделать на сервере простую минюшку с MOTD окнами, видел плагин у MastaMOTD, так вот там много лишнего и т.д. и реклама...
Надо, чтобы был прикреплен список обычных MOTD окон, которые будут запускаться со стандартного "amx_menu" - меню клиента в amxmodx 1.8.3
Я раньше использовал простенький плагин - all_motd.amxx

Скрытый текст
#include <amxmodx>
#include <amxmisc>

#define MAXIM_LINII 255
#define MAXIM_LITERE 2500

new nu1[130]

public plugin_init()
{
register_clcmd("rules", "info_motd1", 0, "- Shows the MOTD.")
register_clcmd("admin", "info_motd2", 0, "- Shows the MOTD.")
register_clcmd("listmaps", "info_motd3", 0, "- Shows the MOTD.")


get_configsdir(nu1, 128)
format(nu1, 128, "%s/mapcycle.txt", nu1)
}

public info_motd1(id)
{
show_motd(id, "addons\amxmodx\configs\mastamotds\rules.htm", "Правила сервера")
}

public info_motd2(id)
{
show_motd(id, "HLDS_TAIL\othermotd\admin.txt", "Покупка/Продажа")
}

public info_motd3(id)
{
if (!file_exists(nu1))
{
client_print(id, print_chat, "File %s don't exists!", nu1)
return PLUGIN_HANDLED
}

new text[MAXIM_LITERE + 1]
new linii_text[MAXIM_LINII + 1]
new linii = 0, len

new szString[1024], iLen

while((linii = read_file(nu1, linii, linii_text, MAXIM_LINII, len)))
{
trim(linii_text)
if(linii_text[0])
format(text, MAXIM_LITERE, "%s^n%s", text, linii_text)
}

iLen = formatex(szString, sizeof szString - 1, "<body scroll=^"yes^" bgcolor=#000000><font color=#FFB000><pre>")

iLen += formatex(szString[iLen], charsmax(szString) - iLen, "%s^n%s", text, linii_text)

show_motd(id, szString)

return PLUGIN_HANDLED
}


после добавлял пункты меню в файл addons\amxmodx\configs\custommenuitems.cfg
работает с обычными MOTD, написанными в ручную, например такое же окно, как при заходе на сервер.
попробовал взять из MastaMOTD окна, там они идут с картинками и в формате *htm
в плагине all_motd.amxx указал путь к "MOTD rules" и скомплиировал, нормально поставился...
Но вот проблема, после того как зашёл на сервер и в меню клиента нажал на "Правила сервера" у меня выкинуло с сервера с ошибкой "Reliable channel overflowed",
видел сервер стимовский, где у ребят работали эти MOTD окна, так же взятые из Masta MOTD. Как мне сказали, их нужно слегка переписать, чтобы они заработали...ошибку выдает "Канал написания переполнен", как его расширить?
Помогите пожалуйста сделать их работоспособными :)


Пожалуйста:
https://c-s.net.ua/forum/topic67835.html

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