Hàm quái vật¶
gObjAddMonster(map)¶
Cấp phát một đối tượng quái vật mới trên bản đồ cho trước. Trả về chỉ số đối tượng hoặc -1.
gObjSpawnMonster(monsterClass, map, x, y)¶
Sinh ra quái vật đã khởi tạo đầy đủ tại tọa độ cho trước. Tạo mục MONSTER_SET_BASE_INFO.
- Trả về:
number— chỉ số đối tượng, hoặc -1 nếu thất bại
local idx = gObjSpawnMonster(275, 0, 130, 130) -- Sinh quái vật 275 tại Lorencia
if idx >= 0 then
LogAdd(LOG_GREEN, "Monster spawned at index " .. idx)
end
gObjSetPosMonster(aIndex, map, posNumber)¶
Đặt vị trí quái vật từ dữ liệu MonsterSetBase.
gObjSetMonster(aIndex, monsterClass)¶
Khởi tạo đối tượng quái vật với dữ liệu lớp (chỉ số, AI, v.v.).
gObjMonsterRegen(lpObj)¶
Kích hoạt hồi sinh/tái tạo quái vật.
gObjMonsterDie(lpObj, lpTarget)¶
Xử lý tử vong quái vật (rơi đồ, kinh nghiệm, v.v.).
gObjMonsterDieGiveItem(lpObj, lpTarget)¶
Xử lý rơi vật phẩm khi quái vật chết.
gObjMonsterAttack(lpObj, lpTarget)¶
Thực thi tấn công vật lý của quái vật lên mục tiêu.
gObjMonsterMagicAttack(lpObj, skill, targetIndex)¶
Thực thi tấn công phép thuật của quái vật.
Theo dõi sát thương¶
| Hàm | Mô tả |
|---|---|
gObjMonsterInitHitDamage(lpObj) |
Khởi tạo bảng sát thương |
gObjMonsterResetHitDamage(lpObj) |
Đặt lại bảng sát thương |
gObjMonsterSetHitDamage(lpObj, aIndex, damage) |
Ghi nhận sát thương, trả về tích lũy |
gObjMonsterDelHitDamageUser(lpObj, aIndex) |
Xóa người dùng khỏi theo dõi |
gObjMonsterDelHitDamageUserCustom(lpObj, aIndex) |
Biến thể xóa tùy chỉnh |
gObjMonsterGetTopHitDamageUser(lpObj) |
Lấy chỉ số người gây sát thương cao nhất |
gObjMonsterGetTopHitDamageUserCustom(lpObj) |
Biến thể tùy chỉnh |
local accumulated = gObjMonsterSetHitDamage(boss, player.Index, 5000)
local topDealer = gObjMonsterGetTopHitDamageUser(boss)
gObjMonsterGetTopHitDamageParty(lpObj, partyNumber) / gObjMonsterGetTopHitDamagePartyCustom(lpObj, partyNumber)¶
Lấy người gây sát thương cao nhất và lượng sát thương từ tổ đội.
- Trả về:
damage, topUserIndex(tuple)
local dmg, topIdx = gObjMonsterGetTopHitDamageParty(boss, player.PartyNumber)
LogAdd(LOG_BLUE, "Top party damage dealer: " .. topIdx .. " with " .. dmg)
AI & Hành vi quái vật¶
| Hàm | Mô tả |
|---|---|
gObjMonsterProcess(lpObj) |
Vòng lặp xử lý AI quái vật chính |
gObjMonsterStateProc(lpObj) |
Xử lý máy trạng thái quái vật |
gObjMonsterStateProcCase0(lpObj) |
Xử lý trạng thái nghỉ cụ thể |
gObjMonsterMoveCheck(lpObj) |
Kiểm tra quái vật có thể di chuyển không |
gObjMonsterMoveAction(lpObj) |
Thực thi di chuyển quái vật |
gObjMonsterBaseAct(lpObj) |
Hành vi cơ bản quái vật |
gObjMonsterSearchEnemy(lpObj) |
Tìm kẻ thù trong viewport |
gObjCheckMonsterSearchEnemy(lpObj) |
Xác nhận kết quả tìm kẻ thù |
gObjGuardSearchEnemy(lpObj) |
Tìm kẻ thù cho NPC lính gác |
gObjMonsterGetTargetPos(lpObj) |
Lấy mục tiêu di chuyển của quái vật |
gObjMonsterViewportIsCharacter(lpObj) |
Kiểm tra viewport có nhân vật không |
gObjIsBossMonster(aIndex) |
Kiểm tra đối tượng có phải Boss không |
gObjMonsterSelectSkillForMedusa(lpObj) |
Chọn kỹ năng Boss Medusa |
Hàm bẫy quái vật¶
| Hàm | Mô tả |
|---|---|
gObjMonsterTrapAct(lpObj) |
Thực thi hành vi quái vật bẫy |
gObjTrapAttackEnemySearchX(lpObj) |
Tìm kẻ thù trên trục X |
gObjTrapAttackEnemySearchY(lpObj) |
Tìm kẻ thù trên trục Y |
gObjTrapAttackEnemySearch(lpObj) |
Tìm kẻ thù bẫy chung |
gObjTrapAttackEnemySearchRange(lpObj) |
Tìm bẫy dựa trên phạm vi |
Hành động đặc biệt quái vật¶
| Hàm | Mô tả |
|---|---|
gObjMonsterWeaknessAct(lpObj) |
Hành vi debuff suy yếu |
gObjMonsterInnovationAct(lpObj) |
Hành vi buff đổi mới |
gObjMonsterMagicFieldPoison(lpObj) |
Tấn công vùng độc |
gObjMonsterMagicFieldChilling(lpObj) |
Tấn công vùng băng giá |
gObjMonsterMagicFieldBleeding(lpObj) |
Tấn công vùng chảy máu |
gObjMonsterUnleashMarvelMainEnergy(lpObj) |
Giải phóng năng lượng Boss Marvel |
Help