Главная » Статьи » Скриптинг/ Статьи/ Мануалы

ЛИМИТ 512 ЗВУКОВ И ЗАМЕНА МОДЕЛЕЙ ( ЧЕРЕЗ MP.DLL )
Автор статьи: Shalun(SISA)

Я хочу поделиться своими незаурядными знаниями в области CS серверов и о методе, который до меня (я так думаю), ещё ни кто не применял.

Сразу говорю. Я в этом нуб, ногами не бить. Мой ZM сервер сделан на основе этого метода и прекрасно работает уже 30 дней.

Зачем вообще нужен этот метод и какие его плюсы?
Все из вас знают, что замена моделей средствами amxx создает дополнительную нагрузку на сервер и порой является причиной его падения (при большом количестве заменяемых моделей).
Этот метод позволит вам менять модели средствами самого сервера, даже не используя метамод (и уж тем более amxx). Никаких плагинов и прочих извращенств.

Так же, многие из вас сталкивались с лимитом в 512 звуков (при создании ZP серверов)
Этот метод так же позволит преодолеть его и запихнуть клиенту до ~200 (своих) звуков (зависит от карты и количества оружия).

Что нам нужно ?
Quote
1) Прямые руки
2) Мозг
3) Программа WinHex (крякните её обязательно)


4) Плагин precache_management

Поехали...

Quote
1) Открываем программу
2) Находим файл mp.dll (\cstrike\dlls)
3) Кидаем его в WinHex


ОМГ ! Мы видим много непонятных букв и цифр. Ничего страшного, они нам не понадобятся =)

Вся дальнейшая работа будет производится кнопками ctrl+f (т.е. поиском).

Замена моделей.

В общем:

Каждое оружие имеет три модели (кроме ножа):

Quote
v_ эту модель мы видим у себя на экране, играя от первого лица (т.к. сами руки и оружие)
p_ эту модель мы видим в руках другого игрока
w_ эту модель мы видим на земле или в воздухе (если это граната)


Пример:
Quote
Мы хотим заменить модель v_ (от первого лица) на автомате AK 47


Что мы делаем ?

Quote
Тыкаем в WinHex поиск (ctrl+f) и ищем v_ak47.mdl


Нашли ? Ок. Что теперь...

Теперь надо изменить её путь с оригинального на свой.

Quote
к примеру: models/v_ak47.mdl на models/ts/ak7.mdl


Сразу хочу заметить, что ваш измененный путь не должен превышать (по количеству символов) исходный путь. Т. е.

Quote
models/v_ak47.mdl - 17 символов
models/ts/ak7.mdl - 17 символов


Создайте себе папку в models (к примеру ts ) и закидывайте туда все свои новые модели и прописывайте пути в mp.dll

Всё ! Никаких плагинов, нагрузки на сервер и прочих плясок с бубном !

Замена звуков.

Тут уже сложнее и без плясок с бубном не обойтись...

Сразу хочу сказать, что "Преодолеть" лимит в 512 звуков нельзя... Я много чего читал, пробовал и делал, но лимит остался не покорен.

Постарайтесь максимально оптимизировать сервер и удалить все лишние плагины (особенно, если они не относятся к моду) или вырежите из них звуки.

Так откуда же нам взять свободные места для наших звуков ? Единственный источник - это звуки от стандартного оружия =)

Да, да...... мы убираем из прекеша звуки стандартного оружия (перезарядка, вынимание оружия, писк бомбы, и.т.д.), т.к. все эти звуки есть у клиента и они вообще не нуждаются в серверном прекеше, т.к. все эти звуки вызываются моделью оружия.

Поехали...

Устанавливаем плагин precache_management. Что он делает ? Он создает PrecacheList.log в (\cstrike\addons\amxmodx\logs) и пишет в него прикешируемые файлы. Но пишет он туда далеко не всё, да и не нужно нам это...

Нам нужен самый конец лога, т.е.

files precached

Здесь он указывает как раз то заветное число звуков, которое прекешится в данный момент (т.е. на данной карте).

Хочу заметить, что сама карта может сожрать много звуков. Вы можете сравнить (к примеру) de_dust2 и cs_sibiria и увидите разницу в 35-40 звуков ! Когда борьба идет за каждый звук, разница в 35-40 ощутима, по этому надо оставить запас для насыщенных карт.

Немножко теории...

Сам ZP (самый загруженный мод) в чистом виде, будучи нафаршированный звуками по самые помидоры, свободно впишется в лимит 512... Все проблемы начинается тогда, когда этот самый ZP обрастает плагинами, которые загоняют в прекеш много дополнительных звуков.
Вот как раз их, мы и впихнем вместо стандартных звуков от оружия.

Все звуки от оружия находятся здесь (\cstrike\sound\weapons). Открываем блокнотик и делаем список заменяемых звуков. К примеру:

Quote
famas_boltpull.wav
famas_boltslap.wav
famas_clipin.wav
famas_clipout.wav
famas_forearm.wav
famas-burst.wav


Вот нафига нужны эти 6 звуков в прекеше сервера, одному черту известно...

Что теперь ?

Для начала, создаем папку в (\cstrike\sound\weapons). К примеру, назовем её st

В этой папке у нас будут храниться все дополнительные звуки от плагинов.

Открываем плагин, к примеру "Бензопилу". Едрен-батон, целых 9 звуков !

Меняем им пути на weapons/st/

Собственно сами названия звуков образуются в процессе, в зависимости от того, какой длинны будет исходный (заменяемый звук).

Ну а дальше, всё по аналогии с моделями. Находим в WinHex (к примеру weapons/famas_boltpull.wav) и меняем на weapons/st/chain_depl1.wav

Quote
weapons/famas_boltpull.wav - 26 символов
weapons/st/chain_depl1.wav - 26 символов


Вот у нас появилось первое название для звука "chain_depl1.wav"

Теперь в плагине дописываем его и так же делаем с остальными звуками.

P.S. Периодически перезапускайте сервер и смотри, как у вас уменьшается общее число прикешируемых звуков. И не забывайте делать промежуточные копии mp.dll
Категория: Скриптинг/ Статьи/ Мануалы | Добавил: Lacosta (05.01.2012)
Просмотров: 655 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вверх