Изменение текстур неба на сервере

Сообщения
3,569
Реакции
1,560
Помог
133 раз(а)
Далеко не все администраторы серверов знают о том, что в Counter-Strike есть возможность изменить стандартные текстуры неба, не редактируя при этом саму карту.
Сейчас я расскажу, как это можно осуществить.

20190807034220_1.jpg 20190807035014_1.jpg

Для начала, немного теории о том, из чего состоит и как формируется скайбокс¹ в играх на движке GoldSource.
Он складывается из шести "кусочков" квадратной формы, представляя собой куб, внутри которого и находятся все "карты". Игроки видят внутренние стенки куба, на которые наложены текстуры размером 256х256, тем самым создавая впечатление неба.

¹ Скайбо́кс (англ. sky — «небо» и box — «коробка») — объект в трёхмерной графике, играющий роль неба и горизонта. Wiki

Способ 1.
Стандартная команда.

Самый простой и лёгкий способ, не требующий особых действий — это использовать серверную команду sv_skyname. Вам потребуется найти (или загрузить свои) текстуры неба на сервере по пути cstrike/gfx/env.
Файлы имеют формат .tga и название, которое складывается из двух частей — название самой текстуры + окончание, указывающее движку игры на то, текстура какой части скайбокса содержится в данном файле. Например, стандартные текстуры для карты cs_backalley имеют следующие названия: backalleybk, backalleydn, backalleyft, backalleylf, backalleyrt и backalleyup соответственно. Думаю, объяснять какое окончание за какую текстуру отвечает не придётся, поскольку всё интуитивно понятно. Lf — left — левая часть, up — верх, и так далее.
Вернемся же к установке своих текстур. Вам не нужно прописывать все 6 названий текстуры для её установки, нужно выделить её название (backalley из примера выше) и прописать в консоли сервера sv_skyname backalley. Вот только мгновенной смены текстур не произойдёт, если вы уже находитесь на сервере, для этого потребуется перезайти. Поэтому если вы хотите использовать свою текстуру на какой бы то ни было карте, откройте файл amxx.cfg и пропишите данную команду с названием ваших текстур в нём.
Готово! Теперь при смене карты у вас будут стоять те текстуры, которые вы укажете в конфиге.

Способ 2.
Использование предназначенных для этого плагинов.


Способ 1, описанный выше, имеет ряд недостатков, среди которых отсутствие "быстрой загрузки" файлов текстур, если вы смените название текстур в то время, как на севере будут находиться игроки, даже если вы загрузите файлы на fastdl. Клиент, заходящий впервые скачает текстуры с fastdl, но последующая смена уже приведет к обычной "медленной загрузке". (Почему?) А так же необходимость каждый раз менять название текстур в конфиге.

Именно поэтому мной был создан плагин для смены текстур неба. Конечно, он далеко не первый, и аналоги существуют уже очень давно. Однако, мой плагин имеет ряд отличий и преимуществ от них. Например, он исправляет проблему с "быстрой загрузкой", имеет удобный конфиг и, в отличии от плагина tuty, текстуры устанавливаются сразу при первом запуске сервера, а не после рестарта/смены карты.
Всё что вам потребуется сделать для установки текстур в этом плагине — это загрузить свои текстуры и выделить их название (см. информацию в способе 1), затем прописать его в конфиге плагина. Вы можете вписать туда сколько угодно текстур, они будут чередоваться в случайном порядке при каждой смене карты.

Приложение: Статья о создании скайбокса для Counter-Strike своими руками (ENG)
 
Последнее редактирование:
Сообщения
46
Реакции
5
откройте файл amxx.cfg и пропишите данную команду с названием ваших текстур в нём.

Но тут получается будет только 1 текстура на всех картах?
 
Сообщения
3,569
Реакции
1,560
Помог
133 раз(а)
RiTa, для остального есть второй способ.
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
А просто использование RES файла уже не учитывается?
 

met

Сообщения
171
Реакции
42
А есть вариант для всех карт сделать кастомное небо, а для одной дефолтное. Прописываю в amxx.cfg "sv_skyname nebo1"
В configs/maps cs_backalley.cfg прописал "sv_skyname backalley" - не работает.
Попробовал через плагин custom_sky. В файле custom_sky.cfg прописываю "cs_backalley backalley" - не работает
 
Сообщения
3,569
Реакции
1,560
Помог
133 раз(а)
met, "не работает" - это что значит? Остаётся кастомное небо на cs_backalley?
 
Сообщения
667
Реакции
143
Помог
11 раз(а)
я до бсп всегда через ripent менял
 
Сообщения
3,569
Реакции
1,560
Помог
133 раз(а)
met, скорее всего дело в загрузке конфигов. Вероятно, конфиг карт подгружается уже после того, как ты во время смены карты подключился к серверу. Это можно проверить, перезайдя на сервер после загрузки.
 

met

Сообщения
171
Реакции
42
Nordic Warrior, да, ты прав. Если перезайти на сервер, то небо изменится на то, которое указано в configs/maps. Но, правда это не решает проблему=(
Возможно ли как-то сделать так, чтобы конфиг карт загружался сразу же?
 
Сообщения
2
Реакции
0
Хорошая идея, поставлю себе что-то космическое. Действительно небо меняется после реконнекта, то есть делать это нужно в какой-то определенный момент при смене карты.
 
Сообщения
3,569
Реакции
1,560
Помог
133 раз(а)
Legolas, мой плагин, описанный в способе 2 выполняет именно эту задачу.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу