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

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

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

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

Помогите разобраться с функцией colorchat

, Вопросики, вопросики, вопросики =)
Статус пользователя Sonic2790
сообщение 10.8.2011, 21:40
Сообщение #1


Стаж: 18 лет

Сообщений: 236
Благодарностей: 38
Полезность: 142

Ребят, помогайте)
Во время изучения того, как делать цветной чат - зашел в тупик. Т.е. есть плагин. В нем есть вывод сообщения в чат по команде для всех
rules.sma
/*
Rules in MOTD, v 0.3
By Sonic2790
*/

#include <amxmodx>


#define PLUGIN "Rules in MOTD"
#define VERSION "0.3"
#define AUTHOR "Sonic2790"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rules", "motd_rules")
register_clcmd("say rules", "motd_rules")
register_clcmd("say_team /rules", "motd_rules")
register_clcmd("say_team rules", "motd_rules")
}

public motd_rules(id)
{
new name[32]
get_user_name(id, name, 31)
client_print(0, print_chat, "[Rules|Бот] Игрок %s читает правила сервера. Команда в чате: /rules", name)
show_motd(id, "motd_rules.txt", "Правила | Rules")
}



Я хочу поменять команду "client_print" на "ColorChat" - делаю следующее:
1) Добавляю в верх плагина инклюд колорчата #include <colorchat>
2) Меняю строчку "client_print(0, print_chat,"..." на "ColorChat(0, RED,......."
3) Сохраняю в УТФ-8(без бом), компилю...
и получается что то типо такого:

rules.sma с колорчатом
/*
Rules in MOTD, v 0.3
By Sonic2790
*/

#include <amxmodx>
#include <colorchat>

#define PLUGIN "Rules in MOTD"
#define VERSION "0.3"
#define AUTHOR "Sonic2790"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rules", "motd_rules")
register_clcmd("say rules", "motd_rules")
register_clcmd("say_team /rules", "motd_rules")
register_clcmd("say_team rules", "motd_rules")
}

public motd_rules(id)
{
new name[32]
get_user_name(id, name, 31)
ColorChat(0, RED, "[Rules|Бот] Игрок %s читает правила сервера. Команда в чате: /rules", name)
show_motd(id, "motd_rules.txt", "Правила | Rules")
}



И в итоге плагин не выводит сообщения. Но если сделать показ сообщения только юзеру (вместо 0 поставить id), который вызвал показ мотд окна (в плагине) - то колорчат отлично выводит цветное сообщение. Помогите разобраться - может что еще забыл дописать) Заранее спасибо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя grant1
сообщение 10.8.2011, 23:47
Сообщение #2


Стаж: 17 лет

Сообщений: 82
Благодарностей: 11
Полезность: 106

я что-то не особо тебя понял.. оставь id в чём проблема?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sonic2790
сообщение 11.8.2011, 9:57
Сообщение #3


Стаж: 18 лет

Сообщений: 236
Благодарностей: 38
Полезность: 142

Ну если ты не очень внимательно посмотрел плагин - мне надо ставить именно 0, т.к. надо выводить сообщение всем.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 11.8.2011, 10:27
Сообщение #4


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

странно, вроде как все должно работать. А сохранил в utf-8 without BOM?

а может быть не видит тот кто пишет команду, но видят все остальные? %)


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fox-CaH9
сообщение 11.8.2011, 22:36
Сообщение #5


Стаж: 14 лет

Сообщений: 74
Благодарностей: 28
Полезность: 116

Цитата(ZZZombiE @ 11.8.2011, 12:27) *
странно, вроде как все должно работать. А сохранил в utf-8 without BOM?

а может быть не видит тот кто пишет команду, но видят все остальные? %)


если бы он сохранил с BOM то плагин просто не откомпилелся бы ))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя H@ROS
сообщение 12.8.2011, 7:12
Сообщение #6


Стаж: 14 лет

Сообщений: 102
Благодарностей: 17
Полезность: 134

public motd_rules(id) — это тебя не настораживает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sonic2790
сообщение 12.8.2011, 22:32
Сообщение #7


Стаж: 18 лет

Сообщений: 236
Благодарностей: 38
Полезность: 142

H@ROS, если убираю значение, компилятор ругается на строчку "get_user_name(id, name, 31)", а точнее на переменную id. Просто всегда доводилось колорчат делать на вывод текста для id ((. Если не трудно, подскажи - откуда мне взять переменную id.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 12.8.2011, 23:13
Сообщение #8
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Sonic2790,
Сделай цикл и показывай сообщение каждому игроку по отдельности.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя H@ROS
сообщение 13.8.2011, 6:53
Сообщение #9


Стаж: 14 лет

Сообщений: 102
Благодарностей: 17
Полезность: 134

Либо если используется Colored Translit, то вообще не морочь себе голову. Просто в плагине добавь #include <colored_translit> и слова, которые надо выделить цветом, пиши вот так → ^x01твоя_фраза — обычный, ^x03 — цвет команды, ^x04 — зелёный.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: