Скрипты в Counter-Strike
Многие из вас уже наверняка встречались, играя газеры и на паблик серверах, с игроками, которые вас убивали через дым, когда ничего не было видно, или сравнитеьно быстро стреляли изо всех видов оружия, или же использовали продолжительные прыжкы без сбивания и покупку запрещённых сервером видов вооружения. Всё это и еще многое другое я попытаюсь вам рассказать в этой статье.
Начну свой рассказ с самой популярной на данный момент проблемы - это отсутствия дыма у некоторых игроков. Всё довольно просто, если вы пользуетесь Counter-Strike(non-steam версия), тогда вам необходимо удалить один файл, который находится в папке '/valve/cstrike/sprites/' с незамысловатым названием gas_puff_01.spr. Что же это даст? При взрыве гранаты это уберёт большое облако дыма и на месте взрыва будут вылетать маленькие клубочки дыма, которые отнюдь не мешают вам. Этот трюк чрезвычайно простой и никакая античитерская софта не сможет это засечь. Однако есть одно "НО" - это не сработает на Steam-версии, так как там все эти файлы спрятаны в gcf архиве, но и это нам не помеха. Решение данной проблемы заклучается в создании такого же спрайта, только все его слои сделать прозрачными и положить этот файлы в папку 'steam\steamapps\tvoj@mail.tut\counter-strike\cstrike\sprites\'. Данные действия сделают дым прозрачным, но fps у вас останется тем же, что и был ранее с дымом.
Некоторые админы серверов, зная об этой проблеме, запретили покупку дымовых гранат. Всё конечно хорошо, но это также можно обойти, Sjava нашёл этот способ совершенно случайно. Узнав об этом способе, я так и не понял, почему так получается, но как никак данный метод работает. Суть заключается в быстрой покупке какого либо разрешённого и запрещенного оружия, после повторения данного цикла N кол-ва раз вы купите, к примеру, дымовую гранату. Лично я сам это делаю комбинацией клавиш 'o+4;o+5'.
Остальные забавные вещи основаны на зацикливании команд. Есть два наиболее популярных метода зацикливании: первый основан на команде m_pitch, которая повторяется каждые 0.45 секунд, так что прописав 'alias m_pitch "echo Hello World"' примерно два раза в секунду будет выполняться команда 'echo Hello World', ну а второй способ основан на рекурсии, вызове alias'а из него же самого. Как вы знаете в версии Counter-Strike 1.6 запрещено использование команды 'r_drawviewmodel 0', при значении 0 оружие исчезает и через мгновение появляется снова. Теперь же, воспользовавшись методом зацикливания, можно сделать так, что оружия не будет видно на протяжении всей игры введя команду 'alias m_pitch r_drawviewmodel 0'. Это, пожалуй, самое удачное использование данного метода. Теперь рассмотрим второй метод, с его способом возможно осуществить такие действия как 'pistol auto shoot', тоесть стрелять из пистолета с зажатой кнопкой, что увеличивает скорость стрельбы до такого состояния, что с двойных беретт все ваши патроны летят в небеса.
Pistol auto-shoot:
alias "+un.app" "alias _special un.atkap;un.atkap" \\ действия при нажатии и нажатой кпопке
alias "-un.app" "alias _special" \\ действия при отжимании кнопки
alias "un.atkap" "special;wait;+attack;wait;-attack" \\ действия: если нажата кнопка заного зупустить эту же строку и выстрелить один патрон
bind mouse1 "+un.app" \\ кнопка на которую будут выполняться выше указанные действия
Auto jump(тот же принцип):
alias "+un.t" "alias _special un.t;un.t"
alias "-un.t" "alias _special"
alias "un.t" "special;w;+jump;w;-jump"
bind space "+un.t"
Также есть способ избежать изменения значений переменных через AMX CFG BLOCKER, просто перед тем как зайти на сервер напишите 'alias YOUR_COMMAND "echo SCRIPT SUCKS"', те же операции проделайте и с другими переменными. Все описанные средства не блокируются Cheating-Death'ом. А вот последний пример FULL BRIGHT вместе с C-D использовать уже нельзя.
Full bright:
reconnect;gl_monolights 1;cl_shadows 0;cl_weather 0;lightgamma 0
'reconnect' здесь указан по двум причинам: для того, чтобы изменения вступили в силу и во избежание 'kill', если вы в данный момент живой, т.к. при изменении переменной lightgamma вы сразу же умрёте