• Страница 1 из 1
  • 1
Модератор форума: admin, TweIk  
Урок по созданию красивого чата
adminДата: Вторник, 21.12.2010, 17:15:25 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
Итак. В этой теме я вам расскажу, как сделать красивый общий чат. В основном это касается ДМ серверов. Самый простой способ, не мучаясь, сделать чат - это просто убрать public OnPlayerText, но тогда в чате не будет ID'а и администрации будет крайне неудобно смотерть TAB'ом ID матершинника или спамера.

Для того, чтобы сделать в чате ID, не обходимо использовать стандартную функцию SendClientMessageToAll.

Code

public OnPlayerText(playerid, text[])
{
     new sendername[32];
     GetPlayerName(playerid, sendername, 32);
     format(string, 128, "%s(%d): %s", sendername, playerid, text);
     SendСlientMessageToAll(GetPlayercolor(playerid), string);
     return 0;
}

Но в этом случае все сообщение будет одного цвета (цвета игрока), а это не есть хорошо, если у игрока стоит темный цвет.

Нам нужна функция, которая отправит ник игрока его цветом, а остальной текст белым. К сожалению, в самп 0.3б нет функции способной отправить одно сообщение разными цветами. Нам приходится использовать SendPlayerMessageToAll:

Code

public OnPlayerText(playerid, text[])
{
     format(string, 128, "(%d): %s", playerid, text);
     SendPlayerMessageToAll(playerid, string);
     return 0;
}

Что же выходит? Ник идет цветом игрока, а ид и текст - белым. Но форма текста получается следующая:

Splav: (5): Привет
Как видим два двоеточия. Да и ид лучше было бы, чтобы был цветом игрока. как же поступить? Думаю ответ очевиден - прилепить ID к нику на время отправки сообщения.

Code

public OnPlayerText(playerid, text[])
{
      new string[256], sendername[32];
     GetPlayerName(playerid, sendername, 32);
     format(string, sizeof(string), "%s(%d)", sendername, playerid); // Прикрепляем ид к нику
     SetPlayerName(playerid, string); // Меняем ник
     format(string, 128, "%s", caps); // Делаем сообщение
     SendPlayerMessageToAll(playerid, string); // Отправляем сообщение
     SetPlayerName(playerid, sendername); // Возвращаем исходный ник
     return 0;
}  

Вот и все. Теперь в чат выйдет красивое сообщение.
Источник


zm-jail.ru

Разработка сайта samp-pawno.ru


 
СообщениеИтак. В этой теме я вам расскажу, как сделать красивый общий чат. В основном это касается ДМ серверов. Самый простой способ, не мучаясь, сделать чат - это просто убрать public OnPlayerText, но тогда в чате не будет ID'а и администрации будет крайне неудобно смотерть TAB'ом ID матершинника или спамера.

Для того, чтобы сделать в чате ID, не обходимо использовать стандартную функцию SendClientMessageToAll.

Code

public OnPlayerText(playerid, text[])
{
     new sendername[32];
     GetPlayerName(playerid, sendername, 32);
     format(string, 128, "%s(%d): %s", sendername, playerid, text);
     SendСlientMessageToAll(GetPlayercolor(playerid), string);
     return 0;
}

Но в этом случае все сообщение будет одного цвета (цвета игрока), а это не есть хорошо, если у игрока стоит темный цвет.

Нам нужна функция, которая отправит ник игрока его цветом, а остальной текст белым. К сожалению, в самп 0.3б нет функции способной отправить одно сообщение разными цветами. Нам приходится использовать SendPlayerMessageToAll:

Code

public OnPlayerText(playerid, text[])
{
     format(string, 128, "(%d): %s", playerid, text);
     SendPlayerMessageToAll(playerid, string);
     return 0;
}

Что же выходит? Ник идет цветом игрока, а ид и текст - белым. Но форма текста получается следующая:

Splav: (5): Привет
Как видим два двоеточия. Да и ид лучше было бы, чтобы был цветом игрока. как же поступить? Думаю ответ очевиден - прилепить ID к нику на время отправки сообщения.

Code

public OnPlayerText(playerid, text[])
{
      new string[256], sendername[32];
     GetPlayerName(playerid, sendername, 32);
     format(string, sizeof(string), "%s(%d)", sendername, playerid); // Прикрепляем ид к нику
     SetPlayerName(playerid, string); // Меняем ник
     format(string, 128, "%s", caps); // Делаем сообщение
     SendPlayerMessageToAll(playerid, string); // Отправляем сообщение
     SetPlayerName(playerid, sendername); // Возвращаем исходный ник
     return 0;
}  

Вот и все. Теперь в чат выйдет красивое сообщение.
Источник

Автор - admin
Дата добавления - 21.12.2010 в 17:15:25
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
22:10:21
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: