Difference between revisions of "QW physics user commands ru"
*>Sss (New page: Физика QW. Команды пользователя. При помощи команд +forward +back +moveleft +moveright +moveup +movedown +speed игрок ...) |
*>Sss |
||
| Line 51: | Line 51: | ||
Движение рассчитывается в функции PM_PlayerMove. | Движение рассчитывается в функции PM_PlayerMove. | ||
| + | |||
| + | При помощи команд | ||
| + | +forward | ||
| + | +back | ||
| + | +moveleft | ||
| + | +moveright | ||
| + | +moveup | ||
| + | +movedown | ||
| + | +speed | ||
| + | игрок задаёт значения forwardmove, sidemove, upmove. | ||
| + | |||
| + | |||
| + | Они определяются переменными | ||
| + | cl_sidespeed, cl_forwardspeed, cl_backspeed, cl_upspeed | ||
| + | |||
| + | Также команда +speed увеличивает их в 2 раза. | ||
| + | |||
| + | Если активны 2 противоположные команды (например, +forward и +back), | ||
| + | то они вычитаются друг из друга | ||
| + | |||
| + | Значения forwardmove, sidemove, upmove передаются на сервер, а также используется в клиенте для предсказания движения. | ||
| + | |||
| + | Код обработки движений игроков на сервере и на клиенте должен быть одинаковым. | ||
| + | |||
| + | У меня cl_forwardspeed 400 (ezquake default), а также при старте клиента выполняется строка | ||
| + | +mlook;wait;+speed;wait; | ||
| + | |||
| + | Поэтому при нажатии +forward | ||
| + | forwardmove = 2 * 400 = 800. | ||
| + | |||
| + | |||
| + | Для передачи данных значения forwardmove, sidemove, upmove | ||
| + | специальным образом кодируются в функции MakeChar и поэтому | ||
| + | forwardmove = 800 превращается в 508 в PM_PlayerMove. | ||
| + | |||
| + | Не повезло hwguy и scout из TF c его автоматически выставляемой | ||
| + | cl_forwardspeed = 230 и cl_forwardspeed = 450 соответственно. | ||
| + | Она превращается в реальные 228 и 448. | ||
| + | Поэтому можно порекомендовать добавить в hwguy.cfg и scout.cfg строки | ||
| + | |||
| + | cl_forwardspeed 500 | ||
| + | cl_backspeed 500 | ||
| + | cl_sidespeed 500 | ||
| + | |||
| + | |||
| + | Тогда они будут бегать со своей законной скоростью 230 и 450 соответственно | ||
| + | (будет срабатывать ограничение сервера). | ||
| + | |||
| + | ??? +speed не работает в TF ???? | ||
| + | |||
| + | Движение рассчитывается в функции PM_PlayerMove. | ||
| + | |||
| + | |||
| + | При помощи команд | ||
| + | +forward | ||
| + | +back | ||
| + | +moveleft | ||
| + | +moveright | ||
| + | +moveup | ||
| + | +movedown | ||
| + | +speed | ||
| + | игрок задаёт значения forwardmove, sidemove, upmove. | ||
| + | |||
| + | |||
| + | Они определяются переменными | ||
| + | cl_sidespeed, cl_forwardspeed, cl_backspeed, cl_upspeed | ||
| + | |||
| + | Также команда +speed увеличивает их в 2 раза. | ||
| + | |||
| + | Если активны 2 противоположные команды (например, +forward и +back), | ||
| + | то они вычитаются друг из друга | ||
| + | |||
| + | Значения forwardmove, sidemove, upmove передаются на сервер, а также используется в клиенте для предсказания движения. | ||
| + | |||
| + | Код обработки движений игроков на сервере и на клиенте должен быть одинаковым. | ||
| + | |||
| + | У меня cl_forwardspeed 400 (ezquake default), а также при старте клиента выполняется строка | ||
| + | +mlook;wait;+speed;wait; | ||
| + | |||
| + | Поэтому при нажатии +forward | ||
| + | forwardmove = 2 * 400 = 800. | ||
| + | |||
| + | |||
| + | Для передачи данных значения forwardmove, sidemove, upmove | ||
| + | специальным образом кодируются в функции MakeChar и поэтому | ||
| + | forwardmove = 800 превращается в 508 в PM_PlayerMove. | ||
| + | |||
| + | Не повезло hwguy и scout из TF c его автоматически выставляемой | ||
| + | cl_forwardspeed = 230 и cl_forwardspeed = 450 соответственно. | ||
| + | Она превращается в реальные 228 и 448. | ||
| + | Поэтому можно порекомендовать добавить в hwguy.cfg и scout.cfg строки | ||
| + | |||
| + | cl_forwardspeed 500 | ||
| + | cl_backspeed 500 | ||
| + | cl_sidespeed 500 | ||
| + | |||
| + | |||
| + | Тогда они будут бегать со своей законной скоростью 230 и 450 соответственно | ||
| + | (будет срабатывать ограничение сервера). | ||
| + | |||
| + | ??? +speed не работает в TF ???? | ||
| + | |||
| + | Движение рассчитывается в функции PM_PlayerMove. | ||
| + | |||
| + | Движение в воздухе рассмотрено здесь: [http://wiki.quakeworld.nu/QW_physics_air_ru] | ||
Revision as of 17:12, 27 February 2010
Физика QW. Команды пользователя.
При помощи команд
+forward +back +moveleft +moveright +moveup +movedown +speed
игрок задаёт значения forwardmove, sidemove, upmove.
Они определяются переменными
cl_sidespeed, cl_forwardspeed, cl_backspeed, cl_upspeed
Также команда +speed увеличивает их в 2 раза.
Если активны 2 противоположные команды (например, +forward и +back), то они вычитаются друг из друга
Значения forwardmove, sidemove, upmove передаются на сервер, а также используется в клиенте для предсказания движения.
Код обработки движений игроков на сервере и на клиенте должен быть одинаковым.
У меня cl_forwardspeed 400 (ezquake default), а также при старте клиента выполняется строка +mlook;wait;+speed;wait;
Поэтому при нажатии +forward
forwardmove = 2 * 400 = 800.
Для передачи данных значения forwardmove, sidemove, upmove
специальным образом кодируются в функции MakeChar и поэтому
forwardmove = 800 превращается в 508 в PM_PlayerMove.
Не повезло hwguy и scout из TF c его автоматически выставляемой cl_forwardspeed = 230 и cl_forwardspeed = 450 соответственно. Она превращается в реальные 228 и 448. Поэтому можно порекомендовать добавить в hwguy.cfg и scout.cfg строки
cl_forwardspeed 500 cl_backspeed 500 cl_sidespeed 500
Тогда они будут бегать со своей законной скоростью 230 и 450 соответственно
(будет срабатывать ограничение сервера).
??? +speed не работает в TF ????
Движение рассчитывается в функции PM_PlayerMove.
При помощи команд
+forward +back +moveleft +moveright +moveup +movedown +speed
игрок задаёт значения forwardmove, sidemove, upmove.
Они определяются переменными
cl_sidespeed, cl_forwardspeed, cl_backspeed, cl_upspeed
Также команда +speed увеличивает их в 2 раза.
Если активны 2 противоположные команды (например, +forward и +back), то они вычитаются друг из друга
Значения forwardmove, sidemove, upmove передаются на сервер, а также используется в клиенте для предсказания движения.
Код обработки движений игроков на сервере и на клиенте должен быть одинаковым.
У меня cl_forwardspeed 400 (ezquake default), а также при старте клиента выполняется строка +mlook;wait;+speed;wait;
Поэтому при нажатии +forward
forwardmove = 2 * 400 = 800.
Для передачи данных значения forwardmove, sidemove, upmove
специальным образом кодируются в функции MakeChar и поэтому
forwardmove = 800 превращается в 508 в PM_PlayerMove.
Не повезло hwguy и scout из TF c его автоматически выставляемой cl_forwardspeed = 230 и cl_forwardspeed = 450 соответственно. Она превращается в реальные 228 и 448. Поэтому можно порекомендовать добавить в hwguy.cfg и scout.cfg строки
cl_forwardspeed 500 cl_backspeed 500 cl_sidespeed 500
Тогда они будут бегать со своей законной скоростью 230 и 450 соответственно
(будет срабатывать ограничение сервера).
??? +speed не работает в TF ????
Движение рассчитывается в функции PM_PlayerMove.
При помощи команд
+forward +back +moveleft +moveright +moveup +movedown +speed
игрок задаёт значения forwardmove, sidemove, upmove.
Они определяются переменными
cl_sidespeed, cl_forwardspeed, cl_backspeed, cl_upspeed
Также команда +speed увеличивает их в 2 раза.
Если активны 2 противоположные команды (например, +forward и +back), то они вычитаются друг из друга
Значения forwardmove, sidemove, upmove передаются на сервер, а также используется в клиенте для предсказания движения.
Код обработки движений игроков на сервере и на клиенте должен быть одинаковым.
У меня cl_forwardspeed 400 (ezquake default), а также при старте клиента выполняется строка +mlook;wait;+speed;wait;
Поэтому при нажатии +forward
forwardmove = 2 * 400 = 800.
Для передачи данных значения forwardmove, sidemove, upmove
специальным образом кодируются в функции MakeChar и поэтому
forwardmove = 800 превращается в 508 в PM_PlayerMove.
Не повезло hwguy и scout из TF c его автоматически выставляемой cl_forwardspeed = 230 и cl_forwardspeed = 450 соответственно. Она превращается в реальные 228 и 448. Поэтому можно порекомендовать добавить в hwguy.cfg и scout.cfg строки
cl_forwardspeed 500 cl_backspeed 500 cl_sidespeed 500
Тогда они будут бегать со своей законной скоростью 230 и 450 соответственно
(будет срабатывать ограничение сервера).
??? +speed не работает в TF ????
Движение рассчитывается в функции PM_PlayerMove.
Движение в воздухе рассмотрено здесь: [1]