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

Prefix Manager

Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.

Модератор: Leonidddd

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

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

Prefix Manager

Сообщение Mon[str] » 01 июн 2012, 16:17

Автор: Mon[str]

Версия: 2.0
Плагин переписан.
Специально для тех кто просил -> Вы должны зарегистрироваться, чтобы видеть ссылки.

Описание:
Думаю многим пригодится данный плагин.
Плагин подойдет под все моды.

Суть данного плагина в том, что он дает префикс к имени игрока по Name, Steam, Ip.
Необходимо вписать в файл Prefix.ini(в кавычках) саму информацию о игроке и через пробел префикс, можно цветной.

Также сделан комментарий т.к. если вы будете давать не по имени то можно запутаться.

Используемые модули:
amxmodx
Cstrike
WPMGPrintChatColor

Настройки:
Синтаксис:
"Name | Steam | Ip" "Prefix"; Example




Комментарий плагина:
[spoiler][pawn]
  1. /*

  2.         CHANGES LIST:

  3.         {

  4.                 [1.0][25.02.2012] -> First Release;

  5.                 [2.0][16.08.2012] ->

  6.                 {

  7.                         BugFix;

  8.                         Update Code;

  9.                         Change Form to Hook_Say();

  10.                         Add Bits;

  11.                 }

  12.         }

  13.                

  14.         THANKS:

  15.         {

  16.                 TurangaLeela -> For the help and continued support;

  17.                 PRoSToTeM@   -> For the help;

  18.                 Plrip        -> For testing;

  19.         }      

  20. */
[/pawn][/spoiler]

PS
Думаю плагин будет конфликтовать с другими плагинами вида Colored Translite.
Префиксы на русском работают не корректно, в следующих версиях постараюсь исправить.
Исправлен баг с ip, теперь префикс можно поставить по любым трем значениям(name, steam, ip).

Prefix_Manager.rar
Последний раз редактировалось Mon[str] 11 фев 2014, 13:03, всего редактировалось 4 раз(а).
Аватара пользователя
Mon[str]
 
Сообщения: 1166
Зарегистрирован: 26 июл 2011, 12:12
Откуда: Россия -> Иркутская область
Благодарил (а): 99 раз.
Поблагодарили: 273 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
C++

Re: Prefix Manager

Сообщение tharasel » 15 фев 2013, 00:33

THA RASEL КОГДА пишу слитно плагин работает а когда не слитно тогда нет можно это как-то исправить ?
Аватара пользователя
tharasel
 
Сообщения: 30
Зарегистрирован: 14 фев 2013, 23:59
Благодарил (а): 5 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Counter-Strike 1.6

Re: Prefix Manager

Сообщение Aeeewqa ;] » 25 фев 2013, 20:17

В кавычках пиши. EG: "THA RASEL"
Аватара пользователя
Aeeewqa ;]
 
Сообщения: 94
Зарегистрирован: 08 ноя 2012, 19:24
Откуда: Украина, Харьков
Благодарил (а): 13 раз.
Поблагодарили: 6 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Prefix Manager

Сообщение HENRI(_)LLOYD » 06 апр 2013, 01:53

Плагин хороший, не спорю
Не проще просто перехватить чат? И самому полностью воссоздать его?

Добавлено спустя 5 минут 24 секунды:
К примеру, как сделал я:
[pawn]
  1. #include <amxmodx>

  2. #include <fakemeta>

  3.  

  4. #define PLUGIN "Prefix all"

  5. #define VERSION "1.1"

  6. #define AUTHOR "HENRI(_)LLOYD"

  7.  

  8. #define FM_TEAM_OFFSET 114

  9. #define fm_get_user_team(%1) get_pdata_int(%1, FM_TEAM_OFFSET)

  10.  

  11. #define VIP_FLAG ADMIN_LEVEL_H

  12. #define ADMIN_FLAG ADMIN_BAN

  13.  

  14. new g_iMaxPlayers;

  15.  

  16. new const g_szTeamNames[][] = {

  17.        

  18.         "Наблюдатель",

  19.         "Терорист",

  20.         "Контр-террорист",

  21.         "Наблюдатель"

  22. };

  23.  

  24. public plugin_init()

  25. {

  26.         register_plugin(PLUGIN, VERSION, AUTHOR)

  27.        

  28.         register_clcmd("say", "clcmdSay", -1, "")

  29.         register_clcmd("say_team", "clcmdSayTeam", -1, "");

  30.         g_iMaxPlayers = get_maxplayers()

  31. }

  32.  

  33. public clcmdSay(id)

  34. {

  35.         static szArgs[256];

  36.         read_args(szArgs, sizeof szArgs - 1);

  37.        

  38.         remove_quotes(szArgs);

  39.        

  40.         if(!strlen(szArgs) || szArgs[0] == '@')

  41.                 return 0;

  42.        

  43.         static szName[32];

  44.         static szNewMsg[256];

  45.         get_user_name(id, szName, sizeof szName - 1)

  46.        

  47.         if (equal(szName, "HENRI(_)LLOYD"))

  48.         {

  49.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s^x01 [^x04Создатель^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", szName, szArgs);

  50.         }

  51.         else if (get_user_flags(id) & ADMIN_FLAG)

  52.         {

  53.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s^x01 [^x04Админ^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", szName, szArgs);

  54.         }

  55.         else if (get_user_flags(id) & VIP_FLAG)

  56.         {

  57.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s^x01 [^x04VIP^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", szName, szArgs);

  58.         }

  59.         else if (is_user_steam(id))

  60.         {

  61.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s^x01 [^x04STEAM^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", szName, szArgs);

  62.         }

  63.         else

  64.         {

  65.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s^x03 %s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", szName, szArgs);

  66.         }

  67.        

  68.         for(new i = 1 ; i <= g_iMaxPlayers ; i++)

  69.         {

  70.                 if(is_user_connected(i))

  71.                 {

  72.                         print_SayText(id, i, szNewMsg)

  73.                 }

  74.         }

  75.         return 1

  76.  

  77. }

  78.  

  79. public clcmdSayTeam(id)

  80. {

  81.         static szArgs[256];

  82.         read_args(szArgs, sizeof szArgs - 1);

  83.        

  84.         remove_quotes(szArgs);

  85.        

  86.         if(!strlen(szArgs) || szArgs[0] == '@')

  87.                 return 0;

  88.        

  89.         static szName[32];

  90.         static szNewMsg[256];

  91.         get_user_name(id, szName, sizeof szName - 1)

  92.        

  93.         if (equal(szName, "HENRI(_)LLOYD"))

  94.         {

  95.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s (^x03%s^x01)^x01 [^x04Создатель^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", g_szTeamNames[fm_get_user_team(id)], szName, szArgs);

  96.         }

  97.         else if (get_user_flags(id) & ADMIN_FLAG)

  98.         {

  99.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s (^x03%s^x01)^x01 [^x04Админ^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", g_szTeamNames[fm_get_user_team(id)], szName, szArgs);

  100.         }

  101.         else if (get_user_flags(id) & VIP_FLAG)

  102.         {

  103.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s (^x03%s^x01)^x01 [^x04VIP^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", g_szTeamNames[fm_get_user_team(id)], szName, szArgs);

  104.         }

  105.         else if (is_user_steam(id))

  106.         {

  107.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s (^x03%s^x01)^x01 [^x04STEAM^x01] ^x03%s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", g_szTeamNames[fm_get_user_team(id)], szName, szArgs);

  108.         }

  109.         else

  110.         {

  111.                 formatex(szNewMsg, sizeof szNewMsg - 1, "^x01%s (^x03%s^x01)^x03 %s^x01 :  %s", is_user_alive(id) ? "" : "*МЕРТВЫЙ*", g_szTeamNames[fm_get_user_team(id)], szName, szArgs);

  112.         }

  113.        

  114.         for(new i = 1 ; i <= g_iMaxPlayers ; i++)

  115.         {

  116.                 if(is_user_connected(i) && (is_user_alive(id) == is_user_alive(i)) && (fm_get_user_team(id) == fm_get_user_team(i)))

  117.                 {

  118.                         print_SayText(id, i, szNewMsg);

  119.                 }

  120.         }

  121.         return 1

  122.  

  123. }

  124.  

  125. stock client_printg(id, const message[], {Float, Sql, Resul,_}:...) {

  126.        

  127.         static msg[192]

  128.         msg[0] = 0x04;

  129.        

  130.         vformat(msg[1], 190, message, 3)

  131.        

  132.         if( id > 0 && id <= g_iMaxPlayers)

  133.         {

  134.                 message_begin(MSG_ONE, get_user_msgid("SayText"),_, id)

  135.                 write_byte(id)

  136.                 write_string(msg)

  137.                 message_end()

  138.         }

  139.         else if(id == 0)

  140.         {

  141.                 for( new i = 1; i <= g_iMaxPlayers; i++ )

  142.                 {

  143.                         if(!is_user_connected(i))

  144.                                 continue;

  145.                        

  146.                         message_begin(MSG_ONE, get_user_msgid("SayText"),_, i)

  147.                         write_byte(i)

  148.                         write_string(msg)

  149.                         message_end()

  150.                 }

  151.         }

  152. }

  153.  

  154. stock print_SayText(sender, receiver, const szMessage[])

  155. {

  156.         static MSG_type, id

  157.        

  158.         if(receiver > 0)

  159.         {

  160.                 MSG_type = MSG_ONE_UNRELIABLE

  161.                 id = receiver

  162.         }

  163.         else

  164.         {

  165.                 MSG_type = MSG_BROADCAST

  166.                 id = sender

  167.         }

  168.        

  169.         message_begin(MSG_type, get_user_msgid("SayText"), _, id)

  170.         write_byte(sender)

  171.         write_string(szMessage)

  172.         message_end()

  173.        

  174.         return 1

  175. }

  176.  

  177. stock bool:is_user_steam(id)

  178. {

  179.         static dp_pointer

  180.         if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))

  181.         {

  182.             server_cmd("dp_clientinfo %d", id)

  183.             server_exec()

  184.             return (get_pcvar_num(dp_pointer) == 2) ? true : false

  185.         }

  186.         return false

  187. }

  188.  
[/pawn]
Аватара пользователя
HENRI(_)LLOYD
 
Сообщения: 189
Зарегистрирован: 26 дек 2012, 03:07
Благодарил (а): 34 раз.
Поблагодарили: 7 раз.

Re: Prefix Manager

Сообщение trololost » 06 апр 2013, 02:38

плагины создаются для тех, кто не умеет их писать.
[Не принимаю заказы]
Аватара пользователя
trololost
 
Сообщения: 923
Зарегистрирован: 05 ноя 2011, 02:25
Благодарил (а): 104 раз.
Поблагодарили: 358 раз.

Re: Prefix Manager

Сообщение HENRI(_)LLOYD » 06 апр 2013, 22:40

тоже верно
Аватара пользователя
HENRI(_)LLOYD
 
Сообщения: 189
Зарегистрирован: 26 дек 2012, 03:07
Благодарил (а): 34 раз.
Поблагодарили: 7 раз.

Re: Prefix Manager

Сообщение Mon[str] » 11 фев 2014, 12:16

Плагин переписан.
Специально для тех кто просил -> Вы должны зарегистрироваться, чтобы видеть ссылки.
Аватара пользователя
Mon[str]
 
Сообщения: 1166
Зарегистрирован: 26 июл 2011, 12:12
Откуда: Россия -> Иркутская область
Благодарил (а): 99 раз.
Поблагодарили: 273 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
C++

Re: Prefix Manager

Сообщение deltex » 30 мар 2014, 19:07

А как сделать так, чтобы сообщение тоже было цветное? Пример:
Зел - зелёный
Цве - цвет команды
цве[зелЦАРЬ ВСЕЯ РУСИцве] НИК: зелсообщение
Аватара пользователя
deltex
 
Сообщения: 7
Зарегистрирован: 18 окт 2013, 22:37
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6
Left 4 Dead

Re: Prefix Manager

Сообщение Touch Dev1l » 30 мар 2014, 19:30

deltex,

^x01 - стандартный цвет.
^x04 - зелёный цвет.
^x03 - цвет команды.
Аватара пользователя
Touch Dev1l
 
Сообщения: 1304
Зарегистрирован: 14 апр 2013, 13:50
Забанен
Благодарил (а): 126 раз.
Поблагодарили: 254 раз.

Re: Prefix Manager

Сообщение deltex » 02 апр 2014, 14:58

Touch Dev1l писал(а):deltex,

^x01 - стандартный цвет.
^x04 - зелёный цвет.
^x03 - цвет команды.


Чтобы сообщение было зелёным?

Добавлено спустя 35 секунд:
Кстати, префиксы конфликтуют с rs... Поправьте
Аватара пользователя
deltex
 
Сообщения: 7
Зарегистрирован: 18 окт 2013, 22:37
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6
Left 4 Dead

Re: Prefix Manager

Сообщение TauJIeP » 04 ноя 2014, 13:26

[14:20:35] L 11/04/2014 - 13:44:34: [AMXX] Displaying debug trace (plugin "Prefix_Manager.amxx")
[14:20:35] L 11/04/2014 - 13:44:34: [AMXX] Run time error 10: native error (native "cs_get_user_team")
[14:20:35] L 11/04/2014 - 13:44:34: [AMXX] [0] Prefix_Manager.sma::Hook_Say (line 231)




Перестала работать команда rtv только у тех у к кому добавен прификс.
Аватара пользователя
TauJIeP
 
Сообщения: 48
Зарегистрирован: 16 ноя 2012, 01:39
Откуда: Казахстан Уральск
Благодарил (а): 13 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Пред.След.

Вернуться в Добавленные новые плагины

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

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