อ้างอิงจากบทความ ก่อนหน้านี้
ใช้งาน pattern scan Array of Byte(AOB) หาค่า
ผมจึงนำค่า pattern aob
02 00 00 00 00 00 00 00 3F 00 00 00 66 00 00 00 00 00 00 00 03 00 00 00 ?? 00 00 00 00 00 00 00 00 00 00 00 ?? 00 00 00 00 00 00 00 ?? ?? ?? ??
นี้มาเพื่อใช้เขียนโค้ด lua script ต่อครับ
ด้วยโค้ดคำสั่ง
AOBScan("ใส่patternข้างในนี้")
หากโปรแกรมแสกนค่าพบจะถูกเก็บในรูปแบบ array
ตัวอย่างการนำไปใช้งาน
เปิดเกมที่ต้องการ ส่วนของผมเป็นเกม aow แล้วนำโค้ดด้านล่างนี้ไปใช้งานscan = AOBScan("02 00 00 00 00 00 00 00 3F 00 00 00 66 00 00 00 00 00 00 00 03 00 00 00 ?? 00 00 00 00 00 00 00 00 00 00 00 ?? 00 00 00 00 00 00 00 ?? ?? ?? ??")
if scan ~= nil then
showMessage("OK พบ pattern ที่หาแล้ว")
scan_num = tonumber(scan[0])
else
showMessage("Fail ไม่พบ pattern ที่หา")
end
โดยหลังจากเราได้ pattern นั้นมาแล้ว ตำแหน่งจะไม่ตรงตามค่าที่เราต้องการเล่นกับมัน ต้องใช้วิธีการ บวก หรือ ลบ address โดยใช้ Decimal ซึ่งปกติ cheat engine จะใช้ hex ในการบวกลบค่า ต้องเอาไปแปลงเป็น Dec ก่อนถึงนำมาเขียน lua ได้ครับ (เช่น หากเป็น hex ค่า A ใน lua script ต้องใช้ค่า 10)
โดยท้ายบทความเรื่อง aob ผมต้องนำค่า pattern ที่หาได้ไปบวกกับ hex ค่า 8 ถึงจะได้ address ที่ตรงตำแหน่งดังนั้นใน lua ผมก็ต้องนำไปบวกกับ dec ค่า 8 เช่นกัน
scan = AOBScan("02 00 00 00 00 00 00 00 3F 00 00 00 66 00 00 00 00 00 00 00 03 00 00 00 ?? 00 00 00 00 00 00 00 00 00 00 00 ?? 00 00 00 00 00 00 00 ?? ?? ?? ??")
if scan ~= nil then --ตั้งเงื่อนไขถ้าในตัวแปร scan ไม่เป็นค่าว่างให้เข้าเงื่อนไข
showMessage("OK พบ pattern ที่หาแล้ว")
scan_num = tonumber(scan[0],16) --แปลงเป็นเลขฐาน 16
print(readInteger(scan_num + 8)) --อ่านค่าแบบ 4byte พร้อมบวก8 ให้ได้ตำแหน่งที่ต้องการ
else
showMessage("Fail ไม่พบ pattern ที่หา")
end
ส่วนของการต่อยอดใช้งาน ลึกๆนั้นขึ้นอยู่กับไอเดียของแต่ละท่านครับ
0 ความคิดเห็น