Форум HeroesWorld-а - Показать сообщение отдельно - Манипуляции с существами в редакторе
Показать сообщение отдельно
#4
Старый 05.07.2017, 00:03
  #4
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
По умолчанию
Re: Манипуляции с существами в редакторе

1.Как убрать "кружочки" вокруг существ (обозначающие расу)?
2.Как сделать существ "неактивными", чтобы с ними нельзя было взаимодействовать
	SetObjectEnabled("имя объекта", nil);
SetDisabledObjectMode("имя объекта", DISABLED_INTERACT);
sleep(1)
SetMonsterSelectionType("имя объекта", 0);
3.Как переименовать существ, чтобы получить оригинальный отряд
	SetMonsterNames("имя объекта", MONSTER_NAME_SINGLE, "название файла с новым названием");

Полный код моей функции, которая выполняла все три операции:
	-- настройка существ-NPC на карте
function SetNpcFunc(npc, func, name)

  -- отключаем выделение и ставим мирную иконку при наведении
  SetObjectEnabled(npc, nil);
  SetDisabledObjectMode(npc, DISABLED_INTERACT);
  sleep(1)
  SetMonsterSelectionType(npc, 0);

  -- функция-обработчик тыркания - необязательный параметр
  if(func ~= nil) then
    Trigger(OBJECT_TOUCH_TRIGGER, npc, func);
  end
  
  -- имя NPC - необязательный параметр
  if(name ~= nil) then
    SetMonsterNames(npc, MONSTER_NAME_SINGLE, name);
  end

end
Второй параметр необязательный, если не передавать, при тыкании в существо ничего не будет происходить.
Третий параметр необязательный, если не передавать, имя останется стандартным.
Пример использования:
	SetNpcFunc('foo', 'bar', GetMapDataPath()..'name.txt');

-- функция-обработчик касания существа foo
function bar(hero, obj)
  -- ...
end
Jack_of_shadows вне форума
Ответить с цитированием