Hello all , this program is a simple setup I made for playing with SV_GameSendServerCommand, particularly the sound clips. This has no real practical purpose, it's just an app for fun to show one use of the SV_ as you can see in the video we have an input box for a number (350-10299) and a button to play that sound, we have a random button , and a "play all @ random" button(stop play button shows after play all is started) http://youtu.be/QHTpV9-v52Q (note that random button will not make a sound for every click as there is not a sound in every # , and sometimes the "play all @ random" will overlap longer sounds like game music etc due to the timer set to change sound every 1.5 seconds, also you must be in match or loadout select screen or it will freeze mp game ) here is a small list of some sound numbers 10299 = "time to work ghost squad" 10109 = beginning match sound 5161 = "free for all" 5163 = "friendly..... inbound" 5164 = "friendly air superiority inbound" 5166 = "friendly commander online" 5167 = "friendly VIP down" 5168 = "friendly EMP detonating....." 5169 = "friendly ground jammer active" 5999 = ladys voice yelling 9999 = voice with rocket sound in bkg 6555 = "enemy overwatch......" 1180 = "semtex out" 1184 = "grenade incoming" 1188 = "contact" 1192 = "comm link" 1193 = "danger close" 1194 = "dead eye" 1195 = "extra lethal" 1196 = "extra tactical" 1197 = "extra attachment" 1198 = "fully loaded" 1199 = "gambler" 1200 = "icu" 1201 = "incog" 1202 = "incognito" 1203 = Spanish? phrase1 1205 = Spanish? phrase2 source Spoiler using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using XRPCLib; namespace Ghosts_Sound_Player { public partial class Form1 : Form { public XRPC x = new XRPC(); public Random rnd = new Random(); public Form1() { InitializeComponent(); } private void XPG_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("http://www.xpgamesaves.com"); } private void DTime_Tick(object sender, EventArgs e) { dateLbl.Text = System.DateTime.Now.ToString(); } private void Form1_Load(object sender, EventArgs e) { try { x.Connect(); MessageBox.Show("Connected To: " + x.xbCon.Name + "\n\nConsole Type: " + x.xbCon.ConsoleType + "\n\nMounted Drives: " + x.xbCon.Drives + "\n\nCurrently Running: " + x.xbCon.RunningProcessInfo.ProgramName, "Connected!"); } catch (System.Exception) { MessageBox.Show("No Console To Connect"); } } private void playSound_Click(object sender, EventArgs e) { x.Call(0x824B9AB0, 0, 0, "n " + cmdTxt.Text); } private void rndSound_Click(object sender, EventArgs e) { x.Call(0x824B9AB0, 0, 0, "n " + rnd.Next(350,10299)); } private void playallRnd_Click(object sender, EventArgs e) { playAll.Start(); stopRnd.Visible = true; } private void playAll_Tick(object sender, EventArgs e) { x.Call(0x824B9AB0, 0, 0, "n " + rnd.Next(350,10299)); } private void stopRnd_Click(object sender, EventArgs e) { playAll.Stop(); stopRnd.Visible = false; playallRnd.Visible = true; } } }