이 문서는 로봇이 나오는 공격과 웨이브를 직접 만드는 방법에 대하여 소개하는 문서이다.
1. 처음 하는 사람들이 자주 실수하는 것
1.1. 봇의 최대수는 26명이다.
1.2. 스나이퍼는 일반적으로 소환하면 조준과 발사를 하지 않는다.
Mission 을 이용해 소환하지 않고 Wavespawn등으로 소환해버리면 소총 따위는 장식이 된다.
하지만 헌츠맨이나 smg 라던지 자라테 라던지 근접무기등은 공격을 하기 때문에 보통 웨이브 봇으로 내보낼때는 이 무기들을 이용한다.
하지만 헌츠맨이나 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% 감소하게 된다.
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로 설정되어있다.)
시작시 주어지는 금액이다. 30000까지만 지정하는 것을 권장한다. 물론 0으로도[2] 가능하다. 주로 총 5공격 이상의 평범한 공격에서는 적게 준다면 400$, 많이 준다면 1500$ 정도까지 주는 편이다.
RespawnWaveTime (숫자)
로봇 플레이어인 봇이 스폰되는 시간을 조절하며, 이를 높게 잡으면 로봇이 나타나는 빈도가 줄어들어 미션의 난이도가 줄어든다.
CanBotsAttackWhileInSpawnRoom (yes/no)
로봇이 처음 스폰지점에서 스폰될 때 무적 상태에서 공격을 할 것인지를 결정한다. 모든 공식 난이도는 no로 설정되어 있으며, 만약 yes로 바꾸면 난이도가 많이 상승한다.
Advanced (0/1)
복무 난이도에서만 얻을 수 있는 도전과제인 내땅에서 꺼져, 까부수기 등의 도전과제를 활성화 할 것 인지에 관한 여부이다. 1로 하면 도전과제 습득이 가능하다. 0으로 하거나 적지 않으면 얻을 수 없다.
AddSentryBusterWhenDamageDealtExceeds (숫자)
AddSentryBusterWhenKillCountExceeds (숫자)
센트리 버스터가 언제 나오는지를 설정해준다.
AddSentryBusterWhenDamageDealtExceeds 은 얼마나 피해를 줘야 나오는지 설정이고 (쓰지 않았을 시엔 3000으로 설정되어있다.)
AddSentryBusterWhenKillCountExceeds 은 얼마나 로봇을 죽여야 나오는지 설정이다. (쓰지 않았을 시엔 15로 설정되어있다.)
3. 릴레이들
이렇게 나뉩니다.
Mannhattan 맵을 제외한 맵은 InitWaveOutput 릴레이가 필요 없고 자동으로 경로가 랜덤으로 정해지며 아무런 문제도 없이 정상적으로 공격이 진행됩니다.
하지만 Mannhattan 맵은 꼭 필요한데 안 하면 처음에 방향을 표시하는 이정표가 표시되지 않습니다.
또한 몇몇 관문로봇이 아닌 로봇들도 점령을 하려는 것 인지점령하는 위치에서 맴도는 버그가 발생합니다.
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[8]
|
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 게이트 점령후
4.3. Decoy
정면
| 우측 건물
| |
spawnbot
| spawnbot_right
| spawnbot_left
|
spawnbot_single_flag
| spawnbot_mission_sniper
| |
spawnbot_mission_spy
| ||
spawnbot_invasion
| ||
4.3.1. 탱크 경로
boss_path_1
| 평범하게 플레이어 기준 왼쪽길로 온다.
|
5. 기본 문법
드디어 설명이 끝나고 기본 문법이다!
작성은 yml 방식으로 되어있어 정말 간단하다.
작성은 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
5.2.2. Mission
스파이, 스나이퍼에게는 꼭 필요한 존재이다.
일반봇은 그저 공격밖에 못하지만
이 스포너로 스폰된 봇들은 하나의 목표를 가진다.
일반봇은 그저 공격밖에 못하지만
이 스포너로 스폰된 봇들은 하나의 목표를 가진다.
Sniper
| 스나질하고 접근하면 쿠크리로 마치 프로게이머같은 움직임을 보여주며 공격하는 스나이퍼의 습성을 가진다.
|
Spy
| 간첩질 시전하시는 스파이의 습성을 가진다.
|
DestroySentries
| 한 센트리를 노리고 그 센트리를 파괴하는걸 목적으로 하는 습성을 가진다.
|
Engineer
| 센트리, 텔레포터를 설치하는 역할을 한다[15]
|
형식은
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. 어려운 난이도
엔지니어 + 우버메딕 (퀵우버메딕)
| |
탱크 + 스카웃계열
| |
탱크 + 스파이
| 이건 그 쉽다는 666에서도 검증되었다. 그 엄청난 돈무한 상태에서도 플레이어를 일격에 처리하는 스파이는 최고의 조합이다. 잠시 탱크 때리면 어느새 뒤에서 달라붙어 칼로 찌르려는 스파이가 나온다! 다만 파이로가 있으면 의외로 쉽게 막힌다.
|
버프계열 솔져
| |
스카웃을 제외한[21] 일반봇(중형봇) + 우버메딕 릴레이
| 10마리씩 정신없이 몰려오면 한마디로 지옥 특히 강철주먹의 경우 엄청난 극혐을 자랑한다.
|
전문가[23] 헤비러시
| 전문가 헤비의 별명이 2단 센트리 인데 이게 군단으로 몰려오면서 10~20마리씩 온다고 생각해보자. 한마디로 정신나간 DPS 를 자랑한다. 또 만약 이것들이 곳곳에 퍼지기라도 하는날엔? 그냥 360도 전방위로 총알 날아오는거다.
|
전문가 파이로
| 전문가로 해두면 어느 정도냐면 일단 직격포 로켓특화 풀개선[25]은 기본이오 조명총이나 우유 심지어 헌츠맨 화살까지도 붕붕이로 날려보낸다. 또 이녀석들 주변에 변장한 스파이가 있으면 불을 지펴봐 스파이 체크도 한다 게다가 크리를 주면 로켓이나 유탄을 붕붕이로 날려서 크리로 날려보낼수도 있다. 실제 사례로 로켓점프 하면서 로켓쏘다가 크리로 공중 격추당한 솔져도 있다.
|
5.4. 로봇종류
실제 파일에서는 분리되지 않는 중형봇도 구분되며 정렬은 적혀진 순서입니다.
5.4.1. 소형봇
템플릿 이름[28]
| 병과
| 기본 난이도[29]
| 간단한 설명
|
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
| 메딕
| 쉬움
| 빅힐 메딕과 비슷하지만 우버를 충전하면 쓸 수 있고[31] 힐속도는 일반 응급처치와 같다.
|
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초간 크리티컬을 받는다 [33]
|
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. 중형봇
템플릿 이름[36]
| 병과
| 기본 난이도[37]
| 간단한 설명
|
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는 꽤나 다양한 종류가 있는데,
우선 자신이 원하는 로봇의 이름을 써주자. 예를 들어,
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. 너무 어렵잖아!
그렇다 위의 작성법은 매우 힘들다.
그냥 저위의 방법은 거의 프로그래밍이나 마찬가지다. [44]
Loadout.tf 사이트 제작자가 만든
오류는 많지만 mvm.tf 라는 사이트가 존재한다.
UI도 심플하고 참 좋다만. 오류가 엄청나게 많다.
Loadout.tf 쪽과는 다르게 심심해서 만든거라 버그 고칠 의향도 없는듯하다.
그나마 파이어 폭스환경에서 나은데 그마저도 attributes가 너무 많으면 창이 잘려버린다.
게다가 그렇다고 화면을 줄여도 너무 많으면 안 보인다.
그냥 저위의 방법은 거의 프로그래밍이나 마찬가지다. [44]
Loadout.tf 사이트 제작자가 만든
오류는 많지만 mvm.tf 라는 사이트가 존재한다.
UI도 심플하고 참 좋다만. 오류가 엄청나게 많다.
Loadout.tf 쪽과는 다르게 심심해서 만든거라 버그 고칠 의향도 없는듯하다.
그나마 파이어 폭스환경에서 나은데 그마저도 attributes가 너무 많으면 창이 잘려버린다.
게다가 그렇다고 화면을 줄여도 너무 많으면 안 보인다.
6.1. 발생하는 오류/해결법
6.1.1. Attributes가 없다!
이 사이트는 attributes 검색시 대소문자를 구분한다.
즉 Projectile speed increased를 이용하고 싶으면
Projectile 로 검색해야지
projectile 로 검색하면 안 나온다.
즉 Projectile speed increased를 이용하고 싶으면
Projectile 로 검색해야지
projectile 로 검색하면 안 나온다.
6.1.2. 자이언트 게이트봇들이 작아졌다.
해당 버그는 사이트 자체의 버그로
모든 게이트 점령 이벤트[45] 에 따라 변하는 능력치 수정 시스템을 만들어 뒀으나 만약 게이트봇 견본을 사용하고 그를 수정하기 않으면 해당 내용을 삭제하는 코드가 없어서 발생하는 듯 하다.
모든 게이트 점령 이벤트[45] 에 따라 변하는 능력치 수정 시스템을 만들어 뒀으나 만약 게이트봇 견본을 사용하고 그를 수정하기 않으면 해당 내용을 삭제하는 코드가 없어서 발생하는 듯 하다.
TFBot
{ Template T_TFGateBot_Giant_Soldier_Spammer
EventChangeAttributes { Default
{ } RevertGateBotsBehavior { } }
|
이런식으로 생긴 부분이 있을 것이다.
EventChangeAttributes와 그 아래부분을 지워서
EventChangeAttributes와 그 아래부분을 지워서
TFBot
{ Template T_TFGateBot_Giant_Soldier_Spammer
}
|
이런 식으로 만들면 해결된다.
6.1.3. 데모맨과 헤비 아이콘이 보라색이다.
데모맨 아이콘이 demoman 으로 되어있고 헤비는 heavyweapons 로 되어있다.
간단하게 demo, heavy 로 바꾸자
간단하게 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비트는
윈도우 32비트는
C:\Program Files\Steam\SteamApps\common\Team Fortress 2\tf\scripts
|
에 들어가보자.
그다음에 그 안에 population라는 이름의 폴더를 하나 만들자.
그안에 mvm_맵이름_난이도_이름 의 형태로 이름을 바꿔서 파일을 넣어주자.
예시로
mvm_mannhattan_expert_plus
이러면 투표시 expert_plus 의 이름으로 나타나고
점수판엔 EXPERT PLUS 라고 나온다.
그다음에 그 안에 population라는 이름의 폴더를 하나 만들자.
그안에 mvm_맵이름_난이도_이름 의 형태로 이름을 바꿔서 파일을 넣어주자.
예시로
mvm_mannhattan_expert_plus
이러면 투표시 expert_plus 의 이름으로 나타나고
점수판엔 EXPERT PLUS 라고 나온다.
8. 보너스
8.1. 커스텀 아이콘
기존의 아이콘으로는 부족한게 참 많다.
하지만 개별적으로 아이콘을 만들면 해결된다.
재료는 vtfedit, 사용할 아이콘[46]
일단 서버장이라는 전제하에 이루어진다.
자신의 서버파일을 보면 materials 이라는 폴더가 있다는걸 확인할 수 있다.
들어가서 hud라는 폴더를 만들어주자
자 이제 VTFEdit을 실행하자
File 탭에 들어가서 Import를 실행하면 파일을 선택할 수 있다. 여기에서 원하는 아이콘 파일을 선택하자
그다음 뭐라뭐라 새창이 뜨는데 생략하고 Ok를 누르자
그다음 저장버튼을 누르자
이름을
leaderboard_class_원하는_이름
양식으로 설정하자
예시
leaderboard_class_that_demo
leaderboard_class_medic_krit
그다음 대충 원하는데 넣어주자
이 다음이 중요하다. 이 파일을 받아주자.
그다음 VTFEdit 으로 열어보면
하지만 개별적으로 아이콘을 만들면 해결된다.
재료는 vtfedit, 사용할 아이콘[46]
일단 서버장이라는 전제하에 이루어진다.
자신의 서버파일을 보면 materials 이라는 폴더가 있다는걸 확인할 수 있다.
들어가서 hud라는 폴더를 만들어주자
자 이제 VTFEdit을 실행하자
File 탭에 들어가서 Import를 실행하면 파일을 선택할 수 있다. 여기에서 원하는 아이콘 파일을 선택하자
그다음 뭐라뭐라 새창이 뜨는데 생략하고 Ok를 누르자
그다음 저장버튼을 누르자
이름을
leaderboard_class_원하는_이름
양식으로 설정하자
예시
leaderboard_class_that_demo
leaderboard_class_medic_krit
그다음 대충 원하는데 넣어주자
이 다음이 중요하다. 이 파일을 받아주자.
그다음 VTFEdit 으로 열어보면
"UnlitGeneric"
{ "$baseTexture" "hudleaderboard_class_example"
"$vertexcolor" 1 "$no_fullbright" 1 "$ignorez" 1 "%keywords" "tf" "$translucent" 1 }
|
라고 적혀있을 것이다.
이곳에서
이곳에서
"$baseTexture" "hudleaderboard_class_example"
|
이부분을 아까 한 아이콘 이름으로 바꿔주자
"$baseTexture" "hudleaderboard_class_that_demo"
|
[1] 하기도 라고 했는데 사실 거의 모든 서버에서 사용한다.[2] 하지만 파고들기 라고도 뭐한게 자금을 0으로 맞춰두고 모든 공격에서 자금을 지급하지 않으며 적당한 난이도로 진행하는 커스텀 임무도 몇 존재한다[3] 관리자가 카운트 다운을 모두 세고 침공이 시작될때[4] 관리자가 카운트 다운을 모두 세고 침공이 시작될때[5] 처음 공격 시작, 공격 종료후 다른공격으로 넘어갈때[6] 처음 공격 시작, 공격 종료후 다른공격으로 넘어갈때[7] 공식임무에서 누커롯이 나올때 사용된 위치이다.[8] 공식임무에서 누커롯이 나올때 사용된 위치이다.[9] 사진상 B라고 써진 철문 왼쪽위의 철창[10] 사진상 B라고 써진 철문 왼쪽위의 철창[11] 가려서 안 보여지나 양옆의 건물[12] 가려서 안 보여지나 양옆의 건물[13] 스파이나 스나이퍼가 출현해도 관리자의 알림이 뜨지 않는다.[14] 일반적으로 스폰해도 텔포는 설치한다. 단 이쪽은 TeleportWhere 를 이용해 어떤곳에서 스폰되는 로봇을 텔레포트 시킬것인지 정할 수 있다.[15] 일반적으로 스폰해도 텔포는 설치한다. 단 이쪽은 TeleportWhere 를 이용해 어떤곳에서 스폰되는 로봇을 텔레포트 시킬것인지 정할 수 있다.[16] 어렵게 만들고 싶으면 스카웃으로 밀어놓고 슈스캇 1~2마리정도 보내면 된다. 아니면 블래스터 솔져같은 푸시계열 로봇을 넣어보자.[17] 어렵게 만들고 싶으면 스카웃으로 밀어놓고 슈스캇 1~2마리정도 보내면 된다. 아니면 블래스터 솔져같은 푸시계열 로봇을 넣어보자.[18] 다만 헤드샷폭발은 터진다.[19] 다만 헤드샷폭발은 터진다.[20] 스카웃의 경우는 스카웃이 빨라서 놓친다.[21] 스카웃의 경우는 스카웃이 빨라서 놓친다.[22] 하드도 효과 있다.[23] 하드도 효과 있다.[24] 직격포 기본 투사체 속도가 80% 증가인데 로켓특화 풀개선시 60%더 높아지므로 정신나간 속도다.[25] 직격포 기본 투사체 속도가 80% 증가인데 로켓특화 풀개선시 60%더 높아지므로 정신나간 속도다.[26] 실제 파일작성에 쓰이는 이름[27] 에임실력, 붕붕이 성공도 등을 결정해준다.[28] 실제 파일작성에 쓰이는 이름[29] 에임실력, 붕붕이 성공도 등을 결정해준다.[30] 즉 처음에 우버가 없다.[31] 즉 처음에 우버가 없다.[32] 근데 별게 아닌게 킬하면 도발하느라 그 크리티컬을 날린다 (...)[33] 근데 별게 아닌게 킬하면 도발하느라 그 크리티컬을 날린다 (...)[34] 실제 파일작성에 쓰이는 이름[35] 에임실력, 붕붕이 성공도 등을 결정해준다.[36] 실제 파일작성에 쓰이는 이름[37] 에임실력, 붕붕이 성공도 등을 결정해준다.[38] 다른 경우로 붕붕이등으로 강제로 띄워도 돌격한다.[39] 여담으로 이녀석들에게 항상 크리티컬 증진을 주면 지옥이 뭔지 확실하게 보여준다.[40] 다른 경우로 붕붕이등으로 강제로 띄워도 돌격한다.[41] 여담으로 이녀석들에게 항상 크리티컬 증진을 주면 지옥이 뭔지 확실하게 보여준다.[42] 다른 경우로 붕붕이등으로 강제로 띄워도 돌격한다.[43] 여담으로 이녀석들에게 항상 크리티컬 증진을 주면 지옥이 뭔지 확실하게 보여준다.[44] 뭐 사실 yml 방식이라 쉽긴하다만. 기초 문법도 모르는사람 입장에서는 힘들거다.[45] 뱀발로 이 관련 설정은 맵 제작자에 따라 다양하게 할 수 있으며 난이도 파일 작성에 에로사항이 꽃피겠지만 이를 이용해 다양한 봇들의 상태를 만들 수 있다. (예를들자면 특정 이벤트 발동시 모든 봇들이 크리티컬을 받는다던지, 맵에 있는 특정 버튼을 누르면 봇들의 능력치가 강화된다던지, 일정 간격마다 계속 보스의 능력치가 바뀐다던지 하는게 가능하다.)[46] 반드시 64px X 64px 사이즈여야 한다.