RSS

Меню сайта

Категории каталога
Мои статьи [17]

Форма входа

Поиск

Мини-чат
200

Наш опрос
Какую музыку вы слушаете?
Всего ответов: 30

Друзья сайта


Онлайн всего: 2
Гостей: 2
Пользователей: 0
 Каталог статей 
Приветствую Вас, Гость Понедельник, 25.11.2024, 15:37

Главная » Статьи » Мои статьи

Секреты прыжков
Сейчас, наверное половина КОД сообщества, которая не знает подобную фичу начнёт кричать что это ЧИТ и прочее, но в Quake это использует довольно много игроков и ничем особенным это не считается. Там правда цели немного другие, в Call of Duty есть свои особенности, я в них разобрался и выставляю их на суд общественности. Речь идёт о СКРИПТАХ.

Как вы знаете, каждой клавише существует определенное назначение - BIND.
Когда мы например нажимаем "вперёд", то активируется команда "+forward", стрельба "+attack" и т.д.
Так вот из подобных команд можно составить "цепочку" и когда такая цепочка команд составлена, мы нажимаем эту кнопку и наш скрипт активизируется.

Например:

bind N "+forward;wait 50;+gostand;wait 10;-gostand;-forward"

В этой "цепочке" у нас присутствует несколько операторов: forward, gostand и wait. Теперь нажимаем во время игры (на поле боя) кнопку "N".
Сперва выполняется команда +forward (идти вперёд), далее команда WAIT - это очень важный оператор.
Эта команда выполняет роль ПАУЗЫ между соседними от неё операторами. В данном случае, между +FORWARD и +GOSTAND (прыжок или встать если вы в положении лёжа).
WAIT 50 - означает ПОДОЖДАТЬ 50 МИЛЛИСЕКУНД.
Т.е. cперва мы бежим, потом через 50 миллисекунд ПРЫГАЕМ, ещё через 10 отключается команда прыжок и FORWARD.

Теперь рассмотрим всё более подробно на одном из примеров.
Возмём один из самых щепетильных прыжков - прыжок на карте "Neuville" с раковины центрального дома на крышу.
Вы возможно видели, как я туда постоянно запрыгивал на пабликах. На самом деле я просто продублировал то, что делаю сам при прыжке. Теперь за меня работает машина, да и ещё с большей точностью!
Два слова о самом прыжке. Нужно разбежавшись прыгнуть с раковины. В тот момент когда ваша голова практически упёрлась в потолок, сразу приседаете и тогда можете долететь до уголка, с которого уже спокойно прыгаете на крышу. =)

Приступим к "разбору полетов":

1. Команда "wait".
У этой команды есть одна специфика. На разных комьютерах она работает по разному. Скорость миллисекунды зависит от загруженности вашего компьютера (в частности FPS).
Поэтому, если мы хотим чтобы скриптом пользовалась вся команда, то прописываем в самом начале нашего скрипта команду "com_maxfps 41". Эта команда опустит ваш FPS до 41 в секунду => не важно, на каком компе запускается скрипт. Мы его настроим специально под 41FPS и теперь он работает как надо ТОЛЬКО под 41FPS =)
Когда скрипт уже выполнен - мы хотим вернуть обратно 125FPS - так что в конце прописываем команду "com_maxfps 125".

Сейчас наша цепочка выглядит так:

bind N "com_maxfps 41;com_maxfps 125"

На то, чтобы с 125FPS наш COD снизился до 41FPS, нужно некоторое время. Поэтому, ставим после первой команды WAIT.

Как правило, параметра 50 достаточно, чтобы он точно упал до нужного нам 41FPS.
Если нужно сократить - сократите, увеличить - увеличьте. =)

Сейчас наша цепочка выглядит так:

bind N "com_maxfps 41;wait 50;com_maxfps 125"

!!!Важное!!!
Вы спросите: "Почему именно 41, а не 40 например, или 50?"
Ответ: На некоторых серверах в конфиге ПанкБастера стоит минимальное значение 40, т.е. если мы попробуем понизить до 40FPS, нас просто кикнет с сервака.
Поэтому, сделаем 41 чтобы точно не ошибиться.
Почему не 50? У некоторых игроков к сожалению слабые компы и в данной точке может быть всего FPS 45, а команда заточена к примеру на 50FPS => поэтому, у этого игрока скрипт выполнится неправильно, миллисекунды будут больше и прыжок в какой-то момент собьётся и никуда мы не запрыгнем.
ПОЭТОМУ МОЙ СОВЕТ, ВСЕГДА ПИШИТЕ FPS41!

2. Идём дальше.
Сперва нам надо выбрать точку откуда прыгать на тот самый уголочек на стенке.

Уголок для прыжка:



Так вот, сперва надо выбрать начальную точку.
Сперва встаньте в угол:


Теперь возмите пистолет, и прицельтесь так, как показано на следующем скрине:




В таком положении и надо будет нажимать на кнопку к которой привязан скрипт.

3. Далее, как я уже говорил - прыжок должен осуществляться с раковины.
Активируем команду идти вперёд и стрейф влево, чтобы двигаться вдоль стены.

Команда выглядит теперь так:

bind N "com_maxfps 41;wait 50;+forward;+moveleft;com_maxfps 125"

Через 25 миллисекунд нам нужно остановиться на раковине. Добавляем следующие команды:
wait 25;-forward;-moveleft;

Теперь скрипт выглядит так:

bind N "com_maxfps 41;wait 50;+forward;+moveleft;wait 25;-forward;
-moveleft;-moveleft;com_maxfps 125"

Вы спросите: почему 2 раза я выключил команду moveleft!? переодически, почему то происходят какие-то глюки - поэтому, я на всякий случай прописал её 2 раза, чтобы она отключилась на 100%.
На данный момент мы встали в угол, прицелились и прошли вдоль стенки на раковину. Именно с этой точки и будет сам прыжок.

Теперь начинаем движение вперёд.
Добавляем следующие команды: wait 40;+forward;

Теперь скрипт выглядит так:

bind B "com_maxfps 41;wait 50;+forward;+moveleft;wait 25;-forward;
-moveleft;-moveleft;wait 40;+forward;com_maxfps 125"

Далее, нам нужно совершить сам прыжок:
добавляем команду "+gostand" и через несколько миллисекунд присесть => команда "gocrouch"

Теперь скрипт выглядит так:

bind N "com_maxfps 41;wait 50;centerview;+forward;+moveleft;wait 25;
-forward;-moveleft;-moveleft;wait 40;+forward;wait 22;+gostand;wait 2;
gocrouch;com_maxfps 125"

Ну и в конце, нам надо отключить команду идти вперёд и прыжок.
Т.е. скрипт теперь выглядит так:

bind B "com_maxfps 41;wait 50;+forward;+moveleft;wait 25;-forward;
-moveleft;-moveleft;wait 40;+forward;wait 22;+gostand;wait 2;gocrouch;
-forward;-forward;-gostand;com_maxfps 125"


Вот собственно и всё, теперь можем спокойно прыгать на крышу дома. Количество мест, куда можно так запрыгивать полно!

Вот например скрипт СТРЕЙФДЖАМП (не самый лучший, быстро написал очень, не заморачивался):

bind B "com_maxfps 41;wait 30;+forward;wait 9;+left;+moveleft;wait 3;
+gostand;wait 12;-left;wait 20;-moveleft;-forward;-gostand;com_maxfps 125"

Разбирайте, пишите, учите и т.п. =)

 

И так повторим всё то, что мы рассматривали выше:

bind N // привязываем скрипт к НУЖНОЙ кнопке
"com_maxfps 41; // опускаемся до 41 FPS
wait 50; // ждём 50 миллисекунд
+forward; // идём вперёд
+moveleft; // одновременно стрейфимся влево, чтобы двигаться вдоль стены
wait 25; // топаём вперёд 25 миллисекунд!!! не больше!!!
-forward; // теперь останавливаемся
-moveleft; // и перестаём стрейфиться
-moveleft; // *спасение от сбоя*
wait 40; // ждём чуток
+forward; // бежим вперёд
wait 22; // и через 22 миллисекунды
+gostand; // прыгаем
wait 2; // и тут же
gocrouch; // приседаем чтобы не стукнуться головой об стенку
-forward; // ну и теперь останавляваемся
-forward; // *спасение от сбоя*
-gostand; // отключаем команду прыжка, иначе больше не сможем прыгать
com_maxfps 125" // возвращаем нормальный FPS


А вот список команд, которые вам могут понадобиться и описание к ним:

+forward // движение вперёд
+back // движение назад
+left // поворачиваться влево
+right // поворавиваться вправо
+moveleft // стрейф влево
+moveright // стрейф вправо
+gostand // прыгнуть
gocroach // сесть
wait // подождать миллисекунд
+attack // стрельнуть (для скрптов ОЧЕНЬ сложных гренок)
com_maxfps // меняем FPS


И последнее!


У меня были прыжки почти для каждой карты! Только вот хард мой сгорел и всё умерло к сожелению...
но, я научился писать их довольно быстро. Думаю и у вас получится, т.к. было их много - кнопки чуть ли не все были в биндах.
Поэтому, я сделал несколько конфиг-файлов и каждый конфиг носил
название карты, например: "carentan.cfg"
Внутри были прописаны прыжки на одни и те же кнопки.

Т.е. для Neuville у меня конфиг выглядит так:

//прыжок на крышу
bind ALT "com_maxfps 41;wait 50;+forward;+moveleft;wait 25;-forward;-moveleft;-moveleft;wait 40;
+forward;wait 22;+gostand;wait 2;gocrouch;-forward;-forward;-gostand;com_maxfps 125"

//стрейф для запрыгивания на итальянский дом. (у тех, кого траблы со стрейфом)
bind g "com_maxfps 41;wait 10;+forward;wait 9;+left;+moveleft;wait 3;+gostand;wait 12;-left;wait 20;
-moveleft;-forward;-gostand;com_maxfps 125"

Далее в основном конфиге я прописал:
/bind F1 "exec neuville"

Теперь когда я нажимаю F1 - на мои 2 клавиши удобные мне - устанавливаются скрипты этой карты.
Точно так же под F2 F3 и т.п. Каждая кнопка - скрипты для той карты на которой я играю.

......................

Вот такая вот канитель. Обмениваю сие знание на плюсы в репу! :)
Да прибудет с вами сила в битве с бургами

P.S. Кстати, вот демка прыжка на крышу Neuville с использованием разобранного тут скрипта!

Категория: Мои статьи | Добавил: c00peR (04.08.2008) | Автор: c00peR
Просмотров: 1024 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

 

Конструктор сайтов - uCoz