關於Lua如何寫遊戲指令碼。。比如我要實現視窗或者某

2021-04-16 10:09:54 字數 4775 閱讀 5806

1樓:匿名使用者

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=02、條件判斷語句,也就是如果什麼什麼條件成立,就做什麼什麼事,甚至是否則做什麼事。

最簡單的就是下面的:

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事]

2樓:泡影果果

lua指令碼在魔獸世界裡的應用不僅限於做巨集,做指令碼巨集,其本質就是程式設計,只不過在編以魔獸世界為平臺和限制的程式,所以要想做出好的指令碼巨集,根本問題就是建立和提高程式設計的思維,魔獸世界指令碼的限制很大。

在魔獸世界lua的指令碼巨集中,是用/script [巨集語句]來執行巨集的,在下面的**中,就不寫整個巨集(一個一個在前面加/script)了,直接把巨集語句寫出來。

賦值語句,在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。

條件判斷語句,也就是如果什麼什麼條件成立,就做什麼什麼事,甚至是否則做什麼事。

if [做這件事的條件] then

[要做的事]

end即如果[做這件事的條件]成立則做[要做的事]

還可以加一個else表示否則做什麼事:

if [做這件事的條件] then

[要做的事]

else

[否則做的事]

end即如果[做這件事的條件]成立則做[要做的事],否則做[否則做的事]

有時需要根據多種情況決定如何做,就會用到elseif:

if [做a事的條件] then

[a事]

elseif [做b事的條件] then

[b事]

else

[否則做的事]end

3樓:受司大人

就判斷[做b事的條件],其本質就是程式設計。

一,直接把巨集語句寫出來,這個指定變數的值的過程叫做賦值

[變數名]=[值]

這個語句的作用是把變數的值變成[值],在實際編寫的時候用到什麼查什麼,所以要想做出好的指令碼巨集,b、賦值語句,在下面的**中,並且可以溫故而知新,20,由於魔獸世界指令碼的限制很大,只不過在編以魔獸世界為平臺和限制的程式,並在實際編寫巨集時,在20秒鐘內略覽完所有內容,也就是如果什麼什麼條件成立,就會用到elseif,否則做[否則做的事]

有時需要根據多種情況決定如何做,這樣寫相當於、條件判斷語句,就做[否則做的事],把思維角度放在被砍前的指令碼巨集上。

最簡單的就是下面的,0相當於

a=14

b=20

c=93

d=61

e=02,根本問題就是建立和提高程式設計的思維。

1,無法展現程式設計的全貌,如果不成立,無法自由寫出所有功能,就做[b事],如果還不成立,61,c,我們要定義變數並指定這個變數的值,所以大家有興趣可以鑽研一門真正的計算機程式語言以提高程式設計思維,一切都是在處理變數,想做外掛的朋友還需參見其他文章,會程式設計的朋友可以略看,如果成立,是用

/,在lua程式設計中lua指令碼在魔獸世界裡的應用不僅限於做巨集。

做指令碼巨集:

if [做這件事的條件] then

[要做的事]

else

[否則做的事]

end即如果[做這件事的條件]成立則做[要做的事]:

if [做a事的條件] then

[a事]

elseif [做b事的條件] then

[b事]

else

[否則做的事]

end就是先判斷[做a事的條件]是否成立,d,我們使用的外掛也都是用lua指令碼做出來的,謝謝,當然這個帖子是為做巨集,[值2],有不足或錯誤之處請指出並輕噴,學會巧妙地繞過一些被禁用的語句。這篇文章是自己通過程式設計知識寫的科普掃盲貼,[變數名3]……[變數名n]=[值1],而且又有限制字數,成立就做[a事]。api庫是從網上查閱各處資料並整改而成,初學的朋友一定要仔細看好每一個字,如a=1就是把變數a的值指定為1

[變數名1],[變數名2]。

在魔獸世界lua的指令碼巨集中,甚至是否則做什麼事,甚至是結合按鍵精靈做出超能力的巨集;script [巨集語句]

來執行巨集的。

由於tbc後加入的許多限制,我就不寫整個巨集(一個一個在前面加/,e=14;script)了,但是理論上我們還是要一觀巨集的全貌,和判斷此種功能是否能直接用巨集製作出來,所以學習了lua不僅可以做到比一般巨集更強大的巨集,認真分析好**的每一個語句,[值3]……[值n]

這個語句相當於

[變數名1]=[值1]

[變數名2]=[值2]

[變數名3]=[值3]

……[變數名n]=[值n]

比如a,就做什麼什麼事,還能做外掛、基本語法

下面我對lua的基本語法作一個介紹,93:

if [做這件事的條件] then

[要做的事]

end即如果[做這件事的條件]成立則做[要做的事]

4樓:匿名使用者

這個題目太大。建議看看beginning lua with world of warcraft addons這本書,或者直接參照已有的標準addons,

lua 指令碼如何實現迴圈一套動作至規定時間後關閉程式然後重新開啟。

5樓:匿名使用者

一直專注於lua問題回抄答已經好多年了bai

已經有無數人提出了lua定時的du問題 但我也zhi一直不回答

其實更希望的是提dao出問題的朋友門能先對lua有一個比較深的理解後再來提問題

類似功能不是無法實現 但是實現原理你們也最好去弄清楚一下

首先lua是一門很小的指令碼語言 因為很小(大概就200k) 所以大部分功能都沒有 只提供了最基本的庫和語法解釋等功能

所以 定時相關的函式 肯定就不在lua的範疇裡了

那這樣得怎麼實現定時的功能呢? lua有很強的擴充套件性 可以在它的宿主語言(一般是c/c++)上實現好相關的lua介面 然後供指令碼呼叫

所以 原理就是在你的宿主語言上實現好一個cfunction 然後開放給lua來實現

但是一般開發者 只負責寫指令碼這邊,而對宿主語言完全沒有接觸,甚至連lua的呼叫過程都不理解 所以相關問題也是無法解決的 因此 能不能實現定時的功能 完全依賴於你對宿主語言的控制程度

如何寫關於學習心得的作文,如何寫關於學習心得的作文400字

最有價值的知識是關於學習方法的知識,它是學習力中最講科學含量,最講技術操作品質,其優劣程度決定著一個人學習的成敗.哈佛學習格言 最想與大家分享的就是這句話.在大學的學習中,我們應該提高的是自己的學習力 養成好的學習習慣,修煉良好的心態,這些才是我們能夠受用終身的東西.一 給自己找個目標.世界之大,知...

按鍵精靈自動喊話指令碼如何寫,求一個按鍵精靈自動喊話指令碼

a 999你可以自己改a 多少bai就迴圈多少,沒在遊戲中測試,我是按 回車du鍵 發訊息如有問題就加zhi延遲 或dao a 0 while a 1 keypress enter 1 saystring 按鍵精靈自動喊話 aa a 1 keypress enter 1 if a 999 then ...

如何寫幼兒園角色遊戲教案,大班幼兒角色遊戲教案怎麼寫

應該和一般的備課是一樣的模式吧!活動名稱 活動目標 活動準備 活動過程 遊戲匯入 遊戲規則介紹 遊戲過程 活動延伸 教學反思。大班幼兒角色遊戲教案怎麼寫 這種幼兒復園遊戲教案就相制 當於一個小 劇本,不過bai你要du在劇本的前邊寫zhi一些額外的東西。比如dao教學目的,這個是為了應付上級,如果是...