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

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

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

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

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

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

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

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

Реклама 5 строк

Статус пользователя Fake`
сообщение 20.5.2012, 20:09
Сообщение #1


Стаж: 14 лет

Сообщений: 1524
Благодарностей: 320
Полезность: 457

Исходник
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "text in chat"
#define VERSION "1.0"
#define AUTHOR "patr1g / Pr4yer"


enum ChatColor
{
CHATCOLOR_YELLOW = 1, // ЖЁЛТЫЙ
CHATCOLOR_GREEN, // ЗЕЛЁНЫЙ
CHATCOLOR_TEAM_COLOR, // Цвет, в зависимости от команды. (T - красный, CT - синий, CPEC - серый)
CHATCOLOR_GREY, // СЕРЫЙ
CHATCOLOR_RED, // КРАСНЫЙ
CHATCOLOR_BLUE, // СИНИЙ
}

new g_TeamName[][] =
{
"",
"TERRORIST",
"CT",
"SPECTATOR"
}

new g_msgSayText
new g_msgTeamInfo


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

register_cvar("text_chat", "1")
register_cvar("text_chat_interval", "99")

register_cvar("text_chat_1", "Краткие Правила:")
register_cvar("text_chat_2", "- Нельзя убивать в Mario и в оружейке")
register_cvar("text_chat_3", "- Нельзя сидеть в любом месте на карте и кемперить")
register_cvar("text_chat_4", "- Охотнику нельзя ставить молнии в Jail или На респавне игроков")
register_cvar("text_chat_5", "За любое нарушение бан от 60 минут до навсегда!")

g_msgSayText = get_user_msgid("SayText")
g_msgTeamInfo = get_user_msgid("TeamInfo")
}

public plugin_cfg()
{
set_task(get_cvar_float("text_chat_interval"), "showMsg", 12345, "", _, "b")
}

public showMsg()
{
if(get_cvar_num("text_chat") == 1)
{
static
msg1[128],
msg2[128],
msg3[128],
msg4[128],
msg5[128]

get_cvar_string("text_chat_1", msg1, 127)
get_cvar_string("text_chat_2", msg2, 127)
get_cvar_string("text_chat_3", msg3, 127)
get_cvar_string("text_chat_4", msg4, 127)
get_cvar_string("text_chat_5", msg5, 127)

colorChat(0, CHATCOLOR_YELLOW, "%s", msg1)
colorChat(0, CHATCOLOR_RED, "%s", msg2)
colorChat(0, CHATCOLOR_GREEN, "%s", msg3)
colorChat(0, CHATCOLOR_GREY, "%s", msg4)
colorChat(0, CHATCOLOR_BLUE, "%s", msg5)
}
}

colorChat(id, ChatColor:color, const msg[], {Float,Sql,Result,_}:...)
{
new team, index, MSG_Type
new bool:teamChanged = false
new message[192]

switch(color)
{
case CHATCOLOR_YELLOW:
{
message[0] = 0x01;
}
case CHATCOLOR_GREEN:
{
message[0] = 0x04;
}
default:
{
message[0] = 0x03;
}
}

vformat(message[1], 190, msg, 4);

if (id == 0)
{
index = findAnyPlayer();
MSG_Type = MSG_ALL;
}
else
{
index = id;
MSG_Type = MSG_ONE;
}
if (index != 0)
{
team = get_user_team(index);
if (color == CHATCOLOR_RED && team != 1)
{
messageTeamInfo(index, MSG_Type, g_TeamName[1])
teamChanged = true
}
else
if (color == CHATCOLOR_BLUE && team != 2)
{
messageTeamInfo(index, MSG_Type, g_TeamName[2])
teamChanged = true
}
else
if (color == CHATCOLOR_GREY && team != 0)
{
messageTeamInfo(index, MSG_Type, g_TeamName[0])
teamChanged = true
}
messageSayText(index, MSG_Type, message);
if (teamChanged)
{
messageTeamInfo(index, MSG_Type, g_TeamName[team]);
}
}
}

messageSayText(id, type, message[])
{
message_begin(type, g_msgSayText, _, id)
write_byte(id)
write_string(message)
message_end()
}

messageTeamInfo(id, type, team[])
{
message_begin(type, g_msgTeamInfo, _, id)
write_byte(id)
write_string(team)
message_end()
}

findAnyPlayer()
{
new players[32], inum

get_players(players, inum)

for (new a = 0; a < inum; ++a)
{
if(is_user_connected(players[a]))
{
return players[a]
}
}
return 0
}

Не могу поправить интервал показа сообщений, стояло вроде 21, я изменил на 99 и сообщения идут сразу друг за другом, то есть не переставая)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Surf
сообщение 20.5.2012, 20:16
Сообщение #2


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

war3ft на сурфе? Оо

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