Thiết lập
Thêm bản đồ mới
Để thêm một bản đồ mới, trước tiên bạn phải xây dựng nó. Bản đồ đó phải có hai điểm xuất phát, mỗi đội một điểm, và một mặt đất để người chơi có thể đứng.
Lưu ý quan trọng: Mỗi điểm xuất phát phải được đổi tên để dễ nhận biết hơn, và số Đội phải được đặt thành 4.
Tiếp theo, hãy điều hướng đến phần Toàn cục như hình sau:
Tại đây, bạn có thể tìm thấy vị trí để thêm bản đồ mới. Thông qua hàm Init trong Toàn cục, bạn có thể tìm thấy nơi sử dụng hàm AddMap.
Giải thích ngắn gọn về các tham số trong hàm AddMap:
- MapName: dùng để đặt tên cho bản đồ mới ( Tên này không được trùng lặp các bản đồ khác)
- SpawnPointT1: điểm xuất phát của đội 1
- SpawnPointT2: điểm xuất phát của đội 2
Tên bản đồ có thể là bất kỳ văn bản nào bạn muốn. Điểm xuất phát phải được chọn và nhập chính xác. Một ví dụ minh họa có thể thấy trong các hình ảnh dưới đây.
Nhấp vào biểu tượng ống nhỏ giọt để chọn điểm xuất phát tương ứng trên bản đồ.
Kết quả cuối cùng sẽ tương tự như hình này.
Vậy là phần logic để thêm bản đồ mới đã hoàn tất rồi! Bạn có thể trang trí tùy ý để tạo nên bản đồ trong mơ của mình.
Thiết lập Vô hạn Bom keo
Thiết lập để xem bản đồ có vô hạn bom keo hay không rất đơn giản.
Đầu tiên, truy cập vào Cài đặt, sau đó Thiết lập trò chơi, sau đó chỉ cần bật hoặc tắt tùy chọn Vô hạn Bom keo để kích hoạt hoặc vô hiệu hóa tính năng này.
Thiết lạp chế độ Headshot Only và thả vật phẩm khi bị hạ
Để bật/tắt chế độ Headshot Only và thả vật phẩm khi bị hạ, hãy đến phần Cài đặt, sau đó chọn Thiết lập lối chơi, rồi chọn Điều chỉnh luật chơi.
Sau đó, đến phần Cài đặt thuộc tính để tìm tùy chọn Headshot Only và Thả vật phẩm (Is Drop Item).
Bạn có thể điều chỉnh các tính năng này theo ý muốn để bật hoặc tắt chúng.
Giải thích về mã lệnh
Tất cả logic của dự án có thể được tìm thấy trong thực thể Toàn cục (Global) và Người chơi (Player).
Mã lệnh toàn cục
Logic của toàn bộ bản đồ xoay quanh 2 sự kiện chính: Khi trò chơi bắt đầu (On Game Start)
và Khi bắt đầu lượt (On Round Start)
. Chức năng chính của mã lệnh này là phân chia người chơi hợp lí vào các điểm xuất phát, chọn bản đồ ngẫu nhiên và thiết lập bản đồ mới để thêm vào trò chơi.
Khi trò chơi bắt đầu
Khi trò chơi bắt đầu, bản đồ phải được khởi tạo. Điều này được thực hiện thông qua hàm Init
.
Hàm này cũng là nơi người dùng có thể thêm bản đồ thông qua
AddMap
.
Chức năng này hoạt động bằng cách thêm một thẻ vào các điểm xuất hiện của mỗi bản đồ. Bản đồ được nhập thông qua tham số MapName
. Tất cả các điểm xuất phát sẽ được thêm vào danh sách điểm xuất phát để sử dụng sau này.
Do đó, mỗi tên bản đồ phải là duy nhất để hệ thống hoạt động đúng như dự định.
Khi bắt đầu lượt
Mỗi vòng, một bản đồ mới phải được chọn. Thực thể trò chơi sẽ chọn một tên bản đồ (MapTag) từ danh sách các bản đồ có sẵn trong hàm Chọn bản đồ ngẫu nhiên (ChooseRandomMap)
.
Thẻ sẽ được đăng ký là bản đồ đã sử dụng. Nếu số lượng mục trong danh sách thẻ đã sử dụng vượt quá số lượng mục trong danh sách thẻ tổng, danh sách thẻ đã sử dụng sẽ được đặt lại.
Điểm xuất phát của người chơi sau đó sẽ được xác định bằng cách sử dụng cùng một thẻ. Cụ thể, điểm hồi sinh của đội 1 và đội 2 sẽ được đăng ký để sử dụng sau này.
Mã lệnh người chơi
Mã lệnh người chơi chủ yếu xử lý logic Headshot Only, logic Vô hạn Bom keo, Trang bị và Giao diện người dùng
Khi thực thể được tạo
Khi người chơi được tạo lần đầu tiên, một số hàm sẽ được thực thi ngay lập tức.
Đầu tiên trong danh sách là hàm Init
. Hàm này kích hoạt chế độ bất tử cho người chơi trong sảnh và đăng ký ID đội của người chơi để sử dụng sau này.
SetPlayerSetting
là hàm được sử dụng để cấu hình người chơi, ngăn họ thả vật phẩm khi bị loại và logic Headshot Only cho người chơi. Chế độ Headshot Only được thực hiện bằng cách đặt giá trị Phần trăm sát thương nhận (Damage Taken Percentage) của người chơi thành một giá trị cực kỳ nhỏ, gần như vô hiệu hóa mọi sát thương gây ra cho người chơi. Vì chúng ta muốn gây sát thương cho người chơi qua headshot, chúng ta phải điều chỉnh giá trị Tỉ lệ giảm sát thương headshot (Headshot Damage Reduction) của người chơi bằng cùng một lượng để bù đắp hiệu ứng của Phần trăm sát thương nhận (Damage Taken Percentage).
Tiếp theo, InitEquipment
sẽ thêm GlooWall vào kho đồ của người chơi. Nếu tùy chọn “Vô hạn bom keo (Unlimited Gloo Wall)” không được bật trong cài đặt, bom keo này vẫn sẽ có sẵn trong kho đồ của người chơi. Bạn có thể xóa nếu thấy không cần thiết.
Để người chơi không cảm thấy khó hiểu khi đang ở sảnh chờ, dùng hàm CreateStartNoti
để tạo một thông báo.
Khi bắt đầu lượt
Khi một vòng đấu mới bắt đầu, người chơi sẽ được dịch chuyển đến bản đồ tương ứng và giao diện người dùng (UI) của họ sẽ được điều chỉnh.
Như tên gọi, TPToSpawn
sẽ dịch chuyển người chơi đến điểm xuất phát chính xác được lấy từ mã lệnh toàn cầu.
CreateHSOnlyNoti
sau đó sẽ thông báo cho người chơi nếu chế độ hiện tại là Headshot Only hay không. Nếu bản đồ được thiết lập là bình thường, thông báo này sẽ không hiển thị.
Đồng thời, thông báo đã tạo từ sảnh chờ cũng phải được xóa đi.
Khi trang bị vũ khí
Trong sự kiện này có một logic quan trọng với chế độ Headshot Only được áp dụng cho vũ khí.
Thông thường, nếu chỉ điều chỉnh Tỉ lệ giảm sát thương Headshot và Phần trăm sát thường nhận của người chơi, sát thương Headshot sẽ chỉ là 1 đến 5 sát thương mỗi phát bắn. Do đó, Hệ số sát thương headshot của vũ khí cần được đặt cụ thể là 55000 để khớp sát với sát thương Headshot gốc của vũ khí. Giá trị này có thể điều chỉnh nếu muốn sử dụng giá trị sát thương khác.
Khi kết thúc lượt
Mục đích duy nhất của sự kiện này là xóa thông báo “Headshot Only” của người chơi vào cuối giai đoạn chiến đấu.
Khi người dùng thoát hoặc khi trận đấu kết thúc
Sự kiện này đảm bảo rằng HUD được xóa đúng cách khi trận đấu kết thúc.