최근 수정 시각 : 2023-04-29 03:12:25

Mann 대 기계 모드/커스텀

파일:상위 문서 아이콘.svg   상위 문서: Mann 대 기계 모드
이 문서는 로봇이 나오는 공격과 웨이브를 직접 만드는 방법에 대하여 소개하는 문서이다.

1. 처음 하는 사람들이 자주 실수하는 것
1.1. 봇의 최대수는 26명이다.1.2. 스나이퍼는 일반적으로 소환하면 조준과 발사를 하지 않는다.1.3. inverted_percentage 와 percentage의 차이
2. 간단한 기능
2.1. #base2.2. 설정
3. 릴레이들4. 스폰 장소 정리
4.1. Rottenburg
4.1.1. 탱크 경로
4.2. MannHattan
4.2.1. 처음4.2.2. A 게이트 점령후4.2.3. B 게이트 점령후
4.3. Decoy
4.3.1. 탱크 경로
5. 기본 문법
5.1. base5.2. 로봇스폰
5.2.1. WaveSpawn5.2.2. Mission
5.3. 유용한 배치
5.3.1. 쉬운 난이도5.3.2. 어려운 난이도
5.4. 로봇종류
5.4.1. 소형봇5.4.2. 중형봇
5.5. 로봇 만들기
6. 너무 어렵잖아!
6.1. 발생하는 오류/해결법
6.1.1. Attributes가 없다!6.1.2. 자이언트 게이트봇들이 작아졌다.6.1.3. 데모맨과 헤비 아이콘이 보라색이다.6.1.4. 로봇의 능력치가 뭔가 다른것 같다.6.1.5. 맨해튼에서 로봇들이 길을 못찾는 것 같다
7. 적용법8. 보너스
8.1. 커스텀 아이콘

1. 처음 하는 사람들이 자주 실수하는 것

1.1. 봇의 최대수는 26명이다.

그러나 커스텀 mvm 서버는 10명으로 늘려주는 소스모드 플러그인을 사용하기도 하는데[1]
이때는 22명이다. 즉 26마리가 동시에 나오게 설정했는데 10명으로 늘려주는 해당플긴을 사용했으면 안나오고 그 상태에서 공격이 진행되지 않는 버그가 발생한다.
또한 정말 드문 경우가 있는데. 버그로 가끔 10명 이상 들어와지기도 한다. 그렇다고 오버플로가 발생하는건 아니지만
22명이 최대로 나오게 된 로봇들마저도 안나온다. 그냥 이런 서버를 고려하여 20명정도로 해두는게 좋다.

1.2. 스나이퍼는 일반적으로 소환하면 조준과 발사를 하지 않는다.

Mission 을 이용해 소환하지 않고 Wavespawn등으로 소환해버리면 소총 따위는 장식이 된다.
하지만 헌츠맨이나 smg 라던지 자라테 라던지 근접무기등은 공격을 하기 때문에 보통 웨이브 봇으로 내보낼때는 이 무기들을 이용한다.

1.3. inverted_percentage 와 percentage의 차이

정말 많은사람이 실수 잘한다.
attributes을 넣을땐 저 둘을 잘 봐야 한다.

예를들어
faster reload rate (inverted)
move speed bonus (일반)
이라는 attributes가 있다.

faster reload rate 는 0.5로 해야 장전속도 50% 증가 되고
move speed bonus 는 1.5로 해야 이동속도가 50% 증가한다.
거꾸로

faster reload rate 를 1.5로 하면 장전속도 -50%증가가 된다. 즉 오히려 장전속도가 느려지는 것이다.
move speed bonus 를 0.5로 하면 이동속도 -50% 증가가 되고 오히려 이동속도가 50% 감소하게 된다.

2. 간단한 기능

2.1. #base

대충 C언어의 include와 같은 기능이다
즉 로봇의 기능과 종류들을 적어놓은 파일을 불러온다.
#base robot_giant.pop 자이언트 로봇들이 있는 파일. 치프도 포함된다.
#base robot_standard.pop 일반 로봇들이 있는 파일. 중형봇과 일반봇이 여기에 포함된다.
#base robot_gatebot.pop 점령봇들이 적혀있는 파일이다.

기본적으로는 이렇게 3개가 있다.

2.2. 설정

StartingCurrency (숫자)
시작시 주어지는 금액이다. 30000까지만 지정하는 것을 권장한다. 물론 0으로도[2] 가능하다. 주로 총 5공격 이상의 평범한 공격에서는 적게 준다면 400$, 많이 준다면 1500$ 정도까지 주는 편이다.

RespawnWaveTime (숫자)
로봇 플레이어인 봇이 스폰되는 시간을 조절하며, 이를 높게 잡으면 로봇이 나타나는 빈도가 줄어들어 미션의 난이도가 줄어든다.

CanBotsAttackWhileInSpawnRoom (yes/no)
로봇이 처음 스폰지점에서 스폰될 때 무적 상태에서 공격을 할 것인지를 결정한다. 모든 공식 난이도는 no로 설정되어 있으며, 만약 yes로 바꾸면 난이도가 많이 상승한다.

Advanced (0/1)
복무 난이도에서만 얻을 수 있는 도전과제인 내땅에서 꺼져, 까부수기 등의 도전과제를 활성화 할 것 인지에 관한 여부이다. 1로 하면 도전과제 습득이 가능하다. 0으로 하거나 적지 않으면 얻을 수 없다.

AddSentryBusterWhenDamageDealtExceeds (숫자)
AddSentryBusterWhenKillCountExceeds (숫자)

센트리 버스터가 언제 나오는지를 설정해준다.
AddSentryBusterWhenDamageDealtExceeds 은 얼마나 피해를 줘야 나오는지 설정이고 (쓰지 않았을 시엔 3000으로 설정되어있다.)
AddSentryBusterWhenKillCountExceeds 은 얼마나 로봇을 죽여야 나오는지 설정이다. (쓰지 않았을 시엔 15로 설정되어있다.)

3. 릴레이들

StartWaveOutput 해당 공격이 시작될때[3]
DoneOutput 해당 공격이 끝났을 때
InitWaveOutput 해당 공격이 불러와졌을 때 [4]
이렇게 나뉩니다.

Mannhattan 맵을 제외한 맵은 InitWaveOutput 릴레이가 필요 없고 자동으로 경로가 랜덤으로 정해지며 아무런 문제도 없이 정상적으로 공격이 진행됩니다.
하지만 Mannhattan 맵은 꼭 필요한데 안 하면 처음에 방향을 표시하는 이정표가 표시되지 않습니다.
또한 몇몇 관문로봇이 아닌 로봇들도 점령을 하려는 것 인지점령하는 위치에서 맴도는 버그가 발생합니다.
StartWaveOutput
wave_start_relay Rottenburg 맵을 제외한 모든 맵에서 사용된다.
wave_start_relay_classic Rottenburg 맵에서만 사용되는 릴레이이다.
wave_start_relay_ironman Rottenburg, MannWorks, Bigrock 에서만 사용되는 릴레이로 폭탄이 땅에 버려져서 30초가 지나면 원래 위치로 돌아간다.
wave_start_relay_666 Ghost Town 에서만 쓰이는 릴레이로 폭탄이 땅에 떨어지고 50초가 지나면 원래 자리로 돌아간다.
wave_start_relay_boss Bigrock 에서만 쓰이는 릴레이로 동굴안에 있는 즉사지대인 폭포로 떨어지는 부분을 벽으로 막아버린다.

DoneOutPut
wave_finished_relay 모든맵에서 작동한다.
wave_finished_relay_boss Bigrock 에서만 작동한다. wave_finished_relay_boss로 인해 닫힌 벽을 다시 열어주는 역할을 한다.

InitWaveOutput

4. 스폰 장소 정리

4.1. Rottenburg

좌측 절벽 우측 절벽
spawnbot flankers
spawnbot_mission_spy spawnbot_chief[5]
spawnbot_mission_sniper spawnbot_mission_sniper

4.1.1. 탱크 경로

tank_path_a_10 탱크 투입구에서 나와서 바리케이트를 부수고 성문을 나온후 탱크기준 왼쪽길로 간다.
tank_path_b_10 나머지는 위와 같으나 성문을 나오고 탱크기준 오른쪽길로 가서 가운데 있는 우회로를 탄다

4.2. MannHattan

4.2.1. 처음

캐리어 내부 2층
spawnbot_main0 spawnbot_mission_sniper0
spawnbot_main0_squad spawnbot_upper0

4.2.2. A 게이트 점령후

좌측 우측
spawnbot_mission_sniper1 spawnbot_main1
spawnbot_mission_sniper2 spawnbot_main1_slow
spawnbot_upper1

4.2.3. B 게이트 점령후

정면 우회로[6]
spawnbot_main2 spawnbot_main2_giants
spawnbot_upper2
spawnbot_mission_sniper3

4.3. Decoy

정면 좌측 건물[7] 우측 건물
spawnbot spawnbot_right spawnbot_left
spawnbot_single_flag spawnbot_mission_sniper
spawnbot_mission_spy
spawnbot_invasion

4.3.1. 탱크 경로

boss_path_1 평범하게 플레이어 기준 왼쪽길로 온다.

5. 기본 문법

드디어 설명이 끝나고 기본 문법이다!
작성은 yml 방식으로 되어있어 정말 간단하다.

5.1. base

#base robot_giant.pop
#base robot_standard.pop
#base robot_gatebot.pop

그냥 이렇게 적자.
하지만 Mannhattan 맵이 아니라면 robot_gatebot.pop은 빼놓아도 좋다.

5.2. 로봇스폰

벨브 파일에서 사용되지 않는 PeriodicSpawn 과 RandomPlacement는 서술하지 않습니다.

5.2.1. WaveSpawn

웨이브봇을 만든다. Suppot 1을 추가하여 지원처럼 쓸수도 있으나 이는 보통 무한으로 나오는 로봇용이지
스파이나 스나이퍼 대상으로는 쓰이지 않는다. [8]

5.2.2. Mission

스파이, 스나이퍼에게는 꼭 필요한 존재이다.
일반봇은 그저 공격밖에 못하지만
이 스포너로 스폰된 봇들은 하나의 목표를 가진다.
Sniper 스나질하고 접근하면 쿠크리로 마치 프로게이머같은 움직임을 보여주며 공격하는 스나이퍼의 습성을 가진다.
Spy 간첩질 시전하시는 스파이의 습성을 가진다.
DestroySentries 한 센트리를 노리고 그 센트리를 파괴하는걸 목적으로 하는 습성을 가진다.
Engineer 센트리, 텔레포터를 설치하는 역할을 한다[9]

형식은
Mission
{
Objective Sniper //위에서 보고 골라주자.
Where spawn_sniper_mission //어디에서 스폰될건지 스폰포인트 항목을 보고 골라주자
TeleportWhere spawnbot_single_flag //엔지니어에게서만 쓰인다. 어떤곳에서 스폰되는 로봇을 텔레포트 시킬것인지 정해준다.
BeginAtWave 4 //몇 웨이브부터 나올것인지 설정해준다.
RunForThisManyWaves 3 //몇 웨이브까지 나올것인지 설정해준다 현재는 4, 5, 6 웨이브에서 나온다.
InitialCooldown 30 //처음 시작하고 언제 나오게 할것인지 설정한다 (초단위)
CooldownTime 90 //처음 나오고 언제 다시 나올 수 있는 것인지 설정한다 (초단위)
DesiredCount 2 // 한번 스폰될때 몇마리가 나오는지 설정한다.
TFBot // 스폰되는 로봇
{
Class Sniper
Skill Hard
Name Sniper
}
}

5.3. 유용한 배치

실제 난이도 제작할 때 참고할만한 조합이다. 하지만 이런 조합만 넣는 것이 아니다. 거대봇 + 일반봇 + 탱크를 적절하게 조절하여 스폰시켜야 공식 못지않은 난이도를 만들어 낼 수 있다.

5.3.1. 쉬운 난이도

자이언트 + 빅힐메딕 자이언트 그냥 내보내기 찜찜하다 싶을 때 쓰자.
솔져(데모맨) + 우버메딕 전문가처럼 6~12마리씩 내보내는 미친짓은 하지말고 1~2마리씩 넣어주면 조절에 도움이 된다. 근데 20마리정도 쭉쭉 몰려오게 하면 제일 답없어지는 조합이다..
흑기사, 방망이 스카웃 등의 밀리 로봇 웨이브가 너무 허전하다 싶을 때 넣어주자.

5.3.2. 어려운 난이도

엔지니어 + 우버메딕 (퀵우버메딕) 한마디로 카오스 그러니까 대충 뭔상황이 벌어지냐면 데모맨이 크리점착 깔아서 처음 무리를 처리해도 보통 이런 조합은 지원에 쓰이기 때문에 계속나온다. 게다가 퀵우버면 우버마저도 다시 빨리 차기 때문에 문제다 게다가 그 텔레포터에서 나온 엔지니어 1~2마리를 놓혀서 텔포 설치후 그 텔포에서 다시 엔지+우버메딕이 나와서 우버상태로 위엄있게 걸어가 운없으면 끊을 수 없는 악순환에 빠진다.
탱크 + 스카웃계열 의외로 강력한조합. 탱크에 어그로 쏠리는순간 폭탄을 베이스로 미는 역할을 한다.[10] 딜레마의 상태로 강제로 밀어넣는다. 폭탄 포기하면 폭탄이 베이스로 가 있고.. 탱크 포기하고 폭탄막으면 탱크가 베이스로 가 있고..
탱크 + 스파이 이건 그 쉽다는 666에서도 검증되었다. 그 엄청난 돈무한 상태에서도 플레이어를 일격에 처리하는 스파이는 최고의 조합이다. 잠시 탱크 때리면 어느새 뒤에서 달라붙어 칼로 찌르려는 스파이가 나온다! 다만 파이로가 있으면 의외로 쉽게 막힌다.특히 구조대원 엔지에게 엄청난 암을 선사해 줄 수가 있다.
버프계열 솔져 부대지원의 경우 뭔짓거리를 해도 크리가 씹힌다. 덕분에 스나이퍼 헤드샷도 터지지 않는다[11] 35%데미지 저항도 있어서 정말 까다로워진다. 전복자는 속도를 빠르게 하고 우유효과로 인해 잘 죽지 않고 사기증진은 데미지를 2배로 만들어주는 데다 거리에 따른 피해량 감소가 사라져 맞으면 아파 죽을판. 물론 개중에서는 이 3개가 동시에 나오는게 있는데 답이없다.
스카웃을 제외한[12] 일반봇(중형봇) + 우버메딕 릴레이 10마리씩 정신없이 몰려오면 한마디로 지옥 특히 강철주먹의 경우 엄청난 극혐을 자랑한다.
전문가[13] 헤비러시 전문가 헤비의 별명이 2단 센트리 인데 이게 군단으로 몰려오면서 10~20마리씩 온다고 생각해보자. 한마디로 정신나간 DPS 를 자랑한다. 또 만약 이것들이 곳곳에 퍼지기라도 하는날엔? 그냥 360도 전방위로 총알 날아오는거다.
전문가 파이로 전문가로 해두면 어느 정도냐면 일단 직격포 로켓특화 풀개선[14]은 기본이오 조명총이나 우유 심지어 헌츠맨 화살까지도 붕붕이로 날려보낸다. 또 이녀석들 주변에 변장한 스파이가 있으면 불을 지펴봐 스파이 체크도 한다 게다가 크리를 주면 로켓이나 유탄을 붕붕이로 날려서 크리로 날려보낼수도 있다. 실제 사례로 로켓점프 하면서 로켓쏘다가 크리로 공중 격추당한 솔져도 있다.

5.4. 로봇종류

실제 파일에서는 분리되지 않는 중형봇도 구분되며 정렬은 적혀진 순서입니다.

5.4.1. 소형봇

템플릿 이름[15] 병과 기본 난이도[16] 간단한 설명
T_TFBot_Sniper 스나이퍼 어려움 매우 평범한 스나이퍼다. 2500유닛 너머를 볼 수 없다.
T_TFBot_Sniper_Razorback 스나이퍼 어려움 위의 스나이퍼와 같다. 단 레이저백을 착용하고 있다.
T_TFBot_Sniper_Sydney_Sleeper 스나이퍼 어려움 3000유닛너머를 볼 수 없고 시드니 마취총을 장착하여 고통을 주는 존재이다.
T_TFBot_Sniper_Huntsman 스나이퍼 어려움 위의 스나이퍼와달리 헌츠맨을 들고 있어 활발하게 헤드따고 다닌다. 단 데미지가 50% 감소한다.
T_TFBot_Scout_Melee 스카웃 어려움 일명 빠따캇으로 불리는 평범한 근접무기 스카웃이다.
T_TFBot_Scout_Fish 스카웃 쉬움 위와같으나 고등어이쿠를 들고 있다.
T_TFBot_Scout_Bonk 스카웃 어려움 근접무기를 사용하나 봉크 원자맛음료를 가지고 있다. 근데 이게 한번마시면 끝도 아니고 다시차면 또 먹는다. 즉 흐긴이나 로켓 없는데 봉크먹고 폭탄을 넣으려하면?
T_TFBot_Scout_Sandman 스카웃 어려움 샌드맨을 들고 있어 공으로 플레이어를 스턴시킨다.
T_TFBot_Scout_Sandman_FastCharge 스카웃 어려움 위와 비슷하다. 그런데 게이지가 훨씬 빨리찬다
T_TFBot_Scout_Jumping_Sandman 스카웃 어려움 점프높이가 2배이고 샌드맨공이 빨리차는 스카웃이다. 아마도 점프하면서 공날리게 해서 더 잘맞게 하는듯한데.... 글쎄..
T_TFBot_Scout_FAN 스카웃 전문가 자연에섭리를 장착한 스카웃이다. 특유의 넉백효과가 50%더 강해진다. 하지만 너무 강했던건지 35% 데미지가 낮아지고 장전속도가 60% 줄어들었다. 500유닛 너머를 볼 수 없다.
T_TFBot_Spy 스파이 전문가 아무런 특성도 없는 평범한 스파이다.
T_TFBot_Medic 메딕 일반 모든메딕은 주사기총 데미지가 90% 감소하기 때문에 얘도 예외없이 감소되어있다. 우버가 200% 더 빨리차며 힐속도가 500%증가한다.
T_TFBot_Medic_QuickUber 메딕 일반 우버차지가 500%더 빨리차서 한 4초만 지나면 다시 채워진다. 다만 힐속도가 90% 느려지고 우버차지가 5초만 지속된다.
T_TFBot_Medic_BigHeal 메딕 일반 응급처치를 사용하고 우버차지가 90% 느리게 차서 우버를 사용할 수 없다. 하지만 힐 속도가 1000% 늘어난다. 하지만 자이언트 메딕에 묻혀서 그냥 낮은 난이도에서만 쓰이시는 중인 듯 하다.
T_TFBot_Medic_QuickFix 메딕 쉬움 빅힐 메딕과 비슷하지만 우버를 충전하면 쓸 수 있고[17] 힐속도는 일반 응급처치와 같다.
T_TFBot_Medic_SlowRecharge 메딕 일반 T_TFBot_Medic 과 거의 비슷하나 우버가 훨씬 느리게 찬다.
T_TFBot_Heavyweapons_Heavyweight_Champ 헤비 쉬움 K.G.B 를 장착한 근접무기 헤비이다.
T_TFBot_Heavyweapons_Heavyweight_Champ_Fast 헤비 쉬움 G.R.U를 착용하고 있어 이속이 빠르고 죽음의 표식이 찍혀있는 근접무기 헤비이다.
T_TFBot_Heavyweapons_Shotgun 헤비 어려움 샷건을 장비한 헤비이다. 거의 즉시 장전을 끝낼 수 있고 데미지가 67% 더 낮으며 발사속도가 150% 느리지만 발사되는 탄환수가 300% 증가한다.
T_TFBot_Demoman 데모맨 쉬움 평범한 유탄을 사용하는 데모맨이다.
T_TFBot_Demoman_Knight 데모맨 어려움 아이렌더와 돌격방패를 낀 데모나이트이다. 딱히 특별한건 없지만 사살시 3초간 크리티컬을 받는다 [18]
T_TFBot_Demo_Burst 데모맨 전문가 장탄수가 2발뿐이지만 이 장탄을 한번에 파팍하고 날린다. 장전속도가 75% 느리고 3도의 편차를 가지고 거지포처럼 유탄이 퍼져나간다. 단일 개채로는 약하지만... 만약 군단으로 튀어나오면?
T_TFBot_Soldier_Buff_Banner 솔저 어려움 처음에 완전 충전된 사기증진 깃발을 달고오는 아무런 특이점 없는 솔저
T_TFBot_Soldier_Extended_Buff_Banner 솔저 노말 지속시간이 900%더 긴 완전 충전된 사기증진 깃발을 들고나온다.
T_TFBot_Soldier_Extended_Concheror 솔저 노말 지속시간이 900%더 긴 완전 충전된 전복자를 들고나온다.
T_TFBot_Soldier_Extended_Battalion 솔저 노말 지속시간이 900%더 긴 완전 충전된 부대지원을 들고나온다.
T_TFBot_Soldier_RocketPush 솔저 전문가 자유투사를 들고 있다. 장탄수가 3밖에 안되고 장전속도도 느리지만. 발사속도는 매우 빠르다. 데미지가 55% 더 낮다. 근데 이게 다가 아니라 만약 맞으면 운 좋으면 하늘로, 운 안 좋으면 맵 끝으로 날아간다.
T_TFBot_Soldier_RocketShotgun 솔저 일반 일명 블랙박스 솔저 장탄수는 3발인데 이 3발을 편차 2도로 동시에 날린다. 이 로켓 하나당 이녀석은 체력 80을 날로 받아먹는다. 이것만 보면 사기로 느껴지겠다만. 장전속도가 느려서 별 장점은 없다.
T_TFBot_Pyro 파이로 일반 매우 평범한 파이로이다. 주무기만 사용한다.
T_TFBot_Pyro_Flaregun 파이로 일반 조명총을 사용한다. 조명총이라 초반에 위험할거같지만 기본적으로는 명중률이 낮기 때문에 별로 강하진 않다.
T_TFBot_ScorchShot 파이로 전문가 항상 크리를 받고 있고 투사체 속도가 65% 느린 그슬린 한방을 사용한다. 근데 이래두면 별로 효과 없을거같은데? 할거같아서 말해둔다. 그슬린 한방이다 일단 무리로 한번 소환시켜두면 전체가 불타고 있는 기이한 현상이 발생되기도 한다. 킬은 못한다는게 함정
T_TFBot_ScorchShot_FastShot 파이로 전문가 아까 그 파이로랑 능력은 비슷한데 이름에 걸맞게 투사체 속도가 기본보다 오히려 30% 더 빠르다
T_TFBot_Engineer_Sentry_Teleporter 엔지니어 전문가 체력 500 처음 스폰될때 텔레포트로 들어오고 건물을 짓고 텔레포터도 짓는다.
T_TFBot_Engineer_Sentry_Battle_TeleIn 엔지니어 전문가 체력 275 텔레포트로 들어오고 텔레포터를 짓지 않는다.
T_TFBot_Engineer_Sentry_Teleporter 엔지니어 전문가 체력 275 텔레포트 하지 않고 텔레포터를 짓는다.
T_TFBot_Engineer_Sentry_Teleporter 엔지니어 전문가 체력 275 텔레포트 하지 않고 텔레포터를 짓지 않는다.



5.4.2. 중형봇

템플릿 이름[19] 병과 기본 난이도[20] 간단한 설명
T_TFBot_Sniper_Huntsman_Spammer 스나이퍼 어려움 스나이퍼중 최강의 로봇 왜그런지 궁금하면 얘한테 크리를 줘보자 체력은 1200에 발사속도가 40% 더 빠른 헌츠맨을 끼고 있는데. 헌츠맨 데미지 하향이 없다. 즉 헤드샷맞으면 그대로 헤드샷 데미지가 온다
T_TFBot_Scout_Shortstop 스카웃 쉬움 유격수를 장착한 중형봇이다. 체력은 650이며 이동속도가 25%더 빠르다
T_TFBot_Heavyweapons_Fist 헤비 어려움 일명 강철주먹으로 불리는 로봇이다. 체력 900에 강철주먹을 착용중이다.
T_TFBot_Heavy_IronFist_Airblast 헤비 전문가 강철주먹 강화판. 데미지가 50% 증가하고 강철주먹에 맞은 플레이어는 넉백당한다.
T_TFBot_Demoman_Samurai 데모맨 전문가 일명 사무라이 데모 바퀴벌레
방향 완전 제어가 가능한 차폐막과 반맹인 검객을 끼고 있다. 즉 킬 = 체력 50% 날로 회복 돌격시간이 2초 더 길고 돌격이 700% 더 빨리 차며 점프높이가 130% 더 높다. 10초마다 점프를 하고 이때만 돌격을 시작하는데... [21] 이 무빙이 경이로움을 뛰어넘는 화려한 무빙을 보여준다. 앞서 말했듯이 점프높이가 매우 높아져 공중에서 돌격을 해서 코앞으로 날아와 크리티컬로 당신의 목을 베어간다. [22]

5.5. 로봇 만들기

미션을 만들다 보면 자신이 넣고 싶은 로봇이 템플레이트에 없을 때가 많다. 이럴 땐 직접 로봇을 만들 수 있다. 특히나 많이 쓰일 로봇이라면 일일이 만드는 것보단 템플레이트를 만드는 게 좋다. 미션의 팝파일에서 Templates 안에 작성한다.

우선 자신이 원하는 로봇의 이름을 써주자. 예를 들어,
Bot_Medic_Kritzkrieg
{
}

이제 이 안에 이걸 넣어주면 된다.

Class는 로봇의 클래스를 결정한다. 영어이름 그대로 쓰면 되지만 헤비는 Heavyweapons이다.

ClassIcon은 HUD에 뜰 아이콘. 'leaderboard_class_아이콘이름' 이렇게 쓰여 있는 파일을 찾고 아이콘이름을 입력해주자. 자신이 직접 만들 수도 있다.

Health는 체력. 안 쓸 시 물론 기본체력으로 간다.

Scale은 크기. 보통 거대로봇은 1.8, 보스는 1.9로 놓는다.

Skill은 봇의 AI 레벨. Easy, Normal, Hard, Expert 순으로 좋아진다. 참고로 거대 로봇은 거의 다 Expert로 놓는다.

WeaponRestrictions는 무슨 슬롯의 무기만을 쓸 건지 결정한다. 안 쓰면 보통의 로봇은 주무기, 메딕은 보조 무기만을 이용한다. MeleeOnly, PrimaryOnly, SecondaryOnly가 있다.

Item은 봇이 들 아이템. 장식품, 무기 등을 장착하게 해 준다.

Attributes는 꽤나 다양한 종류가 있는데,
  • SpawnWithFullCharge - 메딕일 시 우버가, 솔저일 시 깃발이 가득 차 있는 상태로 등장한다.
  • AlwaysCrit - 항상 치명타. 당연히 난이도가 확 올라가며, HUD에서도 겉이 파란색으로 표시된다.
  • MiniBoss - 거대로봇을 만들 때 쓰인다. 이걸 설정 시 백스탭해도 즉사하지 않고, 도발하지 않는 등 거대로봇의 특성을 가진다.
  • IgnoreFlag - 폭탄을 보지 않고 플레이어를 공격한다.
  • IgnoreEnemies - 플레이어를 보지 않고 폭탄 옮기기에만 집중한다.
  • Agressive - 한 명의 적을 집요하게 쫓아간다.
  • AutoJump - 자동으로 점프한다. 이걸 설정할 시 AutoJumpMin과 AutoJumpMax도 설정해줘야 한다.
  • HoldFireUntilFullReload - 완전 재장전 전까지는 공격하지 않는다. 한번에 많은 수의 로켓/유탄을 뿌리고 싶다면 설정해주자.
  • SuppressFire - 발사하지 않는다.
  • AlwaysFireWeapon - 항상 공격한다. 파이로에서 특히 유용하다.
  • UseBossHealthBar - 화면에 이 로봇의 HP가 탱크처럼 표시된다. 보스를 만들 때 쓰인다.
  • VaccinatorBullets - 예방접종기 한정. 저항 타입을 탄환 저항으로 고정한다.
  • VaccinatorBlast - 위와 동일하나 폭발 저항.
  • VaccinatorFire - 위와 동일하나 화염 저항.
  • TeleportToHint - 엔지니어 한정. 맵에 설정된 자리로 텔레포트해 나타난다.
  • AirChargeOnly - 데모맨 한정. 공중에서만 돌진한다. AutoJump도 켜야 제대로 할 수 있다.
  • Parachute - 공중에서 고지 도약기를 편다. 역시 AutoJump가 있어야 제대로 된다
  • ProjectileShield - 로봇 메딕이 차단막을 킬 수 있게 한다. 등장하자마자 키게 하려면 SpawnWithFullCharge도 설정해줘야 한다. 그리고 ItemAttributes에서 "generate rage on heal" 1이라고 설정해주자.


6. 너무 어렵잖아!

그렇다 위의 작성법은 매우 힘들다.
그냥 저위의 방법은 거의 프로그래밍이나 마찬가지다. [23]

Loadout.tf 사이트 제작자가 만든
오류는 많지만 mvm.tf 라는 사이트가 존재한다.
UI도 심플하고 참 좋다만. 오류가 엄청나게 많다.
Loadout.tf 쪽과는 다르게 심심해서 만든거라 버그 고칠 의향도 없는듯하다.
그나마 파이어 폭스환경에서 나은데 그마저도 attributes가 너무 많으면 창이 잘려버린다.
게다가 그렇다고 화면을 줄여도 너무 많으면 안 보인다.

6.1. 발생하는 오류/해결법

6.1.1. Attributes가 없다!

이 사이트는 attributes 검색시 대소문자를 구분한다.
즉 Projectile speed increased를 이용하고 싶으면
Projectile 로 검색해야지
projectile 로 검색하면 안 나온다.

6.1.2. 자이언트 게이트봇들이 작아졌다.

해당 버그는 사이트 자체의 버그로
모든 게이트 점령 이벤트[24] 에 따라 변하는 능력치 수정 시스템을 만들어 뒀으나 만약 게이트봇 견본을 사용하고 그를 수정하기 않으면 해당 내용을 삭제하는 코드가 없어서 발생하는 듯 하다.
TFBot
{
Template T_TFGateBot_Giant_Soldier_Spammer
EventChangeAttributes
{
Default
{
}
RevertGateBotsBehavior
{
}
}
이런식으로 생긴 부분이 있을 것이다.
EventChangeAttributes와 그 아래부분을 지워서
TFBot
{
Template T_TFGateBot_Giant_Soldier_Spammer
}
이런 식으로 만들면 해결된다.

6.1.3. 데모맨과 헤비 아이콘이 보라색이다.

데모맨 아이콘이 demoman 으로 되어있고 헤비는 heavyweapons 로 되어있다.
간단하게 demo, heavy 로 바꾸자

6.1.4. 로봇의 능력치가 뭔가 다른것 같다.

Template T_TFBot_Sniper_Huntsman_Spammer
ItemAttributes
{
ItemName "the huntsman"
"fire rate bonus" 0.3
}
CharatorAttributes
{
"damage bonus" 2.0
}

이런식으로 이상한 부분을 찾자.
그리고 이렇게
Template T_TFBot_Sniper_Huntsman_Spammer
ItemAttributes와 CharatorAttributes를 지워버리면 된다.
사족으로 해당 버그는 견본 변경, 병과 변경 등의 후에 해당 무기 슬롯에 데이터가 남아있어서 발생하는 버그이다.

6.1.5. 맨해튼에서 로봇들이 길을 못찾는 것 같다


StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action Trigger
}

이렇게 된 부분을 찾자
그리고
StartWaveOutput
{
Target wave_start_relay
Action Trigger
}
DoneOutput
{
Target wave_finished_relay
Action Trigger
}
InitWaveOutput
{
Target holograms_3way_relay
Action Trigger
}
이렇게 고쳐버리자.

참고로 웨이브 수만큼 저렇게 고쳐줘야 한다.

7. 적용법

윈도우 64비트는
C:\\Program Files (x86)\\Steam\\SteamApps\\common\\Team Fortress 2\\tf\\scripts
폴더에

윈도우 32비트는
C:\\Program Files\\Steam\\SteamApps\\common\\Team Fortress 2\\tf\\scripts
에 들어가보자.

그다음에 그 안에 population라는 이름의 폴더를 하나 만들자.
그안에 mvm_맵이름_난이도_이름 의 형태로 이름을 바꿔서 파일을 넣어주자.

예시로
mvm_mannhattan_expert_plus
이러면 투표시 expert_plus 의 이름으로 나타나고
점수판엔 EXPERT PLUS 라고 나온다.

8. 보너스


Attributes 를 추가할 때
뭘 넣어야 할지 막막하면
여기를 참고하자
여기선 아이템으로 찾는 방법도 있기 때문에
특정무기에 있는 Attributes 를 추가할 때 유용하다

만일 영어가 안된다 싶으면
팀 포트리스 2 공식 위키에 항목이 존재한다 #
여기를 참고하자. 위의 사이트보다 기록되어있는 수는 적지만 설명도 들어있고 무엇보다 한글로 번역되어 있다.

8.1. 커스텀 아이콘

기존의 아이콘으로는 부족한게 참 많다.
하지만 개별적으로 아이콘을 만들면 해결된다.
재료는 vtfedit, 사용할 아이콘[25]

일단 서버장이라는 전제하에 이루어진다.
자신의 서버파일을 보면 materials 이라는 폴더가 있다는걸 확인할 수 있다.
들어가서 hud라는 폴더를 만들어주자
자 이제 VTFEdit을 실행하자
File 탭에 들어가서 Import를 실행하면 파일을 선택할 수 있다. 여기에서 원하는 아이콘 파일을 선택하자
그다음 뭐라뭐라 새창이 뜨는데 생략하고 Ok를 누르자
그다음 저장버튼을 누르자

이름을
leaderboard_class_원하는_이름
양식으로 설정하자

예시
leaderboard_class_that_demo
leaderboard_class_medic_krit

그다음 대충 원하는데 넣어주자
이 다음이 중요하다. 이 파일을 받아주자.
그다음 VTFEdit 으로 열어보면
"UnlitGeneric"
{
"$baseTexture" "hud\leaderboard_class_example"
"$vertexcolor" 1
"$no_fullbright" 1
"$ignorez" 1
"%keywords" "tf"
"$translucent" 1
}
라고 적혀있을 것이다.
이곳에서
"$baseTexture" "hud\leaderboard_class_example"
이부분을 아까 한 아이콘 이름으로 바꿔주자
"$baseTexture" "hud\leaderboard_class_that_demo"
같이 말이다.
그다음 저장아이콘 눌러주고 끄자.
이름도 아까 만든 아이콘 이름으로 만들어주자.
그다음 그 2개를 hud 폴더에 넣어주자.
웹쉐어등을 사용중이라면
똑같이 materials 폴더안에 hud 폴더를 만들어서 넣자.

사용법은 간단하다
leaderboard_class_that_demo
라면
ClassIcon that_demo
이렇게 불러올 수 있다.

다음은 예시파일과 사진이다.

적용사진
vtf파일
vmf파일

[1] 하기도 라고 했는데 사실 거의 모든 서버에서 사용한다. [2] 하지만 파고들기 라고도 뭐한게 자금을 0으로 맞춰두고 모든 공격에서 자금을 지급하지 않으며 적당한 난이도로 진행하는 커스텀 임무도 몇 존재한다 [3] 관리자가 카운트 다운을 모두 세고 침공이 시작될때 [4] 처음 공격 시작, 공격 종료후 다른공격으로 넘어갈때 [5] 공식임무에서 누커롯이 나올때 사용된 위치이다. [6] 사진상 B라고 써진 철문 왼쪽위의 철창 [7] 가려서 안 보여지나 양옆의 건물 [8] 스파이나 스나이퍼가 출현해도 관리자의 알림이 뜨지 않는다. [9] 일반적으로 스폰해도 텔포는 설치한다. 단 이쪽은 TeleportWhere 를 이용해 어떤곳에서 스폰되는 로봇을 텔레포트 시킬것인지 정할 수 있다. [10] 어렵게 만들고 싶으면 스카웃으로 밀어놓고 슈스캇 1~2마리정도 보내면 된다. 아니면 블래스터 솔져같은 푸시계열 로봇을 넣어보자. [11] 다만 헤드샷폭발은 터진다. [12] 스카웃의 경우는 스카웃이 빨라서 놓친다. [13] 하드도 효과 있다. [14] 직격포 기본 투사체 속도가 80% 증가인데 로켓특화 풀개선시 60%더 높아지므로 정신나간 속도다. [15] 실제 파일작성에 쓰이는 이름 [16] 에임실력, 붕붕이 성공도 등을 결정해준다. [17] 즉 처음에 우버가 없다. [18] 근데 별게 아닌게 킬하면 도발하느라 그 크리티컬을 날린다 (...) [19] 실제 파일작성에 쓰이는 이름 [20] 에임실력, 붕붕이 성공도 등을 결정해준다. [21] 다른 경우로 붕붕이등으로 강제로 띄워도 돌격한다. [22] 여담으로 이녀석들에게 항상 크리티컬 증진을 주면 지옥이 뭔지 확실하게 보여준다. [23] 뭐 사실 yml 방식이라 쉽긴하다만. 기초 문법도 모르는사람 입장에서는 힘들거다. [24] 뱀발로 이 관련 설정은 맵 제작자에 따라 다양하게 할 수 있으며 난이도 파일 작성에 에로사항이 꽃피겠지만 이를 이용해 다양한 봇들의 상태를 만들 수 있다. (예를들자면 특정 이벤트 발동시 모든 봇들이 크리티컬을 받는다던지, 맵에 있는 특정 버튼을 누르면 봇들의 능력치가 강화된다던지, 일정 간격마다 계속 보스의 능력치가 바뀐다던지 하는게 가능하다.) [25] 반드시 64px X 64px 사이즈여야 한다.