1. Tryb broni gracza (wyciągnięta czy schowana)
Dziś serwer widzi tylko, co gracz ma w slotach, a nie to, czy trzyma broń w dłoni. Dla magii jest to już dostępne (
inHand w onPlayerSpellEquip), dla broni białej i łuku nie.
2. Obrażenia NPC
Dziś żadne zdarzenie nie mówi, że gracz uderzył NPC. onPlayerHitdotyczy tylko walki gracz–gracz.
3. Wyciąganie broni przez NPC
4. Obrót NPC w stronę gracza
Dziś jedyną drogą jest setNpcPosition z nowym kątem, czyli teleport, który przerywa trasę.
5. Atak NPC na gracza (potwory już to mają przez setMonsterTarget)
6. Animacje NPC (ten sam katalog 118 animacji co startAnim dla graczy)
7. Percepcja NPC (wzrok z przeszkodami, jak isPlayerInTarget, ale dla NPC)
Dziś serwer widzi tylko, co gracz ma w slotach, a nie to, czy trzyma broń w dłoni. Dla magii jest to już dostępne (
inHand w onPlayerSpellEquip), dla broni białej i łuku nie.
Code:
getPlayerWeaponMode(playerId) --> "none"|"fist"|"melee"|"bow"|"crossbow"|"magic"
onPlayerWeaponModeChange(playerId, previousMode, newMode)2. Obrażenia NPC
Dziś żadne zdarzenie nie mówi, że gracz uderzył NPC. onPlayerHitdotyczy tylko walki gracz–gracz.
Code:
onNpcDamage(npcId, attackerId, damage, damageType, healthAfter)
setNpcHealth(npcId, hp) / setNpcMaxHealth(npcId, hp) / getNpcHealth(npcId)
setNpcInvulnerable(npcId, true) -- kupiec, którego nie da się zabić
onNpcDeath(npcId, killerId)3. Wyciąganie broni przez NPC
Code:
setNpcWeaponMode(npcId, "melee") -- wyciąga broń z setNpcWeapon
setNpcWeaponMode(npcId, "none") -- chowa4. Obrót NPC w stronę gracza
Dziś jedyną drogą jest setNpcPosition z nowym kątem, czyli teleport, który przerywa trasę.
Code:
setNpcLookAt(npcId, playerId) -- obraca się i śledzi gracza wzrokiem
setNpcLookAt(npcId, false) -- koniec5. Atak NPC na gracza (potwory już to mają przez setMonsterTarget)
Code:
setNpcCombatTarget(npcId, playerId) -- strażnik atakuje
setNpcCombatTarget(npcId, false) -- przerywa walkę
setNpcAttackDamage(npcId, 15)
onNpcAttack(npcId, targetPlayerId, damage)6. Animacje NPC (ten sam katalog 118 animacji co startAnim dla graczy)
Code:
startNpcAnim(npcId, "threaten", false, 0.15) -- gest „schowaj to!”
stopNpcAnim(npcId)7. Percepcja NPC (wzrok z przeszkodami, jak isPlayerInTarget, ale dla NPC)
Code:
isNpcSeeingPlayer(npcId, playerId [, maxDist = 15, fov = 120]) --> bool
Owner Eldoria RolePlay: https://discord.gg/NkS7S6VKEd