Counter-Strike 2

Counter-Strike 2

267 ratings
Тестируем свои скины в игре при помощи самого дешевого ширпа
By Hexeth
Сама система интеграции своих скинов в игру с целью их дальнейшего тестирования не нова. Поэтому, мой гайд не об этом. Хотя и об этом. В общем, у меня, скорее, лайфхак. Лайфхак как использовать самый дешевый ширп для тестирования своих скинов. Преимущество данного лайфхака заключается в том, что у вас появляется возможность показать абсолютно все степени износа, к которым вы хотите привлечь внимание, прямо в игре, а не в Мастерской, за дешево. Зачем нам нужно тестировать скины в игре? В Мастерской используется другого рода источник света, нежели в игре, и тот же Сustom Paint Job темнее, а Patina и Gunsmith выглядят ярче, например. Так что, данный гайд - это скорее жизненная необходимость, нежели маркетинговый бонус.

P.S. VAC Ban за подобный способ манипуляции не дается. Игра распознает измененные файлы как испорченные и выкидывает вас на рабочий стол. То есть, хоть наказания вы и не получите, но и играть в сети не сможете. Только с ботами или в одиночестве.
8
2
   
Award
Favorite
Favorited
Unfavorite
English version
If you speak English, my bros AKTrashheap and EGO DEATH made great english guide here:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=571550522
Распаковка и подготовка
Итак, при помощи программы GCFScape распаковываем файл pak01_dir.vpk из директории

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo

в эту же директорию. А точнее, только две папки - Materials и Models. Дальше в директории

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials\models\weapons\customization\paints

находим папки anodized_air (Annodized Airbrush), anodized_multi (Anodized Multicolored), antiqued (Patina), custom (Custom Paint Job), gunsmith (Gunsmith), hydrographic (Hydrographic) и spray (Spray-Paint).

После этого нам нужно найти файл items_game.txt. Находится он по пути

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\scripts\items

Этот файл - наш ключ к игре. В этом файле хранятся скрипты настроек всего оружия, присутствующего в игре. Мы применим фокус, при котором один скин заменяется на другой. Для игры это будет все тот же скин, но с другой текстурой. Сразу скажу о том, что копия этого файла хранится на серверах Valve и сравнивается с вашей копией. В случае несоответствия, вас просто выбрасывает из игры, определяя как краш системы. И вы не сможете играть онлайн с измененными скинами. Только с ботами как псих-одиночка. Или даже бегать без ботов, любуясь на свою шкурку и вытирая со щек слезки сожаления о том, что такую красоту больше никто увидеть не может. Но этого вполне достаточно, чтобы протестировать наш скин и сделать красивые фотокарточки, которые помогут вашим друзьям понять как вы круты. Особенно, если это поможет вашему скину попасть в игру.



Поиск текстуры в скриптах
Так вот, после того, как вся магия случилась и мы нашли все папочки и тот текстовый файл, создаем его копию, а оригинал начинаем изменять. Можете, конечно, не создавать копию, если вы не играете в саму игру, ну или каждый раз восстанавливать поврежденные файлы. Но с копией будет быстрее заменить один файл на другой. В измененном файле нам нужно будет найти скрипт имеющегося в инвентаре скина и изменить его на наш скрипт. Таким образом, игра примет другие параметры и другой путь к текстуре, что нам, собственно, и нужно. Для примера я купил несколько скинов Револьвер R8 | Костяная маска. Они стоят по 3-4 цента, что меня вполне устроило. Так как на настройках моего скина для револьвера нет версии Прямо с завода, то и Костяную маску я с такой степенью износа не покупал. Теперь самый главный вопрос: и как же нам найти эту Костяную маску в скриптах? Очень просто! Заходим на сайт csgostash. com и находим там наш револьвер в разделе Pistols. Открываем и находим на странице вкладку Texture Pattern. Так выглядит реальная текстура револьвера, без нанесения в настройках цветов на каналы. Жмем по картинке правой кнопкой мыши и выбираем Сохранить изображение как... Сохранять ее или нет - ваше дело. Нам же нужно только название картинки. В моем примере с револьвером это будет sp_tape.jpg. Название файла - это название скрипта. Не текстуры, а именно скрипта. Сразу скажу, что Valve сохраняют оригинальное название текстуры от автора, и даже если изменяют название в игре, название текстуры остается прежним. Поэтому, следите за тем, чтобы ваше название не совпадало с уже имеющимися в игре. Возможно, в случае желания принять вашу текстуру, имя может быть изменено, но на практике такого не наблюдалось лично мною. Так что, если вы решили использовать текстуру AK-47 | Элитное снаряжение, то вам нужно искать текстуру не Elite Build, а Mastery, как свою серию назвал сам M1nD. А нас сейчас интересует Костяная маска. Этот скин является рандомным, что позволяет ему изменять рисунок при выпадении, делая один и тот же скин с разными вариациями изображения на нем, а так же - самое коварное - эта текстура применяется сразу на несколько пушек, причем, не только в виде Костяной маски. Это сильно усложняет нам жизнь, но мы все равно ее победим. Разница между рандомной и статичной текстурой только в обнулении параметров последней. За этим тоже следите, так как, если вы не обнулите эти параметры, в игре вашу текстуру может случайным образом перевернуть как попало.



Изменение скрипта файла items_game.txt
Открываем items_game.txt и выбираем поиск (горячие клавиши Ctrl+F). В поиск вбиваем название нашего jpg-файла с csgostash.com. Ищем скрипт по запросу sp_tape. Он будет выглядеть так:

"27"
{
"name" "sp_tape"
"description_string" "#PaintKit_sp_tape"
"description_tag" "#PaintKit_sp_tape_Tag"
"pattern" "camo_tape_strips"
"wear_default" "0.200000"
"style" "3"
"color0" "53 38 16"
"color1" "17 17 17"
"color2" "164 163 152"
"color3" "37 51 13"
"phongintensity" "10"
"pattern_scale" "1.500000"
"pattern_offset_x_start" "0"
"pattern_offset_x_end" "1"
"pattern_offset_y_start" "0"
"pattern_offset_y_end" "1"
"pattern_rotate_start" "0"
"pattern_rotate_end" "360"
}

Как видите, финиш стайл у нас указан как "3", что соответствует Spray-Paint. Эта цифра является путем к папке с текстурами. То есть, в данном случае, это путь в папку

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials\models\weapons\customization\paints\spray

А мой скин выполнен в Custom Paint Job. Что соответствует цифре "7". Вообще, вот список цифр на финиш стайлы:
1 - Solid Color
2 - Hydrographic
3 - Spray-Paint
4 - Annodized
5 - Annodized Multicolored
6 - Annodized Airbrushed
7 - Custom Paint Job
8 - Patina
9 - Gunsmith
Так что, нам необходимо в первую очередь заменить "3" на "7". Но это не всё. Во-первых, нам нужно перенести в скрипт цифры из нашего сохраненного в Мастерской скрипта, а во-вторых, у каждого стиля своя структура скрипта. Самый простой метод - скопировать часть скрипта в Custom Paint Job и вставить в наш скрипт в Spray-Paint, удалив часть его скрипта. На примере это будет выделение всего скрипта, начиная со "style" "3" с полным удалением этого фрагмента, чтобы вставить такой же фрагмент от другого скрипта, начиная со "style" "7". Перепроверьте сходство с типичным custom-скриптом на наличие соответствия. Возможно, будут строчки, которые лишние. Например, "wear_default". Вот пример изменения скрипта:

"27"
{
"name" "sp_tape"
"description_string" "#PaintKit_sp_tape"
"description_tag" "#PaintKit_sp_tape_Tag"
"style" "7"
"pattern" "camo_tape_strips"
"pattern_scale" "1.000000"
"phongexponent" "180"
"phongintensity" "45"
"ignore_weapon_size_scale" "1"
"only_first_material" "0"
"pattern_offset_x_start" "0.000000"
"pattern_offset_x_end" "0.000000"
"pattern_offset_y_start" "0.000000"
"pattern_offset_y_end" "0.000000"
"pattern_rotate_start" "0.000000"
"pattern_rotate_end" "0.000000"
"wear_remap_min" "0.000000"
"wear_remap_max" "1.000000"
}

Далее открываем скрипт из Мастерской и корректируем цифры по нему. У меня он называется r8_veteran3.txt и выглядит вот так:

"workshop preview"
{
"style" "7"
"pattern" "E:\Games\CSGO\Skins\r8_veteran3.vtf"
"pattern_scale" "1.00"
"phongexponent" "191"
"phongintensity" "9"
"ignore_weapon_size_scale" "1"
"only_first_material" "0"
"pattern_offset_x_start" "0.00"
"pattern_offset_x_end" "0.00"
"pattern_offset_y_start" "0.00"
"pattern_offset_y_end" "0.00"
"pattern_rotate_start" "0.00"
"pattern_rotate_end" "0.00"
"wear_remap_min" "0.09"
"wear_remap_max" "0.90"
"dialog_config" "32,0,0,1"
}

Соответственно, после внесения изменений в файл items_game.txt, скрипт в нем примет вот такой вид:

"27"
{
"name" "sp_tape"
"description_string" "#PaintKit_sp_tape"
"description_tag" "#PaintKit_sp_tape_Tag"
"style" "7"
"pattern" "r8_veteran3"
"pattern_scale" "1.000000"
"phongexponent" "191"
"phongintensity" "9"
"ignore_weapon_size_scale" "1"
"only_first_material" "0"
"pattern_offset_x_start" "0.000000"
"pattern_offset_x_end" "0.000000"
"pattern_offset_y_start" "0.000000"
"pattern_offset_y_end" "0.000000"
"pattern_rotate_start" "0.000000"
"pattern_rotate_end" "0.000000"
"wear_remap_min" "0.090000"
"wear_remap_max" "0.900000"
}

Если у вас не Custom Paint Job, не забудьте изменить и цвета! Иначе, в игре скин будет отображаться некорректно! Фрагмент с цветами выглядит так:

"color0" "53 38 16"
"color1" "17 17 17"
"color2" "164 163 152"
"color3" "37 51 13"
Привязка нашей текстуры к игре
Скрипт мы изменили и можем сохранить его копию отдельно, чтобы потом не возвращаться к этой процедуре. Теперь обратим внимание, что в нашем скрипте указано имя текстуры как camo_tape_strips. Это оригинальное имя текстуры Костяной маски. Вы можете использовать другое имя, но не факт, что будет работать. Лучше привязаться к оригинальному имени из скрипта, если сомневаетесь, что правильно вписали имя вашей тексоуры. Так вот, идем в папку custom и кидаем туда нашу текстуру. В моем случае это r8_veteran3.vtf, меняя его имя на camo_tape_strips.vtf, или не меняя, но тогда точно укажите название в скрипте, без расширения .vtf. Если в вашем скрипте имя было указано как "workshop/имя", тогда кидайте в папку workshop в папке custom. Это касается всех финиш стайлов с их папками workshop. Собственно, всё.

Теперь запускаем игру, лезем в инвентарь и начинаем осматривать наши револьверы Костяная маска. Как видите, теперь уже скин изменен. Применяем любой из них и идем в игру тестить. Для скринов просто меняйте скины в инвентаре и всё. Всё будет работать.

Не забывайте возвращать обратно дефолтный файл items_game.txt! Будет очень неприятно, когда вас вышвырнет из ММ и вы получите временный бан.



Карты нормалей
Для того, чтобы внедрить карты нормалей, нужно добавить текстуру с нормалью в ту же папку, где и текстура скина, а так же указать в скрипте на нее путь по такой схеме:

"use_normal" "1"
"normal" "текстура_normal"
Продажность и меркантильность
В качестве благодарности, вы можете чекнуть мою Мастерскую и добавить в избранное все, что вам понравится
47 Comments
FCCS | IZOAIR 27 Dec, 2022 @ 6:19pm 
спасибо мен )))
MyLifeDeBaff 14 Mar, 2022 @ 10:41am 
Огромнейшее тебе спасибо, человек, создавший этот гайд, мне не передать всей благодарности, которую я хотел бы тебе передать, огромнейшее спасибо, премного благодарен!
N3M0 25 Dec, 2021 @ 2:19am 
спасибо
狐 Vika 12 Oct, 2021 @ 6:37pm 
Аригато, полезный гайд, всё работает
Lesli 2 Aug, 2021 @ 1:11am 
Спасибо
unidentified person 24 May, 2021 @ 4:58am 
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░██████╗░███████╗██████╗░░
░░██╗░░██╔══██╗██╔════╝██╔══██╗░
██████╗██████╔╝█████╗░░██████╔╝░
╚═██╔═╝██╔══██╗██╔══╝░░██╔═══╝░░
░░╚═╝░░██║░░██║███████╗██║░░░░░░
░░░░░░░╚═╝░░╚═╝╚══════╝╚═╝░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Спасибо за чтение! Пожалуйста, оцените, награждайте и добавляйте в избранное!
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2491511175
tnr 17 May, 2021 @ 11:42pm 
Рабочая схема. Можно даже не привязываться к оригинальному имени текстуры ширпа. Ну и да, нужно зайти сперва с ботами и только потом менять на свою пушку.
Marty 26 Apr, 2021 @ 7:03am 
Оформляю профиль на заказ:steamhappy:
Hexeth  [author] 21 Apr, 2021 @ 9:59am 
Все верно. Сначала смотрим в локальной игре с ботами, потом уже только инвентарь
Action 76 🦀 14 Nov, 2020 @ 10:44pm 
:steamhappy:
Спасибо за гайд)