View Full Version : tod command

03-16-2018, 05:38 AM
I am using this in a dogfight mission. I know this script is being run since the time does change on the server machine when I am running the full game version but the client machines are not accepting the time change. The client machines continue to run the unaltered time.

ms = milliseconds
1,000 ms = 1 second
300,000 ms = 300 seconds = 5 minutes
1,200,000 ms = 1200 seconds = 20 minutes

@tod 7.50
@chat <=Server=> Running Doolittle Timescript! ALL
@timeout 300000 tod 8.25
@timeout 1200000 tod 10.00
@timeout 2400000 tod 11.75
@timeout 3600000 tod 15.00
@timeout 4200000 tod 18.00
@timeout 4800000 tod 19.50
@timeout 5400000 tod 20.25
@timeout 6000000 tod 21.00

I have tested the script on a dedicated server but all I ever see is the chat text of the script now that I am the client machine but there are no changes to my in game time.

I have not tested this script in coop mode.

Multiplayer mode
Dedicated server - The script runs. Client sees chat text but no alteration to their in game time.
Full Game (Dogfight) - started script using the chat bar.
Server and client machines see chat text
Server machine - The time changes
Client machine - The time continues to run without any changes.
Full Game (coop) - have not tested

Milliseconds to Seconds Conversion calculator (ms to sec): https://www.timecalculator.net/milliseconds-to-seconds


01-23-2019, 03:19 PM
Coffee hasn't kicked in yet, but your script will never work because it never gets to later timeouts.

Because every 300000 'tics' it simply sets the time to 8.25.
It will never GET to the later times.

Use the file command

You can set off the loop manually or place it in your rcu.
You need however many text files for as many time changes you want. The last file must call the first file.
Warning. I have no idea what the syntax is for the chat command, so you may need to change that line in each txt file example below.

First file:
set the tod to (whatever), then give a timeout to call the next file.

Second file:
set the tod to (whatever), then give a timeout to call the NEXT file.


Last file:
set the tod to (whatever), then give a timeout to call the FIRST file. (Completing the loop)

Example RCU:

@set fast off
@set echo on
@set alias on
@set history 20
@file gc.cmd

@alias a alias
@a h history
@a s show
@a md mp_dotrange
@a fon fps START SHOW
@a foff fps STOP HIDE
file tod_01.txt

Here's tod_01.txt

tod 7.50
chat <=Server=> Time 7.50 [ALL]
timeout 30000 file tod_02.txt

Here's tod_02.txt

tod 14.50
chat <=Server=> Time 14.50 [ALL]
timeout 30000 file tod_03.txt

Here's tod_03.txt

tod 21.50
chat <=Server=> Time 21.50 [ALL]
timeout 30000 file tod_04.txt

Here's tod_04.txt (the final file in the loop)

tod 5.50
chat <=Server=> Time 5.50 [ALL]
timeout 30000 file tod_01.txt

Hope this helps.

01-30-2019, 06:50 PM
bump as I edited my post