Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.98 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5.  
  6. static const COLOR[] = "^x04" //green
  7. static const CONTACT[] = ""
  8. new maxplayers
  9. new gmsgSayText
  10. new mpd, mkb, mhb
  11. new health_add
  12. new health_hs_add
  13. new health_max
  14. new nKiller
  15. new nKiller_hp
  16. new nHp_add
  17. new nHp_max
  18. new CurrentRound
  19.  
  20. public plugin_init()
  21. {
  22. register_plugin("VIP Eng Version", "3.0", "Dunno")
  23. mpd = register_cvar("money_per_damage","3")
  24. mkb = register_cvar("money_kill_bonus","200")
  25. mhb = register_cvar("money_hs_bonus","500")
  26. health_add = register_cvar("amx_vip_hp", "15")
  27. health_hs_add = register_cvar("amx_vip_hp_hs", "30")
  28. health_max = register_cvar("amx_vip_max_hp", "100")
  29. register_event("Damage","Damage","b")
  30. register_event("DeathMsg","death_msg","a")
  31. register_clcmd("awp","HandleCmd")
  32. register_clcmd("sg550","HandleCmd")
  33. register_clcmd("g3sg1","HandleCmd")
  34. register_clcmd("say /wantvip","ShowMotd")
  35. maxplayers = get_maxplayers()
  36. gmsgSayText = get_user_msgid("SayText")
  37. register_clcmd("say", "handle_say")
  38. register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
  39. register_logevent("LogEvent_RoundStart", 2, "1=Round_Start" );
  40. register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")
  41. register_event("TextMsg","Event_RoundRestart","a","2&#Game_C");
  42. register_event("DeathMsg", "hook_death", "a", "1>0")
  43. }
  44.  
  45. public Damage(id)
  46. {
  47. new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
  48. if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
  49. if (get_user_flags(attacker) & ADMIN_LEVEL_H)
  50. {
  51. new money = read_data(2) * get_pcvar_num(mpd)
  52. if(hitpoint==1) money += get_pcvar_num(mhb)
  53. cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
  54. }
  55. }
  56.  
  57. public death_msg()
  58. {
  59. if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
  60. }
  61.  
  62. public LogEvent_RoundStart()
  63. {
  64. CurrentRound++;
  65. new players[32], player, pnum;
  66. get_players(players, pnum, "a");
  67. for(new i = 0; i < pnum; i++)
  68. {
  69. player = players[i];
  70. if(is_user_alive(player) && get_user_flags(player) & ADMIN_LEVEL_H)
  71. {
  72. give_item(player, "weapon_hegrenade")
  73. give_item(player, "weapon_flashbang")
  74. give_item(player, "weapon_flashbang")
  75. give_item(player, "weapon_smokegrenade")
  76. give_item(player, "item_assaultsuit")
  77. give_item(player, "item_thighpack")
  78.  
  79. if(CurrentRound >= 3)
  80. {
  81. //  Showrod(player);
  82. }
  83. }
  84. }
  85. return PLUGIN_HANDLED
  86. }
  87.  
  88. public Event_RoundRestart()
  89. {
  90. CurrentRound=0;
  91. }
  92.  
  93. public hook_death()
  94. {
  95. // Killer id
  96. nKiller = read_data(1)
  97.  
  98. if ( (read_data(3) == 1) && (read_data(5) == 0) )
  99. {
  100. nHp_add = get_pcvar_num (health_hs_add)
  101. }
  102. else
  103. nHp_add = get_pcvar_num (health_add)
  104. nHp_max = get_pcvar_num (health_max)
  105. // Updating Killer HP
  106. if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
  107. return;
  108.  
  109. nKiller_hp = get_user_health(nKiller)
  110. nKiller_hp += nHp_add
  111. // Maximum HP check
  112. if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
  113. set_user_health(nKiller, nKiller_hp)
  114. // Hud message "Healed +15/+30 hp"
  115. set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
  116. show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
  117. // Screen fading
  118. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
  119. write_short(1<<10)
  120. write_short(1<<10)
  121. write_short(0x0000)
  122. write_byte(0)
  123. write_byte(0)
  124. write_byte(200)
  125. write_byte(75)
  126. message_end()
  127.  
  128. }
  129. public ShowMotd(id)
  130. {
  131. show_motd(id, "vip.txt")
  132. }
  133. public client_authorized(id)
  134. {
  135. set_task(30.0, "PrintText" ,id)
  136. }
  137. public PrintText(id)
  138. {
  139. client_print(id, print_chat, "[VIP] write /wantvip and u will see how get VIP and VIP privilegies.")
  140. }
  141.  
  142. public handle_say(id) {
  143. new said[192]
  144. read_args(said,192)
  145. if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
  146. set_task(0.1,"print_adminlist",id)
  147. return PLUGIN_CONTINUE
  148. }
  149.  
  150. public print_adminlist(user)
  151. {
  152. new adminnames[33][32]
  153. new message[256]
  154. new contactinfo[256], contact[112]
  155. new id, count, x, len
  156.  
  157. for(id = 1 ; id <= maxplayers ; id++)
  158. if(is_user_connected(id))
  159. if(get_user_flags(id) & ADMIN_LEVEL_H)
  160. get_user_name(id, adminnames[count++], 31)
  161.  
  162. len = format(message, 255, "%s VIP ONLINE: ",COLOR)
  163. if(count > 0) {
  164. for(x = 0 ; x < count ; x++) {
  165. len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
  166. if(len > 96 ) {
  167. print_message(user, message)
  168. len = format(message, 255, "%s ",COLOR)
  169. }
  170. }
  171. print_message(user, message)
  172. }
  173. else {
  174. len += format(message[len], 255-len, "No VIP online.")
  175. print_message(user, message)
  176. }
  177.  
  178. get_cvar_string("amx_contactinfo", contact, 63)
  179. if(contact[0])  {
  180. format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
  181. print_message(user, contactinfo)
  182. }
  183. }
  184.  
  185. print_message(id, msg[]) {
  186. message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
  187. write_byte(id)
  188. write_string(msg)
  189. message_end()
  190. }
  191.  
  192. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  193. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1063\\ f0\\ fs16 \n\\ par }
  194. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement