public ClientChooserWPF()
 {
     InitializeComponent();
     ShowInTaskbar = true;
     uxUseOT.IsExpanded = false;
     uxLoginServerLabel.Content = LoginServerDisabled;
     uxLoginServerLabel.Foreground = Brushes.PaleVioletRed;
     client = null;
 }
Exemplo n.º 2
0
 public BattleList(Client client)
 {
     this.client = client;
     this.creatures = new Dictionary<uint, Creature>();
 }
Exemplo n.º 3
0
 public Market(Client client)
 {
     this.client = client;
 }
 public TibiaCastReader(Client client)
 {
     this.client = client;
 }
Exemplo n.º 5
0
        public static Client OpenMC(string path, string arguments)
        {
            var fileVersion = FileVersionInfo.GetVersionInfo(path).FileVersion;
            var version = ClientVersion.GetFromFileVersion(fileVersion);

            if (version == null)
                throw new Exception("The version " + fileVersion + " is not supported.");

            WinApi.PROCESS_INFORMATION pi = new WinApi.PROCESS_INFORMATION();
            WinApi.STARTUPINFO si = new WinApi.STARTUPINFO();

            if (arguments == null)
                arguments = "";

            WinApi.CreateProcess(path, " " + arguments, IntPtr.Zero, IntPtr.Zero, false, WinApi.CREATE_SUSPENDED, IntPtr.Zero, Path.GetDirectoryName(path), ref si, out pi);

            Process p = Process.GetProcessById(Convert.ToInt32(pi.dwProcessId));

            var client = new Client(p, version, Path.GetDirectoryName(path));

            Memory.WriteByte(client.ProcessHandle, client.MemoryAddresses.ClientMultiClient, client.MemoryAddresses.ClientMultiClientJMP);

            WinApi.ResumeThread(pi.hThread);
            p.WaitForInputIdle();

            Memory.WriteByte(client.ProcessHandle, client.MemoryAddresses.ClientMultiClient, client.MemoryAddresses.ClientMultiClientJNZ);

            WinApi.CloseHandle(pi.hProcess);
            WinApi.CloseHandle(pi.hThread);

            return client;
        }
Exemplo n.º 6
0
        public static List<Client> GetClients(string version, bool offline)
        {
            List<Client> clients = new List<Client>();

            foreach (Process process in Process.GetProcesses())
            {
                StringBuilder classname = new StringBuilder();
                WinApi.GetClassName(process.MainWindowHandle, classname, 12);

                if (classname.ToString().Equals("TibiaClient", StringComparison.CurrentCultureIgnoreCase))
                {
                    var clientVersion = ClientVersion.GetFromFileVersion(process.MainModule.FileVersionInfo.FileVersion);

                    //Version not supported.
                    if (clientVersion == null)
                        continue;

                    if (version == null || clientVersion.FileVersion == version)
                    {
                        var client = new Client(process, clientVersion);
                        if (!offline || !client.LoggedIn)
                            clients.Add(client);
                    }
                }
            }
            return clients;
        }
 private void ChooseClient()
 {
     options.UseOT = uxUseOT.IsExpanded;
     LoginServer ls = null;
     if (options.UseOT)
     {
         string[] split = uxLoginServer.Text.Split(new char[] { ':' });
         ls = new LoginServer(split[0], short.Parse(split[1]));
     }
     client = ClientChooserBase.ChooseClient(options, uxClients.SelectedItem, ls);
     newClientChooser.Close();
 }
Exemplo n.º 8
0
 void MainForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     Client = null;
     mapShare.Stop();
     NpcWordList.Save();
 }
 public ProtocolWorld(Client client)
 {
     this.client = client;
 }
 public ClientChooser()
 {
     InitializeComponent();
     client = null;
     //Tibia.Version.Set(Tibia.Version.CurrentVersionString);
 }
        private void ChooseClient()
        {
            options.UseOT = uxUseOT.Checked;
            LoginServer ls = null;

            if (options.UseOT)
            {
                string[] split = uxLoginServer.Text.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);

                if (split.Length == 2)
                    ls = new LoginServer(split[0].Trim(), short.Parse(split[1]));
                else
                    ls = new LoginServer(uxLoginServer.Text.Trim(), 7171);
            }

            client = ClientChooserBase.ChooseClient(options, uxClients.SelectedItem, ls);
            newClientChooser.Dispose();
        }
Exemplo n.º 12
0
 public Chat(Client client)
 {
     this.client = client;
 }
        public MemoryAddresses(Client client)
        {
            if (client.Version == ClientVersion.Version961)
            {
                ClientRsa = client.BaseAddress + 0x320D40;
                ClientServerStart = client.BaseAddress + 0x3B06D0;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x3B9EF4;
                ClientMultiClient = client.BaseAddress + 0x12B387;

                ClientStatus = client.BaseAddress + 0x3B9EA8;

                PlayerGoX = 0;
                PlayerGoY = 0;
                PlayerGoZ = 0;

                ClientBattleListStart = 0;
            }
            else if (client.Version == ClientVersion.Version963)
            {
                ClientRsa = client.BaseAddress + 0x324EC0;
                ClientServerStart = client.BaseAddress + 0x3B34F8;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x3BCD10;
                ClientMultiClient = client.BaseAddress + 0x12E807;

                ClientStatus = client.BaseAddress + 0x3BCCC4;

                PlayerGoX = client.BaseAddress + 0x57FEA0;
                PlayerGoY = client.BaseAddress + 0x57FE98;
                PlayerGoZ = client.BaseAddress + 0x548004;

                ClientBattleListStart = client.BaseAddress + 0x548008;
            }
            else if (client.Version == ClientVersion.Version970)
            {
                ClientRsa = client.BaseAddress + 0x324EC0;
                ClientServerStart = client.BaseAddress + 0x3B34F8;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x3BCD10;
                ClientMultiClient = client.BaseAddress + 0x12EC57;

                ClientStatus = client.BaseAddress + 0x3BCCC4;

                PlayerGoX = client.BaseAddress + 0x57FEA0;
                PlayerGoY = client.BaseAddress + 0x57FE98;
                PlayerGoZ = client.BaseAddress + 0x548004;

                ClientBattleListStart = client.BaseAddress + 0x548008;
            }
            else if (client.Version == ClientVersion.Version981)
            {
                ClientRsa = client.BaseAddress + 0x327FB8;
                ClientServerStart = client.BaseAddress + 0x3B7558;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x549D34;
                ClientMultiClient = client.BaseAddress + 0x132347;

                ClientStatus = client.BaseAddress + 0x3C0CF8;

                PlayerGoX = client.BaseAddress + 0x583EA0;
                PlayerGoY = client.BaseAddress + 0x583E98;
                PlayerGoZ = client.BaseAddress + 0x54C004;

                ClientBattleListStart = client.BaseAddress + 0x54C008;
            }
            else if (client.Version == ClientVersion.Version986)
            {
                ClientRsa = client.BaseAddress + 0x32E0F8;
                ClientServerStart = client.BaseAddress + 0x3BF858;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x5501AC;
                ClientMultiClient = client.BaseAddress + 0x1341D0;

                ClientStatus = client.BaseAddress + 0x3C8FF8;

                PlayerGoX = client.BaseAddress + 0x58AEA0;
                PlayerGoY = client.BaseAddress + 0x58AE98;
                PlayerGoZ = client.BaseAddress + 0x553004;

                ClientBattleListStart = client.BaseAddress + 0x553008;
            }
            else if (client.Version == ClientVersion.Version1010)
            {
                ClientRsa = client.BaseAddress + 0x32E188;
                ClientServerStart = client.BaseAddress + 0x3BE840;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x54FE94;
                ClientMultiClient = client.BaseAddress + 0x134710;

                ClientStatus = client.BaseAddress + 0x3C7FE0;

                PlayerGoX = client.BaseAddress + 0x553030;
                PlayerGoY = client.BaseAddress + 0x553028;
                PlayerGoZ = client.BaseAddress + 0x553004;

                ClientBattleListStart = client.BaseAddress + 0x5A93D0;
            }
            else if (client.Version == ClientVersion.Version1011)
            {
                ClientRsa = client.BaseAddress + 0x32F288;
                ClientServerStart = client.BaseAddress + 0x40F31C;
                ClientServerEnd = client.BaseAddress + 0x40F320;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x551AB4;
                ClientMultiClient = client.BaseAddress + 0x134F90;
                ClientProxyCheckFunctionPointer = client.BaseAddress + 0xE8660;

                ClientStatus = client.BaseAddress + 0x3C9BDC;

                PlayerGoX = client.BaseAddress + 0x554030;
                PlayerGoY = client.BaseAddress + 0x554028;
                PlayerGoZ = client.BaseAddress + 0x554004;

                ClientBattleListStart = client.BaseAddress + 0x5AA2E0;
            }
            else if (client.Version == ClientVersion.Version1012)
            {
                ClientRsa = client.BaseAddress + 0x330278;
                ClientServerStart = client.BaseAddress + 0x4102DC;
                ClientServerEnd = client.BaseAddress + 0x4102E0;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x552A74;
                ClientMultiClient = client.BaseAddress + 0x136450;

                ClientStatus = client.BaseAddress + 0x3CAB9C;

                PlayerGoX = client.BaseAddress + 0x555030;
                PlayerGoY = client.BaseAddress + 0x555028;
                PlayerGoZ = client.BaseAddress + 0x555004;

                ClientBattleListStart = client.BaseAddress + 0x5AB2D0;
            }
            else if (client.Version == ClientVersion.Version1013)
            {
                ClientRsa = client.BaseAddress + 0x330278;
                ClientServerStart = client.BaseAddress + 0x4102DC;
                ClientServerEnd = client.BaseAddress + 0x4102E0;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x552A74;
                ClientMultiClient = client.BaseAddress + 0x136450;

                ClientStatus = client.BaseAddress + 0x3CAB9C;

                PlayerGoX = client.BaseAddress + 0x555030;
                PlayerGoY = client.BaseAddress + 0x555028;
                PlayerGoZ = client.BaseAddress + 0x555004;

                ClientBattleListStart = client.BaseAddress + 0x5AB2D0;
            }
            else if (client.Version == ClientVersion.Version1020)
            {
                ClientRsa = client.BaseAddress + 0x331270;
                ClientServerStart = client.BaseAddress + 0x41130C;
                ClientServerEnd = client.BaseAddress + 0x411310;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x553AA4;
                ClientMultiClient = client.BaseAddress + 0x136840;

                ClientStatus = client.BaseAddress + 0x3CBBBC;

                PlayerGoX = client.BaseAddress + 0x556030;
                PlayerGoY = client.BaseAddress + 0x556028;
                PlayerGoZ = client.BaseAddress + 0x556004;

                ClientBattleListStart = client.BaseAddress + 0x5AC238;
            }
            else if (client.Version == ClientVersion.Version1030)
            {
                ClientRsa = client.BaseAddress + 0x32FE78;
                ClientServerStart = client.BaseAddress + 0x41033C;
                ClientServerEnd = client.BaseAddress + 0x410340;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5530BC;
                ClientMultiClient = client.BaseAddress + 0x136770;

                ClientStatus = client.BaseAddress + 0x3CABAC;

                PlayerGoX = client.BaseAddress + 0x556030;
                PlayerGoY = client.BaseAddress + 0x556028;
                PlayerGoZ = client.BaseAddress + 0x556004;

                ClientBattleListStart = client.BaseAddress + 0x5AB890;
            }
            else if (client.Version == ClientVersion.Version1031)
            {
                ClientRsa = client.BaseAddress + 0x32FE60;
                ClientServerStart = client.BaseAddress + 0x41033C;
                ClientServerEnd = client.BaseAddress + 0x410340;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5530BC;
                ClientMultiClient = client.BaseAddress + 0x136770;

                ClientStatus = client.BaseAddress + 0x3CABAC;

                PlayerGoX = client.BaseAddress + 0x556030;
                PlayerGoY = client.BaseAddress + 0x556028;
                PlayerGoZ = client.BaseAddress + 0x556004;

                ClientBattleListStart = client.BaseAddress + 0x5AB298;
            }
            else if (client.Version == ClientVersion.Version1032)
            {
                ClientRsa = client.BaseAddress + 0x331300;
                ClientServerStart = client.BaseAddress + 0x4113CC;
                ClientServerEnd = client.BaseAddress + 0x4113D0;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x55414C;
                ClientMultiClient = client.BaseAddress + 0x13C8B0;

                ClientStatus = client.BaseAddress + 0x3CBC3C;

                PlayerGoX = client.BaseAddress + 0x557030;
                PlayerGoY = client.BaseAddress + 0x557028;
                PlayerGoZ = client.BaseAddress + 0x557004;

                ClientBattleListStart = client.BaseAddress + 0x5AC558;
            }
            else if (client.Version == ClientVersion.Version1033)
            {
                ClientRsa = client.BaseAddress + 0x331300;
                ClientServerStart = client.BaseAddress + 0x4113CC;
                ClientServerEnd = client.BaseAddress + 0x4113D0;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x55414C;
                ClientMultiClient = client.BaseAddress + 0x13C810;

                ClientStatus = client.BaseAddress + 0x3CBC3C;

                PlayerGoX = client.BaseAddress + 0x557030;
                PlayerGoY = client.BaseAddress + 0x557028;
                PlayerGoZ = client.BaseAddress + 0x557004;

                ClientBattleListStart = client.BaseAddress + 0x5AC558;
            }
            else if (client.Version == ClientVersion.Version1034)
            {
                ClientRsa = client.BaseAddress + 0x331320;
                ClientServerStart = client.BaseAddress + 0x4113CC;
                ClientServerEnd = client.BaseAddress + 0x4113D0;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x55414C;
                ClientMultiClient = client.BaseAddress + 0x13C9C0;

                ClientStatus = client.BaseAddress + 0x3CBC3C;

                PlayerGoX = client.BaseAddress + 0x557030;
                PlayerGoY = client.BaseAddress + 0x557028;
                PlayerGoZ = client.BaseAddress + 0x557004;

                ClientBattleListStart = client.BaseAddress + 0x5AC558;
            }
            else if (client.Version == ClientVersion.Version1035)
            {
                ClientRsa = client.BaseAddress + 0x331320;
                ClientServerStart = client.BaseAddress + 0x4113CC;
                ClientServerEnd = client.BaseAddress + 0x4113D0;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x55414C;
                ClientMultiClient = client.BaseAddress + 0x13CA20;

                ClientStatus = client.BaseAddress + 0x3CBC3C;

                PlayerGoX = client.BaseAddress + 0x557030;
                PlayerGoY = client.BaseAddress + 0x557028;
                PlayerGoZ = client.BaseAddress + 0x557004;

                ClientBattleListStart = client.BaseAddress + 0x5AC558;
            }
            else if (client.Version == ClientVersion.Version1041)
            {
                ClientRsa = client.BaseAddress + 0x33A450;
                ClientServerStart = client.BaseAddress + 0x41C568;
                ClientServerEnd = client.BaseAddress + 0x41C56C;
                ClientServerStep = 0x38;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x20;
                ClientServerDistancePort = 0x30;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x55F4CC;
                ClientMultiClient = client.BaseAddress + 0x1413D0;

                ClientStatus = client.BaseAddress + 0x3D6D80;

                PlayerGoX = client.BaseAddress + 0x562030;
                PlayerGoY = client.BaseAddress + 0x562028;
                PlayerGoZ = client.BaseAddress + 0x562004;

                ClientBattleListStart = client.BaseAddress + 0x5B8188;
            }
            else if (client.Version == ClientVersion.Version1050)
            {
                ClientRsa = client.BaseAddress + 0x36F7F0;
                ClientServerStart = client.BaseAddress + 0x461738;
                ClientServerEnd = client.BaseAddress + 0x46173C;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5A43DC;
                ClientMultiClient = client.BaseAddress + 0x146167;

                ClientStatus = client.BaseAddress + 0x31CA38;

                PlayerGoX = client.BaseAddress + 0x5A7030;
                PlayerGoY = client.BaseAddress + 0x5A7028;
                PlayerGoZ = client.BaseAddress + 0x5A7004;

                ClientBattleListStart = client.BaseAddress + 0x5F8B00;
            }
            else if (client.Version == ClientVersion.Version1056)
            {
                ClientRsa = client.BaseAddress + 0x37E900;
                ClientServerStart = client.BaseAddress + 0x474DEC;
                ClientServerEnd = client.BaseAddress + 0x474DF0;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5B7B44;
                ClientMultiClient = client.BaseAddress + 0x14E977;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5BA030;
                PlayerGoY = client.BaseAddress + 0x5BA028;
                PlayerGoZ = client.BaseAddress + 0x5BA004;

                ClientBattleListStart = client.BaseAddress + 0x60E5F0;
            }
            else if (client.Version == ClientVersion.Version1057)
            {
                ClientRsa = client.BaseAddress + 0x382930;
                ClientServerStart = client.BaseAddress + 0x483E54;
                ClientServerEnd = client.BaseAddress + 0x483E58;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5C6BBC;
                ClientMultiClient = client.BaseAddress + 0x1524E7;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5C9030;
                PlayerGoY = client.BaseAddress + 0x5C9028;
                PlayerGoZ = client.BaseAddress + 0x5C9004;

                ClientBattleListStart = client.BaseAddress + 0x61D730;
            }
            else if (client.Version == ClientVersion.Version1059)
            {
                ClientRsa = client.BaseAddress + 0x382930;
                ClientServerStart = client.BaseAddress + 0x483E54;
                ClientServerEnd = client.BaseAddress + 0x483E58;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5C6BBC;
                ClientMultiClient = client.BaseAddress + 0x1524E7;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5C9030;
                PlayerGoY = client.BaseAddress + 0x5C9028;
                PlayerGoZ = client.BaseAddress + 0x5C9004;

                ClientBattleListStart = client.BaseAddress + 0x61D730;
            }
            else if (client.Version == ClientVersion.Version1071)
            {
                ClientRsa = client.BaseAddress + 0x3879A0;
                ClientServerStart = client.BaseAddress + 0x48C264;
                ClientServerEnd = client.BaseAddress + 0x48C268;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5CF07C;
                ClientMultiClient = client.BaseAddress + 0x156557;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5D2030;
                PlayerGoY = client.BaseAddress + 0x5D2028;
                PlayerGoZ = client.BaseAddress + 0x5D2004;

                ClientBattleListStart = client.BaseAddress + 0x6296C0;
            }
            else if (client.Version == ClientVersion.Version1073)
            {
                ClientRsa = client.BaseAddress + 0x3899A0;
                ClientServerStart = client.BaseAddress + 0x48F5A8;
                ClientServerEnd = client.BaseAddress + 0x48F5AC;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5D23D4;
                ClientMultiClient = client.BaseAddress + 0x157FE7;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5D5030;
                PlayerGoY = client.BaseAddress + 0x5D5028;
                PlayerGoZ = client.BaseAddress + 0x5D5004;

                ClientBattleListStart = client.BaseAddress + 0x62CA30;
            }
            else if (client.Version == ClientVersion.Version1074)
            {
                ClientRsa = client.BaseAddress + 0x3889A0;
                ClientServerStart = client.BaseAddress + 0x48E5B8;
                ClientServerEnd = client.BaseAddress + 0x48E5BC;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5D13FC;
                ClientMultiClient = client.BaseAddress + 0x157D27;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5D4030;
                PlayerGoY = client.BaseAddress + 0x5D4028;
                PlayerGoZ = client.BaseAddress + 0x5D4004;

                ClientBattleListStart = client.BaseAddress + 0x62B7D0;
            }
            else if (client.Version == ClientVersion.Version1075)
            {
                ClientRsa = client.BaseAddress + 0x3889A0;
                ClientServerStart = client.BaseAddress + 0x48E5B8;
                ClientServerEnd = client.BaseAddress + 0x48E5BC;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5D13FC;
                ClientMultiClient = client.BaseAddress + 0x157C97;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5D4030;
                PlayerGoY = client.BaseAddress + 0x5D4028;
                PlayerGoZ = client.BaseAddress + 0x5D4004;

                ClientBattleListStart = client.BaseAddress + 0x62B7D0;
            }
            else if (client.Version == ClientVersion.Version1076)
            {
                ClientRsa = client.BaseAddress + 0x3899A0;
                ClientServerStart = client.BaseAddress + 0x48F5E0;
                ClientServerEnd = client.BaseAddress + 0x48F5E4;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5D2424;
                ClientMultiClient = client.BaseAddress + 0x158587;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5D5030;
                PlayerGoY = client.BaseAddress + 0x5D5028;
                PlayerGoZ = client.BaseAddress + 0x5D5004;

                ClientBattleListStart = client.BaseAddress + 0x62C0D0;
            }
            else if (client.Version == ClientVersion.Version1079)
            {
                ClientRsa = client.BaseAddress + 0x3899A0;
                ClientServerStart = client.BaseAddress + 0x48F5FC;
                ClientServerEnd = client.BaseAddress + 0x48F600;
                ClientServerStep = 0x30;
                ClientServerDistanceHostname = 0x04;
                ClientServerDistanceIP = 0x1C;
                ClientServerDistancePort = 0x28;
                ClientServerMax = 10;
                ClientSelectedCharacter = client.BaseAddress + 0x5D244C;
                ClientMultiClient = client.BaseAddress + 0x158277;

                ClientStatus = client.BaseAddress + 0x31CA38;//?

                PlayerGoX = client.BaseAddress + 0x5D5030;
                PlayerGoY = client.BaseAddress + 0x5D5028;
                PlayerGoZ = client.BaseAddress + 0x5D5004;

                ClientBattleListStart = client.BaseAddress + 0x62BF90;
            }
            else
            {
                throw new Exception("The client version " + client.Version + " is not supported.");
            }
        }
Exemplo n.º 14
0
 void client_Exited(object sender, EventArgs e)
 {
     client = null;
     Trace.WriteLine("Client unloaded.");
 }
Exemplo n.º 15
0
 public Map(Client client)
 {
     this.client = client;
     tiles = new Tile[18, 14, 8];
     knowMap = new Dictionary<ulong, bool>();
 }
Exemplo n.º 16
0
        private void loadClientToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var chooserOptions = new ClientChooserOptions();
                chooserOptions.Smart = true;
                chooserOptions.ShowOTOption = false;
                chooserOptions.OfflineOnly = true;

                var c = ClientChooser.ShowBox(chooserOptions);

                if (c != null)
                {
                    if (c.Version.OtbMajorVersion != otItems.MajorVersion || c.Version.OtbMinorVersion != otItems.MinorVersion)
                        Trace.WriteLine("[Warning] This client requires the version " + c.Version.OtbMajorVersion + "." + c.Version.OtbMinorVersion + " of items.otb.");

                    c.LoginServers = new LoginServer[] { new LoginServer("127.0.0.1", 7171) };
                    c.EnableProxy();
                    Client = c;
                    Trace.WriteLine("Client successfully loaded.");
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine("[Error] Unable to load tibia client. Details: " + ex.StackTrace.ToString());
            }
        }
Exemplo n.º 17
0
 public Proxy(Client client)
 {
     this.client = client;
 }
Exemplo n.º 18
0
        private void trackTibiaCastFilesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "TibiaCast Files (*.recording)|*.recording";
            openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Tibiacast\\Recordings";
            openFileDialog.Multiselect = true;
            if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    if (Client == null)
                    {
                        var c = new Client("Tibia.dat", ClientVersion.Current);
                        Client = c;
                    }

                    miniMap.BeginUpdate();

                    var reader = new TibiaCastReader(Client);
                    reader.BeginRead(openFileDialog.FileNames, ReadTibiaCastFilesCallback, null);
                }
                catch (Exception ex)
                {
                    Trace.WriteLine("Error while tracking tibia cast files. Details: " + ex.Message);
                }
            }
        }
        public MemoryAddresses(Client client)
        {
            if (client.Version == ClientVersion.Version961)
            {
                ClientRsa = client.BaseAddress + 0x320D40;
                ClientServerStart = client.BaseAddress + 0x3B06D0;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x3B9EF4;
                ClientMultiClient = client.BaseAddress + 0x12B387;

                ClientStatus = client.BaseAddress + 0x3B9EA8;

                PlayerGoX = 0;
                PlayerGoY = 0;
                PlayerGoZ = 0;

                ClientBattleListStart = 0;
            }
            else if (client.Version == ClientVersion.Version963)
            {
                ClientRsa = client.BaseAddress + 0x324EC0;
                ClientServerStart = client.BaseAddress + 0x3B34F8;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x3BCD10;
                ClientMultiClient = client.BaseAddress + 0x12E807;

                ClientStatus = client.BaseAddress + 0x3BCCC4;

                PlayerGoX = client.BaseAddress + 0x57FEA0;
                PlayerGoY = client.BaseAddress + 0x57FE98;
                PlayerGoZ = client.BaseAddress + 0x548004;

                ClientBattleListStart = client.BaseAddress + 0x548008;
            }
            else if (client.Version == ClientVersion.Version970)
            {
                ClientRsa = client.BaseAddress + 0x324EC0;
                ClientServerStart = client.BaseAddress + 0x3B34F8;
                ClientServerStep = 112;
                ClientServerMax = 10;
                ClientServerDistancePort = 100;
                ClientSelectedCharacter = client.BaseAddress + 0x3BCD10;
                ClientMultiClient = client.BaseAddress + 0x12EC57;

                ClientStatus = client.BaseAddress + 0x3BCCC4;

                PlayerGoX = client.BaseAddress + 0x57FEA0;
                PlayerGoY = client.BaseAddress + 0x57FE98;
                PlayerGoZ = client.BaseAddress + 0x548004;

                ClientBattleListStart = client.BaseAddress + 0x548008;
            }
            else
            {
                throw new Exception("The client version " + client.Version + " is not supported.");
            }
        }