Русское сообщество по скриптингу

Префикс перед ником в чате с помощью Colored Translit 3.0

Статьи или фрагменты кода для новичков и уже опытных скриптеров по AMXX.

Модератор: Chuvi

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по AMX Mod X.

Префикс перед ником в чате с помощью Colored Translit 3.0

Сообщение BlackSmoke » 08 янв 2013, 00:39

В этой статье я расскажу как сделать префикс в чате с помощью Colored Translit 3.0 без лишних плагинов и тд.

1. В папке '../configs/colored_translit/'
Создаем файл: prefix.ini
В этом файле вы будете вписывать ник и префикс
Пример:
Код: Выделить всё
"BlackSmoke" "amx-x.ru"
"DJ_WEST" "AMX-X.RU"


2. В папке '../amxmodx/scripting/colored_translit/'
Создаем файл: prefix.inl
И вписываем туда следующее:
Код: Выделить всё
/*
*       Colored Translit v3.0 by Sho0ter
*/
public ct_message_format(id)
{
        new szName[32], pos[2][127], szPr[32];
        get_user_name(id, szName, 31);
        for(new i; i < iLinesPrefix; i++)
        {
                parse(szStringFilePrefix[i], pos[0], 126, pos[1], 126);
                if(equal(szName, pos[0]))
                {
                        format(szPr, 31, "[^x04%s^x01]", pos[1])
                        ct_add_to_msg(CT_MSGPOS_PREFIX, szPr)
                }
        }
}


3. В папке '../amxmodx/scripting/colored_translit/'
Находим: defines.inl и cfg.inl
И вписываем туда следующее:
cfg.inl
Код: Выделить всё
public plugin_cfg()
{
        // ...
        format(szPrefixFile, charsmax(szPrefixFile), "%s/colored_translit/prefix.ini", s_ConfigsDir)
        if(file_exists(szPrefixFile))
        {
                while((iLinesPrefix < file_size(szPrefixFile, 1) && read_file(szPrefixFile, iLinesPrefix, szStringFilePrefix[iLinesPrefix], 255, Len)))
                {
                        iLinesPrefix++;
                }
        }

defines.inl
Код: Выделить всё
// ...
new szPrefixFile[127]
new szStringFilePrefix[100][256]
new iLinesPrefix


Скачать CT 3.0: Вы должны зарегистрироваться, чтобы видеть ссылки.

Внимание:
Обращайте внимание на окончания: INL и INI
Последний раз редактировалось BlackSmoke 08 янв 2013, 15:33, всего редактировалось 1 раз.
Заказы принимаю Отзывы о работе
itsblacksmoke
Аватара пользователя
BlackSmoke
 
Сообщения: 1109
Зарегистрирован: 28 июл 2012, 04:33
Откуда: Ukraine
Благодарил (а): 106 раз.
Поблагодарили: 287 раз.
Опыт программирования: Около года
Языки программирования: Counter Strike 1.6

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение BlackSmoke » 16 мар 2014, 14:49

butkov74, Тогда понятия не имею в чём проблема.
Заказы принимаю Отзывы о работе
itsblacksmoke
Аватара пользователя
BlackSmoke
 
Сообщения: 1109
Зарегистрирован: 28 июл 2012, 04:33
Откуда: Ukraine
Благодарил (а): 106 раз.
Поблагодарили: 287 раз.
Опыт программирования: Около года
Языки программирования: Counter Strike 1.6

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение folksy » 18 мар 2014, 15:17

Ребят, помогите пожалуйста совместить Colored Translit с top_say, чтобы автоматически префиксы выдавалась ТОП игрокам. исходник приложил.


Код: Выделить всё
#include <amxmodx>
#include <csstats>
 
#define PLUGIN "TopPrefix"
#define VERSION "0.1"
#define AUTHOR "TeMkO_o"
 
#define TOP_RANK        10
 
#define TOP_PREFIX      "^4[ТОП]"
#define T_TAG           "(Террор)"
#define CT_TAG          "(Спецназовец)"
#define SPEC_TAG        "*Зритель*"
#define DEAD_TAG        "*Труп*"
 
new Trie:g_ChatOpts
new g_maxplayers
 
public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
       
        register_message(get_user_msgid("SayText"),"Msg_SayText")
       
        g_ChatOpts = TrieCreate()
       
        TrieSetCell(g_ChatOpts,"#Cstrike_Chat_All",1)
        TrieSetCell(g_ChatOpts,"#Cstrike_Chat_T",2)
        TrieSetCell(g_ChatOpts,"#Cstrike_Chat_CT",3)
        TrieSetCell(g_ChatOpts,"#Cstrike_Chat_AllDead",4)
        TrieSetCell(g_ChatOpts,"#Cstrike_Chat_T_Dead",5)
        TrieSetCell(g_ChatOpts,"#Cstrike_Chat_CT_Dead",6)
        TrieSetCell(g_ChatOpts,"#Cstrike_Chat_AllSpec",7)
       
        g_maxplayers = get_maxplayers()
}
 
public Msg_SayText(){
        new id = get_msg_arg_int(1)
       
        if(!id || id > g_maxplayers)
                return
       
        new st[8]
        new rank = get_user_stats(id,st,st)
 
        if(rank > TOP_RANK)
                return
       
        new name[32]
        get_user_name(id,name,31)
       
        new chatIndefer[32],sayText[191],chatPointer
        get_msg_arg_string(2,chatIndefer,31)
        get_msg_arg_string(4,sayText,190)
        TrieGetCell(g_ChatOpts,chatIndefer,chatPointer)
       
        new buff[192],len
       
        len += formatex(buff[len],191-len,TOP_PREFIX)
       
        switch(chatPointer){
                case 1:{
                        len += formatex(buff[len],191-len," ^3%s^1",name)
                }
                case 2:{
                        len += formatex(buff[len],191-len," %s ^3%s^1",T_TAG,name)
                }
                case 3:{
                        len += formatex(buff[len],191-len," %s ^3%s^1",CT_TAG,name)
                }
                case 4:{
                        len += formatex(buff[len],191-len," %s ^3%s^1",DEAD_TAG,name)
                }
                case 5:{
                        len += formatex(buff[len],191-len," %s%s ^3%s^1",DEAD_TAG,T_TAG,name)
                }
                case 6:{
                        len += formatex(buff[len],191-len," %s%s ^3%s^1",DEAD_TAG,CT_TAG,name)
                }
                case 7:{
                        len += formatex(buff[len],191-len," %s ^3%s^1",SPEC_TAG,name)
                }
                default: return
        }
       
        len += formatex(buff[len],191-len," : %s",sayText)
       
        set_msg_arg_string(2,buff)
        set_msg_arg_string(4,"")
}
Аватара пользователя
folksy
 
Сообщения: 6
Зарегистрирован: 31 янв 2014, 14:14
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение diman949494 » 23 мар 2014, 20:34

Подскажите, какой флаг требуется для префикса Админ, в Colored-translit'e по умолчанию? (всмысле чистый плагин без добавок)
Аватара пользователя
diman949494
 
Сообщения: 87
Зарегистрирован: 24 авг 2011, 22:51
Благодарил (а): 55 раз.
Поблагодарили: 4 раз.

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение snaiper » 29 мар 2014, 07:52

Подскажите, какой флаг требуется для префикса Админ, в Colored-translit'e по умолчанию? (всмысле чистый плагин без добавок)

По моему i
Аватара пользователя
snaiper
 
Сообщения: 14
Зарегистрирован: 30 окт 2012, 10:34
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение snaiper » 02 апр 2014, 13:19

Ребята помогите, у меня при компиляции выходит ошибка say.inl
Аватара пользователя
snaiper
 
Сообщения: 14
Зарегистрирован: 30 окт 2012, 10:34
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение vady1998111 » 11 апр 2014, 19:57

Это всё очень легко делаетса добавь меня в скайп: vady19981 помогу безплатно). ;)
Аватара пользователя
vady1998111
 
Сообщения: 1
Зарегистрирован: 08 апр 2014, 19:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение Hammer » 21 июн 2014, 20:42

У меня не работает в чом дело ?
Аватара пользователя
Hammer
 
Сообщения: 19
Зарегистрирован: 09 янв 2014, 02:58
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение gyxoBka » 21 июн 2014, 22:14

Hammer писал(а):У меня не работает в чом дело ?

ну это уже вообще... тут Ванг нету. что конкретно не работает? что делал после чего перестало работать и тд? и тогда у тебя будет хоть шанс, что тебе помогут.
Ню-ню-ню, не пишите мне в ЛС ху*ню.
В ЛС не помогаю и не просите.
Аватара пользователя
gyxoBka
Скриптер
 
Сообщения: 888
Зарегистрирован: 29 янв 2012, 18:03
Благодарил (а): 239 раз.
Поблагодарили: 249 раз.
Опыт программирования: Больше трех лет

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение Justick » 21 июн 2014, 22:15

Hammer писал(а):У меня не работает в чом дело ?

Не правильно установил.
[spoiler]И ещё, "чём" пишется через ё![/spoiler]
Аватара пользователя
Justick
 
Сообщения: 389
Зарегистрирован: 01 июн 2014, 23:59
Благодарил (а): 28 раз.
Поблагодарили: 163 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Префикс перед ником в чате с помощью Colored Translit 3.

Сообщение MaRs16 » 27 июн 2014, 16:59

А после этого нужно colored_translit.sma компилировать?

Добавлено спустя 1 минуту 10 секунд:
Re: Префикс перед ником в чате с помощью Colored Translit 3.0
Кто нибудь может выложить готовый колоред?
Аватара пользователя
MaRs16
 
Сообщения: 1
Зарегистрирован: 10 июн 2014, 21:50
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6

Пред.След.

Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11