Не могу увеличить скорость движения игрока.

polki

Пользователь
Регистрация
22 Сен 2017
Сообщения
24
Симпатии
0
Сразу скажу что в настройках я изменил переменную:

// Allow player speed to exceed maximum running speed
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
sv_enablebunnyhopping 1

А вот так я пытаюсь увеличить скорость игрока:
C++:
#include <amxmodx>    // Стандартная библиотека AMX Mod X — основные функции, события, команды                                                                                                                                                                               
#include <reapi>      // Библиотека ReAPI — расширенные хуки и нативы для ReHLDS/ReGameDLL                                                                                                                                                                                    
                                                                                                                                                                                                                                                                             
// ============================================================================                                                                                                                                                                                              
// Инициализация плагина                                                                                                                                                                                                                                                      
// ============================================================================                                                                                                                                                                                              
public plugin_init()                                                                                                                                                                                                                                                          
{                                                                                                                                                                                                                                                                            
    // Регистрируем информацию о плагине: название, версия, автор                                                                                                                                                                                                            
    register_plugin("ReAPI Plugin", "1.1.1", "kak");                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                             
    // Регистрируем хук на спавн игрока (RG_CBasePlayer_Spawn)                                                                                                                                                                                                                
    // Параметр `true` означает POST-хук — вызывается ПОСЛЕ стандартного спавна                                                                                                                                                                                              
    RegisterHookChain(RG_CBasePlayer_Spawn, "OnPlayerSpawn", true);                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                             
    // Регистрируем хук на сброс максимальной скорости (RG_CBasePlayer_ResetMaxSpeed)                                                                                                                                                                                        
    // Параметр `false` означает PRE-хук — вызывается ДО стандартной функции движка                                                                                                                                                                                          
    // Это критически важно, чтобы иметь возможность заблокировать сброс скорости                                                                                                                                                                                            
    RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "OnResetMaxSpeed", false);                                                                                                                                                                                                
}                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                             
// ============================================================================                                                                                                                                                                                              
// Хук: игрок заспавнился                                                                                                                                                                                                                                                    
// ============================================================================                                                                                                                                                                                              
public OnPlayerSpawn(id)                                                                                                                                                                                                                                                      
{                                                                                                                                                                                                                                                                            
    // Объявляем переменную для хранения текущей скорости (тип Float — дробное число)                                                                                                                                                                                        
    new Float:speed;                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                             
    // Устанавливаем максимальную скорость игрока на 800.0 единиц                                                                                                                                                                                                            
    // var_maxspeed — это константа из ReAPI, соответствующая полю pev_maxspeed                                                                                                                                                                                              
    set_entvar(id, var_maxspeed, 800.0);                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                             
    // Сразу читаем текущее значение maxspeed для проверки                                                                                                                                                                                                                    
    speed = get_entvar(id, var_maxspeed);                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                             
    // Выводим игроку сообщение с фактической установленной скоростью                                                                                                                                                                                                        
    client_print(id, print_chat, "Текущая maxspeed: %.1f", speed);                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                             
    // ВАЖНО: без блокировки OnResetMaxSpeed эта скорость будет почти мгновенно                                                                                                                                                                                              
    // сброшена движком на значение sv_maxspeed (обычно 320)                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                             
    set_task(0.5, "CheckSpeed", id)                                                                                                                                                                                                                                          
}                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                             
// ============================================================================                                                                                                                                                                                              
// Хук: попытка сброса скорости (например, при спавне, смене оружия и т.д.)                                                                                                                                                                                                  
// ============================================================================                                                                                                                                                                                              
public OnResetMaxSpeed(id)                                                                                                                                                                                                                                                    
{                                                                                                                                                                                                                                                                            
    // Выводим в консоль сервера сообщение о том, что хук сработал                                                                                                                                                                                                            
    server_print("[Warmup] Я работаю, в отличие от некоторых %d", id);                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                             
    // HC_SUPERCEDE — говорит ReAPI: "НЕ выполняй оригинальную функцию движка"                                                                                                                                                                                                
    // Это предотвращает сброс скорости на sv_maxspeed                                                                                                                                                                                                                        
    return HC_SUPERCEDE; // Не сбрасывать                                                                                                                                                                                                                                    
}                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                             
public CheckSpeed(id) {                                                                                                                                                                                                                                                      
    new Float:s = get_entvar(id, var_maxspeed);                                                                                                                                                                                                                              
    client_print(id, print_chat, "Скорость через 0.5 сек: %.1f", s);                                                                                                                                                                                                          
}

Медленнее он может двигаться, а быстрее нет.
Подскажите, как правильно увеличить скорость игроку?
 

polki

Пользователь
Регистрация
22 Сен 2017
Сообщения
24
Симпатии
0
Нашел я причину.
Нужно менять sv_maxspeed 270
У меня в папке valve тоже лежал config c параметром sv_maxspeed 270, он то мне и подменял обратно на 270
 
Сверху Снизу