Iteme F :[/b]
Code: Select all
SuperKnife cu Player Skin 3x Damage [ 16000$ ]
AP +50 [ 3000$ ]
HP +50 [ 3000$ ]
He [ 3000$ ]
FB [ 3000$ ]
Smoke [ 5000$ ]
No Flash [ 10000$ ]
AntiFurienRadarProtection [ 16000$ ]
NightVisionGoggles [ 5000$ ]
Code: Select all
GoldenAK47 2x Damage + 250 Gloante [ 16000$ ]
DefuseKIT [ 300$ ]
HP +50 [ 3000$ ]
AP +50 [ 3000$ ]
FB [ 3000$ ]
Smoke [ 5000$ ]
No Flash [ 10000$ ]
AntiFurienRadar [ 16000$ ]
NightVisionGoggles [ 5000$ ]
- | Afiseaza codul
#include < amxmodx > #include < amxmisc > #include < cstrike > #include < colorchat > #include < engine > #include < fakemeta > #include < hamsandwich > #include < xs > #include < fun > #define PLUGIN "F & AF SHOP" #define VERSION "1.0" #define AUTHOR "HamletEagle" #define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers ) new const RADAR_SOUND[ ] = "misc/motion.wav"; #define RADAR_DELAY 1.0 new money [ 10 ] new money1 [ 10 ] new g_iMaxPlayers; new g_iSprite new g_bHasThermalGoggle #define SetUserThermalGoggle(%1) g_bHasThermalGoggle |= 1<<(%1&31) #define RemoveUserThermalGoggle(%1) g_bHasThermalGoggle &= ~(1<<(%1&31)) #define HasUserThermalGoggle(%1) g_bHasThermalGoggle & 1<<(%1&31) new g_bThermalGoggleActivated #define ActiveUserThermalGoggle(%1) g_bThermalGoggleActivated |= 1<<(%1&31) #define DeactiveUserThermalGoggle(%1) g_bThermalGoggleActivated &= ~(1<<(%1&31)) #define HasUserActiveThermalGoggle(%1) g_bThermalGoggleActivated & 1<<(%1&31) #define FREQUENCY 0.1 #define MAX_DISTANCE 1000.0 #define MAX_PLAYERS 32 new Float:g_flNextUpdate[MAX_PLAYERS+1] #define FLASHBANG_SEARCH_RADIUS 1500.0 new g_bHasNoFlash #define SetUserNoFlash(%1) g_bHasNoFlash |= 1<<(%1&31) #define RemoveUserNoFlash(%1) g_bHasNoFlash &= ~(1<<(%1&31)) #define HasUserNoFlash(%1) g_bHasNoFlash & 1<<(%1&31) new bool: HasKnife [ 33 ] new bool: HasAk47 [ 33 ] new const Knife [ ] [ ]= { "models/hamlet_shop/v_sknife.mdl", "models/hamlet_shop/p_sknife.mdl" } new const Ak47 [ ] [ ] = { "models/hamlet_shop/v_golden_ak47.mdl", "models/hamlet_shop/p_golden_ak47.mdl" } new g_iCvarMinFurienSpeed; new g_iCvarRadarRange; new Float:g_fCurrentTime; new Float:g_fNextRadarTime[ 33 ]; new bool:g_bUserHasRadar[ 33 ]; new bool:g_bUserHasProtection[ 33 ]; new bool:g_bDrawFurienOnRadar[ 33 ]; new g_iMsgIdHostageK; new g_iMsgIdHostagePos; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd ( "say /shop", "CheckAcces" ); //////////Cvarurile pentru money////////////// money [ 1 ] = register_cvar( "f_item1", "16000" ) money [ 2 ] = register_cvar( "f_item2", "3000" ) money [ 3 ] = register_cvar( "f_item3" ,"3000" ) money [ 4 ] = register_cvar( "f_item4" ,"3000" ) money [ 5 ] = register_cvar( "f_item5" ,"3000" ) money [ 6 ] = register_cvar( "f_item6" ,"5000" ) money [ 7 ] = register_cvar( "f_item7" ,"10000" ) money [ 8 ] = register_cvar( "f_item8" ,"16000" ) money [ 9 ] = register_cvar( "f_item9" ,"5000" ) money1 [ 1 ] = register_cvar( "af_item1" ,"16000" ) money1 [ 2 ] = register_cvar( "af_item2" ,"300" ) money1 [ 3 ] = register_cvar( "af_item3" ,"3000" ) money1 [ 4 ] = register_cvar( "af_item4" ,"3000" ) money1 [ 5 ] = register_cvar( "af_item5" ,"3000" ) money1 [ 6 ] = register_cvar( "af_item6" ,"5000" ) money1 [ 7 ] = register_cvar( "af_item7" ,"10000" ) money1 [ 8 ] = register_cvar( "af_item8" ,"16000" ) money1 [ 9 ] = register_cvar( "af_item9" ,"5000" ) ///////////////////////////////////////////////////////// //////////////////////////////////////////Events/////////////////// register_event ( "CurWeapon", "Current_Weapon", "be", "1=1" ); RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" ); register_event ( "NVGToggle", "Event_NVGToggle", "be" ); RegisterHam ( Ham_Killed, "player", "Ham_CBasePlayer_Killed_Post", true ); register_forward(FM_FindEntityInSphere, "FindEntityInSphere") register_event( "DeathMsg", "EventDeathMsg", "a" ); register_forward( FM_PlayerPreThink, "fw_PlayerPreThinkPre", false ); RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) ////////////////////////////////////////////////////////////////////// g_iMaxPlayers = get_maxplayers ( ) g_iCvarMinFurienSpeed = register_cvar( "afr_minspeed", "100" ); g_iCvarRadarRange = register_cvar( "afr_range", "850" ); g_iMsgIdHostageK = get_user_msgid( "HostageK" ); g_iMsgIdHostagePos = get_user_msgid( "HostagePos" ); } public plugin_precache( ) { static i; for ( i = 0 ; i < sizeof ( Knife ); i++ ) precache_model ( Knife [ i ] ) for ( i = 0 ; i< sizeof ( Ak47 ) ; i++ ) precache_model ( Ak47 [ i ] ) g_iSprite = precache_model("sprites/poison.spr") precache_sound( RADAR_SOUND ); } public Ham_CBasePlayer_Killed_Post(id) //remove thermalgoogle { RemoveUserThermalGoggle(id) DeactiveUserThermalGoggle(id) } public fwHamPlayerSpawnPost(id) { HasKnife [ id ] = false HasAk47 [ id ] = false } public Current_Weapon ( id ) { new weapon=get_user_weapon(id) if( weapon == CSW_KNIFE ) { if( HasKnife [ id ] == true ) { set_pev ( id, pev_viewmodel2, Knife [ 0 ] ); set_pev ( id, pev_weaponmodel2, Knife [ 1 ] ); } } if( weapon == CSW_AK47 ) { if( HasAk47 [ id ] == true ) { set_pev ( id, pev_viewmodel2, Ak47 [ 0 ] ); set_pev ( id, pev_weaponmodel2, Ak47 [ 1 ] ); } } } public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage ) { if ( iInflictor == iAttacker && IsPlayer ( iAttacker ) && HasKnife [ iAttacker ] ) { SetHamParamFloat ( 4, fDamage * 3.0 ); return HAM_HANDLED; } if ( iInflictor == iAttacker && IsPlayer ( iAttacker ) && HasAk47[ iAttacker ] ) { SetHamParamFloat ( 4, fDamage * 2.0 ); return HAM_HANDLED; } return HAM_IGNORED; } public Event_NVGToggle(id) { if( HasUserThermalGoggle(id) ) { if( read_data(1) ) { ActiveUserThermalGoggle(id) } else { DeactiveUserThermalGoggle(id) } } } public client_PostThink(id) { if( HasUserActiveThermalGoggle(id) || !is_user_alive(id) ) { return } new Float:flTime = get_gametime() if( g_flNextUpdate[id] > flTime ) { return } g_flNextUpdate[id] = flTime + FREQUENCY new Float:fMyOrigin[3] entity_get_vector(id, EV_VEC_origin, fMyOrigin) static Players[32], iNum get_players(Players, iNum, "ae", get_user_team(id) == 2? "TERRORIST" : "CT") for(new i = 0; i < iNum; ++i) { new target = Players new Float:fTargetOrigin[3] entity_get_vector(target, EV_VEC_origin, fTargetOrigin) if( get_distance_f(fMyOrigin, fTargetOrigin) > MAX_DISTANCE ) { continue } new Float:fMiddle[3], Float:fHitPoint[3] xs_vec_sub(fTargetOrigin, fMyOrigin, fMiddle) trace_line(-1, fMyOrigin, fTargetOrigin, fHitPoint) new Float:fWallOffset[3], Float:fDistanceToWall fDistanceToWall = vector_distance(fMyOrigin, fHitPoint) - 10.0 xs_vec_mul_scalar(fMiddle, fDistanceToWall/vector_length(fMiddle), fWallOffset) new Float:fSpriteOffset[3] xs_vec_add(fWallOffset, fMyOrigin, fSpriteOffset) new Float:fScale, Float:fDistanceToTarget = vector_distance(fMyOrigin, fTargetOrigin) if(fDistanceToWall > 100.0) fScale = 8.0 * (fDistanceToWall / fDistanceToTarget) else fScale = 2.0 message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, .player=id) { write_byte(TE_SPRITE) engfunc(EngFunc_WriteCoord, fSpriteOffset[0]) engfunc(EngFunc_WriteCoord, fSpriteOffset[1]) engfunc(EngFunc_WriteCoord, fSpriteOffset[2]) write_short(g_iSprite) write_byte(floatround(fScale)) write_byte(125) } message_end() } } public FindEntityInSphere(id, Float:fVecOrigin[3], Float:flRadius) { if( flRadius == FLASHBANG_SEARCH_RADIUS ) { while( IsPlayer( (id=engfunc(EngFunc_FindEntityInSphere, id, fVecOrigin, flRadius)) ) ) { if( ~HasUserNoFlash(id) && is_user_alive(id) ) { forward_return(FMV_CELL, id) return FMRES_SUPERCEDE } } forward_return(FMV_CELL, 0) return FMRES_SUPERCEDE } return FMRES_IGNORED } public CheckAcces ( id ) { if( is_user_alive ( id ) ) { if ( get_user_team ( id ) == 1 ) ShowMenu ( id ) if ( get_user_team ( id ) == 2 ) ShowMenu1 ( id ) } } public ShowMenu( id ) { new menu = menu_create( "Furien Shop", "furien_handler" ); menu_additem(menu, "SuperKnife cu Player Skin 3x Damage \r[ \y16000$ \r]", "", 0); menu_additem(menu, "AP +50 \r[ \y3000$ \r]", "", 0); menu_additem(menu, "HP +50 \r[ \y3000$ \r]", "", 0); menu_additem(menu, "He \r[ \y3000$ \r]", "", 0); menu_additem(menu, "FB \r[ \y3000$ \r]", "", 0); menu_additem(menu, "Smoke \r[ \y5000$ \r]", "", 0); menu_additem(menu, "No Flash \r[ \y10000$ \r]", "", 0); menu_additem(menu, "AntiFurienRadarProtection \r[ \y16000$ \r]", "", 0); menu_additem(menu, "NightVisionGoggles \r[ \y5000$ \r]", "", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_NOCOLORS, 1); menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public furien_handler(id, menu, item) { if(item == MENU_EXIT) { menu_cancel(id); return PLUGIN_HANDLED; } new command[6], name[64], access, callback new price price = cs_get_user_money( id ) menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { if(price>=get_pcvar_num(money[1])) { cs_set_user_money( id, price-get_pcvar_num(money [ 1 ] )) set_pev ( id, pev_viewmodel2, Knife [ 0 ] ); set_pev ( id, pev_weaponmodel2, Knife [ 1 ] ); HasKnife [ id ] = true } else ColorChat(id,GREEN,"Nu ai destui bani") } case 1: { if( price >= get_pcvar_num(money [ 2 ]) ) { cs_set_user_money( id,price- get_pcvar_num( money [ 2 ] )) set_user_armor ( id, get_user_armor ( id ) + 50 ) } else ColorChat(id,GREEN,"Nu ai destui bani") } case 2: { if( price >=get_pcvar_num( money [ 3 ] )) { cs_set_user_money( id,price- get_pcvar_num(money [ 3 ])) set_user_health ( id, get_user_health ( id ) + 50 ) } else ColorChat(id,GREEN,"Nu ai destui bani") } case 3: { if( price >=get_pcvar_num( money [ 4 ] )) { cs_set_user_money( id, price-get_pcvar_num(money [ 4 ] )) give_item(id,"weapon_hegrenade") } else ColorChat(id,GREEN,"Nu ai destui bani") } case 4: { if( price >= get_pcvar_num(money [ 5 ]) ) { cs_set_user_money( id,price-get_pcvar_num( money [ 5 ] )) give_item(id,"weapon_flashbang") } else ColorChat(id,GREEN,"Nu ai destui bani") } case 5: { if( price >=get_pcvar_num( money [ 6 ]) ) { cs_set_user_money( id, price-get_pcvar_num(money [ 6 ] )) give_item(id,"weapon_smokegrenade") } else ColorChat(id,GREEN,"Nu ai destui bani") } case 6: { if( price >= get_pcvar_num(money [ 7 ]) ) { cs_set_user_money( id,price- get_pcvar_num(money [ 7 ] )) SetUserNoFlash( id ) } else ColorChat(id,GREEN,"Nu ai destui bani") } case 7: { if( price >= get_pcvar_num(money [ 8 ]) ) { cs_set_user_money( id,price-get_pcvar_num( money [ 8 ] )) g_bUserHasProtection[ id ] = true; } else ColorChat(id,GREEN,"Nu ai destui bani") } case 8: { if( price >= get_pcvar_num(money [ 9 ] )) { cs_set_user_money( id,price-get_pcvar_num(money [ 9 ] )) cs_set_user_nvg(id, 1) SetUserThermalGoggle(id) } else ColorChat(id,GREEN,"Nu ai destui bani") } } menu_destroy(menu); return PLUGIN_HANDLED; } public ShowMenu1(id) { new menu2 = menu_create("Anti-Furien Menu", "af_menu"); menu_additem(menu2, "GoldenAK47 2x Damage 250 Gloante \r[ \y16000$ \r]", "", 0); menu_additem(menu2, "DefuseKIT \r[ \y300$ \r]", "", 0); menu_additem(menu2, "HP +50 \r[ \y3000$ \r]", "", 0); menu_additem(menu2, "AP +50 \r[ \y3000$ \r]", "", 0); menu_additem(menu2, "FB \r[ \y3000$ \r]", "", 0); menu_additem(menu2, "Smoke \r[ \y5000$ \r]", "", 0); menu_additem(menu2, "No Flash \r[ \y10000$ \r]", "", 0); menu_additem(menu2, "AntiFurienRadar \r[ \y16000$ \r]", "", 0); menu_additem(menu2, "NightVisionGoggles \r[ \y5000$ \r]", "", 0); menu_setprop(menu2, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu2, MPROP_NOCOLORS, 1); menu_display(id, menu2, 0); return PLUGIN_HANDLED; } public af_menu(id, menu2, item) { if(item == MENU_EXIT) { menu_cancel(id); return PLUGIN_HANDLED; } new command[6], name[64], access, callback,price price=cs_get_user_money(id) menu_item_getinfo(menu2, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { if( price >= get_pcvar_num(money1 [ 1 ]) ) { cs_set_user_money( id,price-get_pcvar_num(money1 [ 1 ] )) give_item(id,"weapon_ak47") set_pev ( id, pev_viewmodel2, Ak47 [ 0 ] ); set_pev ( id, pev_weaponmodel2, Ak47 [ 1 ] ); cs_set_user_bpammo(id,CSW_AK47,250) HasAk47 [ id ] = true } else ColorChat(id,GREEN,"Nu ai destui bani") } case 1: { if( price >=get_pcvar_num( money1 [ 2 ]) ) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 2 ] )) cs_set_user_defuse(id,1) } else ColorChat(id,GREEN,"Nu ai destui bani") } case 2: { if( price >= get_pcvar_num(money1 [ 3 ]) ) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 3 ]) ) set_user_health(id,get_user_health(id)+50) } else ColorChat(id,GREEN,"Nu ai destui bani") } case 3: { if( price >= get_pcvar_num(money1 [ 4 ] )) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 4 ] )) set_user_armor(id,get_user_armor(id)+50) } else ColorChat(id,GREEN,"Nu ai destui bani") } case 4: { if( price >= get_pcvar_num(money1 [ 5 ] ) ){ cs_set_user_money( id, price-get_pcvar_num(money1 [ 5 ] )) give_item(id,"weapon_flashbang") } else ColorChat(id,GREEN,"Nu ai destui bani") } case 5: { if( price >= get_pcvar_num(money1 [ 6 ] )) { cs_set_user_money( id,price-get_pcvar_num(money1 [ 6 ] )) give_item(id,"weapon_smokegrenade") } else ColorChat(id,GREEN,"Nu ai destui bani") } case 6: { if( price >= get_pcvar_num(money1 [ 7 ] )) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 7 ] )) SetUserNoFlash( id ) } else ColorChat(id,GREEN,"Nu ai destui bani") } case 7: { if( price >= get_pcvar_num(money1 [ 8 ] ) ){ cs_set_user_money( id, price-get_pcvar_num(money1 [ 8 ] )) g_bUserHasRadar[ id ] = true; } else ColorChat(id,GREEN,"Nu ai destui bani") } case 8: { if( price >=get_pcvar_num( money1 [ 9 ] )) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 9 ] )) cs_set_user_nvg(id, 1) SetUserThermalGoggle(id) } else ColorChat(id,GREEN,"Nu ai destui bani") } } menu_destroy(menu2); return PLUGIN_HANDLED; } public client_putinserver( id ) { g_bUserHasRadar[ id ] = false; g_bUserHasProtection[ id ] = false; g_bDrawFurienOnRadar[ id ] = false; } public client_disconnect( id ) { g_bUserHasRadar[ id ] = false; g_bUserHasProtection[ id ] = false; g_bDrawFurienOnRadar[ id ] = false; } public EventDeathMsg( ) { static id; id = read_data( 2 ); g_bUserHasRadar[ id ] = false; g_bUserHasProtection[ id ] = false; g_bDrawFurienOnRadar[ id ] = false; } public fw_PlayerPreThinkPre( id ) { if( !is_user_alive( id ) ) return FMRES_IGNORED; g_fCurrentTime = get_gametime( ); if( get_user_team( id ) == 2 && g_bUserHasRadar[ id ] ) { if( g_fNextRadarTime[ id ] <= g_fCurrentTime ) { g_fNextRadarTime[ id ] = g_fCurrentTime + RADAR_DELAY; static bool:bBeep; bBeep = false; for( new iFurien = 1; iFurien <= g_iMaxPlayers; iFurien++ ) { if( g_bDrawFurienOnRadar[ iFurien ] ) { if( !g_bUserHasProtection[ iFurien ] ) { static Float:fOrigin[ 3 ]; pev( iFurien, pev_origin, fOrigin ); UTIL_ShowOnRadar( id, iFurien, fOrigin ); } bBeep = true; } } if( bBeep ) client_cmd( id, "spk %s", RADAR_SOUND ); } } else if( get_user_team( id ) == 1 ) { static Float:fFurienOrigin[ 3 ]; pev( id, pev_origin, fFurienOrigin ); static Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); static Float:fCurSpeed; fCurSpeed = vector_length( fVelocity ); if( fCurSpeed > float( get_pcvar_num( g_iCvarMinFurienSpeed ) ) ) { static iAnti; for( iAnti = 1; iAnti <= g_iMaxPlayers; iAnti++ ) { if( get_user_team( iAnti ) == 2 && is_user_alive( iAnti ) ) { static Float:fAntiOrigin[ 3 ]; pev( iAnti, pev_origin, fAntiOrigin ); if( get_distance_f( fFurienOrigin, fAntiOrigin ) <= float( get_pcvar_num( g_iCvarRadarRange ) ) ) { g_bDrawFurienOnRadar[ id ] = true; break; } } } } else { g_bDrawFurienOnRadar[ id ] = false; } } return FMRES_IGNORED; } UTIL_ShowOnRadar( id, iTarget, Float:fOrigin[ 3 ] ) { //Make a dot on players radar. message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostagePos, .player = id ); write_byte( id ); write_byte( iTarget ); engfunc( EngFunc_WriteCoord, fOrigin[ 0 ] ); engfunc( EngFunc_WriteCoord, fOrigin[ 1 ] ); engfunc( EngFunc_WriteCoord, fOrigin[ 2 ] ); message_end( ); //Make the dot red. message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostageK, .player = id ); write_byte( iTarget ); message_end( ); }
Nume: F & AF Shop
Versiune: 1.0
Link oficial: aici
Instalare:
1. Fisierul shop.sma il puneti in addons/amxmodx/scripting
2. Fisierul shop.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
shop.amxx
Code: Select all
f_item1 valoare
f_item2 valoare
f_item3 valoare
f_item4 valoare
f_item5 valoare
f_item6 valoare
f_item7 valoare
f_item8 valoare
f_item9 valoare
af_item1 valoare
af_item2 valoare
af_item3 valoare
af_item4 valoare
af_item5 valoare
af_item6 valoare
af_item7 valoare
af_item8 valoare
af_item9 valoare
5. Fisierele mdl le puneti in cstrike/models/hamlet_shop
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
- Le aveti mai sus
- Nu contine comenzi administrative.
- /shop - afiseaza shop-ul
Code: Select all
amxmodx
amxmisc
cstrike
colorchat
engine
fakemeta
hamsandwich
fun
Furien SHOP: Anti-Furien SHOP: