Basic "how to make a graphic / sound mod" tutorial


(nUllSkillZ) #1

Basic “how to make a graphic / sound mod” tutorial

[ol]
[li]Programs
[/li] You should have a program that is able to read and write pk3-files.
pakscape for example is a little very handy tool for the creation of pk3-files.

	Note:
	pk3-files are zip-files with a renamed extension.
[li]Basics

[/li] Basically the files of your mod will virtually overwrite the existing files of the “pak0.pk3”-file.
Therefore the path structure of your mod-pk3-file must be equal to the path structure of the “pak0.pk3”-file.
Nearlly all of the files of the “pak0.pk3”-file can be modded.

	Note:
	Don't touch the "pak0.pk3"-file.
	You will create a new pk3-file

	Tip:
	Take a look at existing graphic / sound mods.
[li]Example: mine markers

[/li] First you have to search the “pak0.pk3”-file for the files you want to change.
You will find the files of the mine markers at:


			gfx/hud/pm_mineallied.tga
			gfx/hud/pm_mineaxis.tga

			models/multiplayer//mine_marker/allied_marker.jpg
			models/multiplayer//mine_marker/axis_marker.jpg
		
	Note:
	The "pm_minexxx.tga"'s are 32-Bit TGA's with an alpha channel.

	Note:
	In this case the height and width of your textures should be equal to the original ones.

	Now create your own files and save them in a new path structure.
	For example in "c:/mymod/".
	So you will end with:

			c:/mymod/gfx/hud/pm_mineallied.tga
			c:/mymod/gfx/hud/pm_mineaxis.tga

			c:/mymod/models/multiplayer//mine_marker/allied_marker.jpg
			c:/mymod/models/multiplayer//mine_marker/axis_marker.jpg
		
[li]pk3-file creation

[/li] Start pakscape.
Choose the option “New” of the “File”-menu.
Rightclick in the right subwindow of pakscape.
Choose “Object -> Import directory”.
Choose the “c:/mymod/gfx/”-direcory.
Choose “OK”
Repeat these steps for the “c:/mymod/models”-directory.

	The path structure inside of pakscape should now be:

			gfx/ ...
			models/ ...
		
	Save the file as pk3-file.
	The first letter of the name of the file must be "greater than" "p".
	(Actually the name of the file has to be "greater than" "pak0".)

	For example:
	"z_myminemarker.pk3".

	Put the new created pk3-file into the "etmain"-directory.
	Host a game to see the changes.

	Note:
	Only add changed files to your mod-pk3-file.

	Note:
	The mod will only work:
	[list:739b9d9858]
		[li]on a pure server if the server also has this file

[/li] [li]on an unpure server
[/li] [li]on a local server
[/li] [/ol]

	Note:
	If there's another graphic / sound mod your mod might not work.
	This depends on the names of your and the other mod file and which files are changed by the other mod.

[li]Example file
[/li]The following file contains the original minemarkers.
http://www.nullskillz.de/et/mods/xample_minemarker.pk3
[/list:o:739b9d9858]


(dommafia) #2

so i can finally make my own country flags for the mine flags :slight_smile: thx for all this info!


(SCDS_reyalP) #3

Nice work.

It is still an early draft, but people wanting more detail about how ET picks which file to use may find my ET VFS tutorial helpful. http://www.worldwidegaming.org/modules.php?name=Forums&file=viewtopic&t=21

It also lists a number of commands and cvars that can help you diagnose why your mod isn’t working as you expect.


(Berzerkr) #4

And don’t use config-files or scripts in a simple Graphic-/Soundpack.
Servers with ETpro download them to the client, wich means more traffic for the gameserver and not all people like to see/hear the changes of this mod.

Avoid bloat! Use models (md3-Files) only if there change a model.
Delete the “thumbs.db”-Files from the pk3, there really not needed.

BTW: It really sickens me to see a lot of excellent packs there can’t run on a pure server because there contain configs or scripts. :disgust:


(aiajason) #5

hi read what u said about soundpacks… and I haven’t finished this yet… but i can’t get it to work. it shows that i have added even more sounds but when i click on it, it just closes the screen. sorry it is so long!
here is the script i am trying to modify:

#include “ui/menudef.h”

#define DEFAULT_TEXT_SCALE 0.25

#define ORIGIN_QUICKMESSAGE		10 10

#define QM_MENU_GRADIENT_START_OFFSET

#define QM_MENU_START( WINDOWNAME )																			\
																											\

menuDef {
name WINDOWNAME
visible 0
fullscreen 0
rect 0 100 640 380
onOpen { setCvar cl_bypassMouseInput “1” }
onClose { setCvar cl_bypassMouseInput “0” }
onEsc { closeAll }

itemDef {
name “window”
rect 0 19 204 136
origin ORIGIN_QUICKMESSAGE
style WINDOW_STYLE_FILLED
backcolor 0 0 0 .75
border WINDOW_BORDER_FULL
bordercolor .5 .5 .5 .5
visible 1
decoration
}

itemDef {
name “windowtitle”
rect $evalfloat((0)+2) $evalfloat((19)+2) $evalfloat((204)-4) 12
origin ORIGIN_QUICKMESSAGE
text “MESSAGE”
textfont UI_FONT_ARIBLK_16
textscale .19
textalignx 3
textaligny 10
style WINDOW_STYLE_FILLED
backcolor .16 .2 .17 .8
forecolor .6 .6 .6 1
visible 1
decoration
}

#define QM_MENU_END }

#define QM_MENU_ITEM( WINDOWTEXT, ACTION, KEY, POS )				\
itemDef {															\
	name			"menuitem"##WINDOWTEXT							\
	rect			6 $evalfloat( 35 + ( 12 * POS )) 128 10			\
	origin			ORIGIN_QUICKMESSAGE								\
	type			ITEM_TYPE_TEXT									\
	text			WINDOWTEXT										\
	textfont		UI_FONT_COURBD_21								\
	textstyle		ITEM_TEXTSTYLE_SHADOWED							\
	textscale		.2												\
	textaligny		8												\
	forecolor		.6 .6 .6 1										\
	visible			1												\
	decoration														\
}																	\
execKey KEY { ACTION }

#define QM_MENU_ITEM_TEAM( WINDOWTEXT, ACTION, KEY, POS )			\
itemDef {															\
	name			"menuitem"##WINDOWTEXT							\
	rect			6 $evalfloat( 35 + ( 12 * POS )) 128 10			\
	origin			ORIGIN_QUICKMESSAGE								\
	type			ITEM_TYPE_TEXT									\
	text			WINDOWTEXT										\
	textfont		UI_FONT_COURBD_21								\
	textstyle		ITEM_TEXTSTYLE_SHADOWED							\
	textscale		.2												\
	textaligny		8												\
	forecolor		.6 .6 .6 1										\
	visible			1												\
	decoration														\
}																	\
execKey KEY { ACTION }

QM_MENU_START( “wm_quickmessageAlt” )

QM_MENU_ITEM_TEAM( 	"1. Statements", 		close wm_quickmessageAlt; 	open wm_quickstatements_alt, 	 "1", 0 )
QM_MENU_ITEM_TEAM( 	"2. Requests", 		close wm_quickmessageAlt; 	open wm_quickrequests_alt, 	 "2", 1 )
QM_MENU_ITEM_TEAM( 	"3. Commands", 		close wm_quickmessageAlt; 	open wm_quickcommand_alt, 	 "3", 2 )
QM_MENU_ITEM_TEAM( 	"4. Talk",			close wm_quickmessageAlt; 	open wm_quickmisc_alt, 		 "4", 3 )
QM_MENU_ITEM( 		"5. Global",	 	close wm_quickmessageAlt; 	open wm_quickglobal_alt, 	 "5", 4 )
QM_MENU_ITEM_TEAM( 	"6. Function", 		exec "wm_sayPlayerClass"; 	close wm_quickmessageAlt,	 "6", 5 )
QM_MENU_ITEM_TEAM( 	"7. Objectives", 		close wm_quickmessageAlt; 	open wm_quickobjectives_alt, 	 "7", 6 )
QM_MENU_ITEM_TEAM( 	"8. Team", 			close wm_quickmessageAlt; 	open wm_quickteam_alt, 	 	 "8", 7 )
QM_MENU_ITEM( 	      "9. Selector", 		close wm_quickmessageAlt; 	open wm_teamalt_alt, 		 "9", 8 )

QM_MENU_END

QM_MENU_START( “wm_quickstatements_alt” )

QM_MENU_ITEM_TEAM( "1. Path Cleared.", 		exec "VoiceTeamChat PathCleared"; 		close wm_quickstatements_alt,	"1", 0 )
QM_MENU_ITEM_TEAM( "2. Enemy Weak!", 		exec "VoiceTeamChat EnemyWeak"; 		close wm_quickstatements_alt, "2", 1 )
QM_MENU_ITEM_TEAM( "3. All Clear", 			exec "VoiceTeamChat AllClear"; 		close wm_quickstatements_alt,	"3", 2 )
QM_MENU_ITEM_TEAM( "4. Incoming", 			exec "VoiceTeamChat Incoming"; 		close wm_quickstatements_alt,	"4", 3 )
QM_MENU_ITEM_TEAM( "5. Fire In The Hole!", 	exec "VoiceTeamChat FireInTheHole"; 	close wm_quickstatements_alt,	"5", 4 )
QM_MENU_ITEM_TEAM( "6. I'm Defending.", 		exec "VoiceTeamChat OnDefense"; 		close wm_quickstatements_alt,	"6", 5 )
QM_MENU_ITEM_TEAM( "7. I'm Attacking.", 		exec "VoiceTeamChat OnOffense"; 		close wm_quickstatements_alt,	"7", 6 )
QM_MENU_ITEM_TEAM( "8. Taking Fire!", 		exec "VoiceTeamChat TakingFire"; 		close wm_quickstatements_alt,	"8", 7 )
QM_MENU_ITEM_TEAM( "9. Mines Cleared", 		exec "VoiceTeamChat MinesCleared"; 		close wm_quickstatements_alt,	"9", 8 )
QM_MENU_ITEM_TEAM( "0. Enemy Disguised", 		exec "VoiceTeamChat EnemyDisguised";	close wm_quickstatements_alt,	"0", 9 )

QM_MENU_END

QM_MENU_START( “wm_quickrequests_alt” )

QM_MENU_ITEM_TEAM( "1. Need Medic!", 		exec "VoiceTeamChat Medic"; 			close wm_quickrequests_alt,	"1", 0 )
QM_MENU_ITEM_TEAM( "2. Need Ammo!", 		exec "VoiceTeamChat NeedAmmo"; 		close wm_quickrequests_alt,	"2", 1 )
QM_MENU_ITEM_TEAM( "3. Need Backup!", 		exec "VoiceTeamChat NeedBackup"; 		close wm_quickrequests_alt,	"3", 2 )
QM_MENU_ITEM_TEAM( "4. Need Engineer!", 		exec "VoiceTeamChat NeedEngineer"; 		close wm_quickrequests_alt,	"4", 3 )
QM_MENU_ITEM_TEAM( "5. Cover Me!", 			exec "VoiceTeamChat CoverMe"; 		close wm_quickrequests_alt,	"5", 4 )
QM_MENU_ITEM_TEAM( "6. Hold Fire!",			exec "VoiceTeamChat HoldFire";	 	close wm_quickrequests_alt, 	"6", 5 )
QM_MENU_ITEM_TEAM( "7. Where To?", 			exec "VoiceTeamChat WhereTo"; 		close wm_quickrequests_alt,	"7", 6 )
QM_MENU_ITEM_TEAM( "8. Need Covert Ops!", 	exec "VoiceTeamChat NeedOps"; 		close wm_quickrequests_alt,	"8", 7 )
QM_MENU_ITEM_TEAM( "9. Heal the squad!", 		exec "VoiceTeamChat FTHealSquad"; 		close wm_quickrequests_alt,	"9", 8 )
QM_MENU_ITEM_TEAM( "0. Resupply the squad!", 	exec "VoiceTeamChat FTResupplySquad"; 	close wm_quickrequests_alt,	"0", 9 )

QM_MENU_END

QM_MENU_START( “wm_quickcommand_alt” )

QM_MENU_ITEM_TEAM( "1. Follow Me!", 		exec "VoiceTeamChat FollowMe"; 		close wm_quickcommand_alt, 	"1", 0 )
QM_MENU_ITEM_TEAM( "2. Let's Go!", 			exec "VoiceTeamChat LetsGo"; 			close wm_quickcommand_alt, 	"2", 1 )
QM_MENU_ITEM_TEAM( "3. Move!", 			exec "VoiceTeamChat Move"; 			close wm_quickcommand_alt, 	"3", 2 )
QM_MENU_ITEM_TEAM( "4. Clear The Path!", 		exec "VoiceTeamChat ClearPath"; 		close wm_quickcommand_alt, 	"4", 3 )
QM_MENU_ITEM_TEAM( "5. Defend Objective!", 	exec "VoiceTeamChat DefendObjective"; 	close wm_quickcommand_alt, 	"5", 4 )
QM_MENU_ITEM_TEAM( "6. Disarm Dynamite!", 	exec "VoiceTeamChat DisarmDynamite"; 	close wm_quickcommand_alt, 	"6", 5 )
QM_MENU_ITEM_TEAM( "7. Clear Mines!", 		exec "VoiceTeamChat ClearMines"; 		close wm_quickcommand_alt, 	"7", 6 )
QM_MENU_ITEM_TEAM( "8. Reinforce Offense", 	exec "VoiceTeamChat ReinforceOffense"; 	close wm_quickcommand_alt,	"8", 7 )
QM_MENU_ITEM_TEAM( "9. Reinforce Defense", 	exec "VoiceTeamChat ReinforceDefense"; 	close wm_quickcommand_alt,	"9", 8 )
QM_MENU_ITEM_TEAM( "0. Attack!",	  		exec "VoiceTeamChat FTAttack"; 		close wm_quickcommand_alt,	"0", 9 )

QM_MENU_END

QM_MENU_START( “wm_quickmisc_alt” )

QM_MENU_ITEM_TEAM( "1. Yes",				exec "VoiceTeamChat Affirmative"; 		close wm_quickmisc_alt, 	"1", 0 )
QM_MENU_ITEM_TEAM( "2. No",				exec "VoiceTeamChat Negative"; 		close wm_quickmisc_alt, 	"2", 1 )
QM_MENU_ITEM_TEAM( "3. Thanks",			exec "VoiceTeamChat Thanks"; 			close wm_quickmisc_alt, 	"3", 2 )
QM_MENU_ITEM_TEAM( "4. Welcome",			exec "VoiceTeamChat Welcome"; 		close wm_quickmisc_alt, 	"4", 3 )
QM_MENU_ITEM_TEAM( "5. Sorry",			exec "VoiceTeamChat Sorry"; 			close wm_quickmisc_alt, 	"5", 4 )
QM_MENU_ITEM_TEAM( "6. Oops", 			exec "VoiceTeamChat Oops"; 			close wm_quickmisc_alt, 	"6", 5 )
QM_MENU_ITEM_TEAM( "7. Call an airstrike!",	exec "VoiceTeamChat FTCallAirStrike"; 	close wm_quickmisc_alt, 	"7", 6 )
QM_MENU_ITEM_TEAM( "8. Call in artillery!",	exec "VoiceTeamChat FTCallArtillery"; 	close wm_quickmisc_alt, 	"8", 7 ) 
QM_MENU_ITEM_TEAM( "9. Repair Objective!", 	exec "VoiceTeamChat FTRepairObjective"; 	close wm_quickmisc_alt, 	"9", 8 )
QM_MENU_ITEM_TEAM( "0. Destroy Objective!",   	exec "VoiceTeamChat FTSatchelObjective"; 	close wm_quickmisc_alt, 	"0", 9 )

QM_MENU_END

QM_MENU_START( “wm_quickglobal_alt” )

QM_MENU_ITEM( "1. Yes",				exec "VoiceChat Affirmative"; 	close wm_quickglobal_alt, 	"1", 0 )
QM_MENU_ITEM( "2. No",				exec "VoiceChat Negative"; 		close wm_quickglobal_alt, 	"2", 1 )
QM_MENU_ITEM( "3. Enemy Weak",		exec "VoiceChat EnemyWeak";		close wm_quickglobal_alt, 	"3", 2 )
QM_MENU_ITEM( "4. Hi",				exec "VoiceChat Hi"; 			close wm_quickglobal_alt, 	"4", 3 )
QM_MENU_ITEM( "5. Bye",				exec "VoiceChat Bye"; 			close wm_quickglobal_alt, 	"5", 4 )
QM_MENU_ITEM( "6. Great Shot",		exec "VoiceChat GreatShot"; 		close wm_quickglobal_alt, 	"6", 5 )
QM_MENU_ITEM( "7. Cheer",			exec "VoiceChat Cheer"; 		close wm_quickglobal_alt, 	"7", 6 )
QM_MENU_ITEM( "8. More Globals",		close wm_quickglobal_alt;		open  wm_quickglobal2_alt, 	"8", 7 )

QM_MENU_END

QM_MENU_START( “wm_quickglobal2_alt” )

QM_MENU_ITEM( "1. Thanks",		exec "VoiceChat Thanks";	close wm_quickglobal2_alt, 	"1", 0 )
QM_MENU_ITEM( "2. Welcome",		exec "VoiceChat Welcome"; 	close wm_quickglobal2_alt, 	"2", 1 )
QM_MENU_ITEM( "3. Oops",		exec "VoiceChat Oops"; 		close wm_quickglobal2_alt, 	"3", 2 )
QM_MENU_ITEM( "4. Sorry",		exec "VoiceChat Sorry"; 	close wm_quickglobal2_alt, 	"4", 3 )
QM_MENU_ITEM( "5. Hold Fire!",	exec "VoiceChat HoldFire";	close wm_quickglobal2_alt, 	"5", 4 )
QM_MENU_ITEM( "6. Good Game",		exec "VoiceChat GoodGame";	close wm_quickglobal2_alt, 	"6", 5 )
QM_MENU_ITEM( "7. Enemy is great!",	exec "VoiceChat newtarz";	close wm_quickglobal2_alt, 	"7", 6 )
QM_MENU_ITEM( "8. Attack!",		exec "VoiceChat FTAttack";	close wm_quickglobal2_alt, 	"8", 7 )
QM_MENU_ITEM( "9. Even More Globals!", 	close wm_quickglobal2_alt; 	open wwm_quickglobal3_alt, 	"9", 8 )

QM_MENU_END

QM_MENU_START( “wm_quickglobal3_alt” )

QM_MENU_ITEM( "1. Music",		close wm_quickglobal3_alt";	open wm_music_alt, 	"1", 0 )
QM_MENU_ITEM( "2. Movies",		close wm_quickglobal3_alt"; 	open wm_movies_alt, 	"2", 1 )
QM_MENU_ITEM( "3. 420",		close wm_quickglobal3_alt"; 		open wm_420_alt, 	"3", 2 )
QM_MENU_ITEM( "4. Gross",		close wm_quickglobal3_alt"; 	open wm_gross_alt, 	"4", 3 )
QM_MENU_ITEM( "5. Animals!",	close wm_quickglobal3_alt";	open wm_animals_alt, 	"5", 4 )
QM_MENU_ITEM( "6. Misc",		close wm_quickglobal3_alt";	open wm_misc_alt, 	"6", 5 )

QM_MENU_END

QM_MENU_START( “wm_music_alt” )

QM_MENU_ITEM( "1. Enrique",	exec "VoiceChat Enrique_Iglesias_-_Do_You_Know_(The_Ping_Pong_Song)";		close wm_music_alt, 	"1", 0 )
QM_MENU_ITEM( "2. Kenny Rogers",	exec "KennyRogers_TheGambler";		close wm_music_alt, 	"2", 1 )
QM_MENU_ITEM( "3. Top Gun",	exec "VoiceChat fd03";		close wm_music_alt, 	"3", 2 )
QM_MENU_ITEM( "4. Gi Joe",
QM_MENU_ITEM( "5. Bee Gees",
QM_MENU_ITEM( "6. Elton John",
QM_MENU_ITEM( "7. Beastman",
QM_MENU_ITEM( "8. Transformers",
QM_MENU_ITEM( "9. Imperial March",
QM_MENU_ITEM( "0. Down For Life",

QM_MENU_END

QM_MENU_START( “wm_movies_alt” )

QM_MENU_ITEM( "1. balls",	exec "VoiceChat balls";		close wm_movies_alt,	"1", 0 )
QM_MENU_ITEM( "2. Beavis",	exec "VoiceChat beavis";	close wm_movies_alt,	"2", 1 )
QM_MENU_ITEM( "3. "Homer,	exec "VoiceChat urgay";		close wm_movies_alt,	"3", 2 )
QM_MENU_ITEM( "4. Apology Accepted",	exec "VoiceChat accepted";	close wm_movies_alt,	"4", 3 )
QM_MENU_ITEM( "5. Best Friend",	exec "VoiceChat bestwrst";	close wm_movies_alt,	"5", 4 )
QM_MENU_ITEM( "6. Big Boned",	exec "VoiceChat bigboned";	close wm_movies_alt,	"6", 5 )
QM_MENU_ITEM( "7. Be Right Back",	exec "VoiceChat brb";	close wm_movies_alt,	"7", 6 )
QM_MENU_ITEM( "8. Come Out",	exec "VoiceChat comeout";	close wm_movies_alt,	"8", 7 )
QM_MENU_ITEM( "9. Even More movies!", 	close wm_movies_alt; 	open wwm_wm_movies_alt2_alt, 	"9", 8 )

QM_MENU_END

QM_MENU_START( “wm_420_alt” )

QM_MENU_ITEM( "1. bong",	exec "VoiceChat bong";		close wm_420_alt,	"1", 0 )
QM_MENU_ITEM( "1. smoke weed everyday",		exec "VoiceChat smokeweed";	"2", 1 )

QM_MENU_END

QM_MENU_START( “wm_gross_alt” )

QM_MENU_ITEM( "1. Fart",	exec "VoiceChat fart_z";		close wm_gross_alt,	"1", 0 )
QM_MENU_ITEM( "2. Puke",	exec "VoiceChat puke";		close wm_gross_alt,	"2", 1 )
QM_MENU_ITEM( "3. Burp",	exec "VoiceChat beer";		close wm_gross_alt,	"3", 2 )

QM_MENU_END

QM_MENU_START( “wm_animals_alt” )

QM_MENU_ITEM( "1. Bear",	exec "VoiceChat bear";		close wm_animals_alt,	"1", 0 )
QM_MENU_ITEM( "2. Monkey",	exec "VoiceChat monkey";		close wm_animals_alt,	"2", 1 )
QM_MENU_ITEM( "3. Goat",	exec "VoiceChat goat";		close wm_animals_alt,	"3", 2 )
QM_MENU_ITEM( "4. Cow",		exec "VoiceChat wow";		close wm_animals_alt,	"4", 3 )

QM_MENU_END

QM_MENU_START( “wm_misc_alt” )

QM_MENU_END

QM_MENU_START( “wm_quickobjectives_alt” )

QM_MENU_ITEM_TEAM( "1. Command Acknowledged",		exec "VoiceTeamChat CommandAcknowledged"; 	close wm_quickobjectives_alt, "1", 0 )
QM_MENU_ITEM_TEAM( "2. Command Declined",			exec "VoiceTeamChat CommandDeclined";		close wm_quickobjectives_alt, "2", 1 )
QM_MENU_ITEM_TEAM( "3. Command Completed",		exec "VoiceTeamChat CommandCompleted";		close wm_quickobjectives_alt, "3", 2 )
QM_MENU_ITEM_TEAM( "4. Destroy Primary Objective",	exec "VoiceTeamChat DestroyPrimary"; 		close wm_quickobjectives_alt,	"4", 3 )
QM_MENU_ITEM_TEAM( "5. Destroy Secondary Objective",	exec "VoiceTeamChat DestroySecondary";		close wm_quickobjectives_alt,	"5", 4 )
QM_MENU_ITEM_TEAM( "6. Destroy Construction",		exec "VoiceTeamChat DestroyConstruction";		close wm_quickobjectives_alt,	"6", 5 )
QM_MENU_ITEM_TEAM( "7. Commencing Construction",	exec "VoiceTeamChat ConstructionCommencing";	close wm_quickobjectives_alt, "7", 6 )
QM_MENU_ITEM_TEAM( "8. Repair Vehicle",			exec "VoiceTeamChat RepairVehicle";			close wm_quickobjectives_alt,	"8", 7 )
QM_MENU_ITEM_TEAM( "9. Disable Vehicle",			exec "VoiceTeamChat DestroyVehicle";		close wm_quickobjectives_alt,	"9", 8 )
QM_MENU_ITEM_TEAM( "0. Escort Vehicle",			exec "VoiceTeamChat EscortVehicle";			close wm_quickobjectives_alt,	"0", 9 )

QM_MENU_END

QM_MENU_START( “wm_quickteam_alt” )

QM_MENU_ITEM_TEAM( “1. Provide sniper cover”, exec “VoiceTeamChat FTProvideSniperCover”; close wm_quickteam_alt, “1”, 0 )
QM_MENU_ITEM_TEAM( “2. Go undercover”, exec “VoiceTeamChat FTGoUndercover”; close wm_quickteam_alt, “2”, 1 )
QM_MENU_ITEM_TEAM( “3. Infiltrate”, exec “VoiceTeamChat FTInfiltrate”; close wm_quickteam_alt, “3”, 2 )
QM_MENU_ITEM_TEAM( “4. Explore the area”, exec “VoiceTeamChat FTExploreArea”; close wm_quickteam_alt, “4”, 3 )
QM_MENU_ITEM_TEAM( “5. Check for landmines”, exec “VoiceTeamChat FTCheckLandMines”; close wm_quickteam_alt, “5”, 4 )
QM_MENU_ITEM_TEAM( “6. Fall back”, exec “VoiceTeamChat FTFallBack”; close wm_quickteam_alt, “6”, 5 )
QM_MENU_ITEM_TEAM( “7. Deploy mortar”, exec “VoiceTeamChat FTMortar”; close wm_quickteam_alt, “7”, 6 )
QM_MENU_ITEM_TEAM( “8. I am undercover”, exec “VoiceTeamChat newunder”; close wm_quickteam_alt, “8”, 7 )
QM_MENU_ITEM_TEAM( “9. Deploy landmines”, exec “VoiceTeamChat FTDeployLandmines”; close wm_quickteam_alt, “9”, 8 )
QM_MENU_ITEM_TEAM( “0. Disarm landmines”, exec “VoiceTeamChat FTDisarmLandmines”; close wm_quickteam_alt, “0”, 9 )

QM_MENU_END

QM_MENU_START( “wm_teamalt_alt” )

QM_MENU_ITEM(	"1. Spectator",		close wm_teamalt_alt; exec "team s"; 		exec "vstr select_spectator;",			"1", 0 ) 
QM_MENU_ITEM(	"2. Spawnpoint",		close wm_teamalt_alt; open wm_spawnpointalt;	exec "vstr select_spawnpoint;",			"2", 1 )
QM_MENU_ITEM(	"3. Abort",			close wm_teamalt_alt,													"3", 2 )

QM_MENU_END

QM_MENU_START( “wm_spawnpointalt” )

QM_MENU_ITEM( 	"1. Spawnpoint 1", 	exec "setspawnpt 1"; 	exec "vstr select_spawn1;";	close wm_spawnpointalt,  	"1", 0 )
QM_MENU_ITEM( 	"2. Spawnpoint 2", 	exec "setspawnpt 2"; 	exec "vstr select_spawn2;";	close wm_spawnpointalt, 	"2", 1 )
QM_MENU_ITEM( 	"3. Spawnpoint 3", 	exec "setspawnpt 3"; 	exec "vstr select_spawn3;";	close wm_spawnpointalt, 	"3", 2 )
QM_MENU_ITEM( 	"4. Spawnpoint 4", 	exec "setspawnpt 4"; 	exec "vstr select_spawn4;";	close wm_spawnpointalt, 	"4", 3 )
QM_MENU_ITEM( 	"5. Spawnpoint 5", 	exec "setspawnpt 5"; 	exec "vstr select_spawn5;";	close wm_spawnpointalt, 	"5", 4 )
QM_MENU_ITEM( 	"6. Spawnpoint 6", 	exec "setspawnpt 6"; 	exec "vstr select_spawn6;";	close wm_spawnpointalt, 	"6", 5 )
QM_MENU_ITEM( 	"7. Spawnpoint 7", 	exec "setspawnpt 7"; 	exec "vstr select_spawn7;";	close wm_spawnpointalt, 	"7", 6 )
QM_MENU_ITEM( 	"8. Spawnpoint 8", 	exec "setspawnpt 8"; 	exec "vstr select_spawn8;";	close wm_spawnpointalt, 	"8", 7 )
QM_MENU_ITEM( 	"9. Spawnpoint 9", 	exec "setspawnpt 9"; 	exec "vstr select_spawn9;";	close wm_spawnpointalt, 	"9", 8 )
QM_MENU_ITEM( 	"0. Spawnpoint 0",	exec "setspawnpt 0"; 	exec "vstr select_spawn0;";	close wm_spawnpointalt, 	"0", 9 )

QM_MENU_END


(stealth6) #6

you should read this through there are quite alot of mistakes, also when does you menu just close?

I made some mistakes bold( in between and ), but there are so many I kinda stopped half was, just read it through yourself finish it, cause there are just pieces missing, and things that are wrong, then try it again, then ask here for help…

Atm is has so many mistakes, it shows you don’t understand how it works, so maybe u should read tutorials, or look at somebody elses sound pack and learn from it…

Also just saw the end of the script, and I don’t think you can put a class/team/spawn selector in the sound menu, but on that point I could be wrong… since I never tried it myself


(aiajason) #7

my menu closes everytime i go to even more global commands… everything else works
i can’t figure itout… so much stuff!


(Nail) #8

posted by tslayerian on our forums, don’t know if it will help:

CHAT MODDING****
Alright, you start off with the scripts/wm_allies_chat.voice and wm_axis_chat.voice files in the pak0.pk3.

Add a new command for your custom sound, I.E.
kittycat
{
sound/kittycat.wav “Cat, I’m a Kitty Cat”
}

Top line is what it’s name will be, for the example above, I would use “vsay kittycat” in the console and this sound will go off. “sound/kittycat.wav” is where the sound is located. (As a side note, make sure the wav files are mono, not stereo.) Within the quote at the end is what you want to be displayed when this sound is played, for the example above, “Cat, I’m a Kitty Cat”. Note that you can have seperate sounds for Axis and Allies, but for my sound pack, it’s the same silly sounds for both.

Next, you edit the ui/wm_quickmessage.menu and wm_quickmessageAlt.menu

Add a new menu in there for your custom sounds:
QM_MENU_START( “wm_quickmessage” )

QM_MENU_ITEM_TEAM( “S. Statements”, close wm_quickmessage; open wm_quickstatements, “s”, 0 )
QM_MENU_ITEM_TEAM( “R. Requests”, close wm_quickmessage; open wm_quickrequests, “r”, 1 )
QM_MENU_ITEM_TEAM( “C. Commands”, close wm_quickmessage; open wm_quickcommand, “c”, 2 )
QM_MENU_ITEM_TEAM( “T. Talk”, close wm_quickmessage; open wm_quickmisc, “t”, 3 )
QM_MENU_ITEM( “G. Global”, close wm_quickmessage; open wm_quickglobal, “g”, 4 )
QM_MENU_ITEM_TEAM( “F. Function”, exec “wm_sayPlayerClass”; close wm_quickmessage, “f”, 5 )
QM_MENU_ITEM_TEAM( “O. Objectives”, close wm_quickmessage; open wm_quickobjectives, “o”, 6 )
QM_MENU_ITEM( “U. Custom”, close wm_quickmessage; open wm_quickcustom, “u”, 7 )
QM_MENU_END

I added the menu “Custom”, which will open when you press the letter U.

On top of that, you have to add the same (but with numbers) to the wm_quickmessageAlt. Note the difference:
QM_MENU_START( “wm_quickmessageAlt” )

QM_MENU_ITEM_TEAM( “1. Statements”, close wm_quickmessageAlt; open wm_quickstatements_alt, “1”, 0 )
QM_MENU_ITEM_TEAM( “2. Requests”, close wm_quickmessageAlt; open wm_quickrequests_alt, “2”, 1 )
QM_MENU_ITEM_TEAM( “3. Commands”, close wm_quickmessageAlt; open wm_quickcommand_alt, “3”, 2 )
QM_MENU_ITEM_TEAM( “4. Talk”, close wm_quickmessageAlt; open wm_quickmisc_alt, “4”, 3 )
QM_MENU_ITEM( “5. Global”, close wm_quickmessageAlt; open wm_quickglobal_alt, “5”, 4 )
QM_MENU_ITEM_TEAM( “6. Function”, exec “wm_sayPlayerClass”; close wm_quickmessageAlt,“6”, 5 )
QM_MENU_ITEM_TEAM( “7. Objectives”, close wm_quickmessageAlt; open wm_quickobjectives_alt, “7”, 6 )
QM_MENU_ITEM( “8. Custom”, close wm_quickmessageAlt; open wm_quickcustom_alt, “8”, 7 )

QM_MENU_END

Now, to add a custom sound, you need to open up your new menu, again, cutting and pasting from my own sound pack:
(Note this is wm_quickmessage)QM_MENU_START( “wm_quickcustom” )
QM_MENU_ITEM( “T. TNT”, exec “VoiceChat tnt”; close wm_quickcustom, “t”, 0 )
QM_MENU_ITEM( “K. Kitty Cat”, exec “VoiceChat kittycat”; close wm_quickcustom, “k”, 1 )
QM_MENU_ITEM( “S. Shook Me”, exec “VoiceChat shook”; close wm_quickcustom, “s”, 2 )
QM_MENU_ITEM( “L. Lightning Bolt”, exec “VoiceChat lightning”; close wm_quickcustom, “l”, 3 )
QM_MENU_END

And again, you need to change the wm_quickmessageAlt.menu as well.

QM_MENU_START( “wm_quickcustom_alt” )

QM_MENU_ITEM( “1. TNT”, exec “VoiceChat tnt”; close wm_quickcustom_alt, “1”, 0 )
QM_MENU_ITEM( “2. Kitty Cat”, exec “VoiceChat kittycat”; close wm_quickcustom_alt, “2”, 1 )
QM_MENU_ITEM( “3. Shook Me”, exec “VoiceChat shook”; close wm_quickcustom_alt, “3”, 2 )
QM_MENU_ITEM( “4. Lightning Bolt”, exec “VoiceChat lightning”; close wm_quickcustom_alt, “4”, 3 )

QM_MENU_END

Make sure you take note of the sublter differenced, like the _alt added on each of the menu names. Those matter, as do the tinier details.

Hope that explains it.

And please, pardon the spacing, it was kinda cramped in the code boxes.


(stealth6) #9

QM_MENU_ITEM( “9. Even More Globals!”, close wm_quickglobal2_alt; open wwm_quickglobal3_alt, “9”, 8 )

well here is the problem for that I think
when you press even more globals! it closes the menu and tries to open:

wwm_quickglobal3_alt

which doesnt exist

maybe then you will be able to open even more globals, but there are more mistakes after that…, but hopefully this gets you a it further