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

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

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

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

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

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

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

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

VIP префикс в Colored Translite

, VIP префикс в Colored Translite
Статус пользователя mgaming
сообщение 22.9.2014, 0:39
Сообщение #1
Стаж: 11 лет

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

Доброго времени суток парни!

Помогите пожалуйста сделать так, чтобы в плагине Colored Translite можно было настраивать префикс, цвет ника, чата не только админам но и игрокам VIp т.е игрокам с флагом (t) допустим, в скриптинге ничего не соображаю((( боюсь плагин испортить(

Отредактировал: mgaming, - 22.9.2014, 0:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fintok
сообщение 22.9.2014, 8:10
Сообщение #2


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Код:
#include <amxmodx>
#include <colored_translit>

#define PLUGIN "CT Addon: VIP Prefix"
#define VERSION "1.0"
#define AUTHOR "Player"

new const STEAM_PREFIX[] = "[^4VIP^1]" // Префикс VIP игрока

#define VIP_FLAG ADMIN_LEVEL_H // Флаг достпупа

#define CheckFlag(%1, %2)(%1 & (1 << (%2 & 31)))
#define SetFlag(%1, %2)(%1 |= (1 << (%2 & 31)))
#define ClearFlag(%1, %2)(%1 &= ~(1 << (%2 & 31)))
new bool:gbIsVIP

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

public client_putinserver(id)
{
if(!is_user_bot(id) && !is_user_hltv(id))
(get_user_flags(id) & VIP_FLAG) ? SetFlag(gbIsVIP, id) : ClearFlag(gbIsVIP, id)
}

public ct_message_format(id)
{
if(CheckFlag(gbIsVIP, id))
ct_add_to_msg(CT_MSGPOS_PREFIX, STEAM_PREFIX)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 22.9.2014, 9:00
Сообщение #3
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

Помимо 4-х (5-ти) префиксов по флагам (файл Флаги) есть возможность установки префиксов по Нику (файл prefix.ini в настройках). Префиксы по флагу редактируете в lang- файле. Для установки 5-го флага (посчитал лишним (4- достаточно), т.к. при наличии у игрока нескольких флагов к префиксу плагин "путается" в присвоении префикса, либо у меня руки кривые) раскомментируйте строки (CT_SHERIF) в say.inl и say_team.inl
Желательно ставить в конец plugins.ini
P.S. Если стоит ARUltimate от Скальпеля- потребуются другие инклюды.

Отредактировал: georgeml, - 22.9.2014, 9:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя KaJIbIBaH
сообщение 22.9.2014, 10:57
Сообщение #4


Стаж: 19 лет

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

mgaming, как вариант, можно использовать дополнительный_плагин (в самом ColoredTranslit изменять ничего не нужно, он будет работать в паре с дополнительным_плагином).
дополнительный_плагин

Код:

#include <amxmodx>
#include <colored_translit>

new name[34] // сюда будем копировать ник игрока
new ip[34] // сюда его IP
new steamid[34] // сюда его SteamID

public plugin_init()
{
register_plugin("VIPPrefix", "1.0", "s7kam");
}

public ct_message_format(id) // если какой-либо игрок написал что-нибудь (функция сработает только, в паре с плагином ColoredTranslit)
{
get_user_name(id, name, 33) // узнаём ник игрока, копируем в переменную "name"
get_user_ip(id, ip, 33) // узнаём IP, записываем в "ip"
get_user_authid(id, steamid, 33) // узнаём SteamID, записываем в "steamid"

if((equal(name, "Ivan") || equal(name, "IIeTep") || equal(name, "Cugp")) && (get_user_flags(id) & ADMIN_IMMUNITY)) // если ник = Ivan или IIeTep или Cugp, и + к этом у него есть флаг "а" (иммунитет)...
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04Главный Админ^x01]"); // ...то добавляем ему префикс "[" дальше зелёный цвет "Главный Админ" дальше стандартный цвет "]"
}
else if(equal(name, "Stark")) // если предыдущее условие не сработало (ник и не Ivan, и не IIeTep, и не Cugp, или один из них, но нет флага "а"), проверяем, если ник = Stark ...
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04Железный человек^x01]");
}
else if(equal(steamid, "STEAM_0:0:49672515")) // если пршлое условие тоже не сработало, но SteamID = STEAM_0:0:49672515 ...
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04Крутой перец^x01]");
}
else if(equal(ip, "154.23.67.89")) // если все пршлые условия не сработали, но IP = 154.23.67.89 ...
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04Главный Читер =D^x01]");
}
else if(get_user_flags(id) & ADMIN_IMMUNITY) // если всё-всё-всё предыдущее не сработало (ни IP, ни SteamID ни ник не совпал ни с чем), но есть флаг "а" (иммунитет)...
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04Супер-Админ^x01]");
}
else if(get_user_flags(id) & ADMIN_KICK) // если и флаг "а" отсутствует, но есть флаг "с" (кик)...
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04Админ^x01]");
}
else if(get_user_flags(id) & ADMIN_RESERVATION) // а если и флага "с" нет, и всего предыдущего тоже нет, но есть флаг "b" (резервный слот)...
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x04VIP^x01]");
}
return PLUGIN_CONTINUE;
}



З.Ы. прикрепил .sma
Прикрепленный файл  VIPPrefix_tutorial.sma ( 2,86 килобайт ) Кол-во скачиваний: 153

.sma -> .amxx

Отредактировал: KaJIbIBaH, - 22.9.2014, 11:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mgaming
сообщение 25.9.2014, 14:39
Сообщение #5
Стаж: 11 лет

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

Спасибо большое, кнопочку нажал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
notty
сообщение 1.12.2014, 12:08
Сообщение #6
Стаж: 11 лет

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

Меценат Меценат

Скрытый текст
Цитата(Fintok @ 22.9.2014, 8:06) *
Код:
#include <amxmodx>
#include <colored_translit>

#define PLUGIN "CT Addon: VIP Prefix"
#define VERSION "1.0"
#define AUTHOR "Player"

new const STEAM_PREFIX[] = "[^4VIP^1]" // Префикс VIP игрока

#define VIP_FLAG ADMIN_LEVEL_H // Флаг достпупа

#define CheckFlag(%1, %2)(%1 & (1 << (%2 & 31)))
#define SetFlag(%1, %2)(%1 |= (1 << (%2 & 31)))
#define ClearFlag(%1, %2)(%1 &= ~(1 << (%2 & 31)))
new bool:gbIsVIP

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

public client_putinserver(id)
{
if(!is_user_bot(id) && !is_user_hltv(id))
(get_user_flags(id) & VIP_FLAG) ? SetFlag(gbIsVIP, id) : ClearFlag(gbIsVIP, id)
}

public ct_message_format(id)
{
if(CheckFlag(gbIsVIP, id))
ct_add_to_msg(CT_MSGPOS_PREFIX, STEAM_PREFIX)
}

Куда это вставить?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeNyS91
сообщение 1.12.2014, 12:12
Сообщение #7


Стаж: 15 лет

Сообщений: 151
Благодарностей: 34
Полезность: 166

Цитата(notty @ 1.12.2014, 11:04) *
[spoiler=Скрытый текст][/spoiler]
Куда это вставить?)

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