Advertisement
freefiles

Untitled

Oct 12th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. * DoD XtraLog
  3. *
  4. * Adds messaging and log events for alt weapon position kills so
  5. * stats packages can track and award them. Both psychostats and HLStatsXCE
  6. * can track these events and use for awards/bonuses.
  7. *
  8. * IE:
  9. * Single shot on the support class..
  10. * IronSight for the rifles.
  11. * "Rambo" for the mg class.
  12. * NoScope and Noscope headshots
  13. *
  14. * Kudos:
  15. * Tsunami for the pm secks. <3
  16. * psychonic for being hooker #1 <3
  17. *
  18. */
  19.  
  20. #include <sourcemod>
  21. #include <sdktools>
  22. #define PLUGIN_VERSION "1.5"
  23.  
  24. new Handle:g_Cvar_XlogNS
  25. new Handle:g_Cvar_XlogHS
  26. new Handle:g_Cvar_XlogMG
  27. new Handle:g_Cvar_XlogSupport
  28. new Handle:g_Cvar_XlogRifle
  29.  
  30. public Plugin:myinfo =
  31. {
  32. name = "DoD Xtralog",
  33. author = "Mosalar",
  34. description = "Extra weapon logging info",
  35. version = PLUGIN_VERSION,
  36. url = "http://www.budznetwork.com"
  37. }
  38.  
  39. public OnPluginStart()
  40. {
  41. CreateConVar("sm_dod_xlog_version", PLUGIN_VERSION, "Extra weapon logging info version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY)
  42. g_Cvar_XlogNS = CreateConVar("sm_dod_xlog_ns", "1", "NoSocpe messages", FCVAR_PLUGIN)
  43. g_Cvar_XlogHS = CreateConVar("sm_dod_xlog_hs", "1", "NoSocpe HeadShot messages", FCVAR_PLUGIN)
  44. g_Cvar_XlogMG = CreateConVar("sm_dod_xlog_mg", "1", "MG Messages", FCVAR_PLUGIN)
  45. g_Cvar_XlogSupport = CreateConVar("sm_dod_xlog_support", "1", "Support Messages", FCVAR_PLUGIN)
  46. g_Cvar_XlogRifle = CreateConVar("sm_dod_xlog_rifle", "1", "Ironsight Messages", FCVAR_PLUGIN)
  47.  
  48.  
  49. HookEvent("dod_stats_player_damage", PlayerDamageEvent)
  50.  
  51. AutoExecConfig()
  52. }
  53.  
  54. public PlayerDamageEvent(Handle:event, const String:name[], bool:dontBroadcast)
  55. {
  56. new attacker = GetClientOfUserId(GetEventInt(event, "attacker"))
  57. new client = GetClientOfUserId(GetEventInt(event, "victim"))
  58. if (attacker == 0 || !IsClientInGame(attacker) || !IsPlayerAlive(attacker)) {
  59. return
  60. }
  61. new String:auth[33]
  62. new String:attacker_name[65]
  63. new String:tname[33]
  64. new String:wname[65]
  65. new weapon_pos = GetEventInt(event, "weapon")
  66. new hitgroup = GetEventInt(event, "hitgroup")
  67. new userid = GetClientUserId(attacker)
  68. //decl String:color[10]; Format(color, sizeof(color), "%s", GetClientTeam(attacker) == 2 ? "\x074D7942" : "\x07FF4040")
  69. GetClientName(attacker, attacker_name, sizeof(attacker_name))
  70. GetClientAuthString(attacker, auth, sizeof(auth))
  71. GetTeamName(GetClientTeam(attacker), tname, sizeof(tname))
  72. GetClientWeapon(attacker, wname, sizeof(wname))
  73.  
  74. if (client != 0) {
  75.  
  76. switch (weapon_pos) {
  77.  
  78. case 9,10: {
  79. if (GetClientHealth(client) < 1) {
  80.  
  81. if (hitgroup == 1) {
  82. if (attacker == 0 || !IsPlayerAlive(attacker)) {
  83. return
  84. }
  85. if (GetConVarInt(g_Cvar_XlogHS) == 1) {
  86. PrintToChatAll("\x01[VvV] \x04%s сделал хэдшот без оптики!", attacker_name)
  87. }
  88. }
  89. else {
  90. if (attacker == 0 || !IsPlayerAlive(attacker)) {
  91. return
  92. }
  93. if (GetConVarInt(g_Cvar_XlogNS) == 1) {
  94. PrintToChatAll("\x01[VvV] \x04%s убил без оптики!", attacker_name)
  95. }
  96. }
  97. LogToGame("\"%s<%d><%s><%s>\" triggered \"noscope\" with \"%s\"", attacker_name, userid, auth, tname, wname);
  98. }
  99. }
  100. case 35,36: {
  101. if (GetClientHealth(client) < 1) {
  102.  
  103. if (attacker == 0 || !IsPlayerAlive(attacker)) {
  104. return
  105. }
  106. if (GetConVarInt(g_Cvar_XlogMG) == 1) {
  107. PrintToChatAll("\x01[VvV] \x04%s убил с неустановленного пулемёта!", attacker_name)
  108. }
  109. LogToGame("\"%s<%d><%s><%s>\" triggered \"rambo\" with \"%s\"", attacker_name, userid, auth, tname, wname);
  110. }
  111. }
  112. case 31,32: {
  113. if (GetClientHealth(client) < 1) {
  114.  
  115. if (attacker == 0 || !IsPlayerAlive(attacker)) {
  116. return
  117. }
  118. if (GetConVarInt(g_Cvar_XlogRifle) == 1) {
  119. PrintToChatAll("\x01[VvV] \x04%s убил прицельно из винтовки!", attacker_name)
  120. }
  121. LogToGame("\"%s<%d><%s><%s>\" triggered \"ironsight\" with \"%s\"", attacker_name, userid, auth, tname, wname);
  122. }
  123. }
  124. case 37,38: {
  125. if (GetClientHealth(client) < 1) {
  126.  
  127. if (attacker == 0 || !IsPlayerAlive(attacker)) {
  128. return
  129. }
  130. if (GetConVarInt(g_Cvar_XlogSupport) == 1) {
  131. PrintToChatAll("\x01[VvV] \x04%s убил одиночным выстрелом!", attacker_name)
  132. }
  133. LogToGame("\"%s<%d><%s><%s>\" triggered \"singleshot\" with \"%s\"", attacker_name, userid, auth, tname, wname);
  134. }
  135. }
  136. }
  137. }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement