Overview
How get rollermine without shock attack on any map or through nova prospekt delivery her to city 17 Как создать мину роллер которая не имеет шоковой атаки на любой карте или через нова проспект доставить её к сити 17
Небольшие хитрости
Ничего сложного в этом нет, есть вещи которые труднее сделать что бы они корректно работали. Можно взять и пронести с собой через множество карт ту самую которую находим по сюжету на второй карте black mesa, но это займёт немало времени и надо проделать немалый путь даже до nova prospekt и на пятой карте нова проспект сами сможем спрыгнуть в разбитое окно а мина не пройдёт, её остановит невидимый барьер который никак не преодолеть. Этот барьер это Brushes и Physcollide. Brushes можно легко убрать, Physcollide как оказалось тоже. На самом деле мина не проходит только из за Physcollide. Там можно обойти в другом месте, если совсем неподалёку убрать slidingdoor, что бы это сделать достаточно открыть с помощью Notepad++ файл d2_prison_05.bsp который находится в папке maps и заменить слово slidingdoor например на slidingdool, правда это уберёт все имеющиеся такие двери решётки на этой карте, но их только 4 и они так расположены что их отсутствие почти никак не повлияет на основной порядок прохождения по сюжету. Или можно навести прицел на rollermine написать в консоли игры npc_select а затем посмотреть на то место в которое желаем её переместить, написать npc_teleport и она окажется там. Есть ещё команда консоли на непосредственное создание rollermine, ent_create npc_rollermine, но она будет со способностью к шоковой атаке и лучше так не делать 🙂 Эти два файла добавляют мину на 5 карту nova prospekt и убирают невидимую преграду в разбитом окне drive.google.com/open?id=1o2oKM6_gzsMn1aeYOv9vrvBno8y3IdAy Но если зайти на карту совсем без оружия то будет невозможно бороться с силами альянса, эти команды помогут: give item_suit, give weapon_physcannon, give weapon_crowbar, sk_plr_dmg_crowbar 50 Или можно попросту зайти сначала на предыдущую карту, причина того что при появлении игрока на этой карте у него нет с собой никакого оружия и даже костюма кроется не в этих файлах а в самой игре, точнее в отсутствии соответствующих global_newgame_spawner. Так можно пронести мину до самого телепорта
Собственно сам способ который оказался довольно простым
Надо установить или распаковать программу VIDE которую можно скачать здесь riintouge.com/VIDE, чуть позже мы ей воспользуемся и как оказалось без неё не обойтись в дальнейшем.
Для начала откроем интересующую карту в программе GCFScape и извлечём из папки lumps файл xx_xxx_xx_l_0.lmp, в данном случае d1_eli_01_l_0.lmp
Откройте этот файл в Notepad++ и вставьте код
Для карты map d1_eli_01 возьмите такой код
{
“origin” “-330 4360 -1330”
“targetname” “ball”
“spawnflags” “67588”
“startburied” “No”
“physdamagescale” “1.0”
“hintlimiting” “0”
“disablereceiveshadows” “0”
“disableshadows” “0”
“rendercolor” “255 255 255”
“renderamt” “255”
“rendermode” “0”
“renderfx” “0”
“angles” “0 192 0”
“classname” “npc_rollermine”
}
{
“origin” “-330 4360 -1330”
“TemplateName” “ball”
“CriterionDistance” “2”
“CriterionVisibility” “2”
“Radius” “256”
“MaxLiveChildren” “1”
“SpawnFrequency” “1”
“MaxNPCCount” “1”
“StartDisabled” “0”
“targetname” “maker_ball”
“spawnflags” “0”
“angles” “0 194 0”
“classname” “npc_template_maker”
}
Разумеется этот код придумал не я а просто взял из оригинального файла карты d1_eli_02, на которой игрок получает безобидную мину роллер, неспособную причинить какой либо вред или нанести малейший урон, и немного подправил.
Казалось бы теперь файл d1_eli_01_l_0.lmp готов к использованию, достаточно положить его в папку maps и запустить игру, но на самом деле если мы сейчас попробуем загрузить карту то игра крашанётся с показом сообщения об ошибке. Дело в том что первая строчка файла содержит некую сумму того что в нём имеется и произвольно меняя его содержимое мы приводим её к несоответствию и игра отказывается загрузить уровень, как раз из за надобности решить эту неожиданную проблему и появляется необходимость воспользоваться функционалом программы VIDE.
Теперь аккуратно, если вы всё сделали правильно и структуру файла не нарушили то запускаем эту программу, нажимаем на предпоследний значёк Entity Lump Editor и в появившемся окошке открываем наш файл. Вносим незначительное изменение и обратно меняем на первоначальное например вместо “rendercolor” “255 255 255” написать “rendercolor” “255 255 250” а затем снова “rendercolor” “255 255 255”, это делается для того что бы программа скорректировала первую строчку про которую я упомянул чуть выше и теперь карту можно будет спокойно загрузить без неприятных сюрпризов, закрываем окошко и нажимаем Save, на появившийся вопрос Specify custom lump size ? выбираем No. Можно ещё восвользоваться такой утилитой для корректировки которую можно взять здесь developer.valvesoftware.com/wiki/Lump_file_format
Для некоторых карт надо будет переименовать xx_xxx_xx_l_0.lmp на xx_xxx_xx_l_1.lmp потому что если открыть hl2_pak_dir.vpk с помощью программы GCFScape то в папке maps этого архива иногда в некоторых случаях уже будет иметься файл xx_xxx_xx_l_0.lmp И что бы увидеть изменения надо не загрузить сохранёную игру а начать карту заново.
Вот как выглядит код что бы мина роллер была не враждебна к игроку и обладала шоковой атакой, при приближении она будет убегать 🙂
{
“origin” “-330 4360 -1330”
“wakesquad” “0”
“sleepstate” “0”
“uniformsightdist” “1”
“squadname” “squad_rollermine”
“targetname” “rollermine”
“startburied” “No”
“physdamagescale” “1.0”
“spawnflags” “131589”
“rendercolor” “255 255 255”
“renderamt” “255”
“angles” “0 0 0”
“classname” “npc_rollermine”
}
{
“origin” “-330 4360 -1330”
“subject” “npc_rollermine”
“target” “!player”
“Reciprocal” “1”
“StartActive” “1”
“rank” “99”
“radius” “75”
“disposition” “2”
“targetname” “relationship_roller_vs_player_fear”
“classname” “ai_relationship”
}
Если написать в консоли sk_rollermine_shock 500 то она будет наносить намного больше урона своей шоковой атакой
Значения параметра disposition: 1 = hate, 2 = fear, 3 = like, 4 = neutral
Выбор места для спавна
Когда в игре нашли подходящее место где желаете что бы появилась мина то станьте на то место, напишите в консоли cl_showpos 1 и в верхнем правом углу будут показаны координаты позиции игрока pos: xxx xxx xxx, или можно написать getpos и тогда в самой консоли появятся те же самые координаты, эти координаты будут значением параметра origin вашего кода, это параметр расположения чего либо на карте. Узнать название текущей карты можно открыв консоль и в правом верхнем углу будет написано например Map d2_coast_12. Чтобы загрузить эту карту нипишите в консоли map d2_coast_12 или changelevel d2_coast_12. Если написать в консоли maps * то появится список всех имеющихся в игре карт. d1_trainstation это главы Прибытие и Великий день, d1_canals Через каналы и Водная преграда, d1_eli Восточная Чёрная Меза, d1_town Мы не ходим в Рейвенхольм, d2_coast Шоссе 17 и Песчаные ловушки, d2_prison Нова Проспект и Запутанность, d3_c17 Нарушитель номер один и За Фрименом!, d3_citadel Наши покровители и d3_breen Тёмная энергия. Мои значения параметра origin для некоторых карт:
Half-Life 2 map d1_eli_01 “origin” “-330 4360 -1330”
map d2_coast_05 “origin” “6200 -12050 1850”
map d2_prison_05 “origin” “1425 855 450”
map d2_prison_08 “origin” “-896 1295 1040”
map d3_c17_01 “origin” “-6705 -1242 64”
Half-Life 2 Episode One map ep1_c17_01 “origin” “4630 -360 -180”
Half-Life 2 Episode Two map ep2_outland_02 “origin” “-3150 -9330 -830”
map ep2_outland_06a “origin” “5050 50 -2400”
Доставка через телепорт
Как оказалось является возможным пронести мину через телепорт drive.google.com/open?id=1pV5_mmDaJFLMIbvflgU9j1IEzd7H6fnB
Now are possible walk with rollermine from east black mesa to citadel
without recompiling original maps
d2_prison_08
{
“classname” “info_landmark”
“targetname” “prison_to_c17”
“origin” “-896 1295 1000”
“hammerid” “9327”
}
{
“model” “*36”
“classname” “trigger_teleport”
“StartDisabled” “0”
“spawnflags” “1”
“origin” “128 8 1360”
“targetname” “teleport_end”
“target” “teleport_end_target”
“hammerid” “8983”
}
{
“classname” “info_target”
“angles” “0 0 0”
“targetname” “teleport_end_target”
“origin” “-896 1295 1040”
“hammerid” “8991”
}
d3_c17_01
{
“classname” “info_landmark”
“targetname” “prison_to_c17”
“origin” “-7250 -1436 -10”
“hammerid” “4317”
}
{
“model” “*28”
“classname” “trigger_teleport”
“spawnflags” “1”
“targetname” “teleport_to_lab”
“StartDisabled” “1”
“origin” “-7210 -1380 15”
“target” “teleport_end_target”
“hammerid” “4318”
}
{
“classname” “info_target”
“angles” “0 284 0”
“targetname” “teleport_end_target”
“origin” “-7202 -1164 24”
“hammerid” “4743”
}