游戏地址
O)vGIp?f't www.fgcq996.com ptT-{vG 那年传奇百区1.76 :Q("
mP
}<{oh`x 找到 lua_State 然后调用下面的函数就能实现功能
.cJoNl'q 一个跑单狗注意qq1946913194
1k4\zVgi 游戏账号密码。fanren9527 qq2293307009 SXqB<j$.; -fFtHw:kHh 搞完演示完,删除好友跑单 C_Q3^mLx NJsaTBT --自动寻路Ex
a)pc+w# function API_AutoMoveEx(mapX, mapY)
f^1J_}cL ssr.AutoMoveBegin(mapX, mapY, ssr.GetCurMapData().mapID)
GxD`M2 local inputProxy = global.Facade:retrieveProxy(global.ProxyTable.PlayerInputProxy)
\f^xlX3&` local pathPoints = inputProxy:GetPathFindPoints()
r_$*euh@ if pathPoints == nil then
WyatHC return 0
fub04x) end
N
N
k return #pathPoints
*Igb3xK
% end
i8e*9;4@ %Hd[,duwO --自动寻路
s
tajTN*J function API_AutoMove(mapX, mapY)
*w4#D:g ssr.AutoMoveBegin(mapX, mapY, ssr.GetCurMapData().mapID)
S:j{R^$k local inputProxy = global.Facade:retrieveProxy(global.ProxyTable.PlayerInputProxy)
) dk|S\ local pathPoints = inputProxy:GetPathFindPoints()
v[ML=pL if pathPoints == nil then
o0`']-)*2 return 0
v; i4ZSV^A end
Qf^c}!I return #pathPoints
5e,u*J] end
Z[*unIk #)
~u
YQ --停止寻路
b-VtQ%Q function API_AutoMoveEnd()
^PNDxtd|v global.Facade:sendNotification(global.NoticeTable.AutoMoveEnd)
85G-`T end
3f^Pr Vu.=,G --自动打怪
!hq*WtIk function API_AutoFight(isAFK)
RR[zvH} E if isAFK then
} uS0N$4 if not IsAFKState() then
>"!ScYn global.networkCtl:SendMsg(global.MsgType.MSG_CS_AUTOPLAYGAME_REQUEST, 1)
Y|r7gy9% global.Facade:sendNotification(global.NoticeTable.AFKBegin)
yYJ_;Va end
i%.NP;Qq]M else
S=)
c7t?a if IsAFKState() then
I
m
I$~q' global.networkCtl:SendMsg(global.MsgType.MSG_CS_AUTOPLAYGAME_REQUEST, 2)
N gF7$@S global.Facade:sendNotification(global.NoticeTable.AFKEnd)
tE=09J%z end
tlp,HxlP end
:5&D6 end
Rmmu#-{Y ?lD)J?j function IsAFKState()
i \NV<I
local AutoProxy = global.Facade:retrieveProxy(global.ProxyTable.Auto)
"!zJQl@ return AutoProxy:IsAFKState()
#'1dCh
vZ end
o 7kg.w| \_,p@r]Q --打开自动穿戴
vc"!3x-G* function API_AutoDress()
E} XmZxHV --不抢别人归属
rz_W]/G-P global.MMO.SETTING_IDX_NO_ATTACK_HAVE_BELONG =1
``jNj1t{} global.MMO.SETTING_IDX_AUTO_PUT_IN_EQUIP = 1
1}la
)lC local ServerOptionsProxy = global.Facade:retrieveProxy(global.ProxyTable.ServerOptionsProxy)
%f
&Y= ServerOptionsProxy._data["autoDress"] = 1
xgcJEox! global.ConstantConfig.autousetimes = 0
R&Nl!QTJj end
.kU^)H"l M;<!C%K> --强制打开自动挂机拾取
<9X@\uvU.< function API_AutoPick()
r9{@e^Em local ItemConfigProxy = global.Facade:retrieveProxy(global.ProxyTable.ItemConfigProxy)
2k<#e2 local config = ItemConfigProxy.config
uc+{<E3,% for k, v in pairs(config) do
/lUfxc4
--local res = string.gsub(v.pickset, "0", "1")
kQbZ!yl>[ v.pickset = v.pickset .. 1
[(x<2MTj end
082iE
G end
Z}!'fX." .%n_{ab1 --获取人物坐标
A{q%sp:3~ function API_GetMapXY()
@;OsHudd return ssr.GetMainPlayerMapPos()
b]z_2h~`
end
$]_SPu rmA?Xlh\ --获取人物状态
fdKE1,; function API_GetAction()
@ U=y}vi8 local player = global.gamePlayerController:GetMainPlayer()
/5Qh*.(S local list = global.playerManager.mPlayersInCurrViewField
R&(OWF;~, return player:GetAction()
W
!j-/ql end
qI7KWUR n-8/CBEH( --设置宠物状态
o+{,>t function API_PetSleep(isSleep)
Ll; v[Y local SummonsProxy = global.Facade:retrieveProxy(global.ProxyTable.SummonsProxy)
9pnO
AM} if not SummonsProxy:IsAlived() then
9#U]?^DJ@ return false
rZdOU?U end
o%~fJx:]y if isSleep then
`.pEI q^ SummonsProxy:RequestModeChange(2)
{H[N|\ else
4Pc-A SummonsProxy:RequestModeChange(4)
AVDhgJv end
GalSqtbmDt end
F_:zR,P%# C5 ILVQ --获取人物数据
1ygEyC[1 function API_GetGamePlayer()
YSGE@ local player = global.gamePlayerController:GetMainPlayer()
N
5Om~D local list = global.playerManager.mPlayersInCurrViewField
bgBvzV&'8 local person = {}
4!{lySW person["等级"] = player:GetLevel()
,zx{ RDI person["职业"] = player:GetJobID()
5&Yt=)c\ person["名字"] = player:GetName()
Rs"=o>Qu person["金币"] = ssr.GetMoneyCountById(1)
&2u
|7U. person["元宝"] = ssr.GetMoneyCountById(2)
d)-ZL*o person["绑金"] = ssr.GetMoneyCountById(3)
Rw0|q return person
SeXgBbGAne end
~_JfI7={Jn G3TS?u8Q function API_GetGamePlayerLevel()
^/E'Rf3[A local player = global.gamePlayerController:GetMainPlayer()
%OgK{h return player:GetLevel()
gq+0t end
u=InE|SH cJ$jU{} --获取周围怪物
lfM vNv function API_GetMonster()
'e]>lRZ local list = global.monsterManager.mMonstersInCurrViewField
THQ #zQ- local actors = {}
u|}\Af for k, v in pairs(list) do
H( .9tu
A local actor = {}
:1 qLRr actor["mID"] = v:GetID()
sG#O s actor["mName"] = v:GetName()
7I w^ actor["mRace"] = v:GetRace()
ZPw4S2yw3. actor["mType"] = v:GetType()
Mu`_^gG actor["mSubType"] = v:GetSubType()
eG(YORkR actor["mX"] = v:GetMapX()
.B~yI3D`M actor["mY"] = v:GetMapY()
R4;1LZ8XzS actor["mAction"] = v:GetAction()
Hb*Z_s actor["mTypeIndex"] = v:GetTypeIndex()
":+d7xR?o actor["mAnimationID"] = v:GetAnimationID()
I= :yfW actor["mLv"] = (v.GetLevel and { v:GetLevel() } or { 0 })[1]
D+uo gRS61 actor["mSex"] = (v.GetSexID and { v:GetSexID() } or { 0 })[1]
el5Pe{j' actor["mJobID"] = (v.GetJobID and { v:GetJobID() } or { 0 })[1]
S\N l|U[ actor["mHP"] = (v.GetHP and { v:GetHP() } or { 0 })[1]
_Kaqx"D actor["mHPMax"] = (v.GetMaxHP and { v:GetMaxHP() } or { 0 })[1]
wT!?.Y)aj actor["mMP"] = (v.GetMP and { v:GetMP() } or { 0 })[1]
W[J2>`k9 actor["mMPMax"] = (v.GetMaxMP and { v:GetMaxMP() } or { 0 })[1]
Vn5%%?]J actor["mOwnerID"] = (v.GetOwnerID and { v:GetOwnerID() } or { "" })[1]
^}$t(t actor["mOwnerName"] = (v.GetOwnerName and { v:GetOwnerName() } or { "" })[1]
P<R^eLZ<& actor["mGuildName"] = (v.mGuildName and { v.mGuildName } or { "" })[1]
_-RqkRI actor["mColor"] = "0xFFFFFF"
9U<WR*H if v:GetType() == global.MMO.ACTOR_PLAYER then
]_B<K5 local batch_label = global.MMO.HUD_TYPE_BATCH_LABEL
?@@$)2_*u local label_name = global.MMO.HUD_LABEL_NAME
BEb?jRMjLg local hudName = global.HUDManager:GetHUD(v:GetID(), batch_label, label_name)
i5le0lM if hudName then
,X_3#!y actor["mColor"] = GetColorHexFromRBG(hudName:getColor())
-S]ercar end
`?=3[
end
Ux',ma1JK table.insert(actors, actor);
HqV55o5f' end
.?NfV%vv -x6_HibbD return actors
%_:L_VD@ end
)XonFI Y S7lB --遍历周围玩家
[7.Num_L function API_GetPlayer()
4qDO(YWf local list = global.playerManager.mPlayersInCurrViewField
*bpN!2 local actors = {}
I_f%%N% for k, v in pairs(list) do
E!}'cxb^ local actor = {}
;C*2Djb*n actor["mID"] = v:GetID()
LkYcFD actor["mName"] = v:GetName()
6,LE_ -G5 actor["mRace"] = v:GetRace()
?yAb=zI1b actor["mType"] = v:GetType()
A*0X~6W actor["mSubType"] = v:GetSubType()
-n"f>c_{> actor["mX"] = v:GetMapX()
/'{vDxZf R actor["mY"] = v:GetMapY()
j7_,V?5z actor["mAction"] = v:GetAction()
qmpT G:+ actor["mTypeIndex"] = v:GetTypeIndex()
GtmoFSZ actor["mAnimationID"] = v:GetAnimationID()
Pn4.gabE actor["mLv"] = (v.GetLevel and { v:GetLevel() } or { 0 })[1]
wE1 GyN actor["mSex"] = (v.GetSexID and { v:GetSexID() } or { 0 })[1]
<FkaH8,7 actor["mJobID"] = (v.GetJobID and { v:GetJobID() } or { 0 })[1]
zZ-/S~l actor["mHP"] = (v.GetHP and { v:GetHP() } or { 0 })[1]
4Wz1O$* actor["mHPMax"] = (v.GetMaxHP and { v:GetMaxHP() } or { 0 })[1]
?
3DFm actor["mMP"] = (v.GetMP and { v:GetMP() } or { 0 })[1]
?pJ2"/K
actor["mMPMax"] = (v.GetMaxMP and { v:GetMaxMP() } or { 0 })[1]
)2" g)9! actor["mOwnerID"] = (v.GetOwnerID and { v:GetOwnerID() } or { "" })[1]
*.w6 =} actor["mOwnerName"] = (v.GetOwnerName and { v:GetOwnerName() } or { "" })[1]
0c"9C_7^g actor["mGuildName"] = (v.mGuildName and { v.mGuildName } or { "" })[1]
Oi|cTZ@A- actor["mColor"] = "0xFFFFFF"
Yl au if v:GetType() == global.MMO.ACTOR_PLAYER then
+/$&P3 local batch_label = global.MMO.HUD_TYPE_BATCH_LABEL
@dK_w'W local label_name = global.MMO.HUD_LABEL_NAME
]v:,<=S local hudName = global.HUDManager:GetHUD(v:GetID(), batch_label, label_name)
$G0e1)D if hudName then
uHquJQ4 actor["mColor"] = GetColorHexFromRBG(hudName:getColor())
Oq<3&* end
]EF"QLNN( end
Yqh-U%"' table.insert(actors, actor);
ZJbaioc\ end
nl2Lqu1 return actors
+~F>:v?Rh end
4V[(RXc/ Q3+%8zZI --遍历周围玩家EX
?XVE{N function API_GetPlayerExe()
g,YF$:e local s1 = API_GetPlayer()
$ H@
local result = ""
>j]Gz-wC for k, v in pairs(s1) do
vRaxB local s2 = string.format(
hH>a{7V "mID=%s,mName=%s,mRace=%s,Dura=%s,mType=%s,mSubType=%s,mX=%s,mY=%s,mAction=%s,mTypeIndex=%s,mAnimationID=%s,"
<
^;~8:0] , v["mID"]
FiReb3zR , v["mName"]
qYe`</
, v["mRace"]
aO |@w"p8 , v["Dura"]
FB?V<x , v["mType"]
[
%LGiCU] , v["mSubType"]
D`41\#ti , v["mX"]
PQ!'< , v["mY"]
ysp,:)-%G@ , v["mAction"]
fMf; , v["mTypeIndex"]
0?FJ~pu , v["mAnimationID"])
arKf9`9 local s3 = ""
^`xS|Sq1D local s3 = string.format("mLv=%s,mSx=%s,mJD=%s,mHP=%s,mHPx=%s,mMP=%s,mMPx=%s,mOID=%s,OwN=%s,mGld=%s,mCor=%s"
#
('R`~ , v["mLv"]
~g[D!HV|yu , v["mJobID"]
zuMz6#aCC8 , v["mHP"]
~^Al#@ , v["mHPMax"]
>nehyo:# , v["mMP"]
]c_lNHssmq , v["mMPMax"]
u$nmnd`g , v["mOwnerID"]
hQ:wW}HWW , v["mOwnerName"]
KpG'E
, v["mGuildName"]
ZiKO|U@/ , v["mColor"])
hUi5~;Q5Fi result = result .. s2 .. s3 .. "\r\n"
c9uu4%KG6< end
A][ ;v return result
e"EGqn&! end
-2laM9Ed
~<IQe-Q5 --遍历周围指定NPC
-k>k<bDAI function API_GetNpcIdByName(npcName)
oVUsI,8 local npcVec = global.npcManager:FindNpcInCurrViewField()
56c3tgVF local npc = {}
wk'(g_DP for k, v in pairs(npcVec) do
3:sc%IDP local npcs = {}
\A!Iln npc[v["mID"]] = v["mName"]
p `oB._
R end
Tl_o+jj for key, value in pairs(npc) do
l8Yr]oNkz local sPos, ePos = string.find(value, npcName)
ZrP
8
/> if sPos then
;gaTSYVe return key
Qe7
SH{ end
n~>b
}DY end
[G+@[9hn% return nil
U\{I09@E 0 end
,,EG"Um6 wuCZz{c7 --NPC名称打开NPC
PCDvEbpG function API_NpcTalk(npcName)
&2y9J2aA local npcid = API_GetNpcIdByName(npcName)
&j'k9C
2p local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
k=Wt
57jt NPCProxy:RequestTalk(npcid)
WzdlrkD end
#EKnjh=Uq Lo[;{A$u --NPCID打开NPC
o}w
RgG function API_NpcTalkEx(npcid)
"j&p3 local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
YuoErP=P NPCProxy:RequestTalk(npcid)
8j]QnH0& end
9l&G2 o fe6Op function API_GetNpcTalkData()
mT j local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
kiin7 8W local talkData = NPCProxy:GetCurrentNPCTalkData()
iRW5*-66f return talkData
DB jUHirK end
V~.Sg
bLc zuJ` 704
function API_GetAllLink()
SzG
%%CXH_ local talkData = API_GetNpcTalkData()
C ]zgVbu Zia6m[ ^Q local acts = {}
Iw$T'I+4W local kv = {}
z __#PQ,n h4slQq~K for line in talkData.content:gmatch("(text=.->)") do
geM`O|Np if string.find(line, "@") then
,pZz`B# local key = line:match("text=(.-)|")
Ym]rG
4 ](ztb) local value = line:match("(@.-)>")
6QPbmO]z kv[key] = value
I2z7}*<u end
T sJ71 end
|~Awm" oqK:
5| for result in talkData.content:gmatch("(@.-)>") do
v<0S@9~ table.insert(acts, result)
JO87rG end
]/R>nT local sendData = {
su-0G?c UserID = talkData.npcID,
,:81DA index = talkData.index,
`Sj8IxO --Act = "@blbumj",
>qI: --commonInput = jsonData.commonInput,
0eCjK. --inputID= jsonData.inputID,
{qry2ZT5 }
3U?^49bJ return acts, kv, sendData
S[rfcL" end
LXe'{W+bk O1]XoUH< --按索引号点击按
zcEpywNP function API_ClickLinkByIndex(index)
Eh`W J~ acts, kv, sendData = API_GetAllLink()
<(qdxdUp sendData["Act"] = acts[index + 2]
(ke<^sv7! local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
q<fj1t1w NPCProxy:ExecuteWithJsonData(sendData)
[h\_yU[P end
`AdHyE d7kv
<YG --按索购买引号点击按
Y(R],9h8 function API_ClickBuyLinkByIndex(index)
iVqF]2> acts, kv, sendData = API_GetAllLink()
9I|Q`j?p` sendData["Act"] = acts[index]
b DF_ local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
Xn<|6u NPCProxy:ExecuteWithJsonData(sendData)
#)6
bfyi- end
!\&4,l( 5kv]k? --按名称点击按
F<6{$YI function API_ClickLinkByName(linkName)
[9p@uRE acts, kv, sendData = API_GetAllLink()
E?mW4? sendData["Act"] = kv[linkName]
n;dW
b$: local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
R?*-ZI[>w NPCProxy:ExecuteWithJsonData(sendData)
"yXqf%CGE end
.B$3y#TOb f
K4M:_u --出售物品
Ga* function API_Sell(npcName,itemsName)
aUBu"P$J local npcId=API_GetNpcIdByName(npcName)
ZQJh5.B
local bagData=ssr.getBagData()
NL ceBok for k,v in pairs(bagData) do
~1{~iB2G if string.find(itemsName,v.Name) then
5_L43- --if #v["Values"]<2 then
h/l?,7KHI local Name = v.Name
dp1t] local MakeIndex = v.MakeIndex
Lhgs|*M local networkCtl = global.networkCtl
A kqGk5e
^ networkCtl:SendMsg(global.MsgType.MSG_CS_NPC_STORE_SELL_ITEM, npcId, MakeIndex , 0, 0, Name , string.len(Name) )
hP1;$ --end
AWmJm) end
0*u X2* end
<DdzDbgax end
+d6Jrd* --全部卖
495(V(+5 function API_SellAll(npcName)
st CFLYox local npcId=API_GetNpcIdByName(npcName)
1`n
ZK$ local bagData=ssr.getBagData()
D
<Fl7QAb for k,v in pairs(bagData) do
0I.! --if #v["Values"]<2 then
#+3I$ k local Name = v.Name
(b1rd local MakeIndex = v.MakeIndex
Qc
:Sf46O local networkCtl = global.networkCtl
N<lf,zGw
networkCtl:SendMsg(global.MsgType.MSG_CS_NPC_STORE_SELL_ITEM, npcId, MakeIndex , 0, 0, Name , string.len(Name) )
]0p*EB=C* --end
%{P." ki end
D_cd
l^ end
PuU< DZ;2aH VzFzVeJ --NPC购买
gem+$TFq function API_Buy(npcName,itemName,count)
/^Lo@672 --进入子菜单
inx0W3d"T local sendData =
<=~'Pd-f( {
a% 82I::t UserID = API_GetNpcIdByName(npcName),
S>?B) Name = itemName,
7o M]
qLF }
IRDD
SendTableToServer(1015, sendData)
:&D$Q
4 local function ToBuy()
),I7+rY local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
{S5D~A*a+ local list = NPCProxy.facade.view.mediatorMap.NPCStoreMediator._layer.itemList
Tb]' b for i=1,count do
3nkO+qQ if i>#list then
;
>>/}J
w\ break
4>[tjz.?k end
d e~3: sendData.MakeIndex= list[#list-i].MakeIndex
$U5$*R@jo[ SendTableToServer(1014, sendData)
a<V*
) end
<Xj
,>2m; API_CloseNpcTalk()
u]Y NF[] end
`_+m3vHG local scheduleID = ssr.PerformWithDelayGlobal(ToBuy, 1)
1 ^=[k end
: ]JsUb{YK ~f%AbDye s}Sxl0 function 打开子项(item)
e?b<-rL
local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
~;Xkt G: if item.SubMenu == 1 then
-
e"XEot~ NPCProxy:RequestNpcStoreItemList(item)
8 K>Ejr end
ol8uV{:" end
7llEB*dSA k+&
1?] function 子项购买(count)
\~q cYp local list = NPCProxy.facade.view.mediatorMap.NPCStoreMediator._layer.itemList
&@xeWB for i = 1, count do
gIXc-=Ut if i > #list then break end
^-7{{/
NPCProxy:RequestNpcStoreBuy(list
) nnO@$T end O0<GFL$)& end fYv{M; \8X8NCM --登录角色 32V,25 (`5 mkmVDRK function API_LoginRole(index) (G6N@>V(` local LoginProxy = global.Facade:retrieveProxy(global.ProxyTable.Login) uv
dx>5] LoginProxy:SetSelectedRoleByIndex(index) 6P I-"He LoginProxy:RequestEnterGame() U^X8{,8O global.Facade:sendNotification(global.NoticeTable.Audio_Stop_BGM) V.274e end #8jH_bi 3# T_( --登录 V5ihplAk function API_Login(name, password) ,o j\=2 local AuthProxy = global.Facade:retrieveProxy(global.ProxyTable.AuthProxy) -x1O|q69 local data = {} p
V))g
e\ data.type = 1 zoBjrAyD data.username = name &U/~*{ data.password = password |tS~\_O/ AuthProxy:RequestLogin(data) <ByDT$E_ end ?`O Dt]s IsCJdgG --开门 *`V-zD function API_EnterRoom(x, y) M+TF0c local qq = ssr.GetCurMapData() QWGFXy,=1 global.networkCtl:SendMsg(global.MsgType.MSG_CS_OPEN_DOOR_REQUEST, 0, x, y) KBFAV& local function callback() eL!G, W ssr.AutoMoveBegin(x, y, qq.mapID) *8CE0;p'k end [f'DxZF- SL:ScheduleOnce(callback, 0.5) $pGk%8l% end 0Z{(,GU U!x\oLP --多开 #8d$%F)) function API_PcOpen() t
|zLR LuaBridgeCtl:Inst():CheckClientCount(2) Rx=
pk end MXhRnVz"W DP_bB( --盒子显示 S. OGLLprp function API_hezi() $T0|zPK5 global.L_GameEnvManager._envData["isBoxLogin"] = 1
0-+`{j end 1P\_3.V{ 5OUe|mS --遍历背包物品 MPd#C*c function API_GetCurBagData() {#y HL local s1 = ssr.getCurBagData() Kn9,N@bU_ local result = "" ;nJCd1H for k, v in pairs(s1) do 3,B[%!3d local s1 = string.format( 8)k.lPoo. "OverLap=%s,DuraMax=%s,Where=%s,Dura=%s,Name=%s,Shape=%s,MakeIndex=%s,Weight=%s,StdMode=%s,Index=%s" 3?uP$(l , v["OverLap"]
*H
RxC , v["DuraMax"] 93( , v["Where"] %tzz3Y , v["Dura"] Q$9`QY*6"p , v["Name"] XfT6,h7vFL , v["Shape"] yx }Z:t , v["MakeIndex"] ;"nEEe]? , v["Weight"] 6A/|XwfE/v , v["StdMode"] 6dmTv9e , v["Index"]) ;mb
6i_ local ss = "" 2h6F j& if #v["Values"] > 1 then q 9pcEm4? for x, y in pairs(v["Values"]) do <`9:hPp0 if y["Value"] > 0 then wEMUr0Hq local Values = string.format("m_Value=%s,m_ValueID=%s" HF\L`dJX? , y["Value"] \ca4X{x , y["Id"]) uS|Zkuk[! ss = ss .. Values {UYqRfgbZ end U%45qCU end . yu end (<.1o_Q-LU result = result .. s1 .. "," .. ss .. "\r\n" d*,|?Ar*b end 5y"yd6O]O5 return result "v3u$-xN1 end wL 5).`oq Ec6{?\ --获取背包是否满 sEvJ!$Tt?I function API_GetBagFull() a Ts_5q return ssr.IsBagToFull(isTips) Gf'V68,l$ end pp[? k}@ ~ab"q% --获取背包百分比 ^J~
}KOH function API_GetBagEx() tY:-13F HW = ssr.GetMetaValueByKey("BW") 1^zF/$% MAXHW = ssr.GetMetaValueByKey("MAXBW") 6
<t\KMd ELL = HW / MAXHW * 100 M=N`&m