Advertisement
HR_Shaft

Master Server Version Changer v1 for Phasor v2

May 16th, 2014
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.85 KB | None | 0 0
  1. -- Master Server Version Changer v1 5-14-2014
  2. -- for Halo PC/CE for Phasor V2
  3. -- by H® Shaft, Oxide/Urbanyoung & Wizard
  4.  
  5. -- Changes to the new lobby that the server broadcasts to for Halo 1.10. Also allows you to change the server version via console using 'sv_change' command
  6. -- You may need to add 'sv_change' to your access.ini file
  7. -- Phasor Dedi should remain at version 1.09, and as of the date of this script, remove sv_version from init file, and/or defaults (if present)
  8. -- This was a re-write of Oxides & Wizards script as the first versions had errors that prevented functioning as intended.
  9.  
  10. -- Usage:  in console use sv_change 10  to change to version 1.10, sv_change 9 to version 1.09, and so on.
  11.  
  12. default_version = "01.00.10.0621"
  13.  
  14. function GetRequiredVersion()
  15.     return 200
  16. end
  17.  
  18. function OnScriptLoad(processId, game, persistent)
  19.     if not persistent then
  20.         hprintf("You probably want to load this server persistently when the server starts.")
  21.         hprintf("ie. put it into scripts/persistent and don't load from your init file.")
  22.     end
  23.     Game = game
  24.     ver = {}
  25.     local addr1 = nil
  26.     local addr2 = nil  
  27.     if (game == "PC") then
  28.         addr1 = 0x5c34b4
  29.         addr2 = 0x5c3a08
  30.         addr3 = 0x5df840
  31.     elseif (game == "CE") then
  32.         addr1 = 0x54d384
  33.         addr2 = 0x54d720
  34.         addr3 = 0x564b34
  35.     end
  36.     writestring(addr1, "s1.master.hosthpc.com")
  37.     writestring(addr2, "s1.ms01.hosthpc.com")
  38.     writestring(addr3, default_version)
  39.     loadversions()
  40. end
  41.  
  42. function OnServerCommand(admin, command)
  43.     t = tokenizecmdstring(command)
  44.     count = #t
  45.     if t[1] == "sv_change" then
  46.         Command_Version(admin, command, t[2], count)
  47.         return false
  48.     end
  49.     return nil
  50. end
  51.  
  52.  
  53. function writestring(addr, str)
  54.     local l = 0
  55.     for i = 1, #str do
  56.         local c = string.byte(str, i)
  57.         writebyte(addr + i - 1, c)
  58.         l = l + 1
  59.     end
  60.     writebyte(addr + l, 0)
  61. end
  62.  
  63. function Command_Version(executor, command, version, count)
  64.     if count == 1 then
  65.         sendconsoletext(executor, "The current version is " .. tostring(Version))
  66.     elseif count == 2 and tonumber(version) then
  67.         if Game == "PC" then
  68.             local bool = false
  69.             local Version = "-"
  70.             if version == "1.00" or version == "00" or version == "0" then
  71.                 Version = "01.00.00.0564"
  72.                 writestring(0x5DF840, ver[1])
  73.             elseif version == "1.01" or version == "01" or version == "1" then
  74.                 Version = "01.00.01.0580"
  75.                 writestring(0x5DF840, ver[2])
  76.             elseif version == "1.02" or version == "02" or version == "2" then
  77.                 Version = "01.00.02.0581"
  78.                 writestring(0x5DF840, ver[3])
  79.             elseif version == "1.03" or version == "03" or version == "3" then
  80.                 Version = "01.00.03.0605"
  81.                 writestring(0x5DF840, ver[4])
  82.             elseif version == "1.04" or version == "04" or version == "4" then
  83.                 Version = "01.00.04.0607"
  84.                 writestring(0x5DF840, ver[5])
  85.             elseif version == "1.05" or version == "05" or version == "5" then
  86.                 Version = "01.00.05.0610"
  87.                 writestring(0x5DF840, ver[6])
  88.             elseif version == "1.06" or version == "06" or version == "6" then
  89.                 Version = "01.00.06.0612"
  90.                 writestring(0x5DF840, ver[7])
  91.             elseif version == "1.07" or version == "07" or version == "7" then
  92.                 Version = "01.00.07.0613"
  93.                 writestring(0x5DF840, ver[8])
  94.             elseif version == "1.08" or version == "08" or version == "8" then
  95.                 Version = "01.00.08.0616"
  96.                 writestring(0x5DF840, ver[9])
  97.             elseif version == "1.09" or version == "09" or version == "9" then
  98.                 Version = "01.00.09.0620"
  99.                 writestring(0x5DF840, ver[10])
  100.             elseif version == "1.10" or version == "10" then
  101.                 Version = "01.00.10.0621"
  102.                 writestring(0x5DF840, ver[11])
  103.             else
  104.                 bool = true
  105.             end
  106.             if not bool then
  107.                 sendconsoletext(executor, "Server version has been changed to " .. tostring(Version) .. "!")
  108.             else
  109.                 sendconsoletext(executor, "That is an invalid server version.")
  110.             end
  111.         elseif tonumber(version) then
  112.             local bool = true
  113.             if version == "1.00" or version == "00" or version == "0" then
  114.                 Version = "01.00.00.0609"
  115.                 writestring(0x564B34, ver[1])
  116.             elseif version == "1.01" or version == "01" or version == "1" then
  117.                 Version = "01.00.01.0580"
  118.                 writestring(0x564B34, ver[2])
  119.             elseif version == "1.02" or version == "02" or version == "2" then
  120.                 Version = "01.00.02.0581"
  121.                 writestring(0x564B34, ver[3])
  122.             elseif version == "1.07" or version == "07" or version == "7" then
  123.                 Version = "01.00.07.0613"
  124.                 writestring(0x564B34, ver[4])
  125.             elseif version == "1.08" or version == "08" or version == "8" then
  126.                 Version = "01.00.08.0616"
  127.                 writestring(0x564B34, ver[5])
  128.             elseif version == "1.09" or version == "09" or version == "9" then
  129.                 Version = "01.00.09.0620"
  130.                 writestring(0x564B34, ver[6])
  131.             elseif version == "1.10" or version == "10" then
  132.                 Version = "01.00.10.0621"
  133.                 writestring(0x564B34, ver[7])
  134.             else
  135.                 bool = true
  136.             end
  137.             if not bool then
  138.                 sendconsoletext(executor, "Server version has been changed to " .. tostring(Version) .. "!")
  139.             else
  140.                 sendconsoletext(executor, "That is an invalid server version.")
  141.             end
  142.         end
  143.     else
  144.         sendconsoletext(executor, "Invalid Syntax: " .. command .. " {version}")
  145.     end
  146. end
  147.  
  148. function loadversions()
  149.     if Game == "PC" then
  150.         ver[1] = "01.00.00.0564"
  151.         ver[2] = "01.00.01.0580"
  152.         ver[3] = "01.00.02.0581"
  153.         ver[4] = "01.00.03.0605"
  154.         ver[5] = "01.00.04.0607"
  155.         ver[6] = "01.00.05.0610"
  156.         ver[7] = "01.00.06.0612"
  157.         ver[8] = "01.00.07.0613"
  158.         ver[9] = "01.00.08.0616"
  159.         ver[10] = "01.00.09.0620"
  160.         ver[11] = "01.00.10.0621"
  161.     elseif Game == "CE" then
  162.         ver[1] = "01.00.00.0609"
  163.         ver[2] = "01.00.01.0580"
  164.         ver[3] = "01.00.02.0581"
  165.         ver[4] = "01.00.07.0613"
  166.         ver[5] = "01.00.08.0616"
  167.         ver[6] = "01.00.09.0620"
  168.         ver[7] = "01.00.10.0621"
  169.     end
  170. end
  171.  
  172. -- Created by H® Shaft thank you to Oxide, AelitePrime, Nugget & Wizard.
  173. -- Visit http://halorace.org/forum/index.php?topic=514.0 or
  174. -- Visit http://pastebin.com/u/HR_Shaft for more phasor scripts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement