1. Forums
  2. Discord
  3. About Mapcore
  4. Patreon Supporters
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. Mapcore
  2. Discussions
  3. Level Design

Getting a prop to change its skin at 60 second intervals

  • The Honey Badger
  • January 22, 2019 at 2:09 PM
  • The Honey Badger
    • January 22, 2019 at 2:09 PM
    • #1

    Hi! I'm new to map making and I don't understand programming, I have a problem you might be able to help with:

    I have made a custom prop of a station platform sign.

    [Blocked Image: https://i.imgur.com/XKeeGle.jpg]

    I would like the clock at the bottom to update every minute.

    There are a total of 4 platforms, and 3 minutes ingame time to a round, hence this prop has 12 skins. (Essentially each platform destination info with 3 different clock times.)

    What I want to do is every 60 seconds, add +1 to the 'skin' value attribute on each of the prop entities. I can't find any examples of how to do this and am not smart enough to work out the programming from scratch, can anyone give clear instructions on how to do this? or failing that advice on a better method?

    Thanks,

  • Radix
    • January 22, 2019 at 3:15 PM
    • #2

    I guess it's Source Engine/CS:GO.

    So...

    1. Give your platform props a name (e.g. "clock1", "clock2", ...). If I got you right, you have 4 different skins for each minute. So set the 4 props up to use the skin you want them to use in the beginning.

    2. You will need some additional entities: logic_timer, math_counter, logic_case

    3. logic_timer: Set "Refire Interval" to 60 (=1 minute). Go to Outputs. Add a new output with the following parameters: On Timer/*name of the math_counter entity*/Add/1

    (Maybe you will need to activate this logic_timer entity at the start of each round via some kind of trigger/logic_auto)

    4. math_counter: Give it a name. Go to Outputs. Add a new output: OutValue/*name of the logic_case entity*/InValue

    5. logic_case: Give it a name. Case 01: 1; Case 02: 2, Go to Outputs. You will have to create 4 outputs for each case, because each prop uses a different skin at the given time (right?). OnCase01/clock1/Skin/1(*), OnCase01/clock2/Skin/2(*) and so on... (*= or whatever the number of the correct skin is)


    Maybe I missed something important, or there is an easier solution, but at least this will give you an idea how to make this...


    Edit: What I wrote before for the logic_case was wrong. It should be correct now.

  • esspho
    • January 22, 2019 at 3:17 PM
    • #3

    Hi!

    To do this, you would have to make an animated material (a vtf with multiple frames / the changing numbers on the clock). In the corresponding vmt (aka material script) you would set a "material proxie" named "AnimatedTexture". The animation itself would be triggered by an "env_texturetoggle" entity. You could then trigger that entity every 60 seconds.

    I hope that helps.


    edit:

    After reading your OP again I think you allready have made the different skins. So radix's method would be preferable, I guess

  • The Honey Badger
    • January 23, 2019 at 1:17 PM
    • #4

    Thanks very much Radix and esspho, (Yes its for csgo), I tried the method by Radix today which has worked!


    Although I'm struggling with the trigger start as the logic_timer starts within the round warm up instead of at the round start. It's not a major issue as it just means its 5 seconds off a minute of the round time.

    Quote

    Quote (Maybe you will need to activate this logic_timer entity at the start of each round via some kind of trigger/logic_auto) 

    What methods are there to get the timer to start at the round start and not during warmup?

  • esspho
    • January 23, 2019 at 10:16 PM
    • #5

    You could use a "logic_auto" with the output "OnMultiNewRound".

  • The Honey Badger
    • January 24, 2019 at 6:41 PM
    • #6

    Thanks esspho, I'll give that a try

  • The Honey Badger
    • February 9, 2019 at 12:52 PM
    • #7

    Here it is in context!

    [Blocked Image: https://steamuserimages-a.akamaihd.net/ugc/9597328926…5C8F875720D78A/]

    https://steamcommunity.com/sharedfiles/fi…/?id=1644959932

    Me and Gorb have been working on this map for 3 years in our spare time between other projects; its our first map. There is still a lot of work to do, as it stands it is a 'proof of concept'. The feedback so far has been very positive which is a 'confidence shot in the arm' so we are going to continue making improvements and fix issues!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login
Discord

The Mapcore Discord is our lively IRC channel of the 2000s reborn. Chat about level design, gaming, and more.

Latest Posts

  1. How to Use a Free Kundali Maker for Accurate Future Predictions

    astr09
    July 23, 2026 at 6:35 AM
  2. Tangerine

    Harry Poster
    July 18, 2026 at 11:10 AM
  3. Any of the old guard still around? D:

    Warby
    July 12, 2026 at 8:23 PM
  4. About our archived forums

    Thrik
    June 30, 2026 at 2:12 PM
  5. Mapcore Discord

    mason_fan123
    June 24, 2026 at 8:52 PM
  6. [CS2] Valley

    Serialmapper
    June 22, 2026 at 11:56 AM
  7. Free Music / SFX Resource - Over 2500 Tracks

    Eric Matyas
    June 18, 2026 at 12:32 PM
  8. Pango [WIP]

    Elowen
    June 11, 2026 at 10:13 AM
  9. [CS2] Dvina

    Jeremy Rivera
    June 11, 2026 at 10:03 AM
  10. Bridges 2.0 by NEXSIDE, MAP SHOWCASE. ( Steam Workshop )

    MrTrane18
    June 1, 2026 at 7:46 PM
  1. Privacy Policy
  2. Contact
Powered by WoltLab Suite™