Участник
Пользователь
- Сообщения
- 113
- Реакции
- 26
Приветствую!
Столкнулся с такой проблемой.
Меняю скорость игроку на пониженную, но движение полностью замирает.
Одновременно с понижением скорости, запускаю таск, который через определенное время должен нормализовать скорость игроку.
А получается следующее:
1. понижая скорость, игрок стоит на месте, пока не сменит оружие, но скорость становится не пониженной, которую я задавал, а стандартной.
2. Когда произошел сброс скорости, в первом случае, таск то запущен и, когда он активирует нормализацию скорости, то игрок снова останавливается; вернуть движение возможно только путем переключения оружия в руках.
Подскажите, пожалуйста, как поправить данный баг.
Столкнулся с такой проблемой.
Меняю скорость игроку на пониженную, но движение полностью замирает.
Одновременно с понижением скорости, запускаю таск, который через определенное время должен нормализовать скорость игроку.
А получается следующее:
1. понижая скорость, игрок стоит на месте, пока не сменит оружие, но скорость становится не пониженной, которую я задавал, а стандартной.
2. Когда произошел сброс скорости, в первом случае, таск то запущен и, когда он активирует нормализацию скорости, то игрок снова останавливается; вернуть движение возможно только путем переключения оружия в руках.
Подскажите, пожалуйста, как поправить данный баг.
Код:
#include <amxmodx>
#include <reapi>
#define PLUGIN "Speed"
#define VERSION "1.0"
#define AUTHOR "Admin"
#define PREFIX "^1[^4SPEED^1]"
#define MSG_GIVE_SPEED "%s ^3Ваша скорость уменьшена на ^4%d ^3сек."
#define VALUE_SPEED 0.5
#define DURATION_SPEED 30.0
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )
register_clcmd("say /spd", "Test");
}
public Test(id) {
set_entvar(id, var_maxspeed, Float:VALUE_SPEED);
set_task(Float:DURATION_SPEED, "NormalValues", id);
client_print_color(id, print_team_red, MSG_GIVE_SPEED, PREFIX, DURATION_SPEED);
return 0;
}
public NormalValues(id) {
set_entvar(id, var_maxspeed, 1.0);
return 0;
}