Advertisement
AJW1337

sdajdhasdj

Sep 29th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.71 KB | None | 0 0
  1. /* Plugin generated by AMXX-Studio
  2.  
  3. 1. Kogato polzvash client_connect/disconnect vinagi trqbva da imat public pred tqh.
  4. 2. Nqma polza da pravish client_connect..putinserver..authorized, edno i sushto e. Nujno e samo 1 ot tqh.
  5. 3. Kogato iskash da imash mnogo komandi s edno deistvie vmesto da gi pisheh edna sled druga po 20 reda.
  6.    Polzvash tova koeto sum ti naglasil
  7.  
  8.  
  9.  
  10.  
  11. */
  12.  
  13. #include <amxmodx>
  14. #include <amxmisc>
  15. #include <hamsandwich>
  16. #include <fun>
  17. #include <colorchat>
  18. #include <cstrike>
  19. #include <engine>
  20.  
  21.  
  22. #define PLUGIN "Deathrun Shop MONEY"
  23. #define VERSION "1.0"
  24. #define AUTHOR "mandixX"
  25.  
  26.  
  27. #define PICKUP_SND      "items/gunpickup2.wav"
  28. #define HEALTH_SOUND        "items/smallmedkit1.wav"
  29. #define ARMOR_SOUND     "items/ammopickup2.wav"
  30. #define CLOACK_SOUND        "hornet/ag_buzz1.wav"
  31.  
  32. new const szPrefix[] = "SS"
  33.  
  34. new ShopON,
  35. healthcost,
  36. healthcvar,
  37. armorcost,
  38. armorcvar,
  39. hecost,
  40. flashcost,
  41. heflashcost,
  42. inviscost,
  43. inviscvar;
  44.  
  45. new HasHealth[33],
  46. HasArmor[33],
  47. HasHE[33],
  48. HasFlash[33],
  49. HasHeFlash[33],
  50. HasInvis[33],
  51. HasBoth[ 33 ];
  52.  
  53. new szChatCommands[][] = {
  54.     "say /shop", "say_team /shop",
  55.     "say /drshop", "say_team /drshop",
  56.     "say drshop", "say drshop",
  57.     "say shop", "say_team shop"
  58. }
  59.  
  60. public plugin_init() {
  61.     register_plugin(PLUGIN, VERSION, AUTHOR)
  62.    
  63.     register_event( "CurWeapon", "HookCurWeapon", "be", "1=1" );
  64.    
  65.     RegisterHam( Ham_Spawn, "player", "fwd_spawn" );
  66.    
  67.    
  68.     /* Commands To Open DRSHOP */
  69.     for ( new i = 0; i < sizeof szChatCommands; i++ )
  70.         register_clcmd( szChatCommands[i], "OpenMenu" )
  71.    
  72.    
  73.    
  74.    
  75.     ShopON= register_cvar("deathrun_shop", "1")
  76.     healthcvar= register_cvar("deathrun_health", "150")
  77.     healthcost= register_cvar("deathrun_health_price", "8000")
  78.     armorcvar= register_cvar("deathrun_armor", "150")
  79.     armorcost= register_cvar("deathrun_armor_price", "5000")
  80.     hecost= register_cvar("deathrun_he_price", "6000")
  81.     flashcost= register_cvar("deathrun_flash_price", "5000")
  82.     heflashcost= register_cvar("deathrun_heflash_price", "10000")
  83.     inviscost= register_cvar("deathrun_invis_price", "16000")
  84.    
  85.     inviscvar = register_cvar( "deathrun_invis_cvar", "115" );
  86.    
  87.     //--------------------------ADMIN COMMANDS
  88.    
  89.     register_concmd("amx_give_money", "GiveMoney", ADMIN_BAN, "<nick> <money>")
  90.     register_concmd("amx_set_money", "SetMoney", ADMIN_BAN, "<nick> <money>")
  91.    
  92.     //--------------------------MONEY CHECK COMMANDS
  93.    
  94.    
  95.     register_clcmd("say /money", "ShowMoney")
  96.     register_clcmd("say money", "ShowMoney")
  97.     register_clcmd("say money", "ShowMoney")
  98.     register_clcmd("say_team money", "ShowMoney")
  99.    
  100.    
  101.    
  102. }
  103. public plugin_precache() {
  104.     precache_sound(PICKUP_SND);
  105.     precache_sound(HEALTH_SOUND);
  106.     precache_sound(ARMOR_SOUND);
  107.     precache_sound(CLOACK_SOUND);
  108. }
  109. public client_connect(id)
  110. {
  111.     ResetItems(id)
  112. }
  113. public client_disconnect(id)
  114. {
  115.     ResetItems(id)
  116. }
  117. public OpenMenu(id)
  118. {
  119.     if(get_pcvar_num(ShopON) !=1)
  120.     {
  121.         ColorChat(id, RED, "^4[%s] ^1Deathrun Shop is currently ^3DISABLED^1.", szPrefix)
  122.         return PLUGIN_HANDLED;
  123.     }
  124.     else
  125.     {
  126.         new Title[120], LifeMenu[120], HatsMenu[120], Item1[120], Item2[120], Item3[120], Item4[120], Item5[120], Item6[120];
  127.            
  128.         new money = cs_get_user_money(id)
  129.            
  130.             // Kakva polza ot formatex, ako ne dobavish pravilno string-a :D
  131.         formatex(Title,119,"\r[SS]\yDeathrun Shop by \rmandixX^n\wYour money:\y %i$", money)
  132.        
  133.         new menu= menu_create(Title, "shop_hand" )
  134.        
  135.         formatex(LifeMenu, 119, "\yBuy\r/\ySell Lifes")
  136.        
  137.         menu_additem(menu, LifeMenu, "1", 0)
  138.        
  139.         formatex(HatsMenu, 119, "\yHats Menu\w[\rNEW VERSION\w]")
  140.        
  141.         menu_additem(menu, HatsMenu, "2", 0)
  142.        
  143.         formatex(Item1,119, "\wHealth \y(\w+ \r%i\y)    -       \y%i$",get_pcvar_num(healthcvar), get_pcvar_num(healthcost))
  144.        
  145.         menu_additem(menu, Item1,"3", 0)
  146.        
  147.         formatex(Item2, 119, "\wArmor \y(\w+ \r%i\y)    -       \y%i$", get_pcvar_num (armorcvar), get_pcvar_num (armorcost))
  148.        
  149.         menu_additem(menu, Item2, "4", 0)
  150.        
  151.         formatex(Item3, 119, "\rHE \wGrenade    -       \y%i$",get_pcvar_num (hecost))
  152.        
  153.         menu_additem(menu, Item3, "5", 0)
  154.        
  155.         formatex(Item4, 119, "\wFlash Granade   -       \y%i$", get_pcvar_num(flashcost))
  156.        
  157.         menu_additem(menu, Item4, "6" , 0)
  158.        
  159.         formatex(Item5, 119, "\rHE\y+\wFlash Granades   -       \y%i$", get_pcvar_num (heflashcost))
  160.        
  161.         menu_additem(menu, Item5, "7", 0)
  162.        
  163.         formatex(Item6, 119, "\wInvisibility \r[\yTerrorist Only\r] -       \y%i$", get_pcvar_num(inviscost))
  164.        
  165.         menu_additem(menu, Item6, "8", 0)
  166.        
  167.         menu_setprop(menu, MPROP_EXITNAME, "Exit");
  168.         menu_display(id, menu)
  169.         return PLUGIN_HANDLED;
  170.     }
  171.     return PLUGIN_HANDLED;
  172. }
  173. public shop_hand(id, menu, item)
  174. {
  175.     if ( item == MENU_EXIT) {
  176.         menu_destroy ( menu );
  177.         return PLUGIN_HANDLED;
  178.     }
  179.    
  180.     /* --| Getting the menu information */
  181.     new data[ 6 ], iName[ 64 ], access, callback;
  182.     menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
  183.    
  184.     /* --| Get menu keys */
  185.     new key = str_to_num( data );
  186.    
  187.    
  188.     new money = cs_get_user_money(id);
  189.    
  190.     switch ( key ) {
  191.         case 1: {
  192.             //LifeMenu(id);
  193.             client_cmd( id, "say /lifesmenu" );
  194.         }
  195.         case 2:{
  196.             //HatsMenu(id);
  197.             client_cmd( id, "say /hats" );
  198.         }
  199.         case 3:{
  200.             if(!is_user_alive(id)) {
  201.                 alive_only(id)
  202.                 return PLUGIN_HANDLED
  203.             }
  204.             else if(HasHealth[ id ]) {
  205.                 already_have(id);
  206.                 return PLUGIN_HANDLED
  207.             }
  208.             else if(money < get_pcvar_num(healthcost)) {
  209.                 dont_have(id)
  210.                 return PLUGIN_HANDLED
  211.             }
  212.             set_user_health(id, get_user_health(id) + get_pcvar_num(healthcvar))
  213.             ColorChat(id, RED, "^4[%s] ^1You bought +^3%i ^1Health", szPrefix, get_pcvar_num(healthcvar))
  214.             HasHealth[ id ] = true;
  215.            
  216.             cs_get_money(id, healthcost)
  217.             emit_sound( id, CHAN_ITEM, HEALTH_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
  218.             menu_display( id, menu, 0 );
  219.         }
  220.         case 4:{
  221.             if(!is_user_alive(id)) {
  222.                 alive_only(id)
  223.                 return PLUGIN_HANDLED
  224.             }
  225.             else if(HasArmor[ id ]) {
  226.                 already_have(id);
  227.                 return PLUGIN_HANDLED
  228.             }
  229.             else if(money < get_pcvar_num(armorcost)) {
  230.                 dont_have(id)
  231.                 return PLUGIN_HANDLED
  232.             }
  233.             set_user_armor(id, get_user_armor(id) + get_pcvar_num(armorcvar))
  234.             ColorChat(id, RED, "^4[%s] ^1You bought +^3%i ^1Armor", szPrefix, get_pcvar_num(armorcvar))
  235.             HasArmor[ id ] = true;
  236.            
  237.             cs_get_money(id, armorcost)
  238.             emit_sound( id, CHAN_ITEM, ARMOR_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
  239.             menu_display( id, menu, 0 );
  240.         }
  241.         case 5:{
  242.             if(!is_user_alive(id)) {
  243.                 alive_only(id)
  244.                 return PLUGIN_HANDLED
  245.             }
  246.             else if(HasHE[ id ]) {
  247.                 already_have(id);
  248.                 return PLUGIN_HANDLED
  249.             }
  250.             else if(money < get_pcvar_num(hecost)) {
  251.                 dont_have(id)
  252.                 return PLUGIN_HANDLED
  253.             }
  254.            
  255.             give_item( id, "weapon_hegranade")
  256.             ColorChat(id, RED, "^4[%s] ^1You just bought a ^3HE ^1granade", szPrefix)
  257.             HasHE[ id ] = true;
  258.             cs_get_money(id, hecost)
  259.             emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
  260.             menu_display( id, menu, 0 );
  261.         }
  262.         case 6:{
  263.             if(!is_user_alive(id)) {
  264.                 alive_only(id)
  265.                 return PLUGIN_HANDLED
  266.             }
  267.             else if(HasFlash[ id ]) {
  268.                 already_have(id);
  269.                 return PLUGIN_HANDLED
  270.             }
  271.             else if(money < get_pcvar_num(flashcost)) {
  272.                 dont_have(id)
  273.                 return PLUGIN_HANDLED
  274.             }
  275.            
  276.             give_item(id, "weapon_flashbang")
  277.             ColorChat(id , GREY, "^4[%s] ^1You just bought a ^3FLASH ^1 granade", szPrefix)
  278.             HasFlash[ id ] = true;
  279.             cs_get_money(id, flashcost)
  280.             emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
  281.             menu_display( id, menu, 0 );
  282.         }
  283.         case 7:{
  284.             if(!is_user_alive(id)) {
  285.                 alive_only(id)
  286.                 return PLUGIN_HANDLED
  287.             }
  288.             else if(HasHeFlash[ id ]) {
  289.                 already_have(id);
  290.                 return PLUGIN_HANDLED
  291.             }
  292.             else if(money < get_pcvar_num(heflashcost)) {
  293.                 dont_have(id)
  294.                 return PLUGIN_HANDLED
  295.             }
  296.             give_item(id, "weapon_hegrenade")
  297.             give_item(id, "weapon_flashbang")
  298.             ColorChat(id, RED, "^4[%s] ^1You just bought ^3HE^4+^3FLASH ^1Granades", szPrefix)
  299.             HasBoth[ id ] = true;
  300.             cs_get_money(id, heflashcost)
  301.             emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
  302.             menu_display( id, menu, 0 );
  303.         }
  304.         case 8:{
  305.             if(get_user_team(id) != 1) {
  306.                 ColorChat(id, RED, "^4[%s] ^1This item is only for ^3Terrorist-Team", szPrefix)
  307.             }
  308.             else if(!is_user_alive(id)) {
  309.                 alive_only(id)
  310.                 return PLUGIN_HANDLED
  311.             }
  312.             else if(HasInvis[ id ]) {
  313.                 already_have(id);
  314.                 return PLUGIN_HANDLED
  315.             }
  316.             if(money < get_pcvar_num(inviscost)) {
  317.                 dont_have(id)
  318.                 return PLUGIN_HANDLED
  319.             }
  320.             set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_pcvar_num( inviscvar ) );
  321.             ColorChat(id , GREY, "^4[%s] ^1You bought an ^3Invisibility", szPrefix)
  322.             HasInvis[ id ] = true;
  323.             cs_get_money(id, inviscost)
  324.             emit_sound( id, CHAN_ITEM, CLOACK_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
  325.             menu_display( id, menu, 1 );
  326.         }
  327.     }
  328.     menu_destroy(menu)
  329.     return PLUGIN_HANDLED
  330. }
  331. public fwd_spawn(id)
  332. {
  333.     if(is_user_alive(id))
  334.     {
  335.         ResetItems(id)
  336.     }
  337. }
  338. public ShowMoney(id)
  339. {
  340.     new money = cs_get_user_money(id)
  341.     ColorChat(id, BLUE , "^4[%s] ^1You have ^3%i$ ^1in you pocket !", szPrefix, money)
  342. }
  343. public already_have(id) {
  344.     ColorChat(id, RED, "^4[%s] ^1You ^3already ^1have this item", szPrefix)
  345. }
  346. public dont_have(id) {
  347.     ColorChat(id, RED, "^4[%s] ^1You ^3dont ^1have enough money to buy this item", szPrefix)
  348. }
  349. public alive_only(id) {
  350.     ColorChat(id, BLUE, "^4[%s] ^1This item is only for ^3ALIVE ^1players", szPrefix)
  351. }
  352. ResetItems(id)
  353. {
  354.     HasHealth[ id ] = false;
  355.     HasArmor[ id ] = false;
  356.     HasHE[ id ] = false;
  357.     HasFlash[ id ] = false;
  358.     HasHeFlash[ id ] = false;
  359.     HasInvis[ id ] = false;
  360.     HasBoth[ id ] = false;
  361. }
  362. stock cs_get_money(id, money)
  363. {
  364.     return cs_set_user_money(id, cs_get_user_money(id) - money)
  365. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement