Difference between revisions of "QW physics user commands ru"

From QWiki
*>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]