EDIT : Am gasit aici cum se face dar nu stiu daca e bine ,mie frica sa nu stric ceva ..
- sursa la shop | Afiseaza codul
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <cstrike> #include <fun> #include <hamsandwich> #include <fakemeta> #include <colorchat> static Author[] = "eNd."; static Plugin[] = "DR Shop"; static TAG[] = "[SHOP]"; enum _: g_iCvars { cvar_nade_cost, cvar_nade1_cost, cvar_walk_cost, cvar_hp_cost, cvar_ap_cost, cvar_speed_cost, cvar_render_cost, cvar_hp_value, cvar_ap_value, cvar_speed_value, cvar_alpha_value, cvar_max_use, }; new \ g_AllCvars [ g_iCvars ] , g_iMax [33][8] , bool:g_bSpeed [33] ; new const szPickSound[] = "items/9mmclip1.wav" ; public plugin_precache() { g_AllCvars[ cvar_nade_cost ] = register_cvar("shop_nade_cost", "100"); g_AllCvars[ cvar_nade1_cost ] = register_cvar("shop_nade1_cost", "100"); g_AllCvars[ cvar_walk_cost ] = register_cvar("shop_walk_cost", "100"); g_AllCvars[ cvar_hp_cost ] = register_cvar("shop_hp_cost", "100"); g_AllCvars[ cvar_ap_cost ] = register_cvar("shop_ap_cost", "100"); g_AllCvars[ cvar_speed_cost ] = register_cvar("shop_speed_cost", "100"); g_AllCvars[ cvar_render_cost ] = register_cvar("shop_render_cost", "100"); g_AllCvars[ cvar_speed_value ] = register_cvar("shop_speed_value", "320.0"); g_AllCvars[ cvar_alpha_value ] = register_cvar("shop_alpha_value", "120"); g_AllCvars[ cvar_hp_value ] = register_cvar("shop_health_value", "250"); g_AllCvars[ cvar_ap_value ] = register_cvar("shop_armor_value", "500"); g_AllCvars[ cvar_max_use] = register_cvar("shop_max_use", "3"); precache_sound(szPickSound); } public plugin_init() { register_plugin(Plugin, "0.2", Author); register_clcmd("say", "hook_say"); register_clcmd("say_team", "hook_say"); RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn", 1 ); register_event("CurWeapon", "CurWeapon", "be", "1=1"); } public hook_say(id) { static iArg[192]; read_args(iArg, sizeof(iArg) - 1); remove_quotes(iArg); if( (containi(iArg, "/shop") != -1)) { replace( iArg , sizeof( iArg ) - 1, "/", "" ); set_task( 0.1 , "ShopMenu" , id); } return 0; } public CurWeapon(id) { new SpeedVal = get_pcvar_num(g_AllCvars[cvar_speed_value]); if(is_user_alive(id)) if(g_bSpeed[id]) set_user_maxspeed(id, float(SpeedVal)); return 1; } public Ham_PlayerSpawn(const id) { if(is_user_alive(id) && is_user_connected(id)) { set_user_footsteps(id, 1); set_user_gravity(id, 1.0); set_user_maxspeed(id, 250.0); g_bSpeed[id] = false; set_user_rendering(id, _, 0, 0, 0, _, 0); g_iMax[id][1] = 0; g_iMax[id][2] = 0; g_iMax[id][3] = 0; g_iMax[id][4] = 0; g_iMax[id][5] = 0; g_iMax[id][6] = 0; g_iMax[id][7] = 0; } } public ShopMenu(id) { new szText[555 char]; formatex(szText, charsmax(szText), "\wShop \r\d^n \wAi \r%d \y$", cs_get_user_money(id)); new szMenu = menu_create(szText, "Menu_Submenu"); formatex(szText, charsmax(szText), "\yHE \wGrenade \r%d\r(\wBuys\r) \r[\y%d$\r]",(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][1]),get_pcvar_num(g_AllCvars[cvar_nade_cost])); menu_additem(szMenu, szText, "1", 0); formatex(szText, charsmax(szText), "\yHE + FB \r%d\r(\wBuys\r) \r[\y%d$\r]",(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][2]),get_pcvar_num(g_AllCvars[cvar_nade1_cost])); menu_additem(szMenu, szText, "2", 0); formatex(szText, charsmax(szText), "\ySilent Walk \r(\wOnce Buy\r) \r[\y%d$\r]",get_pcvar_num(g_AllCvars[cvar_walk_cost])); menu_additem(szMenu, szText, "3", 0); formatex(szText, charsmax(szText), "\d+ \y[\w%d\y] \r%d\r(\wBuys\r) \r[\y%d$\r]",get_pcvar_num(g_AllCvars[cvar_hp_value]),(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][4]),get_pcvar_num(g_AllCvars[cvar_hp_cost])); menu_additem(szMenu, szText, "4", 0); formatex(szText, charsmax(szText), "\d+ \y[\w%d\y] \r%d\r(\wBuys\r) \r[\y%d$\r]",get_pcvar_num(g_AllCvars[cvar_ap_value]),(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][5]),get_pcvar_num(g_AllCvars[cvar_ap_cost])); menu_additem(szMenu, szText, "5", 0); formatex(szText, charsmax(szText), "\dViteza \y[\w%d\y] \r(\wO runda\r) \r(\wOnce Buy\r) \r[\y%d$\r] \y$",get_pcvar_num(g_AllCvars[cvar_speed_value]),get_pcvar_num(g_AllCvars[cvar_speed_cost])); menu_additem(szMenu, szText, "6", 0); formatex(szText, charsmax(szText), "\dInviziblitate \r(\wO runda\r) \r(\wOnce Buy\r) \r[\y%d$\r] \y$",get_pcvar_num(g_AllCvars[cvar_render_cost])); menu_additem(szMenu, szText, "7", 0); menu_setprop(szMenu, MPROP_EXIT , MEXIT_ALL); menu_display(id, szMenu, 0); } public Menu_Submenu(id, szMenu, item) { if( item == MENU_EXIT) { menu_destroy(szMenu); return 1; } new data[6], iName[64]; new access, callback; menu_item_getinfo(szMenu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { if(g_iMax[id][1] < get_pcvar_num(g_AllCvars[cvar_max_use])) { new iMoney = cs_get_user_money(id) - get_pcvar_num(g_AllCvars[cvar_nade_cost]); if(iMoney < 0) { ColorChat(id, GREEN, "%s^x03 %s^x01 nu ai destui bani pentru a cumpara acest item.", TAG, szName(id)); return 1; } else { if(pev(id, pev_weapons) & (1<<CSW_HEGRENADE)) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai deja^x03 HE Grenade.^x01", TAG, szName(id)); return 1; } else { cs_set_user_money(id, iMoney); g_iMax[id][1]++; give_item(id, "weapon_hegrenade"); ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat^x03 He Grenade.^x01", TAG, szName(id)); ColorChat(id, GREEN, "%s^x03 %s^x01 mai poti cumpara acest item de %d ori.", TAG, szName(id),(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][1])); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } } else if(g_iMax[id][1] == get_pcvar_num(g_AllCvars[cvar_max_use])) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat deja acest item de %d ori.", TAG, szName(id), get_pcvar_num(g_AllCvars[cvar_max_use])); return 1; } } case 2: { if(g_iMax[id][2] < get_pcvar_num(g_AllCvars[cvar_max_use])) { new iMoney = cs_get_user_money(id) - get_pcvar_num(g_AllCvars[cvar_nade1_cost]); if(iMoney < 0) { ColorChat(id, GREEN, "%s^x03 %s^x01 nu ai destui bani pentru a cumpara acest item.", TAG, szName(id)); return 1; } else { if(pev(id, pev_weapons) & (1<<CSW_HEGRENADE)) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai deja^x03 HE Grenade.^x01", TAG, szName(id)); return 1; } else if(pev(id, pev_weapons) & (1<<CSW_FLASHBANG)) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai deja^x03 FB Grenade.^x01", TAG, szName(id)); return 1; } else { cs_set_user_money(id, iMoney); g_iMax[id][2]++; give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat^x03 He Grenade + FB.^x01", TAG, szName(id)); ColorChat(id, GREEN, "%s^x03 %s^x01 mai poti cumpara acest item de %d ori.", TAG, szName(id),(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][2])); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } } else if(g_iMax[id][2] == get_pcvar_num(g_AllCvars[cvar_max_use])) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat deja acest item de %d ori.", TAG, szName(id), get_pcvar_num(g_AllCvars[cvar_max_use])); return 1; } } case 3: { if(g_iMax[id][3] < 1) { new iMoney = cs_get_user_money(id) - get_pcvar_num(g_AllCvars[cvar_walk_cost]); if(iMoney < 0) { ColorChat(id, GREEN, "%s^x03 %s^x01 nu ai destui bani pentru a cumpara acest item.", TAG, szName(id)); return 1; } else { cs_set_user_money(id, iMoney); g_iMax[id][3]++; set_user_footsteps(id, 0); ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat^x03 Silent Walk ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } else if(g_iMax[id][3] ==1) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat deja acest item.", TAG, szName(id)); return 1; } } case 4: { if(g_iMax[id][4] < get_pcvar_num(g_AllCvars[cvar_max_use])) { new iMoney = cs_get_user_money(id) - get_pcvar_num(g_AllCvars[cvar_hp_cost]); new HpVal = get_pcvar_num(g_AllCvars[cvar_hp_value]); if(iMoney < 0) { ColorChat(id, GREEN, "%s^x03 %s^x01 nu ai destui bani pentru a cumpara acest item.", TAG, szName(id)); return 1; } else { cs_set_user_money(id, iMoney); g_iMax[id][4]++; set_user_health(id, HpVal); ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat^x03 %d HP ^x01", TAG, szName(id), HpVal); ColorChat(id, GREEN, "%s^x03 %s^x01 mai poti cumpara acest item de %d ori.", TAG, szName(id),(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][4])); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } else if(g_iMax[id][4] == get_pcvar_num(g_AllCvars[cvar_max_use])) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat deja acest item de %d ori.", TAG, szName(id), get_pcvar_num(g_AllCvars[cvar_max_use])); return 1; } } case 5: { if(g_iMax[id][5] < get_pcvar_num(g_AllCvars[cvar_max_use])) { new iMoney = cs_get_user_money(id) - get_pcvar_num(g_AllCvars[cvar_ap_cost]); new ApVal = get_pcvar_num(g_AllCvars[cvar_ap_value]); if(iMoney < 0) { ColorChat(id, GREEN, "%s^x03 %s^x01 nu ai destui bani pentru a cumpara acest item.", TAG, szName(id)); return 1; } else { cs_set_user_money(id, iMoney); g_iMax[id][5]++; set_user_armor(id, ApVal); ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat^x03 %d AP ^x01", TAG, szName(id), ApVal); ColorChat(id, GREEN, "%s^x03 %s^x01 mai poti cumpara acest item de %d ori.", TAG, szName(id),(get_pcvar_num(g_AllCvars[cvar_max_use])-g_iMax[id][5])); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } else if(g_iMax[id][5] == get_pcvar_num(g_AllCvars[cvar_max_use])) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat deja acest item de %d ori.", TAG, szName(id), get_pcvar_num(g_AllCvars[cvar_max_use])); return 1; } } case 6: { if(g_iMax[id][6] < 1) { new iMoney = cs_get_user_money(id) - get_pcvar_num(g_AllCvars[cvar_speed_cost]); new SpeedVal = get_pcvar_num(g_AllCvars[cvar_speed_value]); if(iMoney < 0) { ColorChat(id, GREEN, "%s^x03 %s^x01 nu ai destui bani pentru a cumpara acest item.", TAG, szName(id)); return 1; } else { cs_set_user_money(id, iMoney); g_iMax[id][6]++; set_user_maxspeed(id, float(SpeedVal)); g_bSpeed[id] = true; ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat^x03 %d Speed ^x01", TAG, szName(id), SpeedVal); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } else if(g_iMax[id][6] ==1) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat deja acest item.", TAG, szName(id)); return 1; } } case 7: { if(g_iMax[id][7] < 1) { new iMoney = cs_get_user_money(id) - get_pcvar_num(g_AllCvars[cvar_render_cost]); new AlphaVal = get_pcvar_num(g_AllCvars[cvar_alpha_value]); if(iMoney < 0) { ColorChat(id, GREEN, "%s^x03 %s^x01 nu ai destui bani pentru a cumpara acest item.", TAG, szName(id)); return 1; } else { cs_set_user_money(id, iMoney); g_iMax[id][7]++; set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,AlphaVal); ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat^x03 Inviziblitate ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } else if(g_iMax[id][7] == 1) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai cumparat deja acest item.", TAG, szName(id)); return 1; } } } return 1; } stock szName(id) { new sz_Name[33]; get_user_name(id, sz_Name, charsmax(sz_Name)); return sz_Name; }