[VIP] Core

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #341
Время длительности VIP-статуса общее для "способностей" каждой группы получается? Т.е., нельзя сделать "Антиослепление" доступным на сутки, а "Дополнительный респавн" - на неделю в пределах одной и той же группы? Оффтоп
Да, на сервере игрок получает группу на срок, а по группе ф-и.
Ну можно им в замен что-то давать как компенсацию
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Уже начинаю путаться в этих функциях... Получается, если выдавать игроку с временным VIP-статусом группу с пропиской в БД, то тоже error? Просто ты же сам смотрел эту строчку и ничего не сказал, выходит, это исключение? Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #343
Уже начинаю путаться в этих функциях... Получается, если выдавать игроку с временным VIP-статусом группу с пропиской в БД, то тоже error? Просто ты же сам смотрел эту строчку и ничего не сказал, выходит, это исключение? Оффтоп
Я точно не помню (гляну как за комп сяду) но временный вроде как будет удален
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
временный вроде как будет удален
И про VIP_SetClientAccessTime тоже уточни: что будет, если прописать "временного" в БД - ему запишется это время в ту группу временного VIP или как? Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #345
И про VIP_SetClientAccessTime тоже уточни: что будет, если прописать "временного" в БД - ему запишется это время в ту группу временного VIP или как? Оффтоп
Ему просто это время в меню будет отображаться. Но опять же, до перезахода или смены карты
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
просто это время в меню будет отображаться
Кто-то хотел, даже временный VIP сделать по времени. Получается, такое извращение возможно, временный VIP может ещё раньше кончиться, прямо во время игры?
выдавать игроку с временным VIP-статусом группу с пропиской в БД, то тоже error
Это глянул? Исключением будет?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #347
@AlmazON, так:
  • Временный вип это когда игрок имеет вип но не внесен в базу. То время випки, которое для него установлено отображается ему в вип-меню и если оно истечет раньше чем закончится сессия (выход, смена карты, т.е. то что приведет к снятию вип) то вип будет анулирована.
  • SetClientVIP выдаст эррор только если игрок имеет нормальную вип (постоянную, т.е. есть в базе), если же у него временная вип - она будет снята и выдана новая. Так же если игрок не авторизировался (не ввел пароль) то при попытке дать ему вип тоже будет эррор (но пароли редко юзают)
  • Все нативы для изменения випа (VIP_SetClientAccessTime, VIP_SetClientVIPGroup) работают и для временных вип за исключением того что у нормальных вип изменения вносятся в базу, а у временных только на сессию
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
VIP_SetClientAccessTime, VIP_SetClientVIPGroup) работают и для временных вип
Что-то не совпадает. Если временному VIP'у можно задать время длительности его прав, то как это время получить, если для него функция всегда возвращает -1? Или для такого VIP изначально нельзя задать срока?
Кто-то хотел, даже временный VIP сделать по времени
Как тогда добавить новое время к его остатку?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #349
Что-то не совпадает. Если временному VIP'у можно задать время длительности его прав, то как это время получить, если для него функция всегда возвращает -1? Или для такого VIP изначально нельзя задать срока?Как тогда добавить новое время к его остатку?
-1 было в первых версиях, сейчас там все норм
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
-1 было в первых версиях
Выходит, узнаю временного VIP устаревшими способами, нужно через GetTrieValue, как давал в примере?
Если сделать VIP_SetClientAccessTime(_, _, false) для постоянного VIP'а, то как поведёт себя ядро с БД? При выходе с сервера, "удлинённое" время сбросится и останется то, что было в момент его продления или это не предусмотрено и получится, что оно всё равно "тикает" и запишется тот же результат, как если бы статус вовсе не продлевали?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #351
@AlmazON, всё таки немного забываю. Короче дела такие.
VIP_GetClientAccessTime вернет -1 если у клиента вообще не указано время, чего в принципе не бывает.
Не зацикливайся на временных випах. Если он временный то просто удали временную вип и дай нормальную.
Для большей уверенности можешь проверить чтобы VIP_GetClientAuthType не был равен AUTH_GROUP или AUTH_FLAGS, это значит что ему випку дали по админ правам
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Если он временный
Ну, так как теперь проверить? Получается, на -1 на всякий случай, а после:
if(GetTrieValue(VIP_GetVIPClientTrie(iClient), "ClientID", iClientID))
{
if(
iClientID == -1)
Это уже скажет о виде VIP в большинстве случаев? Оффтоп И что значит, если GetTrieValue вернёт false - ошибку?
Ты же заинтересован, чтобы под твой VIP писали модули, но в нативах нет полноты, а Я не телепат, чтобы выудить неописанными способами. Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #353
И что значит, если GetTrieValue вернёт false - ошибку?
если false то значения нет в trie. Чего в принципе не быть не может, но это см. проверка лишней не будет.
Ты же заинтересован, чтобы под твой VIP писали модули, но в нативах нет полноты, а Я не телепат, чтобы выудить неописанными способами.
inc от старого ядра переделывал, не всё исправил, что-то забыл. Я ж тоже не телепат, не могу знать кому и что понадобится и где вылезет проблема. В процессе работы всё вылазит вот и исправляю. Да и описание каждый по разному понимает
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
не могу знать кому и что понадобится
Это, возможно:
Если сделать VIP_SetClientAccessTime(_, _, false) для постоянного VIP'а, то как поведёт себя ядро с БД? При выходе с сервера, "удлинённое" время сбросится и останется то, что было в момент его продления или это не предусмотрено и получится, что оно всё равно "тикает" и запишется тот же результат, как если бы статус вовсе не продлевали?
Хочу квары нагрузить информацией/управление по максимуму, да забить наконец с частью по VIP.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #355
@AlmazON, если false - то время изменится на время сессии, true - в базе.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
false - то время изменится на время сессии, true - в базе
Вот, а базе "заморозится"? Суть: выдать постоянному VIP увеличенное время через VIP_SetClientAccessTime(_, _, false), чтобы он спокойно играл всю сессию, но его время из БД не тратилось (при перезаходе было то, что и раньше оставалось, до применения функции).
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #357
@AlmazON, ну время там не считается по времени использования. Если в базе стоит до 17.30 сегодняшнего дня то в это время он и закончится. Если дать ему время на сессию больше чем то что есть то он доиграет до конца сессии, а потом вип снимет. Продли время в базе просто.
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
в базе стоит до 17.30 сегодняшнего дня
Понятно тогда всё. Оффтоп
чтобы VIP_GetClientAuthType не был равен AUTH_GROUP или AUTH_FLAGS
Тут ты меня больше запутал. Это где проверять, для чего? Может сказать, что VIP якобы временный, если выдан по админ-флагу? Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #359
Это где проверять, для чего? Может сказать, что VIP якобы временный, если выдан по админ-флагу?
если он временный то он либо тестовый, либо тот, который по времени суток дается. Но может быть что он выдан по админ флагу. Таких випов лучше не трогать.
 

666pro

Участник
Сообщения
186
Реакции
25
[VIP] Base Functions" (1.0.3 dev) не выдаёт броню хп , а в новой версии убрали что со след. раундом выдается.
 
Сверху Снизу