1. Hey there Guest,

    The game servers have moved to semi-dedicated hardware and IPs have changed. Please see front page server widget for up-to-date game server information.

Contest warning: Overtime in CTF maps

Discussion in 'Contests' started by BrokenTripod, Aug 14, 2009.

  1. BrokenTripod

    BrokenTripod L5: Dapper Member

    Messages:
    248
    Positive Ratings:
    65
    This is just a friendly warning/reminder for all the people who are making CTF maps.

    Valve has implemented overtime that ends as soon as the intel has returned to the base, as long as it is not instantly picked up again. This is good for normal CTF maps. However, if you do not want overtime to last for hours in your A/D CTF map, here's some ideas on how to fix this problem:

    1. When time is up, block the pedestal so that the intel cannot be picked up instantly. This results in the round ending when the flag is returned.
    2. Add a func_respawnflag to your map that is activated when the timer hits 0. This results in the round ending when the flag is dropped.
    3. Add a func_respawnflag to PART of your map that is activated when the timer hits 0. This results in the round ending when the flag is dropped in this part of the map, but otherwise allows the round to continue. (Actually, this probably means that Blue can still stand at the pedestal and get infinite overtime).

    Each of these gives you a different type of overtime, use it wisely! Also, if you're concerned about Blue holding the flag indefinitely, please note that the CTF HUD means that Red will be able to track down the intel and kill the carrier.

    Hopefully this has been useful for everyone. Not sure if you want to sticky this or not.

    EDIT: I just realized that ideas # 2 and 3 have to be combined with something that prevents people from picking up the intel again. So, yeah, keep that in mind! Or do what eerie said to do.


    http://dl.getdropbox.com/u/55873/downloadmaps/ad_ctf_overtime_fix.zip

    Download that and copy/paste the intels, relays, and timer into your map if you're using Icarus's Attack/Defend CTF prefab.

    What this does: Ends the round as soon as the intel returns after overtime starts. Blue can push as many times as they want as long as they pick it up before the return timer ends.

    If you find any bugs with this system, PLEASE tell me. I'm sure it's possible to do it more efficiently. There's 1 condition and that is that at least 30 seconds pass from the end of the setup timer until overtime starts.

    EDIT: I apologize for not making this a prefab and with an installer and all that, but I was just so frustrated and relieved when I was done with testing that I don't think I can do anything else today.

    EDIT2: Obviously I have to thank ABS for assisting me with working out logically how to do this. I'm sure he could have done it flawlessly in about 5 seconds, though, haha, and with less entities.
     
    • Thanks Thanks x 2
    Last edited: Aug 18, 2009
  2. Psy

    aa Psy The Imp Queen

    Messages:
    1,705
    Positive Ratings:
    1,480
    But...overtime is often the most fun part of A/D. :(
     
  3. BrokenTripod

    BrokenTripod L5: Dapper Member

    Messages:
    248
    Positive Ratings:
    65
    Well, you'd still have it, but you don't want infinite overtime, do you?

    The thing is, the way it is now, Blue can get infinite overtime by pushing up with the intel, then having 1 person stand back to get the intel as soon as the return timer is up.

    I'm sure there's a way to completely remove it, but none of these fixes actually do that. They all allow the attacking team 1 more push.

    EDIT: At least one more push. Also, I haven't tried this in a map yet, but they SHOULD work..? I don't know if disabling stuff would work, so I didn't suggest it.
     
  4. eerieone

    aa eerieone

    Messages:
    1,009
    Positive Ratings:
    571
    i have my only intel teleporting to 2 teleports, 1st to a relay, then to the current flagspawn-point
    i can disable/kill the flagspawn-telepoint on timer0, so it will be teleported to a non-accessable area after the drop :)
     
  5. Artesia

    Artesia L6: Sharp Member

    Messages:
    278
    Positive Ratings:
    72
    here's an idea for another type, have a func_respawnflag that is disabled, and encompasses the entire map.

    make a logic_relay named "endovertime" or something similar, disabled at the start. (this relay could be replaced by Addoutput from the timer to the intel, if you know how to do that)

    on your intel add a output for Ondrop trigger endovertime
    on intel add an output for Onreturn enable the func_respawnflag

    when timer hits 0 enable endovertime

    endovertime when triggered enables the func_respawnflag

    finally make the intel inaccessible when time hits 0

    This will allow overtime until the intel is dropped or it returns naturally.


    Another idea would be to simply make the intel inaccessible, simply doing that will allow the attackers to drop and pickup the flag as much as they like, as long as they don't let it return. This is likely the best type of overtime imo, also one of the simplest


    How to make the intel inaccessible (the best way)
    Add a func_door under the intel (underground), that moves up and down, and when activated will move down far enough. On the intel (turn off smartedit) add the parameter parentname, and for its value type the name of the func_door. Now simply activate that door to move down when the timer hits 0, when the intel respawn, it will respawn below ground
     
  6. TMP

    aa TMP Abuser of Site Rules

    Messages:
    948
    Positive Ratings:
    554
    Sorry, having a func_respawnflag disabled over the entire map is BORING.

    Do it over the intel and parent it to it..
     
  7. Artesia

    Artesia L6: Sharp Member

    Messages:
    278
    Positive Ratings:
    72
    1. When time is up, block the pedestal so that the intel cannot be picked up instantly. This results in the round ending when the flag is returned.

    how about this be modified...

    when time is up, pedestal is blocked, 1:00 is added to the timer, and a new onendround or w/e is added to the timer, so that when it hits 0 this time, it enables the func_respawnflag (which can be parented to the intel as potato suggests), also an output is added to the intel when the time is changed to 1:00, which is onreturn it triggers victory for the defenders.

    this would give the attackers 1:00 to push as hard as they want, as long as the flag never returns. it also prevents them from trying to turtle by having the intel carrier sit behind sentries by blu's spawn or anything like that
     
    Last edited: Aug 14, 2009
  8. notalbanian

    notalbanian L1: Registered

    Messages:
    36
    Positive Ratings:
    15
    Why not just disable overtime?
     
  9. Micnax

    aa Micnax I maek map

    Messages:
    2,065
    Positive Ratings:
    1,522
    It's hardcoded, so you can't.

    Also:
    [​IMG]
     
    • Thanks Thanks x 1
    Last edited: Aug 14, 2009
  10. Artesia

    Artesia L6: Sharp Member

    Messages:
    278
    Positive Ratings:
    72
    you could disable it by using the func_respawnflag parented to the intel, and enabled when the timer reaches 0, its not really disabling it but should do it, dunno if the announcer would still say "overtime" or not.
     
  11. BrokenTripod

    BrokenTripod L5: Dapper Member

    Messages:
    248
    Positive Ratings:
    65
    Ugh, I just realized/looked up:

    "Added "func_respawnflag" trigger entity. It will remove & return the flag if a flag carrier touches it, or if the flag falls into it."

    So putting a respawnflag over your map would just make the round end instantaneously.

    I'm going to have to rewrite my first post tomorrow or something, because there's a lot of ways to do this and preserve the overtime effect for your map.
     
  12. BrokenTripod

    BrokenTripod L5: Dapper Member

    Messages:
    248
    Positive Ratings:
    65
    So I just spent the last couple of hours working and testing this stupid thing:

    http://dl.getdropbox.com/u/55873/downloadmaps/ad_ctf_overtime_fix.zip

    And yeah, that's a .vmf with the intels and timer and relays that I used to fix this problem. There's only 1 condition, and that is that the attacking team has > 30 seconds before overtime starts (If for some reason this isn't true for your map...oh god, what have you done)

    If you're using Icarus's attack defend CTF prefab, you can just replace all the entities and change whatever you want to change. If you don't feel like doing this, you can copy all the inputs and outputs from the timer and intels and the relays into your map.

    If you ever find a bug with this, please tell me so I can advise people NOT to use this and/or fix it, but I never really want to play with entities ever again.
     
  13. BrokenTripod

    BrokenTripod L5: Dapper Member

    Messages:
    248
    Positive Ratings:
    65
    CPC and Jonah just brought to my attention that this fix does NOT work for 4 point CTF maps where the points are in a line.

    I'm almost 100% sure I know why this is, so I'll have a fix up tonight. I'll want to test the new entities out with one of your maps, just to make sure it all works properly.

    Uh, in the meantime, sorry for forgetting about 4 point CTF maps =O

    When I'm done I'll update the first post with what to do and a new vmf.
     
    • Thanks Thanks x 1
  14. MangyCarface

    aa MangyCarface Mapper

    Messages:
    1,616
    Positive Ratings:
    1,309
    I ran into this problem in koth_aurora

    Ended up using math_counters + logic_timers to record koth time progression, then enabling a capturezone over the entire map on reaching 3 mins for either team