script:bai10
Mục lục
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:Vũ Hoàng 2024/07/20 14:47
script/bai10.txt · Sửa đổi lần cuối: 2024/07/26 04:21 bởi leo