Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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");
- 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 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[i][VMODEL])) // Safe fail check
- {
- new shit[128];
- formatex(shit,charsmax(shit),"Error! Model ^"%s^" not found!",g_KnivesData[i][VMODEL]);
- set_fail_state(shit);
- }
- precache_model(g_KnivesData[i][VMODEL]);
- }
- }
- public plugin_cfg() {
- 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 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[i][NAME],(g_iKnives[client] == i ? "- Current Knife":""));
- menu_additem(iKnivesMenu,shit,.callback=cb);
- }
- }
- 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();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement