Help with control points

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
Hello, I've recently started to make maps for TF2, just about a month ago so forgive me if this has been asked before.

I was thinking of a gimmick for a KOTH map. Auxiliary control points or extra control points that won't affect the core gameplay of KOTH. These control points would for example open up some closed doors/routes to the team that captured it and close some to the opposite team, something like that.

I'm asking how can I do this I can't seem to make it possible.

side question: what does property name: "Time-based point value for RED/BLU" do on the team_control_point entity?


I also have a gamemode idea, it's similar to Lockdown from the game Spiral Knights where the two teams have to capture control points(3 or 5, depending on map) and for each cap the team has they get points in regular intervals depending on how many control points they own. The round ends when the timer runs out(highest scoring team wins) or one team reaches the point quota(500 or 900) then they win. If both teams exceed the point quota the higher scoring team wins e.g. 910 - 920 or 500 - 505.

Can this kind of gameplay be done?
 

henke37

aa
Sep 23, 2011
2,075
515
The biggest problem with the idea is that players don't like waiting. A close second is the need for a custom hud solution, but that's not too difficult to deal with.
 

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
I managed to make the extra control points work along with the KOTH point itself but when capping the extra points it prompts overtime when it shouldn't. How can I make it so that ONLY the KOTH point does overtime?

The biggest problem with the idea is that players don't like waiting. A close second is the need for a custom hud solution, but that's not too difficult to deal with.

The gamemode play style is similar to cp_standin but A LOT more fast paced, when you cap points it doesn't add time, just a static 8 minutes or so and all control points are already unlocked. You get 5 points every 5 second for each cap you own. Capture times will be MUCH shorter than that of cp_standin. The minimum time on a 5cp map would be 3 minutes and on a 3cp map ~2 minutes 40 seconds. (assuming if all the points are capped within the first 5 seconds of the round). So I don't think waiting would be a big issue unless if one team spawncamps the other team for most of the match. That's a problem with KOTH maps as well most notably Harvest. As for the HUD, I guess I can get around to that.
 

Coding Ethan

L2: Junior Member
Oct 12, 2014
93
109
I think both ideas can be done, it's just will it be fun?
TF2 is usually better with fast paced action.

For your first idea, you just need self-recursive cps that have outputs to doors, just make sure people cannot get trapped. What would the routes open up, flanking routes for the team to keep action up and the main point active?

For the second idea, I guess you could use game_win or whatever and trigger it when a math_counter reaches a certain number.
 

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
For your first idea, you just need self-recursive cps that have outputs to doors, just make sure people cannot get trapped. What would the routes open up, flanking routes for the team to keep action up and the main point active?

I did managed to get most of it working but only thing is that the extra control points prompt overtime, even when the main point doesn't. It can lead to people literally buying time. I haven't thought up of a map design just yet, I want to make sure the main elements are working 100% first.

For the second idea, I guess you could use game_win or whatever and trigger it when a math_counter reaches a certain number.

Could you elaborate on this a bit more? Since I'm not that good on how point entities should interact with each other to achieve this.
 

henke37

aa
Sep 23, 2011
2,075
515
It's quite obvious, math_counter to store the points, logic_compare to check for reaching the goal value, game_round_win to let the game know when its been won. You can use a logic_timer as the event source for updating the math_counters.
 

Coding Ethan

L2: Junior Member
Oct 12, 2014
93
109
It's quite obvious, math_counter to store the points, logic_compare to check for reaching the goal value, game_round_win to let the game know when its been won. You can use a logic_timer as the event source for updating the math_counters.

and then it is just getting the state of the cps.
 

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
Awesome! Things are working as intended now. Thanks for the help! :thumbup:

Although each control point interval times are independent of each of each other. it'll make stalemates a lot less common. Which I suppose is a good thing.

Last thing I need is the HUD, I'm thinking of mixing the CTF and a CP HUD together. Since the CTF HUD shows clearly how many points each team has and can also display the score limit. CP HUD well because of the control points. I know it can be done but I just have no idea on how to even begin making this.
 
Last edited:

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
I know it's been like a month but my question is related to the auxiliary/extra control points on a KOTH map, but instead of opening doors I was thing of unleashing an artillery/airstrike barrage on an area when a team caps that point. The barrage will only hurt the opposite team. How can I do that?

I did some snooping around and found tf_projectile_rocket, it's not in the entity list and obsolete(that guy though) but it still appears in the compiled map as a stationary rocket that explodes on contact, does no damage and can be airblasted (switching teams after airblasting deletes the entity and everything parented to it).

Still trying to get that Lockdown HUD too.
 

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
tf_point_weapon_mimic(or something along those lines) can shoot rockets, arrows, or grenades, with a lot of modifiable properties, which should help with what you're trying to achieve.

Awesome it works!:thumbup:
How can I make it so that when a team captures the point the rockets belong to that team. The wiki page for this entity it is unfortunately a stub.
 

chemelia

yndersn't
aa
May 11, 2014
406
619
The best way to solve that would be to have duplicates of them, one for each team, with different names. On the capture trigger, have outputs so that capping as Blu shoots the Blu team rockets, and capping as Red shoots the Red team rockets.
 

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
I've done that but the rockets still kill the team who own the point. That's what I was trying to say sorry for not making that clear. Rockets fired from both entities are of Crit colour blue. I set the always crit option to yes.
 

chemelia

yndersn't
aa
May 11, 2014
406
619
You need to set the team as Red or Blu in the properties(red rockets kill blue, and vice versa), rockets with no team set glow blue and damage both teams. You might need to have a filter_tf_team(or whatever it's called) for each team for it to work properly.
 

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
You need to set the team as Red or Blu in the properties(red rockets kill blue, and vice versa), rockets with no team set glow blue and damage both teams. You might need to have a filter_tf_team(or whatever it's called) for each team for it to work properly.

The tf_point_weapon_mimic entities don't have a "Team" property, so I'm a bit confused here.
 

Coding Ethan

L2: Junior Member
Oct 12, 2014
93
109
The tf_point_weapon_mimic entities don't have a "Team" property, so I'm a bit confused here.

I don't know if you could give a setTeam output to them from the cp when capped, if not, you could give them a short Ubercharge.
 

Poisontrigger

L1: Registered
Feb 13, 2015
17
2
There just isn't a team property or input at all, damn. As for giving them ubercharge it sounds fine at first but after thinking about it it can have unintended results of a battle. For example lets say a skirmish is going on between a Red soldier and Blue heavy. Heavy is very low HP, soldier fires rocket, Blue barrage gets called in, Heavy get ubercharged the moment the rocket hits him and Heavy is alive and kills the soldier afterwards. It should be that both of them die. It may sound like a such tiny issue but it just bothers me.

I also thought of making the rockets do no damage and instead have a trigger_hurt activate when the rockets hit but that would mean the rockets would only hit in one place, people will eventually learn those spots and completely avoid them. I could tie the tirgger_hurts on a func_movelinear or something but instead of a spot to avoid it would be an area. Pros being it is team controlled, cons it's predictable, also pyros(from both teams) can airblast the rockets making the trigger_hurt seem out of place and invoke a "WTF?" moment.

So in the end, I think I'll to go with the rockets killing everything, the battlefield would be more dynamic(There will be hiding houses to hide in!) and team communication is more important which in turn would make it less spamable. Downsides being, getting team killed.

Also another question what happens if I put a func_upgradestation in a non-MVM map? I'm quite curious about it's effects outside of MVM, will it be like that uber upgrade server plugin?

EDIT: Tried it out, the UI pops up for you to buy things but none of the things you try to buy actually apply to your character, it basically doesn't do anything. Do I need something else to make it work like in MVM?
 
Last edited: