Функция для мобов

valera225pro1

Новичок
Регистрация
4 Янв 2025
Сообщения
0
Вопрос есть. Функция может принадлежать определенному мобу? Ну допустим создал моба выбрал его и запустил от его имени функцию, если я создам нового моба и также выберу его и запущу ту же функцию то функция переключится на второго моба или будет уже работать две функции для двух мобов? Такой вопрос созрел когда попытался сделать автовосстановление разрушенных блоков(путем создания моба с айди и массивами хранящие данные блока), Но все чего достиг это когда ломаю один блок с ним все хорошо возвращает, но когда ломаю два или более то почему то прежние мобы не удаляются и блоки не возвращаются, а возвращается только последний, вот и подумал что проблема в функции.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
379
Вопрос есть. Функция может принадлежать определенному мобу? Ну допустим создал моба выбрал его и запустил от его имени функцию, если я создам нового моба и также выберу его и запущу ту же функцию то функция переключится на второго моба или будет уже работать две функции для двух мобов? Такой вопрос созрел когда попытался сделать автовосстановление разрушенных блоков(путем создания моба с айди и массивами хранящие данные блока), Но все чего достиг это когда ломаю один блок с ним все хорошо возвращает, но когда ломаю два или более то почему то прежние мобы не удаляются и блоки не возвращаются, а возвращается только последний, вот и подумал что проблема в функции.
вызывай функцию от случайного игрока, а в самой функции выбирай моба и делай что-то с ним

если сначала выберешь, а потом вызовешь, то функции плохо будут работать с выборками
условно в игре есть 2 курицы, ты их выбрал и вызвал функцию
условно есть код
JavaScript:
select.mob.ifEntity.nameEquals("Курица");
function.call("функция для куриц");

Function(`функция для куриц`) {
    player.send<all>("выполнил код");
}
это сообщение выведется 2 раза
это объясняется тем, что код на мл выполняется для каждой цели в выборке, по этому функция вызывается 2 раза
так-же при вызове функции выборка передаётся дальше, соответственно код выполнится 2 раза для каждого в выборке

лучше сделать код так:
JavaScript:
select.random;
function.call("функция для куриц");

Function(`функция для куриц`) {
    select.mob.ifMob.nameEquals("Курица");
    // ...
}
 
Последнее редактирование:

valera225pro1

Новичок
Регистрация
4 Янв 2025
Сообщения
0
вызывай функцию от случайного игрока, а в самой функции выбирай моба и делай что-то с ним

если сначала выберешь, а потом вызовешь, то функции плохо будут работать с выборками
условно в игре есть 2 курицы, ты их выбрал и вызвал функцию
условно есть код
JavaScript:
select.mob.ifEntity.nameEquals("Курица");
function.call("функция для куриц");

Function(`функция для куриц`) {
    player.send<all>("выполнил код");
}
это сообщение выведется 2 раза
это объясняется тем, что код на мл выполняется для каждой цели в выборке, по этому функция вызывается 2 раза
так-же при вызове функции выборка передаётся дальше, соответственно код выполнится 2 раза для каждого в выборке

лучше сделать код так:
JavaScript:
select.random;
function.call("функция для куриц");

Function(`функция для куриц`) {
    select.mob.ifMob.nameEquals("Курица");
    // ...
}
хорошо так и сделаю
 
Сверху