Advertisement
Rejack

BlockMaker Shop (v1.0)

Sep 19th, 2012 (edited)
616
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 15.64 KB | None | 0 0
  1. #include < amxmodx >
  2. #include < fun >
  3. #include < cstrike >
  4. #include < hamsandwich >
  5.  
  6. new bool:szUseRespawn[ 33 ] = false, bool:szOnePower[ 33 ] = false,
  7.  
  8. bool:szGodmode[ 33 ] = false, bool:szCam[ 33 ] = false,bool:szGravity[ 33 ] = false, bool:szSpeed[ 33 ]  = false,
  9. bool:szStealth[ 33 ] = false, bool:szAntiFrost[ 33 ] = false, bool:szAntiFlash[ 33 ] = false,
  10.  
  11. szMaxClients, szDonate, szMsgScreenFade;
  12.  
  13. native hnsxp_set_user_xp( id, xp );
  14. native add_user_immune( id );
  15. native remove_user_immune( id );
  16.  
  17. new szGrenadesNames[][] ={
  18.     "Frostnade",
  19.     "Flashbang",
  20.     "Explosive"
  21. }
  22. new szGrenadesItems[][] ={
  23.     "weapon_smokegrenade",
  24.     "weapon_flashbang",
  25.     "weapon_hegrenade"
  26. }
  27. new szGrenadesAmmo[] ={
  28.     CSW_SMOKEGRENADE,
  29.     CSW_FLASHBANG,
  30.     CSW_HEGRENADE
  31. }
  32. new szGrenadesPrices[] ={
  33.     7000,
  34.     3500,
  35.     6000
  36. }
  37. new szHealthNames[][] ={
  38.     "+25 Health",
  39.     "+50 Health",
  40.     "+75 Health",
  41.     "+100 Health"
  42. }
  43. new szHealthPrices[] ={
  44.     1000,
  45.     2000,
  46.     3000,
  47.     4000
  48. }
  49. new szHealthItems[] ={
  50.     25,
  51.     50,
  52.     75,
  53.     100
  54. }
  55. new szArmorNames[][] ={
  56.     "+25 Armor",
  57.     "+50 Armor",
  58.     "+75 Armor",
  59.     "+100 Armor"
  60. }
  61. new szArmorPrices[] ={
  62.     1000,
  63.     2000,
  64.     3000,
  65.     4000
  66. }
  67. new szArmorItems[] ={
  68.     25,
  69.     50,
  70.     75,
  71.     100
  72. }
  73. new szWeaponsNames[][] ={
  74.     "Ak47 2 Bullets",
  75.     "M4A1 2 Bullets",
  76.     "Famas 2 Bullets",
  77.     "M3 1 Bullet",
  78.     "Deagle 1 Bullet",
  79.     "AWP 1 Bullet"
  80. }
  81. new szWeaponsItems[][] ={
  82.     "weapon_ak47",
  83.     "weapon_m4a1",
  84.     "weapon_famas",
  85.     "weapon_m3",
  86.     "weapon_deagle",
  87.     "weapon_awp"
  88. }
  89. new szWeaponsAmmo[] ={
  90.     CSW_AK47,
  91.     CSW_M4A1,
  92.     CSW_FAMAS,
  93.     CSW_M3,
  94.     CSW_DEAGLE,
  95.     CSW_AWP
  96. }
  97. new szWeaponsPrices[] ={
  98.     10000,
  99.     10000,
  100.     12000,
  101.     8000,
  102.     12000,
  103.     16000
  104. }
  105. new szWeaponsBullets[] = {
  106.     2,
  107.     2,
  108.     2,
  109.     1,
  110.     1,
  111.     1
  112. }
  113. new szPowersNames[][] = {
  114.     "Godmode 10 Seconds",
  115.     "Camouflage 20 Seconds",
  116.     "0.5 Gravity 20 Seconds",
  117.     "x2 Speed 20 Seconds",
  118.     "Stealth 20 Seconds",
  119.     "Anti-Frost One Round",
  120.     "Anti-Flash One Round"
  121. }
  122. new szPowersPrices[] = {
  123.     12000,
  124.     6000,
  125.     8000,
  126.     6000,
  127.     8000,
  128.     12000,
  129.     8000
  130. }
  131. new szXPNames[][] ={
  132.     "+25 XP",
  133.     "+50 XP",
  134.     "+75 XP",
  135.     "+100 XP"
  136. }
  137. new szXPPrices[] ={
  138.     4000,
  139.     8000,
  140.     12000,
  141.     16000
  142. }
  143. new szXPItems[] ={
  144.     25,
  145.     50,
  146.     75,
  147.     100
  148. }
  149.  
  150. public plugin_init() {
  151.     register_plugin("Blockmaker Shop", "1.0", "Rejack");
  152.    
  153.     register_clcmd( "say /shop", "CmdMainShopMenu" );
  154.    
  155.     szDonate = register_cvar("bm_shop_donate", "1");
  156.    
  157.     szMaxClients = get_maxplayers( );
  158.    
  159.     register_event( "CurWeapon", "CmdSpeed", "be", "1=1" );
  160.    
  161.     RegisterHam( Ham_Spawn, "player", "CmdPlayerSpawn", 1 );
  162.    
  163.     register_event("ScreenFade", "EventFlash", "be", "4=255", "5=255", "6=255", "7>199");
  164.     szMsgScreenFade = get_user_msgid("ScreenFade");
  165. }
  166.  
  167. public CmdMainShopMenu( id ){
  168.     new szMenu = menu_create("\r[\w BlockMaker Shop \r]\w Main Shop Menu", "subMainShop" );
  169.     menu_additem( szMenu, "\wGrenades Shop", "0" );
  170.     menu_additem( szMenu, "\wHealth Shop", "1" );
  171.     menu_additem( szMenu, "\wArmor Shop", "2" );
  172.     menu_additem( szMenu, "\wWeapons Shop", "3" );
  173.     menu_additem( szMenu, "\wPowers Shop", "4" );
  174.     menu_additem( szMenu, "\wXP Shop^n", "5" );
  175.     menu_additem( szMenu, "\rRespawn \w[\d 16000$ \w]\d One Per Map^n", "6" );
  176.     menu_additem( szMenu, "\yPlayers Money", "7" );
  177.     if ( get_pcvar_num( szDonate ) ){
  178.         menu_additem( szMenu, "\yDonate Menu^n", "8" );
  179.     }
  180.     else {
  181.         menu_addblank( szMenu );
  182.     }
  183.     menu_additem( szMenu, "\wExit", "0" );
  184.     menu_setprop( szMenu, MPROP_NUMBER_COLOR, "\r")
  185.     menu_setprop( szMenu, MPROP_PERPAGE, 0)
  186.     menu_display( id, szMenu )
  187. }
  188.  
  189. public subMainShop(id, szMenu, szItem){
  190.     menu_destroy( szMenu )
  191.     if( szItem != MENU_EXIT ){
  192.         CmdCreateShop(id, szItem);
  193.     }
  194. }
  195.  
  196. public CmdCreateShop(id, szShop){
  197.     switch( szShop ){
  198.         case 0:{
  199.             new szMenu = menu_create( "\r[\w BlockMaker \r]\w^nGrenades Shop Menu", "subGrenades" );
  200.             menu_additem( szMenu, "\wFrostnade \y[\r 7000$ \y]", "0" );
  201.             menu_additem( szMenu, "\wFlashbang \y[\r 3500$ \y]", "1" );
  202.             menu_additem( szMenu, "\wExplosive \y[\r 6000$ \y]", "2" );
  203.             menu_display( id, szMenu );
  204.         }
  205.         case 1:{
  206.             new szMenu = menu_create( "\r[\w BlockMaker \r]\w^nHealth Shop Menu", "subHealth" );
  207.             menu_additem( szMenu, "\w+25 HP\y[\r 1000$ \y]", "0" );
  208.             menu_additem( szMenu, "\w+50 HP\y[\r 2000$ \y]", "1" );
  209.             menu_additem( szMenu, "\w+75 HP\y[\r 3000$ \y]", "2" );
  210.             menu_additem( szMenu, "\w+100 HP\y[\r 4000$ \y]", "3" );
  211.             menu_display( id, szMenu );
  212.         }
  213.         case 2:{
  214.             new szMenu = menu_create( "\r[\w BlockMaker \r]\w^nArmor Shop Menu", "subArmor" );
  215.             menu_additem( szMenu, "\w+25 AP\y[\r 1000$ \y]", "0" );
  216.             menu_additem( szMenu, "\w+50 AP\y[\r 2000$ \y]", "1" );
  217.             menu_additem( szMenu, "\w+75 AP\y[\r 3000$ \y]", "2" );
  218.             menu_additem( szMenu, "\w+100 AP\y[\r 4000$ \y]", "3" );
  219.             menu_display( id, szMenu );
  220.         }
  221.         case 3:{
  222.             new szMenu = menu_create( "\r[\w BlockMaker \r]\w^nWeapons Shop Menu", "subWeapons" );
  223.             menu_additem( szMenu, "\wAK47\r [\w 2 \r] \y[\r 10000$ \y]", "0" );
  224.             menu_additem( szMenu, "\wM4A1\r [\w 2 \r] \y[\r 10000$ \y]", "1" );
  225.             menu_additem( szMenu, "\wFamas\r [\w 2 \r] \y[\r 12000$ \y]", "2" );
  226.             menu_additem( szMenu, "\wM3\r [\w 1 \r] \y[\r 8000$ \y]", "3" );
  227.             menu_additem( szMenu, "\wDeagle\r [\w 1 \r] \y[\r 12000$ \y]", "4" );
  228.             menu_additem( szMenu, "\wAwp\r [\w 1 \r] \y[\r 16000$ \y]", "5" );
  229.             menu_display( id, szMenu );
  230.         }
  231.         case 4:{
  232.             new szMenu = menu_create( "\r[\w BlockMaker \r]\w^nPowers Shop Menu", "subPowers" );
  233.             menu_additem( szMenu, "\wGodmode \y[\r 12000$ \y]\d 10 Seconds", "0" );
  234.             menu_additem( szMenu, "\wCamouflage \y[\r 6000$ \y]\d 20 Seconds", "1" );
  235.             menu_additem( szMenu, "\w0.5 Gravity \y[\r 8000$ \y]\d 20 Seconds", "2" );
  236.             menu_additem( szMenu, "\wx2 Speed \y[\r 6000$ \y]\d 20 Seconds", "3" );
  237.             menu_additem( szMenu, "\wStealth \y[\r 8000$ \y]\d 20 Seconds", "4" );
  238.             menu_additem( szMenu, "\wAnti-Frost \y[\r 12000$ \y]\d One Round", "5" );
  239.             menu_additem( szMenu, "\wAnti-Flash \y[\r 8000$ \y]\d One Round", "6" );
  240.             menu_display( id, szMenu );
  241.         }
  242.         case 5:{
  243.             new szMenu = menu_create( "\r[\w BlockMaker \r]\w^nXP Shop Menu", "subXP" );
  244.             menu_additem( szMenu, "\w+25 XP\y[\r 4000$ \y]", "0" );
  245.             menu_additem( szMenu, "\w+50 XP\y[\r 8000$ \y]", "1" );
  246.             menu_additem( szMenu, "\w+75 XP\y[\r 12000$ \y]", "2" );
  247.             menu_additem( szMenu, "\w+100 XP\y[\r 16000$ \y]", "3" );
  248.             menu_display( id, szMenu );
  249.         }
  250.         case 6:{
  251.             if ( szUseRespawn[id] ){
  252.                 ColorChat(id, "Sorry, this item can only be used once per map.")
  253.             }
  254.             else if(cs_get_user_money(id) < 16000 ) {
  255.                 ColorChat( id, "Your missing^4 %i$^1 to buy the item:^3 Respawn", 16000 - cs_get_user_money(id) );
  256.             }
  257.             else if(is_user_alive(id)){
  258.                 ColorChat(id, "^4You're alive.")
  259.             }
  260.             else {
  261.                 ExecuteHamB(Ham_CS_RoundRespawn, id)
  262.                 new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) );
  263.                 ColorChat(0, "^4%s^1 have bought:^3 Respawn",szName)
  264.                 cs_set_user_money( id, cs_get_user_money(id) - 16000 );
  265.                 szUseRespawn[ id ] = true;
  266.             }
  267.             CmdMainShopMenu(id)
  268.         }
  269.         case 7: CmdPlayerPointsMenu(id)
  270.             case 8: client_cmd(id, "say donate")
  271.         }
  272. }
  273.  
  274. public subGrenades(id, szMenu, szItem){
  275.     if ( cs_get_user_team(id) == CS_TEAM_CT ){
  276.         ColorChat(id, "This shop can only be used by^4 Terrorists")
  277.     }
  278.     else {
  279.         if ( !is_user_alive(id) ) {
  280.             ColorChat(id, "This menu can only use by^4 Alive Players")
  281.         }
  282.         else if ( user_has_weapon( id, szGrenadesAmmo[ szItem ] ) ){
  283.             ColorChat( id, "^1You already have:^3 %s", szGrenadesNames[ szItem ] );
  284.         }
  285.         else if ( cs_get_user_money(id) < szGrenadesPrices[szItem ] ){
  286.             ColorChat( id, "Your missing^4 %i$^1 to buy the item:^3 %s", szGrenadesPrices[ szItem ] - cs_get_user_money(id), szGrenadesNames[ szItem ] );  
  287.         }
  288.         else {
  289.             cs_set_user_money(id, cs_get_user_money(id) - szGrenadesPrices[ szItem ])
  290.             new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) );
  291.             ColorChat( 0, "^4%s^1 have bought:^3 %s", szName, szGrenadesNames[ szItem ] );
  292.             give_item( id, szGrenadesItems[ szItem ] );
  293.         }
  294.     }
  295.     CmdMainShopMenu(id)
  296.     return 1;
  297. }
  298. public subHealth(id, szMenu, szItem){
  299.     if ( !is_user_alive(id) ) {
  300.         ColorChat(id, "This menu can only use by^4 Alive Players");
  301.     }
  302.     if ( cs_get_user_money(id) < szHealthPrices[szItem ] ){
  303.         ColorChat( id, "Your missing^4 %i$^1 to buy the item:^3 %s", szHealthPrices[ szItem ] - cs_get_user_money(id), szHealthNames[ szItem ] );  
  304.     }
  305.     cs_set_user_money(id, cs_get_user_money(id) - szHealthPrices[ szItem ] );
  306.     new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) );
  307.     ColorChat( 0, "^4%s^1 have bought:^3 %s", szName, szHealthNames[ szItem ] );
  308.     set_user_health(id, get_user_health(id) + szHealthItems[ szItem ] );
  309.     CmdMainShopMenu(id);
  310.     return 1;
  311. }
  312. public subArmor(id, szMenu, szItem){
  313.     if ( !is_user_alive(id) ) {
  314.         ColorChat(id, "This menu can only use by^4 Alive Players");
  315.     }
  316.     else if ( cs_get_user_money(id) < szArmorPrices[szItem ] ){
  317.         ColorChat( id, "Your missing^4 %i$^1 to buy the item:^3 %s", szArmorPrices[ szItem ] - cs_get_user_money(id), szArmorNames[ szItem ] );
  318.     }
  319.     else {
  320.         cs_set_user_money(id, cs_get_user_money(id) - szArmorPrices[ szItem ] );
  321.         new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) );
  322.         ColorChat( 0, "^4%s^1 have bought:^3 %s", szName, szArmorNames[ szItem ] );
  323.         set_user_armor(id, get_user_armor(id) + szArmorItems[ szItem ] );
  324.     }
  325.     CmdMainShopMenu(id)
  326.     return 1;
  327. }
  328.  
  329. public subWeapons(id, szMenu, szItem){
  330.     if ( cs_get_user_team(id) == CS_TEAM_CT ){
  331.         ColorChat(id, "This shop can only be used by^4 Terrorists");
  332.     }
  333.     else {
  334.         if ( !is_user_alive(id) ) {
  335.             ColorChat(id, "This menu can only use by^4 Alive Players");
  336.         }
  337.         else if ( user_has_weapon( id, szWeaponsAmmo[ szItem ] ) ){
  338.             ColorChat( id, "^1You already have:^3 %s", szWeaponsNames[ szItem ] )
  339.         }
  340.         else if ( cs_get_user_money(id) < szWeaponsPrices[szItem ] ){
  341.             ColorChat( id, "Your missing^4 %i$^1 to buy the item:^3 %s", szWeaponsPrices[ szItem ] - cs_get_user_money(id), szWeaponsNames[ szItem ] );
  342.         }
  343.         else {
  344.             cs_set_user_money(id, cs_get_user_money(id) - szWeaponsPrices[ szItem ] );
  345.             new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) );
  346.             ColorChat( 0, "^4%s^1 have bought:^3 %s", szName, szWeaponsNames[ szItem ] );
  347.             cs_set_weapon_ammo( give_item( id, szWeaponsItems[ szItem ] ), szWeaponsBullets[ szItem ] );
  348.         }
  349.     }
  350.     CmdMainShopMenu(id)
  351.     return 1;
  352. }
  353.  
  354. public subPowers(id, szMenu, szItem){
  355.     if ( szOnePower[id] ){
  356.         ColorChat(id, "You can only use ^4One Power^1 per time.")
  357.         CmdMainShopMenu(id)
  358.         return 1;
  359.     }
  360.     if ( !is_user_alive(id) ) {
  361.         ColorChat(id, "This menu can only use by^4 Alive Players")
  362.     }
  363.     else if ( cs_get_user_money(id) < szPowersPrices[szItem ] ){
  364.         ColorChat( id, "Your missing^4 %i$^1 to buy the item:^3 %s", szPowersPrices[ szItem ] - cs_get_user_money(id), szPowersNames[ szItem ] );  
  365.     }
  366.     else {
  367.         cs_set_user_money(id, cs_get_user_money(id) - szPowersPrices[ szItem ])
  368.         new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) );
  369.         ColorChat( 0, "^4%s^1 have bought:^3 %s", szName, szPowersNames[ szItem ] );
  370.         szOnePower[id] = true;
  371.         switch ( szItem ){
  372.             case 0:{
  373.                 set_user_godmode(id, 1)&&set_task(10.0, "CmdRemovePowers", id);
  374.                 szGodmode[id] = true;
  375.             }
  376.             case 1:{
  377.                 if(cs_get_user_team(id) == CS_TEAM_CT){
  378.                     cs_set_user_model(id, "gurila")
  379.                 }
  380.                 else if(cs_get_user_team(id) == CS_TEAM_T){
  381.                     cs_set_user_model(id, "gsg9")
  382.                 }
  383.                 set_task(20.0, "CmdRemovePowers", id)
  384.                 szCam[id] = true;
  385.             }
  386.             case 2:{
  387.                 set_user_gravity(id, 0.5)&&set_task(20.0, "CmdRemovePowers", id)
  388.                 szGravity[id] = true;
  389.             }
  390.             case 3:{
  391.                 CmdSpeed(id)
  392.                 set_task(20.0, "CmdRemovePowers", id)
  393.                 szSpeed[id]  = true;
  394.             }
  395.             case 4:{
  396.                 set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 15)&&set_task(20.0, "CmdRemovePowers", id)
  397.                 szStealth[id] = true;
  398.             }
  399.             case 5:{
  400.                 add_user_immune( id );
  401.                 szAntiFrost[id] = true;
  402.             }
  403.             case 6: szAntiFlash[id] = true;
  404.         }
  405.        
  406.     }
  407.     CmdMainShopMenu(id)
  408.     return 1;
  409. }
  410. public subXP(id, szMenu, szItem){
  411.     if ( cs_get_user_money(id) < szPowersPrices[szItem ] ){
  412.         ColorChat( id, "Your missing^4 %i$^1 to buy the item:^3 %s", szXPPrices[ szItem ] - cs_get_user_money(id), szXPNames[ szItem ] );  
  413.     }
  414.     else {
  415.         cs_set_user_money(id, cs_get_user_money(id) - szXPPrices[ szItem ])
  416.         new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) );
  417.         ColorChat( 0, "^4%s^1 have bought:^3 %s", szName, szXPNames[ szItem ] );
  418.         hnsxp_set_user_xp(id, szXPItems[ szItem ] )
  419.     }
  420.     CmdMainShopMenu(id)
  421.     return 1;
  422. }
  423. public CmdRemovePowers(id){
  424.     if ( szGodmode[id] ){
  425.         szGodmode[id] = false;
  426.         set_user_godmode( id, 0 );
  427.         ColorChat(id, "^3Godmode^1 is now set to:^4 Off")
  428.     }
  429.     else if ( szCam[id] ){
  430.         szCam[id] = false;
  431.         cs_reset_user_model(id);
  432.         ColorChat(id, "^4Model^1 is now set to:^3 Normal")
  433.     }
  434.     else if ( szGravity[id] ){
  435.         szGravity[id] = false;
  436.         set_user_gravity( id, 1.0 );
  437.         ColorChat(id, "^4Gravity^1 is now set to:^3 800")
  438.     }
  439.     else if ( szSpeed[id] ){
  440.         szSpeed[id]  = false;
  441.         set_user_maxspeed( id, get_user_maxspeed( id ) - 220 );
  442.         ColorChat(id, "^4Speed^1 is now set to:^3 Normal")
  443.     }
  444.     else if ( szStealth[id] ){
  445.         szStealth[id] = false;
  446.         set_user_rendering( id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255 );
  447.         ColorChat(id, " ^4Stealth^1 is now set to:^3 Visible")
  448.     }
  449.     else if ( szAntiFrost[id] ){
  450.         szAntiFrost[id] = false;
  451.         remove_user_immune( id );
  452.         ColorChat(id, "^4Anti-Frost^1 is now set to:^3 Off")
  453.     }
  454.     else if ( szAntiFlash[id] ){
  455.         szAntiFlash[id] = false;
  456.         ColorChat(id, "^4Anti-Flash^1 is now set to:^3 Off")
  457.     }
  458.     szOnePower[id] = false;
  459. }
  460. public CmdSpeed(id){
  461.     if ( !szSpeed[id] ) return 0;
  462.     set_user_maxspeed( id, get_user_maxspeed( id ) + 220 );
  463.     return 0;
  464. }
  465. public CmdPlayerPointsMenu(id){
  466.     new szMenu = menu_create("\r[\w BlockMaker \r]\w^nPlayer Points Menu", "subPlayerPoints")
  467.    
  468.     new szName[32], szTempid[10], szItem[64]
  469.     for( new i = 1; i <= szMaxClients; i++ ) {
  470.         if(!is_user_connected(i)) continue
  471.        
  472.         get_user_name(i, szName, sizeof(szName) - 1)
  473.         num_to_str(i, szTempid, 9)
  474.        
  475.         formatex(szItem, 63, "\w%s \y[\r %i$ \y]", szName, cs_get_user_money(id) )
  476.         menu_additem(szMenu, szItem, szTempid)
  477.     }
  478.     menu_setprop(szMenu, MPROP_EXITNAME, "\wExit")
  479.     menu_setprop(szMenu, MPROP_NUMBER_COLOR, "\r")
  480.     menu_display(id, szMenu)
  481. }
  482. public subPlayerPoints(id, szMenu, szItem){
  483.     if(szItem == MENU_EXIT){
  484.         CmdMainShopMenu(id)
  485.         return 1;
  486.     }
  487.     new szData[6], gName[64]
  488.     new szAccess, szCallBack
  489.     menu_item_getinfo(szMenu, szItem, szAccess, szData, 5, gName, 63, szCallBack)
  490.    
  491.     new szTempid = str_to_num(szData)
  492.    
  493.     if( !is_user_connected( szTempid ) ){
  494.         CmdMainShopMenu(id)
  495.         return 1;
  496.     }
  497.     new szName[32]
  498.     get_user_name(szTempid, szName, sizeof( szName ) - 1)
  499.    
  500.     ColorChat(id, "^3%s^1 have:^4 %i$", szName, cs_get_user_money(id) )
  501.    
  502.     CmdPlayerPointsMenu(id)
  503.     return 1;
  504. }  
  505. public CmdPlayerSpawn(id){
  506.     CmdRemovePowers(id);
  507. }
  508. public EventFlash(id){
  509.     if ( szAntiFlash[id] ){
  510.         message_begin( MSG_ONE, szMsgScreenFade, {0,0,0}, id );
  511.         write_short( 1 );
  512.         write_short( 1 );
  513.         write_short( 1 );
  514.         write_byte( 0 );
  515.         write_byte( 0 );
  516.         write_byte( 0 );
  517.         write_byte( 255 );
  518.         message_end( );
  519.     }
  520. }
  521. stock ColorChat( const id, const string[], any:... ){
  522.     new msg[191], players[32], count = 1;
  523.    
  524.     static len; len = formatex(msg, charsmax(msg), "^3[^4 BlockMaker Shop ^3]^1 ");
  525.     vformat(msg[len], charsmax(msg) - len, string, 3);
  526.    
  527.     if(id)  players[0] = id;
  528.     else    get_players(players,count,"ch");
  529.    
  530.     for (new i = 0; i < count; i++){
  531.         if(is_user_connected(players[i])){
  532.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, players[i]);
  533.             write_byte(players[i]);
  534.             write_string(msg);
  535.             message_end();
  536.         }
  537.     }
  538. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement