Vultr.com - Instant Cloud Server Deployment
Game Rank
Servers:
Teams:
Fans:
509894
Players:
18460
infamous480048PM
#1
Need help to fix vipmenu
Oct 17, 2016 2:44 PM
Joined: Feb 06, 2016
Posts: 29



[QUOTE]#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#pragma semicolon 1

#define VIP_ACCESS ADMIN_CHAT /* flag "i" */

#define BEACON_TASKID 420

#define MAX_PLAYERS 32

#define MAX_KNIVES 6

#define XO_CBASEPLAYERITEM 4

const m_pPlayer = 41;

new g_iMenu;

new g_beacon_sprite;

new const g_beacon_sound[] = "buttons/blip1.wav";
new const g_beacon_model[] = "sprites/laserbeam.spr";

new bool:g_beacon[MAX_PLAYERS + 1];
new g_iKnives[MAX_PLAYERS + 1] = { -1, -1, ... };

enum _:KnifeData
{
NAME[16],
VMODEL[64]
};

new const g_KnivesData[MAX_KNIVES][KnifeData] = {
{ "Default Knife", "models/v_knife.mdl" },
{ "Knife #1", "models/newknives1234/v_knife1.mdl" },
{ "Knife #2", "models/newknives1234/v_knife2.mdl" },
{ "Knife #3", "models/newknives1234/v_knife3.mdl" },
{ "Knife #4", "models/newknives1234/v_knife4.mdl" },
{ "Knife #5", "models/newknives1234/v_knife5.mdl" }
};

public plugin_init() {
register_plugin("VIP Stuff","v1.0","Hyuna");

create_thevip_menu();
register_clcmd("say !vip","cmdVips",VIP_ACCESS,"Shows VIP Menu");

RegisterHam(Ham_Killed,"player","fwdHamKilledPost",1);
RegisterHam(Ham_Item_Deploy,"weapon_knife","fwdHamItemDeployPost",1);
}

public create_thevip_menu()
{
g_iMenu = menu_create("[AMXX] VIP Menu","mHandler");

menu_additem(g_iMenu,"Add 120HP");
menu_additem(g_iMenu,"Active/Deactive Beacon");
menu_additem(g_iMenu,"Drug me");
menu_additem(g_iMenu,"75% Gravity");
menu_addblank(g_iMenu,1);
menu_additem(g_iMenu,"Knife Menu");
}

public plugin_precache() {
g_beacon_sprite = precache_model(g_beacon_model);
precache_sound(g_beacon_sound);

for (new i = 1; i < MAX_KNIVES; i++)
{
if(!file_exists(g_KnivesData[VMODEL])) // Safe fail check
{
new shit[128];
formatex(shit,charsmax(shit),"Error! Model ^"%s^" not found!",g_KnivesData[VMODEL]);
set_fail_state(shit);
}

precache_model(g_KnivesData[VMODEL]);
}
}

public client_connect(client) {
g_beacon[client] = false;
g_iKnives[client] = -1;
}

public client_disconnect(client) {
g_beacon[client] = false;
g_iKnives[client] = -1;
}

public fwdHamKilledPost(client, idattacker, shouldgib) {
g_beacon[client] = false;
}

public fwdHamItemDeployPost(ent) {
new client = get_pdata_cbase(ent,m_pPlayer,XO_CBASEPLAYERITEM);

set_pev(client,pev_viewmodel2,g_KnivesData[g_iKnives[client]][VMODEL]);
}

public cmdVips(client,level,cid) {
if (!cmd_access(client,level,cid,1))
{
client_print(client,print_chat,"[AMXX] You have no access!");
return PLUGIN_HANDLED;
}

if (!is_user_alive(client))
{
client_print(client,print_chat,"[AMXX] You need to be alive to use this menu!");
return PLUGIN_HANDLED;
}

menu_display(client, g_iMenu);

return PLUGIN_HANDLED;
}

public mHandler(client,menu,item) {
if (!is_user_alive(client))
return PLUGIN_HANDLED;

switch (item)
{
case 0:
{
set_user_health(client,max(get_user_health(client) + 120,255));
client_print(client,print_chat,"[AMXX] You have got 120HP!");
}

case 1:
{
g_beacon[client] = !g_beacon[client];

client_print(client,print_chat,"[AMXX] You have %sabled beacon!",(g_beacon[client] ? "en":"dis"));

if (g_beacon[client])
set_task(1.0,"create_beacon",BEACON_TASKID + client,.flags="b");
}
case 2:
{
makeMeDrugged(client);
client_print(client,print_chat,"[AMXX] You have smoked some weed!");
}

case 3:
{
set_user_gravity(client,0.75);
client_print(client,print_chat,"[AMXX] You have got 25% less gravity!");
}

case 4: showKnifeMenu(client);
}

return PLUGIN_HANDLED;
}

public showKnifeMenu(client) {
static shit[128], iKnivesMenu, i,cb;

iKnivesMenu = menu_create("[AMXX] Vip's Knife Menu","mKnifeHandler");
cb = menu_makecallback("mKnifeCallback");

for (i = 0; i < MAX_KNIVES; i++)
{
formatex(shit,charsmax(shit),"%s %s",g_KnivesData[NAME],(g_iKnives[client] == i ? "- Current Knife":""));
menu_additem(iKnivesMenu,shit,.callback=cb);
}
menu_display(client, iKnivesMenu);
}

public mKnifeCallback(client,menu,item) {
return (g_iKnives[client] == item) ? ITEM_DISABLED:ITEM_ENABLED;
}

public mKnifeHandler(client,menu,item) {
if (item != MENU_EXIT)
{
g_iKnives[client] = item;

client_print(client,print_chat,"[AMXX] You have choosed %s as your current knife.",g_KnivesData[item][NAME]);
}

menu_destroy(menu);
return PLUGIN_HANDLED;
}

public create_beacon(player) {
player -= BEACON_TASKID;

if (!is_user_alive(player) || !g_beacon[player])
{
remove_task(player + BEACON_TASKID);
return;
}

static origin[3];
emit_sound(player,CHAN_ITEM,g_beacon_sound,1.0,ATTN_NORM,0,PITCH_NORM);

get_user_origin(player,origin);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_BEAMCYLINDER);
write_coord(origin[0]); //position.x
write_coord(origin[1]); //position.y
write_coord(origin[2] - (pev(player,pev_button) & IN_DUCK ? 7:25)); //position.z
write_coord(origin[0]); //axis.x
write_coord(origin[1]); //axis.y
write_coord(origin[2]+200); //axis.z
write_short(g_beacon_sprite); //sprite index
write_byte(0); //starting frame
write_byte(1); //frame rate in 0.1's
write_byte(6); //life in 0.1's
write_byte(2); //line width in 0.1's
write_byte(1); //noise amplitude in 0.01's

new bool:is_terrorist = (cs_get_user_team(player) == CS_TEAM_T) ? true:false;

write_byte(is_terrorist ? 255:0); //red
write_byte(0); //green
write_byte(is_terrorist ? 0:255); //blue

write_byte(255); //brightness
write_byte(6); //scroll speed in 0.1's
message_end();
}

stock makeMeDrugged(client) {
static msgSetFOV;

if (!msgSetFOV)
msgSetFOV = get_user_msgid("SetFOV");

message_begin(MSG_ONE,msgSetFOV,{ 0, 0, 0 },client);
write_byte(180);
message_end();
}