Next Map Message

Add Another Mod


Mod File number (downloads) -


Type -

Admin Tools

Server / Client -

Server Side

Mod Sub Cat -


Mod Version -

Total Views -

Mod screen shot -

Next Map Message

Mod PK3


Mod External Info -

Game Type -




Mod Creator -

@(...:.:...)@ / Hal





Mod Status -

Fully working no errors


Team -


Theme -


Extra Credits -


Iinstall / info

This mod will show what the next map will be, below the compass (on the left) for all players in the server. View the Readme below for all info on how to use it and modify it (readme also included within the zip file).

"Next Map is..." message script Readme
by: @(...:.:...)@ / Hal
Email: 1st.regiment [at] gmail [dot] com
TMT member:

If you have any questions or problems, post in this thread:

or email me at the address above.


It is best to view this document WITHOUT word wrap on, otherwise
it may become very hard to read and understand the vstr aliases. Also I have
already put in line breaks to keep the width down, so it may look odd if you
have word wrap. :S



This script will display a message telling players what the next map in your
rotation will be. It does this by extracting information from a few new cvars
that are added to your servers .cfg file.

See the 2 screenshots included in the zip.


This depends on your current server mod setup. If you have other mods which use
DMprecache.scr, start at step 1. If you are SURE that you are not using any custom
DMprecache.scr files, proceed to step 2.

1. - Combining DMprecache's

I will write this description pretty much so that anyone can make this mod work.
If you have any scripting experience, i'm sure you know what to do anyway. Wink

Ok, first up get all of the CUSTOM pk3 files you have on your server.

If you don't have it already, get Pakscape. You can download it from here:

Open up the pk3 files one by one with pakscape. In pakscape, browse to the "global"
folder (if there isn't a global folder, just close the pk3 and move on to the next).
You are looking for a file called DMprecache.scr. If you find one, leave it's window
open in pakscape, and finish looking through all of your servers custom pk3s.

Hopefully there is only one DMprecache.scr. Copy it and paste it to a folder on your
harddrive so that you can work on it. If there is more than one, put them all in the
same folder. Rename them DMprecache2.scr, DMprecache3.scr etc.

Open up as many windows of notepad or WordPad as you have dmprecache files. In notepad
or WordPad, do file>open and select "all files" or "all documents" from the drop down
menu below the folder browsing area. Browse to the folder you placed your dmprecache
files in, and open each one in a different WordPad/notepad window.

Now check through the files for any line which starts with "exec" then a path and
filename. Eg:

exec global/nameofscripthere.scr

If you only have one dmprecache file, skip this bit. If you have more than one dmprecache,
you need to combine the exec... lines into one file. Just copy all of the exec lines from
all the dmprecache files, and paste them into one file. Delete any duplicate lines.
(you don't want it to exec the file twice.)

When you have combined them into one file, paste the following line into your dmprecache
file with the other exec lines, or at the bottom if there are no others:

exec global/maprotationmessage.hal

Then file>save and close all of the WordPad/notepad windows. Paste your newly edited
dmprecache back into any pk3's which contained one, and save the pk3s in pakscape (file>save).

Upload any pk3's you changed, and zzz_Next-Map-Is-[no precache].pk3

2. - editing cfg's

If you skipped part 1 because you don't have any edited dmprecache files, upload zzz_Next-Map-Is.pk3
to your server.

Obtain a copy of the .cfg file your server starts from (normally server.cfg) If your vstr
rotation is in another file, just get that file. Copy & paste it to a folder on your HDD
to work on.

Copy and paste this text into your .cfg file ABOVE your vstr rotation code. Copy the text
between the star lines, but NOT the star lines themselves:

************************* From Here (but not this line)

//Map Rotation Messages cvar section

// The download URL for any custom maps on the server. Usually your clan/group's website address, or could be some other website which hosts the custom map.
set website ""

//If the script should print a message about the download URL of custom maps to the console of clients with developer on.
set printtoconsole "1"

//The time delay between messages in seconds. Default and minimum is 20 seconds.
//If it is not set, or set to less than 20, it will be reset to 20 seconds to prevent flooding.
set mapmessage_waittime "60"

//The delay from the start of the round, to the first message. For example,
//if it is 20, the first next map message will appear 20 seconds after the "time left" timer
//start's to count down. In Objective/round based matches, this is 20 seconds after each round starts.
//For All other, gametypes, the timer starts when the server finishes loading the map (before clients have finished loading)
//so take into account the time it takes a player to load the map on his pc.
set startup_waittime "30"

//set nextmapname & iscustom to "" to initiate them, so that the vstr rotation can use them.
set nextmapname "" //DO NOT EDIT OR REMOVE THIS LINE

************************* To here (but not this line)

Edit the cvars to your liking.

Now you just need to add the "nextmapname" and "iscustom" cvars to your vstr aliases.

Eg -

set x1 "nextmapname la_patrouille_2; iscustom 1; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 6; map obj/objlol_v2_13; set nextmap vstr x2"
set x2 "nextmapname vsuk_abbey_beta; iscustom 1; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/obj_la_patrouille_2; set nextmap vstr x3"
set x3 "nextmapname V2_Rocket_Facility; iscustom 0; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/vsuk-abbeybeta; set nextmap vstr x4"
set x4 "nextmapname St_Renan_Bridge; iscustom 1; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/obj_team2; set nextmap vstr x5"
set x5 "nextmapname The_Bridge; iscustom 0; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/renan; set nextmap vstr x6"
set x6 "nextmapname Neuville; iscustom 1; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/obj_team4; set nextmap vstr x7"
set x7 "nextmapname The_Hunt; iscustom 0; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/obj_neuville; set nextmap vstr x8"
set x8 "nextmapname St_Lo; iscustom 1; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/obj_team1; set nextmap vstr x9"
set x9 "nextmapname lol_v2_13; iscustom 1; g_gametype 4; fraglimit 5; timelimit 0; roundlimit 5; map obj/stlo; set nextmap vstr x1"

The nextmapname is the name of the map on the next line. The iscustom is 1 if the map on the next line is a custom map. Otherwise it should be 0.
Split words with a "_" (underscore) when setting names for the nextmapname cvar. The script will replace the underscores with blank spaces before
it prints the messages in the game.


nextmapname St_Renan_Bridge

will print in the game as:

St Renan Bridge

Now just save the cfg, and upload it to your server. Restart the server. Remember, the messages only start after the round timer starts to count down, so in objective matches the round has to start before the messages will begin (eg. you need one person on each team).


Delete the zzz_Next-Map-Is.pk3 or zzz_Next-Map-Is-[no precache].pk3 and if you like edit dmprecache to remove the exec line for this script.

Enjoy Smile (sorry about the lengh :S )