phantasm Posted July 13, 2012 Report Share Posted July 13, 2012 Many ET servers download a file when you connect that overwrites your standard ET menu with a custom menu. This custom menu has extra buttons that reconnect players to the server it came from. Some custom menus have many extra features, like forum links or config editors. These menus are controversial, but widely used. In this tutorial I will give you bare-bones directions on how to make a one-button pk3 menu for your server. There are two ways to do this - take one from another server and convert it to your server name and IP address, or make your own from scratch. I will show you how to make your own from scratch. It only requires that you make two files, and save them into two folders, and them compress it as a .pk3 file. You can use winzip, winrar, or Pakscape to create a pk3 file. A "pk3" is a type of compressed file used by ET and other quake 3 games. I will show you how to use Pakscape because it is a commonly used free program. You can download Pakscape here: http://www.gamefront...es/10423976�� or just google "download pakscape" to see many other links. Open Pakscape and click File -> New. Then right click in the white space under "Name" and select Object -> New Directory. Name this directory "scripts". Repeat this step and create another folder called "ui". See below: Now, go to your desktop or wherever you like to work on your computer, and create a file called my.campaign with a text editor (Notepad is fine). The file type must be ".campaign" not .txt or .doc. You can name it whatever you like, but it must be a .campaign file. Inside this file, paste this text: { name "original maps" shortname "cmpgn_test" description "The most popular ET maps." maps "battery;fueldump;goldrush;oasis" mapTC 374 374 type "wolfmp" } Don't worry about what maps are in here, this is just a way to embed a campaign file within your pk3 file so that ET will distribute it to your players. You don't want to add any non-original maps here or it will force your players to download them whether they need them or not, and just add to the volume of files they have to wait to download when they connect. Now, go back to your Pakscape file and open the scripts folder, then right click in the open space under the word "Name" and select Object -> Import File... then select your my.campaign file that you just made above. ======================================================================================================================================= Now there is one file that needs to go into the "ui" folder. You need to make it outside of Pakscape, on your desktop or wherever you like to work. You cannot make or modify a file within Pakscape. You can open a file and see the contents, but any changes you make will not be saved. You must export a file first before you can save it. If you open a file within pakscape and modify it and hit save, it will appear as though you have modified it, but your changes will not be saved. The file name you need to create and import into the "ui" folder is always called "main.menu" Here are the contents of "main.menu". Copy the text below and save it as "main.menu". Change the "YOUR SERVER NAME" to whatever you want in the button, and then change the IP address and port to your IP address and port. You can add more buttons by following the pattern below. #include "ui/menudef.h" // Defines // #define WINDOW_X 16 #define WINDOW_Y 16 #define WINDOW_WIDTH 608 #define WINDOW_HEIGHT 448 #define GROUP_NAME "grpMain" // Macros // #include "ui/menumacros.h" // Opener // menuDef { name "main_opener" visible 0 fullscreen 0 rect WINDOW_X WINDOW_Y WINDOW_WIDTH WINDOW_HEIGHT onOpen { open fadebox_black ; open background_1 ; setmenuitemcolor fadebox_black fadebox backcolor 0 0 0 1 ; fadeoutmenu fadebox_black ; open main ; clearcvar ui_profile_create_error ; exec "set cl_noprint 1;exec forum.cfg;set cl_noprint 0" ; close main_opener } } // Main Menu // menuDef { name "main" visible 0 fullscreen 0 rect WINDOW_X WINDOW_Y WINDOW_WIDTH WINDOW_HEIGHT style WINDOW_STYLE_GRADIENT onOpen { conditionalscript cl_profile 1 ( "clearFocus" ) ( "close main ; open profile_create_initial_opener" ) // ydnar conditionalscript ROldModeCheck 2 ( "clearFocus ; open vid_confirm" ) ( "clearFocus" ) conditionalscript cl_autoupdate 1 ( "checkautoupdate" ) ( "clearFocus" ) } onEsc { clearFocus ; close main open quit } // Background // itemDef { rect 0 0 WINDOW_WIDTH WINDOW_HEIGHT style WINDOW_STYLE_FILLED backcolor 0 0 0 0 border WINDOW_BORDER_FULL bordercolor 0 0 0 0 bordersize 0 visible 0 decoration } BUTTON( 6, WINDOW_HEIGHT-448, .22*(WINDOW_WIDTH-24), 16, "YOUR SERVERNAME", .2, 12, close main; exec "connect 12.34.56.78:27960" ) BUTTON( 6, WINDOW_HEIGHT-472, .22*(WINDOW_WIDTH-24), 16, "^7PLAY ONLINE", .2, 12, close main ; /*close backgroundmusic ; open backgroundmusic_server ;*/ uiScript UpdateFilter ; uiScript ServerSortDown 4 ; open playonline ) BUTTON( 6, WINDOW_HEIGHT-496, .22*(WINDOW_WIDTH-24), 16, "^7HOST GAME", .2, 12, close main ; /*close backgroundmusic ; open backgroundmusic_server ;*/ uiScript loadArenas ; uiScript initHostGameFeatures ; open hostgame ) BUTTON( 6, WINDOW_HEIGHT-520, .22*(WINDOW_WIDTH-24), 16, "^7REPLAYS", .2, 12, close main ; open viewreplay ) BUTTON( 6, WINDOW_HEIGHT-544, .22*(WINDOW_WIDTH-24), 16, "^7MODS", .2, 12, close main ; open mods ) BUTTON( 6, WINDOW_HEIGHT-568, .22*(WINDOW_WIDTH-24), 16, "^7OPTIONS", .2, 12, close main ; open options ) BUTTON( 6, WINDOW_HEIGHT-592, .22*(WINDOW_WIDTH-24), 16, "^7PROFILE", .2, 12, close main ; open profile ) BUTTON( 6, WINDOW_HEIGHT-616, .22*(WINDOW_WIDTH-24), 16, "^7EXIT GAME", .2, 12, clearFocus ; uiScript Quit ) } ======================================================================================================================================= Now, go back to Pakscape, and import "main.menu" into the "ui" folder. Then save the whole file as something like ~~~~~whatever_001.pk3 The tildas (~~~~) put it at the end of the files that get loaded when ET starts, causing it to overwrite the earlier files that have been loaded on the player's computer, so that you menu appears instead of the standard server menu, or someone else's menu. Some admins create very long names like ~~~~~~~~~~~~~~~~~~~~whatever.pk3, but this can cause problems if there are too many characters in the name. The numbers should be used as a way to increment your changes to the menu, so that you can use 001, 002, 003 etc each time you modify something. This way the 002 will be loaded on the player's computer after the 001 version has been loaded, allowing the newer menu to overwrite the older one. This helps you manage change control, so you can tell when you are looking at your files which version you are distributing. Whenever you make a change to a pk3 file, always change the name so you do not different versions of the same file name out there. Having numbers at the end makes this easy to change. ======================================================================================================================================= Now, in your server config file, within your mod, you must specify the name of the campaign file so it knows what file to download. In jaymod use this: set g_campaignFile "my.campaign" (must be the same as the name of your campaign file within the "scripts" folder in your pk3 file) In silent mod use this: set g_campaignFile "/yourfolderpath/silent/my.campaign" other mods are very similar. Also, you must place a copy of the pk3 file into your etmain folder on your server, and also put a copy of the same file in the etmain folder on your redirect server (the storage server used to download maps faster). 1 Quote Link to comment Share on other sites More sharing options...
mcbeth Posted July 29, 2012 Report Share Posted July 29, 2012 i have one already but i have a bug when on the server i click to the T to can sent message it is not working at all can i later sent u our menu pk3 to see what can be missed up ? Quote Link to comment Share on other sites More sharing options...
blackops Posted July 30, 2012 Report Share Posted July 30, 2012 Are you alone to have this bug, or other players on your server too ? PLease give the IP or the two IPs of your server, I will try the T xD 1 Quote Link to comment Share on other sites More sharing options...
mcbeth Posted May 20, 2014 Report Share Posted May 20, 2014 I am trying to convert the one we used for nq 123 but I have some problems Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.