1) Удалить предыдущие версии cpma (всю папку cpma, если она есть в директории Quake3) 2) Скачать Последнюю версию CPMA 1.48 http://promode.ru/files/cpma148-nomaps.zip (7мб) и разархивировать в директорию Quake3 (со старой вы не зайдете) Кто хочет поиграть на буржуйских серверах, там всегда народу хвататет, если вдруг на наших мало, скачайте еще CPMA 1.47 http://www.promode.ru/files/cpma147-nomaps.zip, из него киньте только файл z-cpma-pak147.pk3 в папку CPMA, остальное не надо 3) Скачать официальный маппак CPMA http://www.promode.org/files/cpma-mappack-full.zip (120мб) и разархивировать в директорию Quake3\baseq3 4) Правой кнопкой мыши по quake3.exe (в папке quake3), затем -> Отправить на рабочий стол(Создать ярлык) 5) Правой кнопкой мыши по созданному на рабочем столе ярлыку -> в графе "Объект" после пути к ярлыку поставить пробел и добавить вот это: +set fs_game cpma Должно получиться примерно вот что: D:\Q3\quake3.exe +set fs_game cpma
Все! Теперь вы сможете заходить в мод cpma, просто нажам на этот ярлык. Если все равно не получается, проверьте в папке baseq3 размер файла pak0.pk3, он должен весить 457мб. Если нет, он у вас не оригинальный, скачайте оригинальный pak0.pk3 в гугле, или например ftp://games.olympus.ru/Quake3/pak0.pk3 и замените свой.
Как переделать конфиг osp в конфиг cpma: Можно воспользоваться программой для конвертации http://clanarena.net.ru/load/osp2cpma/1-1-0-241 Но проконтролировать полностью все изменения там нельзя, можно вручную все сделать, тут не много: 1) Копируем из папки osp ваш конфиг q3config.cfg в папку CPMA 2) В новом конфиге нужно удалить все лишние команды. Удалите snaps, cl_timenudge и ВСЕ команды начинающиеся с cf_ 3) Чтобы выключить дым от ракет и гренок, прописываем внизу в конфиге: seta cg_smoke_SG "0" seta cg_smokeRadius_RL "0" seta cg_smokeRadius_GL "0"
4) Добавьте в конфиг сетевые настройки CPMA: Для хорошего интернета: seta cl_packetdup "0" seta cg_xerpclients "0" seta cg_optimiseBW "0" seta cg_lagHax "-1" seta cg_nudge "0" seta cl_maxpackets "125" seta rate "25000" При пинге, потерях пакетов: seta cl_packetdup "1" seta cg_xerpclients "1" seta cg_optimiseBW "1" seta cg_lagHax "-1" seta cg_nudge "-20" // если пинг больше 100, иначе 0 seta cl_maxpackets "63" // если это дает лучше пинг чем 125, иначе 125 seta rate "25000"
cl_packetdup - дублирование пакетов, при плохом коннекте пакеты могут теряться, поэтому их лучше дублировать. 1 - дублирование два раза. Можно и больше ставить, но тогда трафик будет больше.
cg_xerpclients - это замена cg_smoothclients. Алгоритм просчета промежуточных позиций врага в случае потери пакета или большого пинга. На самом деле там спрятано два алгоритма. cg_xerpclients "-1" - это алгоритм для больших значений cg_nudge(больше 20). Делает движение объектов по карте плавными, но никто не утверждает что игрок находится именно там. Хотя алгоритм сильно изменен и улучшен. Вероятность ошибок уменьшена на порядок, но они есть при большом пинге(>120). cg_xerpclients "0" - выключение всех алгоритмов сглаживания. cg_xerpclients "1" - включение старого алго сглаживания, который есть в OSP. Рекомендуется только при значении cg_nudge 0. -1 – имеется ввиду «на столько на сколько позволено»: что является полностью адаптивным значением и позволит вам «не чувствовать» лага при использовании оружия. Это значение не может являться панацеей для модемщиков и его честно можно назвать хаком, а не некой волшебной переменной вдруг делающей лаг несуществующим. Но так или иначе, эта переменная дает хороший результат. Если вы используете ее, любое использование нуджинга приведет к потери точности попаданий при игре с пингом ниже 100 мс. по причине сбоя в расчетах адаптивного предсказания.
cg_lagHax - это новая переменная, которая означает динамическую компенсацию лагов. Это новая интерпретация кода "50ms", которая попала в OSP из CPMA 0.99v6. Теперь в некоторых ситуациях такая компенсация возможно и для 100ms. Существование этой переменной, а точнее алгоритма который она включает, сделало возможным игры европейских кланов с американскими. Простая суть этой переменной - она не уменьшает пинг, она делает игровое окружение при пинге меньше 100, таким если бы выиграли по LAN-у или на лисен серваке. То есть игра будет реагировать так, как если бы пинга не было вообще. Это напоминает действие unlagged, но лучше, т.к. тут вы не увидете откатов или смертей из-за ничего. В отличии от нуджинга игра становится более плавной, потому что тут нет предсказаний. Но если вы включаете нуджинг, то начинают появлятся дергания. Почему? Объясняю
cg_nudge - это новый адаптивный алгоритм нуджинга в Промоде. Желательно его использовать либо на пингах от 100 и выше, либо при большом пакетлосте. Потому что когда идет пакетлост cg_lagHax временно отключается, чтобы не вносить ошибок в собственную же работу. Итак, cg_nudge должен принимать значения от нуля и меньше. Ноль - нуджинг выключен. Если значение от -1 до -20, то значит у вас пинг от 100 до 120 и вы хотите компенсировать эти лаги, предсказанием алгоритма игрока. Если значение от -50 и дальше, то значит нуджинг идет автоматический, он смотрит ваш пинг и включает компенсацию на нужную величину. Кстати, в Промоде используется очень навороченный алгоритм предсказания, который учитывает окружение(лаву, телепорты, пропасти и т.д.) поэтому он сильно грузит ЦПУ. На слабых машинах не рекомендуется его включать. Сильно скажется на ФПС. Обычно cg_Nudge = -(ping - 100)
Вы спросите в чем разница между cg_lagHax и cg_Nudge. Отвечу, первый не уменьшает пинг и не предсказывает положение врага и объектов. Второй пытается убрать лаги за счет предсказания. Любое предсказание - это вероятность ошибки. Правда если на серваке играют игроки с одинаково плохим пингом 120, то им будет казаться, что все ок. Другое дело, когда встречаются LPB и HPB.
cl_maxpackets - Количество отсылаемых пакетов на сервер. Т.к. мы играем с com_maxFPS 125, движок делает 125 кадров в секунду, для лучшего пинга оптимально всё передать на сервер. Если исходящий канал очень узкий, помимо 125 можете попроваботь значения 63 или 100. Что из этого даст лучший пинг, то и используйте.
rate - размер одного пакета. Чтобы вся игровая информация уместилась в один пакет, нужно как минимум ставить 25000. Если меньше, информация будет пропадать, например некоторые звуки недоходить, при этом пинг обычно вырастает. Значения выше 25000 ничего существенного не дают. Хотя некоторые ставят 50000
5) Настройте худ (hud) - все то, что отображается на экране, всякие статус бары и прочее. hud в cpma это не переменные cf_ а отдельный файл, лежащий в папке cpma\hud В конфиге указывается путь к этому файлу, по дефолту: seta ch_file "hud" В папке hud изначально есть несколько заготовок: hud1 hud2, Если вы меняете худ в игре, а не в конфиге, чтобы его применить, нужно прописать не толькко ch_file "hud" но и reloadHUD, тогда загрузиться новый. Это как аналог vid_restart для рестарта графики. Вы можете играть с дефолтным худом, можете скачать чужой, а можете создать свой с помощью редактора худов http://plrf.org/superhudeditor/
Пожалуй единственное исключение в худе, это прицел, он настраивается в основном конфиге: seta ch_crosshairColor "7" // сделает его белым, по дефолту он может быть серым. seta ch_crosshairAlpha "1" // убирает прозрачность, по дефолту 0.8
6) Если у вас в нике цветная тень - уберите ее; cpma не поддерживает изменение цвета тени (всегда черная) и вообще ^xrrggbb цвета в имени. Окрашивать ник можно только с помощью ^цифра или ^буква. Пример: нельзя: ^xffffff^n^xFF3333EBOWA (отображаться будет как ffffffff3333EBOWA, с черной тенью) можно: ^aEBOWA (ник Ярко-красного цвета с черной тенью)
7) Другие настройки Можно залезть в меню setup - game options, там глянуть что изменить,
Шафт: В CPMA есть много видов шафта, это пункт CPMA Lightning. А можно в конфиге прописать seta cg_altLightning "0" // от 0 до 3 попробуйте какой больше понравиться При чем можно задавать всем разный шафт, например cg_altLightning "312" Первая цифра - твой луч, вторая - твоей команды, третья - у соперников Вообще сетевой код шафта в CPMA значительно улучшен. cg_trueLightning 0 в ОСП показывал реальное положение шафта. В CPMA cg_trueLightning 0 не показывает реального положение. Реальное находится где-то между 0 и 1, ближе к 1 благодаря оптимизации кода. Поэтому смысла cg_trueLightning 0 ставить теперь нет. Оптимально ставить cg_trueLightning 1, если кто хочет, может 0.8, 0.7 попробовать.
Плазма: seta cg_altPlasma "1" // это cpma плазма, 0 - та что в baseq3 стандартном квейке
Рейл: seta cg_railStyle // от 0 до 5 пробуйте разные стили Цвет рейла и модельки настраивается не в color1 color2, как в osp, эти переменные можно удалить. А в одной: color он содержит 5 цифр, настроить можно в меню setup - player Правда там не все значения Лучше вручную: Первая цифра это цвет Основного луча рейла Вторая цвет Головы модельки Третья цвет Туловища модельки Четвертая Ног модельки Пятая Спираль рейла Например color "i777i" сделает меня полностью белым а рейл зеленым *Формат цветов в cpma везде не только цифры но и буквы Цвет противника тоже задается, но не только цвет модельки, но и цвет рельсы: cg_enemyColors "aiiia" сделает противника зеленым, а его рейл красным
На самом деле в CPMA намного больше всяких новых фич, настроек по сравнению с OSP. Просто они не так значимы. Кто захочет более глубоко капнуть, читайте сайт promode.ru, там много статей по настройкам, например: http://promode.ru/?q=node/463
(Составлено: GST & Reactor)
upd1:
Если вас убили, вы как-бы находись в спектаторах и команда say_team или say_teamnl к сожалению видна для всех спектаторов, а не только для вашей команды. Вот так сделали. Я еще поговорю с разработчиками промода, не знаю зачем они так сделали
В основном благодаря этой переменной шафт в CPMA значительно лучше чем в OSP.
cg_lagHax - это новая переменная, которая означает динамическую компенсацию лагов. Это новая интерпретация кода "50ms", которая попала в OSP из CPMA 0.99v6. Теперь в некоторых ситуациях такая компенсация возможно и для 100ms. Существование этой переменной, а точнее алгоритма который она включает, сделало возможным игры европейских кланов с американскими. Простая суть этой переменной - она не уменьшает пинг, она делает игровое окружение при пинге меньше 100, таким если бы выиграли по LAN-у или на лисен серваке. То есть игра будет реагировать так, как если бы пинга не было вообще. Это напоминает действие unlagged, но лучше, т.к. тут вы не увидете откатов или смертей из-за ничего. В отличии от нуджинга игра становится более плавной, потому что тут нет предсказаний. Но если вы включаете нуджинг, то начинают появлятся дергания. Почему? Объясняю