游戏地址
m;t&P58f www.fgcq996.com TPak,h(1 那年传奇百区1.76 ww #kc!' C\B4Uu6q 找到 lua_State 然后调用下面的函数就能实现功能
1 vtC4` 一个跑单狗注意qq1946913194
|qz%6w= 游戏账号密码。fanren9527 qq2293307009 0m"Ni:KEf
0G0(g,3p 搞完演示完,删除好友跑单 Rd|8=`) EdkIT|c{ --自动寻路Ex
yxU9W,D v function API_AutoMoveEx(mapX, mapY)
/bPs0>5 ssr.AutoMoveBegin(mapX, mapY, ssr.GetCurMapData().mapID)
3dSC`K local inputProxy = global.Facade:retrieveProxy(global.ProxyTable.PlayerInputProxy)
+-,iC6kK local pathPoints = inputProxy:GetPathFindPoints()
-4P `:bF if pathPoints == nil then
JbQY{z! return 0
kX8NRPW end
+.OdrvN4) return #pathPoints
"?<h,Hvi end
*>1^q9M b6p'%;Y/ --自动寻路
._Ww function API_AutoMove(mapX, mapY)
RB
BmGZ ssr.AutoMoveBegin(mapX, mapY, ssr.GetCurMapData().mapID)
T[#q0bv local inputProxy = global.Facade:retrieveProxy(global.ProxyTable.PlayerInputProxy)
8/&4l,M5 local pathPoints = inputProxy:GetPathFindPoints()
#qpP37G if pathPoints == nil then
;_2+Y^Qb return 0
)nFyHAy-
end
z^z`{B return #pathPoints
}lT;?|n:h end
?r@^9 Iy&,1CI"] --停止寻路
MU(I#Prpe function API_AutoMoveEnd()
Ip:54 global.Facade:sendNotification(global.NoticeTable.AutoMoveEnd)
Z#bO}! end
xwi6#> C/'w --自动打怪
x~wS/y
function API_AutoFight(isAFK)
Y]](.\ff if isAFK then
_SJ:|I if not IsAFKState() then
bLAHVi<. global.networkCtl:SendMsg(global.MsgType.MSG_CS_AUTOPLAYGAME_REQUEST, 1)
'tvuw\hhL global.Facade:sendNotification(global.NoticeTable.AFKBegin)
=:]v~Ehq end
k~ByICE else
C4P<GtR9 if IsAFKState() then
XM,slQ global.networkCtl:SendMsg(global.MsgType.MSG_CS_AUTOPLAYGAME_REQUEST, 2)
/jGV[_Q=P global.Facade:sendNotification(global.NoticeTable.AFKEnd)
ai-rF^ehC end
,&qC
R
sw end
w,$qsmR end
"H<us?r{ x!\q69nd v function IsAFKState()
~BX=n9 local AutoProxy = global.Facade:retrieveProxy(global.ProxyTable.Auto)
<a
DZ{T% return AutoProxy:IsAFKState()
\C h01LR" end
x5mg<y2`Ng _B&Lyg!J --打开自动穿戴
WmN(
( function API_AutoDress()
M
+r!63T --不抢别人归属
-]H~D4ng global.MMO.SETTING_IDX_NO_ATTACK_HAVE_BELONG =1
7.6L1srV global.MMO.SETTING_IDX_AUTO_PUT_IN_EQUIP = 1
?Ve IlD local ServerOptionsProxy = global.Facade:retrieveProxy(global.ProxyTable.ServerOptionsProxy)
"=T&SY ServerOptionsProxy._data["autoDress"] = 1
Y)+q[MZ R global.ConstantConfig.autousetimes = 0
XWyP'\ end
q$mc{F($D 7t:tS7{} --强制打开自动挂机拾取
oPM*VTMA function API_AutoPick()
lg~7[=%k# local ItemConfigProxy = global.Facade:retrieveProxy(global.ProxyTable.ItemConfigProxy)
VqpC@C$ local config = ItemConfigProxy.config
lM{f ld for k, v in pairs(config) do
^W,5A;*3 --local res = string.gsub(v.pickset, "0", "1")
. R/y`:1:W v.pickset = v.pickset .. 1
;}"Eqq: end
y!.jpF'uI end
% hvK;B?Y| )<:TpMdUk --获取人物坐标
{G VA4=UAE function API_GetMapXY()
]|+M0:2? return ssr.GetMainPlayerMapPos()
G0Qw&
mqF end
,3y9yJQa*# ~IS8DW$; --获取人物状态
UNff&E- function API_GetAction()
_Uq' N0U local player = global.gamePlayerController:GetMainPlayer()
KP>9hEh
local list = global.playerManager.mPlayersInCurrViewField
n=vDEX:' return player:GetAction()
$
VP1(C end
%&|
uT %kjG[C --设置宠物状态
bAGKi. function API_PetSleep(isSleep)
p2{7+m local SummonsProxy = global.Facade:retrieveProxy(global.ProxyTable.SummonsProxy)
LzNfMvh if not SummonsProxy:IsAlived() then
h0@a"DqK return false
G+t:]\ end
eY5mwJ0K if isSleep then
gtZmBe= SummonsProxy:RequestModeChange(2)
ElV!C}g else
pX?3inQP%( SummonsProxy:RequestModeChange(4)
-6HwGfU end
}:
HG)V end
O9(z"c EZ]4cd/i --获取人物数据
)J}v.8 function API_GetGamePlayer()
e12QYoh local player = global.gamePlayerController:GetMainPlayer()
k[;)/LfhS local list = global.playerManager.mPlayersInCurrViewField
O'mcN* local person = {}
=I
@t%Y person["等级"] = player:GetLevel()
"4)N]Nj person["职业"] = player:GetJobID()
J-5>+E,nZ person["名字"] = player:GetName()
0f.jW O person["金币"] = ssr.GetMoneyCountById(1)
#e|o"R;/` person["元宝"] = ssr.GetMoneyCountById(2)
7MLLx#U person["绑金"] = ssr.GetMoneyCountById(3)
YAOfuas]j return person
[ 49Cvde^ end
bj`\;_oo .4)oZ function API_GetGamePlayerLevel()
VNHceH local player = global.gamePlayerController:GetMainPlayer()
8b)WOr6n return player:GetLevel()
0lg$zi x( end
H.
@$#D ehr-o7]( --获取周围怪物
+*]$PVAFA function API_GetMonster()
,=P&{38\q local list = global.monsterManager.mMonstersInCurrViewField
Qs6Vu)U= local actors = {}
5M0Q'"`F: for k, v in pairs(list) do
ApXf<MAy local actor = {}
b-sN#'TDg actor["mID"] = v:GetID()
dm4Q'u actor["mName"] = v:GetName()
?K>)bA&l' actor["mRace"] = v:GetRace()
O -1O@:}c actor["mType"] = v:GetType()
Q=`yPK>{$N actor["mSubType"] = v:GetSubType()
K)7T]z` actor["mX"] = v:GetMapX()
e~N&?^M actor["mY"] = v:GetMapY()
1^![8>u" actor["mAction"] = v:GetAction()
^w60AqR8 actor["mTypeIndex"] = v:GetTypeIndex()
oLT#'42+H actor["mAnimationID"] = v:GetAnimationID()
t]$n~! actor["mLv"] = (v.GetLevel and { v:GetLevel() } or { 0 })[1]
[-])$~WfW actor["mSex"] = (v.GetSexID and { v:GetSexID() } or { 0 })[1]
U]=yCEb8p actor["mJobID"] = (v.GetJobID and { v:GetJobID() } or { 0 })[1]
oAQQ OtpZN actor["mHP"] = (v.GetHP and { v:GetHP() } or { 0 })[1]
@MES.g actor["mHPMax"] = (v.GetMaxHP and { v:GetMaxHP() } or { 0 })[1]
(Xh<F actor["mMP"] = (v.GetMP and { v:GetMP() } or { 0 })[1]
Q&eyqk actor["mMPMax"] = (v.GetMaxMP and { v:GetMaxMP() } or { 0 })[1]
:o>=^N
actor["mOwnerID"] = (v.GetOwnerID and { v:GetOwnerID() } or { "" })[1]
vW1^ actor["mOwnerName"] = (v.GetOwnerName and { v:GetOwnerName() } or { "" })[1]
olE(#}7V actor["mGuildName"] = (v.mGuildName and { v.mGuildName } or { "" })[1]
N3n] actor["mColor"] = "0xFFFFFF"
?e$&=FC0; if v:GetType() == global.MMO.ACTOR_PLAYER then
Q[biy{(b8 local batch_label = global.MMO.HUD_TYPE_BATCH_LABEL
)4L2&e`k)( local label_name = global.MMO.HUD_LABEL_NAME
p"ZvA^d\ local hudName = global.HUDManager:GetHUD(v:GetID(), batch_label, label_name)
9&n9J^3L if hudName then
ub-3/T actor["mColor"] = GetColorHexFromRBG(hudName:getColor())
&zdS9e-fF end
u}[ a end
d_yvG.#C table.insert(actors, actor);
S4x9k{Xn end
$r/$aq=K im2mA8OH return actors
4>*=q*<V5E end
eU1F7LS h;gc5"mG --遍历周围玩家
}=[p>3Dd function API_GetPlayer()
nK1eh@a9Qv local list = global.playerManager.mPlayersInCurrViewField
n1."Qix0 local actors = {}
y2jv84
M for k, v in pairs(list) do
S
hI1f local actor = {}
HAxLYun(3w actor["mID"] = v:GetID()
j=l2\W#} actor["mName"] = v:GetName()
J\L'HIs actor["mRace"] = v:GetRace()
JU?;Kq9R actor["mType"] = v:GetType()
>^s2$@J?p actor["mSubType"] = v:GetSubType()
WHdM P actor["mX"] = v:GetMapX()
:?6HG_9X actor["mY"] = v:GetMapY()
pl`4&y%Me actor["mAction"] = v:GetAction()
&B{zS K$N actor["mTypeIndex"] = v:GetTypeIndex()
SGWb*grt actor["mAnimationID"] = v:GetAnimationID()
\,Y
.5 ? actor["mLv"] = (v.GetLevel and { v:GetLevel() } or { 0 })[1]
9zwD%3Ufn actor["mSex"] = (v.GetSexID and { v:GetSexID() } or { 0 })[1]
L|CdTRgRCB actor["mJobID"] = (v.GetJobID and { v:GetJobID() } or { 0 })[1]
$ZM'dIk? actor["mHP"] = (v.GetHP and { v:GetHP() } or { 0 })[1]
{N4 'g_ actor["mHPMax"] = (v.GetMaxHP and { v:GetMaxHP() } or { 0 })[1]
23gN;eD+m6 actor["mMP"] = (v.GetMP and { v:GetMP() } or { 0 })[1]
W"c\/]aD actor["mMPMax"] = (v.GetMaxMP and { v:GetMaxMP() } or { 0 })[1]
5n3yc7NPP actor["mOwnerID"] = (v.GetOwnerID and { v:GetOwnerID() } or { "" })[1]
JbPk
C*. actor["mOwnerName"] = (v.GetOwnerName and { v:GetOwnerName() } or { "" })[1]
5whW>T actor["mGuildName"] = (v.mGuildName and { v.mGuildName } or { "" })[1]
r3'J{-kl actor["mColor"] = "0xFFFFFF"
r%U6,7d=) if v:GetType() == global.MMO.ACTOR_PLAYER then
q`*.F#/4c local batch_label = global.MMO.HUD_TYPE_BATCH_LABEL
4$xVm,n|
local label_name = global.MMO.HUD_LABEL_NAME
Nk7y2[ local hudName = global.HUDManager:GetHUD(v:GetID(), batch_label, label_name)
NUV">i.( if hudName then
0=$/ actor["mColor"] = GetColorHexFromRBG(hudName:getColor())
~
WWhCRq end
wQ+pVu?6_ end
{A0jkU table.insert(actors, actor);
YEu+kBlcQ end
^4n#''wJ return actors
Hr?lRaV end
\l GD8@,x |a{;<a --遍历周围玩家EX
COh#/-`\1 function API_GetPlayerExe()
>+M[!;m} local s1 = API_GetPlayer()
``l*;} local result = ""
?b]zsku8 for k, v in pairs(s1) do
xMjhC;i{ local s2 = string.format(
YSP\+ZZ "mID=%s,mName=%s,mRace=%s,Dura=%s,mType=%s,mSubType=%s,mX=%s,mY=%s,mAction=%s,mTypeIndex=%s,mAnimationID=%s,"
TKB8%/_p , v["mID"]
\3JCFor/ , v["mName"]
;'S,JGpvT , v["mRace"]
//63|;EEkl , v["Dura"]
Fv^zSoi2 , v["mType"]
<P h50s4 , v["mSubType"]
&-=~8 , v["mX"]
JwSF}kNs} , v["mY"]
7{m>W! , v["mAction"]
ojM'8z0Hn , v["mTypeIndex"]
|+
F ~zIu' , v["mAnimationID"])
.LDZqWr- local s3 = ""
h4`8C] 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"
#[prG , v["mLv"]
w;O-ATUzN , v["mJobID"]
6Z_V,LD9L , v["mHP"]
[MIgQ.n , v["mHPMax"]
~B;}jI]d[ , v["mMP"]
w%]) , v["mMPMax"]
<x}wy+SG , v["mOwnerID"]
&>jz[3 , v["mOwnerName"]
>Sc yc-n , v["mGuildName"]
DTezG': , v["mColor"])
Ae>+Fcv result = result .. s2 .. s3 .. "\r\n"
JvAXLT end
oMbd1uus return result
k4q":}M end
Lf9hOMHx BN 9e S --遍历周围指定NPC
&
#PPXwmR function API_GetNpcIdByName(npcName)
P]Fb0X local npcVec = global.npcManager:FindNpcInCurrViewField()
>=N-P<% local npc = {}
|4@cX<d. for k, v in pairs(npcVec) do
:
!aLa}`@ local npcs = {}
fI`Ez!w0 npc[v["mID"]] = v["mName"]
A%D'Z85
- end
YiZk|K_ for key, value in pairs(npc) do
al[^pPKZ local sPos, ePos = string.find(value, npcName)
?}?"m:= if sPos then
Y<T0yl? return key
[%K6-\S end
S^%3Vf} end
[Mu9"kF return nil
'h$1
z$X5 end
0F)v9EK(W4 PysDDU}v --NPC名称打开NPC
1
uU$V
= function API_NpcTalk(npcName)
Ze0qRLuH! local npcid = API_GetNpcIdByName(npcName)
PNm@mC_fh local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
B:"D)/\ NPCProxy:RequestTalk(npcid)
q1rj!7 end
7i"
b\{5 tD.#*.7 --NPCID打开NPC
zH1;h function API_NpcTalkEx(npcid)
X_78;T)uA local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
irlFB
#.. NPCProxy:RequestTalk(npcid)
n-9xfn0U~# end
&PC6C<<f }c8nn function API_GetNpcTalkData()
'l'3&.{Yfk local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
xNIrmqm5] local talkData = NPCProxy:GetCurrentNPCTalkData()
$@Vn+|
Ix return talkData
yY8zTWji_ end
y.Z_\@ R'gd/.[e function API_GetAllLink()
=`+D/
W\[Y local talkData = API_GetNpcTalkData()
&{j!!LL %,[,mW4l local acts = {}
qx#M6\L! local kv = {}
v< P0f"GH ;^N
lq3N for line in talkData.content:gmatch("(text=.->)") do
UwUHB~<oE if string.find(line, "@") then
QT c{7& local key = line:match("text=(.-)|")
%Y~"Stmx wNmpUO ? local value = line:match("(@.-)>")
b+~_/;Y9 kv[key] = value
bSe\d~{ end
&PJ;B)b end
xL15uWk- !=YE hQ- for result in talkData.content:gmatch("(@.-)>") do
#Vum table.insert(acts, result)
Fip
5vrD end
l,o'J%<% local sendData = {
dfFw6R UserID = talkData.npcID,
zQ+Mu^|u+ index = talkData.index,
{
F<0e^* --Act = "@blbumj",
8&EJ.CQ --commonInput = jsonData.commonInput,
WaB0?jI --inputID= jsonData.inputID,
JMB#KzvN[ }
HO<|EH~lu return acts, kv, sendData
C_J@:HlJ end
|Ahf 01 )%^l+w+& --按索引号点击按
~ky;[ function API_ClickLinkByIndex(index)
.2%t3ul[ acts, kv, sendData = API_GetAllLink()
5
tKgm / sendData["Act"] = acts[index + 2]
i8?oe%9l local NPCProxy = global.Facade:retrieveProxy(global.ProxyTable.NPC)
C+'-TLeu NPCProxy:ExecuteWithJsonData(sendData)
^}P94( oz end
1o&z