freefiles

Untitled

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