이 문서는 로봇이 나오는 공격과 웨이브를 직접 만드는 방법에 대하여 소개하는 문서이다.
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마리씩 넣어주면 조절에 도움이 된다. |
흑기사, 방망이 스카웃 등의 밀리 로봇 | 웨이브가 너무 허전하다 싶을 때 넣어주자. |
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 | 데모맨 | 전문가 | 일명 사무라이 데모 |
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 |
사족으로 해당 버그는 견본 변경, 병과 변경 등의 후에 해당 무기 슬롯에 데이터가 남아있어서 발생하는 버그이다.
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 사이즈여야 한다.