Русское сообщество по скриптингу

[PLUGIN] Fake Players

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

[PLUGIN] Fake Players

Сообщение Lethargy » 30 мар 2017, 22:44

Предисловие: Это мой первый плагин, сильно не ругайте :-)
<-- кисик

Автор: Lethargy
Версия: 0.3
Требования: Вы должны зарегистрироваться, чтобы видеть ссылки.
Описание: Плагин позволяет подделать ]:-> реальное количество игроков на сервере, не нагружая его "ботами", которые будут висеть в спектрах. Если на сервер заходит больше игроков, чем заданное значение (Вы должны зарегистрироваться, чтобы видеть ссылки.), то будет отображаться реальное значение.
Квары: fake_players 15
Возможные проблемы: Если у вас стоит ReHLDS (а только он у вас и должен быть) и Reunion, то возможно плагин не будет работать. Что бы заработало нужно изменить значение ServerInfoAnswerType в reunion.cfg на нулик (ServerInfoAnswerType = 0)

Критика по уровню быдлокода и стилю приветствуется. Первый раз он сложный самый : )


Код: Выделить всё
#include <amxmodx>
#include <fake_queries>

const MAX_FAKEPLAYERS = 127;
const MIN_FAKEPLAYERS = 0; 

new g_fpnum
, g_maxplayers;

public plugin_init()
{
    register_plugin( "Fake Players", "0.3", "Lethargy" );
    g_fpnum = register_cvar("fake_players", "15");
    g_maxplayers = get_maxplayers(); 
}

public plugin_cfg()
{
    update_fake_info();
}
public client_connect(id)
{
    update_fake_info();
}
public client_disconnect(id)
{
    update_fake_info();
}
    

update_fake_info
()
{
    new fake_players = clamp(get_pcvar_num(g_fpnum), MIN_FAKEPLAYERS, MAX_FAKEPLAYERS);

    if(get_playersnum() < fake_players)
    {
        fq_set_players(fake_players);
        fq_set_maxplayers(g_maxplayers); 
    
}
    else
    
{
        fq_unset(FL_PLAYERS|FL_MAXPLAYERS|FL_BOTSNUM);
    }
}
}


Утверждено. //Leonidddd
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Lethargy 01 апр 2017, 09:28, всего редактировалось 2 раз(а).
Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: [PLUGIN] Fake Players

Сообщение KOTOKU » 30 мар 2017, 23:08

#define MIN_MAXPLAYERS 0 // lurkmore.to/Когнитивный_диссонанс

:-D
Плагин - бред, оно того не стоит вообще, проще ботов через плагин создать, чем "хрюшку с подогревом" подключать в мета плагинс, код можно было и получше сделать
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: [PLUGIN] Fake Players

Сообщение Lethargy » 30 мар 2017, 23:19

KOTOKU писал(а): код можно было и получше сделать


Тыки пальцем, я попытаюсь исправить.
Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: [PLUGIN] Fake Players

Сообщение KOTOKU » 30 мар 2017, 23:22

Lethargy писал(а):
KOTOKU писал(а): код можно было и получше сделать


Тыки пальцем, я попытаюсь исправить.

На весь плагин пальцем тыкать?
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: [PLUGIN] Fake Players

Сообщение Fedcomp » 31 мар 2017, 09:04

Код: Выделить всё
#undef FAKE_PLAYERS
#undef MIN_MAXPLAYERS
#undef MIN_FAKE_PLAYERS
#undef MAX_MAXPLAYERS
#undef MAX_FAKE_PLAYERS 


Это еще зачем?

Критика по уровню быдлокода и стилю приветствуется

Слишком много мемосов. Вместо когнитивных диссонансов надо давать нормальные названия чтобы было понятно что они делают. Я вот например бегло глянув не понял извратов с MIN_MAXFAKEPLAYERS, значит как минимум эта переменная пахнет.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 813 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: [PLUGIN] Fake Players

Сообщение Lethargy » 31 мар 2017, 09:24

Fedcomp писал(а):Я вот например бегло глянув не понял извратов с MIN_MAXFAKEPLAYERS, значит как минимум эта переменная пахнет.


Принято, буду исправлять.

Fedcomp писал(а):
Код: Выделить всё
#undef FAKE_PLAYERS
#undef MIN_MAXPLAYERS
#undef MIN_FAKE_PLAYERS
#undef MAX_MAXPLAYERS
#undef MAX_FAKE_PLAYERS  


Это еще зачем?


Привычка
Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: [PLUGIN] Fake Players

Сообщение Chuvi » 31 мар 2017, 12:26

Fedcomp писал(а):Слишком много мемосов.

Одна штука. Прям дофига.
Fedcomp писал(а):Я вот например бегло глянув не понял извратов с MIN_MAXFAKEPLAYERS, значит как минимум эта переменная пахнет.

Если ты не понял, что делает clamp - это несколько печально.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: [PLUGIN] Fake Players

Сообщение Lethargy » 31 мар 2017, 15:43

UPD
Почистил код.
Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: [PLUGIN] Fake Players

Сообщение Fedcomp » 31 мар 2017, 17:11

Chuvi писал(а):Одна штука. Прям дофига.

Две отсылки в коде и одна в посте.

Chuvi писал(а):Если ты не понял, что делает clamp - это несколько печально.

Если ты не знаешь что такое "беглый просмотр кода" то тебе не стоит комментировать вообще.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 813 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Холивар: #define, const и new const

Сообщение Subb98 » 31 мар 2017, 17:33

Код: Выделить всё
const MAX_FAKEPLAYERS 127;
const 
MIN_FAKEPLAYERS 0

Код: Выделить всё
new g_fpnumg_maxplayers;

public 
plugin_init()
{
    
g_fpnum register_cvar("fake_players""15");
    
g_maxplayers get_maxplayers(); 

Код: Выделить всё
update_fake_info() // public здесь не нужен
{
    
// или вообще кэшировать значение квара в plugin_cfg
    
new fake_players clamp(get_pcvar_num(g_fpnum), MIN_FAKEPLAYERSMAX_FAKEPLAYERS);

    if(
get_playersnum() < fake_players)
    {
        
fq_set_players(fake_players);
        
fq_set_maxplayers(g_maxplayers); 
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

След.

Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

cron