А сега да преминем към изложението...
Сигурно на всекиго от вас – стига да сте играли CS, иначе защо я четете тази тема? – е правило впечатление, че някои карти са предназначени за по-малък от максималния брой играчи (32). Голяма част от класическите имат този проблем. Ярък пример за това е de_nuke, която е с едва 20 слота. Това за massive-сървърите е сериозен проблем. Тук е моментът да споменем, че под слот, известно още като spawning point, ще разбираме мястото, на което се „раждат“ играчите в началото на всеки рунд.
Също така искам да предупредя, че ще ни е необходима малка допълнителна програмка, наречена ripent. Знам, че на повечето от вас това това хич няма да им се понрави (самият аз не бях очарован в началото), но освен ако не искате да декомпилирате картата, това е единственият начин. Сами решавате дали да четете надолу. И все пак програмата не се нуждае от инсталиране, а след това самото добавяне на слотове става с всеки прост текстов редактор тип Notepad.
Първото нещо, което трябва да направим, е да дублираме картата, която ще променяме, и да добавим в името на копието броя слотове. Понеже съм заклет почитател на зимните мапове, ще използвам за демонстрация de_icenuke_LSTA, която също е за 20 души. При нея новото име ще бъде de_icenuke_LSTA32. След това отиваме на сайта на Zoner's Half-Life Tools и изтегляме пакета с инструментите. В него се намира ripent. От папка Power Tools взимаме само ripent.exe и го поставяме в директорията с картите – */cstrike/maps/.
Третото нещо е да отворим командния прозорец (cmd) през Start » Run » cmd, да се доберем до папката чрез cd */cstrike/maps и да извлечем файла с обектите от картата – в него са описани слотовете. Това става по следния начин:
ripent -export de_icenuke_LSTA32

Така в папката трябва да се появи файл със същото име, но с разширение .ent. Него ще отварим с Notepad.
В него има разнообразна информация – къде са разположени бомбите, заложниците, къде кои звуци да се чуват и т.н. Нас ни интересуват блокчетата с info_player_deathmatch и info_player_start, съответно за терористи и counter-терористи:
{
"origin" "1924 -1548 -284"
"angles" "0 180 0"
"classname" "info_player_start"
}
"origin" "1924 -1548 -284"
"angles" "0 180 0"
"classname" "info_player_start"
}
Да разгледаме кое какво представлява.
- origin – координати по X, Y и Z; след малко ще доуточним
- angles – накъде да е завъртян играчът; може и без това
- classname – определя от кой отбор да е играчът
Така. Най-лесният и разпространен начин е да добавяме слотове над вече съществуващите. Така нито ще даваме нечестна преднина, нито ще ощетяваме някой от отборите.

Важното е да знаем, че за всеки един слот са необходими 128 (пиксела, милиметра...? И аз не знам в какво се измерват) по трите координатни оси. Т.е. за да добавим над даден слот нов такъв, копираме целия му блок с информация, но към Z-координата прибавяме +130, за всеки случай. Иначе ще има принудителни самоубийства в началото на рунда. Горе-долу трябва да изглежда по този начин:
{
"origin" "1924 -1548 -154"
"angles" "0 180 0"
"classname" "info_player_start"
}
{
"origin" "1924 -1548 -284"
"angles" "0 180 0"
"classname" "info_player_start"
}
"origin" "1924 -1548 -154"
"angles" "0 180 0"
"classname" "info_player_start"
}
{
"origin" "1924 -1548 -284"
"angles" "0 180 0"
"classname" "info_player_start"
}
И повтаряме това упражнение за останалите слотове, съобразявайки кога е info_player_start, кога – info_player_deathmatch. И това е! Остава само да вградим обратно .ent файла – отново с ripent:
ripent -import de_icenuke_LSTA32
Уви, невинаги е приложим този метод. Например на cs_militia в къщата при терористите таванът е твърде нисък и няма как да се поберат двама души един върху друг. В такъв случай е по-добре да се търсят допълнителни места, на които да вземем координатите. Правим си една локалка на избраната от нас карта и като си харесаме дадено местенце (което да не е твърде близо до стени, врати и т.н.), пишем в конзолата status.

Добавяме си нов блок за слот във файла и просто въвеждаме посочените координати, като към Z отново добавяме 4-5 отгоре, да стане нещо такова:
{
"origin" "790 -699 -53"
"angles" "0 180 0"
"classname" "info_player_deathmatch"
}
"origin" "790 -699 -53"
"angles" "0 180 0"
"classname" "info_player_deathmatch"
}
И пак, както преди, import-ваме обратно .ent файла. И вече си имаме подобрена карта с допълнително слотове.
Все пак, моля ви, не забравяйте да промените не само името на картата, но и .res файла към нея (ако има такъв), защото в него може да са описани необходими странични звуци, модели и текстури.
Допълнителнa информация:
Joe.To
Zoner's Half-Life Tools
de_icenuke_LSTA @ 17buddies.net
de_icenuke_LSTA32
gl & hf
Ох, не можах да го изчета, може би и защото не ме интересува. Но пък е похвално, че си се постарал толкова! Друг е въпросът защо не си отбелязал раждането на третия си племенник, а си разписал тази дълга и много важна статия...:)))
Браво Ицко, от години търся начин да добавя дпълнителни слотове и най-накрая разбрах как става, благодарение на теб. Извини ме ако съм допснал правописни грешки, пиша през сълзи, радостни сълзи.
Честито на роднините на третия племенник.
тази статия ме обогати душевно и промени стихийно възприетите от мене възгледи и убеждения за света и за ЦС като цяло, благодаря!
ще има ли продължение на тази статия??pls дайте някво инфо..........?
tva e nai-lubpotinoto ne6to koeto sym chel nqkoga, chustvam se v plen na prochetenoto
imam chustvoto che se 1 ne sym jivql predi da procheta tozi shediovyr
publikuvaite go nqkyde za komersialno prednaznachenie, neminuemo shte stane bestseller !