校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > 一個(gè)用SearchValidAddr搜索基址的例子

一個(gè)用SearchValidAddr搜索基址的例子

熱門(mén)標(biāo)簽:信陽(yáng)話(huà)務(wù)外呼系統(tǒng)怎么收費(fèi) 什么渠道可以找外呼系統(tǒng)客戶(hù) 電話(huà)智能外呼系統(tǒng)誠(chéng)信合作 金融電銷(xiāo)公司怎么辦理外呼系統(tǒng) 雷霆電話(huà)機(jī)器人電話(huà) 湖州電銷(xiāo)防封卡 真人和電話(huà)機(jī)器人對(duì)話(huà) 安徽400電話(huà)辦理 使用電話(huà)機(jī)器人電銷(xiāo)是否違法
復(fù)制代碼 代碼如下:

#SetArgsOnCompile

#誅仙基址搜索工具腳本。此腳本用于幫助一些使用不了官方發(fā)布的基址的朋友。
#使用方法:
#首先在參數(shù)中填入自己角色的HP和MP值,需要的話(huà)適合修改搜索范圍。然后在誅仙游戲中啟動(dòng)腳本。
#當(dāng)輸出"搜索到可能的基址"字樣時(shí),記下輸出的基址,在誅仙打怪腳本中設(shè)置參數(shù)"基地址"。
#如果輸出多個(gè)基址,那么退出游戲多搜索幾次,找一個(gè)不變的地址使用。
#如果沒(méi)有輸出,調(diào)整范圍再搜索,但是不要一次搜索的范圍太大,速度會(huì)很慢。

dim myHP, myMP

function LogPrint(msg)
Print(msg)
WriteLog("搜索結(jié)果.txt", msg)
end function

function HexStr(num)
str=""
while num>0
n=num mod 16
if n10 then
str=Chr(n+ASC("0"))str
else
str=Chr(n-10+ASC("A"))str
end if
num=num\16
wend
HexStr=str
end function

function TryAddr(byref addFirst)
TryAddr=false

if not SearchValidAddr(addFirst, H0000000, addResult) then
exit function
end if

addFirst=addResult

if not ReadMemoryEx(addFirst, 2, Number1, 1) then
exit function
end if

addSecond=Number1+40
if not ReadMemoryEx(addSecond, 2, Number3, 1) then
exit function
end if

addNowBlood=Number3+596
addAllBlood=addNowBlood+h18
addNowMP=addNowBlood+h4
addAllMP=addNowBlood+h1c

if not ReadMemoryEx(addNowBlood, 2, NowBlood, 1) then
exit function
end if
if NowBlood>myHP then
exit function
end if

if not ReadMemoryEx(addAllBlood, 2, AllBlood, 1) then
exit function
end if
if AllBlood>myHP then
exit function
end if

if not ReadMemoryEx(addNowMP, 2, NowMP, 1) then
exit function
end if
if NowMP>myMP then
exit function
end if

if not ReadMemoryEx(addAllMP, 2, AllMP, 1) then
exit function
end if
if AllMP>myMP then
exit function
end if

TryAddr=true
end function

function main
dim progress[11]
for i=1 to 11
progress[i]=false
next
myHP=GetConfigNumber("當(dāng)前血值")
myMP=GetConfigNumber("當(dāng)前MP值")
startAddr=CNum(GetConfigString("搜索起始地址"))
endAddr=CNum(GetConfigString("搜索結(jié)束地址"))
Print("起始地址:H" HexStr(startAddr))
Print("結(jié)束地址:H" HexStr(endAddr))
Print("搜索HP值:"myHP)
Print("搜索MP值:"myMP)
LogPrint("開(kāi)始搜索.....")
for addr=startAddr to endAddr step 4
if TryAddr(addr) then
LogPrint("搜索到可能的基址: H" HexStr(addr))
end if
prg=Int((addr-startAddr)/(endAddr-startAddr)*10)
if prg>10 then
prg=10
end if
if not progress[prg+1] then
Print("已完成 %"(prg*10))
progress[prg+1]=true
end if
next
end function

上面的代碼是COPY的誅仙用于搜索基址的代碼。我來(lái)解釋下原理。
誅仙里,血的地址是 [[[基址]+40]+596]
就是基址讀出數(shù)據(jù)+40,再讀出數(shù)據(jù)+596,再讀出數(shù)據(jù)就是血的地址
我們搜索基址的原理是,知道這個(gè)公式,但是基址改了。我們從一個(gè)大致的范圍里,一個(gè)個(gè)當(dāng)作基址來(lái)試,直到通過(guò)這個(gè)公式找到與參數(shù)設(shè)置里相匹配的血值。
SearchValidAddr就是從內(nèi)在的指定地址開(kāi)始往下一個(gè)個(gè)找,直到找到一個(gè)地址,他的值大于我們指定的值(這個(gè)例子里是0),然后返回這個(gè)地址。那么我們要問(wèn),為什么我們不能寫(xiě)個(gè)循環(huán)用ReadMemoryEx一個(gè)個(gè)讀呢?答案是,用這個(gè)函數(shù)速度快1000倍。
找到了那個(gè)地址以后,我們用ReadMemoryEx讀出來(lái),當(dāng)然有可能讀取失敗,要判斷一下的。如果讀出來(lái)了,照那個(gè)公式,讀三級(jí)地址,再?lài)L試讀數(shù)據(jù)。一路讀下來(lái),直到讀成功數(shù)據(jù)了,而且和指定的值匹配。那么我們就說(shuō)這個(gè)可能是基址了。

標(biāo)簽:德州 六盤(pán)水 鶴崗 山南 岳陽(yáng) 濟(jì)南 運(yùn)城 湛江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一個(gè)用SearchValidAddr搜索基址的例子》,本文關(guān)鍵詞  一個(gè),用,SearchValidAddr,搜索,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一個(gè)用SearchValidAddr搜索基址的例子》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于一個(gè)用SearchValidAddr搜索基址的例子的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 繁昌县| 道孚县| 宜良县| 琼结县| 苗栗市| 莆田市| 贡觉县| 泰来县| 长沙市| 亚东县| 阜南县| 云安县| 隆林| 临沭县| 万载县| 吉木乃县| 普陀区| 怀来县| 田林县| 潢川县| 仁化县| 静乐县| 察雅县| 涞水县| 新安县| 榆树市| 秭归县| 吉安县| 黔西| 固阳县| 葫芦岛市| 锡林郭勒盟| 保靖县| 开远市| 德清县| 资兴市| 遂宁市| 昆山市| 石泉县| 黔江区| 将乐县|