懂的專業玩家(高階玩家再高1級)就知道我在說什麼。我想知道LUA在,魔獸世界,裡能做些什麼?1. LUA能讓正在控制的角色自動跑到附近的某個座標上嗎?2. LUA能讓正在控制的角色鎖定某個目標嗎?3. LUA能讓正在控制的對被鎖定目標施展其中一種技能嗎?4. LUA能收集那些遊戲內正在發生的資訊?謝謝!
================回覆“vbtraz”:謝謝你的回答。我不是說外掛啊!我是說LUA啊!透過自己編寫LUA控制自己的角色從某個地方開始跑到另外一個地方。另外,我所說的“鎖定”,意思就是在遊戲裡選定某個目標。
回覆列表
-
1 # 使用者9501152323020
Lua指令碼在魔獸世界裡的應用不僅限於做宏,我們使用的外掛也都是用lua指令碼做出來的,所以學習了lua不僅可以做到比一般宏更強大的宏,還能做外掛,當然這個帖子是為做宏,想做外掛的朋友還需參見其他文章。這篇文章是自己透過程式設計知識寫的科普掃盲貼。API庫是從網上查閱各處資料並整改而成,有不足或錯誤之處請指出並輕噴,謝謝。
做指令碼宏,其本質就是程式設計,只不過在編以魔獸世界為平臺和限制的程式,所以要想做出好的指令碼宏,根本問題就是建立和提高程式設計的思維,由於魔獸世界指令碼的限制很大,無法展現程式設計的全貌,所以大家有興趣可以鑽研一門真正的計算機程式語言以提高程式設計思維。
在魔獸世界lua的指令碼宏中,是用
/script [宏語句]
來執行宏的,在下面的程式碼中,我就不寫整個宏(一個一個在前面加/script)了,直接把宏語句寫出來。
由於TBC後加入的許多限制,而且又有限制字數,無法自由寫出所有功能,但是理論上我們還是要一觀宏的全貌,把思維角度放在被砍前的指令碼宏上,並在實際編寫宏時,學會巧妙地繞過一些被禁用的語句,和判斷此種功能是否能直接用宏製作出來,甚至是結合按鍵精靈做出超能力的宏。
一、基本語法
下面我對lua的基本語法作一個介紹,初學的朋友一定要仔細看好每一個字,認真分析好程式碼的每一個語句,會程式設計的朋友可以略看,在20秒鐘內略覽完所有內容,在實際編寫的時候用到什麼查什麼,並且可以溫故而知新。
1、賦值語句,在lua程式設計中,一切都是在處理變數,我們要定義變數並指定這個變數的值,這個指定變數的值的過程叫做賦值
[變數名]=[值]
這個語句的作用是把變數的值變成[值],如a=1就是把變數a的值指定為1
[變數名1],[變數名2],[變數名3]……[變數名n]=[值1],[值2],[值3]……[值n]
這個語句相當於
[變數名1]=[值1]
[變數名2]=[值2]
[變數名3]=[值3]
……
[變數名n]=[值n]
比如a,b,c,d,e=14,20,93,61,0相當於
a=14
b=20
c=93
d=61
e=0
2、條件判斷語句,也就是如果什麼什麼條件成立,就做什麼什麼事,甚至是否則做什麼事。
最簡單的就是下面的:
if [做這件事的條件] then
[要做的事]
end
即如果[做這件事的條件]成立則做[要做的事]
還可以加一個else表示否則做什麼事:
if [做這件事的條件] then
[要做的事]
else
[否則做的事]
end
即如果[做這件事的條件]成立則做[要做的事],否則做[否則做的事]
有時需要根據多種情況決定如何做,就會用到elseif:
if [做A事的條件] then
[A事]
elseif [做B事的條件] then
[B事]
else
[否則做的事]
end
就是先判斷[做A事的條件]是否成立,成立就做[A事],如果不成立,就判斷[做B事的條件],如果成立,就做[B事],如果還不成立,就做[否則做的事],這樣寫相當於:
if [做A事的條件] then
[A事]
else
if [做B事的條件] then
[B事]