Uitati sursa!
- | Afiseaza codul
#include < amxmodx > #include < amxmisc> #include < engine > #include < cstrike > #include < hamsandwich > #include < fakemeta > #include < fakemeta_util > #include <colorchat> #include < fun > #include < fcs > #define PLUGIN "Furien Shop" #define VERSION "0.2" #define AUTHOR "Gabriel" #define FL_WATERJUMP (1<<11) #define FL_ONGROUND (1<<9) new bool:UserHaveBhop[33]; new bool:super_knife [ 33 ]; new super_knife_v_model [ 66 ] = "models/furien/knifes/v_strong_knife.mdl"; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /shop", "FurienShop", 0); register_clcmd("say shop", "FurienShop", 0); register_clcmd("say_team /shop", "FurienShop", 0); register_clcmd("say_team shop", "FurienShop", 0); register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" ); RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" ); RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); } public plugin_precache ( ) { precache_model ( super_knife_v_model ); } public Spawn ( id ) { strip_user_weapons ( id ); give_item ( id, "weapon_knife" ); super_knife [ id ] = false; UserHaveBhop[id] = false; } public CurrentWeapon ( id ) { if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) { set_pev ( id, pev_viewmodel2, super_knife_v_model ); } } public FurienShop ( id ) { if (get_user_team(id) == 1 ) { set_task( 0.1, "ShowFurien", id ); } if (get_user_team (id ) == 2 ) { set_task( 0.1, "ShowAntiFurien", id ); } } public ShowAntiFurien(id, level, cid) { new menu = menu_create( "\rFurien\w Shop", "antifurienhandler"); menu_additem(menu, "HP + AP - \r10 \yC", "1", 0); menu_additem(menu, "Defuse Kit - \r2 \yC", "2", 0 ); menu_additem(menu, "50 HP - \r2 \yC", "3", 0); menu_additem(menu, "100 AP - \r4 \yC", "4", 0); menu_additem(menu, "Autobhop - \r6 \yC", "5", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public ShowFurien(id, level, cid) { new menu = menu_create( "\rFurien\w Shop", "furienhandler"); menu_additem(menu, "SuperKnife - \r5 \yC", "1", 0); menu_additem(menu, "HE Grenade - \r3 \yC", "2", 0 ); menu_additem(menu, "50 HP - \r2 \yC", "3", 0); menu_additem(menu, "100 AP - \r4 \yC", "4", 0); menu_additem(menu, "Autobhop - \r6 \yC", "5", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public furienhandler(id, menu, item, level, cid) { if( item == MENU_EXIT ) { return 1; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { new iCredits = fcs_get_user_credits ( id ) - 5; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { super_knife[ id ] = true; CurrentWeapon( id ); fcs_set_user_credits( id, iCredits ); return 1; } } case 2: { new iCredits = fcs_get_user_credits ( id ) - 3; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { give_item( id, "weapon_hegrenade" ); fcs_set_user_credits( id, iCredits ); return 1; } } case 3: { new iCredits = fcs_get_user_credits ( id ) - 2; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { new Health = get_user_health ( id ); if( Health <= 250 ) { fm_set_user_health( id, get_user_health ( id ) + 50 ); fcs_set_user_credits( id, iCredits ); return 1; } if( Health > 250 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You can't buy more^x03 250 HP^x01." ); return 1; } } } case 4: { new iCredits = fcs_get_user_credits ( id ) - 4; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { new Armor = get_user_armor ( id ); if ( Armor <= 250 ) { fm_set_user_armor( id, get_user_armor ( id ) + 100 ); fcs_set_user_credits ( id, iCredits ); return 1; } if ( Armor > 250 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You can't buy more^4 250 AP^3 .^4" ); return 1; } } } case 5: { new iCredits = fcs_get_user_credits ( id ) - 6; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } if(UserHaveBhop[id]) { ColorChat( id, GREEN, "[FURIEN]^x01 You have Bhop."); } else if(!UserHaveBhop[id]) { ColorChat( id, GREEN, "[FURIEN]^x01 You buy Bhop."); UserHaveBhop[id] = true; fcs_set_user_credits ( id, iCredits ); return 1; } } } menu_destroy(menu); return 1; } public antifurienhandler(id, menu, item, level, cid) { if( item == MENU_EXIT ) { return 1; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { new iCredits = fcs_get_user_credits ( id ) - 10; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { new Health = get_user_health ( id ); if ( Health <= 250 ) { fm_set_user_health ( id, get_user_health ( id ) + 100 ); } new Armor = get_user_armor ( id ); if ( Armor <= 250 ) { fm_set_user_armor( id, get_user_armor ( id ) + 100 ); } fcs_set_user_credits ( id, iCredits ); return 1; } } case 2: { new iCredits = fcs_get_user_credits ( id ) - 2; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { fm_give_item ( id, "item_thighpack" ) fcs_set_user_credits ( id, iCredits ); return 1; } } case 3: { new iCredits = fcs_get_user_credits ( id ) - 2; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { new Health = get_user_health ( id ); if ( Health <= 250 ) { fm_set_user_health ( id, get_user_health ( id ) + 50 ); fcs_set_user_credits ( id, iCredits ); return 1; } if ( Health > 250 ) { ColorChat ( id, GREEN, "[FURIEN]^x01 You can't buy more ^x03 250 HP^x01." ); return 1; } } } case 4: { new iCredits = fcs_get_user_credits ( id ) - 4; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } else { new Armor = get_user_armor ( id ); if ( Armor <= 250 ) { fm_set_user_armor( id, get_user_armor ( id ) + 100 ); fcs_set_user_credits ( id, iCredits ); return 1; } if ( Armor > 250 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You can't buy more ^4 250 AP^3 .^4" ); return 1; } } } case 5: { new iCredits = fcs_get_user_credits ( id ) - 6; if( iCredits < 0 ) { ColorChat( id, GREEN, "[FURIEN]^x01 You don't have enough credits !"); return 1; } if(UserHaveBhop[id]) { ColorChat( id, GREEN, "[FURIEN]^x01 You have Bhop"); } else if(!UserHaveBhop[id]) { ColorChat( id, GREEN, "[FURIEN]^x01 You Buy Bhop"); UserHaveBhop[id] = true; fcs_set_user_credits ( id, iCredits ); return 1; } } } menu_destroy(menu); return 1; } public client_PreThink(id) { if(!UserHaveBhop[id]) return 0; entity_set_float(id, EV_FL_fuser2, 0.0); if(entity_get_int(id, EV_INT_button) & 2) { new flags = entity_get_int(id, EV_INT_flags); if(flags & FL_WATERJUMP) return 0; if(entity_get_int(id, EV_INT_waterlevel) >= 2) return 0; if(!(flags & FL_ONGROUND)) return 0; new Float:velocity[3]; entity_get_vector(id, EV_VEC_velocity, velocity); velocity[2] += 250.0; entity_set_vector(id, EV_VEC_velocity, velocity); entity_set_int(id, EV_INT_gaitsequence, 6); } return 0; } public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) { if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } return HAM_IGNORED; }