Иконка ресурса

[VIP] AIM teleport 1.0.2

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
  • Автор ресурса
  • #1
Пользователь Grey83 разместил новый ресурс:

[VIP] AIM teleport - Позволяет VIPам перемещать себя в точку, куда они смотрят

Позволяет VIPам перемещать себя в точку, куда они смотрят.
Количество телепортаций за раунд ограничивается переменной (по умолчанию - 3 раза). При значении равном 0 количество телепортаций не ограничено.

Узнать больше об этом ресурсе...
 

StateByte

Fullstack Software Engineer.
Сообщения
431
Реакции
622
Последнее редактирование:

Heinz

Участник
Сообщения
167
Реакции
47
а в grups.ini ничего добавлять не надо?
 

Heinz

Участник
Сообщения
167
Реакции
47
Модуль прикольный конечно,но если я такой поставлю себе,то мои игроки меня точно повесят
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Думаю, тебе стоит так же делать проверку через хулы, чтобы убеждаться, что игрок может поместиться в новой позиции.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
@Grey83, добавь в описание что писать в группу
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
  • Автор ресурса
  • #8
@R1KO, я не знаю даже что туда обычно пишут (даже упоминаний об этом конфиге не встречал) =)
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
@Grey83, по порядку. если оставить как есть то
C-подобный:
"AimTeleport"   "1"

PHP:
VIP_RegisterFeature(g_sFeature, INT, SELECTABLE, OnSelectItem, OnDisplayItem, OnDrawItem);
INT заменить на BOOL.

Но лучше оставить инт, убрать sm_vip_aim_teleport и сделать чтобы лимит указывался в группе.
Т.е. так
C-подобный:
"AimTeleport"   "5"
5 - Сколько раз можно использовать телепортацию за раунд (-1 - не ограничено)

Собственно получать значение так:
PHP:
VIP_GetClientFeatureInt(client, g_sFeature)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
  • Автор ресурса
  • #10
@R1KO, ядро само считает количество использований?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #11
@Grey83, нет. Оно хранит кол-во достпуных. Тебе же нужно считать сколько раз уже было использовано. Хранить можно в ядре (trie)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
  • Автор ресурса
  • #12
@R1KO, если параметр количества доступных использований хранится в группе, то есть ли необходимость в AutoExecConfig() (как я понял уже он не нужен)?
 

StateByte

Fullstack Software Engineer.
Сообщения
431
Реакции
622
@R1KO, если параметр количества доступных использований хранится в группе, то есть ли необходимость в AutoExecConfig() (как я понял уже он не нужен)?
Только если нужно добавить новые функции в плагин, а так обычному пользователю хватит groups.ini
--- Добавлено позже ---
Кароче он не нужен
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
  • Автор ресурса
  • #14

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #15
@Grey83,
PHP:
public bool:OnDisplayItem(client, const String:sFeatureName[], String:sDisplay[], maxlen)
{
    if(VIP_GetClientFeatureStatus(client, sFeatureName) != ENABLED) return false;

    int max_uses = VIP_GetClientFeatureInt(client, g_sFeature);
    if(max_uses) FormatEx(sDisplay, maxlen, "%T [%T]", sFeatureName, client, "Left", client, max_uses - iUsesNum[client]);
    else FormatEx(sDisplay, maxlen, "%T", sFeatureName, client);
    return true;
}
Если у человека есть доступ то max_uses не может быть 0. Т.е. формально это значение из groups.
Поэтому
PHP:
 else FormatEx(sDisplay, maxlen, "%T", sFeatureName, client);
Не нужно. Разве что проверка будет != -1 но тогда проще будет вернуть false либо форматнуть "Телепорт [не ограничено]"

PHP:
public OnDrawItem(client, const String:sFeatureName[], iStyle)
{
    if(VIP_GetClientFeatureStatus(client, sFeatureName) == NO_ACCESS || !VIP_GetClientFeatureInt(client, g_sFeature))
        return ITEMDRAW_DISABLED;

    return iStyle;
}
Так лучше не делать, потому что скрытые пункты (у некоторый пункты к которым нет доступа скрываются, в зависимости от настроек). Это сделает их видимыми но недоступными.

В принципе этот каллбек не нужен вообще т.к. ядро само это делает. Можно разве что сделать пункт не активным при достижении лимита использований.

PHP:
    if(iUsesNum[client] >= VIP_GetClientFeatureInt(client, g_sFeature))
    {
        PrintToChat(client, "%tДостигнут лимит использований за раунд!", "VIP_CHAT_PREFIX");
        return;
    }
Я так понял ты безлимит (-1) не делал.

В ксго кажется нет m_CollisionGroup
 

marlboro

Участник
Сообщения
146
Реакции
36
Пока не стоит даже ставить, постоянно застреваешь в текстурах( Обидно
 

sPonso™

Участник
Сообщения
169
Реакции
48
При значении равном 0 количество телепортаций не ограничено.
Ввёл данное значение в groups.ini - нет доступа к этой команде вообще, лучше сделать при -1 неограниченное кол-во использований.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
  • Автор ресурса
  • #19
@sPonso™, так оно уже так и сделано.
Видать забыл описание исправить.
Сейчас дефолтно всё настраивается так же как и другие плагины через групс.ини
 

sPonso™

Участник
Сообщения
169
Реакции
48
Добавил плагин и опробовал его, смысла от него очень мало. Если например тпхнуться на край карты - оказываешься за её краями и никак оттуда не выбраться (приходится kill прописывать), так же можно просто тпхнуться и застрять на половину в текстурах.
 
Сверху Снизу