[VIP] VIP Test

[VIP] VIP Test 1.0.4

d1KdaT

Участник
Сообщения
18
Реакции
9
Переписал код под текущую стабильную версию sourcemod (#6515) и пофиксил ошибку из-за выдачи VIP-статуса игроку, у которого он уже есть.
На своём сервере протестил, вроде всё корректно выдаётся/записывается в БД MySQL/SQLite.
@hirowatch, я в скриптинге совершенно новичок и опирался на структуру других плагинов, проверь, пожалуйста, на какие-либо логические ошибки и обнови в самом ресурсе.
 

Вложения

  • VIP_Test.sp
    9.3 КБ · Просмотры: 28

hirowatch

Живет ХЛмод`ом
Сообщения
2,722
Реакции
1,634
Скомпилил и загрузил

1633335967245.png1633336067552.png

Работает

20211004113822_1.jpg
hirowatch обновил(а) ресурс [VIP] VIP Test новой записью:

1.0.4

Код оптимизирован под sourcemod-1.10.0.6515 (stable).
Исправлена ошибка, возникающая из-за выдачи VIP-статуса игроку, у которого он уже есть.

Спасибо @d1KdaT

Узнать больше об этом обновлении...
 

code013

Участник
Сообщения
164
Реакции
86
(Последнее обновление). У игрока нет вип группы, но все равно пишет ошибку:

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
 

d1KdaT

Участник
Сообщения
18
Реакции
9
(Последнее обновление). У игрока нет вип группы, но все равно пишет ошибку:

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
 

d1KdaT

Участник
Сообщения
18
Реакции
9
пожалуй перейду на старую версию
Данный плагин тут не при чём, ибо ошибка вызвана тем, что VIP_IsClientVIP вернул false, однако при выдаче VIP-прав (то, чем занимается VIP_Core) была возвращена ошибка, что они уже есть. Единственный вариант, когда такое может случиться - VIP права выдали игроку вручную через админ. меню VIP сразу в ту же секунду, когда игрок прописал !viptest, либо их выдал другой плагин. Вариант, при котором возможнен вариант с админкой - БД сервера находится на другом сервере. То есть пока производилась проверка на то, что игрок имеет право получить тестовый VIP-статус ему его выдал либо админ, либо какой-то другой плагин. Самый логичный вариант - у тебя 2 плагина VIP Test - 1.0.3, например, и 1.0.4. Ты при заливке нового плагина удалил из папки 1.0.3?
 

code013

Участник
Сообщения
164
Реакции
86
Данный плагин тут не при чём, ибо ошибка вызвана тем, что VIP_IsClientVIP вернул false, однако при выдаче VIP-прав (то, чем занимается VIP_Core) была возвращена ошибка, что они уже есть. Единственный вариант, когда такое может случиться - VIP права выдали игроку вручную через админ. меню VIP сразу в ту же секунду, когда игрок прописал !viptest, либо их выдал другой плагин. Вариант, при котором возможнен вариант с админкой - БД сервера находится на другом сервере. То есть пока производилась проверка на то, что игрок имеет право получить тестовый VIP-статус ему его выдал либо админ, либо какой-то другой плагин. Самый логичный вариант - у тебя 2 плагина VIP Test - 1.0.3, например, и 1.0.4. Ты при заливке нового плагина удалил из папки 1.0.3?
да, я тогда при замене уже заметил, спасибо за ответ
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #291
Тут что-то странное. Ибо SQL_Callback_SelectClient вызывается только если VIP_IsClientVIP вернёт false, т.е если игрок не VIP
это из-за того что какой-то модуль за время запроса выдает вип (например по админ правам). Что собственно выше и написали (ну и вариант 2 версиями одного плагина тоже имеет место быть). на днях выкачу новую версию с фиксом и выбором групп
 

Teikora

Участник
Сообщения
119
Реакции
13
@R1KO, привет. Можно как-то запретить прописывать вип_тест в первом раунде, а ещё чтобы вип_тест могли взять игроки играющие n кол-во времени, к примеру "Вам недоступен viptest, сыграйте ещё 18 минут (из 20)" или хотя бы "Вам недоступен viptest, необходим ваш онлайн 20 минут"
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #293
@R1KO, привет. Можно как-то запретить прописывать вип_тест в первом раунде, а ещё чтобы вип_тест могли взять игроки играющие n кол-во времени, к примеру "Вам недоступен viptest, сыграйте ещё 18 минут (из 20)" или хотя бы "Вам недоступен viptest, необходим ваш онлайн 20 минут"
зачем?
 

Teikora

Участник
Сообщения
119
Реакции
13
@R1KO, я ограничил многие функций вип в первом раунде, но когда новенькие берут виптест в первом раунде, у них активируются ограниченные функций, в итоге они с основным ганом, бронёй и тд.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #295
@R1KO, я ограничил многие функций вип в первом раунде, но когда новенькие берут виптест в первом раунде, у них активируются ограниченные функций, в итоге они с основным ганом, бронёй и тд.
а тебе не кажется что эту проблему по идее нужно решать по другому?
почему им даются ограниченные функции?
 

Teikora

Участник
Сообщения
119
Реакции
13
а тебе не кажется что эту проблему по идее нужно решать по другому?
почему им даются ограниченные функции?
потому что взяли виптест в первом раунде, вот думаю как ограничить команду viptest на первый раунд, ладно, по раскидываю мозгами, я уверен что у тебя есть ответ, но ты решил устроить испытание не опытному
upd я понимаю что можно ограничить ввод команд каким-то плагином, да вот искать это, когда хватает других траблов
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #297
потому что взяли виптест в первом раунде, вот думаю как ограничить команду viptest на первый раунд, ладно, по раскидываю мозгами, я уверен что у тебя есть ответ, но ты решил устроить испытание не опытному
нет у меня ответа. я хочу понять почему тестовый вип дает доступ к функциям, которые отключены. каким образом они отключаются на первый раунд вообще?
 

Teikora

Участник
Сообщения
119
Реакции
13
нет у меня ответа. я хочу понять почему тестовый вип дает доступ к функциям, которые отключены. каким образом они отключаются на первый раунд вообще?

Features Controle​

 
Последнее редактирование:

code013

Участник
Сообщения
164
Реакции
86
После обновления спам по кд ошибкой:
L 11/12/2021 - 18:04:25: [SM] Exception reported: Client 6 is not connected/Игрок 6 не подключен
L 11/12/2021 - 18:04:25: [SM] Blaming: vip\VIP_Core.smx
L 11/12/2021 - 18:04:25: [SM] Call stack trace:
L 11/12/2021 - 18:04:25: [SM] [0] ThrowNativeError
L 11/12/2021 - 18:04:25: [SM] [1] Line 1263, vip/API.sp::CheckValidClient
L 11/12/2021 - 18:04:25: [SM] [2] Line 307, vip/API.sp::Native_IsClientVIP
L 11/12/2021 - 18:04:25: [SM] [4] VIP_IsClientVIP
L 11/12/2021 - 18:04:25: [SM] [5] Line 261, C:\Users\hirowatch\Desktop\scripting\VIP_Test.sp::SQL_Callback_SelectClientAuthorized
Раньше такой проблемы не возникало. Сама випка выдается без проблем.
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Подскажите, можно ли как то выдать viptest навсегда?
 
Сверху Снизу