PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <colorchat>
#define PLUGIN "FunMenu"
#define VERSION "0.1"
#define AUTHOR "Fraancoo"
#define TASK_AURA 27000
new GlowColors
new ScreenFades
new const mortar[] = { "\weapons\mortar.wav" }
new const activated[] = { "vox\activated.wav" }
new const Fade = 0x0000
new const UnitSecond = (1<<12)
new Menu
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /funmenu", "abrir_menu")
GlowColors = register_cvar( "amx_glowcolors", "1" )
RegisterHam(Ham_Spawn, "player", "PlayerSpawn")
register_event("ResetHUD", "fwEvResetHUD", "b");
RegisterHam(Ham_Spawn, "player", "SpawnPL", 1)
ScreenFades = get_user_msgid("ScreenFade")
}
public abrir_menu(id)
{
new Menu = menu_create("\wFunMenu", "mostrar_menu")
menu_additem(Menu, "\rSelect Glow" , "1", 0)
menu_additem(Menu, "\ySelect Aura and ScreenFade" , "2", 0)
menu_setprop(Menu,MPROP_EXITNAME,"Salir")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}
public abrir_menu2(id)
{
new Menu2 = menu_create("\wFunMenu \yGlow", "mostrar_menu2")
menu_additem(Menu2, "\yGlow White" , "1", 0)
menu_additem(Menu2, "\yGlow Red" , "2", 0)
menu_additem(Menu2, "\yGlow Blue" , "3", 0)
menu_additem(Menu2, "\yGlow Green" , "4", 0)
menu_additem(Menu2, "\yGlow Yellow" , "5", 0)
menu_additem(Menu2, "\yGlow Cyan" , "6", 0)
menu_additem(Menu2, "\yGlow Pink" , "7", 0)
menu_setprop(Menu2,MPROP_EXITNAME,"Salir")
menu_setprop(Menu2, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu2, 0)
}
public abrir_menu3(id)
{
new Menu3 = menu_create("\wFunMenu \yAura and ScreenFade", "mostrar_menu3")
menu_additem(Menu3, "\yAura Red" , "1", 0)
menu_additem(Menu3, "\yAura Blue" , "2", 0)
menu_additem(Menu3, "\yAura Green" , "3", 0)
menu_additem(Menu3, "\yAura Yellow" , "4", 0)
menu_additem(Menu3, "\yAura Cyan" , "5", 0)
menu_additem(Menu3, "\yAura White" , "6", 0)
menu_additem(Menu3, "\yAura Pink" , "7", 0)
menu_setprop(Menu3,MPROP_EXITNAME,"Salir")
menu_setprop(Menu3, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu3, 0)
return PLUGIN_HANDLED
}
public plugin_precache()
{
precache_sound(activated)
precache_sound(mortar)
}
public fwEvResetHUD( id )
{
if (!is_user_alive(id))
return;
set_user_rendering(id)
}
public PlayerSpawn(id)
{
set_user_rendering(id)
remove_task(id + TASK_AURA)
}
public SpawnPL(id)
{
if(is_user_alive(id))
{
menu_display(id, Menu)
set_user_rendering(id)
}
}
public ScreenRed(id)
{
// Screen Fade
message_begin(MSG_ONE, ScreenFades, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(Fade)
write_byte(255) // R
write_byte(0) // G
write_byte(0) // B
write_byte(200) // Alpha
message_end()
}
public ScreenBlue(id)
{
// Screen Fade
message_begin(MSG_ONE, ScreenFades, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(Fade)
write_byte(0) // R
write_byte(0) // G
write_byte(255) // B
write_byte(200) // Alpha
message_end()
}
public ScreenGreen(id)
{
// Screen Fade
message_begin(MSG_ONE, ScreenFades, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(Fade)
write_byte(0) // R
write_byte(255) // G
write_byte(0) // B
write_byte(200) // Alpha
message_end()
}
public Screenyellow(id)
{
// Screen Fade
message_begin(MSG_ONE, ScreenFades, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(Fade)
write_byte(255) // R
write_byte(255) // G
write_byte(0) // B
write_byte(200) // Alpha
message_end()
}
public Screencyan(id)
{
// Screen Fade
message_begin(MSG_ONE, ScreenFades, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(Fade)
write_byte(0) // R
write_byte(255) // G
write_byte(255) // B
write_byte(200) // Alpha
message_end()
}
public Screenwhite(id)
{
// Screen Fade
message_begin(MSG_ONE, ScreenFades, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(Fade)
write_byte(255) // R
write_byte(255) // G
write_byte(255) // B
write_byte(200) // Alpha
message_end()
}
public Screenpink(id)
{
// Screen Fade
message_begin(MSG_ONE, ScreenFades, _, id)
write_short(UnitSecond*5)
write_short(UnitSecond*0)
write_short(Fade)
write_byte(255) // R
write_byte(0) // G
write_byte(255) // B
write_byte(200) // Alpha
message_end()
}
public mostrar_menu(id, Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Menu)
return PLUGIN_HANDLED
}
new iData[6];
new iAccess;
new iCallback;
new iName[64];
menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback)
switch (str_to_num(iData))
{
case 1:
{
if (is_user_alive(id) && get_pcvar_num(GlowColors))
{
abrir_menu2(id)
}
}
case 2:
{
if (is_user_alive(id) && get_pcvar_num(GlowColors))
{
abrir_menu3(id)
}
}
}
return PLUGIN_HANDLED
}
public mostrar_menu2(id, Menu2, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Menu2)
return PLUGIN_HANDLED
}
new iData[6];
new iAccess;
new iCallback;
new iName[64];
menu_item_getinfo(Menu2, item, iAccess, iData, 5, iName, 63, iCallback)
switch (str_to_num(iData))
{
case 1:
{
if( is_user_alive( id ) && get_pcvar_num( GlowColors ) )
{
set_user_rendering(id, kRenderFxGlowShell, 255, 255, 255, kRenderNormal,16)
client_cmd(id, "spk sound/%s", activated)
set_hudmessage(255, 255, 255, -1.0, 0.35, 2, 0.1, 2.0, 0.05, 1.0, -1)
show_hudmessage(id, "You selected a White Glow!")
}
else
{
ColorChat(id, GREEN, "Don't use glow, You are dead")
menu_destroy(Menu2)
}
}
case 2:
{
if( is_user_alive( id ) && get_pcvar_num( GlowColors ) )
{
set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal,16)
client_cmd(id, "spk sound/%s", activated)
set_hudmessage(255, 0, 0, -1.0, 0.35, 2, 0.1, 2.0, 0.05, 1.0, -1)
show_hudmessage(id, "You selected a Red Glow!")
}
else
{
ColorChat(id, GREEN, "Don't use glow, You are dead")
menu_destroy(Menu2)
}
}
case 3:
{
if( is_user_alive( id ) && get_pcvar_num( GlowColors ) )
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal,16)
client_cmd(id, "spk sound/%s", activated)
set_hudmessage(0, 0, 255, -1.0, 0.35, 2, 0.1, 2.0, 0.05, 1.0, -1)
show_hudmessage(id, "You selected a Blue Glow")
}
else
{
ColorChat(id, GREEN, "Don't use glow, You are dead")
menu_destroy(Menu2)
}
}
case 4:
{
if( is_user_alive( id ) && get_pcvar_num( GlowColors ) )
{
set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal,16)
client_cmd(id, "spk sound/%s", activated)
set_hudmessage(0, 255, 0, -1.0, 0.35, 2, 0.1, 2.0, 0.05, 1.0, -1)
show_hudmessage(id, "You selected a Green Glow")
}
else
{
ColorChat(id, GREEN, "Don't use glow, You are dead")
menu_destroy(Menu2)
}
}
case 5:
{
if( is_user_alive( id ) && get_pcvar_num( GlowColors ) )
{
set_user_rendering(id, kRenderFxGlowShell, 255, 255, 0, kRenderNormal,16)
client_cmd(id, "spk sound/%s", activated)
set_hudmessage(255, 255, 0, -1.0, 0.35, 2, 0.1, 2.0, 0.05, 1.0, -1)
show_hudmessage(id, "You selected a Yellow Glow")
}
else
{
ColorChat(id, GREEN, "Don't use glow, You are dead")
menu_destroy(Menu2)
}
}
case 6:
{
if( is_user_alive( id ) && get_pcvar_num( GlowColors ) )
{
set_user_rendering(id, kRenderFxGlowShell, 0, 255, 255, kRenderNormal,16)
client_cmd(id, "spk sound/%s", activated)
set_hudmessage(0, 255, 255, -1.0, 0.35, 2, 0.1, 2.0, 0.05, 1.0, -1)
show_hudmessage(id, "You selected a Cyan Glow!")
}
else
{
ColorChat(id, GREEN, "Don't use glow, You are dead")
menu_destroy(Menu2)
}
}
case 7:
{
if( is_user_alive( id ) && get_pcvar_num( GlowColors ) )
{
set_user_rendering(id, kRenderFxGlowShell, 255, 0, 255, kRenderNormal,16)
client_cmd(id, "spk sound/%s", activated)
set_hudmessage(255, 0, 255, -1.0, 0.35, 2, 0.1, 2.0, 0.05, 1.0, -1)
show_hudmessage(id, "You selected a Pink Glow!")
}
else
{
ColorChat(id, GREEN, "Don't use glow, You are dead")
menu_destroy(Menu2)
}
}
}
return PLUGIN_HANDLED
}
public mostrar_menu3(id, Menu3, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Menu3)
return PLUGIN_HANDLED
}
new iData3[6];
new iAccess3;
new iCallback3;
new iName3[64];
menu_item_getinfo(Menu3, item, iAccess3, iData3, 5, iName3, 63, iCallback3)
switch (str_to_num(iData3))
{
case 1:
{
if (is_user_alive(id))
{
remove_task(id + TASK_AURA)
ScreenRed(id)
client_cmd(id, "spk sound/%s", mortar)
set_hudmessage(255, 0, 0, -1.0, 0.85, 2, 6.0, 5.0)
show_hudmessage(id, "...Loading Aura...")
set_task(5.0, "red", id + TASK_AURA, _, _, "b")
}
}
case 2:
{
if (is_user_alive(id))
{
remove_task(id + TASK_AURA)
ScreenBlue(id)
client_cmd(id, "spk sound/%s", mortar)
set_hudmessage(0, 0, 255, -1.0, 0.85, 2, 6.0, 5.0)
show_hudmessage(id, "...Loading Aura...")
set_task(5.0, "blue", id + TASK_AURA, _, _, "b")
}
}
case 3:
{
if (is_user_alive(id))
{
remove_task(id + TASK_AURA)
ScreenGreen(id)
client_cmd(id, "spk sound/%s", mortar)
set_hudmessage(0, 255, 0, -1.0, 0.85, 2, 6.0, 5.0)
show_hudmessage(id, "...Loading Aura...")
set_task(5.0, "green", id + TASK_AURA, _, _, "b")
}
}
case 4:
{
if (is_user_alive(id))
{
remove_task(id + TASK_AURA)
Screenyellow(id)
client_cmd(id, "spk sound/%s", mortar)
set_hudmessage(255, 255, 0, -1.0, 0.85, 2, 6.0, 5.0)
show_hudmessage(id, "...Loading Aura...")
set_task(5.0, "yellow", id + TASK_AURA, _, _, "b")
}
}
case 5:
{
if (is_user_alive(id))
{
remove_task(id + TASK_AURA)
Screencyan(id)
client_cmd(id, "spk sound/%s", mortar)
set_hudmessage(0, 255, 255, -1.0, 0.85, 2, 6.0, 5.0)
show_hudmessage(id, "...Loading Aura...")
set_task(5.0, "cyan", id + TASK_AURA, _, _, "b")
}
}
case 6:
{
if (is_user_alive(id))
{
remove_task(id + TASK_AURA)
Screenwhite(id)
client_cmd(id, "spk sound/%s", mortar)
set_hudmessage(255, 255, 255, -1.0, 0.85, 2, 6.0, 5.0)
show_hudmessage(id, "...Loading Aura...")
set_task(5.0, "white", id + TASK_AURA, _, _, "b")
}
}
case 7:
{
if (is_user_alive(id))
{
remove_task(id + TASK_AURA)
Screenpink(id)
client_cmd(id, "spk sound/%s", mortar)
set_hudmessage(255, 0, 255, -1.0, 0.85, 2, 6.0, 5.0)
show_hudmessage(id, "...Loading Aura...")
set_task(5.0, "pink", id + TASK_AURA, _, _, "b")
}
}
}
return PLUGIN_HANDLED
}
public red(id)
{
id -= TASK_AURA
if (!is_user_alive(id))
return
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0) // Abrmios la Funcion
write_byte(TE_DLIGHT) // TE Id
engfunc(EngFunc_WriteCoord, FOrigin[0]) // Posicion del Player
engfunc(EngFunc_WriteCoord, FOrigin[1]) // Posicion 'Y'
engfunc(EngFunc_WriteCoord, FOrigin[2]) // Posicion 'X'
write_byte(50) // Radio del Aura
write_byte(255) // Color Rojo
write_byte(0) // Color Verde
write_byte(0) // Color Azul
write_byte(2) // Life
write_byte(0) // Delay Rate = Tiempo que tarda en cerrarse el Aura.
message_end() // Cerramos la Funcion.
}
public blue(id)
{
id -= TASK_AURA
if (!is_user_alive(id))
return
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0) // Abrmios la Funcion
write_byte(TE_DLIGHT) // TE Id
engfunc(EngFunc_WriteCoord, FOrigin[0]) // Posicion del Player
engfunc(EngFunc_WriteCoord, FOrigin[1]) // Posicion 'Y'
engfunc(EngFunc_WriteCoord, FOrigin[2]) // Posicion 'X'
write_byte(50) // Radio del Aura
write_byte(0) // Color Rojo
write_byte(0) // Color Verde
write_byte(255) // Color Azul
write_byte(2) // Life
write_byte(0) // Delay Rate = Tiempo que tarda en cerrarse el Aura.
message_end() // Cerramos la Funcion.
}
public white(id)
{
id -= TASK_AURA
if (!is_user_alive(id))
return
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0) // Abrmios la Funcion
write_byte(TE_DLIGHT) // TE Id
engfunc(EngFunc_WriteCoord, FOrigin[0]) // Posicion del Player
engfunc(EngFunc_WriteCoord, FOrigin[1]) // Posicion 'Y'
engfunc(EngFunc_WriteCoord, FOrigin[2]) // Posicion 'X'
write_byte(50) // Radio del Aura
write_byte(255) // Color Rojo
write_byte(255) // Color Verde
write_byte(255) // Color Azul
write_byte(2) // Life
write_byte(0) // Delay Rate = Tiempo que tarda en cerrarse el Aura.
message_end() // Cerramos la Funcion.
}
public green(id)
{
id -= TASK_AURA
if (!is_user_alive(id))
return
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0) // Abrmios la Funcion
write_byte(TE_DLIGHT) // TE Id
engfunc(EngFunc_WriteCoord, FOrigin[0]) // Posicion del Player
engfunc(EngFunc_WriteCoord, FOrigin[1]) // Posicion 'Y'
engfunc(EngFunc_WriteCoord, FOrigin[2]) // Posicion 'X'
write_byte(50) // Radio del Aura
write_byte(0) // Color Rojo
write_byte(255) // Color Verde
write_byte(0) // Color Azul
write_byte(2) // Life
write_byte(0) // Delay Rate = Tiempo que tarda en cerrarse el Aura.
message_end() // Cerramos la Funcion.
}
public yellow(id)
{
id -= TASK_AURA
if (!is_user_alive(id))
return
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0) // Abrmios la Funcion
write_byte(TE_DLIGHT) // TE Id
engfunc(EngFunc_WriteCoord, FOrigin[0]) // Posicion del Player
engfunc(EngFunc_WriteCoord, FOrigin[1]) // Posicion 'Y'
engfunc(EngFunc_WriteCoord, FOrigin[2]) // Posicion 'X'
write_byte(50) // Radio del Aura
write_byte(255) // Color Rojo
write_byte(255) // Color Verde
write_byte(0) // Color Azul
write_byte(2) // Life
write_byte(0) // Delay Rate = Tiempo que tarda en cerrarse el Aura.
message_end() // Cerramos la Funcion.
}
public cyan(id)
{
id -= TASK_AURA
if (!is_user_alive(id))
return
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0) // Abrmios la Funcion
write_byte(TE_DLIGHT) // TE Id
engfunc(EngFunc_WriteCoord, FOrigin[0]) // Posicion del Player
engfunc(EngFunc_WriteCoord, FOrigin[1]) // Posicion 'Y'
engfunc(EngFunc_WriteCoord, FOrigin[2]) // Posicion 'X'
write_byte(50) // Radio del Aura
write_byte(0) // Color Rojo
write_byte(255) // Color Verde
write_byte(255) // Color Azul
write_byte(2) // Life
write_byte(0) // Delay Rate = Tiempo que tarda en cerrarse el Aura.
message_end() // Cerramos la Funcion.
}
public pink(id)
{
id -= TASK_AURA
if (!is_user_alive(id))
return
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0) // Abrmios la Funcion
write_byte(TE_DLIGHT) // TE Id
engfunc(EngFunc_WriteCoord, FOrigin[0]) // Posicion del Player
engfunc(EngFunc_WriteCoord, FOrigin[1]) // Posicion 'Y'
engfunc(EngFunc_WriteCoord, FOrigin[2]) // Posicion 'X'
write_byte(50) // Radio del Aura
write_byte(255) // Color Rojo
write_byte(0) // Color Verde
write_byte(255) // Color Azul
write_byte(2) // Life
write_byte(0) // Delay Rate = Tiempo que tarda en cerrarse el Aura.
message_end() // Cerramos la Funcion.
}