riki2321 Posted September 27, 2015 I need a countdown (6 minutes) the player gets killed at 0 seconds 0 Share this post Link to post
scifista42 Posted September 27, 2015 Put this script to the SCRIPTS window:#include "zcommon.acs" script 1 ENTER { Delay(12600); // 1 tic = 1/35 second, 35 tics = 1 second, 2100 tics = 1 minute, and 12600 tics = 6 minutes DamageThing(10000,0); // Deal 10000 damage to the player } Reference: http://zdoom.org/wiki/ACS http://zdoom.org/wiki/Delay http://zdoom.org/wiki/DamageThing The code above only handles the killing after 6 minutes, not any visible countdown. If you want visible second-by-second countdown, keep it in an integer variable and print it via HudMessage in regular intervals with Delay(35) between them. 0 Share this post Link to post
riki2321 Posted September 27, 2015 scifista42 said:Put this script to the SCRIPTS window:#include "zcommon.acs" script 1 ENTER { Delay(12600); // 1 tic = 1/35 second, 35 tics = 1 second, 2100 tics = 1 minute, and 12600 tics = 6 minutes DamageThing(10000,0); // Deal 10000 damage to the player } Reference: http://zdoom.org/wiki/ACS http://zdoom.org/wiki/Delay http://zdoom.org/wiki/DamageThing The code above only handles the killing after 6 minutes, not any visible countdown. If you want visible second-by-second countdown, print it via HudMessage in regular intervals with Delay(35) between them. Ok so i made this #include "zcommon.acs" script 1 ENTER { Delay(12600); // 1 tic = 1/35 second, 35 tics = 1 second, 2100 tics = 1 minute, and 12600 tics = 6 minutes DamageThing(10000,0); // Deal 10000 damage to the player } script 2 ENTER { HudMessage(s:"A bomb has been set up. You gotta get out!"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"5:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"4:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"3:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"2:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"1:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"0:50 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"0:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); } 0 Share this post Link to post
Gez Posted September 27, 2015 riki2321 said:HudMessage(s:"1:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"0:50 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"0:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); There are actually 60 seconds in a minute, not 100. Half a minute is 0:30. :p You can do both with a single script, by the way: script 1 ENTER { HudMessage(s:"A bomb has been set up. You gotta get out!"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"5:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"4:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"3:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"2:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"1:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"0:30 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"Too late now!"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); DamageThing(10000,0); // Deal 10000 damage to the player }Or you can even do it this way:script 1 ENTER { int timer = 6*60*35; while (timer > 0) { int seconds = timer / 35; int minutes = seconds / 60; seconds %= 60; HudMessage(d:minutes, s:":", d:seconds, s:" left!"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3); Delay(35); } DamageThing(10000,0); // Deal 10000 damage to the player } 0 Share this post Link to post
riki2321 Posted September 27, 2015 Gez said:There are actually 60 seconds in a minute, not 100. Half a minute is 0:30. :p You can do both with a single script, by the way: script 1 ENTER { HudMessage(s:"A bomb has been set up. You gotta get out!"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"5:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"4:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"3:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"2:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(2100); HudMessage(s:"1:00 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"0:30 left"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); Delay(1050); HudMessage(s:"Too late now!"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3.7); DamageThing(10000,0); // Deal 10000 damage to the player }Or you can even do it this way:script 1 ENTER { int timer = 6*60*35; while (timer > 0) { int seconds = timer / 35; int minutes = seconds / 60; seconds %= 60; HudMessage(d:minutes, s:":", d:seconds, s:" left!"; HUDMSG_PLAIN, 0, 0, 0.1, 0.8, 3); Delay(35); } DamageThing(10000,0); // Deal 10000 damage to the player } 1 A global identifier already has this name (line 4) 2 Missing '(' (line 5) 0 Share this post Link to post
Gez Posted September 27, 2015 Just replace "timer" by some other name if that name is reserved. Like "bombcountdown" for example. 0 Share this post Link to post
riki2321 Posted September 27, 2015 Gez said:Just replace "timer" by some other name if that name is reserved. Like "bombcountdown" for example. thanks now what to do with the ( can't seem to find it 0 Share this post Link to post