Guest User

Stats

a guest
Jul 3rd, 2011
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 66.51 KB | None | 0 0
  1. zombies = true
  2. zombie_team = 1
  3.  
  4. script_check = 0
  5. cur_players = 0
  6. first_strike = nil
  7. game_started = false
  8. perfection = true
  9. damage_table = {}
  10. sniper_table = {}
  11. shotgun_table = {}
  12. splatter_table = {}
  13. stick_table = {}
  14. dead_table = {}
  15. emp_table = {}
  16. killer_table = {}
  17. closecall_table = {}
  18. rejection_table = {}
  19. avenger_table = {}
  20. protector_table = {}
  21. hill_table = {}
  22. flag_table = {}
  23. avengeme_table = {}
  24. hash_table = {}
  25. kills_table = {}
  26. deaths_table = {}
  27. curdeaths_table = {}
  28. timer_table = {}
  29. killstreakcount_table = {}
  30. killstreak_table = {}
  31. multikilltimer_table = {}
  32. multikillcount_table = {}
  33. multikill_table = {}
  34. assistscount_table = {}
  35. assists_table = {}
  36. betrays_table = {}
  37. suicides_table = {}
  38. hits_table = {}
  39. fired_table = {}
  40. weaponkills_table = {}
  41. weapondeaths_table = {}
  42. spreecount_table = {}
  43. assistant_table = {}
  44. cq_table = {}
  45. crackshot_table = {}
  46. grenadier_table = {}
  47. heavy_table = {}
  48. jack_table = {}
  49. mobileasset_table = {}
  50. multikillcom_table = {}
  51. rearadmiral_table = {}
  52. sidearm_table = {}
  53. trigger_table = {}
  54. curspreecount_table = {}
  55. curassistant_table = {}
  56. curcq_table = {}
  57. curcrackshot_table = {}
  58. curgrenadier_table = {}
  59. curheavy_table = {}
  60. curjack_table = {}
  61. curmobileasset_table = {}
  62. curmultikillcom_table = {}
  63. currearadmiral_table = {}
  64. cursidearm_table = {}
  65. curtrigger_table = {}
  66. credits_table = {}
  67. earncredits_table = {}
  68.  
  69. rank_table = {
  70.     "Recruit",
  71.     "Private",
  72.     "Corporal",
  73.     "Corporal Grade 1",
  74.     "Sargeant",
  75.     "Sargeant Grade 1",
  76.     "Sargeant Grade 2",
  77.     "Warrant Officer",
  78.     "Warrant Officer Grade 1",
  79.     "Warrant Officer Grade 2",
  80.     "Warrant Officer Grade 3",
  81.     "Captain",
  82.     "Captain Grade 1",
  83.     "Captain Grade 2",
  84.     "Captain Grade 3",
  85.     "Major",
  86.     "Major Grade 1",
  87.     "Major Grade 2",
  88.     "Major Grade 3",
  89.     "Lt. Colonel",
  90.     "Lt. Colonel Grade 1",
  91.     "Lt. Colonel Grade 2",
  92.     "Lt. Colonel Grade 3",
  93.     "Commander",
  94.     "Commander Grade 1",
  95.     "Commander Grade 2",
  96.     "Commander Grade 3",
  97.     "Colonel",
  98.     "Colonel Grade 1",
  99.     "Colonel Grade 2",
  100.     "Colonel Grade 3",
  101.     "Brigadier",
  102.     "Brigadier Grade 1",
  103.     "Brigadier Grade 2",
  104.     "Brigadier Grade 3",
  105.     "General",
  106.     "General Grade 1",
  107.     "General Grade 2",
  108.     "General Grade 3",
  109.     "General Grade 4",
  110.     "Field Marshall",
  111.     "Hero",
  112.     "Legend",
  113.     "Mythic",
  114.     "Noble",
  115.     "Eclipse",
  116.     "Nova",
  117.     "Forerunner",
  118.     "Reclaimer",
  119.     "Inheritor"
  120. }
  121.  
  122. function GetRequiredVersion()
  123.     return 3104
  124. end
  125.  
  126. function OnScriptLoad(process)
  127.  
  128.     if script_check == 0 then
  129.  
  130.         local file1 = io.open("cg//stats//stats.txt", "r")
  131.         local file2 = io.open("cg//stats//weaponkills.txt", "r")
  132.         local file3 = io.open("cg//stats//weapondeaths.txt", "r")
  133.         local file4 = io.open("cg//stats//commendations.txt", "r")
  134.         local file5 = io.open("cg//stats//credits.txt", "r")
  135.  
  136.         if (file1 ~= nil) then
  137.  
  138.             for line in file1:lines() do
  139.  
  140.                 local words = {}
  141.  
  142.                 for word in line:gmatch("%w+") do
  143.                     table.insert(words, word)
  144.                 end
  145.  
  146.                 hash_table[words[1]] = 1
  147.                 kills_table[words[1]] = tonumber(words[2])
  148.                 deaths_table[words[1]] = tonumber(words[3])
  149.                 timer_table[words[1]] = tonumber(words[4])
  150.                 killstreak_table[words[1]] = tonumber(words[5])
  151.                 multikill_table[words[1]] = tonumber(words[6])
  152.                 assists_table[words[1]] = tonumber(words[7])
  153.                 betrays_table[words[1]] = tonumber(words[8])
  154.                 suicides_table[words[1]] = tonumber(words[9])
  155.                 hits_table[words[1]] = tonumber(words[10])
  156.                 fired_table[words[1]] = tonumber(words[11])
  157.  
  158.             end
  159.  
  160.             file1:close()
  161.  
  162.         end
  163.  
  164.         if (file2 ~= nil) then
  165.  
  166.             for line in file2:lines() do
  167.  
  168.                 local words = {}
  169.  
  170.                 for word in line:gmatch("%w+") do
  171.                     table.insert(words, word)
  172.                 end
  173.  
  174.                 weaponkills_table[words[1]] = words[2] .. "," .. words[3] .. "," .. words[4] .. "," .. words[5] .. "," .. words[6] .. "," .. words[7] .. "," .. words[8] .. "," .. words[9] .. "," .. words[10] .. "," .. words[11] .. "," .. words[12] .. "," .. words[13] .. "," .. words[14] .. "," .. words[15] .. "," .. words[16] .. "," .. words[17] .. "," .. words[18] .. "," .. words[19] .. "," .. words[20] .. "," .. words[21] .. "," .. words[22] .. "," .. words[23] .. "," .. words[24] .. "," .. words[25]
  175.  
  176.             end
  177.  
  178.             file2:close()
  179.  
  180.         end
  181.  
  182.         if (file3 ~= nil) then
  183.  
  184.             for line in file3:lines() do
  185.  
  186.                 local words = {}
  187.  
  188.                 for word in line:gmatch("%w+") do
  189.                     table.insert(words, word)
  190.                 end
  191.  
  192.                 weapondeaths_table[words[1]] = words[2] .. "," .. words[3] .. "," .. words[4] .. "," .. words[5] .. "," .. words[6] .. "," .. words[7] .. "," .. words[8] .. "," .. words[9] .. "," .. words[10] .. "," .. words[11] .. "," .. words[12] .. "," .. words[13] .. "," .. words[14] .. "," .. words[15] .. "," .. words[16] .. "," .. words[17] .. "," .. words[18] .. "," .. words[19] .. "," .. words[20] .. "," .. words[21] .. "," .. words[22] .. "," .. words[23] .. "," .. words[24] .. "," .. words[25]
  193.  
  194.             end
  195.  
  196.             file3:close()
  197.  
  198.         end
  199.  
  200.         if (file4 ~= nil) then
  201.  
  202.             for line in file4:lines() do
  203.  
  204.                 local words = {}
  205.  
  206.                 for word in line:gmatch("%w+") do
  207.                     table.insert(words, word)
  208.                 end
  209.  
  210.                 spreecount_table[words[1]] = tonumber(words[2])
  211.                 assistant_table[words[1]] = tonumber(words[3])
  212.                 cq_table[words[1]] = tonumber(words[4])
  213.                 crackshot_table[words[1]] = tonumber(words[5])
  214.                 grenadier_table[words[1]] = tonumber(words[6])
  215.                 heavy_table[words[1]] = tonumber(words[7])
  216.                 jack_table[words[1]] = tonumber(words[8])
  217.                 mobileasset_table[words[1]] = tonumber(words[9])
  218.                 multikillcom_table[words[1]] = tonumber(words[10])
  219.                 rearadmiral_table[words[1]] = tonumber(words[11])
  220.                 sidearm_table[words[1]] = tonumber(words[12])
  221.                 trigger_table[words[1]] = tonumber(words[13])
  222.  
  223.             end
  224.  
  225.             file4:close()
  226.  
  227.         end
  228.  
  229.         if (file5 ~= nil) then
  230.  
  231.             for line in file5:lines() do
  232.  
  233.                 local words = {}
  234.  
  235.                 for word in line:gmatch("%w+") do
  236.                     table.insert(words, word)
  237.                 end
  238.  
  239.                 credits_table[words[1]] = tonumber(words[2])
  240.  
  241.             end
  242.  
  243.             file5:close()
  244.  
  245.         end
  246.  
  247.         for i=0,15 do
  248.  
  249.             local hash = gethash(i)
  250.  
  251.             if hash ~= 0 then
  252.                 hash_table[hash] = 1
  253.                 earncredits_table[hash] = 1
  254.                 InitializeTables(i)
  255.                 cur_players = cur_players + 1
  256.             end
  257.  
  258.         end
  259.  
  260.         if cur_players > 0 then
  261.             game_started = true
  262.         end
  263.  
  264.         registertimer(2, 975, 0, "GameTimer")
  265.         registertimer(3, 500, 0, "MainTimer")
  266.  
  267.     end
  268.  
  269.     script_check = 1
  270.  
  271. end
  272.  
  273. function OnScriptUnload()
  274. end
  275.  
  276. function OnNewGame(map)
  277. end
  278.  
  279. function OnGameEnd(mode)
  280.  
  281.     if mode == 1 then
  282.  
  283.         removetimer(1)
  284.         removetimer(2)
  285.         removetimer(3)
  286.  
  287.         if game_started == true then
  288.             if perfection == true then
  289.                 for i=0,15 do
  290.  
  291.                     local hash = gethash(i)
  292.  
  293.                     if hash ~= 0 then
  294.                         if curdeaths_table[hash] == nil and killstreakcount_table[hash] >= 15 then
  295.                             credits_table[hash] = credits_table[hash] + 7
  296.                             privatesay(i, "Perfection!")
  297.                         end
  298.                     end
  299.  
  300.                 end
  301.             end
  302.         end
  303.  
  304.         StoreStats()
  305.         game_started = false
  306.  
  307.     end
  308.  
  309. end
  310.  
  311. function OnServerChat(player, chattype, message)
  312.  
  313.     local AllowChat = 1
  314.     local count = gettokencount(message, " ")
  315.     local word = gettoken(message, " ", 0)
  316.     local hash = gethash(player)
  317.     local accuracy = "0%"
  318.     local kdr = kills_table[hash]
  319.     local kpm = 0
  320.     local dpm = 0
  321.     local gametime = " 0s"
  322.     local seconds = 0
  323.     local minutes = 0
  324.     local hours = 0
  325.     local days = 0
  326.     local multikill = 0
  327.     local killstreak = 0
  328.     local weapon = "None"
  329.     local credits = 0
  330.     local curlevel = 0
  331.     local nextlevel = 0
  332.     local nextrank = rank_table[2]
  333.     local rank = rank_table[1]
  334.  
  335.     if fired_table[hash] ~= 0 then
  336.         accuracy = round((hits_table[hash] / fired_table[hash]) * 100, 2) .. "%"
  337.     end
  338.  
  339.     if deaths_table[hash] ~= 0 then
  340.         kdr = round(kills_table[hash]/deaths_table[hash], 2)
  341.     else
  342.         kdr = kills_table[hash]
  343.     end
  344.  
  345.     if timer_table[hash] ~= 0 then
  346.         kpm = round((kills_table[hash] * 60)/timer_table[hash], 2)
  347.         dpm = round((deaths_table[hash] * 60)/timer_table[hash], 2)
  348.     end
  349.  
  350.     seconds = timer_table[hash]
  351.     minutes = math.floor(seconds / 60)
  352.     seconds = seconds - (minutes * 60)
  353.     hours = math.floor(minutes / 60)
  354.     minutes = minutes - (hours * 60)
  355.     days = math.floor(hours / 24)
  356.     hours = hours - (days * 24)
  357.  
  358.     if seconds ~= 0 then
  359.         gametime = " " .. seconds .. "s"
  360.     else
  361.         gametime = ""
  362.     end
  363.  
  364.     if minutes ~= 0 then
  365.         gametime = " " .. minutes .. "m" .. gametime
  366.     end
  367.  
  368.     if hours ~= 0 then
  369.         gametime = " " .. hours .. "h" .. gametime
  370.     end
  371.  
  372.     if days ~= 0 then
  373.         gametime = " " .. days .. "d" .. gametime
  374.     end
  375.  
  376.     if multikill_table[hash] == 1 then
  377.         multikill = multikill_table[hash]
  378.     elseif multikill_table[hash] == 2 then
  379.         multikill = "Double Kill (" .. multikill_table[hash] .. ")"
  380.     elseif multikill_table[hash] == 3 then
  381.         multikill = "Triple Kill (" .. multikill_table[hash] .. ")"
  382.     elseif multikill_table[hash] == 4 then
  383.         multikill = "Overkill (" .. multikill_table[hash] .. ")"
  384.     elseif multikill_table[hash] == 5 then
  385.         multikill = "Killtacular (" .. multikill_table[hash] .. ")"
  386.     elseif multikill_table[hash] == 6 then
  387.         multikill = "Killtrocity (" .. multikill_table[hash] .. ")"
  388.     elseif multikill_table[hash] == 7 then
  389.         multikill = "Killimanjaro (" .. multikill_table[hash] .. ")"
  390.     elseif multikill_table[hash] == 8 then
  391.         multikill = "Killtastrophe (" .. multikill_table[hash] .. ")"
  392.     elseif multikill_table[hash] == 9 then
  393.         multikill = "Killpocalypse (" .. multikill_table[hash] .. ")"
  394.     elseif multikill_table[hash] >= 10 then
  395.         multikill = "Killionaire (" .. multikill_table[hash] .. ")"
  396.     end
  397.  
  398.     if killstreak_table[hash] < 5 then
  399.         killstreak = killstreak_table[hash]
  400.     elseif killstreak_table[hash] >= 5 and killstreak_table[hash] < 10 then
  401.         killstreak = "Killing Spree (" .. killstreak_table[hash] .. ")"
  402.     elseif killstreak_table[hash] >= 10 and killstreak_table[hash] < 15 then
  403.         killstreak = "Killing Frenzy (" .. killstreak_table[hash] .. ")"
  404.     elseif killstreak_table[hash] >= 15 and killstreak_table[hash] < 20 then
  405.         killstreak = "Running Riot (" .. killstreak_table[hash] .. ")"
  406.     elseif killstreak_table[hash] >= 20 and killstreak_table[hash] < 25 then
  407.         killstreak = "Rampage (" .. killstreak_table[hash] .. ")"
  408.     elseif killstreak_table[hash] >= 25 and killstreak_table[hash] < 30 then
  409.         killstreak = "Untouchable (" .. killstreak_table[hash] .. ")"
  410.     elseif killstreak_table[hash] >= 30 and killstreak_table[hash] < 35 then
  411.         killstreak = "Invincible (" .. killstreak_table[hash] .. ")"
  412.     elseif killstreak_table[hash] >= 35 and killstreak_table[hash] < 40 then
  413.         killstreak = "Inconceivable (" .. killstreak_table[hash] .. ")"
  414.     elseif killstreak_table[hash] >= 40 then
  415.         killstreak = "Unfrigginbelievable (" .. killstreak_table[hash] .. ")"
  416.     end
  417.  
  418.     local kills = {}
  419.     local deaths = {}
  420.     local tempRatio = 0
  421.     local ratio = 0
  422.     local killCount = 0
  423.     local deathCount = 0
  424.  
  425.     for word in string.gmatch(weaponkills_table[hash], "%w+") do
  426.         table.insert(kills, tonumber(word))
  427.     end
  428.  
  429.     for word in string.gmatch(weapondeaths_table[hash], "%w+") do
  430.         table.insert(deaths, tonumber(word))
  431.     end
  432.  
  433.     local killsCount =  table.getn(kills)
  434.     local deathsCount = table.getn(deaths)
  435.  
  436.     if killsCount == deathsCount then
  437.         for i=1,killsCount do
  438.  
  439.             if deaths[i] ~= 0 then
  440.                 tempRatio = round(kills[i]/deaths[i], 2)
  441.             else
  442.                 tempRatio = kills[i]
  443.             end
  444.  
  445.             if tempRatio > ratio then
  446.                 ratio = tempRatio
  447.                 weapon = i
  448.                 killCount = kills[i]
  449.                 deathCount = deaths[i]
  450.             end
  451.  
  452.         end
  453.     end
  454.  
  455.     if weapon == 1 then
  456.         weapon = "Melee"
  457.     elseif weapon == 2 then
  458.         weapon = "Falling Damage"
  459.     elseif weapon == 3 then
  460.         weapon = "Collision Damage"
  461.     elseif weapon == 4 then
  462.         weapon = "Banshee Primary"
  463.     elseif weapon == 5 then
  464.         weapon = "Banshee Secondary"
  465.     elseif weapon == 6 then
  466.         weapon = "Shade Primary"
  467.     elseif weapon == 7 then
  468.         weapon = "Ghost Primary"
  469.     elseif weapon == 8 then
  470.         weapon = "Scorpion Primary"
  471.     elseif weapon == 9 then
  472.         weapon = "Scorpion Secondary"
  473.     elseif weapon == 10 then
  474.         weapon = "Warthog Primary"
  475.     elseif weapon == 11 then
  476.         weapon = "Assault Rifle"
  477.     elseif weapon == 12 then
  478.         weapon = "Ball"
  479.     elseif weapon == 13 then
  480.         weapon = "Flag"
  481.     elseif weapon == 14 then
  482.         weapon = "Flamethrower"
  483.     elseif weapon == 15 then
  484.         weapon = "Frag Grenade"
  485.     elseif weapon == 16 then
  486.         weapon = "Needler"
  487.     elseif weapon == 17 then
  488.         weapon = "Pistol"
  489.     elseif weapon == 18 then
  490.         weapon = "Plasma Grenade"
  491.     elseif weapon == 19 then
  492.         weapon = "Plasma Pistol"
  493.     elseif weapon == 20 then
  494.         weapon = "Plasma Rifle"
  495.     elseif weapon == 21 then
  496.         weapon = "Fuel Rod Gun"
  497.     elseif weapon == 22 then
  498.         weapon = "Rocket Launcher"
  499.     elseif weapon == 23 then
  500.         weapon = "Shotgun"
  501.     elseif weapon == 24 then
  502.         weapon = "Sniper Rifle"
  503.     end
  504.  
  505.     credits = credits_table[hash]
  506.  
  507.     if credits < 7500 then
  508.         curlevel = 0
  509.         nextlevel = 7500
  510.     elseif credits >= 7500 and credits < 10000 then
  511.         rank = rank_table[2]
  512.         curlevel = 7500
  513.         nextlevel = 2500
  514.     elseif credits >= 10000 and credits < 15000 then
  515.         rank = rank_table[3]
  516.         curlevel = 10000
  517.         nextlevel = 5000
  518.     elseif credits >= 15000 and credits < 20000 then
  519.         rank = rank_table[4]
  520.         curlevel = 15000
  521.         nextlevel = 5000
  522.     elseif credits >= 20000 and credits < 26250 then
  523.         rank = rank_table[5]
  524.         curlevel = 20000
  525.         nextlevel = 6250
  526.     elseif credits >= 26250 and credits < 32500 then
  527.         rank = rank_table[6]
  528.         curlevel = 26250
  529.         nextlevel = 6250
  530.     elseif credits >= 32500 and credits < 45000 then
  531.         rank = rank_table[7]
  532.         curlevel = 32500
  533.         nextlevel = 12500
  534.     elseif credits >= 45000 and credits < 78000 then
  535.         rank = rank_table[8]
  536.         curlevel = 45000
  537.         nextlevel = 33000
  538.     elseif credits >= 78000 and credits < 111000 then
  539.         rank = rank_table[9]
  540.         curlevel = 78000
  541.         nextlevel = 33000
  542.     elseif credits >= 111000 and credits < 144000 then
  543.         rank = rank_table[10]
  544.         curlevel = 111000
  545.         nextlevel = 33000
  546.     elseif credits >= 144000 and credits < 210000 then
  547.         rank = rank_table[11]
  548.         curlevel = 144000
  549.         nextlevel = 66000
  550.     elseif credits >= 210000 and credits < 233000 then
  551.         rank = rank_table[12]
  552.         curlevel = 210000
  553.         nextlevel = 23000
  554.     elseif credits >= 233000 and credits < 256000 then
  555.         rank = rank_table[13]
  556.         curlevel = 233000
  557.         nextlevel = 23000
  558.     elseif credits >= 256000 and credits < 279000 then
  559.         rank = rank_table[14]
  560.         curlevel = 256000
  561.         nextlevel = 23000
  562.     elseif credits >= 279000 and credits < 325000 then
  563.         rank = rank_table[15]
  564.         curlevel = 279000
  565.         nextlevel = 46000
  566.     elseif credits >= 325000 and credits < 350000 then
  567.         rank = rank_table[16]
  568.         curlevel = 325000
  569.         nextlevel = 25000
  570.     elseif credits >= 350000 and credits < 375000 then
  571.         rank = rank_table[17]
  572.         curlevel = 350000
  573.         nextlevel = 25000
  574.     elseif credits >= 375000 and credits < 400000 then
  575.         rank = rank_table[18]
  576.         curlevel = 375000
  577.         nextlevel = 25000
  578.     elseif credits >= 400000 and credits < 450000 then
  579.         rank = rank_table[19]
  580.         curlevel = 400000
  581.         nextlevel = 50000
  582.     elseif credits >= 450000 and credits < 480000 then
  583.         rank = rank_table[20]
  584.         curlevel = 450000
  585.         nextlevel = 30000
  586.     elseif credits >= 480000 and credits < 510000 then
  587.         rank = rank_table[21]
  588.         curlevel = 480000
  589.         nextlevel = 30000
  590.     elseif credits >= 510000 and credits < 540000 then
  591.         rank = rank_table[22]
  592.         curlevel = 510000
  593.         nextlevel = 30000
  594.     elseif credits >= 540000 and credits < 600000 then
  595.         rank = rank_table[23]
  596.         curlevel = 540000
  597.         nextlevel = 60000
  598.     elseif credits >= 600000 and credits < 650000 then
  599.         rank = rank_table[24]
  600.         curlevel = 600000
  601.         nextlevel = 50000
  602.     elseif credits >= 650000 and credits < 700000 then
  603.         rank = rank_table[25]
  604.         curlevel = 650000
  605.         nextlevel = 50000
  606.     elseif credits >= 700000 and credits < 750000 then
  607.         rank = rank_table[26]
  608.         curlevel = 700000
  609.         nextlevel = 50000
  610.     elseif credits >= 750000 and credits < 850000 then
  611.         rank = rank_table[27]
  612.         curlevel = 750000
  613.         nextlevel = 100000
  614.     elseif credits >= 850000 and credits < 960000 then
  615.         rank = rank_table[28]
  616.         curlevel = 850000
  617.         nextlevel = 110000
  618.     elseif credits >= 960000 and credits < 1070000 then
  619.         rank = rank_table[29]
  620.         curlevel = 960000
  621.         nextlevel = 110000
  622.     elseif credits >= 1070000 and credits < 1180000 then
  623.         rank = rank_table[30]
  624.         curlevel = 1070000
  625.         nextlevel = 110000
  626.     elseif credits >= 1180000 and credits < 1400000 then
  627.         rank = rank_table[31]
  628.         curlevel = 1180000
  629.         nextlevel = 220000
  630.     elseif credits >= 1400000 and credits < 1520000 then
  631.         rank = rank_table[32]
  632.         curlevel = 1400000
  633.         nextlevel = 120000
  634.     elseif credits >= 1520000 and credits < 1640000 then
  635.         rank = rank_table[33]
  636.         curlevel = 1520000
  637.         nextlevel = 120000
  638.     elseif credits >= 1640000 and credits < 1760000 then
  639.         rank = rank_table[34]
  640.         curlevel = 1640000
  641.         nextlevel = 120000
  642.     elseif credits >= 1760000 and credits < 2000000 then
  643.         rank = rank_table[35]
  644.         curlevel = 1760000
  645.         nextlevel = 240000
  646.     elseif credits >= 2000000 and credits < 2200000 then
  647.         rank = rank_table[36]
  648.         curlevel = 2000000
  649.         nextlevel = 200000
  650.     elseif credits >= 2200000 and credits < 2350000 then
  651.         rank = rank_table[37]
  652.         curlevel = 2200000
  653.         nextlevel = 150000
  654.     elseif credits >= 2350000 and credits < 2500000 then
  655.         rank = rank_table[38]
  656.         curlevel = 2350000
  657.         nextlevel = 150000
  658.     elseif credits >= 2500000 and credits < 2650000 then
  659.         rank = rank_table[39]
  660.         curlevel = 2500000
  661.         nextlevel = 150000
  662.     elseif credits >= 2650000 and credits < 3000000 then
  663.         rank = rank_table[40]
  664.         curlevel = 2650000
  665.         nextlevel = 350000
  666.     elseif credits >= 3000000 and credits < 3700000 then
  667.         rank = rank_table[41]
  668.         curlevel = 3000000
  669.         nextlevel = 700000
  670.     elseif credits >= 3700000 and credits < 4600000 then
  671.         rank = rank_table[42]
  672.         curlevel = 3700000
  673.         nextlevel = 900000
  674.     elseif credits >= 4600000 and credits < 5650000 then
  675.         rank = rank_table[43]
  676.         curlevel = 4600000
  677.         nextlevel = 1050000
  678.     elseif credits >= 5650000 and credits < 7000000 then
  679.         rank = rank_table[44]
  680.         curlevel = 5650000
  681.         nextlevel = 1350000
  682.     elseif credits >= 7000000 and credits < 8500000 then
  683.         rank = rank_table[45]
  684.         curlevel = 7000000
  685.         nextlevel = 1500000
  686.     elseif credits >= 8500000 and credits < 11000000 then
  687.         rank = rank_table[46]
  688.         curlevel = 8500000
  689.         nextlevel = 2500000
  690.     elseif credits >= 11000000 and credits < 13000000 then
  691.         rank = rank_table[47]
  692.         curlevel = 11000000
  693.         nextlevel = 2000000
  694.     elseif credits >= 13000000 and credits < 16500000 then
  695.         rank = rank_table[48]
  696.         curlevel = 13000000
  697.         nextlevel = 3500000
  698.     elseif credits >= 16500000 and credits < 20000000 then
  699.         rank = rank_table[49]
  700.         curlevel = 16500000
  701.         nextlevel = 3500000
  702.     elseif credits >= 20000000 then
  703.         rank = rank_table[50]
  704.         curlevel = 20000000
  705.         nextlevel = 0
  706.     end
  707.  
  708.     local i = 0
  709.  
  710.     for k,v in pairs(rank_table) do
  711.         if v == rank then
  712.             i = k + 1
  713.         end
  714.     end
  715.  
  716.     nextrank = rank_table[i]
  717.     credits = comma_value(credits)
  718.     curlevel = comma_value(credits - curlevel)
  719.     nextlevel = comma_value(nextlevel)
  720.  
  721.     if count == 1 and word == "@stats" then
  722.         AllowChat = 0
  723.         privatesay(player, "----------")
  724.         privatesay(player, "Kills: " .. kills_table[hash] .. " | Deaths: " .. deaths_table[hash] .. " | KDR: " .. kdr .. " | Accuracy: " .. accuracy)
  725.         privatesay(player, "Time Played:" .. gametime .. " | KPM: " .. kpm .. " | DPM: " .. dpm)
  726.         privatesay(player, "Best Multikill: " .. multikill .. " | Best Killstreak: " .. killstreak)
  727.         privatesay(player, "Top Weapon: " .. weapon .. " | Kills: " .. killCount .. " | Deaths: " .. deathCount .. " | KDR: " .. ratio)
  728.         privatesay(player, "Assists: " .. assists_table[hash] .. " | Betrays: " .. betrays_table[hash] .. " | Suicides: " .. suicides_table[hash])
  729.         privatesay(player, "Rank: " .. rank .. " | Credits: " .. credits .. " | Next: " .. nextrank .. " (" .. curlevel .. " of " .. nextlevel .. ")")
  730.         privatesay(player, "----------")
  731.     end
  732.  
  733.     return AllowChat
  734.  
  735. end
  736.  
  737. function OnServerCommand(player, command)
  738.  
  739.     if command == "sv_reloadscripts" then
  740.         StoreStats()
  741.     end
  742.  
  743.     if player ~= -1 and command == "sv_map_next" then
  744.         perfection = false
  745.     end
  746.  
  747.     return 1
  748. end
  749.  
  750. function OnTeamDecision(cur_team)
  751.     return cur_team
  752. end
  753.  
  754. function OnPlayerJoin(player, team)
  755.  
  756.     local hash = gethash(player)
  757.     hash_table[hash] = 1
  758.     earncredits_table[hash] = 1
  759.     InitializeTables(player)
  760.     cur_players = cur_players + 1
  761.  
  762.     if cur_players == 1 then
  763.         registertimer(1, 1000, 0, "NewGameTimer")
  764.     end
  765.  
  766. end
  767.  
  768. function OnPlayerLeave(player, team)
  769.  
  770.     local hash = gethash(player)
  771.     earncredits_table[hash] = nil
  772.     cur_players = cur_players - 1
  773.  
  774.     if cur_players == 0 then
  775.         StoreStats()
  776.         game_started = false
  777.     end
  778.  
  779.     for i=0,15 do
  780.  
  781.         local hash = gethash(i)
  782.  
  783.         if killer_table[hash] == player then
  784.             killer_table[hash] = nil
  785.         end
  786.  
  787.     end
  788.  
  789. end
  790.  
  791. function OnPlayerKill(killer, victim, mode)
  792.  
  793.     if game_started == true then
  794.  
  795.         local k_hash = gethash(killer)
  796.         local v_hash = gethash(victim)
  797.         local k_team = getteam(killer)
  798.         local v_team = getteam(victim)
  799.         local k_player = getplayer(killer)
  800.         local k_playerObjId = readdword(k_player, 0x34)
  801.         local k_object = getobject(k_playerObjId)
  802.         local v_player = getplayer(victim)
  803.         local v_playerObjId = readdword(v_player, 0x34)
  804.         local v_object = getobject(v_playerObjId)
  805.         sniper_table[v_hash] = 0
  806.         shotgun_table[v_hash] = 0
  807.         splatter_table[v_hash] = 0
  808.         stick_table[v_hash] = 0
  809.         dead_table[v_hash] = 1
  810.         assistscount_table[v_hash] = 0
  811.         hill_table[v_hash] = nil
  812.         killer_table[v_hash] = killer
  813.         closecall_table[v_hash] = nil
  814.         avenger_table[v_hash] = nil
  815.         protector_table[v_hash] = nil
  816.         multikilltimer_table[v_hash] = nil
  817.         multikillcount_table[v_hash] = 0
  818.         curdeaths_table[v_hash] = 1
  819.  
  820.         if mode ~= 0 then
  821.             deaths_table[v_hash] = deaths_table[v_hash] + 1
  822.         end
  823.  
  824.         for i=0,15 do
  825.  
  826.             local hash = gethash(i)
  827.  
  828.             if protector_table[hash] ~= nil and protector_table[hash] == victim then
  829.                 protector_table[hash] = nil
  830.             end
  831.  
  832.         end
  833.  
  834.         if mode == 4 then
  835.  
  836.             kills_table[k_hash] = kills_table[k_hash] + 1
  837.             multikillcount_table[k_hash] = multikillcount_table[k_hash] + 1
  838.             multikilltimer_table[k_hash] = 4
  839.  
  840.             if multikillcount_table[k_hash] > multikill_table[k_hash] then
  841.                 multikill_table[k_hash] = multikillcount_table[k_hash]
  842.             end
  843.  
  844.             killstreakcount_table[k_hash] = killstreakcount_table[k_hash] + 1
  845.  
  846.             if killstreakcount_table[k_hash] > killstreak_table[k_hash] then
  847.                 killstreak_table[k_hash] = killstreakcount_table[k_hash]
  848.             end
  849.  
  850.             if multikillcount_table[k_hash] >= 4 then
  851.  
  852.                 local team_count = getteamsize(v_team)
  853.                 local dead_count = 0
  854.  
  855.                 for i=0,15 do
  856.  
  857.                     local team = getteam(i)
  858.                     local hash = gethash(i)
  859.  
  860.                     if hash ~= 0 then
  861.                         if team == v_team then
  862.                             if dead_table[hash] ~= nil then
  863.                                 dead_count = dead_count + 1
  864.                             end
  865.                         end
  866.                     end
  867.  
  868.                 end
  869.  
  870.                 if dead_count == team_count then
  871.                     credits_table[k_hash] = credits_table[k_hash] + 7
  872.                     jack_table[k_hash] = jack_table[k_hash] + 1
  873.                     privatesay(killer, "Extermination!")
  874.                 end
  875.  
  876.             end
  877.  
  878.             avenger_table[k_hash] = 4
  879.             avengeme_table[v_hash] = killer
  880.  
  881.             if damage_table[k_hash] ~= nil then
  882.  
  883.                 if damage_table[k_hash] == "weapons\\sniper rifle\\sniper bullet" then
  884.  
  885.                     credits_table[k_hash] = credits_table[k_hash] + 4
  886.                     crackshot_table[k_hash] = crackshot_table[k_hash] + 1
  887.  
  888.                     if sniper_table[k_hash] == nil then
  889.                         sniper_table[k_hash] = 1
  890.                     else
  891.                         sniper_table[k_hash] = sniper_table[k_hash] + 1
  892.                     end
  893.  
  894.                     if sniper_table[k_hash] == 5 then
  895.                         credits_table[k_hash] = credits_table[k_hash] + 10
  896.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  897.                         privatesay(killer, "Sniper Spree!")
  898.                     elseif sniper_table[k_hash] == 10 then
  899.                         credits_table[k_hash] = credits_table[k_hash] + 10
  900.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  901.                         privatesay(killer, "Sharpshooter!")
  902.                     elseif sniper_table[k_hash] == 15 then
  903.                         credits_table[k_hash] = credits_table[k_hash] + 10
  904.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  905.                         privatesay(killer, "Be the Bullet!")
  906.                     end
  907.  
  908.                 elseif damage_table[k_hash] == "weapons\\shotgun\\pellet" then
  909.  
  910.                     credits_table[k_hash] = credits_table[k_hash] + 6
  911.                     cq_table[k_hash] = cq_table[k_hash] + 1
  912.  
  913.                     if shotgun_table[k_hash] == nil then
  914.                         shotgun_table[k_hash] = 1
  915.                     else
  916.                         shotgun_table[k_hash] = shotgun_table[k_hash] + 1
  917.                     end
  918.  
  919.                     if shotgun_table[k_hash] == 5 then
  920.                         credits_table[k_hash] = credits_table[k_hash] + 10
  921.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  922.                         privatesay(killer, "Shotgun Spree!")
  923.                     elseif shotgun_table[k_hash] == 10 then
  924.                         credits_table[k_hash] = credits_table[k_hash] + 10
  925.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  926.                         privatesay(killer, "Open Season!")
  927.                     elseif shotgun_table[k_hash] == 15 then
  928.                         credits_table[k_hash] = credits_table[k_hash] + 10
  929.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  930.                         privatesay(killer, "Buck Wild!")
  931.                     end
  932.  
  933.                 elseif damage_table[k_hash] == "globals\\vehicle_collision" then
  934.  
  935.                     credits_table[k_hash] = credits_table[k_hash] + 6
  936.                     mobileasset_table[k_hash] = mobileasset_table[k_hash] + 1
  937.                     privatesay(killer, "Splatter!")
  938.  
  939.                     if splatter_table[k_hash] == nil then
  940.                         splatter_table[k_hash] = 1
  941.                     else
  942.                         splatter_table[k_hash] = splatter_table[k_hash] + 1
  943.                     end
  944.  
  945.                     if splatter_table[k_hash] == 5 then
  946.                         credits_table[k_hash] = credits_table[k_hash] + 10
  947.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  948.                         privatesay(killer, "Splatter Spree!")
  949.                     elseif splatter_table[k_hash] == 10 then
  950.                         credits_table[k_hash] = credits_table[k_hash] + 10
  951.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  952.                         privatesay(killer, "Vehicular Manslaughter!")
  953.                     elseif splatter_table[k_hash] == 15 then
  954.                         credits_table[k_hash] = credits_table[k_hash] + 10
  955.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  956.                         privatesay(killer, "Sunday Driver!")
  957.                     end
  958.  
  959.                 elseif damage_table[k_hash] == "weapons\\plasma grenade\\attached" then
  960.  
  961.                     credits_table[k_hash] = credits_table[k_hash] + 7
  962.                     grenadier_table[k_hash] = grenadier_table[k_hash] + 1
  963.                     privatesay(killer, "Grenade Stick!")
  964.  
  965.                     if stick_table[k_hash] == nil then
  966.                         stick_table[k_hash] = 1
  967.                     else
  968.                         stick_table[k_hash] = stick_table[k_hash] + 1
  969.                     end
  970.  
  971.                     if stick_table[k_hash] == 5 then
  972.                         credits_table[k_hash] = credits_table[k_hash] + 10
  973.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  974.                         privatesay(killer, "Stick Spree!")
  975.                     elseif stick_table[k_hash] == 10 then
  976.                         credits_table[k_hash] = credits_table[k_hash] + 10
  977.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  978.                         privatesay(killer, "Sticky Fingers!")
  979.                     elseif stick_table[k_hash] == 15 then
  980.                         credits_table[k_hash] = credits_table[k_hash] + 10
  981.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  982.                         privatesay(killer, "Corrected!")
  983.                     end
  984.  
  985.                 elseif damage_table[k_hash] == "weapons\\ball\\melee" then
  986.                     credits_table[k_hash] = credits_table[k_hash] + 7
  987.                     privatesay(killer, "Oddball Kill!")
  988.                 elseif damage_table[k_hash] == "weapons\\flag\\melee" then
  989.                     credits_table[k_hash] = credits_table[k_hash] + 7
  990.                     privatesay(killer, "Flag Kill!")
  991.                 elseif damage_table[k_hash] == "weapons\\needler\\explosion" then
  992.                     credits_table[k_hash] = credits_table[k_hash] + 7
  993.                     privatesay(killer, "Needle Kill!")
  994.                 elseif damage_table[k_hash] == "vehicles\\banshee\\bolt" or damage_table[k_hash] == "vehicles\\banshee\\mp_fuel rod explosion" or damage_table[k_hash] == "vehicles\\ghost\\bolt" or damage_table[k_hash] == "vehicles\\scorpion\\bullet" or damage_table[k_hash] == "vehicles\\scorpion\\shell explosion" or damage_table[k_hash] == "vehicles\\warthog\\bullet" then
  995.                     credits_table[k_hash] = credits_table[k_hash] + 4
  996.                 elseif damage_table[k_hash] == "weapons\\frag grenade\\explosion" or damage_table[k_hash] == "weapons\\plasma grenade\\explosion" then
  997.                     credits_table[k_hash] = credits_table[k_hash] + 4
  998.                     grenadier_table[k_hash] = grenadier_table[k_hash] + 1
  999.                 elseif damage_table[k_hash] == "weapons\\flamethrower\\burning" or damage_table[k_hash] == "weapons\\flamethrower\\explosion" or damage_table[k_hash] == "weapons\\flamethrower\\impact damage" or damage_table[k_hash] == "weapons\\plasma_cannon\\effects\\plasma_cannon_explosion" or damage_table[k_hash] == "weapons\\plasma_cannon\\impact damage" or damage_table[k_hash] == "weapons\\rocket launcher\\explosion" then
  1000.                     credits_table[k_hash] = credits_table[k_hash] + 4
  1001.                     heavy_table[k_hash] = heavy_table[k_hash] + 1
  1002.                 elseif damage_table[k_hash] == "weapons\\pistol\\bullet" or damage_table[k_hash] == "weapons\\plasma pistol\\bolt" or damage_table[k_hash] == "weapons\\plasma rifle\\charged bolt" then
  1003.                     credits_table[k_hash] = credits_table[k_hash] + 4
  1004.                     sidearm_table[k_hash] = sidearm_table[k_hash] + 1
  1005.                 elseif damage_table[k_hash] == "weapons\\assault rifle\\bullet" or damage_table[k_hash] == "weapons\\needler\\detonation damage" or damage_table[k_hash] == "weapons\\needler\\impact damage" or damage_table[k_hash] == "weapons\\plasma rifle\\bolt" then
  1006.                     credits_table[k_hash] = credits_table[k_hash] + 4
  1007.                     trigger_table[k_hash] = trigger_table[k_hash] + 1
  1008.                 end
  1009.  
  1010.                 local found = string.find(damage_table[k_hash], "melee", -5)
  1011.  
  1012.                 if found ~= nil then
  1013.  
  1014.                     credits_table[k_hash] = credits_table[k_hash] + 6
  1015.                     cq_table[k_hash] = cq_table[k_hash] + 1
  1016.  
  1017.                     if readdword(k_object, 0x204) == 0x51 then
  1018.                         credits_table[k_hash] = credits_table[k_hash] + 7
  1019.                         rearadmiral_table[k_hash] = rearadmiral_table[k_hash] + 1
  1020.                         privatesay(killer, "Assassin!")
  1021.                     else
  1022.                         privatesay(killer, "Beat Down!")
  1023.                     end
  1024.                 end
  1025.  
  1026.             end
  1027.  
  1028.             if dead_table[k_hash] ~= nil then
  1029.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1030.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1031.                 privatesay(killer, "Kill from the Grave!")
  1032.             end
  1033.  
  1034.             if killstreakcount_table[v_hash] >= 5 then
  1035.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1036.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1037.                 privatesay(killer, "Killjoy!")
  1038.             end
  1039.  
  1040.             if emp_table[k_hash] ~= nil and emp_table[k_hash] == victim then
  1041.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1042.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1043.                 privatesay(killer, "EMP Blast!")
  1044.             end
  1045.  
  1046.             if killer_table[k_hash] ~= nil and killer_table[k_hash] == victim then
  1047.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1048.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1049.                 privatesay(killer, "Revenge!")
  1050.                 killer_table[k_hash] = nil
  1051.             end
  1052.  
  1053.             if first_strike == nil then
  1054.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1055.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1056.                 privatesay(killer, "First Strike!")
  1057.                 first_strike = k_hash
  1058.             end
  1059.  
  1060.             local obj_action3 = readbyte(v_object, 0x2A4)
  1061.  
  1062.             if obj_action3 == 5 then
  1063.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1064.                 privatesay(killer, "Reload This!")
  1065.             end
  1066.  
  1067.             if readfloat(k_object, 0xE4) == 0 and readfloat(k_object, 0xE0) > 0 and readfloat(k_object, 0xE0) <= 0.2 then
  1068.                 closecall_table[k_hash] = 1
  1069.             end
  1070.  
  1071.             local v_airborne = readbyte(v_object, 0x4CC)
  1072.  
  1073.             if v_airborne == 1 then
  1074.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1075.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1076.                 privatesay(killer, "Pull!")
  1077.             end
  1078.  
  1079.             if avenger_table[v_hash] ~= nil then
  1080.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1081.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1082.                 privatesay(killer, "Avenger!")
  1083.             end
  1084.  
  1085.             local k_airborne = readbyte(k_object, 0x4CC)
  1086.  
  1087.             if k_airborne == 1 then
  1088.                 credits_table[k_hash] = credits_table[k_hash] + 7
  1089.                 jack_table[k_hash] = jack_table[k_hash] + 1
  1090.                 privatesay(killer, "Firebird!")
  1091.             end
  1092.  
  1093.             for i=0,15 do
  1094.  
  1095.                 local hash = gethash(i)
  1096.                 local m_player = getplayer(i)
  1097.                 local player_assists = readword(m_player, 0xA4)
  1098.  
  1099.                 if hash ~= 0 then
  1100.                     if hash ~= k_hash then
  1101.  
  1102.                         if player_assists > assistscount_table[hash] then
  1103.  
  1104.                             credits_table[hash] = credits_table[hash] + 6
  1105.                             assistant_table[hash] = assistant_table[hash] + 1
  1106.                             privatesay(i, "Assist!")
  1107.                             assistscount_table[hash] = player_assists
  1108.                             assists_table[hash] = assists_table[hash] + 1
  1109.  
  1110.                             if assistscount_table[hash] == 5 then
  1111.                                 credits_table[hash] = credits_table[hash] + 10
  1112.                                 spreecount_table[hash] = spreecount_table[hash] + 1
  1113.                                 privatesay(i, "Assist Spree!")
  1114.                             elseif assistscount_table[hash] == 10 then
  1115.                                 credits_table[hash] = credits_table[hash] + 10
  1116.                                 spreecount_table[hash] = spreecount_table[hash] + 1
  1117.                                 privatesay(i, "Sidekick!")
  1118.                             elseif assistscount_table[hash] == 15 then
  1119.                                 credits_table[hash] = credits_table[hash] + 10
  1120.                                 spreecount_table[hash] = spreecount_table[hash] + 1
  1121.                                 privatesay(i, "Second Gunman!")
  1122.                             end
  1123.  
  1124.                         end
  1125.  
  1126.                         if avengeme_table[hash] ~= nil and avengeme_table[hash] == victim then
  1127.                             privatesay(i, "Avenge Me!")
  1128.                             avengeme_table[hash] = nil
  1129.                         end
  1130.  
  1131.                         if protector_table[hash] ~= nil and protector_table[hash] == victim then
  1132.                             credits_table[k_hash] = credits_table[k_hash] + 7
  1133.                             privatesay(killer, "Protector!")
  1134.                             privatesay(i, "Bros to the End!")
  1135.                         end
  1136.  
  1137.                     end
  1138.                 end
  1139.  
  1140.             end
  1141.  
  1142.             if hill_table[k_hash] ~= nil and hill_table[k_hash] < 5 then
  1143.                 hill_table[k_hash] = hill_table[k_hash] + 1
  1144.             end
  1145.  
  1146.             if hill_table[k_hash] == 5 then
  1147.                 privatesay(killer, "Hail to the King!")
  1148.                 hill_table[k_hash] = nil
  1149.             end
  1150.  
  1151.             if readbyte(v_player, 0x74) == 0x29 and readbyte(v_player, 0x7A) == 0x70 then
  1152.                 privatesay(killer, "Killed Oddball Carrier!")
  1153.             else
  1154.                 if readbyte(v_object, 0x2F2) == 2 then
  1155.                     privatesay(killer, "Killed Flag Carrier!")
  1156.                 end
  1157.             end
  1158.  
  1159.             if multikillcount_table[k_hash] == 2 then
  1160.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1161.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1162.                 privatesay(killer, "Double Kill!")
  1163.             elseif multikillcount_table[k_hash] == 3 then
  1164.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1165.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1166.                 privatesay(killer, "Triple Kill!")
  1167.             elseif multikillcount_table[k_hash] == 4 then
  1168.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1169.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1170.                 privatesay(killer, "Overkill!")
  1171.             elseif multikillcount_table[k_hash] == 5 then
  1172.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1173.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1174.                 privatesay(killer, "Killtacular!")
  1175.             elseif multikillcount_table[k_hash] == 6 then
  1176.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1177.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1178.                 privatesay(killer, "Killtrocity!")
  1179.             elseif multikillcount_table[k_hash] == 7 then
  1180.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1181.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1182.                 privatesay(killer, "Killimanjaro!")
  1183.             elseif multikillcount_table[k_hash] == 8 then
  1184.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1185.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1186.                 privatesay(killer, "Killtastrophe!")
  1187.             elseif multikillcount_table[k_hash] == 9 then
  1188.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1189.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1190.                 privatesay(killer, "Killpocalypse!")
  1191.             elseif multikillcount_table[k_hash] == 10 then
  1192.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1193.                 multikillcom_table[k_hash] = multikillcom_table[k_hash] + 1
  1194.                 privatesay(killer, "Killionaire!")
  1195.             end
  1196.  
  1197.             if killstreakcount_table[k_hash] == 5 then
  1198.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1199.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1200.                 privatesay(killer, "Killing Spree!")
  1201.             elseif killstreakcount_table[k_hash] == 10 then
  1202.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1203.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1204.                 privatesay(killer, "Killing Frenzy!")
  1205.             elseif killstreakcount_table[k_hash] == 15 then
  1206.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1207.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1208.                 privatesay(killer, "Running Riot!")
  1209.             elseif killstreakcount_table[k_hash] == 20 then
  1210.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1211.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1212.                 privatesay(killer, "Rampage!")
  1213.             elseif killstreakcount_table[k_hash] == 25 then
  1214.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1215.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1216.                 privatesay(killer, "Untouchable!")
  1217.             elseif killstreakcount_table[k_hash] == 30 then
  1218.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1219.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1220.                 privatesay(killer, "Invincible!")
  1221.             elseif killstreakcount_table[k_hash] == 35 then
  1222.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1223.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1224.                 privatesay(killer, "Inconceivable!")
  1225.             elseif killstreakcount_table[k_hash] == 40 then
  1226.                 credits_table[k_hash] = credits_table[k_hash] + 10
  1227.                 spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1228.                 privatesay(killer, "Unfrigginbelievable!")
  1229.             end
  1230.  
  1231.             if zombies == true then
  1232.                 if k_team == zombie_team then
  1233.                     if killstreakcount_table[k_hash] == 5 then
  1234.                         credits_table[k_hash] = credits_table[k_hash] + 10
  1235.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1236.                         privatesay(killer, "Infection Spree!")
  1237.                     elseif killstreakcount_table[k_hash] == 10 then
  1238.                         credits_table[k_hash] = credits_table[k_hash] + 10
  1239.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1240.                         privatesay(killer, "Mmmm... Brains!")
  1241.                     elseif killstreakcount_table[k_hash] == 15 then
  1242.                         credits_table[k_hash] = credits_table[k_hash] + 10
  1243.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1244.                         privatesay(killer, "Thriller!")
  1245.                     end
  1246.                 else
  1247.                     if killstreakcount_table[k_hash] == 5 then
  1248.                         credits_table[k_hash] = credits_table[k_hash] + 10
  1249.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1250.                         privatesay(killer, "Zombie Killing Spree!")
  1251.                     elseif killstreakcount_table[k_hash] == 10 then
  1252.                         credits_table[k_hash] = credits_table[k_hash] + 10
  1253.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1254.                         privatesay(killer, "Hell's Janitor!")
  1255.                     elseif killstreakcount_table[k_hash] == 15 then
  1256.                         credits_table[k_hash] = credits_table[k_hash] + 10
  1257.                         spreecount_table[k_hash] = spreecount_table[k_hash] + 1
  1258.                         privatesay(killer, "Hell's Jerome!")
  1259.                     end
  1260.                 end
  1261.             end
  1262.  
  1263.             local tagname = damage_table[k_hash]
  1264.             local found1 = string.find(tagname, "melee", -5)
  1265.             local found2 = string.find(tagname, "ball")
  1266.             local found3 = string.find(tagname, "flag")
  1267.             local killertable = {}
  1268.             local victimtable = {}
  1269.  
  1270.             for word in string.gmatch(weaponkills_table[k_hash], "%w+") do
  1271.                 table.insert(killertable, tonumber(word))
  1272.             end
  1273.  
  1274.             for word in string.gmatch(weapondeaths_table[v_hash], "%w+") do
  1275.                 table.insert(victimtable, tonumber(word))
  1276.             end
  1277.  
  1278.             if found1 ~= nil and found2 == nil and found3 == nil then
  1279.                 killertable[1] = killertable[1] + 1
  1280.                 victimtable[1] = victimtable[1] + 1
  1281.             elseif tagname == "globals\\distance" or tagname == "globals\\falling" then
  1282.                 killertable[2] = killertable[2] + 1
  1283.                 victimtable[2] = victimtable[2] + 1
  1284.             elseif tagname == "globals\\vehicle_collision" then
  1285.                 killertable[3] = killertable[3] + 1
  1286.                 victimtable[3] = victimtable[3] + 1
  1287.             elseif tagname == "vehicles\\banshee\\bolt" then
  1288.                 killertable[4] = killertable[4] + 1
  1289.                 victimtable[4] = victimtable[4] + 1
  1290.             elseif tagname == "vehicles\\banshee\\mp_fuel rod explosion" then
  1291.                 killertable[5] = killertable[5] + 1
  1292.                 victimtable[5] = victimtable[5] + 1
  1293.             elseif tagname == "vehicles\\c gun turret\\mp bolt" then
  1294.                 killertable[6] = killertable[6] + 1
  1295.                 victimtable[6] = victimtable[6] + 1
  1296.             elseif tagname == "vehicles\\ghost\\bolt" then
  1297.                 killertable[7] = killertable[7] + 1
  1298.                 victimtable[7] = victimtable[7] + 1
  1299.             elseif tagname == "vehicles\\scorpion\\bullet" then
  1300.                 killertable[8] = killertable[8] + 1
  1301.                 victimtable[8] = victimtable[8] + 1
  1302.             elseif tagname == "vehicles\\scorpion\\shell explosion" then
  1303.                 killertable[9] = killertable[9] + 1
  1304.                 victimtable[9] = victimtable[9] + 1
  1305.             elseif tagname == "vehicles\\warthog\\bullet" then
  1306.                 killertable[10] = killertable[10] + 1
  1307.                 victimtable[10] = victimtable[10] + 1
  1308.             elseif tagname == "weapons\\assault rifle\\bullet" then
  1309.                 killertable[11] = killertable[11] + 1
  1310.                 victimtable[11] = victimtable[11] + 1
  1311.             elseif tagname == "weapons\\ball\\melee" then
  1312.                 killertable[12] = killertable[12] + 1
  1313.                 victimtable[12] = victimtable[12] + 1
  1314.             elseif tagname == "weapons\\flag\\melee" then
  1315.                 killertable[13] = killertable[13] + 1
  1316.                 victimtable[13] = victimtable[13] + 1
  1317.             elseif tagname == "weapons\\flamethrower\\burning" or tagname == "weapons\\flamethrower\\explosion" or tagname == "weapons\\flamethrower\\impact damage" then
  1318.                 killertable[14] = killertable[14] + 1
  1319.                 victimtable[14] = victimtable[14] + 1
  1320.             elseif tagname == "weapons\\frag grenade\\explosion" then
  1321.                 killertable[15] = killertable[15] + 1
  1322.                 victimtable[15] = victimtable[15] + 1
  1323.             elseif tagname == "weapons\\needler\\detonation damage" or tagname == "weapons\\needler\\explosion" or tagname == "weapons\\needler\\impact damage" then
  1324.                 killertable[16] = killertable[16] + 1
  1325.                 victimtable[16] = victimtable[16] + 1
  1326.             elseif tagname == "weapons\\pistol\\bullet" then
  1327.                 killertable[17] = killertable[17] + 1
  1328.                 victimtable[17] = victimtable[17] + 1
  1329.             elseif tagname == "weapons\\plasma grenade\\attached" or tagname == "weapons\\plasma grenade\\explosion" then
  1330.                 killertable[18] = killertable[18] + 1
  1331.                 victimtable[18] = victimtable[18] + 1
  1332.             elseif tagname == "weapons\\plasma pistol\\bolt" or tagname == "weapons\\plasma rifle\\charged bolt" then
  1333.                 killertable[19] = killertable[19] + 1
  1334.                 victimtable[19] = victimtable[19] + 1
  1335.             elseif tagname == "weapons\\plasma rifle\\bolt" then
  1336.                 killertable[20] = killertable[20] + 1
  1337.                 victimtable[20] = victimtable[20] + 1
  1338.             elseif tagname == "weapons\\plasma_cannon\\effects\\plasma_cannon_explosion" or tagname == "weapons\\plasma_cannon\\impact damage" then
  1339.                 killertable[21] = killertable[21] + 1
  1340.                 victimtable[21] = victimtable[21] + 1
  1341.             elseif tagname == "weapons\\rocket launcher\\explosion" then
  1342.                 killertable[22] = killertable[22] + 1
  1343.                 victimtable[22] = victimtable[22] + 1
  1344.             elseif tagname == "weapons\\shotgun\\pellet" then
  1345.                 killertable[23] = killertable[23] + 1
  1346.                 victimtable[23] = victimtable[23] + 1
  1347.             elseif tagname == "weapons\\sniper rifle\\sniper bullet" then
  1348.                 killertable[24] = killertable[24] + 1
  1349.                 victimtable[24] = victimtable[24] + 1
  1350.             end
  1351.  
  1352.             weaponkills_table[k_hash] = killertable[1] .. "," .. killertable[2] .. "," .. killertable[3] .. "," .. killertable[4] .. "," .. killertable[5] .. "," .. killertable[6] .. "," .. killertable[7] .. "," .. killertable[8] .. "," .. killertable[9] .. "," .. killertable[10] .. "," .. killertable[11] .. "," .. killertable[12] .. "," .. killertable[13] .. "," .. killertable[14] .. "," .. killertable[15] .. "," .. killertable[16] .. "," .. killertable[17] .. "," .. killertable[18] .. "," .. killertable[19] .. "," .. killertable[20] .. "," .. killertable[21] .. "," .. killertable[22] .. "," .. killertable[23] .. "," .. killertable[24]
  1353.             weapondeaths_table[v_hash] = victimtable[1] .. "," .. victimtable[2] .. "," .. victimtable[3] .. "," .. victimtable[4] .. "," .. victimtable[5] .. "," .. victimtable[6] .. "," .. victimtable[7] .. "," .. victimtable[8] .. "," .. victimtable[9] .. "," .. victimtable[10] .. "," .. victimtable[11] .. "," .. victimtable[12] .. "," .. victimtable[13] .. "," .. victimtable[14] .. "," .. victimtable[15] .. "," .. victimtable[16] .. "," .. victimtable[17] .. "," .. victimtable[18] .. "," .. victimtable[19] .. "," .. victimtable[20] .. "," .. victimtable[21] .. "," .. victimtable[22] .. "," .. victimtable[23] .. "," .. victimtable[24]
  1354.  
  1355.         elseif mode == 5 then
  1356.             betrays_table[k_hash] = betrays_table[k_hash] + 1
  1357.         elseif mode == 6 then
  1358.             suicides_table[v_hash] = suicides_table[v_hash] + 1
  1359.         end
  1360.  
  1361.         killstreakcount_table[v_hash] = 0
  1362.  
  1363.     end
  1364.  
  1365. end
  1366.  
  1367. function OnKillMultiplier(player, multiplier)
  1368. end
  1369.  
  1370. function OnPlayerSpawn(player, m_objectId)
  1371. end
  1372.  
  1373. function OnPlayerSpawnEnd(player, m_objectId)
  1374.  
  1375.     if game_started == true then
  1376.         local hash = gethash(player)
  1377.         dead_table[hash] = nil
  1378.     end
  1379.  
  1380. end
  1381.  
  1382. function OnTeamChange(relevant, player, team, dest_team)
  1383.     return 1
  1384. end
  1385.  
  1386. function OnObjectInteraction(player, m_ObjectId, tagType, tagName)
  1387.  
  1388.     if game_started == true then
  1389.  
  1390.         local hash = gethash(player)
  1391.         local m_player = getplayer(player)
  1392.         local m_playerObjId = readdword(m_player, 0x34)
  1393.         local m_object = getobject(m_playerObjId)
  1394.  
  1395.         if tagType == "eqip" and tagName == "powerups\\over shield" then
  1396.             rejection_table[hash] = 1
  1397.         end
  1398.     end
  1399.  
  1400.     return 1
  1401.  
  1402. end
  1403.  
  1404. function OnWeaponReload(player, weapon)
  1405.     return 1
  1406. end
  1407.  
  1408. function OnVehicleEntry(player)
  1409.     return 1
  1410. end
  1411.  
  1412. function OnDamageLookup(receiving_obj, causing_obj, tagdata, tagname)
  1413.  
  1414.     if game_started == true then
  1415.  
  1416.         local receiver = objecttoplayer(receiving_obj)
  1417.         local causer = objecttoplayer(causing_obj)
  1418.         local r_hash = gethash(receiver)
  1419.         local c_hash = gethash(causer)
  1420.         local r_team = getteam(receiver)
  1421.         local c_team = getteam(causer)
  1422.         local r_player = getplayer(receiver)
  1423.         local r_playerObjId = readdword(r_player, 0x34)
  1424.         local r_object = getobject(r_playerObjId)
  1425.         local found1 = string.find(tagname, "wave", -4)
  1426.         local found2 = string.find(tagname, "melee_response", -14)
  1427.         local found3 = string.find(tagname, "trigger", -7)
  1428.         local found4 = string.find(tagname, "melee", -5)
  1429.  
  1430.         if causer ~= -1 and receiver ~= -1 then
  1431.  
  1432.             if found1 == nil and found2 == nil and found3 == nil then
  1433.                 damage_table[c_hash] = tagname
  1434.             end
  1435.  
  1436.             if readfloat(r_object, 0xE4) > 0 then
  1437.                 if tagname == "weapons\\plasma rifle\\charged bolt" or tagname == "weapons\\plasma grenade\\explosion" then
  1438.                     emp_table[c_hash] = receiver
  1439.                 end
  1440.             end
  1441.  
  1442.             if causer ~= receiver and r_team ~= c_team then
  1443.                 if rejection_table[r_hash] ~= nil then
  1444.  
  1445.                     local health = readfloat(r_object, 0xD8)
  1446.                     local shields = readfloat(r_object, 0xDC)
  1447.                     local hitpoints = health + shields
  1448.  
  1449.                     if readfloat(tagdata, 0x1D0) > hitpoints or readfloat(tagdata, 0x1D4) > hitpoints or readfloat(tagdata, 0x1D8) > hitpoints then
  1450.                         credits_table[r_hash] = credits_table[r_hash] + 7
  1451.                         jack_table[r_hash] = jack_table[r_hash] + 1
  1452.                         privatesay(receiver, "Rejection!")
  1453.                         rejection_table[r_hash] = nil
  1454.                     end
  1455.  
  1456.                 end
  1457.             end
  1458.  
  1459.             if readfloat(r_object, 0xE4) == 0 and readfloat(r_object, 0xE0) <= 0.2 then
  1460.                 protector_table[r_hash] = causer
  1461.             end
  1462.  
  1463.         end
  1464.  
  1465.         if found1 == nil and found2 == nil and found4 == nil then
  1466.  
  1467.             if found3 ~= nil then
  1468.                 if tagname == "weapons\\flamethrower\\trigger" then
  1469.                     fired_table[r_hash] = fired_table[r_hash] + 2
  1470.                 elseif tagname == "weapons\\shotgun\\trigger" then
  1471.                     fired_table[r_hash] = fired_table[r_hash] + 15
  1472.                 else
  1473.                     fired_table[r_hash] = fired_table[r_hash] + 1
  1474.                 end
  1475.             else
  1476.                 if causer ~= -1 and receiver ~= -1 and causer ~= receiver then
  1477.                     hits_table[c_hash] = hits_table[c_hash] + 1
  1478.                 end
  1479.             end
  1480.  
  1481.         end
  1482.  
  1483.     end
  1484.  
  1485. end
  1486.  
  1487. function OnWeaponAssignment(player, object, count, tag)
  1488. end
  1489.  
  1490. function OnWeaponCreation(owningPlayer, owningObject, m_weapon, tag)
  1491. end
  1492.  
  1493. function GameTimer(id, userdata, count)
  1494.  
  1495.     if game_started == true then
  1496.         for i=0,15 do
  1497.  
  1498.             local hash = gethash(i)
  1499.  
  1500.             if hash ~= 0 then
  1501.                 timer_table[hash] = timer_table[hash] + 1
  1502.             end
  1503.  
  1504.         end
  1505.     end
  1506.  
  1507.     return 1
  1508.  
  1509. end
  1510.  
  1511. function MainTimer(id, userdata, count)
  1512.  
  1513.     if game_started == true then
  1514.         for i=0,15 do
  1515.  
  1516.             local hash = gethash(i)
  1517.  
  1518.             if hash ~= 0 then
  1519.  
  1520.                 local m_player = getplayer(i)
  1521.                 local m_playerObjId = readdword(m_player, 0x34)
  1522.                 local m_object = getobject(m_playerObjId)
  1523.                 local player_objective_mode = readbyte(m_player, 0x74)
  1524.                 local player_objective_mode2 = readbyte(m_player, 0x7A)
  1525.  
  1526.                 if emp_table[hash] ~= nil then
  1527.                     if readfloat(m_object, 0xE4) > 0 then
  1528.                         emp_table[hash] = nil
  1529.                     end
  1530.                 end
  1531.  
  1532.                 if closecall_table[hash] ~= nil and readfloat(m_object, 0xE4) > 0 then
  1533.                     credits_table[hash] = credits_table[hash] + 7
  1534.                     jack_table[hash] = jack_table[hash] + 1
  1535.                     privatesay(i, "Close Call!")
  1536.                     closecall_table[hash] = nil
  1537.                 end
  1538.  
  1539.                 if rejection_table[hash] ~= nil and readfloat(m_object, 0xE4) > 2.9 then
  1540.                     rejection_table[hash] = nil
  1541.                 end
  1542.  
  1543.                 if avenger_table[hash] ~= nil then
  1544.                     if avenger_table[hash] > 0.5 then
  1545.                         avenger_table[hash] = avenger_table[hash] - 0.5
  1546.                     elseif avenger_table[hash] == 0.5 then
  1547.  
  1548.                         avenger_table[hash] = nil
  1549.  
  1550.                         for k,v in pairs(avengeme_table) do
  1551.                             if v == i then
  1552.                                 v = nil
  1553.                             end
  1554.                         end
  1555.  
  1556.                     end
  1557.                 end
  1558.  
  1559.                 if protector_table[hash] ~= nil and readfloat(m_object, 0xE4) > 0 then
  1560.                     protector_table[hash] = nil
  1561.                 end
  1562.  
  1563.                 if multikilltimer_table[hash] ~= nil then
  1564.                     if multikilltimer_table[hash] > 0.5 then
  1565.                         multikilltimer_table[hash] = multikilltimer_table[hash] - 0.5
  1566.                     elseif multikilltimer_table[hash] == 0.5 then
  1567.                         multikilltimer_table[hash] = nil
  1568.                         multikillcount_table[hash] = 0
  1569.                     end
  1570.                 end
  1571.  
  1572.                 if player_objective_mode == 0x22 and player_objective_mode2 == 0x71 then
  1573.                     if hill_table[hash] == nil then
  1574.                         hill_table[hash] = 0
  1575.                     end
  1576.                 else
  1577.                     if hill_table[hash] ~= nil then
  1578.                         hill_table[hash] = nil
  1579.                     end
  1580.                 end
  1581.  
  1582.                 if readword(m_player, 0xC8) > flag_table[hash] then
  1583.                     credits_table[hash] = credits_table[hash] + 7
  1584.                     privatesay(i, "Flag Score!")
  1585.                 end
  1586.  
  1587.                 flag_table[hash] = readword(m_player, 0xC8)
  1588.                 CheckCommendations(i)
  1589.  
  1590.             end
  1591.  
  1592.         end
  1593.     end
  1594.  
  1595.     return 1
  1596.  
  1597. end
  1598.  
  1599. function StoreStats()
  1600.  
  1601.     for k,v in pairs(earncredits_table) do
  1602.         if v == 1 then
  1603.  
  1604.             local file1 = io.open("cg//stats//stats.txt", "w+")
  1605.             local file2 = io.open("cg//stats//weaponkills.txt", "w+")
  1606.             local file3 = io.open("cg//stats//weapondeaths.txt", "w+")
  1607.             local file4 = io.open("cg//stats//commendations.txt", "w+")
  1608.             local file5 = io.open("cg//stats//credits.txt", "w+")
  1609.  
  1610.             if (file1 ~= nil) then
  1611.  
  1612.                 for k,v in pairs(hash_table) do
  1613.                     if v == 1 then
  1614.                         file1:write(k .. "," .. kills_table[k] .. "," .. deaths_table[k] .. "," .. timer_table[k] .. "," .. killstreak_table[k] .. "," .. multikill_table[k] .. "," .. assists_table[k] .. "," .. betrays_table[k] .. "," .. suicides_table[k] .. "," .. hits_table[k] .. "," .. fired_table[k] .. "\n")
  1615.                     end
  1616.                 end
  1617.  
  1618.                 file1:close()
  1619.  
  1620.             end
  1621.  
  1622.             if (file2 ~= nil) then
  1623.  
  1624.                 for k,v in pairs(weaponkills_table) do
  1625.                     if k ~= 0 then
  1626.                         file2:write(k .. "," .. v .. "\n")
  1627.                     end
  1628.                 end
  1629.  
  1630.                 file2:close()
  1631.  
  1632.             end
  1633.  
  1634.             if (file3 ~= nil) then
  1635.  
  1636.                 for k,v in pairs(weapondeaths_table) do
  1637.                     if k ~= 0 then
  1638.                         file3:write(k .. "," .. v .. "\n")
  1639.                     end
  1640.                 end
  1641.  
  1642.                 file3:close()
  1643.  
  1644.             end
  1645.  
  1646.             if (file4 ~= nil) then
  1647.  
  1648.                 for k,v in pairs(earncredits_table) do
  1649.                     if k ~= 0 then
  1650.                         file4:write(k .. "," .. spreecount_table[k] .. "," .. assistant_table[k] .. "," .. cq_table[k] .. "," .. crackshot_table[k] .. "," .. grenadier_table[k] .. "," .. heavy_table[k] .. "," .. jack_table[k] .. "," .. mobileasset_table[k] .. "," .. multikillcom_table[k] .. "," .. rearadmiral_table[k] .. "," .. sidearm_table[k] .. "," .. trigger_table[k] .. "\n")
  1651.                     end
  1652.                 end
  1653.  
  1654.                 file4:close()
  1655.  
  1656.             end
  1657.  
  1658.             if (file5 ~= nil) then
  1659.  
  1660.                 for k,v in pairs(credits_table) do
  1661.                     if k ~= 0 then
  1662.                         file5:write(k .. "," .. v .. "\n")
  1663.                     end
  1664.                 end
  1665.  
  1666.                 file5:close()
  1667.  
  1668.             end
  1669.  
  1670.         end
  1671.     end
  1672.  
  1673. end
  1674.  
  1675. function CheckCommendations(player)
  1676.  
  1677.     local hash = gethash(player)
  1678.  
  1679.     if spreecount_table[hash] ~= curspreecount_table[hash] then
  1680.  
  1681.         if spreecount_table[hash] == 5 then
  1682.             credits_table[hash] = credits_table[hash] + 250
  1683.             privatesay(player, "Any Spree: Iron!")
  1684.         elseif spreecount_table[hash] == 50 then
  1685.             credits_table[hash] = credits_table[hash] + 425
  1686.             privatesay(player, "Any Spree: Bronze!")
  1687.         elseif spreecount_table[hash] == 250 then
  1688.             credits_table[hash] = credits_table[hash] + 1200
  1689.             privatesay(player, "Any Spree: Silver!")
  1690.         elseif spreecount_table[hash] == 1000 then
  1691.             credits_table[hash] = credits_table[hash] + 2400
  1692.             privatesay(player, "Any Spree: Gold!")
  1693.         elseif spreecount_table[hash] == 4000 then
  1694.             credits_table[hash] = credits_table[hash] + 2400
  1695.             privatesay(player, "Any Spree: Onyx!")
  1696.         elseif spreecount_table[hash] == 10000 then
  1697.             privatesay(player, "Any Spree: MAX!")
  1698.         end
  1699.  
  1700.         curspreecount_table[hash] = spreecount_table[hash]
  1701.  
  1702.     end
  1703.  
  1704.     if assistant_table[hash] ~= curassistant_table[hash] then
  1705.  
  1706.         if assistant_table[hash] == 50 then
  1707.             credits_table[hash] = credits_table[hash] + 150
  1708.             privatesay(player, "Assistant: Iron!")
  1709.         elseif assistant_table[hash] == 250 then
  1710.             credits_table[hash] = credits_table[hash] + 425
  1711.             privatesay(player, "Assistant: Bronze!")
  1712.         elseif assistant_table[hash] == 1000 then
  1713.             credits_table[hash] = credits_table[hash] + 1200
  1714.             privatesay(player, "Assistant: Silver!")
  1715.         elseif assistant_table[hash] == 4000 then
  1716.             credits_table[hash] = credits_table[hash] + 2400
  1717.             privatesay(player, "Assistant: Gold!")
  1718.         elseif assistant_table[hash] == 8000 then
  1719.             credits_table[hash] = credits_table[hash] + 2400
  1720.             privatesay(player, "Assistant: Onyx!")
  1721.         elseif assistant_table[hash] == 20000 then
  1722.             privatesay(player, "Assistant: MAX!")
  1723.         end
  1724.  
  1725.         curassistant_table[hash] = assistant_table[hash]
  1726.  
  1727.     end
  1728.  
  1729.     if cq_table[hash] ~= curcq_table[hash] then
  1730.  
  1731.         if cq_table[hash] == 50 then
  1732.             credits_table[hash] = credits_table[hash] + 150
  1733.             privatesay(player, "Close Quarters: Iron!")
  1734.         elseif cq_table[hash] == 125 then
  1735.             credits_table[hash] = credits_table[hash] + 375
  1736.             privatesay(player, "Close Quarters: Bronze!")
  1737.         elseif cq_table[hash] == 400 then
  1738.             credits_table[hash] = credits_table[hash] + 1200
  1739.             privatesay(player, "Close Quarters: Silver!")
  1740.         elseif cq_table[hash] == 1600 then
  1741.             credits_table[hash] = credits_table[hash] + 2400
  1742.             privatesay(player, "Close Quarters: Gold!")
  1743.         elseif cq_table[hash] == 4000 then
  1744.             credits_table[hash] = credits_table[hash] + 2400
  1745.             privatesay(player, "Close Quarters: Onyx!")
  1746.         elseif cq_table[hash] == 8000 then
  1747.             privatesay(player, "Close Quarters: MAX!")
  1748.         end
  1749.  
  1750.         curcq_table[hash] = cq_table[hash]
  1751.  
  1752.     end
  1753.  
  1754.     if crackshot_table[hash] ~= curcrackshot_table[hash] then
  1755.  
  1756.         if crackshot_table[hash] == 100 then
  1757.             credits_table[hash] = credits_table[hash] + 300
  1758.             privatesay(player, "Crack Shot: Iron!")
  1759.         elseif crackshot_table[hash] == 500 then
  1760.             credits_table[hash] = credits_table[hash] + 1000
  1761.             privatesay(player, "Crack Shot: Bronze!")
  1762.         elseif crackshot_table[hash] == 4000 then
  1763.             credits_table[hash] = credits_table[hash] + 2000
  1764.             privatesay(player, "Crack Shot: Silver!")
  1765.         elseif crackshot_table[hash] == 10000 then
  1766.             credits_table[hash] = credits_table[hash] + 3000
  1767.             privatesay(player, "Crack Shot: Gold!")
  1768.         elseif crackshot_table[hash] == 20000 then
  1769.             credits_table[hash] = credits_table[hash] + 3000
  1770.             privatesay(player, "Crack Shot: Onyx!")
  1771.         elseif crackshot_table[hash] == 32000 then
  1772.             privatesay(player, "Crack Shot: MAX!")
  1773.         end
  1774.  
  1775.         curcrackshot_table[hash] = crackshot_table[hash]
  1776.  
  1777.     end
  1778.  
  1779.     if grenadier_table[hash] ~= curgrenadier_table[hash] then
  1780.  
  1781.         if grenadier_table[hash] == 25 then
  1782.             credits_table[hash] = credits_table[hash] + 100
  1783.             privatesay(player, "Grenadier: Iron!")
  1784.         elseif grenadier_table[hash] == 125 then
  1785.             credits_table[hash] = credits_table[hash] + 200
  1786.             privatesay(player, "Grenadier: Bronze!")
  1787.         elseif grenadier_table[hash] == 500 then
  1788.             credits_table[hash] = credits_table[hash] + 500
  1789.             privatesay(player, "Grenadier: Silver!")
  1790.         elseif grenadier_table[hash] == 4000 then
  1791.             credits_table[hash] = credits_table[hash] + 750
  1792.             privatesay(player, "Grenadier: Gold!")
  1793.         elseif grenadier_table[hash] == 8000 then
  1794.             credits_table[hash] = credits_table[hash] + 750
  1795.             privatesay(player, "Grenadier: Onyx!")
  1796.         elseif grenadier_table[hash] == 14000 then
  1797.             privatesay(player, "Grenadier: MAX!")
  1798.         end
  1799.  
  1800.         curgrenadier_table[hash] = grenadier_table[hash]
  1801.  
  1802.     end
  1803.  
  1804.     if heavy_table[hash] ~= curheavy_table[hash] then
  1805.  
  1806.         if heavy_table[hash] == 25 then
  1807.             credits_table[hash] = credits_table[hash] + 100
  1808.             privatesay(player, "Heavy Weapon: Iron!")
  1809.         elseif heavy_table[hash] == 150 then
  1810.             credits_table[hash] = credits_table[hash] + 200
  1811.             privatesay(player, "Heavy Weapon: Bronze!")
  1812.         elseif heavy_table[hash] == 750 then
  1813.             credits_table[hash] = credits_table[hash] + 500
  1814.             privatesay(player, "Heavy Weapon: Silver!")
  1815.         elseif heavy_table[hash] == 3000 then
  1816.             credits_table[hash] = credits_table[hash] + 750
  1817.             privatesay(player, "Heavy Weapon: Gold!")
  1818.         elseif heavy_table[hash] == 7000 then
  1819.             credits_table[hash] = credits_table[hash] + 750
  1820.             privatesay(player, "Heavy Weapon: Onyx!")
  1821.         elseif heavy_table[hash] == 14000 then
  1822.             privatesay(player, "Heavy Weapon: MAX!")
  1823.         end
  1824.  
  1825.         curheavy_table[hash] = heavy_table[hash]
  1826.  
  1827.     end
  1828.  
  1829.     if jack_table[hash] ~= curjack_table[hash] then
  1830.  
  1831.         if jack_table[hash] == 50 then
  1832.             credits_table[hash] = credits_table[hash] + 150
  1833.             privatesay(player, "Jack of All Trades: Iron!")
  1834.         elseif jack_table[hash] == 125 then
  1835.             credits_table[hash] = credits_table[hash] + 375
  1836.             privatesay(player, "Jack of All Trades: Bronze!")
  1837.         elseif jack_table[hash] == 400 then
  1838.             credits_table[hash] = credits_table[hash] + 1000
  1839.             privatesay(player, "Jack of All Trades: Silver!")
  1840.         elseif jack_table[hash] == 1600 then
  1841.             credits_table[hash] = credits_table[hash] + 1600
  1842.             privatesay(player, "Jack of All Trades: Gold!")
  1843.         elseif jack_table[hash] == 4800 then
  1844.             credits_table[hash] = credits_table[hash] + 1600
  1845.             privatesay(player, "Jack of All Trades: Onyx!")
  1846.         elseif jack_table[hash] == 9600 then
  1847.             privatesay(player, "Jack of All Trades: MAX!")
  1848.         end
  1849.  
  1850.         curjack_table[hash] = jack_table[hash]
  1851.  
  1852.     end
  1853.  
  1854.     if mobileasset_table[hash] ~= curmobileasset_table[hash] then
  1855.  
  1856.         if mobileasset_table[hash] == 25 then
  1857.             credits_table[hash] = credits_table[hash] + 100
  1858.             privatesay(player, "Mobile Asset: Iron!")
  1859.         elseif mobileasset_table[hash] == 125 then
  1860.             credits_table[hash] = credits_table[hash] + 200
  1861.             privatesay(player, "Mobile Asset: Bronze!")
  1862.         elseif mobileasset_table[hash] == 500 then
  1863.             credits_table[hash] = credits_table[hash] + 500
  1864.             privatesay(player, "Mobile Asset: Silver!")
  1865.         elseif mobileasset_table[hash] == 4000 then
  1866.             credits_table[hash] = credits_table[hash] + 750
  1867.             privatesay(player, "Mobile Asset: Gold!")
  1868.         elseif mobileasset_table[hash] == 8000 then
  1869.             credits_table[hash] = credits_table[hash] + 750
  1870.             privatesay(player, "Mobile Asset: Onyx!")
  1871.         elseif mobileasset_table[hash] == 14000 then
  1872.             privatesay(player, "Mobile Asset: MAX!")
  1873.         end
  1874.  
  1875.         curmobileasset_table[hash] = mobileasset_table[hash]
  1876.  
  1877.     end
  1878.  
  1879.     if multikillcom_table[hash] ~= curmultikillcom_table[hash] then
  1880.  
  1881.         if multikillcom_table[hash] == 10 then
  1882.             credits_table[hash] = credits_table[hash] + 250
  1883.             privatesay(player, "Multikill: Iron!")
  1884.         elseif multikillcom_table[hash] == 125 then
  1885.             credits_table[hash] = credits_table[hash] + 450
  1886.             privatesay(player, "Multikill: Bronze!")
  1887.         elseif multikillcom_table[hash] == 500 then
  1888.             credits_table[hash] = credits_table[hash] + 875
  1889.             privatesay(player, "Multikill: Silver!")
  1890.         elseif multikillcom_table[hash] == 2500 then
  1891.             credits_table[hash] = credits_table[hash] + 1400
  1892.             privatesay(player, "Multikill: Gold!")
  1893.         elseif multikillcom_table[hash] == 5000 then
  1894.             credits_table[hash] = credits_table[hash] + 1400
  1895.             privatesay(player, "Multikill: Onyx!")
  1896.         elseif multikillcom_table[hash] == 15000 then
  1897.             privatesay(player, "Multikill: MAX!")
  1898.         end
  1899.  
  1900.         curmultikillcom_table[hash] = multikillcom_table[hash]
  1901.  
  1902.     end
  1903.  
  1904.     if rearadmiral_table[hash] ~= currearadmiral_table[hash] then
  1905.  
  1906.         if rearadmiral_table[hash] == 5 then
  1907.             credits_table[hash] = credits_table[hash] + 300
  1908.             privatesay(player, "Rear Admiral: Iron!")
  1909.         elseif rearadmiral_table[hash] == 25 then
  1910.             credits_table[hash] = credits_table[hash] + 500
  1911.             privatesay(player, "Rear Admiral: Bronze!")
  1912.         elseif rearadmiral_table[hash] == 100 then
  1913.             credits_table[hash] = credits_table[hash] + 750
  1914.             privatesay(player, "Rear Admiral: Silver!")
  1915.         elseif rearadmiral_table[hash] == 1000 then
  1916.             credits_table[hash] = credits_table[hash] + 1000
  1917.             privatesay(player, "Rear Admiral: Gold!")
  1918.         elseif rearadmiral_table[hash] == 4000 then
  1919.             credits_table[hash] = credits_table[hash] + 1000
  1920.             privatesay(player, "Rear Admiral: Onyx!")
  1921.         elseif rearadmiral_table[hash] == 8000 then
  1922.             privatesay(player, "Rear Admiral: MAX!")
  1923.         end
  1924.  
  1925.         currearadmiral_table[hash] = rearadmiral_table[hash]
  1926.  
  1927.     end
  1928.  
  1929.     if sidearm_table[hash] ~= curassistant_table[hash] then
  1930.  
  1931.         if sidearm_table[hash] == 50 then
  1932.             credits_table[hash] = credits_table[hash] + 100
  1933.             privatesay(player, "Sidearm: Iron!")
  1934.         elseif sidearm_table[hash] == 250 then
  1935.             credits_table[hash] = credits_table[hash] + 200
  1936.             privatesay(player, "Sidearm: Bronze!")
  1937.         elseif sidearm_table[hash] == 1000 then
  1938.             credits_table[hash] = credits_table[hash] + 500
  1939.             privatesay(player, "Sidearm: Silver!")
  1940.         elseif sidearm_table[hash] == 4000 then
  1941.             credits_table[hash] = credits_table[hash] + 750
  1942.             privatesay(player, "Sidearm: Gold!")
  1943.         elseif sidearm_table[hash] == 8000 then
  1944.             credits_table[hash] = credits_table[hash] + 750
  1945.             privatesay(player, "Sidearm: Onyx!")
  1946.         elseif sidearm_table[hash] == 10000 then
  1947.             privatesay(player, "Sidearm: MAX!")
  1948.         end
  1949.  
  1950.         cursidearm_table[hash] = sidearm_table[hash]
  1951.  
  1952.     end
  1953.  
  1954.     if trigger_table[hash] ~= curtrigger_table[hash] then
  1955.  
  1956.         if trigger_table[hash] == 100 then
  1957.             credits_table[hash] = credits_table[hash] + 300
  1958.             privatesay(player, "Trigger Man: Iron!")
  1959.         elseif trigger_table[hash] == 500 then
  1960.             credits_table[hash] = credits_table[hash] + 1000
  1961.             privatesay(player, "Trigger Man: Bronze!")
  1962.         elseif trigger_table[hash] == 4000 then
  1963.             credits_table[hash] = credits_table[hash] + 2000
  1964.             privatesay(player, "Trigger Man: Silver!")
  1965.         elseif trigger_table[hash] == 10000 then
  1966.             credits_table[hash] = credits_table[hash] + 3000
  1967.             privatesay(player, "Trigger Man: Gold!")
  1968.         elseif trigger_table[hash] == 20000 then
  1969.             credits_table[hash] = credits_table[hash] + 3000
  1970.             privatesay(player, "Trigger Man: Onyx!")
  1971.         elseif trigger_table[hash] == 32000 then
  1972.             privatesay(player, "Trigger Man: MAX!")
  1973.         end
  1974.  
  1975.         curtrigger_table[hash] = trigger_table[hash]
  1976.  
  1977.     end
  1978.  
  1979. end
  1980.  
  1981. function InitializeTables(player)
  1982.  
  1983.     local hash = gethash(player)
  1984.  
  1985.     if flag_table[hash] == nil then
  1986.         flag_table[hash] = 0
  1987.     end
  1988.  
  1989.     if kills_table[hash] == nil then
  1990.         kills_table[hash] = 0
  1991.     end
  1992.  
  1993.     if deaths_table[hash] == nil then
  1994.         deaths_table[hash] = 0
  1995.     end
  1996.  
  1997.     if timer_table[hash] == nil then
  1998.         timer_table[hash] = 0
  1999.     end
  2000.  
  2001.     if killstreakcount_table[hash] == nil then
  2002.         killstreakcount_table[hash] = 0
  2003.     end
  2004.  
  2005.     if killstreak_table[hash] == nil then
  2006.         killstreak_table[hash] = 0
  2007.     end
  2008.  
  2009.     if multikillcount_table[hash] == nil then
  2010.         multikillcount_table[hash] = 0
  2011.     end
  2012.  
  2013.     if multikill_table[hash] == nil then
  2014.         multikill_table[hash] = 0
  2015.     end
  2016.  
  2017.     if assistscount_table[hash] == nil then
  2018.         assistscount_table[hash] = 0
  2019.     end
  2020.  
  2021.     if assists_table[hash] == nil then
  2022.         assists_table[hash] = 0
  2023.     end
  2024.  
  2025.     if betrays_table[hash] == nil then
  2026.         betrays_table[hash] = 0
  2027.     end
  2028.  
  2029.     if suicides_table[hash] == nil then
  2030.         suicides_table[hash] = 0
  2031.     end
  2032.  
  2033.     if hits_table[hash] == nil then
  2034.         hits_table[hash] = 0
  2035.     end
  2036.  
  2037.     if fired_table[hash] == nil then
  2038.         fired_table[hash] = 0
  2039.     end
  2040.  
  2041.     -- melee,falling,collision,banshee1,banshee2,shade,ghost,scorpion1,scorpion2,warthog,ar,ball,flag,flamer,frag,needler,pistol,plasma,pp,pr,frg,rox,shotty,sniper
  2042.     if weaponkills_table[hash] == nil then
  2043.         weaponkills_table[hash] = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
  2044.     end
  2045.  
  2046.     if weapondeaths_table[hash] == nil then
  2047.         weapondeaths_table[hash] = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
  2048.     end
  2049.  
  2050.     if spreecount_table[hash] == nil then
  2051.         spreecount_table[hash] = 0
  2052.     end
  2053.  
  2054.     if assistant_table[hash] == nil then
  2055.         assistant_table[hash] = 0
  2056.     end
  2057.  
  2058.     if cq_table[hash] == nil then
  2059.         cq_table[hash] = 0
  2060.     end
  2061.  
  2062.     if crackshot_table[hash] == nil then
  2063.         crackshot_table[hash] = 0
  2064.     end
  2065.  
  2066.     if grenadier_table[hash] == nil then
  2067.         grenadier_table[hash] = 0
  2068.     end
  2069.  
  2070.     if heavy_table[hash] == nil then
  2071.         heavy_table[hash] = 0
  2072.     end
  2073.  
  2074.     if jack_table[hash] == nil then
  2075.         jack_table[hash] = 0
  2076.     end
  2077.  
  2078.     if mobileasset_table[hash] == nil then
  2079.         mobileasset_table[hash] = 0
  2080.     end
  2081.  
  2082.     if multikillcom_table[hash] == nil then
  2083.         multikillcom_table[hash] = 0
  2084.     end
  2085.  
  2086.     if rearadmiral_table[hash] == nil then
  2087.         rearadmiral_table[hash] = 0
  2088.     end
  2089.  
  2090.     if sidearm_table[hash] == nil then
  2091.         sidearm_table[hash] = 0
  2092.     end
  2093.  
  2094.     if trigger_table[hash] == nil then
  2095.         trigger_table[hash] = 0
  2096.     end
  2097.  
  2098.     if curspreecount_table[hash] == nil then
  2099.         curspreecount_table[hash] = spreecount_table[hash]
  2100.     end
  2101.  
  2102.     if curassistant_table[hash] == nil then
  2103.         curassistant_table[hash] = assistant_table[hash]
  2104.     end
  2105.  
  2106.     if curcq_table[hash] == nil then
  2107.         curcq_table[hash] = cq_table[hash]
  2108.     end
  2109.  
  2110.     if curcrackshot_table[hash] == nil then
  2111.         curcrackshot_table[hash] = crackshot_table[hash]
  2112.     end
  2113.  
  2114.     if curgrenadier_table[hash] == nil then
  2115.         curgrenadier_table[hash] = grenadier_table[hash]
  2116.     end
  2117.  
  2118.     if curheavy_table[hash] == nil then
  2119.         curheavy_table[hash] = heavy_table[hash]
  2120.     end
  2121.  
  2122.     if curjack_table[hash] == nil then
  2123.         curjack_table[hash] = jack_table[hash]
  2124.     end
  2125.  
  2126.     if curmobileasset_table[hash] == nil then
  2127.         curmobileasset_table[hash] = mobileasset_table[hash]
  2128.     end
  2129.  
  2130.     if curmultikillcom_table[hash] == nil then
  2131.         curmultikillcom_table[hash] = multikillcom_table[hash]
  2132.     end
  2133.  
  2134.     if currearadmiral_table[hash] == nil then
  2135.         currearadmiral_table[hash] = rearadmiral_table[hash]
  2136.     end
  2137.  
  2138.     if cursidearm_table[hash] == nil then
  2139.         cursidearm_table[hash] = sidearm_table[hash]
  2140.     end
  2141.  
  2142.     if curtrigger_table[hash] == nil then
  2143.         curtrigger_table[hash] = trigger_table[hash]
  2144.     end
  2145.  
  2146.     if credits_table[hash] == nil then
  2147.         credits_table[hash] = 0
  2148.     end
  2149.  
  2150. end
  2151.  
  2152. function NewGameTimer(id, userdata, count)
  2153.  
  2154.     if count == 5 then
  2155.         game_started = true
  2156.         return 0
  2157.     else
  2158.         return 1
  2159.     end
  2160.  
  2161. end
  2162.  
  2163. function round(what, precision)
  2164.    return math.floor(what*math.pow(10,precision)+0.5) / math.pow(10,precision)
  2165. end
  2166.  
  2167. function comma_value(n)
  2168.     local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
  2169.     return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
  2170. end
Advertisement
Add Comment
Please, Sign In to add comment