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

Префикс перед ником в чате с помощью 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.

Сообщение several » 08 янв 2013, 20:20

Rejiser писал(а):several, попробуй плагин, который стоял у тебя первоначально поставить выше (в plugins.ini )этого плагина

так и было, colored самым последним ставить же, предпоследним стоял мой vip prefix.
Аватара пользователя
several
 
Сообщения: 61
Зарегистрирован: 22 фев 2012, 13:42
Благодарил (а): 12 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

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

Сообщение Stolen » 10 янв 2013, 19:43

Всё работает не плохо, но вот есть проблемка. У некоторых людей приставка троится:
Вы должны зарегистрироваться, чтобы видеть ссылки. ... EAF5D52BC/
http://www.byStolen.ru
Unique ID Provider(Web)
[||||||||||||||||||||] ~25%
Аватара пользователя
Stolen
 
Сообщения: 47
Зарегистрирован: 19 сен 2011, 13:06
Благодарил (а): 49 раз.
Поблагодарили: 81 раз.

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

Сообщение BlackSmoke » 10 янв 2013, 20:24

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

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

Сообщение Stolen » 10 янв 2013, 20:39

[spoiler]//Главные
Код: Выделить всё
"STEAM_0:0:20961421" "Главный" // stolen
"STEAM_0:0:28732601" "Главный"  // switch


//Админ+Вип
"STEAM_0:0:14683772" "Модератор"  //eaten
"STEAM_0:0:44637873" "Модератор" // pacman
"STEAM_0:1:46602263" "Модератор" // lizzka
"STEAM_0:1:24758343" "Модератор" // fufi
"STEAM_0:0:1177895" "Модератор" // po4talion
"STEAM_0:1:22143498" "Модератор" // kerla
"MyTuK"  "Модератор" // mutik
"eco:j"  "Модератор" // eco:j




//Admins
"STEAM_0:1:55394477" "Админ"  // ason
"STEAM_0:1:42351854" "Админ" //kulak
"STEAM_0:0:30955656" "Админ"  // Ares
"STEAM_0:1:42977616" "Админ"  // monka

//Vips
"STEAM_0:0:48830906" "Вип"  // Marisha
"STEAM_0:1:38797882" "Вип"  //  Sveta
"STEAM_0:1:16316795" "Вип"  //  Irina
"*Dina*" "Вип"  //   dina
"STEAM_0:0:56355148" "Вип"  // Spartahuy


//other

"STEAM_0:1:20757360" "Сэмпай"  // trofik
[/spoiler]

Вот ещё на всякий:
Вы должны зарегистрироваться, чтобы видеть ссылки.
http://www.byStolen.ru
Unique ID Provider(Web)
[||||||||||||||||||||] ~25%
Аватара пользователя
Stolen
 
Сообщения: 47
Зарегистрирован: 19 сен 2011, 13:06
Благодарил (а): 49 раз.
Поблагодарили: 81 раз.

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

Сообщение BlackSmoke » 10 янв 2013, 22:13

лишние пробелы убери , коментарии только после строчки
Код: Выделить всё




//Admins

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

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

Сообщение GaMeRs » 10 янв 2013, 23:04

Чёт ваще не пашет, скопировал все файлы, которые ты залил в 1 посте, в prefix.ini добавил:
"GaMeRs" "lol" и префикса нет, либо [Админ], если включить квар.
Аватара пользователя
GaMeRs
 
Сообщения: 1574
Зарегистрирован: 12 мар 2012, 17:25
Благодарил (а): 84 раз.
Поблагодарили: 468 раз.

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

Сообщение BlackSmoke » 10 янв 2013, 23:51

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

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

Сообщение GaMeRs » 11 янв 2013, 00:51

Естественно, уже не раз делал изменения в этом плагине :-D
Только шутеру не говорите :-X
Аватара пользователя
GaMeRs
 
Сообщения: 1574
Зарегистрирован: 12 мар 2012, 17:25
Благодарил (а): 84 раз.
Поблагодарили: 468 раз.

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

Сообщение cahek86 » 27 янв 2013, 20:19

Добавил чтоб по IP тоже работало, и проверку на флаг иммунитета
потому что если по нику стоит то без админки если зайти то прификс будет) (косяк)

Код: Выделить всё

/*
*  prefix.ini   
*/
public ct_message_format(id)
{
   new szName[32], pos[2][127], szPr[32], szSteamID[64], szIP[25];
   get_user_name(id, szName, 31);
   get_user_authid(id, szSteamID, 63);
        get_user_ip(id, szIP, 24,1);
   for(new i; i < iLinesPrefix; i++)
   {
      parse(szStringFilePrefix[i], pos[0], 126, pos[1], 126);
      format(szPr, 31, "[^x04%s^x01]", pos[1]);
                if(get_user_flags(id) & ADMIN_IMMUNITY)
      if(equali(szName, pos[0]) || equali(szSteamID, pos[0]) || equali(szIP, pos[0]))
      {
         ct_add_to_msg(CT_MSGPOS_PREFIX, szPr)
      }
   }
}
Аватара пользователя
cahek86
 
Сообщения: 85
Зарегистрирован: 11 июн 2010, 11:27
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

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

Сообщение stryker » 30 янв 2013, 05:48

можно прекрепить вот этот плагин[spoiler]new show_ip,show_steamid,show_time,show_ping,show_loss;

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

show_ip = register_cvar("sp_showip","0")
show_steamid = register_cvar("sp_showsteamid","1")
show_time = register_cvar("sp_showtime","0")
show_ping = register_cvar("sp_showping","0")
show_loss = register_cvar("sp_showloss","0")


register_clcmd ("say /whosteam", "who_steam")
register_clcmd ("say /sp", "who_steam")
register_clcmd ("say /ws", "who_steam")
}


public who_steam(id)
{
new bool:ip_showed = false
new bool:steamid_showed = false
new bool:time_showed = false
new bool:ping_showed = false
new bool:loss_showed = false
if (get_pcvar_num(show_ip)>0)
{
ip_showed = true
}
if (get_pcvar_num(show_steamid)>0)
{
steamid_showed = true
}
if (get_pcvar_num(show_time)>0)
{
time_showed = true
}
if (get_pcvar_num(show_ping)>0)
{
ping_showed = true
}
if (get_pcvar_num(show_loss)>0)
{
loss_showed = true
}

new players[32], playersFound
get_players(players,playersFound)
new pos, message[2048]
new name[40], ip[30],steamid[32], ping, loss;
new str_pt[6],str_pi[6],str_lo[6]
pos += format(message[pos],2048 - pos,"<STYLE>body{background:#232323;color:#cfcbc2;margin:20px}table{width:100%%;line-height:160%%;font-size:12px}th{background:#2f3030;color:#c4b550;text-align:left}.q{border:2px solid #4a4945}tr{background:#4a4945}.b{background:#3b3b37}</STYLE>")
for (new i = 0;i < playersFound;i++)
{
new bool:steam = false
if (is_user_steam(id))
steam = true
new bool:bot = false
if (is_user_bot(id))
bot = true
get_user_name(players[i],name,39)
get_user_ip(players[i],ip,29,1)
get_user_authid(players[i], steamid, 31)
num_to_str(get_user_time(players[i]),str_pt,5)
get_user_ping(players[i],ping,loss)
num_to_str(ping,str_pi,5)
num_to_str(loss,str_lo,5)

pos += format(message[pos],2048 - pos,"%d.<font color=^"red^">%s</font> <font color=^"green^">%s</font>%s %s%s",i+1,name,steam?"[STEAM]":"",bot?"[BOT]":"",ip_showed?"IP:":"",ip_showed?ip:"")
pos += format(message[pos],2048 - pos," %s%s %s%s",steamid_showed?"CTuM urpoka =>":"",steamid_showed?steamid:"",time_showed?"TIME:":"",time_showed?str_pt:"")
pos += format(message[pos],2048 - pos," %s%s %s%s^n",ping_showed?"PING":"",ping_showed?str_pi:"",loss_showed?"LOSS:":"",loss_showed?str_lo:"")<br>
}
show_motd(id,message,"Steam и Non-Steam Игрока")
return PLUGIN_HANDLED
}

public ct_message_format(id)
{
if (is_user_steam(id))
{
ct_add_to_msg(CT_MSGPOS_PREFIX, "[^x03STEAM^x01]")
}
}
stock bool:is_user_steam(id)
{
static dp_pointer;

if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}

return false;[/spoiler] к colored-translit чтобы определяло [steam] и работало /sp
Аватара пользователя
stryker
 
Сообщения: 1
Зарегистрирован: 30 янв 2013, 03:23
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6

Пред.След.

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

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

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