First commit
This commit is contained in:
		
							
								
								
									
										118
									
								
								app/SabrehavenServer/SabrehavenOTClient/modules/gamelib/game.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								app/SabrehavenServer/SabrehavenOTClient/modules/gamelib/game.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,118 @@
 | 
			
		||||
function g_game.getRsa()
 | 
			
		||||
  return G.currentRsa
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function g_game.findPlayerItem(itemId, subType)
 | 
			
		||||
    local localPlayer = g_game.getLocalPlayer()
 | 
			
		||||
    if localPlayer then
 | 
			
		||||
        for slot = InventorySlotFirst, InventorySlotLast do
 | 
			
		||||
            local item = localPlayer:getInventoryItem(slot)
 | 
			
		||||
            if item and item:getId() == itemId and (subType == -1 or item:getSubType() == subType) then
 | 
			
		||||
                return item
 | 
			
		||||
            end
 | 
			
		||||
        end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    return g_game.findItemInContainers(itemId, subType)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function g_game.chooseRsa(host)
 | 
			
		||||
  if G.currentRsa ~= CIPSOFT_RSA and G.currentRsa ~= OTSERV_RSA then return end
 | 
			
		||||
  if host:ends('.tibia.com') or host:ends('.cipsoft.com') then
 | 
			
		||||
    g_game.setRsa(CIPSOFT_RSA)
 | 
			
		||||
 | 
			
		||||
    if g_app.getOs() == 'windows' then
 | 
			
		||||
      g_game.setCustomOs(OsTypes.Windows)
 | 
			
		||||
    else
 | 
			
		||||
      g_game.setCustomOs(OsTypes.Linux)
 | 
			
		||||
    end
 | 
			
		||||
  else
 | 
			
		||||
    if G.currentRsa == CIPSOFT_RSA then
 | 
			
		||||
      g_game.setCustomOs(-1)
 | 
			
		||||
    end
 | 
			
		||||
    g_game.setRsa(OTSERV_RSA)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  -- Hack fix to resolve some 760 login issues
 | 
			
		||||
  if g_game.getClientVersion() <= 760 then
 | 
			
		||||
    g_game.setCustomOs(2)
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function g_game.setRsa(rsa, e)
 | 
			
		||||
  e = e or '65537'
 | 
			
		||||
  g_crypt.rsaSetPublicKey(rsa, e)
 | 
			
		||||
  G.currentRsa = rsa
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function g_game.isOfficialTibia()
 | 
			
		||||
  return G.currentRsa == CIPSOFT_RSA
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function g_game.getSupportedClients()
 | 
			
		||||
  return {
 | 
			
		||||
    740, 741, 750, 760, 770, 772,
 | 
			
		||||
    780, 781, 782, 790, 792,
 | 
			
		||||
 | 
			
		||||
    800, 810, 811, 820, 821, 822,
 | 
			
		||||
    830, 831, 840, 842, 850, 853,
 | 
			
		||||
    854, 855, 857, 860, 861, 862,
 | 
			
		||||
    870, 871,
 | 
			
		||||
 | 
			
		||||
    900, 910, 920, 931, 940, 943,
 | 
			
		||||
    944, 951, 952, 953, 954, 960,
 | 
			
		||||
    961, 963, 970, 971, 972, 973,
 | 
			
		||||
    980, 981, 982, 983, 984, 985,
 | 
			
		||||
    986,
 | 
			
		||||
 | 
			
		||||
    1000, 1001, 1002, 1010, 1011,
 | 
			
		||||
    1012, 1013, 1020, 1021, 1022,
 | 
			
		||||
    1030, 1031, 1032, 1033, 1034,
 | 
			
		||||
    1035, 1036, 1037, 1038, 1039,
 | 
			
		||||
    1040, 1041, 1050, 1051, 1052,
 | 
			
		||||
    1053, 1054, 1055, 1056, 1057,
 | 
			
		||||
    1058, 1059, 1060, 1061, 1062,
 | 
			
		||||
    1063, 1064, 1070, 1071, 1072,
 | 
			
		||||
    1073, 1074, 1075, 1076, 1080,
 | 
			
		||||
    1081, 1082, 1090, 1091, 1092,
 | 
			
		||||
    1093, 1094, 1095, 1096, 1097,
 | 
			
		||||
    1098, 1099
 | 
			
		||||
  }
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- The client version and protocol version where
 | 
			
		||||
-- unsynchronized for some releases, not sure if this
 | 
			
		||||
-- will be the normal standard.
 | 
			
		||||
 | 
			
		||||
-- Client Version: Publicly given version when
 | 
			
		||||
-- downloading Cipsoft client.
 | 
			
		||||
 | 
			
		||||
-- Protocol Version: Previously was the same as
 | 
			
		||||
-- the client version, but was unsychronized in some
 | 
			
		||||
-- releases, now it needs to be verified and added here
 | 
			
		||||
-- if it does not match the client version.
 | 
			
		||||
 | 
			
		||||
-- Reason for defining both: The server now requires a
 | 
			
		||||
-- Client version and Protocol version from the client.
 | 
			
		||||
 | 
			
		||||
-- Important: Use getClientVersion for specific protocol
 | 
			
		||||
-- features to ensure we are using the proper version.
 | 
			
		||||
 | 
			
		||||
function g_game.getClientProtocolVersion(client)
 | 
			
		||||
  local clients = {
 | 
			
		||||
    [980] = 971,
 | 
			
		||||
    [981] = 973,
 | 
			
		||||
    [982] = 974,
 | 
			
		||||
    [983] = 975,
 | 
			
		||||
    [984] = 976,
 | 
			
		||||
    [985] = 977,
 | 
			
		||||
    [986] = 978,
 | 
			
		||||
    [1001] = 979,
 | 
			
		||||
    [1002] = 980
 | 
			
		||||
  }
 | 
			
		||||
  return clients[client] or client
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
if not G.currentRsa then
 | 
			
		||||
  g_game.setRsa(OTSERV_RSA)
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user