[Бесплатно] Скриптинг |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
[Бесплатно] Скриптинг |
adva
|
24.1.2014, 1:11
Сообщение
|
![]() ![]() |
Привет, если сможешь помоги..
Если потребуется денежка скажи. По плагину: Оставить только из функций: amx_retrymsg - message which is displayed after reconnect to user ( default: "No retry allowed here, %s" ) * amx_retrytime - time in seconds to determine if retry was used ( default: 30 ) amx_retrykickmsg - reason when kicked ( default: "DO NOT USE RETRY COMMAND" ) Добавить : Квары на иммунитет, чтобы не кикало и не ждали): иммунитет для admin_immunity 1/0 иммунитет для admin_ban 1/0 иммунитет для ADMIN_LEVEL_H 1/0 исходник Код /* NO RETRY 1.10 Plugin by Priski Usage : kicks and/or notifies users if they use retry CVARS : amx_retrytime - time in seconds to determine if retry was used ( default: 15 ) amx_retrykick - set to 1 if you want to kick retry users ( default: 0 ) amx_retryshow - set to 0 if you want to disable public announces about use of retry ( default: 0 ) amx_retrychat - show usage in playerchat ( default: 1 ) amx_retrymsg - message which is displayed after reconnect to user ( default: "No retry allowed here, %s" ) * amx_retrykickmsg - reason when kicked ( default: "DO NOT USE RETRY COMMAND" ) amx_retrychatmsg - message in playerchat ( default: "%s was kicked: reconnect in %t seconds" ) * * NOTE: %s = players name %t = same as in amx_retrytime Changelog : 1.16 / 2005-10-17 - added new feature cvars: amx_retrychat & amx_retrychatmsg - better functionality - hudmessages only to user who triggered 1.10 / 2005-08-17 - whole code rewritten - bugs fixed 1.00 / 2005-08-15 - first release */ #include <amxmodx> #include <amxmisc> #define MAX_PLAYERS 32 new pID[MAX_PLAYERS][22] public plugin_init() { register_plugin("No retry","1.16","Priski") register_cvar("amx_retrytime","60") register_cvar("amx_retrykick","0") register_cvar("amx_retryshow","0") register_cvar("amx_retrychat","1") // %s is the player name, %t is amx_retrytime register_cvar("amx_retrymsg","No retry allowed here, %s") register_cvar("amx_retrykickmsg","Too fast reconnect is not allowed") register_cvar("amx_retrychatmsg","%s was kicked: reconnect in %t seconds") return PLUGIN_HANDLED } public client_putinserver(id) { // no bots or admin immunity users if ((is_user_bot(id)) || (get_user_flags(id)&ADMIN_IMMUNITY)) { return PLUGIN_HANDLED } // gather info new ip[22] get_user_ip(id,ip,21) for(new i = 1; i < MAX_PLAYERS; i++) { if (equal(ip, pID[i], 21)) { new name[34] get_user_name(id, name, 33) if (get_cvar_num("amx_retryshow")) { new uID[1] uID[0] = id set_task(2.0,"showMsg", id, uID, 1) } if (get_cvar_num("amx_retrychat")) { new txt[128] get_cvar_string("amx_retrychatmsg", txt, 127) new sec[6] num_to_str(get_cvar_num("amx_retrytime"),sec, 5) replace(txt, 127, "%s", name) replace(txt, 127, "%t", sec) client_print( 0, print_chat, "[AMXX] %s", txt) } if (get_cvar_num("amx_retrykick")) { new uID[1] uID[0] = get_user_userid(id) // delayed kick set_task(7.0,"kick",77,uID,1) } break } } return PLUGIN_HANDLED; } public client_disconnect(id) { // no bots or admin immunity users are in list if ((is_user_bot(id)) || (get_user_flags(id)&ADMIN_IMMUNITY)) { return PLUGIN_HANDLED; } // gather info new ip[22] get_user_ip(id,ip,21) new found = 0; for(new i = 1; i < MAX_PLAYERS; i++) { if (equal(ip, pID[i], 21)) { // this user has been already kicked found = 1 break } } if (found == 0) { for(new i = 1; i < MAX_PLAYERS; i++) { if (pID[i][0] == 0) { // found empty slot get_user_ip(id, pID[i], 21) new aID[1] aID[0] = i set_task( get_cvar_float("amx_retrytime"), "cleanID", (id + MAX_PLAYERS),aID,1) break } } } return PLUGIN_HANDLED; } public cleanID(i[]) { pID[i[0]][0] = 0 } public showMsg(pID[]) { new txt[128] get_cvar_string("amx_retrymsg", txt, 127) new playername[34] get_user_name(pID[0], playername, 33) new sec[6] num_to_str(get_cvar_num("amx_retrytime"),sec, 5) replace(txt, 127, "%s", playername) replace(txt, 127, "%t", sec) set_hudmessage(255, 255, 255, 0.05, 0.72, 0, 5.0, 10.0, 2.0, 0.15, 3) show_hudmessage(pID[0],txt) } public kick(id[]) { new txt[128] get_cvar_string("amx_retrykickmsg", txt, 127) server_cmd("kick #%d ^"%s^"", id[0], txt) }
Отредактировал: adva, - 24.1.2014, 19:49
|
Поблагодарили 1 раз
|
|
proff_q
|
24.1.2014, 9:05
Сообщение
|
|
|
adva,
Держи UPD Просьба в следующий раз вставлять код в тег pawn Код: #include <amxmodx>
Отредактировал: proff_q, - 24.1.2014, 11:12
|
Поблагодарили 2 раз
|
|
Bambuc
|
24.1.2014, 9:14
Сообщение
|
![]() |
исправить ошибку L 01/24/2014 - 05:11:09: Start of error session. L 01/24/2014 - 05:11:09: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20140124.log") L 01/24/2014 - 05:11:09: Invalid player id -1979943283 L 01/24/2014 - 05:11:09: [AMXX] Run time error 10 (plugin "amxbans_main.amxx") (native "client_print") - debug not enabled! L 01/24/2014 - 05:11:09: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 01/24/2014 - 05:15:21: Invalid player id -1979943283 L 01/24/2014 - 05:15:21: [AMXX] Run time error 10 (plugin "amxbans_main.amxx") (native "client_print") - debug not enabled! L 01/24/2014 - 05:15:21: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 01/24/2014 - 09:35:37: Start of error session. L 01/24/2014 - 09:35:37: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20140124.log") L 01/24/2014 - 09:35:37: Invalid player id -1979943283 L 01/24/2014 - 09:35:37: [AMXX] Run time error 10 (plugin "amxbans_main.amxx") (native "client_print") - debug not enabled! L 01/24/2014 - 09:35:37: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 01/24/2014 - 10:19:36: Start of error session. L 01/24/2014 - 10:19:36: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20140124.log") L 01/24/2014 - 10:19:36: Invalid player id -1979943283 L 01/24/2014 - 10:19:36: [AMXX] Run time error 10 (plugin "amxbans_main.amxx") (native "client_print") - debug not enabled! L 01/24/2014 - 10:19:36: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). Исходник Код:
#include <amxmodx>
Отредактировал: Bambuc, - 24.1.2014, 9:20
|
Поблагодарили 1 раз
|
|
proff_q
|
24.1.2014, 9:24
Сообщение
|
|
|
Bambuc,
Вам нужно включить режим отладки для плагина amxbans_main. Для этого пропишите в файле plugins.ini без кавычек "amxbans_main.amxx debug". UPD: Кстати гугл полезная вещь, на форуме amxbans уже обсуждали данную ошибку. Цитата Скачать Фикс ошибки! cmd_ban.inl и color_chat.inl закинуть в папку scripting/include/amxbans/ с заменой. Закомментировать строку в amxbans_main.sma color_chat_init, и откомпилировать с заменой. P.S в архиве уже выполнены эти действия, можете просто заменить файлы. Скачать:
amxbans_fix_by_errors.rar ( 99,63 килобайт )
Кол-во скачиваний: 43
Отредактировал: proff_q, - 24.1.2014, 9:34
|
Поблагодарили 1 раз
|
|
Bambuc
|
24.1.2014, 9:37
Сообщение
|
![]() |
Bambuc, Вам нужно включить режим отладки для плагина amxbans_main. Для этого пропишите в файле plugins.ini без кавычек "amxbans_main.amxx debug". UPD: Кстати гугл полезная вещь, на форуме amxbans уже обсуждали данную ошибку. Скачать:
amxbans_fix_by_errors.rar ( 99,63 килобайт )
Кол-во скачиваний: 43Спасибо! |
|
|
|
C4acTbe
|
24.1.2014, 9:41
Сообщение
|
![]() |
|
|
|
|
csnet
|
24.1.2014, 9:59
Сообщение
|
|
|
сразу что бросилось в глаза
Код: if(get_cvar_num("amx_immunity_a") && get_user_flags(id) & ADMIN_IMMUNITY > Код:
Отредактировал: csnet, - 24.1.2014, 10:06
![]() go v cs:go
|
Поблагодарили 1 раз
|
|
Bambuc
|
24.1.2014, 10:03
Сообщение
|
![]() |
|
Поблагодарили 1 раз
|
|
proff_q
|
24.1.2014, 10:14
Сообщение
|
|
|
csnet,
Тем не менее, get_cvar_num("amx_immunity_a"), получаю значение переменной, 0 - пропускает, 0< иммунитет работает. |
|
|
|
csnet
|
24.1.2014, 10:18
Сообщение
|
|
|
да я про скобки в основном get_user_flags(id) & ADMIN_IMMUNITY > (get_user_flags(id) & ADMIN_IMMUNITY )
if(get_cvar_num( чтото ) лишь подтвердит наличие квара но не конкретного числа Скрытый текст попробуй (get_user_flags(id) & (ADMIN_IMMUNITY|ADMIN_BAN|ADMIN_LEVEL_H))
Отредактировал: csnet, - 24.1.2014, 10:25
![]() go v cs:go
|
Поблагодарили 1 раз
|
|
proff_q
|
24.1.2014, 10:23
Сообщение
|
|
|
Я не понимаю, что ты хочешь этим сказать. В плагине все работает. Так как там тяжко проверить, вот простой код.
Код: #include <amxmodx> |
|
|
|
Safety1st
|
24.1.2014, 10:39
Сообщение
|
|
|
proff_q, алгоритм верный, но никогда не юзайте get_cvar_* для собственных cvar'ов плагина: это затратная операция по сравнению с давным-давно принятыми pcvars. Про них csnet и говорит.
|
Поблагодарили 1 раз
|
|
proff_q
|
24.1.2014, 10:52
Сообщение
|
|
|
Safety1st,
Я конечно благодарен за ваши советы, но будьте добрый, если говорите A, то договаривайте и B. Почему я не могу юзать get_cvar? Например, мне проще сделать проверку в одной строке, нежели расписывать на три. |
|
|
|
Safety1st
|
24.1.2014, 11:04
Сообщение
|
|
|
Юзайте get_pcvar_num, результат одинаков. register_cvar возвращает cvar pointer, указатель в памяти на конкретный cvar, по нему значение cvar'а читается сразу. Чтобы получить значение cvar'а через get_cvar_*, выполняется поиск по всему списку cvar'ов.
Раньше только второе и было, теперь использование pcvar'ов - это требование ко всем плагинам. Цитата Release 1.70
Release Date: March 04, 2006 Changelog: ... ## Added new, much faster "pcvar" natives for dealing with cvars. |
Поблагодарили 1 раз
|
|
proff_q
|
24.1.2014, 11:14
Сообщение
|
|
|
Safety1st,
Такую помощь в разы приятнее получать, спасибо! Обновил первый код. |
|
|
|
exec1337
|
24.1.2014, 19:26
Сообщение
|
|
|
proff_q, с векторами работаете?
|
|
|
|
csnet
|
24.1.2014, 19:43
Сообщение
|
|
|
с ними мало кто работает
примеров на xs и то не много, в основном stock разные ![]() go v cs:go
|
|
|
|
fitamin4ik
|
24.1.2014, 19:49
Сообщение
|
|
|
Помоги пожалуйста, с системой уровней
ошибка - L 01/24/2014 - 19:46:44: [AMXX] Run time error 4: index out of bounds L 01/24/2014 - 19:46:44: [AMXX] [0] level_system.sma::fw_PlayerKilled (line 143) Скрытый текст Код:
#include <amxmodx>
Отредактировал: fitamin4ik, - 24.1.2014, 19:53
|
|
|
|
csnet
|
24.1.2014, 20:00
Сообщение
|
|
|
попробуй так -
Код: public fw_PlayerKilled(victim, attacker)
Отредактировал: csnet, - 24.1.2014, 20:04
![]() go v cs:go
|
Поблагодарили 1 раз
|
|
![]() ![]() |