Jump to content
Sign in to follow this  
The Honey Badger

Getting a prop to change its skin at 60 second intervals

Recommended Posts

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.

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,

Share this post


Link to post
Share on other sites

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.

Edited by Radix

Share this post


Link to post
Share on other sites

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

Edited by esspho

Share this post


Link to post
Share on other sites

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

(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?

Edited by The Honey Badger

Share this post


Link to post
Share on other sites

Here it is in context!

64326FECF225EA8991F04B27345C8F875720D78A

https://steamcommunity.com/sharedfiles/filedetails/?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!

Edited by The Honey Badger

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×