Versiyon : v0.1
Değiştiren : -Thranduil;!
Eklenti hali hazırda bulunan Custom Radio V2 eklentisi üzerine yazılmıştır. Orijinal eklenti bilgisi aşağıda verilmiştir.
Eklenti İsmi : Custom Radio Commands
Versiyon : 0.6
Yazar : KaLoSZyFeR
Eklentinin başarılı şekilde yüklediğinden emin olduktan sonra; plugins.ini içerisine radio_commands.amxx ekleyiniz.
Sound içerisindeki sesleri 'sound' içerisine ekleyiniz.
Configs içerisindeki radyo_komutları.cfg'yi 'configs' içerisine ekleyiniz.
9 adet'e kadar radyo sesi oluşturulabilir.
Sesler, cfg ve sma CustomRadioCommands.rar dosyasının içerisinde verilmiştir.
İyi kullanımlar
Kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <csx>
#include <fakemeta>
#include <hamsandwich>
#if AMXX_VERSION_NUM > 182
#define client_disconnect client_disconnected
#endif
#define RADIO_COMMAND 5
new const PLUGIN[] = "Custom Radio Commands";
new const AUTHOR[] = "KaLoSZyFeR";
new const VERSION[] = "0.6";
new const PLUGINCFG[] = "radyo_komutlari.cfg";
new g_RadioTimer[33];
new MenuTitleColor[128];
new MenuColor[128];
new COMEBACK[128];
new GO[128];
new JOY[128];
new NEGATIVE[128];
new NICESHOT[128];
new HEGRENADE[128];
new FLASHBANG[128];
new SMOKEGRENADE[128];
new EXITMENU[128];
new const FB_SOUND_TE[] = "csgoradyo/te/fb.wav";
new const HG_SOUND_TE[] = "csgoradyo/te/hg.wav";
new const SG_SOUND_TE[] = "csgoradyo/te/sg.wav";
new const FB_SOUND_CT[] = "csgoradyo/ct/fb.wav";
new const HG_SOUND_CT[] = "csgoradyo/ct/hg.wav";
new const SG_SOUND_CT[] = "csgoradyo/ct/sg.wav";
/* 9 Adet Radyo Sesi Yuklenebilir!*/
stock const te_radio_sound[RADIO_COMMAND][] =
{
"csgoradyo/te/go.wav",
"csgoradyo/te/comeback.wav",
"csgoradyo/te/negative.wav",
"csgoradyo/te/niceshot.wav",
"csgoradyo/te/joy.wav"
}
stock const ct_radio_sound[RADIO_COMMAND][] =
{
"csgoradyo/ct/go.wav",
"csgoradyo/ct/comeback.wav",
"csgoradyo/ct/negative.wav",
"csgoradyo/ct/niceshot.wav",
"csgoradyo/ct/joy.wav"
}
/* 9 Adet Radyo Sesi Yuklenebilir!*/
public RadioMenu(id)
{
if(is_user_alive(id) == 0)
return PLUGIN_HANDLED;
new user_team = get_user_team(id);
switch (user_team)
{
case 1:
{
new key1 = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
new menu_body1[512]
new len1 = format(menu_body1,511,"\%sRadio Commands(TE)\%s^n\ ", MenuTitleColor, MenuColor)
len1 += format( menu_body1[len1], 511-len1, "^n\ " )
len1 += format( menu_body1[len1], 511-len1, "1. %s^n\ ", GO)
len1 += format( menu_body1[len1], 511-len1, "2. %s^n\ ", COMEBACK)
len1 += format( menu_body1[len1], 511-len1, "3. %s^n\ ", NEGATIVE)
len1 += format( menu_body1[len1], 511-len1, "4. %s^n\ ", NICESHOT)
len1 += format( menu_body1[len1], 511-len1, "5. %s^n\ ", JOY)
//len1 += format( menu_body1[len1], 511-len1, "6. %s^n\ ", HELP)
//len1 += format( menu_body1[len1], 511-len1, "7. %s^n\ ", CLEAR)
//len1 += format( menu_body1[len1], 511-len1, "8. %s^n\ ", NICE)
//len1 += format( menu_body1[len1], 511-len1, "9. %s^n\ ", SNIPER)
len1 += format( menu_body1[len1], 511-len1, "^n\ " )
len1 += format( menu_body1[len1], 511-len1, "0. %s", EXITMENU)
show_menu(id,key1,menu_body1)
return PLUGIN_HANDLED;
}
case 2:
{
new key2 = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
new menu_body2[512]
new len2 = format(menu_body2,511,"\%sRadio Commands(CT)\%s^n\ ", MenuTitleColor, MenuColor)
len2 += format( menu_body2[len2], 511-len2, "^n\ " )
len2 += format( menu_body2[len2], 511-len2, "1. %s^n\ ", GO)
len2 += format( menu_body2[len2], 511-len2, "2. %s^n\ ", COMEBACK)
len2 += format( menu_body2[len2], 511-len2, "3. %s^n\ ", NEGATIVE)
len2 += format( menu_body2[len2], 511-len2, "4. %s^n\ ", NICESHOT)
len2 += format( menu_body2[len2], 511-len2, "5. %s^n\ ", JOY)
//len2 += format( menu_body2[len2], 511-len2, "6. %s^n\ ", HELP)
//len2 += format( menu_body2[len2], 511-len2, "7. %s^n\ ", CLEAR)
//len2 += format( menu_body2[len2], 511-len2, "8. %s^n\ ", NICE)
//len2 += format( menu_body2[len2], 511-len2, "9. %s^n\ ", SNIPER)
len2 += format( menu_body2[len2], 511-len2, "^n\ " )
len2 += format( menu_body2[len2], 511-len2, "0. %s", EXITMENU)
show_menu(id,key2,menu_body2)
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public RadioTE(id, key1)
{
if(is_user_alive(id) == 0)
return PLUGIN_HANDLED;
if(g_RadioTimer[id] == 1)
return PLUGIN_HANDLED;
new players1[32],total1, team_name1[10]
get_user_team(id,team_name1, 9)
get_players(players1, total1 ,"ce", team_name1)
new name1[32]
get_user_name(id,name1,31)
for(new a1=0; a1 < total1; ++a1)
{
client_cmd(players1[a1], "spk ^"%s^"", te_radio_sound[key1])
new message1[150]
switch (key1)
{
case 0: { // 1
message1 = GO
}
case 1: { // 2
message1 = COMEBACK
}
case 2: { // 3
message1 = NEGATIVE
}
case 3: { // 4
message1 = NICESHOT
}
case 4: { // 5
message1 = JOY
}
/*
case 5: { // 6
message1 = HELP
}
case 6: { // 7
message1 = CLEAR
}
case 7: { // 8
message1 = NICE
}
case 8: { // 9
message1 = SNIPER
}
*/
}
client_print(players1[a1],print_chat,"%s (RADIO): %s",name1, message1)
g_RadioTimer[id] = 1
set_task(2.0,"radiotimer",id)
}
return PLUGIN_CONTINUE;
}
public RadioCT(id, key2)
{
if(is_user_alive(id) == 0)
return PLUGIN_HANDLED;
if(g_RadioTimer[id] == 1)
return PLUGIN_HANDLED;
new players2[32],total2, team_name2[10]
get_user_team(id,team_name2, 9)
get_players(players2, total2 ,"ce", team_name2)
new name2[32]
get_user_name(id,name2,31)
for(new a2=0; a2 < total2; ++a2)
{
client_cmd(players2[a2], "spk ^"%s^"", ct_radio_sound[key2])
new message2[150]
switch (key2)
{
case 0: { // 1
message2 = GO
}
case 1: { // 2
message2 = COMEBACK
}
case 2: { // 3
message2 = NEGATIVE
}
case 3: { // 4
message2 = NICESHOT
}
case 4: { // 5
message2 = JOY
}
/*
case 5: { // 6
message2 = HELP
}
case 6: { // 7
message2 = CLEAR
}
case 7: { // 8
message2 = NICE
}
case 8: { // 9
message2 = SNIPER
}
*/
}
client_print(players2[a2],print_chat,"%s (RADIO): %s",name2, message2)
g_RadioTimer[id] = 1
set_task(2.0,"radiotimer",id)
}
return PLUGIN_CONTINUE;
}
public plugin_precache()
{
precache_sound(te_radio_sound[0])
precache_sound(te_radio_sound[1])
precache_sound(te_radio_sound[2])
precache_sound(te_radio_sound[3])
precache_sound(te_radio_sound[4])
//precache_sound(te_radio_sound[5])
//precache_sound(te_radio_sound[6])
//precache_sound(te_radio_sound[7])
//precache_sound(te_radio_sound[8])
precache_sound(ct_radio_sound[0])
precache_sound(ct_radio_sound[1])
precache_sound(ct_radio_sound[2])
precache_sound(ct_radio_sound[3])
precache_sound(ct_radio_sound[4])
//precache_sound(ct_radio_sound[5])
//precache_sound(ct_radio_sound[6])
//precache_sound(ct_radio_sound[7])
//precache_sound(ct_radio_sound[8])
precache_sound(FB_SOUND_CT);
precache_sound(FB_SOUND_TE);
precache_sound(HG_SOUND_CT);
precache_sound(HG_SOUND_TE);
precache_sound(SG_SOUND_CT);
precache_sound(SG_SOUND_TE);
return PLUGIN_CONTINUE;
}
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("radio1", "RadioMenu", 0, "- Calls radio menu 1");
register_clcmd("radio2", "RadioMenu", 0, "- Calls radio menu 2");
register_clcmd("radio3", "RadioMenu", 0, "- Calls radio menu 3");
register_menucmd(register_menuid("Radio Commands(TE)"),511,"RadioTE");
register_menucmd(register_menuid("Radio Commands(CT)"),511,"RadioCT");
register_event("SendAudio","GameNewRoundRandomPlay","b","2=%!MRAD_GO");
register_cvar("GO", "radio")
register_cvar("COMEBACK", "radio")
register_cvar("HELP", "radio")
register_cvar("NEGATIVE", "radio")
register_cvar("CLEAR", "radio")
register_cvar("NICESHOT", "radio")
register_cvar("NICE", "radio")
register_cvar("SNIPER", "radio")
register_cvar("JOY", "radio")
register_cvar("HEGRENADE", "radio")
register_cvar("FLASHBANG", "radio")
register_cvar("SMOKEGRENADE", "radio")
register_cvar("EXITMENU", "radio")
register_cvar("MenuTitleColor", "r")
register_cvar("MenuColor", "w")
register_message(get_user_msgid("TextMsg"), "message")
register_message(get_user_msgid("SendAudio"), "msg_audio")
register_clcmd("GO", "RadioCommands", 0, "- Quick radio command")
register_clcmd("COMEBACK", "RadioCommands", 0, "- Quick radio command")
register_clcmd("HELP", "RadioCommands", 0, "- Quick radio command")
register_clcmd("NEGATIVE", "RadioCommands", 0, "- Quick radio command")
register_clcmd("CLEAR", "RadioCommands", 0, "- Quick radio command")
register_clcmd("NICESHOT", "RadioCommands", 0, "- Quick radio command")
register_clcmd("NICE", "RadioCommands", 0, "- Quick radio command")
register_clcmd("SNIPER", "RadioCommands", 0, "- Quick radio command")
register_clcmd("JOY", "RadioCommands", 0, "- Quick radio command")
server_cmd("exec addons/amxmodx/configs/%s",PLUGINCFG)
server_exec()
}
public GameNewRoundRandomPlay(id)
{
new UserTeam = get_user_team(id);
switch(UserTeam)
{
case 1:
{
client_cmd(id,"stopsound");
client_cmd(id,"spk %s",te_radio_sound[0]);
}
case 2:
{
client_cmd(id,"stopsound");
client_cmd(id,"spk %s",ct_radio_sound[0]);
}
}
}
public message()
{
if(get_msg_args() != 5 || get_msg_argtype(3) != ARG_STRING || get_msg_argtype(5) != ARG_STRING)
{
return PLUGIN_CONTINUE
}
new arg2[16]
get_msg_arg_string(3, arg2, 15)
if(!equal(arg2, "#Game_radio"))
{
return PLUGIN_CONTINUE
}
new arg5[20];
get_msg_arg_string(5, arg5, 19);
if(equal(arg5, "#Fire_in_the_hole"))
return PLUGIN_HANDLED
return PLUGIN_CONTINUE;
}
public msg_audio()
{
if(get_msg_args() != 3 || get_msg_argtype(2) != ARG_STRING)
{
return PLUGIN_CONTINUE
}
new arg2[20]
get_msg_arg_string(2, arg2, 19)
if(equal(arg2[1], "!MRAD_FIREINHOLE"))
{
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE;
}
public grenade_throw(id, grenid, wpnid)
{
new UserTeam = get_user_team(id);
new players[32],total, team_name[10]
get_user_team(id,team_name, 9)
get_players(players, total ,"ce", team_name) // No bots and Match team name
new name[32]
get_user_name(id,name,31)
for(new a=0; a < total; ++a)
{
if (UserTeam == 1) // TE
{
switch(wpnid)
{
case CSW_FLASHBANG:
{
client_cmd(players[a], "spk %s",FB_SOUND_TE);
client_print(players[a],print_chat,"%s (RADIO): %s",name, FLASHBANG);
}
case CSW_HEGRENADE:
{
client_cmd(players[a], "spk %s",HG_SOUND_TE);
client_print(players[a],print_chat,"%s (RADIO): %s",name, HEGRENADE);
}
case CSW_SMOKEGRENADE:
{
client_cmd(players[a], "spk %s",SG_SOUND_TE);
client_print(players[a],print_chat,"%s (RADIO): %s",name, SMOKEGRENADE);
}
}
}
if (UserTeam == 2) // CT
{
switch(wpnid)
{
case CSW_FLASHBANG:
{
client_cmd(players[a], "spk %s",FB_SOUND_CT);
client_print(players[a],print_chat,"%s (RADIO): %s",name, FLASHBANG);
}
case CSW_HEGRENADE:
{
client_cmd(players[a], "spk %s",HG_SOUND_CT);
client_print(players[a],print_chat,"%s (RADIO): %s",name, HEGRENADE);
}
case CSW_SMOKEGRENADE:
{
client_cmd(players[a], "spk %s",SG_SOUND_CT);
client_print(players[a],print_chat,"%s (RADIO): %s",name, SMOKEGRENADE);
}
}
}
}
return PLUGIN_CONTINUE;
}
public radiotimer(id)
{
g_RadioTimer[id] = 0
return PLUGIN_HANDLED
}
public client_connect(id)
{
g_RadioTimer[id] = 0
}
public client_disconnect(id)
{
g_RadioTimer[id] = 0
}
public plugin_cfg()
{
get_cvar_string("GO", GO, charsmax(GO));
get_cvar_string("COMEBACK", COMEBACK, charsmax(COMEBACK));
//get_cvar_string("HELP", HELP, charsmax(HELP));
get_cvar_string("NEGATIVE", NEGATIVE, charsmax(NEGATIVE));
//get_cvar_string("CLEAR", CLEAR, charsmax(CLEAR));
get_cvar_string("NICESHOT", NICESHOT, charsmax(NICESHOT));
//get_cvar_string("NICE", NICE, charsmax(NICE));
//get_cvar_string("SNIPER", SNIPER, charsmax(SNIPER));
get_cvar_string("JOY", JOY, charsmax(JOY));
get_cvar_string("HEGRENADE", HEGRENADE, charsmax(HEGRENADE));
get_cvar_string("FLASHBANG", FLASHBANG, charsmax(FLASHBANG));
get_cvar_string("SMOKEGRENADE", SMOKEGRENADE, charsmax(SMOKEGRENADE));
get_cvar_string("EXITMENU", EXITMENU, charsmax(EXITMENU));
get_cvar_string("MenuTitleColor", MenuTitleColor, charsmax(MenuTitleColor));
get_cvar_string("MenuColor", MenuColor, charsmax(MenuColor));
}
new cmd_radio[RADIO_COMMAND][] =
{
"GO",
"COMEBACK",
//"HELP",
"NEGATIVE",
//"CLEAR",
"NICESHOT",
//"NICE",
//"SNIPER",
"JOY"
}
public RadioCommands(id)
{
new RadioCommand[16]
read_argv ( 0, RadioCommand, 15 )
for(new i = 0; i < 9; i++)
{
if(equal(RadioCommand, cmd_radio[i]))
{
if(is_user_alive(id) == 0)
return PLUGIN_HANDLED;
if(g_RadioTimer[id] == 1)
return PLUGIN_HANDLED;
new players[32],total, team_name[10], name[32];
get_user_team(id,team_name, 9);
get_players(players, total ,"ce", team_name);
get_user_name(id,name,31);
new UserTeam = get_user_team(id);
if (UserTeam == 1) // TE
{
for(new a=0; a < total; ++a)
{
client_cmd(players[a], "spk ^"%s^"", te_radio_sound[i])
new message3[150];
switch(i)
{
case 0: { // 1
message3 = GO
}
case 1: { // 2
message3 = COMEBACK
}
case 2: { // 3
message3 = NEGATIVE
}
case 3: { // 4
message3 = NICESHOT
}
case 4: { // 5
message3 = JOY
}
/*
case 5: { // 6
message3 = HELP
}
case 6: { // 7
message3 = CLEAR
}
case 7: { // 8
message3 = NICE
}
case 8: { // 9
message3 = SNIPER
}
*/
}
client_print(players[a],print_chat,"%s (RADIO): %s",name, message3)
g_RadioTimer[id] = 1
set_task(2.0,"radiotimer",id)
}
}
if (UserTeam == 2) // CT
{
for(new a=0; a < total; ++a)
{
client_cmd(players[a], "spk ^"%s^"", ct_radio_sound[i])
new message3[150];
switch(i)
{
case 0: { // 1
message3 = GO
}
case 1: { // 2
message3 = COMEBACK
}
case 2: { // 3
message3 = NEGATIVE
}
case 3: { // 4
message3 = NICESHOT
}
case 4: { // 5
message3 = JOY
}
/*
case 5: { // 6
message3 = HELP
}
case 6: { // 7
message3 = CLEAR
}
case 7: { // 8
message3 = NICE
}
case 8: { // 9
message3 = SNIPER
}
*/
}
client_print(players[a],print_chat,"%s (RADIO): %s",name, message3)
g_RadioTimer[id] = 1
set_task(2.0,"radiotimer",id)
}
}
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}