Alte informatii:
Am o sursa dar as vrea care stie sa ma ajute! cum pot pune preturile la fiecare item linga tinta intr-o coloana dreapta?
am o sursa ca in imaginea data!
- Curent | Afiseaza codul
- Imaginea dorita | Afiseaza codul
- furien_shop.sma | Afiseaza codul
#include < amxmodx > #include < amxmisc > #include < cstrike > #include < engine > #include < fakemeta > #include < hamsandwich > #include < xs > #include < fun > #include < csx > #define PLUGIN "F & AF SHOP" #define VERSION "1.2" #define AUTHOR "Snow." #define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers ) new g_iMaxPlayers; new money [ 6 ] new money1 [ 6 ] new bool: HasKnife [ 33 ] new bool: HasBlack [ 33 ] new bool: HasAk47 [ 33 ] new const Knife [ ] [ ]= { "models/sk1.mdl", "models/p_knife.mdl" } new const Black [ ] [ ]= { "models/blackpackknife.mdl", "models/p_knife.mdl" } new const Ak47 [ ] [ ] = { "models/v_golden_ak47.mdl", "models/p_ak47.mdl" } new const g_weapons [ ] [ ] = { "weapon_m4a1", "weapon_ak47", "weapon_aug", "weapon_sg552", "weapon_famas", "weapon_galil", "weapon_mp5navy", "weapon_p90", "weapon_m3", "weapon_xm1014", "weapon_awp", "weapon_scout", "weapon_tmp", "weapon_mac10", "weapon_m249" } new bloody[32] new g_bk_enabled, g_bk_rndreset public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd( "say", "Func_Say" ); register_clcmd( "say_team", "Func_Say" ); register_clcmd ( "/shop", "CheckAcces" ); register_clcmd ( "shop", "CheckAcces" ); //////////Cvarurile pentru money////////////// money [ 1 ] = register_cvar( "f_item1", "15000" ) money [ 2 ] = register_cvar( "f_item2" ,"3000" ) money [ 3 ] = register_cvar( "f_item3", "3000" ) money [ 4 ] = register_cvar( "f_item4" ,"5000" ) money [ 5 ] = register_cvar( "f_item5" ,"9000" ) money1 [ 1 ] = register_cvar( "af_item1" ,"9000" ) money1 [ 2 ] = register_cvar( "af_item2" ,"300" ) money1 [ 3 ] = register_cvar( "af_item3" ,"3000" ) money1 [ 4 ] = register_cvar( "af_item4" ,"1000" ) money1 [ 5 ] = register_cvar( "af_item5" ,"3000" ) ///////////////////////////////////////////////////////// //////////////////////////////////////////Events/////////////////// g_bk_enabled=register_cvar("bk_enabled","1") g_bk_rndreset=register_cvar("bk_rndreset","0") register_event("CurWeapon","wpnchange","be","1=1") g_iMaxPlayers = get_maxplayers ( ) register_event ( "CurWeapon", "Current_Weapon", "be", "1=1" ); RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" ); RegisterHam ( Ham_Killed, "player", "Ham_CBasePlayer_Killed_Post", true ); RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) ////////////////////////////////////////////////////////////////////// } stock ham_strip_weapon(id,weapon[]) { if(!equal(weapon,"weapon_",7)) return 0; new wId = get_weaponid(weapon); if(!wId) return 0; new wEnt; while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {} if(!wEnt) return 0; if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt); if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0; ExecuteHamB(Ham_Item_Kill,wEnt); set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId)); // this block should be used for Counter-Strike: /*if(wId == CSW_C4) { cs_set_user_plant(id,0,0); cs_set_user_bpammo(id,CSW_C4,0); } else if(wId == CSW_SMOKEGRENADE || wId == CSW_FLASHBANG || wId == CSW_HEGRENADE) cs_set_user_bpammo(id,wId,0);*/ return 1; } public plugin_precache( ) { static i; for ( i = 0 ; i < sizeof ( Knife ); i++ ) precache_model ( Knife [ i ] ) for ( i = 0 ; i < sizeof ( Black ); i++ ) precache_model ( Black [ i ] ) for ( i = 0 ; i< sizeof ( Ak47 ) ; i++ ) precache_model ( Ak47 [ i ] ) precache_model ( "models/player/blackfurien/blackfurien.mdl" ); precache_model ( "models/player/blackpackff/blackpackff.mdl" ); precache_model("models/sk3.mdl") return PLUGIN_CONTINUE } public Ham_CBasePlayer_Killed_Post(id) { HasKnife [ id ] = false bloody[id]=0 HasBlack [ id ] = false cs_reset_user_model(id) } public fwHamPlayerSpawnPost(id) { HasAk47 [ id ] = false bloody[id]=0 if( get_user_team(id) == 2 ) { HasKnife [ id ] = false HasBlack [ id ] = false cs_reset_user_model(id) } } public Func_Say( id ) { new szSaid[ 192 ]; read_args( szSaid, sizeof( szSaid ) -1 ); remove_quotes( szSaid ); if( contain( szSaid, "shop" ) != -1 ) { CheckAcces ( id ) } } public wpnchange(id){ if(get_pcvar_num(g_bk_enabled)){ if(bloody[id]){ chuckyknife(id) } else{ chuckyknifewob(id) } } return PLUGIN_HANDLED } public chuckyknife(id){ new clip, ammo, wpnid = get_user_weapon(id,clip,ammo) if (wpnid == CSW_KNIFE) { if ( HasKnife [ id ] == true ){ entity_set_string(id, EV_SZ_viewmodel, "models/sk3.mdl") } } return PLUGIN_HANDLED } public chuckyknifewob(id){ new clip, ammo, wpnid = get_user_weapon(id,clip,ammo) if (wpnid == CSW_KNIFE) { if ( HasKnife [ id ] == true ){ entity_set_string(id, EV_SZ_viewmodel, "models/sk1.mdl") } } return PLUGIN_HANDLED } public client_damage(attacker,victim,damage,wpnindex,hitplace,TA){ if(get_pcvar_num(g_bk_enabled)){ if(wpnindex==CSW_KNIFE){ if ( HasKnife [attacker] == true ) { bloody[attacker]=1 chuckyknife(attacker) } } } return PLUGIN_CONTINUE } public client_death(killer,victim,wpnindex,hitplace,TK){ bloody[victim]=0 return PLUGIN_CONTINUE } public round_end(){ if(get_pcvar_num(g_bk_rndreset)){ bloody={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } return PLUGIN_CONTINUE } public Current_Weapon ( id ) { new weapon=get_user_weapon(id) if( weapon == CSW_KNIFE ) { if( HasBlack [ id ] == true ) { set_pev ( id, pev_viewmodel2, Black [ 0 ] ); set_pev ( id, pev_weaponmodel2, Black [ 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 ) && HasBlack [ iAttacker ] ) { SetHamParamFloat ( 4, fDamage * 2.0 ); return HAM_HANDLED; } if ( iInflictor == iAttacker && IsPlayer ( iAttacker ) && HasAk47[ iAttacker ] ) { SetHamParamFloat ( 4, fDamage * 1.5 ); return HAM_HANDLED; } return HAM_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( "\r[STARK] Furien Shop:", "furien_handler" ); menu_additem(menu, "SuperKnife \r15000$", "", 0); menu_additem(menu, "He Grenade \r3000$", "", 0); menu_additem(menu, "50 HP \r3000$", "", 0); menu_additem(menu, "100 AP + Helmet \r5000$", "", 0); menu_additem(menu, "Black Pack \r9000$", "", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_NOCOLORS, 1); menu_setprop(menu, MPROP_NUMBER_COLOR, "\r"); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public furien_handler(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_HANDLED; } if(get_user_team(id) != 1) 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 ])) { if ( HasKnife [ id ] == false ) { cs_set_user_money( id, price-get_pcvar_num(money [ 1 ] )) ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat SuperKnife!") cs_set_user_model ( id , "blackfurien" ); set_pev ( id, pev_viewmodel2, Knife [ 0 ] ); set_pev ( id, pev_weaponmodel2, Knife [ 1 ] ); HasBlack [ id ] = false HasKnife [ id ] = true } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai deja SuperKnife!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara SuperKnife!") } case 1: { if( price >=get_pcvar_num( money [ 2 ] )) { if( ! user_has_weapon ( id , CSW_HEGRENADE ) ) { cs_set_user_money( id, price-get_pcvar_num(money [ 2 ] )) give_item(id,"weapon_hegrenade") ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat He Grenade!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai deja He Grenade!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara He Grenade!") } case 2: { if( price >=get_pcvar_num( money [ 3 ] )) { if( get_user_health ( id ) < 200 ) { cs_set_user_money( id,price- get_pcvar_num(money [ 3 ])) set_user_health ( id, get_user_health ( id ) + 50 ) ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat 50 HP!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai atins deja limita de 200 HP!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara 50 HP!") } case 3: { if( price >= get_pcvar_num(money [ 4 ]) ) { if( get_user_armor ( id ) < 100 ) { cs_set_user_money( id,price- get_pcvar_num( money [ 4 ] )) give_item(id,"item_kevlar") give_item(id, "item_assaultsuit") ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat 100 AP + Helmet!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai atins deja limita de 100 AP!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara 100 AP + Helmet!") } case 4: { if(price>=get_pcvar_num(money[ 5 ])) { if ( HasBlack [ id ] == false ) { cs_set_user_money( id, price-get_pcvar_num(money [ 5 ] )) ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat Black Pack!") cs_set_user_model ( id , "blackpackff" ); set_pev ( id, pev_viewmodel2, Black [ 0 ] ); set_pev ( id, pev_weaponmodel2, Black [ 1 ] ); give_item(id,"item_kevlar") give_item(id, "item_assaultsuit") HasKnife [ id ] = false HasBlack [ id ] = true } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai deja Black Pack!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara Black Pack!") } } menu_destroy(menu); return PLUGIN_HANDLED; } public ShowMenu1(id) { new menu2 = menu_create("\r[STARK] Anti-Furien Shop:", "af_menu"); menu_additem(menu2, "Golden AK 47 \r9000$", "", 0); menu_additem(menu2, "Defuse Kit \r300$", "", 0); menu_additem(menu2, "50 HP \r3000$", "", 0); menu_additem(menu2, "50 AP + Helmet \r1000$", "", 0); menu_additem(menu2, "Ammo (250 gloante) \r3000$", "", 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) { return PLUGIN_HANDLED; } if(get_user_team(id) != 2) 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 ]) ) { if ( HasAk47 [ id ] == false ) { cs_set_user_money( id,price-get_pcvar_num(money1 [ 1 ] )) for ( new i ; i < sizeof ( g_weapons ) ; i ++ ) ham_strip_weapon(id, g_weapons [ i ]) 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) ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat Golden AK 47!") HasAk47 [ id ] = true } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai deja Golden AK 47!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara Golden AK 47!") } case 1: { if( price >=get_pcvar_num( money1 [ 2 ]) ) { if ( ! cs_get_user_defuse ( id ) ) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 2 ] )) cs_set_user_defuse(id,1) ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat Defuse Kit!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai deja Defuse Kit!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara Defuse Kit!") } case 2: { if( price >= get_pcvar_num(money1 [ 3 ]) ) { if( get_user_health ( id ) < 200 ) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 3 ]) ) set_user_health(id,get_user_health(id)+50) ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat 50 HP!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai atins limita de 200 HP!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara 50 HP!") } case 3: { if( price >= get_pcvar_num(money1 [ 4 ] )) { if( get_user_armor ( id ) < 50 ) { cs_set_user_money( id, price-get_pcvar_num(money1 [ 4 ] )) give_item(id,"item_kevlar") give_item(id, "item_assaultsuit") ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat 50 AP + Helmet!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai atins deja limita de 50 AP!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara 50 AP + Helmet!") } case 4: { if( price >= get_pcvar_num(money1 [ 5 ]) ) { cs_set_user_money( id,price-get_pcvar_num( money1 [ 5 ] )) cs_set_user_bpammo ( id ,CSW_M4A1, 250 ) cs_set_user_bpammo ( id ,CSW_AK47, 250 ) cs_set_user_bpammo ( id ,CSW_AUG, 250 ) cs_set_user_bpammo ( id ,CSW_SG552, 250 ) cs_set_user_bpammo ( id ,CSW_FAMAS, 250 ) cs_set_user_bpammo ( id ,CSW_GALIL, 250 ) cs_set_user_bpammo ( id ,CSW_MP5NAVY, 250 ) cs_set_user_bpammo ( id ,CSW_P90, 250 ) cs_set_user_bpammo ( id ,CSW_M3, 250 ) cs_set_user_bpammo ( id ,CSW_XM1014, 250 ) cs_set_user_bpammo ( id ,CSW_AWP, 250 ) cs_set_user_bpammo ( id ,CSW_SCOUT, 250 ) cs_set_user_bpammo ( id ,CSW_TMP, 250 ) cs_set_user_bpammo ( id ,CSW_MAC10, 250 ) cs_set_user_bpammo ( id ,CSW_DEAGLE, 250 ) ColorChat(id,"^x04[STARK-Shop]^x01 Ai cumparat Ammo (250 gloante)!") } else ColorChat(id,"^x04[STARK-Shop]^x01 Ai prea putini bani pentru a cumpara Ammo (250 gloante)!") } } menu_destroy(menu2); return PLUGIN_HANDLED; } public client_putinserver( id ) { HasKnife [ id ] = false HasBlack [ id ] = false cs_reset_user_model(id) } stock ColorChat(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!x04", "^4"); replace_all(msg, 190, "!x01", "^1"); replace_all(msg, 190, "!x03", "^3"); if(id) players[0] = id; else get_players(players, count, "ch"); { for(new i = 0; i < count; i++) { if(is_user_connected(players)) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players); write_byte(players); write_string(msg); message_end(); } } } }