View Single Post
l00ka
Junior Member
Join Date: Sep 2012
Old 03-28-2020 , 17:06   Re: VIP Menu Plugin problems with compiling
Reply With Quote #9

Quote:
Originally Posted by Napoleon_be View Post
Weird, it should work. Post the code u are currently using.
Yes its really weird.

here is the code:
PHP Code:
/* Plugin created by .l00ka*/

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "VIP Menu by .l00ka"
#define VERSION "1.0"
#define AUTHOR ".l00ka"
new mVIPmenu// Menu
new mcbVIPMenu// Menu Callback
new VipUsed[33];
new const 
PREFIX[] = { "!g[VIP-MENU]!n" };
new 
nSelectedItem 0;
new 
pHeadShot;
new 
pKill;
new 
pMaxHp;
new 
checkReceiveBonusHP;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
register_event("DeathMsg""add_bonus_hp""a""1>0");
    
RegisterHam(Ham_Spawn"player""FwdHamSpawn_Post"1);
    
    
register_clcmd("say vm""showVIPmenu"ADMIN_LEVEL_H);
    
register_clcmd("say /vm""showVIPmenu"ADMIN_LEVEL_H);
    
register_clcmd("say vipmenu""showVIPmenu"ADMIN_LEVEL_H);
    
register_clcmd("say /vipmenu""showVIPmenu"ADMIN_LEVEL_H);
    
    
// Features
    
pHeadShot register_cvar("vipmenu_hp_hs""30");
    
pKill register_cvar("vipmenu_hp""15");
    
pMaxHp register_cvar("vipmenu_max_hp""100");
    
checkReceiveBonusHP false;
}


public 
FwdHamSpawn_Post(id)
{
    if (
is_user_alive(id)) {
        
execOnNextRound(id);
        
// Restrict menu for one time per round
        
VipUsed[id] = false;
    }
}


public 
showVIPmenu(idlevel)
{
    if( !( 
get_user_flagsid ) & level ) )
    {
        
console_printid"You have no access to this command." );
        return 
PLUGIN_HANDLED;
    }
    if(!
VipUsed[id]) 
    {    
        
/* Menu Choose VIP Feature: */
        
mVIPmenu menu_create("\yChoose VIP Feature: ^n\rby .l00ka""mh_VipMenuHandler");
        
mcbVIPMenu menu_makecallback("mcb_VIPMenu")
        switch(
nSelectedItem) {
        
            case 
0
            {
                
menu_additem(mVIPmenu"Kevler + Helm""1"ADMIN_LEVEL_H0);
                
menu_additem(mVIPmenu"Grenade Pack""2"ADMIN_LEVEL_H0);
                
menu_additem(mVIPmenu"HP Bonus on Kill""3"ADMIN_LEVEL_H0);
            }
            
            case 
1
            {
                
menu_additem(mVIPmenu"Kevler + Helm \r*""1"ADMIN_LEVEL_HmcbVIPMenu);
                
menu_additem(mVIPmenu"Grenade Pack""2"ADMIN_LEVEL_H0);
                
menu_additem(mVIPmenu"HP Bonus on Kill""3"ADMIN_LEVEL_H0);
            }
            case 
2:
            {
                
menu_additem(mVIPmenu"Kevler + Helm""1"ADMIN_LEVEL_H0);
                
menu_additem(mVIPmenu"Grenade Pack \r*""2"ADMIN_LEVEL_HmcbVIPMenu);
                
menu_additem(mVIPmenu"HP Bonus on Kill""3"ADMIN_LEVEL_H0);
            }
            case 
3:
            {
                
menu_additem(mVIPmenu"Kevler + Helm""1"ADMIN_LEVEL_H0);
                
menu_additem(mVIPmenu"Grenade Pack""2"ADMIN_LEVEL_H0);
                
menu_additem(mVIPmenu"HP Bonus on Kill \r*""3"ADMIN_LEVEL_HmcbVIPMenu);
            }
        }    
        
menu_setprop(mVIPmenuMPROP_EXITMEXIT_ALL);
        
/* Menu End */
        
menu_display(idmVIPmenu0);
        
        return 
PLUGIN_HANDLED;
    }
    else if(
VipUsed[id])
    {
        
client_printc(id"%s You Already used !gVIP Menu!n this round. Please wait until next round!"PREFIX);
    }
    else 
    {
        
client_printc(id"%s Only !gAdmins!n and !gVIPs!n may use the VIP Menu"PREFIX);
        return 
PLUGIN_HANDLED;
        
    }
    return 
PLUGIN_HANDLED;
}


/* Menu Choose VIP Feature: */

public mh_VipMenuHandler(idmenuitem) {
    if( 
item == MENU_EXIT ) {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    
    new 
key str_to_num(data);
    switch(
key)
    {
        case 
1:
        {
            if(
nSelectedItem != key) {            
                
VipUsed[id] = true;            
                
nSelectedItem key;
                
client_printc(id"%s !gKevler!n and !gHelm!n will be added next round."PREFIX);
            }
            
        }
        case 
2:
        {
            if(
nSelectedItem != key) {            
                
VipUsed[id] = true;    
                
nSelectedItem key;
                
client_printc(id"%s !gGranade Pack!n will be added next round."PREFIX);
            }
        }
        case 
3:
        {
            if(
nSelectedItem != key) {            
                
VipUsed[id] = true;    
                
nSelectedItem key;
                
client_printc(id"%s !gHP Bonus!n will be added next round."PREFIX);
            }
        }
    }
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;        
    
}


/* Methode that will be called at next round start. */
public execOnNextRound(id) {
    switch(
nSelectedItem) {
        case 
1
        {        
            
give_item(id"item_assaultsuit");
            
set_user_armor(id100);
            
checkReceiveBonusHP false;
            
        }
        case 
2:
        {
            
give_item(id"weapon_hegrenade");
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_smokegrenade");
            
checkReceiveBonusHP false;
        }
        case 
3:
        {
            
checkReceiveBonusHP true;
        }
    }
}



// Colour Chat
stock client_printc(const id, const input[], any:...)
{
    new 
count 1players[32];
    static 
msg[191];
    
vformat(msg190input3);        
    
replace_all(msg190"!g""^x04"); // Green Color
    
replace_all(msg190"!n""^x01"); // Default Color
    
replace_all(msg190"!t""^x03"); // Team Color
    
    
if (idplayers[0] = id; else get_players(playerscount"ch");
{
    for (new 
0counti++)
    {
        if (
is_user_connected(players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]);
            
write_byte(players[i]);
            
write_string(msg);
            
message_end();
        }
    }
}

}



public 
mcb_VIPMenu(idmenuitem) {
/* This is the callback-event, here you can set items enabled or disabled. */
/* If you want to enable an item, use: return ITEM_ENABLED */
/* If you want to disable an item, use: return ITEM_DISABLED */
return ITEM_DISABLED;
}


public 
add_bonus_hp()
{
    if(
checkReceiveBonusHP) {
    
// Save our info.
        
new iAttacker read_data(1);
        new 
iVictim read_data(2);
        
        if(
is_user_alive(iAttacker) && iAttacker != iVictim && iAttacker != && get_user_team(iAttacker) != get_user_team(iVictim))
        {
         new 
iMaxHp get_pcvar_num(pMaxHp);
         new 
iHeadShot read_data(3);
        
         if(
iHeadShot)
         {
        
set_user_health(iAttackerclamp(get_user_health(iAttacker) + get_pcvar_num(pHeadShot), 0iMaxHp));
         }
         else
         {
              
set_user_health(iAttackerclamp(get_user_health(iAttacker) + get_pcvar_num(pKill), 0iMaxHp));
         }
        }
    }
    

l00ka is offline