Найти в Дзене
WebJens

Плагинописание — #3

Ура, выходит в свет уже третий по счёту урок по созданию плагинов! Чувствуешь прилив сил и вдохновения? Тогда поехали дальше! Сегодня мы рассмотрим новую функцию — events (события). События могут быть разные, конкретно сегодня мы затронем события при входе игрока на сервер и при смерти игрока от другого игрока. Берём нашу основу плагина по ссылке в конце статьи (если у тебя нет основы). Сначала нам нужно будет добавить необходимые библиотеки. use pocketmine\event\Listener; use pocketmine\Server; use pocketmine\event\player\PlayerJoinEvent; use pocketmine\event\player\PlayerDeathEvent; Далее чуть-чуть изменим строку с объявлением класса. теперь в функцию включения плагина onEnable добавляем следующую строку для регистрации событий (смерть игрока, вход на сервер и т.д.) $this->getServer()->getPluginManager()->registerEvents($this, $this); Теперь мы успешно подготовили наш код для первого события — вход игрока на сервер. Давайте сделаем так, чтобы игроку при входе в игру отправлялось на
Оглавление

Ура, выходит в свет уже третий по счёту урок по созданию плагинов! Чувствуешь прилив сил и вдохновения? Тогда поехали дальше!

Сегодня мы рассмотрим новую функцию — events (события). События могут быть разные, конкретно сегодня мы затронем события при входе игрока на сервер и при смерти игрока от другого игрока.

Берём нашу основу плагина по ссылке в конце статьи (если у тебя нет основы). Сначала нам нужно будет добавить необходимые библиотеки.

use pocketmine\event\Listener;

use pocketmine\Server;

use pocketmine\event\player\PlayerJoinEvent;

use pocketmine\event\player\PlayerDeathEvent;

вставляем нужные нам юзы
вставляем нужные нам юзы

Далее чуть-чуть изменим строку с объявлением класса.

отредактировали 11 строку
отредактировали 11 строку

теперь в функцию включения плагина onEnable добавляем следующую строку для регистрации событий (смерть игрока, вход на сервер и т.д.)

$this->getServer()->getPluginManager()->registerEvents($this, $this);

добавили 14 строку
добавили 14 строку

Теперь мы успешно подготовили наш код для первого события — вход игрока на сервер. Давайте сделаем так, чтобы игроку при входе в игру отправлялось наше тёплое приветствие в чат!

функция, которая будет отправлять нужный нам текст игроку в чат при входе на сервер (строки 26-30)
функция, которая будет отправлять нужный нам текст игроку в чат при входе на сервер (строки 26-30)

Теперь ты можешь сохранить готовый файл и протестировать на сервере! Установи плагин и зайди на сервер — тебе придёт вот такое сообщение:

вот и готово наше первое событие! работает!
вот и готово наше первое событие! работает!

Для закрепления давай рассмотрим ещё 2 события. Оба будут связаны со смертью игрока.

Первое событие попроще. Оно отправит сообщение о том, что игрок умер.

-6

А теперь сравни первое и второе. Во втором событии мы добавляем ник убийцы!

-7

В качестве тренировки советуем тебе набрать код событий руками, чтобы его структура уже начала откладываться у тебя в памяти! Исходник доступен по ссылке. Есть вопросы? Задавай в комментариях!