====== Cách dịch chuyển người chơi đúng cách =====
**Hướng dẫn nhanh**\\
Giả sử trong game của bạn, bạn muốn dịch chuyển TẤT CẢ người chơi bằng script. Nghe có vẻ khó cho người mới, nhưng thực ra rất đơn giản. Chúng ta sẽ dùng vòng lặp số (numeric for) cho việc này.\\
====🧩1. Tạo hàm dịch chuyển====
Bắt đầu bằng cách tạo một hàm có nhiệm vụ dịch chuyển tất cả người chơi. Nó sẽ có dạng như sau:\\
function TeleportAllPlayers()
end
----
====📜2. Lấy danh sách người chơi====
Chúng ta thêm vào trong hàm đoạn code sử dụng **World:getAllPlayers()** – hàm này nhận một tham số:
* -1 (mặc định – tất cả người chơi)
* 0 (chỉ người chơi còn sống)
* 1 (chỉ người chơi đã chết)
Kết quả trả về gồm:\\
* Mã lỗi (ErrorCode)
* Số lượng người chơi
* Danh sách người chơi (mảng)
Ví dụ:\\
function TeleportAllPlayers()
local result, num, playerArray = World:getAllPlayers(-1)
end
----
====🔁3. Thêm vòng lặp====
Sau đó, ta thêm vòng lặp **for** để duyệt qua từng người chơi:\\
function TeleportAllPlayers()
local result, num, playerArray = World:getAllPlayers(-1)
for i = 1, #playerArray do
end
end
> Dấu **#** dùng để lấy độ dài của bảng (mảng), giống như **.length** trong các ngôn ngữ khác.\\
----
====👤4. Dịch chuyển từng người chơi====
Dùng hàm **Player:setPosition(objid, x, y, z)** để dịch chuyển từng người. Ta cập nhật hàm để nhận thêm 3 tham số vị trí:\\
function TeleportAllPlayers(x, y, z)
local result, num, playerArray = World:getAllPlayers(-1)
for i = 1, #playerArray do
Player:setPosition(playerArray[i], x, y, z)
end
end
d
Vậy là xong! Giờ bạn có một hàm dịch chuyển tất cả người chơi đến vị trí **x, y, z** bất kỳ bạn truyền vào.\\
----