using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TL_Waiter.Common;
namespace TL_Waiter
{
public partial class TL_Waiter : Form
{
public TL_Waiter()
{
InitializeComponent();
}
private int baseAddress = 0x7b0d68; //人物基址和环境技能共有
private int mapBaseAddress = 0x7b946c; //游戏地图基址
private int petAndArticlesBaseAddress = 0x7b104c; //宠物和物品共有基址
private string processName = "Game"; //游戏进程名字
public int ReadMemoryValue(int baseAddress)
{
return API.ReadMemoryValue(baseAddress, processName);
}
public float ReadMemoryFloat(int baseAddress)
{
return API.ReadMemoryFloat(baseAddress, processName);
}
public string ReadMemoryString(int baseAdd)
{
return API.ReadMemoryString(baseAdd, processName);
}
public void WriteMemory(int baseAddress, int value)
{
API.WriteMemoryValue(baseAddress, processName, value);
}
private void TL_Waiter_Load(object sender, EventArgs e)
{
if (API.GetPidByProcessName(processName) == 0)
{
MessageBox.Show("请先启动游戏");
this.Close();
}
else
{
GetPetList();
}
}
/// <summary>
/// 得到人物信息
/// </summary>
public void GetOtherInfo()
{
int tempName = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x30);
string Uname = ReadMemoryString(tempName);
this.lbl_UnameText.Text = Uname;//显示角色名
int tempCMap = (ReadMemoryValue(ReadMemoryValue(mapBaseAddress) + 0x3A38) + 0x68);
string CMap = ReadMemoryString(tempCMap);
this.lbl_CMapText.Text = CMap;//显示当前地图名
int tempLvea = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x60);
string lvea = ReadMemoryValue(tempLvea).ToString();
this.lbl_lveaText.Text = lvea; //当前等级
int tempHp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1e70);
string Hp = ReadMemoryValue(tempHp).ToString();
int tempMHp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1ee4);
string MHp = ReadMemoryValue(tempMHp).ToString();
this.lbl_CHPText.Text = Hp + " | " + MHp; //当前血值和最大血值
int tempMp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1E74);
string Mp = ReadMemoryValue(tempMp).ToString();
int tempMmp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1EE8);
string MMp = ReadMemoryValue(tempMmp).ToString();
this.lbl_CMPText.Text = Mp + " | " + MMp; //当前气值和最大气值
int tempNp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x64);
string Np = ReadMemoryValue(tempNp).ToString();
this.lbl_CNPText.Text = Np + " | " + "1000"; //当前怒气和最大怒气
int tempHlp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1E84);
string hlp = ReadMemoryValue(tempHlp).ToString();
int tempMHlp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1E88);
string mhlp = ReadMemoryValue(tempMHlp).ToString();
this.lbl_CHLPText.Text = hlp + " | " + mhlp; //当前活力和最大活力
int tempJp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1E8C);
string jp = ReadMemoryValue(tempJp).ToString();
int tempMjp = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1E90);
string mjp = ReadMemoryValue(tempMjp).ToString();
this.lbl_CJPText.Text = jp + " | " + mjp; //当前精力和最大精力
int tempX = (ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x48);
string x = ReadMemoryFloat(tempX).ToString();
string[] strX = x.Split('.');
int tempY = (ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x50);
string y = ReadMemoryFloat(tempY).ToString();
string[] strY = y.Split('.');
this.lbl_XText.Text = strX[0] + " | " + strY[0]; //当前X坐标Y坐标
int tempJy = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1E78);
string jy = ReadMemoryValue(tempJy).ToString();
this.lbl_CJYText.Text = jy; //当前经验值
int tempM = (ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(ReadMemoryValue(baseAddress) + 0x6c) + 0x1b8) + 0x4) + 0x1E7C);
string m = ReadMemoryValue(tempM).ToString();
if (m != "0")
{
if (m.Length == 4)
{
this.lbl_CMText.Text = "0" + "金" +
m[m.Length - 4].ToString() + m[m.Length - 3].ToString() + "银" +
m[m.Length - 2].ToString() + m[m.Length - 1].ToString() + "铜";
}
else if (m.Length == 3)
{
this.lbl_CMText.Text = "0" + "金" +
"0" + m[m.Length - 3].ToString() + "银" +
m[m.Length - 2].ToString() + m[m.Length - 1].ToString() + "铜";
}
else if (m.Length == 2)
{
this.lbl_CMText.Text = "0" + "金&#
天龙外挂 部分源码
最新推荐文章于 2023-08-17 23:03:13 发布
本文介绍了天龙外挂的部分源码,涉及API的定义,探讨了相关字符串处理、ListView交互、字节操作以及对象和异常处理等内容。
摘要由CSDN通过智能技术生成