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

[INC] Tutor API

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

Модератор: Chuvi

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

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

[INC] Tutor API

Сообщение Retro-kolt Lincoln » 27 апр 2012, 23:23

Автор: Вы должны зарегистрироваться, чтобы видеть ссылки.
Источник: Вы должны зарегистрироваться, чтобы видеть ссылки.
Версия: Alpha
Статью писал: Вы должны зарегистрироваться, чтобы видеть ссылки.

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

Основные функции:
* Создание тутор сообщений используя различные стили.
* Возможность выставлять длительность сообщения, так же можно сделать чтобы сообщение не пропадало, то есть перманентные сообщения.
* Возможность писать сообщения в любой кодировке на русском, хоть в Ansi хоть в UTF-8, русский текст не когда не исказится.
* Выставление надёжности сообщение, при обычной надёжности сообщение будет отправляется с аргументом MSG_ONE_UNRELIABLE, при максимальной надёжности с MSG_ONE.
* Сообщения поддерживают любые аргументы.
* Хорошая поддержка ML
* Установлен лимит символов для сообщения, при слишком большой длине сообщения сервер не будет вылетать.

Установка:
Распакуйте содержимое архива в ГЛАВНУЮ папку с сервером. Скомпилируйте исходник TutorAPI.sma и пропишите его в plugins.ini.

Natives:
Код: Выделить всё
native TutorShow(iEntity = 0, iType = TutorTypeDefault, Float:fTime = 0.0, iSound = TutorSoundNone, const iMessage[], any:...); 

Описание:
Показывает тутор сообщение игроку/игрокам.

Аргументы:
| Название | Тип | По умолчанию | Описание
----------------------------------------------------------------------------------------
| iEntity | Целочисленное | 0 | Индекс игрока которому показывать сообщение (0 - всем)
| iType | Целочисленное | TutorTypeDefault | Стиль сообщения (смотрите стили выше)
| fTime | Дробное | 0.0 | Время показа тутор сообщения (0.0 - бесконечно)
| iSound | Целочисленное | TutorSoundNone | Звук при сообщении (смотрите звуки выше)
| iMessage | Целочисленное | отсутствует | Сообщение
| ... | отсутствует | отсутствует | Аргументы к сообщению

Примеры:
Код: Выделить всё
TutorShow(0, TutorTypeScenario, 0.0, TutorSoundTaskComplete, "You are complete your %d task!", 5);
TutorShow(id, TutorTypeHint, 5.0, TutorSoundTutorMsg, "To buy weapon press ^"B^" key"); 


Код: Выделить всё
native TutorClose(iEntity = 0); 

Описание:
Закрывает тутор у игрока/игроков.

Аргументы:
| Название | Тип | По умолчанию | Описание
----------------------------------------------------------------------------------------
| iEntity | Целочисленное | 0 | Индекс игрока которому надо закрыть сообщение (0 - всем)

Примеры:
Код: Выделить всё
TutorClose(id);
TutorClose(0); 


Код: Выделить всё
native TutorReliable(bool:bReliable); 

Описание:
Изменяет надёжность сообщений тутора, а также звуков. Если не знаете зачем это, не используйте !!!

Аргументы:
| Название | Тип | По умолчанию | Описание
----------------------------------------------------------------------------------------
| bReliable | Булевая | false | Надёжность

Примеры:
Код: Выделить всё
TutorReliable(false);
TutorReliable(true); 


Использование:
Откройте ваш плагин который вы будете модифицировать и добавьтев него после ваших инклудов:
Код: Выделить всё
#include <TutorAPI>       

После используйте нужные нативы которые написаны выше.

Пример использования:
Код: Выделить всё
#include <amxmodx>
#include <TutorApi>
 
#define PLUGIN  ""
#define VERSION ""
#define AUTHOR  ""
 
public plugin_init
()
{
        register_plugin(PLUGIN, VERSION, AUTHOR)
        register_clcmd("say /rs", "rs")
}
 
public rs
(id)
{
        new players[32]
        get_user_name(id, players, 31)
        
        if 
(is_user_connected(id))
        {
                set_user_frags(id, 0)
                cs_set_user_deaths(id, 0)
        
                TutorShow
(0, TutorTypeDefault, 5.0, TutorSoundTutorMsg, "%s обновил свой счёт!", players)
        }
        
        return PLUGIN_HANDLED
}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Retro-kolt Lincoln 28 апр 2012, 13:54, всего редактировалось 8 раз(а).
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: [INC] Tutor API

Сообщение Plrip » 28 апр 2012, 13:25

Установка:
Распакуйте содержимое архива в ГЛАВНУЮ папку с сервером. Скомпилируйте исходник TutorAPI.sma и пропишите его в plugins.ini.

а TutorAPI.sma в архиве нет :dash:

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: [INC] Tutor API

Сообщение PRoSToTeM@ » 28 апр 2012, 13:52

Архив старый Оо.
Аватара пользователя
PRoSToTeM@
Скриптер
 
Сообщения: 2498
Зарегистрирован: 26 мар 2010, 00:12
Благодарил (а): 438 раз.
Поблагодарили: 1125 раз.

Re: [INC] Tutor API

Сообщение Retro-kolt Lincoln » 28 апр 2012, 13:55

Up, обновил архив, а то выложил вообще не тот, простите :-D
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: [INC] Tutor API

Сообщение Plrip » 28 апр 2012, 13:59

хорошо, что я заметил :ROFL:

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: [INC] Tutor API

Сообщение DelFast » 28 апр 2012, 15:04

Каждую строчку в коде закомментировал.. Прям бери и учись кодить :-D
Хорошая работа, сам как-раз дописывал работу с тутором )
Временно неактивен.
Аватара пользователя
DelFast
 
Сообщения: 266
Зарегистрирован: 24 июн 2011, 03:38
Благодарил (а): 6 раз.
Поблагодарили: 52 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: [INC] Tutor API

Сообщение OleZhoK » 10 июл 2012, 17:13

Скажите в чём проблема, переделал high_ping_kicker, тутор высвечивается как нужно, но язык что при кодировании в ANSI что в UTF-8 без ВОМ вот такой.

_http://s51.radikal.ru/i133/1207/67/fc70a47783a3.jpg

Код плагина ниже.

[spoiler][pawn]
  1. /* AMX Mod script.

  2. *

  3. * (c) 2002-2003, OLO

  4. * modified by shadow

  5. * This file is provided as is (no warranties).

  6. *

  7. * Players with immunity won't be checked

  8. */

  9.  

  10. #include <amxmodx>

  11. #include <amxmisc>

  12. #include <TutorAPI>

  13.  

  14. new g_Ping[33]

  15. new g_Samples[33]

  16.  

  17. public plugin_init()

  18. {

  19.   register_plugin("High Ping Kicker (WON)","0.16.2","OLO/shadow")

  20.   register_concmd("amx_hpk","cmdHpk",ADMIN_KICK,"- configures high_ping_kicker plugin")

  21.   register_cvar("amx_hpk_ping","100")

  22.   register_cvar("amx_hpk_check","12")

  23.   register_cvar("amx_hpk_tests","5")

  24.   register_cvar("amx_hpk_delay","60")

  25.  

  26.   if ( get_cvar_num( "amx_hpk_check" ) < 5 ) set_cvar_num( "amx_hpk_check" , 5 )

  27.   if ( get_cvar_num( "amx_hpk_tests" ) < 3 ) set_cvar_num( "amx_hpk_tests" , 3 )

  28. }

  29.  

  30. public client_disconnect(id)

  31.   remove_task( id )

  32.  

  33. public client_putinserver(id)

  34. {    

  35.   g_Ping[id] = 0

  36.   g_Samples[id] = 0

  37.  

  38.   if ( !is_user_bot(id) )

  39.   {

  40.     new param[1]

  41.     param[0] = id

  42.     set_task( 10.0 , "showWarn" , id , param , 1 )

  43.    

  44.     if (get_cvar_num("amx_hpk_tests") != 0) {

  45.             set_task( float(get_cvar_num("amx_hpk_delay")), "taskSetting", id, param , 1)

  46.     }

  47.     else {         

  48.         set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , id , param , 1 , "b" )

  49.         }

  50.        

  51.   }

  52. }

  53.  

  54. public showWarn(param[])

  55.    TutorShow(param[0], TutorTypeScenario, 5.0, TutorSoundTutorMsg, "Игроки с пингом выше %d будут удалены с сервера!", 0, get_cvar_num( "amx_hpk_ping" ));

  56.  

  57. public taskSetting(param[]) {

  58.         new name[32]

  59.         get_user_name(param[0],name,31)

  60.         set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , param[0] , param , 1 , "b" )

  61. }

  62.  

  63. kickPlayer( id )

  64. {

  65.         new name[32],authid[32]

  66.         get_user_name(id,name,31)

  67.         get_user_authid(id,authid,31)

  68.  

  69.         TutorShow(0, TutorTypeScenario, 5.0, TutorSoundTutorMsg, "Игрок %s удалён с сервера из-за высокого пинга!", 0, name);

  70.  

  71.         client_cmd(id,"echo ^"Извените у Вас высокий пинг, попробуйте позднее..^";disconnect")

  72.         remove_task(id)

  73.         log_amx("Highpingkick: ^"%s<%d><%s>^" was kicked due highping (Average Ping ^"%d^")",

  74.     name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))

  75.  

  76. }

  77.  

  78. public checkPing(param[])

  79. {

  80.   new id = param[ 0 ]

  81.  

  82.   if ( get_user_flags(id) & ADMIN_IMMUNITY ) return

  83.  

  84.   new p, l

  85.  

  86.   get_user_ping( id , p , l )

  87.  

  88.   g_Ping[ id ] += p

  89.   ++g_Samples[ id ]

  90.  

  91.   if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )    

  92.     kickPlayer(id)

  93. }

  94.  

  95.  

  96. public cmdHpk(id,level,cid){

  97.   if (!cmd_access(id,level,cid,1))

  98.     return PLUGIN_HANDLED

  99.    

  100.   new ping[5]

  101.   new check_arr[5]

  102.   new tests_arr[5]

  103.   new delay_arr[5]

  104.   read_argv(1,ping,4)

  105.   read_argv(2,check_arr,4)

  106.   read_argv(3,tests_arr,4)

  107.   read_argv(4,delay_arr,4)

  108.  

  109.   new check = str_to_num(check_arr)

  110.   new tests = str_to_num(tests_arr)

  111.   new delay = str_to_num(delay_arr)

  112.  

  113.  

  114.   if ( check < 5 ) check = 5

  115.   if ( tests < 3 ) tests = 3

  116.  

  117.  

  118.   if (read_argc() > 1){

  119.     set_cvar_string("amx_hpk_ping",ping)

  120.   }

  121.   if (read_argc() > 2) {

  122.         set_cvar_num("amx_hpk_check",check)

  123.   }

  124.   if (read_argc() > 3) {

  125.         set_cvar_num("amx_hpk_tests",tests)

  126.   }

  127.   if (read_argc() > 4) {

  128.           set_cvar_num("amx_hpk_delay",delay)

  129.  }

  130.  

  131.   console_print(id,"Syntax: amx_hpk <ping to get kicked> <checks before kicks> <time between checks> <delay before first check in sec.>")

  132.   console_print(id,"Current High_Ping_Kicker Settings:")

  133.   console_print(id,"Maxping: %d  Time between checks: %d Checkcount: %d Delay: %d",get_cvar_num("amx_hpk_ping"),get_cvar_num("amx_hpk_check"),get_cvar_num("amx_hpk_tests"),get_cvar_num("amx_hpk_delay"))

  134.   return PLUGIN_HANDLED    

  135. }
[/pawn][/spoiler]
Последний раз редактировалось OleZhoK 10 июл 2012, 20:58, всего редактировалось 1 раз.
Аватара пользователя
OleZhoK
 
Сообщения: 15
Зарегистрирован: 23 ноя 2011, 00:44
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: [INC] Tutor API

Сообщение Plrip » 10 июл 2012, 17:32

OleZhoK,
[pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <TutorAPI>

  4.  

  5. new g_Ping[33]

  6. new g_Samples[33]

  7.  

  8. public plugin_init()

  9. {

  10.   register_plugin("High Ping Kicker (WON)","0.16.2","OLO/shadow")

  11.   register_concmd("amx_hpk","cmdHpk",ADMIN_KICK,"- configures high_ping_kicker plugin")

  12.   register_cvar("amx_hpk_ping","100")

  13.   register_cvar("amx_hpk_check","12")

  14.   register_cvar("amx_hpk_tests","5")

  15.   register_cvar("amx_hpk_delay","60")

  16.  

  17.   if ( get_cvar_num( "amx_hpk_check" ) < 5 ) set_cvar_num( "amx_hpk_check" , 5 )

  18.   if ( get_cvar_num( "amx_hpk_tests" ) < 3 ) set_cvar_num( "amx_hpk_tests" , 3 )

  19. }

  20.  

  21. public client_disconnect(id)

  22.   remove_task( id )

  23.  

  24. public client_putinserver(id)

  25. {    

  26.   g_Ping[id] = 0

  27.   g_Samples[id] = 0

  28.  

  29.   if ( !is_user_bot(id) )

  30.   {

  31.     new param[1]

  32.     param[0] = id

  33.     set_task( 10.0 , "showWarn" , id , param , 1 )

  34.    

  35.     if (get_cvar_num("amx_hpk_tests") != 0) {

  36.        set_task( float(get_cvar_num("amx_hpk_delay")), "taskSetting", id, param , 1)

  37.     }

  38.     else {      

  39.        set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , id , param , 1 , "b" )

  40.    }

  41.    

  42.   }

  43. }

  44.  

  45. public showWarn(param[])

  46.    TutorShow(param[0], TutorTypeScenario, 5.0, TutorSoundTutorMsg, "Игроки с пингом выше %d будут удалены с сервера!", 0, get_cvar_num( "amx_hpk_ping" ));

  47.  

  48. public taskSetting(param[]) {

  49.    new name[32]

  50.    get_user_name(param[0],name,31)

  51.    set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , param[0] , param , 1 , "b" )

  52. }

  53.  

  54. kickPlayer( id )

  55. {

  56.    new name[32],authid[32]

  57.    get_user_name(id,name,31)

  58.    get_user_authid(id,authid,31)

  59.  

  60.    TutorShow(0, TutorTypeScenario, 5.0, TutorSoundTutorMsg, "Игрок %s удалён с сервера из-за высокого пинга!", 0, name);

  61.  

  62.    client_cmd(id,"echo ^"Извените у Вас высокий пинг, попробуйте позднее..^";disconnect")

  63.    remove_task(id)

  64.    log_amx("Highpingkick: ^"%s<%d><%s>^" was kicked due highping (Average Ping ^"%d^")",

  65.     name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))

  66.  

  67. }

  68.  

  69. public checkPing(param[])

  70. {

  71.   new id = param[ 0 ]

  72.  

  73.   if ( get_user_flags(id) & ADMIN_IMMUNITY ) return

  74.  

  75.   new p, l

  76.  

  77.   get_user_ping( id , p , l )

  78.  

  79.   g_Ping[ id ] += p

  80.   ++g_Samples[ id ]

  81.  

  82.   if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )    

  83.     kickPlayer(id)

  84. }

  85.  

  86.  

  87. public cmdHpk(id,level,cid){

  88.   if (!cmd_access(id,level,cid,1))

  89.     return PLUGIN_HANDLED

  90.    

  91.   new ping[5]

  92.   new check_arr[5]

  93.   new tests_arr[5]

  94.   new delay_arr[5]

  95.   read_argv(1,ping,4)

  96.   read_argv(2,check_arr,4)

  97.   read_argv(3,tests_arr,4)

  98.   read_argv(4,delay_arr,4)

  99.  

  100.   new check = str_to_num(check_arr)

  101.   new tests = str_to_num(tests_arr)

  102.   new delay = str_to_num(delay_arr)

  103.  

  104.  

  105.   if ( check < 5 ) check = 5

  106.   if ( tests < 3 ) tests = 3

  107.  

  108.  

  109.   if (read_argc() > 1){

  110.     set_cvar_string("amx_hpk_ping",ping)

  111.   }

  112.   if (read_argc() > 2) {

  113.    set_cvar_num("amx_hpk_check",check)

  114.   }

  115.   if (read_argc() > 3) {

  116.    set_cvar_num("amx_hpk_tests",tests)

  117.   }

  118.   if (read_argc() > 4) {

  119.      set_cvar_num("amx_hpk_delay",delay)

  120. }

  121.  

  122.   console_print(id,"Syntax: amx_hpk <ping to get kicked> <checks before kicks> <time between checks> <delay before first check in sec.>")

  123.   console_print(id,"Current High_Ping_Kicker Settings:")

  124.   console_print(id,"Maxping: %d  Time between checks: %d Checkcount: %d Delay: %d",get_cvar_num("amx_hpk_ping"),get_cvar_num("amx_hpk_check"),get_cvar_num("amx_hpk_tests"),get_cvar_num("amx_hpk_delay"))

  125.   return PLUGIN_HANDLED    

  126. }
[/pawn]

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: [INC] Tutor API

Сообщение Plrip » 10 июл 2012, 20:50

[pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <TutorAPI>

  4.  

  5. new g_Ping[33]

  6. new g_Samples[33]

  7.  

  8. public plugin_init()

  9. {

  10.   register_plugin("High Ping Kicker (WON)","0.16.2","OLO/shadow")

  11.   register_concmd("amx_hpk","cmdHpk",ADMIN_KICK,"- configures high_ping_kicker plugin")

  12.   register_cvar("amx_hpk_ping","100")

  13.   register_cvar("amx_hpk_check","12")

  14.   register_cvar("amx_hpk_tests","5")

  15.   register_cvar("amx_hpk_delay","60")

  16.  

  17.   if ( get_cvar_num( "amx_hpk_check" ) < 5 ) set_cvar_num( "amx_hpk_check" , 5 )

  18.   if ( get_cvar_num( "amx_hpk_tests" ) < 3 ) set_cvar_num( "amx_hpk_tests" , 3 )

  19. }

  20.  

  21. public client_disconnect(id)

  22.   remove_task( id )

  23.  

  24. public client_putinserver(id)

  25. {    

  26.   g_Ping[id] = 0

  27.   g_Samples[id] = 0

  28.  

  29.   if ( !is_user_bot(id) )

  30.   {

  31.     new param[1]

  32.     param[0] = id

  33.     set_task( 10.0 , "showWarn" , id , param , 1 )

  34.    

  35.     if (get_cvar_num("amx_hpk_tests") != 0) {

  36.        set_task( float(get_cvar_num("amx_hpk_delay")), "taskSetting", id, param , 1)

  37.     }

  38.     else {      

  39.        set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , id , param , 1 , "b" )

  40.    }

  41.    

  42.   }

  43. }

  44.  

  45. public showWarn(param[])

  46.    TutorShow(param[0], TutorTypeScenario, 5.0, TutorSoundTutorMsg, "Игроки с пингом выше %d будут удалены с сервера!", 0, get_cvar_num( "amx_hpk_ping" ));

  47.  

  48. public taskSetting(param[]) {

  49.    new name[32]

  50.    get_user_name(param[0],name,31)

  51.    set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , param[0] , param , 1 , "b" )

  52. }

  53.  

  54. kickPlayer( id )

  55. {

  56.    new name[32],authid[32]

  57.    get_user_name(id,name,31)

  58.    get_user_authid(id,authid,31)

  59.  

  60.    TutorShow(0, TutorTypeScenario, 5.0, TutorSoundTutorMsg, "Игрок %s удалён с сервера из-за высокого пинга!", 0, name);

  61.  

  62.    client_cmd(id,"echo ^"Извените у Вас высокий пинг, попробуйте позднее..^";disconnect")

  63.    remove_task(id)

  64.    log_amx("Highpingkick: ^"%s<%d><%s>^" was kicked due highping (Average Ping ^"%d^")",

  65.     name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))

  66.  

  67. }

  68.  

  69. public checkPing(param[])

  70. {

  71.   new id = param[ 0 ]

  72.  

  73.   if ( get_user_flags(id) & ADMIN_IMMUNITY ) return

  74.  

  75.   new p, l

  76.  

  77.   get_user_ping( id , p , l )

  78.  

  79.   g_Ping[ id ] += p

  80.   ++g_Samples[ id ]

  81.  

  82.   if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )    

  83.     kickPlayer(id)

  84. }

  85.  

  86.  

  87. public cmdHpk(id,level,cid){

  88.   if (!cmd_access(id,level,cid,1))

  89.     return PLUGIN_HANDLED

  90.    

  91.   new ping[5]

  92.   new check_arr[5]

  93.   new tests_arr[5]

  94.   new delay_arr[5]

  95.   read_argv(1,ping,4)

  96.   read_argv(2,check_arr,4)

  97.   read_argv(3,tests_arr,4)

  98.   read_argv(4,delay_arr,4)

  99.  

  100.   new check = str_to_num(check_arr)

  101.   new tests = str_to_num(tests_arr)

  102.   new delay = str_to_num(delay_arr)

  103.  

  104.  

  105.   if ( check < 5 ) check = 5

  106.   if ( tests < 3 ) tests = 3

  107.  

  108.  

  109.   if (read_argc() > 1){

  110.     set_cvar_string("amx_hpk_ping",ping)

  111.   }

  112.   if (read_argc() > 2) {

  113.    set_cvar_num("amx_hpk_check",check)

  114.   }

  115.   if (read_argc() > 3) {

  116.    set_cvar_num("amx_hpk_tests",tests)

  117.   }

  118.   if (read_argc() > 4) {

  119.      set_cvar_num("amx_hpk_delay",delay)

  120. }

  121.  

  122.   console_print(id,"Syntax: amx_hpk <ping to get kicked> <checks before kicks> <time between checks> <delay before first check in sec.>")

  123.   console_print(id,"Current High_Ping_Kicker Settings:")

  124.   console_print(id,"Maxping: %d  Time between checks: %d Checkcount: %d Delay: %d",get_cvar_num("amx_hpk_ping"),get_cvar_num("amx_hpk_check"),get_cvar_num("amx_hpk_tests"),get_cvar_num("amx_hpk_delay"))

  125.   return PLUGIN_HANDLED    

  126. }
[/pawn]

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: [INC] Tutor API

Сообщение Stimul » 10 июл 2012, 20:53

OleZhoK,
Аватара пользователя
Stimul
 
Сообщения: 3582
Зарегистрирован: 04 янв 2012, 19:51
Благодарил (а): 192 раз.
Поблагодарили: 1163 раз.
Опыт программирования: Больше трех лет

Re: [INC] Tutor API

Сообщение OleZhoK » 10 июл 2012, 21:04

Stimul, Всё также. Переделал /rs точно такаяже беда, поставил плагин "server_messages14a" и там также.
Последний раз редактировалось OleZhoK 10 июл 2012, 21:06, всего редактировалось 1 раз.
Аватара пользователя
OleZhoK
 
Сообщения: 15
Зарегистрирован: 23 ноя 2011, 00:44
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Пред.След.

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

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

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