То есть данная функция задает максимальную скорость конкретного игрока.
Инфо из fun.inc:
/* Sets users max. speed. */
native set_user_maxspeed(index, Float:speed = -1.0);
Синтаксис:
Float: set_user_maxspeed ( index, [ Float:speed = - 1.0 ] )
Скорость задается дробным числом Float:speed = - 1.0
Стандартная скорость игрока с пистолетом или ножом 250.0
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#define PLUGIN "Speed user"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /fastspeed ","fast_speed")
register_clcmd("say /lowspeed ","low_speed")
}
public fast_speed(id){
set_user_maxspeed(id,1000.0)
client_cmd(id,"cl_forwardspeed 1000")
client_cmd(id,"cl_backspeed 1000")
client_cmd(id,"cl_sidespeed 1000")
set_hudmessage(0, 255, 0, -1.0, 0.34, 0, 6.0, 12.0)
show_hudmessage(id, "You Super Man")
}
public low_speed(id){
set_user_maxspeed(id,100.0)
set_hudmessage(255, 0, 0, -1.0, 0.34, 0, 6.0, 12.0)
show_hudmessage(id, "You looser")
}
И так, данный пример имеет 2 команды:
- say /fastspeed - Увеличивает скорость игрока до 1000
- say /lowspeed - Уменьшает скорость игрока до 100
Внимательные читатели наверное заметили вот эти строки:
client_cmd(id,"cl_forwardspeed 1000")
client_cmd(id,"cl_backspeed 1000")
client_cmd(id,"cl_sidespeed 1000")
И правильно сделали, по умолчанию в CS 1.6 эти переменные ограничивают скорость в 400 юнитов.( на стороне клиента)
Получается мы дали игроку скорость, а ему не разогнаться, так как он са себя ограничивает. Для этого мы и выполняем данные команды на стороне игрока и он сможет носиться как угорелый )
Есть еще один нюанс, скорость игрока изменяется при смене оружия.
Вот пример как добавить скорости игроку, к его ткущей скорости:
new Float:speed = get_user_maxspeed(id) + 85.0;
set_user_maxspeed(id , speed);
О функции get_user_maxspeed, читайте отдельно.