Bỏ qua

Đấu tay đôi & Crywolf

Các hàm kiểm tra trạng thái đấu tay đôi PvP và truy vấn trạng thái sự kiện Crywolf.


Đấu tay đôi

CheckDuel(lpObj, lpTarget)

Kiểm tra xem hai người chơi có đang tham gia đấu tay đôi với nhau không.

  • Tham số:
    • lpObj (GameObject): Đối tượng người chơi thứ nhất.
    • lpTarget (GameObject): Đối tượng người chơi thứ hai.
  • Trả về: booleantrue nếu cả hai người chơi đang đấu tay đôi với nhau.
function OnPlayerAttack(aIndex, bIndex)
    local attacker = GetUser(aIndex)
    local target = GetUser(bIndex)

    if CheckDuel(attacker, target) then
        LogAdd(LOG_BLUE, "[Duel] %s is dueling %s", attacker.Name, target.Name)
    end
end

Tip

CheckDuel chỉ trả về true khi cả hai người chơi được ghép trong cùng một trận đấu tay đôi. Nó sẽ trả về false nếu bất kỳ người chơi nào đang đấu với người khác.


Crywolf

GetCrywolfState()

Trả về trạng thái hiện tại của sự kiện Crywolf.

  • Tham số: Không có
  • Trả về: integer — Giá trị trạng thái Crywolf hiện tại.
Giá trị Trạng thái
0 Không hoạt động
1 Thông báo (đang phát)
2 Sẵn sàng
3 Bắt đầu (trận chiến đang diễn ra)
4 Kết thúc
function OnPlayerMapMove(aIndex, map)
    if map == 34 then -- Bản đồ Crywolf
        local state = GetCrywolfState()
        if state == 3 then
            GCNoticeSend(aIndex, 1, "The Crywolf battle is in progress!")
        elseif state == 0 then
            GCNoticeSend(aIndex, 1, "Crywolf is currently peaceful.")
        end
    end
    return 1
end