Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.06 KB | None | 0 0
  1. #include < amxmodx >
  2. #include < amxmisc >
  3. #include < cstrike >
  4. #include < fakemeta_util >
  5. #include < hamsandwich >
  6.  
  7. //#define USE_COLOREDTRANSLIT
  8.  
  9. #if !defined USE_COLOREDTRANSLIT
  10. #define prefix "^1[^4STEAM^1]"
  11. #define gmsg_SayText 76
  12. #else
  13. #include < colored_translit >
  14. #endif
  15.  
  16. #define PLUGIN "steam_menu"
  17. #define VERSION "2.5"
  18. #define AUTHOR "CaNiBaL"
  19.  
  20. const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
  21. const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
  22.  
  23. new keys =MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
  24.  
  25. new g_round, mapname[32]
  26.  
  27. public plugin_init()
  28. {
  29. register_plugin(PLUGIN, VERSION, AUTHOR)
  30.  
  31. #if !defined USE_COLOREDTRANSLIT
  32. register_message(gmsg_SayText, "msgSayText")
  33. #endif
  34.  
  35. register_menu("Menu 1", keys, "func_menu")
  36. RegisterHam( Ham_Spawn , "player" , "HamSpawnPlayer" , 1 )
  37. register_event("HLTV", "round_start", "a", "1=0", "2=0")
  38. register_event("TextMsg", "round_restart", "a","2=#Game_will_restart_in","2=#Game_Commencing");
  39. }
  40.  
  41. #if !defined USE_COLOREDTRANSLIT
  42. public msgSayText(msgId,msgDest,msgEnt)
  43. {
  44. new id = get_msg_arg_int(1);
  45.  
  46. if(!is_user_connected(id))
  47. return 0;
  48.  
  49. if(is_user_steam(id))
  50. {
  51. new sChannel[256], sName[32], sOutputMessage[192];
  52. get_msg_arg_string(2, sChannel, charsmax(sChannel))
  53. if(equal(sChannel,"#Cstrike_Chat_All"))
  54. {
  55. formatex(sOutputMessage, charsmax(sOutputMessage), "%s%s", prefix, sChannel);
  56. }
  57. else
  58. {
  59. formatex(sOutputMessage, charsmax(sOutputMessage), "%s^1%s", prefix, sChannel);
  60. }
  61.  
  62. set_msg_arg_string(2, sOutputMessage);
  63. get_user_name(id, sName, charsmax(sName));
  64. format(sName, charsmax(sName), "^3%s^1", sName);
  65. set_msg_arg_string(3, sName);
  66. }
  67. return 0;
  68. }
  69. #else
  70. public ct_message_format(id)
  71. {
  72. ct_add_to_msg(CT_MSGPOS_PREFIX, "")
  73. }
  74. #endif
  75.  
  76. public client_putinserver(id) set_task(6.0, "connect", id)
  77.  
  78. public connect(id)
  79. {
  80. new name[33]
  81. get_user_name(id, name, 32)
  82.  
  83. if(is_user_steam(id) && is_user_admin(id))
  84. {
  85. set_hudmessage(255, 255, 85, -1.0, -1.0, 0, 3.0, 3.0)
  86. show_hudmessage(id, "Админ %s зашол на сервер со Steam`a", name)
  87. }
  88. else if(is_user_steam(id))
  89. {
  90. set_hudmessage(85, 255, 255, -1.0, -1.0, 0, 3.0, 3.0)
  91. show_hudmessage(id, "Игрок %s зашол на сервер со Steam`a", name)
  92. }
  93. }
  94.  
  95. public plugin_cfg()
  96. {
  97. get_mapname(mapname, sizeof(mapname)-1);
  98. }
  99.  
  100. public round_start() g_round++
  101.  
  102. public round_restart() g_round = 0
  103.  
  104. public HamSpawnPlayer(id)
  105. {
  106. if(is_user_alive(id))
  107. {
  108. server_menu(id)
  109. STEAM(id)
  110. }
  111. }
  112.  
  113. stock bool:is_user_steam(id)
  114. {
  115. static dp_pointer;
  116.  
  117. if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  118. {
  119. server_cmd("dp_clientinfo %d", id);
  120. server_exec();
  121. return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  122. }
  123.  
  124. return false;
  125. }
  126. public server_menu(id)
  127. {
  128. new name[32]; get_user_name(id, name, 31)
  129. new menu[256], iLen = 0;
  130.  
  131. if(!equali(mapname, "35_hp") && is_user_steam(id) && g_round >=3)
  132. {
  133. iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wПривет: \y%s^n\wБонус для \rSteam \wигроков^n^n", name)
  134.  
  135. iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wAK-47^n")
  136. keys |= MENU_KEY_1
  137.  
  138. iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wM4A1^n")
  139. keys |= MENU_KEY_2
  140.  
  141. iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wAWP^n")
  142. keys |= MENU_KEY_3
  143.  
  144. iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wFAMAS^n^n")
  145. keys |= MENU_KEY_4
  146.  
  147. iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n")
  148. keys |= MENU_KEY_0
  149.  
  150. show_menu(id, keys, menu, -1, "Menu 1")
  151. }
  152. else
  153. {
  154. return
  155. }
  156. return
  157. }
  158. public func_menu(id, key)
  159. {
  160. switch(key)
  161. {
  162. case 0:
  163. {
  164. drop_weapons(id, 1)
  165. drop_weapons(id, 2)
  166. fm_give_item( id, "weapon_ak47" )
  167. cs_set_user_bpammo( id , CSW_AK47, 90 )
  168. fm_give_item( id, "weapon_deagle" )
  169. cs_set_user_bpammo( id , CSW_DEAGLE, 90 )
  170. }
  171. case 1:
  172. {
  173. drop_weapons(id, 1)
  174. drop_weapons(id, 2)
  175. fm_give_item( id, "weapon_m4a1" )
  176. cs_set_user_bpammo( id , CSW_M4A1, 90 )
  177. fm_give_item( id, "weapon_deagle" )
  178. cs_set_user_bpammo( id , CSW_DEAGLE, 90 )
  179. }
  180. case 2:
  181. {
  182. drop_weapons(id, 1)
  183. drop_weapons(id, 2)
  184. fm_give_item( id, "weapon_awp" )
  185. cs_set_user_bpammo( id , CSW_AWP, 30 )
  186. fm_give_item( id, "weapon_deagle" )
  187. cs_set_user_bpammo( id , CSW_DEAGLE, 90 )
  188. }
  189. case 3:
  190. {
  191. drop_weapons(id, 1)
  192. drop_weapons(id, 2)
  193. fm_give_item( id, "weapon_famas" )
  194. cs_set_user_bpammo( id , CSW_FAMAS, 90 )
  195. fm_give_item( id, "weapon_deagle" )
  196. cs_set_user_bpammo( id , CSW_DEAGLE, 90 )
  197. }
  198. }
  199. return PLUGIN_HANDLED
  200. }
  201.  
  202. public STEAM(id)
  203. {
  204. if ( !equali(mapname, "35_hp") && is_user_steam(id) )
  205. {
  206. drop_weapons(id, 2)
  207. fm_give_item( id, "weapon_hegrenade" )
  208. fm_give_item( id, "weapon_flashbang" )
  209. fm_give_item( id, "weapon_flashbang" )
  210. fm_give_item( id, "item_assaultsuit" )
  211. fm_give_item( id, "item_thighpack" )
  212. fm_give_item( id, "weapon_deagle")
  213. fm_give_item( id, "ammo_50ae" )
  214. fm_give_item( id, "ammo_50ae" )
  215. fm_give_item( id, "ammo_50ae" )
  216. fm_give_item( id, "ammo_50ae" )
  217. fm_give_item( id, "ammo_50ae" )
  218. }
  219. return
  220. }
  221.  
  222. stock drop_weapons(id, dropwhat)
  223. {
  224. static weapons[32], num, i, weaponid
  225. num = 0
  226. get_user_weapons(id, weapons, num)
  227.  
  228. for (i = 0; i < num; i++)
  229. {
  230. weaponid = weapons
  231.  
  232. if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat== 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
  233. {
  234. static wname[32]
  235. get_weaponname(weaponid, wname, charsmax(wname))
  236. engclient_cmd(id, "drop", wname)
  237. }
  238. }
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement