Hàm hiệu ứng¶
GetMaxEffect(aIndex)¶
Trả về số lượng slot hiệu ứng tối đa mà một đối tượng có thể có.
AddEffect(lpObj, type, index, count, v1, v2, v3, v4, v5, v6, buffSendValue, attackerIndex, rmv)¶
Thêm một hiệu ứng buff/debuff cho đối tượng.
- Tham số:
lpObj(GameObject) — đối tượng mục tiêutype(number) — kiểu hiệu ứng (0 hoặc 1)index(number) — ID hiệu ứngcount(number) — thời lượng tính bằng giây hoặc số lần sạcv1..v6(number) — giá trị hiệu ứng (sát thương, phòng thủ, v.v.)buffSendValue(number) — giá trị biểu tượng buff phía clientattackerIndex(number) — chỉ số nguồn hiệu ứngrmv(number) — tỷ lệ thành công (0-100), hoặc -1 để luôn thành công- Trả về:
number— 1 nếu thành công, 0 nếu thất bại
-- Thêm buff +50 sát thương vật lý trong 60 giây, đảm bảo thành công
AddEffect(player, 1, 15, 60, 50, 0, 0, 0, 0, 0, 0, player.Index, -1)
DelEffect(lpObj, index)¶
Xóa một hiệu ứng cụ thể theo ID.
- Trả về:
boolean
DelEffectByGroup(lpObj, group)¶
Xóa tất cả hiệu ứng thuộc một nhóm.
- Trả về:
boolean
GetEffect(lpObj, index)¶
Trả về đối tượng GameCEffect cho ID hiệu ứng cho trước, hoặc nil nếu không tìm thấy.
local eff = GetEffect(player, 1)
if eff then
LogAdd(LOG_RED, "Poison remaining: " .. eff.m_time .. "s")
end
GetEffectByGroup(lpObj, group)¶
Trả về GameCEffect đầu tiên trong nhóm cho trước, hoặc nil.
local scroll = GetEffectByGroup(player, 20)
if scroll then
LogAdd(LOG_BLUE, "Scroll value: " .. scroll.m_value[1])
end
CheckEffect(lpObj, index)¶
Trả về true nếu đối tượng đang có hiệu ứng hoạt động.
if CheckEffect(target, 16) then -- Mana Shield
LogAdd(LOG_BLUE, "Target has Mana Shield active.")
end
CheckEffectByGroup(lpObj, group)¶
Trả về true nếu đối tượng có bất kỳ hiệu ứng nào từ nhóm cho trước.
if CheckEffectByGroup(player, 35) then
GCNoticeSend(player.Index, 1, "You already have an event buff.")
end
CheckStunEffect(lpObj)¶
Trả về true nếu đối tượng đang bị choáng.
CheckImmobilizeEffect(lpObj)¶
Trả về true nếu đối tượng đang bị bất động.
if CheckImmobilizeEffect(player) then
GCNoticeSend(player.Index, 1, "You are frozen and cannot move!")
end
CheckDebuffSend(index)¶
Trả về true nếu chỉ số hiệu ứng cho trước được phân loại là debuff để hiển thị phía client.
ClearAllEffect(lpObj)¶
Xóa tất cả hiệu ứng khỏi đối tượng.
ClearDebuffEffect(lpObj, count)¶
Xóa tối đa count hiệu ứng debuff khỏi đối tượng.
UpgradeDamageByClass(lpObj)¶
Tính toán và trả về sát thương bổ sung dựa trên lớp nhân vật và chỉ số.
- Trả về:
number
Help