#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <engine>
new color[33][3]
new message
public plugin_init()
{
register_plugin("Nightvision menu", "0.01", "G[o]Q");
register_forward(FM_EmitSound, "Fwd_EmitSound");
message = get_user_msgid("ScreenFade");
register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
}
public Poczatek_Rundy()
{
for(new i=1;i<33;i++){
if(!is_user_connected(i)) continue;
if(task_exists(i))
remove_task(i);
if(is_user_alive(i))
{
if(cs_get_user_team(i) == CS_TEAM_T)
{
Show(i)
}
}
}
}
public Show(id)
{
new xmenu=menu_create("\rNightvision menu:","Pressed");
menu_additem(xmenu,"Blue");
menu_additem(xmenu,"Red");
menu_additem(xmenu,"Yellow");
menu_setprop(xmenu,MPROP_NUMBER_COLOR,"\r");
menu_display(id, xmenu,0);
return PLUGIN_HANDLED;
}
public Pressed(id, menu, item)
{
switch(item)
{
case 0:{ //Blue
color[id]={0,0,255}
cs_set_user_nvg(id,11)
engclient_cmd(id,"nightvision")
}
case 1:{ //Red
color[id]={255,0,0}
cs_set_user_nvg(id,11)
engclient_cmd(id,"nightvision")
}
case 2:{ //Yellow
color[id]={255,255,0}
cs_set_user_nvg(id,11)
engclient_cmd(id,"nightvision")
}
}
}
public Fwd_EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
{
if(equali(szSound, "items/nvg_on.wav"))
{
ustaw(id)
set_task(0.1,"ustaw",id,_,_,"b")
}
if(equali(szSound, "items/nvg_off.wav"))
{
remove_task(id)
}
}
public ustaw(id)
{
set_nvg(id,color)
light(id)
}
stock set_nvg(id,color[][])
{
message_begin(MSG_ONE_UNRELIABLE,message,{0,0,0},id)
write_short(1000)
write_short(1000)
write_short(1<<10)
write_byte(0)
write_byte(0)
write_byte(0)
write_byte(0)
message_end()
message_begin(MSG_ONE_UNRELIABLE,message,{0,0,0},id)
write_short(1000)
write_short(1000)
write_short(1<<10)
write_byte(color[id][0])
write_byte(color[id][1])
write_byte(color[id][2])
write_byte(145)
message_end()
}
stock light(id)
{
if(!is_user_alive(id)) return PLUGIN_HANDLED
new Float:forigin[3], origin[3]
pev(id,pev_origin,forigin)
FVecIVec(forigin,origin)
message_begin(MSG_ONE_UNRELIABLE,SVC_TEMPENTITY,{0,0,0},id)
write_byte(27)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_byte(120) //Radius
write_byte(color[id][0])
write_byte(color[id][1])
write_byte(color[id][2])
write_byte(40)
write_byte(100)
message_end()
return PLUGIN_CONTINUE
}
Użytkownik tEc. edytował ten post 28.05.2010 21:05