Mục lục
Hướng dẫn script
Bài 1: Lua cơ bản
Trong bài này các bạn sẽ được hướng dẫn sử dụng các “syntax” cơ bản của lua để có thể sử dụng được script ở mức độ cơ bản.
Các loại giá trị hay sử dụng:
- Chuỗi(string value). VD: “con mèo” (là một giá trị chuỗi)
- Số(numerical value). VD: 1 (là một giá trị số)
- các phép toán với giá trị số:
Định dạng | Mô tả |
---|---|
a*b | a nhân với b |
a/b | a chia cho b |
a + b | a cộng b |
a - b | a trừ b |
a^n | a mũ 2 (a^2 = a*a) |
-a | trừ a ( a=2 → -a = -2) |
a%b | phép tính này sẽ tính số dư của a/b |
VD: a = 21 và b = 10 → a/b = 21/10 = 2 dư 1
→ a%b = 1
+ Nếu a = 20 thì a/b = 20/10 = 2 dư 0
→ a%b = 0
Tạo biến:
local a --bạn đang tạo một biến tên là “a”, biến này không có giá trị gì local a = 4 --bạn tạo một biến a với giá trị là 4, đây là giá trị số local a = “số 4” --bạn tạo một biến a với giá trị là “số 4”, đây là giá trị chuỗi
- Để thay đổi giá trị của 1 biến đã đặt, bạn sẽ làm như sau:
local a = 1 –> bây giờ giá trị của a là 1 a = 2 –> bây giờ thì bằng 2
Các bạn cũng có thể tạo biến bằng cách ghi a = 1(hoặc bằng bất kì giá trị nào bạn muốn) với điều kiện là chưa có biến a nào đã được tạo(khai báo) trước đó
Tạo “function”
- Một function sẽ có tên, có các biến và những yếu tố trong function đó.
- cách tạo:
local function a() --bạn sẽ cho những thứ bạn muốn vào đây để quyết định function sẽ hoạt động như nào end
(các bạn có thể cho “end” và các yếu tố trong function ở cùng một dòng hoặc cách dòng như mình làm)
- Trong “a()” thì “a” là tên function “()” sẽ chứa các biến của function
VD:
local function blabla() Chat:sendChat(“hiểu chưa???”) end
→ Mình vừa tạo một function sẽ gửi tin nhắn “hiểu chưa???” lên thanh chat. Tuy nhiên, bây giờ function này vẫn chưa hoạt động được, mời các bạn đến phần tiếp theo.
→ Chat:sendChat() là một api của game cho phép bạn gửi tin nhắn lên thanh chat game bằng script
Làm cho function hoạt động
local function a() (các yếu tố liên quan đến script bạn muốn làm) end
(mình lười nên viết cùng một dòng, script vẫn sẽ hoạt động bình thường nếu các bạn viết như vậy. Trong function này, “a” là tên function)
a()
(sau khi tạo(khai báo) function, bạn sẽ nhập tên function kèm theo hai dấu ngoặc đơn đó để cho function hoạt động)
Những điều khác:
local a = 1 local b = 3 local function e(g,h) Chat:sendChat(“hello”..a..b) Chat:sendChat(“hi”..g..h) end e(5,6)
→ Kết quả hiện trên kênh chat sẽ là:
hello13 hi56
- Giải thích:
+ Mình đã tạo biến a và b với giá trị là 1 và 3, tạo một function tên là e với hai biến g và h (hai biến chưa có giá trị vì mình chưa hề gán giá trị cho chúng) sau đó cho function hoạt động nhưng mình đã nhập “e(5,6)”. Khi nhập như vậy thì giá trị 5 sẽ là của biến g và 6 sẽ là của biến h do lúc tạo function mình có nhập “e(g,h)”. Nếu mình chỉ nhập “e()” thì giá trị của g và h vẫn bằng 0 do chúng chưa được gán giá trị.
+ Khi dùng api “Chat:sendChat(“hello”..a..b)” và cả “Chat:sendChat(“hi”..g..h)” mình sử dụng hai dấu chấm liền nhau “..” vì nếu như bạn muốn nối các giá trị số và chuỗi lại với nhau để thành một chuỗi hoàn chỉnh thì các bạn sẽ sử dụng hai dấu chấm đó.
VD:
Chat:sendChat(“hello13”) -> không cần sử dụng hai dấu chấm đó local a = 1 local b = 5
Chat:sendChat(“helloab”)
→ Thanh chat sẽ hiện helloab
Chat:sendChat(“hello”..a..b)
→ Thanh chat sẽ hiện hello15 nếu như bạn thích hello14 thì bạn chỉ cần sửa lại giá trị của b thành 5 và sử dụng
Chat:sendChat() một lần nữa
→ Bạn có thể sửa giá trị của b hoặc a thành một chuỗi
VD:
local a = 1 local b = 2 Chat:sendChat(“hi”..a..b) -> hi12 a = “ko hi” Chat:sendChat(“hi”..a..b) -> hiko hi2
- Các bạn cũng có thể làm như này
local a = 10 local b = 2 Chat:sendChat(a/b) -> 5
- Các bạn có thể gán giá trị của một biến đã có cho 1 biến mới
VD:
local a = 1 local b = a
Bài tập:
Mình muốn các bạn
(Sử dụng api “Chat:sendChat()” để thực hiện)
- Tạo biến a, b, c(giá trị như nào tùy các bạn)
- Làm cho thanh chat xuất hiện kết quả của a chia cho b, b mũ 15 và số dư của b chia a
- Gán kết quả của a/b cho c
- Làm cho thanh chat xuất hiện tin nhắn: a chia b bằng c
Để thành thạo script các bạn cần luyện tập, hãy cố gắng lên nhé!
— Cre:Vũ Hoàng 2024/06/21 17:31