Ловушки — различия между версиями

 
(не показаны 4 промежуточные версии этого же участника)
Строка 2: Строка 2:
 
Ловушки ModPE - важная часть ModPE API, позволяющая отлавливать основные события в игре.
 
Ловушки ModPE - важная часть ModPE API, позволяющая отлавливать основные события в игре.
  
=== attackHook(attacker, victim) ===
+
=== attackHook ===
 +
 
 +
Параметры: (attacker, victim)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
Строка 8: Строка 10:
 
Происходит при ударе сущностью attacker сущность victim.
 
Происходит при ударе сущностью attacker сущность victim.
  
=== chatHook(str) ===
+
=== chatHook ===
 +
 
 +
Параметр: (str)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
Строка 14: Строка 18:
 
Происходит при отправлении каким-либо игроком сообщения в чат.
 
Происходит при отправлении каким-либо игроком сообщения в чат.
  
=== continueDestroyBlock(x, y, z, side, progress) ===
+
=== continueDestroyBlock ===
 +
 
 +
Параметры: (x, y, z, side, progress)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
Строка 20: Строка 26:
 
Происходит каждый тик во время ломания блока с координатами x, y, z со стороны side. progress - значение с плавающей точкой от 0 до 1, показывает прогресс разрушения блока (в частях от 1). Для переведения в проценты просто умножаем на сто и округляем (при необходимости).
 
Происходит каждый тик во время ломания блока с координатами x, y, z со стороны side. progress - значение с плавающей точкой от 0 до 1, показывает прогресс разрушения блока (в частях от 1). Для переведения в проценты просто умножаем на сто и округляем (при необходимости).
  
=== destroyBlock(x, y, z, side) ===
+
=== destroyBlock ===
 +
 
 +
Параметры: (x, y, z, side)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
Строка 26: Строка 34:
 
Происходит при разрушении блока с координатами x, y, z со стороны side.
 
Происходит при разрушении блока с координатами x, y, z со стороны side.
  
=== projectileHitEntityHook(projectile, targetEntity) ===
+
=== projectileHitEntityHook ===
 +
 
 +
Параметры: (projectile, targetEntity)
 +
 
 +
=== eatHook ===
  
=== eatHook(hearts, saturationRatio) ===
+
Параметры: (hearts, saturationRatio)
  
 
Происходит при съедании игроком еды. Параметры, вероятно, названы неправильно (надо уточнить).
 
Происходит при съедании игроком еды. Параметры, вероятно, названы неправильно (надо уточнить).
  
=== entityAddedHook(entity) ===
+
=== entityAddedHook ===
 +
 
 +
Параметр: (entity)
  
 
Происходит при появлении новой сущности entity в мире.
 
Происходит при появлении новой сущности entity в мире.
  
=== entityHurtHook(attacker, victim, halfhearts) ===
+
=== entityHurtHook ===
 +
 
 +
Параметры: (attacker, victim, halfhearts)
 +
 
 +
=== entityRemovedHook ===
 +
 
 +
Параметр: (entity)
  
=== entityRemovedHook(entity) ===
+
=== explodeHook ===
  
=== explodeHook(entity, x, y, z, power, onFire) ===
+
Параметры: (entity, x, y, z, power, onFire)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
  
=== serverMessageReceiveHook(str) ===
+
=== serverMessageReceiveHook ===
 +
 
 +
Параметр: (str)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
  
=== deathHook(attacker, victim) ===
+
=== deathHook ===
 +
 
 +
Параметры: (attacker, victim)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
Строка 54: Строка 78:
 
Происходит при смерти сущности victim из-за удара attacker.
 
Происходит при смерти сущности victim из-за удара attacker.
  
=== playerAddExpHook(player, experienceAdded) ===
+
=== playerAddExpHook ===
 +
 
 +
Параметры: (player, experienceAdded)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
  
=== playerExpLevelChangeHook(player, levelsAdded) ===
+
=== playerExpLevelChangeHook ===
 +
 
 +
Параметры: (player, levelsAdded)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
  
=== redstoneUpdateHook(x, y, z, newCurrent, someBooleanIDontKnow, blockId, blockData) ===
+
=== redstoneUpdateHook ===
 +
 
 +
Параметры: (x, y, z, newCurrent, someBooleanIDontKnow, blockId, blockData)
 +
 
 +
=== function screenChangeHook ===
  
=== function screenChangeHook(screenName) ===
+
Параметр: (screenName)
  
=== newLevel() ===
+
=== newLevel ===
  
Происходит при заходе в мир
+
Без параметров.
  
=== startDestroyBlock(x, y, z, side) ===
+
Происходит при заходе в мир.
 +
 
 +
=== startDestroyBlock ===
 +
 
 +
Параметры: (x, y, z, side)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
Строка 76: Строка 112:
 
Происходит, когда игрок начинает ломать блок с координатами x, y, z со стороны side.
 
Происходит, когда игрок начинает ломать блок с координатами x, y, z со стороны side.
  
=== projectileHitBlockHook(projectile, blockX, blockY, blockZ, side) ===
+
=== projectileHitBlockHook ===
  
=== modTick() ===
+
Параметры: (projectile, blockX, blockY, blockZ, side)
 +
 
 +
=== modTick ===
 +
 
 +
Без параметров.
  
 
Происходит 20 раз в ссекунду. Является основой всех таймеров в игре. Библиотека NIDE [[ModPE/Timers|Timers]] служит прекрасной оболочкой, позволяющей использовать различные однократные и повторяющиеся таймеры.
 
Происходит 20 раз в ссекунду. Является основой всех таймеров в игре. Библиотека NIDE [[ModPE/Timers|Timers]] служит прекрасной оболочкой, позволяющей использовать различные однократные и повторяющиеся таймеры.
  
=== useItem(x, y, z, itemid, blockid, side, itemDamage, blockDamage) ===
+
 
 +
=== useItem ===
 +
 
 +
Параметры: (x, y, z, itemid, blockid, side, itemDamage, blockDamage)
  
 
Можно юзать preventDefault()
 
Можно юзать preventDefault()
  
 
Происходит при тапе по блоку с координатами x, y, z со стороны side. Блок, по которому тапнули, имеет id = blockid, data = blockDamage. Тапнули предметом с id = itemid, data = itemDamage.
 
Происходит при тапе по блоку с координатами x, y, z со стороны side. Блок, по которому тапнули, имеет id = blockid, data = blockDamage. Тапнули предметом с id = itemid, data = itemDamage.
 +
 +
Пример:
 +
<syntaxhighlight lang="javascript">/*сама функция, можно недописывать последние арументы, если не нужны*/
 +
function useItem(x, y, z, blockId, itemId)
 +
{
 +
    if(blockId == 1 && itemId == 280)//если палкой тыкнуть по камню
 +
    {
 +
        setTile(x, y, z, 5);//то заментим его на доску
 +
        clientMessage("Превращение прошло успешно!");//уведомление
 +
    }
 +
}</syntaxhighlight>

Текущая версия на 22:38, 9 ноября 2017

Ловушки ModPE - важная часть ModPE API, позволяющая отлавливать основные события в игре.

attackHook[править]

Параметры: (attacker, victim)

Можно юзать preventDefault()

Происходит при ударе сущностью attacker сущность victim.

chatHook[править]

Параметр: (str)

Можно юзать preventDefault()

Происходит при отправлении каким-либо игроком сообщения в чат.

continueDestroyBlock[править]

Параметры: (x, y, z, side, progress)

Можно юзать preventDefault()

Происходит каждый тик во время ломания блока с координатами x, y, z со стороны side. progress - значение с плавающей точкой от 0 до 1, показывает прогресс разрушения блока (в частях от 1). Для переведения в проценты просто умножаем на сто и округляем (при необходимости).

destroyBlock[править]

Параметры: (x, y, z, side)

Можно юзать preventDefault()

Происходит при разрушении блока с координатами x, y, z со стороны side.

projectileHitEntityHook[править]

Параметры: (projectile, targetEntity)

eatHook[править]

Параметры: (hearts, saturationRatio)

Происходит при съедании игроком еды. Параметры, вероятно, названы неправильно (надо уточнить).

entityAddedHook[править]

Параметр: (entity)

Происходит при появлении новой сущности entity в мире.

entityHurtHook[править]

Параметры: (attacker, victim, halfhearts)

entityRemovedHook[править]

Параметр: (entity)

explodeHook[править]

Параметры: (entity, x, y, z, power, onFire)

Можно юзать preventDefault()

serverMessageReceiveHook[править]

Параметр: (str)

Можно юзать preventDefault()

deathHook[править]

Параметры: (attacker, victim)

Можно юзать preventDefault()

Происходит при смерти сущности victim из-за удара attacker.

playerAddExpHook[править]

Параметры: (player, experienceAdded)

Можно юзать preventDefault()

playerExpLevelChangeHook[править]

Параметры: (player, levelsAdded)

Можно юзать preventDefault()

redstoneUpdateHook[править]

Параметры: (x, y, z, newCurrent, someBooleanIDontKnow, blockId, blockData)

function screenChangeHook[править]

Параметр: (screenName)

newLevel[править]

Без параметров.

Происходит при заходе в мир.

startDestroyBlock[править]

Параметры: (x, y, z, side)

Можно юзать preventDefault()

Происходит, когда игрок начинает ломать блок с координатами x, y, z со стороны side.

projectileHitBlockHook[править]

Параметры: (projectile, blockX, blockY, blockZ, side)

modTick[править]

Без параметров.

Происходит 20 раз в ссекунду. Является основой всех таймеров в игре. Библиотека NIDE Timers служит прекрасной оболочкой, позволяющей использовать различные однократные и повторяющиеся таймеры.


useItem[править]

Параметры: (x, y, z, itemid, blockid, side, itemDamage, blockDamage)

Можно юзать preventDefault()

Происходит при тапе по блоку с координатами x, y, z со стороны side. Блок, по которому тапнули, имеет id = blockid, data = blockDamage. Тапнули предметом с id = itemid, data = itemDamage.

Пример:

/*сама функция, можно недописывать последние арументы, если не нужны*/
function useItem(x, y, z, blockId, itemId) 
{
    if(blockId == 1 && itemId == 280)//если палкой тыкнуть по камню
    {
        setTile(x, y, z, 5);//то заментим его на доску
        clientMessage("Превращение прошло успешно!");//уведомление
    }
}