Код оптимизирован под sourcemod-1.10.0.6515 (stable).
Исправлена ошибка, возникающая из-за выдачи VIP-статуса игроку, у которого он уже есть.
Спасибо @d1KdaT
Компилировать никак, на латест стабл соурсмоде
Тут что-то странное. Ибо SQL_Callback_SelectClient вызывается только если VIP_IsClientVIP вернёт false, т.е если игрок не VIP(Последнее обновление). У игрока нет вип группы, но все равно пишет ошибку:
L 11/01/2021 - 21:17:55: [SM] Exception reported: The player pystoi777<40><> is already a VIP/Игрок pystoi777<40><> уже является VIP-игроком
L 11/01/2021 - 21:17:55: [SM] Blaming: vip\VIP_Core.smx
L 11/01/2021 - 21:17:55: [SM] Call stack trace:
L 11/01/2021 - 21:17:55: [SM] [0] ThrowNativeError
L 11/01/2021 - 21:17:55: [SM] [1] Line 590, vip/API.sp::API_GiveClientVIP
L 11/01/2021 - 21:17:55: [SM] [2] Line 554, vip/API.sp::Native_GiveClientVIP
L 11/01/2021 - 21:17:55: [SM] [4] VIP_GiveClientVIP
L 11/01/2021 - 21:17:55: [SM] [5] Line 285, C:\Users\hirowatch\Desktop\scripting\VIP_Test.sp::GiveVIPToClient
L 11/01/2021 - 21:17:56: [SM] [6] Line 233, C:\Users\hirowatch\Desktop\scripting\VIP_Test.sp::SQL_Callback_SelectClient
пожалуй перейду на старую версиюТут что-то странное. Ибо SQL_Callback_SelectClient вызывается только если VIP_IsClientVIP вернёт false, т.е если игрок не VIP
Данный плагин тут не при чём, ибо ошибка вызвана тем, что VIP_IsClientVIP вернул false, однако при выдаче VIP-прав (то, чем занимается VIP_Core) была возвращена ошибка, что они уже есть. Единственный вариант, когда такое может случиться - VIP права выдали игроку вручную через админ. меню VIP сразу в ту же секунду, когда игрок прописал !viptest, либо их выдал другой плагин. Вариант, при котором возможнен вариант с админкой - БД сервера находится на другом сервере. То есть пока производилась проверка на то, что игрок имеет право получить тестовый VIP-статус ему его выдал либо админ, либо какой-то другой плагин. Самый логичный вариант - у тебя 2 плагина VIP Test - 1.0.3, например, и 1.0.4. Ты при заливке нового плагина удалил из папки 1.0.3?пожалуй перейду на старую версию
да, я тогда при замене уже заметил, спасибо за ответДанный плагин тут не при чём, ибо ошибка вызвана тем, что VIP_IsClientVIP вернул false, однако при выдаче VIP-прав (то, чем занимается VIP_Core) была возвращена ошибка, что они уже есть. Единственный вариант, когда такое может случиться - VIP права выдали игроку вручную через админ. меню VIP сразу в ту же секунду, когда игрок прописал !viptest, либо их выдал другой плагин. Вариант, при котором возможнен вариант с админкой - БД сервера находится на другом сервере. То есть пока производилась проверка на то, что игрок имеет право получить тестовый VIP-статус ему его выдал либо админ, либо какой-то другой плагин. Самый логичный вариант - у тебя 2 плагина VIP Test - 1.0.3, например, и 1.0.4. Ты при заливке нового плагина удалил из папки 1.0.3?
это из-за того что какой-то модуль за время запроса выдает вип (например по админ правам). Что собственно выше и написали (ну и вариант 2 версиями одного плагина тоже имеет место быть). на днях выкачу новую версию с фиксом и выбором группТут что-то странное. Ибо SQL_Callback_SelectClient вызывается только если VIP_IsClientVIP вернёт false, т.е если игрок не VIP
зачем?@R1KO, привет. Можно как-то запретить прописывать вип_тест в первом раунде, а ещё чтобы вип_тест могли взять игроки играющие n кол-во времени, к примеру "Вам недоступен viptest, сыграйте ещё 18 минут (из 20)" или хотя бы "Вам недоступен viptest, необходим ваш онлайн 20 минут"
а тебе не кажется что эту проблему по идее нужно решать по другому?@R1KO, я ограничил многие функций вип в первом раунде, но когда новенькие берут виптест в первом раунде, у них активируются ограниченные функций, в итоге они с основным ганом, бронёй и тд.
потому что взяли виптест в первом раунде, вот думаю как ограничить команду viptest на первый раунд, ладно, по раскидываю мозгами, я уверен что у тебя есть ответ, но ты решил устроить испытание не опытномуа тебе не кажется что эту проблему по идее нужно решать по другому?
почему им даются ограниченные функции?
нет у меня ответа. я хочу понять почему тестовый вип дает доступ к функциям, которые отключены. каким образом они отключаются на первый раунд вообще?потому что взяли виптест в первом раунде, вот думаю как ограничить команду viptest на первый раунд, ладно, по раскидываю мозгами, я уверен что у тебя есть ответ, но ты решил устроить испытание не опытному
нет у меня ответа. я хочу понять почему тестовый вип дает доступ к функциям, которые отключены. каким образом они отключаются на первый раунд вообще?