=======Dịch chuyển tức thời tới vị trí ngẫu nhiên trong khu vực người chơi======
====Mô tả:====
- Khi người chơi sử dụng vật phẩm, dịch chuyển người chơi tới vị trí bất kì xung quanh mình
====Các bước thực hành====
Bước 1: tạo và gán function vào event\\
-- Tạo một function, gán function này cho sự kiện khi vật ném va chạm
-- dưới đây là bước tạo function, bạn có thể đổi tên function tùy ý
local function khi_su_dung_vat_pham(e)
-- “e” là một biến table(bạn có thể đổi thành tên khác tùy ý), chứa các thành phần trong event mà function được gán vào (VD: eventobjid, objid, itemid,...)
-- các bạn sẽ tìm được các thành phần đó ở wiki script.
local itemids = 100 -- id của vật phẩm được sử dụng làm công cụ dịch chuyển (id này là id khối đất, vui lòng chuyển thành id khác để script hiện tại dùng được)
-- Dưới đây là bước khai báo event và gán function đã tạo vào event.
--Tất cả những gì trong function sẽ được thực hiện khi event được kích hoạt
end
ScriptSupportEvent:registerEvent(“Player.UseItem”,khi_su_dung_vat_pham)
\\
Bước 2: xét xem vật phẩm sử dụng có giống vật phẩm mình muốn không\\
local itemids = 100 -- biến này có thể bỏ vào function hoặc để ở ngoài, thông thường nên để ở ngoài để dùng được trong nhiều function khác nhau
local function khi_su_dung_vat_pham(e)
if e.itemid == itemids then
--điều kiện được thỏa mãn thì các hành động trong này được thực hiện
end
end
ScriptSupportEvent:registerEvent(“Player.UseItem”,khi_su_dung_vat_pham)
\\
Bước 3: thực hiện hành động dịch chuyển tức thời\\
local itemids = 100
local function khi_su_dung_vat_pham(e)
if e.itemid == itemids then
local re, x,y,z = Player:getPosition(e.eventobjid)
-- “re ” là biến mang giá trị 0 hoặc 1001 tương ứng với api thực hiện thành công và không thành công
-- x,y,z là biến vị trí x,y,z của người chơi
local randomx = math.random(x-5,x+5)
local randomy = math.random(y-5,y+5)
local randomz = math.random(z-5,z+5)
-- ở trên là bước tạo vị trí ngẫu nhiên từ vị trí x,y,z của người chơi
-- api math.random(số A, số B) được sử dụng để lấy 1 giá trị bất kì trong khoảng từ A tới B, trong trường hợp này là vị trí x,y,z của người chơi - 5 và + 5 (khu vực 9x9x9 xung quanh người chơi)
Player:setPosition(e.eventobjid,randomx,randomy,randomz)
end
end
ScriptSupportEvent:registerEvent(“Player.UseItem”,khi_su_dung_vat_pham)
\\
----
--- //Cre:**[[https://www.facebook.com/profile.php?id=100054102712514|Vũ Hoàng]]** 2024/07/20 14:47//