Junior Member
|
03-29-2020
, 09:43
Re: VIP Menu Plugin problems with compiling
|
#11
|
With your code, now I get on each regular kill 60 HP back and on each Headshot kill 0 HP. So, its still not working .
Quote:
Originally Posted by Napoleon_be
Try again, Let me know if it works or not.
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[33];
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); 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"); }
public client_putinserver(id) { checkReceiveBonusHP[id] = false; }
public FwdHamSpawn_Post(id) { if (is_user_alive(id)) { execOnNextRound(id); // Restrict menu for one time per round VipUsed[id] = false; } }
public showVIPmenu(id, level) { if( !( get_user_flags( id ) & level ) ) { console_print( id, "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_H, 0); menu_additem(mVIPmenu, "Grenade Pack", "2", ADMIN_LEVEL_H, 0); menu_additem(mVIPmenu, "HP Bonus on Kill", "3", ADMIN_LEVEL_H, 0); } case 1: { menu_additem(mVIPmenu, "Kevler + Helm \r*", "1", ADMIN_LEVEL_H, mcbVIPMenu); menu_additem(mVIPmenu, "Grenade Pack", "2", ADMIN_LEVEL_H, 0); menu_additem(mVIPmenu, "HP Bonus on Kill", "3", ADMIN_LEVEL_H, 0); } case 2: { menu_additem(mVIPmenu, "Kevler + Helm", "1", ADMIN_LEVEL_H, 0); menu_additem(mVIPmenu, "Grenade Pack \r*", "2", ADMIN_LEVEL_H, mcbVIPMenu); menu_additem(mVIPmenu, "HP Bonus on Kill", "3", ADMIN_LEVEL_H, 0); } case 3: { menu_additem(mVIPmenu, "Kevler + Helm", "1", ADMIN_LEVEL_H, 0); menu_additem(mVIPmenu, "Grenade Pack", "2", ADMIN_LEVEL_H, 0); menu_additem(mVIPmenu, "HP Bonus on Kill \r*", "3", ADMIN_LEVEL_H, mcbVIPMenu); } } menu_setprop(mVIPmenu, MPROP_EXIT, MEXIT_ALL); /* Menu End */ menu_display(id, mVIPmenu, 0); 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(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); 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(id, 100); checkReceiveBonusHP[id] = false; } case 2: { give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); checkReceiveBonusHP[id] = false; } case 3: { checkReceiveBonusHP[id] = true; } } }
// Colour Chat stock client_printc(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^x04"); // Green Color replace_all(msg, 190, "!n", "^x01"); // Default Color replace_all(msg, 190, "!t", "^x03"); // Team Color if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } }
}
public mcb_VIPMenu(id, menu, item) { /* 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() { // Save our info. new iAttacker = read_data(1); if(checkReceiveBonusHP[iAttacker]) { new iVictim = read_data(2); if(is_user_alive(iAttacker) && iAttacker != iVictim && iAttacker != 0 && get_user_team(iAttacker) != get_user_team(iVictim)) { new iMaxHp = get_pcvar_num(pMaxHp); new iHeadShot = read_data(3); if(iHeadShot) { set_user_health(iAttacker, clamp(get_user_health(iAttacker) + get_pcvar_num(pHeadShot), 0, iMaxHp)); } else { set_user_health(iAttacker, clamp(get_user_health(iAttacker) + get_pcvar_num(pKill), 0, iMaxHp)); } } } }
|
Last edited by l00ka; 03-29-2020 at 09:44.
|
|