
Giới thiệu bản đồ
Game Mechanics (Re-Editable) là một trong những mẫu chơi chính thức được cài đặt sẵn trong trình chỉnh sửa Free Fire CraftLand, cung cấp cho nhà phát triển một bản mẫu chức năng chơi cơ bản có thể tái tạo, chủ yếu bao gồm ba phần chính là cảnh bản đồ, cài đặt quy tắc và kịch bản đồ họa
Trong mẫu này, bạn có thể trải nghiệm và học cách chỉnh sửa cách chơi cốt lõi — thông qua việc tương tác với các cơ chế đã được thiết kế sẵn và trải nghiệm phản hồi của chúng
Đồng thời, bạn cũng có thể nhanh chóng nắm bắt và tìm hiểu sâu hơn về các cơ chế tương tác phổ biến khác trong trò chơi, bao gồm kích hoạt bộ kích hoạt tùy chỉnh, tăng/giảm điểm máu của người chơi, tạo quái vật (zombie), di chuyển vật thể, truyền người chơi đến vị trí chỉ định, hiển thị văn bản tùy chỉnh, thay đổi ngoại hình nhân vật, tương tác với giao diện HUD tùy chỉnh, v.v. Dựa trên đó, bạn có thể mở rộng và chỉnh sửa lại để tạo ra tác phẩm của riêng mình.
Bối cảnh bản đồ
Đầu tiên, giới thiệu thiết kế cảnh, toàn bộ địa điểm dựa trên cảnh trống mặc định, được xây dựng đơn giản thành một khu vực kín hình vuông, và trong đó phân bố các cơ chế có thể tương tác (trong khung đỏ ở trên hình dưới); người chơi có thể phân bố thành ba đội, sau khi vào trò chơi sẽ xuất hiện ở một bên bản đồ (trong khung đỏ dưới hình dưới đây), tự do trải nghiệm lối chơi cốt lõi.

Ngoài việc điều chỉnh nhanh các đối tượng trực tiếp trong cảnh, bạn còn có thể quản lý tổng thể các đối tượng trong cảnh bằng cách nhấp vào Thêm - Trình quản lý đối tượng

Chức năng liên quan
Quy tắc
Để xây dựng quy tắc chơi, bạn cần nhấp vào Cài đặt - Cài đặt chơi - Chỉnh sửa quy tắc chơi

Tại đây, bạn có thể chỉnh sửa các quy tắc chi tiết cho mẫu này, bao gồm: chế độ, cài đặt thuộc tính, kinh tế và camera
Cài đặt quy tắc của mẫu hiện tại chủ yếu khác với cài đặt mặc định ở các vị trí sau: chế độ và kinh tế. Dưới đây là danh sách các mục quy tắc cụ thể có sự khác biệt
Chế độ
Cài đặt lượt: dùng để cài đặt các thông số liên quan đến lượt
Cài đặt đội: Dùng để quyết định số lượng người chơi trong một ván, số lượng đội có thể phân bổ và số lượng người chơi tối thiểu để bắt đầu trò chơi

Kinh tế
Chỉnh sửa cửa hàng: Dùng để quyết định các vật phẩm mà người chơi có thể mua bằng cách tiêu tiền xu tại một vị trí cụ thể và giá của chúng
Lưu ý: Do lối chơi cốt lõi của mẫu hiện tại chủ yếu là trải nghiệm cơ chế, nên không có máy bán hàng tự động. Nếu cần, bạn có thể kéo từ thư viện vật phẩm vào cảnh và tạo


Giao diện tương tác người dùng
Để xây dựng giao diện người dùng tùy chỉnh, bạn cần nhấp vào Thêm - HUD tùy chỉnh

Tại đây, bạn có thể chỉnh sửa giao diện HUD tùy chỉnh mà người chơi có thể tương tác trong trò chơi và chuyển sang thiết kế kịch bản tương ứng
Giao diện HUD tùy chỉnh của mẫu hiện tại chỉ phục vụ cho cơ chế nút cửa
Để chỉnh sửa các điều khiển cụ thể, bạn cần nhấp vào Chỉnh sửa bố cục - chọn điều khiển muốn chỉnh sửa trong danh sách bên trái


Bạn có thể điều chỉnh các thuộc tính cụ thể của điều khiển tại đây, chẳng hạn như: kích thước, vị trí, góc xoay, khả năng hiển thị, độ trong suốt, màu sắc, nội dung hiển thị, v.v.
Chuyển đến thiết kế kịch bản tương ứng:
Nhấp vào Chỉnh sửa kịch bản - Chuyển đến giao diện chỉnh sửa kịch bản HUD, cách tạo kịch bản cụ thể sẽ được giới thiệu chi tiết trong phần dưới đây

Tổng quan giao diện HUD trong trò chơi: (Tự động hiển thị khi nhân vật của người chơi vào phạm vi kích hoạt tùy chỉnh của nút cửa)

Nút này được sử dụng để điều khiển việc mở/đóng cửa trong cơ chế cửa nút
Biểu tượng
Để biết thêm các quy tắc chơi, bạn cần sử dụng trình chỉnh sửa biểu tượng. Cách mở:
Nhấp vào Thêm - Kịch bản hình ảnh, sau đó chọn kịch bản cụ thể muốn chỉnh sửa ở góc trên bên phải giao diện


Phần này chủ yếu giới thiệu “Game Mechanics” (Cơ chế trò chơi) là cách chơi cốt lõi và các quy tắc cụ thể khác dựa trên cách thực hiện kịch bản
Bạn có thể chỉnh sửa kịch bản cụ thể và điều chỉnh các giá trị liên quan tại đây
Đối với các chức năng kịch bản cần tìm hiểu, bạn có thể nhấp vào kịch bản cụ thể để xem
Kịch bản kích hoạt tùy chỉnh
Phần này sẽ giới thiệu hiệu ứng và nội dung kịch bản của từng cơ chế
Số thứ tự | Tên cơ chế ví dụ |
---|---|
① | Khu vực điều trị |
② | Khu vực gây sát thương |
③ | Khu vực sinh quái vật |
④ | Khu vực bẫy |
⑤ | Khu vực dịch chuyển |
⑥ | Khu vực hiển thị văn bản |
⑦ | Khu vực thay trang phục |
⑧ | Thang máy |
⑨ | Cửa tự động |
⑩ | Cửa nút bấm |
Khu vực điều trị

- Khi nhân vật của người chơi vào khu vực này, máu sẽ được hồi phục liên tục với tốc độ 15 mỗi giây, đồng thời hiệu ứng hồi máu sẽ được hiển thị trên nhân vật.
Tổng quan:

- Chức năng cốt lõi của cơ chế này - chữa trị cho người chơi (tăng điểm máu của người chơi) - được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện khi vào cơ chế này; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 2-3
Hàm “Updatetreat”
- Nếu “ListOfTreat” có độ dài > 0, nếu kết quả của thời gian trò chơi - biến tùy chỉnh “LastUpDateTime” lớn hơn 1000, thì thiết lập biến tùy chỉnh “LastUpDateTime” bằng thời gian trò chơi
- Chỉ mục dữ liệu “ListOfTreat” của phần tử “Player”, nếu lượng máu hiện tại của người chơi < lượng máu tối đa của người chơi đó, thì tăng 15 máu cho người chơi đó

- Khi người chơi được chữa trị, chúng tôi cũng muốn nhắc nhở người chơi rằng chức năng này đang hoạt động bằng cách tạo ra hiệu ứng đặc biệt trên người chơi. Chức năng này cũng được gói gọn trong hàm sau đây; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 2-2
Hàm “CreateEffects”
- Thêm người chơi vào danh sách “ListOfTreat”
- Tạo hiệu ứng dòng khí thổi lên trên người người chơi, loại vòng lặp là vòng lặp, phát ngay lập tức là có, trả về “SpecialEffect”
- Chèn “SpecialEffect” vào danh sách “SpecialEffect” với chỉ số là vị trí xuất hiện đầu tiên trên người chơi
- Tạo “SpecialEffect” theo dõi mục tiêu của người chơi, không có độ lệch trên trục XYZ, không có hệ tọa độ tham chiếu và phát ngay lập tức, trả về “Tween”
- Đặt màu hiệu ứng của “SpecialEffect” là màu xanh lá cây
- Đặt tỷ lệ thu nhỏ hiệu ứng của “SpecialEffect” là 0,5 lần cho các trục XYZ
- Chèn “Tween” vào danh sách “Tween” với chỉ số là vị trí xuất hiện đầu tiên của nó ở người chơi

- Nội dung ở đây chủ yếu bao gồm định nghĩa biến để xác định thời điểm thực hiện sự kiện, xử lý tương ứng với người chơi vào/ra cơ chế, gọi hàm vào thời điểm thích hợp; dưới đây là cách thực hiện kịch bản cụ thể:
Khu vực 2-1
- Khi giai đoạn bắt đầu, đặt biến tùy chỉnh “LastUpDateTime” bằng thời gian trò chơi
- Khi nhân vật người chơi vào bộ kích hoạt tùy chỉnh này, gọi hàm “CreateEffects”
- Khi nhân vật người chơi rời khỏi bộ kích hoạt tùy chỉnh này, hủy & xóa hàng loạt giá trị mục tiêu (một số mục tiêu cần được lập chỉ mục qua danh sách)
- Khi cập nhật, gọi hàm “Updatetreat”

Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể xem và quản lý bằng cách nhấp vào Biến và Hàm

Vùng sát thương

- Khi nhân vật của người chơi vào khu vực này, họ sẽ mất máu liên tục với tốc độ 15 mỗi giây.
Tổng quan:

- Chức năng cốt lõi của cơ chế này - gây sát thương cho người chơi (làm giảm máu của người chơi) - được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện bước vào cơ chế này; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 3-2
Hàm “UpdateInjure”
- Nếu độ dài “ListOfInjure” > 0
- Nếu thời gian trò chơi - kết quả của biến tùy chỉnh “LastUpDateTime” lớn hơn 1000, thì đặt biến tùy chỉnh “LastUpDateTime” bằng thời gian trò chơi, chỉ mục dữ liệu “Player” trong bộ chứa “ListOfInjure”
- Nếu lượng máu hiện tại của người chơi ≠ 0, gây 15 sát thương cho người chơi đó

- Nội dung ở đây chủ yếu bao gồm định nghĩa biến để xác định thời điểm thực hiện sự kiện, xử lý tương ứng đối với người chơi vào/ra cơ chế, gọi hàm vào thời điểm thích hợp; dưới đây là cách thực hiện kịch bản cụ thể:
Khu vực 3-1
- Khi giai đoạn bắt đầu, đặt biến tùy chỉnh “LastUpDateTime” bằng thời gian trò chơi
- Khi nhân vật người chơi vào/ra khỏi bộ kích hoạt tùy chỉnh này, thêm/xóa người chơi khỏi “ListOfInjure”
- Khi cập nhật, gọi hàm “UpdateInjure”

Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong kịch bản này, bạn có thể xem và quản lý bằng cách nhấp vào Biến và Hàm
Khu vực sinh ra quái vật

- Khi nhân vật của người chơi vào khu vực này, một con zombie sẽ được sinh ra gần khu vực đó
- Chức năng cốt lõi của cơ chế này — tạo ra zombie — có thể được kích hoạt bởi mỗi người chơi khi vào cơ chế này và tạo ra hiệu ứng âm thanh tương ứng; dưới đây là cách thực hiện cụ thể của kịch bản:
- Khi nhân vật của người chơi vào bộ kích hoạt tùy chỉnh này, tại tọa độ: XYZ = (tọa độ X của người chơi - 2, tọa độ Y của người chơi, tọa độ Z của người chơi - 2), tạo ra một zombie loại bình thường, tự động tìm kiếm kẻ thù, loại hành vi thụ động, không có đường đi
- Tạo hiệu ứng âm thanh nhắc nhở không có mục tiêu, loại lặp lại là một lần, phát ngay lập tức là thật

Khu vực bẫy


- Khi nhân vật của người chơi vào, lồng bẫy trên đầu sẽ rơi xuống, giữ người chơi lại trong khu vực đó
- Sau khi lồng bẫy rơi xuống, sẽ hiển thị đếm ngược 10 giây, và khi đếm ngược kết thúc, bẫy sẽ được khôi phục
Tổng quan:

- Chức năng cốt lõi của cơ chế này — bẫy rơi xuống và giam giữ người chơi — được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện bước vào cơ chế này
- Đồng thời, việc khởi tạo cơ chế này cũng được gói gọn trong một hàm, bao gồm việc sắp xếp thống nhất các vật thể bẫy trong cảnh, ẩn trước văn bản đếm ngược; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 4-2
Hàm “TrapFalls”
- Nếu “TrapState” là true, chỉ mục dữ liệu container là “Trap” của phần tử “Trap”, di chuyển đối tượng cấp độ “Trap” đến tọa độ XYZ=(“Trap” tọa độ X, “Trap” tọa độ Y-2, “Trap” tọa độ Z)
- Đặt “TrapState” là false
Hàm “Initialization”
- Thêm “Iron Fence1-4” vào “Trap”
- Đặt biến tùy chỉnh “TrapTime” là true
- Tạo đối tượng văn bản tại tọa độ XYZ= (tọa độ X của thực thể cảnh “Block”, tọa độ Y của thực thể cảnh “Block” +3, tọa độ Z của thực thể cảnh “Block”) và trả về “Text”
- Đặt biến tùy chỉnh “Time” thành “Text”
- Đặt vị trí “Text” thành tọa độ: XYZ = (tọa độ X của thực thể cảnh “Block”, tọa độ Y của thực thể cảnh “Block” + 3, tọa độ Z của thực thể cảnh “Block”)
- Đặt nội dung “Text” thành chuỗi ký tự “10”
- Đặt tỷ lệ thu nhỏ “Text” thành 0 cho tất cả các hướng trên trục XYZ

- Khi bẫy rơi xuống, cần hiển thị cho người chơi thời gian đếm ngược 10 giây, và khi thời gian đếm ngược kết thúc, bẫy sẽ được nâng lên và ẩn văn bản đếm ngược. Một phần của chức năng này cũng được gói gọn trong hàm sau đây; dưới đây là cách thực hiện cụ thể của tập lệnh:
Khu vực 4-3
Hàm “UpdateInjure”
- Nếu “TrapState” là giả, nếu kết quả của thời gian trò chơi - biến tùy chỉnh “LastUpDateTime” lớn hơn 1000, thì thiết lập biến tùy chỉnh “LastUpDateTime” bằng thời gian trò chơi, chuyển đổi chuỗi “Time” thành số nguyên và trả về " Result", đặt nội dung “Time” thành “Result”-1
- Nếu nội dung “Time” là 0, đặt tỷ lệ thu nhỏ “Text” thành 0 trên các trục XYZ, đặt nội dung “Text” thành chuỗi ký tự “10”, gọi hàm “TrapRecovery”, đặt “TrapState” thành true

Khu vực 4-4
- Nếu “TrapState” là false, chỉ mục dữ liệu container “Trap” của phần tử “Each”, di chuyển đối tượng cấp độ “Each” đến tọa độ XYZ=(“Each” tọa độ X, “Each” tọa độ Y+2, “Each” tọa độ Z)
- Đặt tỷ lệ thu nhỏ “Time” là 2 cho cả ba trục XYZ

- Nội dung ở đây chủ yếu được sử dụng để xác định thời điểm gọi các hàm; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 4-1
- Khi trò chơi bắt đầu, gọi hàm “Initialization”
- Khi nhân vật của người chơi vào bộ kích hoạt tùy chỉnh này, đợi 0,3 giây, gọi hàm “TrapFalls” và “CountDown”
- Khi cập nhật, gọi hàm “UpdateInjure”

Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong kịch bản này, bạn có thể xem và quản lý bằng cách nhấp vào Biến và Hàm
### Khu vực truyền tải


- Khi nhân vật của người chơi vào, hiển thị đếm ngược 3 giây, đồng thời phát hiệu ứng truyền tống trên nhân vật
- Sau khi đếm ngược kết thúc, nhân vật sẽ được truyền tống đến vị trí đã thiết lập
Tổng quan:

- Chức năng cốt lõi của cơ chế này - truyền tống người chơi vào vị trí chỉ định sau 3 giây kể từ khi vào - được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện vào cơ chế này; dưới đây là cách thực hiện cụ thể bằng kịch bản:
Khu vực 5-2
Hàm “MyUpdate”
- Chỉ mục phần tử “Player” của vùng chứa dữ liệu “PlayerList”
- Đặt biến tạm thời “State” thành “index” của “PlayerStateList”
- Nếu “state”=1, thì đặt biến tạm thời “enter_tick” thành “index” của “EnterTickList”, đặt biến tạm thời “stay_tick” thành giá trị thời gian trò chơi - “enter_tick”, đặt biến tạm thời “countdown” thành (3000 - “stay_tick”) * 0,001 làm tròn lên
- Nếu “countdown”>0, thì đặt nội dung “index” của “TextEntityList” thành chuỗi ký tự “countdown”, nếu không, đặt biến tạm thời “target_pos” thành vị trí của đối tượng cảnh “TeleportTar”, sau đó truyền người chơi đến vị trí tọa độ XYZ=(“target_pos” tọa độ X, “target_pos” tọa độ Y+2, “target_pos” tọa độ Z) , xoay góc Euler XYZ = (0, 0, 0)

- Khi người chơi sắp được truyền tải, chúng tôi cũng muốn thông báo cho người chơi biết chức năng này đang hoạt động bằng cách tạo ra hiệu ứng đặc biệt trên người chơi và hiển thị thời gian đếm ngược 3 giây tương ứng. Chức năng này cũng được gói gọn trong hàm sau; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 5-3
Hàm “InitPlayerData”
- Thêm người chơi vào “PlayerList”, thêm 0 vào “PlayerStateList”, thêm 0 vào “EnterTickList”
- Tạo đối tượng văn bản tại tọa độ XYZ = (0, 0, 0), trả về “TextEntity”
- Tạo “TextEntity” để theo dõi mục tiêu của người chơi, dựa trên hệ tọa độ của họ, dịch chuyển XYZ = (0, 1.5, 0) và phát ngay lập tức
- Thêm “TextEntity” vào “TextEntityList”
- Tạo hiệu ứng tia lửa trên người chơi, loại vòng lặp là vòng lặp, phát ngay lập tức là true, trả về “VisualEffectEnti”
- Đặt màu hiệu ứng của “VisualEffectEnti” là màu xanh lam
- Tạo " VisualEffectEnti" để theo dõi mục tiêu của người chơi, không có độ lệch trục XYZ dựa trên hệ tọa độ của nó và phát ngay lập tức
- Thêm “VisualEffectEnti” vào “VisualEffectList”

Khu vực 5-4
Hàm “ReadyToTeleport”
- Đặt “index” của “PlayerStateList” thành 1
- Đặt “index” của “EnterTickList” thành thời gian trò chơi
- Đặt nội dung “index” của “TextEntityList” thành trống
- Đặt tỷ lệ thu nhỏ “index” của “TextEntityList” thành 1 theo cả ba hướng trục XYZ
- Đặt tỷ lệ thu nhỏ “index” của “VisualEffectList” là 1 cho tất cả các hướng trên trục XYZ

- Khi cần hủy truyền tải người chơi, sẽ thực hiện: ẩn văn bản đếm ngược và hiệu ứng truyền tải, chức năng này cũng được gói gọn trong hàm sau; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 5-5
Hàm “AbortTeleport”
- Đặt “index” của “PlayerStateList” thành 0
- Đặt tỷ lệ thu nhỏ “index” của “TextEntityList” thành 0 theo cả ba trục XYZ
- Đặt tỷ lệ thu nhỏ “index” của “VisualEffectList” thành 0 theo cả ba trục XYZ

- Nội dung ở đây chủ yếu được sử dụng để xác định thời điểm gọi các hàm; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 5-1
- Bắt đầu thực hiện vòng lặp: chờ 0,2 giây, gọi hàm “MyUpdate”
- Khi nhân vật người chơi vào bộ kích hoạt tùy chỉnh này, đặt biến tạm thời “index” thành vị trí xuất hiện đầu tiên của “Player” trong “PlayerList”, nếu index=-1 thì gọi hàm “InitPlayerData”; gọi hàm “ReadyToTeleport”
- Khi nhân vật người chơi rời khỏi bộ kích hoạt tùy chỉnh này, gọi hàm “AbortTeleport”

Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể xem và quản lý bằng cách nhấp vào biến và hàm
Khu vực hiển thị văn bản

- Khi nhân vật người chơi vào, hiển thị văn bản “HelloWorld”
- Khi nhân vật người chơi rời khỏi, tắt văn bản “HelloWorld”
- Chức năng cốt lõi của cơ chế này — hiển thị và tắt văn bản “HelloWorld” vào thời điểm thích hợp — được gói gọn trong hàm sau
- Đồng thời, nội dung ở đây cũng được sử dụng để xác định thời điểm gọi hàm trên; dưới đây là cách thực hiện cụ thể của kịch bản:
- Khi nhân vật người chơi vào/ra khỏi bộ kích hoạt tùy chỉnh này, thêm/xóa “Player” khỏi danh sách “ListOfPlayer”
- Tại vị trí của thực thể cảnh “CueArea” (ghi lại là Location), gọi hàm “CreateTips”/gọi hàm “DeleteTips”
Hàm “CreateTips”
- Tạo đối tượng văn bản tại tọa độ vị trí XYZ = (tọa độ X của “Location”, tọa độ Y của “Location” + 2, tọa độ Z của “Location”) và trả về “Tips”
- Đặt biến tùy chỉnh “Tips” = “Tips”
- Đặt nội dung “Tips” là “Hello World”
Hàm “DeleteTips”
Nếu độ dài “PlayerList” ≤ 0, thì hủy “Tips”

Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể nhấp vào Biến và Hàm *để xem và quản lý

Khu vực thay trang phục

- Khi nhân vật của người chơi vào, hình dáng của nhân vật sẽ thay đổi tương ứng với giới tính của nhân vật
- Chức năng cốt lõi của cơ chế này - thay đổi trang phục theo giới tính tương ứng cho người chơi - có thể được kích hoạt bởi mọi người chơi khi vào cơ chế này; dưới đây là cách thực hiện cụ thể của kịch bản:
Kịch bản của khu vực này cho thấy cách thực hiện để nhân vật người chơi khi vào bộ kích hoạt tùy chỉnh này sẽ thay đổi ngẫu nhiên bộ trang phục tương ứng với giới tính của mình
- Khi trò chơi bắt đầu, thêm các bộ trang phục sau vào “Women‘sWardrobe” và " Men’sWardrobe"
- Khi nhân vật vào bộ kích hoạt tùy chỉnh này, nếu giới tính của nhân vật là 2, hãy xáo trộn “Men’sWardrobe” và đặt trang phục của nhân vật thành bộ trang phục có chỉ số 0 trong “Men’sWardrobe”
- Nếu không, hãy xáo trộn “Women‘sWardrobe” và đặt trang phục của nhân vật thành bộ trang phục có chỉ số 0 trong “Women‘sWardrobe”

Phụ lục: Các biến tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể xem và quản lý bằng cách nhấp vào biến
Thang máy

- Khi nhân vật của người chơi vào thang máy, thang máy sẽ từ từ đi lên cho đến khi đạt đến vị trí cao nhất đã thiết lập
- Khi nhân vật của người chơi rời khỏi thang máy, thang máy sẽ từ từ đi xuống cho đến khi đạt đến vị trí ban đầu
Tổng quan:

- Chức năng cốt lõi của cơ chế này - làm cho thang máy đi lên khi người chơi vào và đi xuống khi người chơi ra - được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện vào cơ chế này; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 6-2, 6-3
Hàm “CreateAnElevator”
- Đặt biến tùy chỉnh “ElevatorsLocation” thành vị trí của “Elevator”
- Điều kiện: Khi độ dài “PlayerList” > 0, bắt đầu thực hiện vòng lặp: chờ 0,5 giây, đặt tọa độ Y của “ElevatorsLocation” là +0,2 so với giá trị hiện tại, cập nhật biến tùy chỉnh “ElevatorsLocation”, đặt vị trí của “Elevator” là “ElevatorsLocation”, đặt vị trí của bộ kích hoạt tùy chỉnh là “ElevatorsLocation”
- Cho đến khi độ dài “PlayerList” ≤ 0 hoặc biến tùy chỉnh “Mark” ≥ 20, nếu không, tiếp tục vòng lặp và đặt giá trị “Mark” là +1 so với giá trị hiện tại
Hàm “DescendElevator”
- Điều kiện: Khi độ dài “PlayerList” = 0, bắt đầu thực hiện vòng lặp: chờ 0,5 giây, đặt biến tạm thời “Time” thành vị trí “Elevator”, đặt tọa độ Y của “Time” là -0,2 so với hiện tại, cập nhật biến tùy chỉnh “Time”, đặt vị trí “Elevator” thành “Time”, đặt vị trí của bộ kích hoạt tùy chỉnh này thành “Time”
- Cho đến khi “PlayerList” > 0 hoặc tọa độ Y của “Time” ≤ 2.8, nếu không tiếp tục vòng lặp và đặt giá trị “Mark” là -1 so với giá trị hiện tại.


- Nội dung ở đây chủ yếu được sử dụng để xác định thời điểm gọi các hàm, định nghĩa biến để gán giá trị cho các đối tượng trong cảnh; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 6-1
- Khi nhân vật người chơi vào bộ kích hoạt tùy chỉnh này, người chơi sẽ được thêm vào “ListOfInjure” và gọi hàm “CreateAnElevator”
- Khi nhân vật người chơi rời khỏi bộ kích hoạt tùy chỉnh này, người chơi sẽ bị xóa khỏi “ListOfInjure”, nếu " PlayerList" có độ dài ≤0, thì gọi hàm “DescendElevator”
- Khi trò chơi bắt đầu, thiết lập biến tùy chỉnh “Elevator” thành đối tượng cảnh “High-Tech Platform A1”

Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể xem và quản lý bằng cách nhấp vào Biến và Hàm
Cửa tự động

- Khi nhân vật của người chơi đến gần cửa (vào phạm vi kích hoạt tùy chỉnh), cửa sẽ tự động mở
- Khi nhân vật lại rời xa cửa (ra khỏi phạm vi kích hoạt tùy chỉnh), cửa sẽ tự động đóng lại
Tổng quan:

- Chức năng cốt lõi của cơ chế này — mở cửa khi người chơi đến gần và đóng cửa khi người chơi rời đi — được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện vào cơ chế này; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 7-3, 7-4
Hàm “OpenTheDoor”
Nếu độ dài “PlayerList” ≥ 0, thì đáp ứng điều kiện: khi “Mark” ≤ 5, bắt đầu thực hiện vòng lặp cho đến khi độ dài “PlayerList” = 0 hoặc “Mark” > 5, nếu không thì tiếp tục vòng lặp:
- Chờ 0,5 giây
- Đặt tọa độ vị trí “Japanese-Style Platform A1” XYZ=(“Japanese-Style Platform A1” tọa độ X+0,2, “Japanese-Style Platform A1” tọa độ Y, “Japanese-Style Platform A1” tọa độ Z)
- Đặt tọa độ vị trí XYZ của “Japanese-Style Platform A1(1)” = (tọa độ X của “Japanese-Style Platform A1(1)” - 0,2, tọa độ Y của “Japanese-Style Platform A1(1)”, tọa độ Z của “Japanese-Style Platform A1(1)”)
- Đặt giá trị “Mark” là giá trị hiện tại + 1
Hàm “CloseTheDoor”
Nếu độ dài “PlayerList” = 0, thì đáp ứng điều kiện: khi “Mark” ≥ 0, bắt đầu thực hiện vòng lặp cho đến khi độ dài “PlayerList” > 0 hoặc “Mark” = 0, nếu không thì tiếp tục vòng lặp:
- Chờ 0,5 giây
- Đặt giá trị “Mark” là -1 so với giá trị hiện tại
- Đặt tọa độ vị trí XYZ của “Japanese-Style Platform A1” = (tọa độ X của “Japanese-Style Platform A1” - 0,2, tọa độ Y của “Japanese-Style Platform A1”, tọa độ Z của “Japanese-Style Platform A1”)
- Đặt tọa độ vị trí XYZ của “Japanese-Style Platform A1(1)” = (tọa độ X của “Japanese-Style Platform A1(1)” + 0,2, tọa độ Y của “Japanese-Style Platform A1(1)”, “Japanese-Style Platform A1(1)” tọa độ Z)


- Nội dung ở đây chủ yếu bao gồm định nghĩa biến để xác định thời điểm thực hiện sự kiện, xử lý tương ứng đối với người chơi vào/ra khỏi cơ chế, gọi hàm thích hợp; dưới đây là cách thực hiện kịch bản cụ thể:
Khu vực 7-1, 7-2
- Khi trò chơi bắt đầu, thiết lập biến tùy chỉnh “Mark” là 0
- Khi nhân vật của người chơi vào/ra khỏi bộ kích hoạt tùy chỉnh này, chờ đến khung hình tiếp theo, thêm/xóa người chơi khỏi “PlayerList”, chờ đến khung hình tiếp theo, gọi hàm “OpenTheDoor”/“CloseTheDoor”


Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể xem và quản lý bằng cách nhấp vào biến và hàm
Nút cửa


- Khi nhân vật của người chơi đến gần cửa (vào phạm vi kích hoạt), giao diện UI sẽ hiển thị một nút
, người chơi nhấp vào nút này, cửa sẽ mở; nhấp lại vào nút này, cửa sẽ đóng
- Khi nhân vật rời xa cửa (ra khỏi phạm vi kích hoạt), nút
trên giao diện UI sẽ biến mất, đồng thời cửa sẽ giữ nguyên trạng thái mở/đóng hiện tại
- Chức năng cốt lõi của cơ chế này — mở cửa khi người chơi nhấp vào nút, đóng cửa khi nhấp lại — được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện khi vào cơ chế này;
- Nội dung ở đây cũng bao gồm xử lý tương ứng cho người chơi vào/ra cơ chế, gọi hàm vào thời điểm thích hợp; Dưới đây là cách thực hiện kịch bản cụ thể:
-
Khi người chơi vào bộ kích hoạt tùy chỉnh này, thiết lập thuộc tính hiển thị của “HudList” là true
-
Khi người chơi tham gia trò chơi, gọi hàm “CreateHUD”
-
Hàm “CreateHUD”
Thêm người chơi vào “PlayerList”
Tạo HUD tùy chỉnh “Butten” cho người chơi và trả về “Ui”
Chèn “Ui” vào “HudList” với chỉ mục là vị trí đầu tiên của “Player” trong “PlayerList”
Đặt thuộc tính hiển thị của “HudList” là false
- Khi người chơi rời khỏi trình kích hoạt tùy chỉnh, thiết lập thuộc tính hiển thị của “HudList” là giả

Phụ lục: Các biến và hàm tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể xem và quản lý bằng cách nhấp vào Biến và Hàm
Tập lệnh toàn cục
- Để đơn giản hóa nội dung kịch bản và dễ dàng xác định trạng thái hoạt động của nhiều cơ chế thông qua một biến duy nhất (ví dụ: thời gian hoạt động của thang máy trong cơ chế ⑧thang máy, trạng thái đóng mở cửa trong cơ chế ⑩cửa nút), chúng ta cần thiết lập một biến (ghi là Mark) trong kịch bản toàn cục
Khi trò chơi bắt đầu, thiết lập biến tùy chỉnh “Mark” bằng 0

Phụ lục: Biến tùy chỉnh cần sử dụng trong kịch bản này, bạn có thể xem và quản lý bằng cách nhấp vào biến
Kịch bản người chơi
- Để người chơi có thể trải nghiệm trơn tru các tính năng cốt lõi của trò chơi, cần cho phép người chơi hồi sinh sau khi chết; dưới đây là cách thực hiện cụ thể của kịch bản:
- Khi người chơi tham gia trò chơi, đặt biến tùy chỉnh “DamageDetermina” thành false
- Khi người chơi bị giết, đợi 3 giây và hồi sinh ở khung hình tiếp theo

Phụ lục: Biến tùy chỉnh cần sử dụng trong kịch bản này, bạn có thể xem và quản lý bằng cách nhấp vào Biến
Kịch bản HUD
Tổng quan:

- Do người chơi nhấp vào nút sẽ kích hoạt các hành động khác nhau tùy theo trạng thái hiện tại của cửa, nên cần phải xác định thuộc tính thực thể và giá trị biến tùy chỉnh Mark tại đây, sau đó kích hoạt hàm tương ứng; dưới đây là cách thực hiện kịch bản cụ thể:
Khu vực 1-1
- Khi nút!
, nếu vị trí trục X của thực thể “Frozen Steel Panel A1” ≥ 2 và biến tùy chỉnh “Mark” ≠ 1, thì gọi hàm “CloseTheDoor”
- Nếu không, gọi hàm “OpenTheDoor”

- Chức năng cốt lõi của cơ chế ⑩nút cửa — mở/đóng cửa và giữ cửa — được gói gọn trong hàm sau, có thể thực hiện cho mọi người chơi đủ điều kiện vào cơ chế này; dưới đây là cách thực hiện cụ thể của kịch bản:
Khu vực 1-2, 1-3
Hàm “OpenTheDoor”
- Nếu biến tùy chỉnh “Mark” = 0, thì đặt “Mark” = 1
- Bắt đầu thực hiện vòng lặp: chờ 0,5 giây, di chuyển đối tượng dọc theo trục X 0,2, cho đến khi vị trí trục X của đối tượng ≥ 2, đặt “Mark” = 2 và ngắt vòng lặp
Hàm “CloseTheDoor”
- Nếu biến tùy chỉnh “Mark” = 2, thì đặt “Mark” = 1
- Bắt đầu thực hiện vòng lặp: chờ 0,5 giây, di chuyển đối tượng theo trục X -0,2, cho đến khi vị trí trục X của đối tượng ≤ 1, đặt “Mark” = 0 và ngắt vòng lặp


Phụ lục: Các hàm tùy chỉnh cần sử dụng trong tập lệnh này, bạn có thể xem và quản lý bằng cách nhấp vào hàm
Kịch bản điểm hồi sinh
- Khi người chơi vào trò chơi và bắt đầu trải nghiệm lối chơi cốt lõi, điểm hồi sinh sẽ trở thành thành phần không có chức năng, đồng thời có thể ảnh hưởng đến trải nghiệm hoạt động của người chơi, do đó cần đặt nó vào trạng thái không hoạt động
- Khi vòng đấu bắt đầu, đặt trạng thái hoạt động của thực thể này thành true
- Chờ 2 giây
- Đặt trạng thái hoạt động của thực thể này thành false

Đề xuất chỉnh sửa lần hai
- Điều chỉnh các giá trị trong kịch bản cụ thể để thiết lập các hành vi cơ chế ngẫu nhiên và phóng đại hơn, nhằm tăng tính kịch tính cho trò chơi
- Kết hợp với các cơ chế như cửa hàng, thêm vào lối chơi PVP, biến cơ chế thành một phần của chướng ngại vật
- Làm phong phú hoặc sâu sắc hơn chức năng của cơ chế, khám phá và thực hiện việc sử dụng các cơ chế kịch bản khác nhau