Napoleon_be |
01-12-2020 11:52 |
Re: [Requist] Vip-Menu
Added double jump on request of topic author
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <fun> #include <hamsandwich> #include <colorchat> #include <cstrike> #include <fakemeta> #include <engine>
#define PLUGIN "VIP-Menu" #define VERSION "1.0" #define AUTHOR "NapoleoN#"
#define VIP_LEVEL ADMIN_LEVEL_B
new bool:bUsedMenu[33]; new bool:bHasWeapon[33];
new bool:bDoJump[33];
new iJumpNum[33];
new const szMotd[] = "addons/amxmodx/configs/vip.html";
new const szMenuItems[][] = { "Deadly AK47 + Deadly Deagle", "Deadly M4A1 + Deadly Deagle", "Deadly AWP + Deadly Deagle" };
new const iWeapons[] = { CSW_AK47, CSW_M4A1, CSW_AWP };
new const szWeapons[][] = { "weapon_ak47", "weapon_m4a1", "weapon_awp" };
new const szWeaponModels[][] = { "models/vmenu/v_deadly_ak47.mdl", "models/vmenu/v_deadly_m4a1.mdl", "models/vmenu/v_deadly_awp.mdl", "models/vmenu/v_deadly_deagle.mdl" };
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /vips", "VipsOnline"); register_clcmd("say /vip", "VipMotd"); register_clcmd("say /vmenu", "VipMenu"); RegisterHam(Ham_Spawn, "player", "PostSpawn", 1); RegisterHam(Ham_TakeDamage, "player", "PreDoubleDamage"); RegisterHam(Ham_Killed, "player", "PostPlayerKilled", 1); register_event("HLTV", "NewRound", "a", "1=0", "2=0"); register_event("CurWeapon", "WeaponChange", "be", "1=1"); register_message(get_user_msgid("ScoreAttrib"), "MsgScoreAttrib"); }
public plugin_precache() { for(new i; i < sizeof(szWeaponModels); i++) { precache_model(szWeaponModels[i]); } }
public NewRound() { new szPlayers[32], iNum; get_players(szPlayers, iNum); for(new i; i < iNum; i++) { if(get_user_flags(szPlayers[i]) & VIP_LEVEL) { bUsedMenu[szPlayers[i]] = false; } } }
public WeaponChange(id) { new iAmmo, iClip, iWeapon = get_user_weapon(id, iAmmo, iClip); if(bHasWeapon[id]) { for(new i; i < sizeof(iWeapons); i++) { if(iWeapon == iWeapons[i]) { set_pev(id, pev_viewmodel2, szWeaponModels[i]); break; } } if(iWeapon == CSW_DEAGLE) { set_pev(id, pev_viewmodel2, szWeaponModels[3]); } } }
public VipsOnline(id) { new bool:IsFirst = true; new szMessage[256], iLen, szPlayers[32], iNum; get_players(szPlayers, iNum); for(new i; i < iNum; i++) { if(!is_user_connected(szPlayers[i]) || !(get_user_flags(szPlayers[i]) & VIP_LEVEL)) { continue; } if(!IsFirst) { szMessage[iLen++] = ' '; szMessage[iLen++] = '|'; szMessage[iLen++] = ' '; } szMessage[iLen++] = '^x04'; szMessage[iLen] = EOS; iLen += get_user_name(szPlayers[i], szMessage[iLen], charsmax(szMessage) - iLen); szMessage[iLen++] = '^x01'; szMessage[iLen] = EOS; IsFirst = false; } if(IsFirst) {
ColorChat(id, GREEN, "There are no vips online."); return PLUGIN_HANDLED; } else { ColorChat(id, TEAM_COLOR, "Online Vips: %s", szMessage); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
public VipMotd(id) { show_motd(id, szMotd, "VIP"); }
public VipMenu(id) { if(!(get_user_flags(id) & VIP_LEVEL)) { ColorChat(id, GREEN, "[Vip-Menu]^3 Only vips can use this command!"); return PLUGIN_HANDLED; } if(cs_get_user_team(id) != CS_TEAM_CT) { ColorChat(id, GREEN, "[Vip-Menu]^3 Only CT's can use the Vip-Menu!"); return PLUGIN_HANDLED; } if(bUsedMenu[id]) { ColorChat(id, GREEN, "[Vip-Menu] You can only use this 1 time per round."); return PLUGIN_HANDLED; } new menu = menu_create("[Vip-Menu]:", "VipMenuHandler");
for(new i; i < sizeof(szMenuItems); i++) { menu_additem(menu, szMenuItems[i]); } menu_display(id, menu); return PLUGIN_HANDLED; }
public VipMenuHandler(id, menu, item) { if(!is_user_alive(id)) { menu_destroy(menu); return PLUGIN_HANDLED; } if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } bUsedMenu[id] = true; bHasWeapon[id] = true; strip_user_weapons(id); give_item(id, "weapon_knife"); give_item(id, szWeapons[item]); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, iWeapons[item], 255); cs_set_user_bpammo(id, CSW_DEAGLE, 255); set_pev(id, pev_viewmodel2, szWeaponModels[item]); ColorChat(id, GREEN, "[Vip-Menu]:^3 You took: %s", szMenuItems[item]); menu_destroy(menu); return PLUGIN_HANDLED; }
public PostSpawn(id) { if(get_user_flags(id) & VIP_LEVEL && is_user_alive(id)) { if(cs_get_user_team(id) == CS_TEAM_CT || cs_get_user_team(id) == CS_TEAM_T) { set_user_health(id, 150); set_user_armor(id, 150); new iAmmo, iClip, iWeapon = get_user_weapon(id, iAmmo, iClip); for(new i; i < sizeof(iWeapons); i++) { if(iWeapon != iWeapons[i]) { bHasWeapon[id] = false; } } } } }
public PostPlayerKilled(iVictim, iAttacker, iShouldGib) { if(is_user_connected(iVictim) && bHasWeapon[iVictim]) { bHasWeapon[iVictim] = false; } }
public PreDoubleDamage(id, iInflictor, iAttacker, Float:iDamage, iDamagebits) { if(!is_user_connected(iAttacker) || iAttacker != iInflictor || !bHasWeapon[iAttacker]) { return HAM_IGNORED; } new iWeapon = get_user_weapon(iAttacker); for(new i; i < sizeof(iWeapons); i++) { if(iWeapon == iWeapons[i] || iWeapon == CSW_DEAGLE) { SetHamParamFloat(4, iDamage * 2); break; } } return HAM_HANDLED; }
public client_PreThink(id) { if(is_user_alive(id) && get_user_flags(id) & VIP_LEVEL) { new iNewButton = get_user_button(id); new iOldButton = get_user_oldbutton(id); if((iNewButton & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(iOldButton & IN_JUMP)) { if(iJumpNum[id] < 1) { bDoJump[id] = true; iJumpNum[id]++; return PLUGIN_CONTINUE; } } if((iNewButton & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { iJumpNum[id] = 0; return PLUGIN_CONTINUE; } } return PLUGIN_CONTINUE; }
public client_PostThink(id) { if(is_user_alive(id) && get_user_flags(id) & VIP_LEVEL) { if(bDoJump[id] == true) { new Float:fVelocity[3]; entity_get_vector(id, EV_VEC_velocity, fVelocity); fVelocity[2] = random_float(265.0, 285.0); entity_set_vector(id, EV_VEC_velocity, fVelocity); bDoJump[id] = false; return PLUGIN_CONTINUE; } } return PLUGIN_CONTINUE; }
public client_putinserver(id) { if(get_user_flags(id) & VIP_LEVEL) { bUsedMenu[id] = false; bHasWeapon[id] = false; iJumpNum[id] = 0; bDoJump[id] =false; } }
public client_disconnect(id) { if(get_user_flags(id) & VIP_LEVEL) { bUsedMenu[id] = false; bHasWeapon[id] = false; iJumpNum[id] = 0; bDoJump[id] =false; } }
public MsgScoreAttrib(const MsgId, const MsgType, const MsgDest) { static id; id = get_msg_arg_int(1); if((get_user_flags(id) & VIP_LEVEL) && !get_msg_arg_int(2)) { set_msg_arg_int(2, ARG_BYTE, (1 << 2)); } }
|