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

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

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

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

2 страниц V   1 2

Помогите добавить colorchat

Статус пользователя qpi3ik
сообщение 13.12.2014, 21:44
Сообщение #1


Стаж: 12 лет

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

Помогите редактировать сообщение в чат.

Исходник.

Скрытый текст
Код:
/*
Данный плагин запрещает менять карту быстрее 10 раунда.
Довольно часто бывает,что после смены карты на сервере,админы поиграв несколько раундов, начинают сразу ставить голосование
Так вот,этот плагин не позволит им этого делать

если игроки хотят сменить карту, они напишут rtv

Для корректной работы плагина, рекомендуется прописывать его в самом верху над всеми плагинами ( выше плагинов admincmd.amxx , mapsmenu.amxx , adminvote.amxx )

с v0.1b:
В плагине сделан квар:
amx_block_changelevel
позволяющий настроить блокировку смены карты до определенного раунда ( по умолчанию,карту можно будет менять до 10 раунда )
v0.2:
Добавлен флаг админа ADMIN_CVAR , который сможет менять карту в любое время
Исправлены мелкие ошибки, за что отдельное спасибо пользователю Statsenko_91
*/
#include <amxmodx>

#define PLUGIN "block_changelevel"
#define VERSION "0.2"
#define AUTHOR "MiXa"

#define GL_ADMIN_FLAG ADMIN_CVAR // Флаг админа, который сможет менять карту в любое время

new round_number, q_block

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

q_block = register_cvar("amx_block_changelevel", "10") // С какого раунда разрешать смену карты

register_clcmd("amx_map", "block_changelevel")
register_clcmd("amx_votemap", "block_changelevel")
register_clcmd("changelevel", "block_changelevel")
register_clcmd("amx_mapmenu", "block_changelevel")
register_clcmd("amx_votemapmenu", "block_changelevel")

register_logevent("event_round_start", 2, "1=Round_Start")
register_event("TextMsg", "event_round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
}

public event_round_start ()
round_number++

public event_round_restart()
round_number = 0

public block_changelevel(id)
{
if (!(get_user_flags ( id ) & GL_ADMIN_FLAG ))
{
if ( round_number <= get_pcvar_num(q_block)-1 )
{
client_print(id,print_chat,"Смена карты разрешена с %d раунда, сейчас %d раунд", get_pcvar_num(q_block), round_number);
client_print(id,print_console,"Смена карты разрешена с %d раунда^nсейчас %d раунд", get_pcvar_num(q_block), round_number);
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}


Строчка
Код:
client_print(id,print_chat,"Смена карты разрешена с %d раунда, сейчас %d раунд", get_pcvar_num(q_block), round_number);


Как сделать цветной?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
voed
сообщение 13.12.2014, 22:22
Сообщение #2
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Скрытый текст
Код:
/*
Данный плагин запрещает менять карту быстрее 10 раунда.
Довольно часто бывает,что после смены карты на сервере,админы поиграв несколько раундов, начинают сразу ставить голосование
Так вот,этот плагин не позволит им этого делать

если игроки хотят сменить карту, они напишут rtv

Для корректной работы плагина, рекомендуется прописывать его в самом верху над всеми плагинами ( выше плагинов admincmd.amxx , mapsmenu.amxx , adminvote.amxx )

с v0.1b:
В плагине сделан квар:
amx_block_changelevel
позволяющий настроить блокировку смены карты до определенного раунда ( по умолчанию,карту можно будет менять до 10 раунда )
v0.2:
Добавлен флаг админа ADMIN_CVAR , который сможет менять карту в любое время
Исправлены мелкие ошибки, за что отдельное спасибо пользователю Statsenko_91
*/
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#else
#define DontChange print_team_default
#define Blue print_team_blue
#define Red print_team_red
#define Grey print_team_grey
#endif

#define PLUGIN "block_changelevel"
#define VERSION "0.2"
#define AUTHOR "MiXa"

#define GL_ADMIN_FLAG ADMIN_CVAR // Флаг админа, который сможет менять карту в любое время

new round_number, q_block

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

q_block = register_cvar("amx_block_changelevel", "10") // С какого раунда разрешать смену карты

register_clcmd("amx_map", "block_changelevel")
register_clcmd("amx_votemap", "block_changelevel")
register_clcmd("changelevel", "block_changelevel")
register_clcmd("amx_mapmenu", "block_changelevel")
register_clcmd("amx_votemapmenu", "block_changelevel")

register_logevent("event_round_start", 2, "1=Round_Start")
register_event("TextMsg", "event_round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
}

public event_round_start ()
round_number++

public event_round_restart()
round_number = 0

public block_changelevel(id)
{
if (!(get_user_flags ( id ) & GL_ADMIN_FLAG ))
{
if ( round_number <= get_pcvar_num(q_block)-1 )
{
client_print_color(id, DontChange,"^4Смена карты разрешена с %d раунда, сейчас %d раунд", get_pcvar_num(q_block), round_number);
client_print(id,print_console,"Смена карты разрешена с %d раунда^nсейчас %d раунд", get_pcvar_num(q_block), round_number);
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 13.12.2014, 22:39
Сообщение #3


Стаж: 12 лет

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

Цитата(voed @ 13.12.2014, 22:18) *
Скрытый текст
Код:
/*
Данный плагин запрещает менять карту быстрее 10 раунда.
Довольно часто бывает,что после смены карты на сервере,админы поиграв несколько раундов, начинают сразу ставить голосование
Так вот,этот плагин не позволит им этого делать

если игроки хотят сменить карту, они напишут rtv

Для корректной работы плагина, рекомендуется прописывать его в самом верху над всеми плагинами ( выше плагинов admincmd.amxx , mapsmenu.amxx , adminvote.amxx )

с v0.1b:
В плагине сделан квар:
amx_block_changelevel
позволяющий настроить блокировку смены карты до определенного раунда ( по умолчанию,карту можно будет менять до 10 раунда )
v0.2:
Добавлен флаг админа ADMIN_CVAR , который сможет менять карту в любое время
Исправлены мелкие ошибки, за что отдельное спасибо пользователю Statsenko_91
*/
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#else
#define DontChange print_team_default
#define Blue print_team_blue
#define Red print_team_red
#define Grey print_team_grey
#endif

#define PLUGIN "block_changelevel"
#define VERSION "0.2"
#define AUTHOR "MiXa"

#define GL_ADMIN_FLAG ADMIN_CVAR // Флаг админа, который сможет менять карту в любое время

new round_number, q_block

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

q_block = register_cvar("amx_block_changelevel", "10") // С какого раунда разрешать смену карты

register_clcmd("amx_map", "block_changelevel")
register_clcmd("amx_votemap", "block_changelevel")
register_clcmd("changelevel", "block_changelevel")
register_clcmd("amx_mapmenu", "block_changelevel")
register_clcmd("amx_votemapmenu", "block_changelevel")

register_logevent("event_round_start", 2, "1=Round_Start")
register_event("TextMsg", "event_round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
}

public event_round_start ()
round_number++

public event_round_restart()
round_number = 0

public block_changelevel(id)
{
if (!(get_user_flags ( id ) & GL_ADMIN_FLAG ))
{
if ( round_number <= get_pcvar_num(q_block)-1 )
{
client_print_color(id, DontChange,"^4Смена карты разрешена с %d раунда, сейчас %d раунд", get_pcvar_num(q_block), round_number);
client_print(id,print_console,"Смена карты разрешена с %d раунда^nсейчас %d раунд", get_pcvar_num(q_block), round_number);
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}


Не компилиться(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 13.12.2014, 22:47
Сообщение #4
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(qpi3ik @ 13.12.2014, 21:35) *
Не компилиться(

Инклуд колорчата есть?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 13.12.2014, 22:58
Сообщение #5


Стаж: 12 лет

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

voed, нет конечно)
qpi3ik, на aghl компильни.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 13.12.2014, 22:59
Сообщение #6


Стаж: 12 лет

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

Цитата(voed @ 13.12.2014, 22:43) *
Инклуд колорчата есть?


Есть естественно
Но не компилиться.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 13.12.2014, 23:00
Сообщение #7
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(qpi3ik @ 13.12.2014, 21:55) *
Есть естественно
Но не компилиться.

Ошибка какая?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 13.12.2014, 23:02
Сообщение #8


Стаж: 12 лет

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

qpi3ik, хоть ошибки бы показал.

Тут компильни только убери defain if с колорчата, а то под 1.8.3 скомпилирует
Скрытый текст
Код:
#include <amxmodx>
#include <colorchat>
#define PLUGIN "block_changelevel"
#define VERSION "0.2"
#define AUTHOR "MiXa"

#define GL_ADMIN_FLAG ADMIN_CVAR // Флаг админа, который сможет менять карту в любое время

new round_number, q_block

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

q_block = register_cvar("amx_block_changelevel", "10") // С какого раунда разрешать смену карты

register_clcmd("amx_map", "block_changelevel")
register_clcmd("amx_votemap", "block_changelevel")
register_clcmd("changelevel", "block_changelevel")
register_clcmd("amx_mapmenu", "block_changelevel")
register_clcmd("amx_votemapmenu", "block_changelevel")

register_logevent("event_round_start", 2, "1=Round_Start")
register_event("TextMsg", "event_round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
}

public event_round_start ()
round_number++

public event_round_restart()
round_number = 0

public block_changelevel(id)
{
if (!(get_user_flags ( id ) & GL_ADMIN_FLAG ))
{
if ( round_number <= get_pcvar_num(q_block)-1 )
{
client_print_color(id, DontChange,"^4Смена карты разрешена с %d раунда, сейчас %d раунд", get_pcvar_num(q_block), round_number);
client_print(id,print_console,"Смена карты разрешена с %d раунда^nсейчас %d раунд", get_pcvar_num(q_block), round_number);
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 13.12.2014, 23:04
Сообщение #9


Стаж: 12 лет

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

Цитата(Bloo @ 13.12.2014, 22:54) *
voed, нет конечно)
qpi3ik, на aghl компильни.


На aghl норм.
Просто делал через 1.8.2 а не через 1.8.3
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 13.12.2014, 23:08
Сообщение #10


Стаж: 12 лет

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

qpi3ik, тебе и нужно через 1.8.2, если ты изначальный вариант туда пихнул он на 1.8.2 работать не будет, компиль без условия. Я исходник под спойлер засунул в предыдущем посте.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 13.12.2014, 23:44
Сообщение #11


Стаж: 12 лет

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

Цитата(Bloo @ 14.12.2014, 0:04) *
qpi3ik, тебе и нужно через 1.8.2, если ты изначальный вариант туда пихнул он на 1.8.2 работать не будет, компиль без условия. Я исходник под спойлер засунул в предыдущем посте.


Сделал как ты сказал но кодировка то сбилась((
Текст аэрографами показывает(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 13.12.2014, 23:49
Сообщение #12
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(qpi3ik @ 13.12.2014, 22:40) *
Сделал как ты сказал но кодировка то сбилась((
Текст аэрографами показывает(

Дык перед компиляцией сохрани в utf-8 без BOM исходник
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 13.12.2014, 23:51
Сообщение #13


Стаж: 12 лет

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

Цитата(voed @ 14.12.2014, 0:45) *
Дык перед компиляцией сохрани в utf-8 без BOM исходник


Ну а я как по вашему его сохранил
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 13.12.2014, 23:58
Сообщение #14
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(qpi3ik @ 13.12.2014, 22:47) *
Ну а я как по вашему его сохранил

Ну я не знаю, у меня вообще локально нормально компилируется)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 14.12.2014, 0:55
Сообщение #15


Стаж: 12 лет

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

Цитата(voed @ 14.12.2014, 0:54) *
Ну я не знаю, у меня вообще локально нормально компилируется)


Какой программой редактируешь (сохраняешь) кодировку?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 14.12.2014, 0:57
Сообщение #16
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(qpi3ik @ 13.12.2014, 23:51) *
Какой программой редактируешь (сохраняешь) кодировку?

notepad++
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 14.12.2014, 1:00
Сообщение #17


Стаж: 12 лет

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

Цитата(voed @ 14.12.2014, 1:53) *
notepad++


Попробуй ты компильнуть

Код.

block_changelevel.sma
Код:
#include <amxmodx>
#include <colorchat>
#define PLUGIN "block_changelevel"
#define VERSION "0.2"
#define AUTHOR "MiXa"

#define GL_ADMIN_FLAG ADMIN_CVAR // Флаг админа, который сможет менять карту в любое время

new round_number, q_block

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

q_block = register_cvar("amx_block_changelevel", "10") // С какого раунда разрешать смену карты

register_clcmd("amx_map", "block_changelevel")
register_clcmd("amx_votemap", "block_changelevel")
register_clcmd("changelevel", "block_changelevel")
register_clcmd("amx_mapmenu", "block_changelevel")
register_clcmd("amx_votemapmenu", "block_changelevel")

register_logevent("event_round_start", 2, "1=Round_Start")
register_event("TextMsg", "event_round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
}

public event_round_start ()
round_number++

public event_round_restart()
round_number = 0

public block_changelevel(id)
{
if (!(get_user_flags ( id ) & GL_ADMIN_FLAG ))
{
if ( round_number <= get_pcvar_num(q_block)-1 )
{
client_print_color(id, DontChange,"^4Смена карты разрешена с ^3%d раунда, сейчас ^3%d раунд", get_pcvar_num(q_block), round_number);
client_print(id,print_console,"Смена карты разрешена с %d раунда^nсейчас %d раунд", get_pcvar_num(q_block), round_number);
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}


Отредактировал: qpi3ik, - 14.12.2014, 1:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 14.12.2014, 1:05
Сообщение #18
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(qpi3ik @ 13.12.2014, 23:56) *
Попробуй ты компильнуть

Код.

block_changelevel.sma
Код:
#include <amxmodx>
#include <colorchat>
#define PLUGIN "block_changelevel"
#define VERSION "0.2"
#define AUTHOR "MiXa"

#define GL_ADMIN_FLAG ADMIN_CVAR // Флаг админа, который сможет менять карту в любое время

new round_number, q_block

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

q_block = register_cvar("amx_block_changelevel", "10") // С какого раунда разрешать смену карты

register_clcmd("amx_map", "block_changelevel")
register_clcmd("amx_votemap", "block_changelevel")
register_clcmd("changelevel", "block_changelevel")
register_clcmd("amx_mapmenu", "block_changelevel")
register_clcmd("amx_votemapmenu", "block_changelevel")

register_logevent("event_round_start", 2, "1=Round_Start")
register_event("TextMsg", "event_round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
}

public event_round_start ()
round_number++

public event_round_restart()
round_number = 0

public block_changelevel(id)
{
if (!(get_user_flags ( id ) & GL_ADMIN_FLAG ))
{
if ( round_number <= get_pcvar_num(q_block)-1 )
{
client_print_color(id, DontChange,"^4Смена карты разрешена с ^3%d раунда, сейчас ^3%d раунд", get_pcvar_num(q_block), round_number);
client_print(id,print_console,"Смена карты разрешена с %d раунда^nсейчас %d раунд", get_pcvar_num(q_block), round_number);
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}

У меня amxx 1.8.3, поэтому я не могу скомпилировать с инклудом колорчата. Этот вариант у меня компилируется нормально
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qpi3ik
сообщение 14.12.2014, 1:17
Сообщение #19


Стаж: 12 лет

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

Цитата(voed @ 14.12.2014, 2:01) *
У меня amxx 1.8.3, поэтому я не могу скомпилировать с инклудом колорчата. Этот вариант у меня компилируется нормально


Все ровно как не старался кодировку сохранить одно и тоже.
Делаю так.

Скрытый текст


В итоге получается так.

Скрытый текст


Отредактировал: qpi3ik, - 14.12.2014, 1:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 14.12.2014, 1:26
Сообщение #20
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

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