Công cụ thành viên

Công cụ trang web


script:feature:display_a_book

Kịch bản hiển thị nội dung dạng sách

Kịch bản hoạt động

Chức năng

  • Kịch bản hiển thị nội dung theo dạng sách

Chú ý:
- Kịch bản không lưu các biến phụ, có thể sửa lại để giảm dung lượng kịch bản
- Dán kịch bản trong giao diện sử dụng. Không dán bên ngoài

Giải thích các dòng lệnh

local sang_trai, sang_phai, van_bang_trang, van_bang_noi_dung = '', '', '', ''
  • ID thành phần nút ấn sang trái, sang phải, văn bản hiển thị trang, văn bản hiển thị nội dung. Người dùng nhập ID cần thiết khi sử dụng


Mẫu:

local sang_trai, sang_phai, van_bang_trang, van_bang_noi_dung = '7423397793049227139_4', '7423397793049227139_5', '7423397793049227139_6', '7423397793049227139_7'


local bang_noi_dung = {
    [==[]==],
} -- Bảng lưu trữ nội dung trang


  • Bảng lưu trữ nội dung cho các trang. Bản mẫu:

Mẫu1:

local bang_noi_dung = {
    [==[Nội dung trang 1
Thử nghiệm]==],
    [==[Kết thúc]==]
}


Mẫu2:

local bang_noi_dung = {
    [1] = [==[Mở đầu]==],
    [2] = [==[Hello world]==],
    [3] = [==[Miniworld]==],
    [4] = [==[Hết !!!]==]
}


local function cap_nhap_ban_dau(b)
    trang[b.eventobjid] = 1
    cap_nhap_noi_dung(b.eventobjid,[[]],trang[b.eventobjid])
end
ScriptSupportEvent:registerEvent('Game.AnyPlayer.EnterGame',cap_nhap_ban_dau)


  • Chức năng cập nhập trang mặc định ( Trang 1 ). Lưu ý ID giao diện người dùng nhập thủ công

Mẫu:

cap_nhap_noi_dung(b.eventobjid,[[7423397793049227139]],trang[b.eventobjid])


Ngoại lệ

  • Chức năng chuyển trang dạng vòng lặp ( Thay thế cho chức năng chuyển trang cũ nếu muốn sử dụng )
local function chuyen_trang(b)
    if b.uielement == sang_trai then
        trang[b.eventobjid] = (trang[b.eventobjid] -2) % #bang_noi_dung +1
        cap_nhap_noi_dung(b.eventobjid,b.CustomUI,trang[b.eventobjid])
    elseif b.uielement == sang_phai then
        trang[b.eventobjid] = trang[b.eventobjid] % #bang_noi_dung +1
        cap_nhap_noi_dung(b.eventobjid,b.CustomUI,trang[b.eventobjid])
        else
            -- Các hành động nhấn nút khác
    end
end
ScriptSupportEvent:registerEvent('UI.Button.TouchBegin',chuyen_trang)



Kịch Bản Tham Khảo:

local sang_trai, sang_phai, van_bang_trang, van_bang_noi_dung = '', '', '', ''
local bang_noi_dung = {
    [==[]==],
} -- Bảng lưu trữ nội dung trang
local trang = {}
 
--[[  SCRIPT  ]]--
 
local function cap_nhap_ban_dau(b)
    trang[b.eventobjid] = 1
    cap_nhap_noi_dung(b.eventobjid,[[]],trang[b.eventobjid])
end
ScriptSupportEvent:registerEvent('Game.AnyPlayer.EnterGame',cap_nhap_ban_dau)
 
local function chuyen_trang(b)
    if b.uielement == sang_trai then
        if trang[b.eventobjid] > 1 then
            trang[b.eventobjid] = trang[b.eventobjid] -1
            cap_nhap_noi_dung(b.eventobjid,b.CustomUI,trang[b.eventobjid])
            else
                Player:notifyGameInfo2Self(b.eventobjid,'Đang ở trang đầu')
        end
    elseif b.uielement == sang_phai then
        if trang[b.eventobjid] < #bang_noi_dung then
            trang[b.eventobjid] = trang[b.eventobjid] +1
            cap_nhap_noi_dung(b.eventobjid,b.CustomUI,trang[b.eventobjid])
            else
                Player:notifyGameInfo2Self(b.eventobjid,'Đã hết')
        end
        else
            -- Các hành động nhấn nút khác
    end
end
ScriptSupportEvent:registerEvent('UI.Button.TouchBegin',chuyen_trang)
 
function cap_nhap_noi_dung(uid, ui, trang)
    Customui:setText(uid, ui, van_bang_noi_dung, bang_noi_dung[trang])
    Customui:setText(uid, ui, van_bang_trang, 'Trang '..trang)
end


Cre:Nguyễn Khánh 2024/10/09 17:50


Nếu bạn có bất kỳ câu hỏi nào về Chế Độ DEV Nâng Cao, vui lòng tham gia
Mini World Developer Việt Nam chính thức của chúng tôi

script/feature/display_a_book.txt · Sửa đổi lần cuối: 2024/10/09 18:10 bởi leo