Сравнить по-битово команду и админский флаг это мощно.
Держи четкий код, от четкого скриптера СИСА с полным пониманием и само-отдачей.
Код:
// Главный инклуд
#include < amxmodx >
// Инклуд с дополнительным возможностями для КоЭс
#include < reapi >
// Объявлем булевую переменную для всех игроков
new bool: g_bVIPUrpok[ MAX_CLIENTS +1 ];
public plugin_init( )
{
// Регистрация плагина с несмешным описанием.
// В первом аргументе - название плагина, в нашем случае это акселерация для вип игроков для ААА игры с четким кодом
// В втором аргументе - описывается название плагина, в нашем случае это "Лучший, например"
// В третьем аргументе - описывается автор, того кто написал этот чоткий код, в нашем случае это шлюха (фловер)
register_plugin( "AA for VIP (AAA game) (chetkii kod)", "Best, for example", "whore on je fl0wer" );
// Здесь мы региструриуем форвард (ведь это не понятно поэтому пишу много комментариев)
// Форвард называется RG_PM_AirMove, мы регистрируем Пре чтобы до выполнения оригинальной функции изменить значение
RegisterHookChain( RG_PM_AirMove, "PM_AirMove_Pre", false );
}
// Здесь у нас подключение игрока в скобках это индекс игрока с которым мы собираемся работать в этой функции
public client_putinserver( iPlayer )
// начало истории. Ой, то есть четкого кода
{
// Устанавливаем значение в булевую переменную дабы работало только на вип игроков у которых админский флаг
// Если есть, то мы ставим "Русская Правда", иначе "Отрицание правды (грех)"
g_bVIPUrpok[ iPlayer ] = ( get_user_flags( iPlayer ) & ADMIN_RESERVATION ) ? true : false;
// конец сблок код в четком коде
}
// Собственно, здесь и разворачивается вся движуха, если кто забыл, то
// это тот форвард, который мы регистрировали в начале
// Сейчас я покажу, что бы вам долго не листать из-за комментариев (они важны, иначе ничего не понятно)
// Вот он: RegisterHookChain( RG_PM_AirMove, "PM_AirMove_Pre", false ), круто же?
// Спасибо РеАПИ. Credits ReGameDLL, ReAPI.
public PM_AirMove_Pre( iPlayer )
{
// Проверяем есть ли у вип игрока с индексом iPlayer админская привилегия
// Вся суть плагина, мы долго к этому шли, мы молодцы. Особенно тот кто писал эти комментарии.
// Без них ничего не было бы понятно
if( g_bVIPUrpok[ iPlayer ] ) // тут если что проверяем (как бы комментрий, ниже код), думаю это должно быть понятно
// Ставим 100
set_movevar( mv_airaccelerate, 100.0 );
}
/* --------------------------------------
Рулез
---------------------------------------*/
Код:
#include < amxmodx >
#include < reapi >
new bool: g_bVIPUrpok[ MAX_CLIENTS +1 ];
public plugin_init( )
{
register_plugin( "AA for VIP (AAA game) (chetkii kod)", "Best, for example", "whore on je fl0wer" );
RegisterHookChain( RG_PM_AirMove, "PM_AirMove_Pre", false );
}
public client_putinserver( iPlayer )
{
g_bVIPUrpok[ iPlayer ] = ( get_user_flags( iPlayer ) & ADMIN_RESERVATION ) ? true : false;
}
public PM_AirMove_Pre( iPlayer )
{
if( g_bVIPUrpok[ iPlayer ] )
set_movevar( mv_airaccelerate, 100.0 );
}
Отредактировал: fl0werD, - 19.8.2017, 12:23