a spus sa scot hp-ul si sa bag deagle cu 2 ammo nu bpammo am reusit totu frumos dar nu stiam cum sa fac if(user_have_weapon si sa cumpere doar daca nu are deagle daca are sa nu il lase sa cumpere , stie cineva ?
am incercat si cu new boll
- | Afiseaza codul
#include <amxmodx> #include <fun> #include <cstrike> #include <hamsandwich> #include <fakemeta_util> #pragma tabsize 0 native get_user_points( id ) native set_user_points( id, points ) new bool: Speed[17]; new const szTg[] = "Bonus"; public plugin_init( ) { register_plugin( "S", "shop", "Andy" ); RegisterHam( Ham_Spawn, "player", "Sp", true ); register_event("CurWeapon" , "CWeapon" , "be" , "1=1" ); register_clcmd( "say bonus", "TS", -1 ); register_clcmd( "say /bonus", "TS", -1 ); register_clcmd( "say_team bonus", "TS", -1 ); register_clcmd( "say_team /bonus", "TS", -1 ); } public client_putinserver( id ) { Speed[id] = false; } public TS( id ) { if( is_user_connected( id ) && is_user_alive( id ) ) { switch( get_user_team( id ) ) { case 1,2: SM( id ); } } else client_printcolor( id, "^4[%s]^1Trebuie sa fi in viata pentru a deschide ^3Shopul ^1!", szTg ); } public SM( id ) { new szMenu[ 10 char ]; format( szMenu, charsmax( szMenu ), "\r[%s] \wMenu",szTg); new menu = menu_create ( szMenu , "Menu" ); menu_additem( menu, "\w10 HP \r[50 Puncte]", "1", 0); menu_additem( menu, "\wHe Grenade \r[50 Puncte]", "2", 0); menu_additem( menu, "\wGravitatie \y400 \r[15 Puncte]", "3", 0); menu_additem( menu, "\wSpeed \y450 \r[20 Puncte]", "4", 0); menu_additem( menu, "\wSchimb \y1000$ \wcu \y1 Punct", "5", 0); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return 1; } public Menu( id, menu, item ) { 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 points = get_user_points( id ) - 50; if( points < 0 ) { client_printcolor( id, "^4[%s]^1Nu ai destule puncte !",szTg ); return 1; } else { new iHealth = get_user_health(id); if(iHealth >= 120) { client_printcolor( id, "^4[%s]^1 Ai atins limita maxima de ^3 120 HP", szTg ); } else { fm_set_user_health(id, iHealth + 10); set_user_points( id, points ); return 1; } } } case 2: { new points = get_user_points( id ) - 50; if( points < 0 ) { client_printcolor( id, "^4[%s]^1Nu ai destule puncte !",szTg ); return 1; } else { new iArmor = get_user_armor(id); if(iArmor >= 120) { client_printcolor( id, "^4[%s]^1 Ai atins limita maxima de ^3 120 AP", szTg ); } else { give_item( id, "weapon_hegrenade" ); client_printcolor( id, "^4[%s]^1 Ai cumparat ^3 HeGrenade", szTg ); set_user_points( id, points ); return 1; } } } case 3: { new points = get_user_points( id ) - 15; if( points < 0 ) { client_printcolor( id, "^4[%s]^1Nu ai destule puncte !",szTg ); return 1; } set_user_gravity(id, 0.5); client_printcolor( id, "^4[%s]^1 Ai cumparat ^3 400 Gravitatie", szTg ); set_user_points( id, points ); return 1; } case 4: { new points = get_user_points( id ) - 20; if( points < 0 ) { client_printcolor( id, "^4[%s]^1Nu ai destule puncte !",szTg ); return 1; } Speed[id] = true; client_printcolor( id, "^4[%s]^1 Ai cumparat ^3 450 Speed", szTg ); set_user_points( id, points ); return 1; } case 5: { Schimb(id); } } return 1; } public Schimb ( id ) { new money = cs_get_user_money( id ); new points = get_user_points( id ); new szSchimb[ 10 char ]; format( szSchimb, charsmax( szSchimb ), "\r[%s] \wSchimb Bani / Points",szTg); new SchimbMenu = menu_create ( szSchimb , "SchimbHandled" ); if( points < 1 ) { menu_additem( SchimbMenu, "\w1 Puncte \y- \r1000$", "1", 0); } else { menu_additem( SchimbMenu, "\w1 Puncte \y- \d No Money", "1", 0); } if( money < 1000 ) { menu_additem( SchimbMenu, "\w1000$ \y- \r1 Puncte", "2", 0); } else { menu_additem( SchimbMenu, "\w1000$ \y- \d No Points", "2", 0); } menu_setprop ( SchimbMenu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, SchimbMenu, 0 ); return 1; } public SchimbHandled( id, SchimbMenu, item ) { if( item == MENU_EXIT ) { return 1; } new data [ 6 ], szName [ 64 ]; new access, callback; menu_item_getinfo ( SchimbMenu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback ); new key = str_to_num ( data ); switch(key) { case 1: { new money = cs_get_user_money( id ); new points = get_user_points( id ); if( money < 1000 ) { client_printcolor( id, "^4[%s]^1Nu ai destui bani pentru a face schimbul !",szTg ); return 1; } client_printcolor( id, "^4[%s]^1Ai schimbat ^3 1000$ ^1si ai primit ^3 1 Points ^1!", szTg); cs_set_user_money( id, money - 1000 ); set_user_points( id, points + 1 ); return 1; } case 2: { new money = cs_get_user_money( id ); new points = get_user_points( id ); if( points < 1 ) { client_printcolor( id, "^4[%s]^1Nu ai destule points pentru a face schimbul !",szTg ); return 1; } client_printcolor( id, "^4[%s]^1Ai schimbat ^3 1 Points ^1si ai primit ^3 1000$ ^1!", szTg); cs_set_user_money( id, money + 1000 ); set_user_points( id, points - 1 ); return 1; } } return 1; } public CWeapon( id ) { if( Speed[ id ] ) { if( get_user_weapon(id)) { set_user_maxspeed(id, 450.0); } } } public Sp( id ) { Speed[id] = false; set_user_gravity(id, 1.0); } stock client_printcolor(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^x04"); // Green Color replace_all(msg, 190, "!n", "^x01"); // Default Color replace_all(msg, 190, "!t", "^x03"); // Team Color if(id) players[0] = id; else get_players(players, count, "ch"); for (new i = 0; i < count; i++) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players); write_byte(players); write_string(msg); message_end(); } }