μκ°
νλ μ΄μ΄κ° μ§μ λ μ±ν
μ μ
λ ₯νκ±°λ, νΉμ ν μ€λΈμ νΈλ₯Ό 곡격ν μ κ°μ΄ ZEP μ€νμ΄μ€μμ λ°μνλ νΉμ μν©μ λ°μνμ¬ λμνλ ν¨μλ€ μ
λλ€.
EventListenerκ° λΉμ μμ μΌλ‘ λ§μ΄ μΆκ°λλ κ²½μ° μ±μ΄ μ’
λ£λ μ μμ΅λλ€.
onUpdateλ¬Έ λλ λ°λ³΅μ μΌλ‘ μ€νλλ λ¬Έμμ EventListenerλ₯Ό λ±λ‘νλ κ²μ μ§μν΄μ£ΌμΈμ.
νλ μ΄μ΄κ° μ±ν
μ μ
λ ₯ν λ λμνλ ν¨μμ
λλ€.
μΊλ¦ν°λ€λΌλ¦¬ μΆ©λν λ λμνλ ν¨μμ
λλ€.
μΊλ¦ν°κ° μ€λΈμ νΈμ μΆ©λν λ λμνλ ν¨μμ
λλ€.
νλ μ΄μ΄κ° ν€ κ°μ κ°μ§ μ€λΈμ νΈμ μΆ©λν λ λμνλ ν¨μμ
λλ€.
곡격 ν€(Z)λ‘ λ€λ₯Έ μΊλ¦ν°λ₯Ό 곡격ν λ λμνλ ν¨μμ
λλ€.
곡격 ν€(Z)λ‘ μ€λΈμ νΈλ₯Ό 곡격ν λ λμνλ ν¨μμ
λλ€.
νλ μ΄μ΄κ° μ¬μ΄λλ° μ±μ ν΄λ¦(ν°μΉ)ν λ μ€νλλ ν¨μμ
λλ€.
μ€λΈμ νΈμ F μνΈμμ© μ λμνλ ν¨μμ
λλ€.
νλ μ΄μ΄κ° ν€ κ°μ κ°μ§ μ€λΈμ νΈλ₯Ό 곡격(Zν€) ν λ λμνλ ν¨μμ
λλ€.
π API μ€λͺ
λ° μμ
Event Listener ν¨μ ν λμ 보기
// νλ μ΄μ΄λ€μ΄ μ±ν
μ°½μ μ
λ ₯νλ λͺ¨λ μ±ν
μ λν΄ νΈμΆ λλ μ΄λ²€νΈ
// !λ‘ μμνλ ν
μ€νΈλ μ±ν
μ°½μ λμ€μ§ μμΌλ, onSay ν¨μμλ μ¬μ© κ°λ₯
App.onSay.Add(function(player, text) {
});
// νλ μ΄μ΄κ° λ€λ₯Έ νλ μ΄μ΄μ λΆλͺνμ λ νΈμΆ λλ μ΄λ²€νΈ
App.onPlayerTouched.Add(function(sender, target, x, y){
});
// νλ μ΄μ΄κ° μ€λΈμ νΈμ λΆλͺνμ λ νΈμΆ λλ μ΄λ²€νΈ
App.onObjectTouched.Add(function(sender, x, y, tileID, obj) {
});
// νλ μ΄μ΄κ° ν€ κ°μ κ°μ§ μ€λΈμ νΈμ λΆλͺνμ λ νΈμΆ λλ μ΄λ²€νΈ
App.onAppObjectTouched.Add(function(key, sender, x, y){});
// νλ μ΄μ΄κ° λ€λ₯Έ νλ μ΄μ΄λ₯Ό 곡격ν λ (Zν€) νΈμΆ λλ μ΄λ²€νΈ
App.onUnitAttacked.Add(function(sender, x, y, target) {
});
// νλ μ΄μ΄κ° μ€λΈμ νΈλ₯Ό 곡격(Zν€)νμ λ νΈμΆ λλ μ΄λ²€νΈ
App.onObjectAttacked.Add(function(sender, x, y){
});
// νλ μ΄μ΄κ° μ¬μ΄λλ° μ±μ ν΄λ¦(ν°μΉ)ν λ νΈμΆ λλ μ΄λ²€νΈ
App.onSidebarTouched.Add(function(player){
});
// μ€λΈμ νΈμ F μνΈμμ© μ λμνλ ν¨μ
App.onTriggerObject.Add(function(player, layer, x, y){
});
// νλ μ΄μ΄κ° ν€ κ°μ κ°μ§ μ€λΈμ νΈλ₯Ό 곡격ν λ (Zν€) νΈμΆ λλ μ΄λ²€νΈ
App.onAppObjectAttacked.Add(function (sender, x, y, layer, key) {
});
νλ μ΄μ΄κ° μ±ν
μ μ
λ ₯ν λ λμν©λλ€.
νλΌλ―Έν°
player νλΌλ―Έν°λ μ±ν
μ μ
λ ₯ν νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
player νλΌλ―Έν°μ μ΄λ¦μ μμλ‘ λ³κ²½ κ°λ₯
textλ μ
λ ₯ν μ±ν
λ΄μ©μ κ°λ₯΄ν΄
text νλΌλ―Έν°μ μ΄λ¦μ μμλ‘ λ³κ²½ κ°λ₯
μμ
μ΄μ±ν΄μ¦ - μ±ν
μΌλ‘ μ λ΅ λ§μΆλ κΈ°λ₯ λ§λ€μ΄λ³΄κΈ°
onPlayerTouched
μΊλ¦ν°λ€λΌλ¦¬ μΆ©λν λ λμν©λλ€.
νλΌλ―Έν°
senderλ λΆλͺν 주체μλ₯Ό κ°λ₯΄ν΄
targetμ λΆλͺνμ λΉν νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
x, yλ μΆ©λν x, y μ’νλ₯Ό κ°λ₯΄ν΄
sender, target, x, y νλΌλ―Έν°μ μ΄λ¦μ μμλ‘ λ³κ²½ κ°λ₯
μμ
μΊλ¦ν°λΌλ¦¬ λΆλͺν λ λ©μμ§ μΆλ ₯ν΄λ³΄κΈ°
onObjectTouched
μΊλ¦ν°κ° μ€λΈμ νΈμ μΆ©λ λλ μνΈμμ© ν λ ν λ² μ€νλ©λλ€.
νλΌλ―Έν°
senderλ μ€λΈμ νΈμ λΆλͺν νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
μ€λΈμ νΈμμΆ©λν x, y μ’νλ₯Ό κ°λ₯΄ν΄
μ€λΈμ νΈμ νμΌ ID μ
λλ€.
μμ
β overlap: true μμ±μ΄ μλ μ€λΈμ νΈλ μΆ©λν΄λ ν¨μκ° μ€νλμ§ μμ΅λλ€.
onAppObjectTouched
οΈ μΊλ¦ν°κ° ν€ κ°μ κ°μ§ μ€λΈμ νΈμ μΆ©λν λ λμν©λλ€.
νλΌλ―Έν°
senderλ μ€λΈμ νΈμ λΆλͺν νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
x, yλ μΆ©λν x, y μ’νλ₯Ό κ°λ₯΄ν΄
μμ
λΌλ²¨ μΆλ ₯ μμ
β overlap: true μμ±μ΄ μλ μ€λΈμ νΈλ μΆ©λν΄λ ν¨μκ° μ€νλμ§ μμ΅λλ€.
νλ μ΄μ΄κ° 곡격 ν€(Z)λ‘ λ€λ₯Έ μΊλ¦ν°λ₯Ό 곡격ν λ λμν©λλ€.
νλΌλ―Έν°
senderλ 곡격ν νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
x, yλ 곡격ν νλ μ΄μ΄μ x, y μ’ν κ°μ κ°λ₯΄ν΄
targetμ 곡격 λ°μ νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
sender, x, y, target νλΌλ―Έν°μ μ΄λ¦μ μμλ‘ λ³κ²½ κ°λ₯
μμ
νλ μ΄μ΄λ₯Ό 곡격 ν λ λ©μμ§ μΆλ ₯ν΄λ³΄κΈ°
onObjectAttacked
νλ μ΄μ΄κ° 곡격 ν€(Z)λ‘ μ€λΈμ νΈλ₯Ό 곡격ν λ λμν©λλ€.
νλΌλ―Έν°
senderλ 곡격ν νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
x, yλ μ€λΈμ νΈμ x, y μ’ν κ°μ κ°λ₯΄ν΄
sender, x, y νλΌλ―Έν°μ μ΄λ¦μ μμλ‘ λ³κ²½ κ°λ₯
μμ
μ€λΈμ νΈλ₯Ό 곡격ν λ λ©μμ§ μΆλ ₯ν΄λ³΄κΈ°
β overlap: true μμ±μ΄ μλ μ€λΈμ νΈλ 곡격ν΄λ ν¨μκ° μ€νλμ§ μμ΅λλ€.
νλ μ΄μ΄κ° μ¬μ΄λλ° μ±μ ν΄λ¦(ν°μΉ) ν λ λμν©λλ€.
νλΌλ―Έν°
μ¬μ΄λλ° μ±μ ν΄λ¦ν playerλ₯Ό κ°λ₯΄ν΄
μμ
μ¬μ΄λλ° μ± ν΄λ¦ μ μ±ν
μ°½ λ©μμ§ μΆλ ₯νκΈ°.
κ΄λ ¨ νμ΄μ§
μ¬μ΄λλ° μ± μμ
onTriggerObject
μ€λΈμ νΈμ F μνΈμμ© μ λμνλ ν¨μλ₯Ό μμ±ν μ μμ΅λλ€.
λ§΅μλν°λ‘ μ€μΉν μ€λΈμ νΈ λλ μ€ν¬λ¦½νΈμμ typeμ INTERACTION_WITH_ZEPSCRIPTS(21)λ‘ μ€μΉν μ€λΈμ νΈμ μνΈμμ© μ λμν©λλ€.
νλΌλ―Έν°
μ€λΈμ νΈμ μνΈμμ©ν playerλ₯Ό κ°λ₯΄ν΄
μ€λΈμ νΈκ° μ€μΉλ λ μ΄μ΄ ID
μ€λΈμ νΈμΈ κ²½μ° layerID = 3
μλ¨ μ€λΈμ νΈμΈ κ²½μ° layerID = 5
μνΈμμ©ν μ€λΈμ νΈμ x, y μ’ν
μνΈμμ©ν μ€λΈμ νΈμ key κ°
μμ
μ€λΈμ νΈμ F μνΈμμ©μ λ©μμ§ μΆλ ₯νκΈ°
onAppObjectAttacked
νλ μ΄μ΄κ° 곡격 ν€(Z)λ‘ ν€ κ°μ κ°μ§ μ€λΈμ νΈλ₯Ό 곡격ν λ λμν©λλ€.
κ΄λ ¨ λ¬Έμ: μ€λΈμ νΈ npcProperty
νλΌλ―Έν°
senderλ 곡격ν νλ μ΄μ΄λ₯Ό κ°λ₯΄ν΄
x, yλ μ€λΈμ νΈμ x, y μ’ν κ°μ κ°λ₯΄ν΄
μ€λΈμ νΈκ° μ€μΉλ λ μ΄μ΄
곡격ν μ€λΈμ νΈμ ν€ κ°
μμ
ν€ κ°μ κ°μ§ μ€λΈμ νΈλ₯Ό 곡격ν λ λ©μμ§ μΆλ ₯ν΄λ³΄κΈ°

β collide: true μμ±μ΄ μλ ν€ κ° μ€λΈμ νΈλ 곡격ν΄λ ν¨μκ° μ€νλμ§ μμ΅λλ€.
κ΄λ ¨ νμ΄μ§
μ¬μ΄λλ° μ± μμ