function objective_1(hero)
local player = GetObjectOwner(hero)
if GetObjectiveState("имя_задачи", player) == OBJECTIVE_UNKNOWN then
StartDialogScene("путь к диалогу")
SetObjectiveState("имя_задачи", OBJECTIVE_ACTIVE, player)
elseif GetObjectiveState("имя_задачи", player) == OBJECTIVE_ACTIVE and HasArtefact(hero, номер_артефакта) then
SetObjectiveState("имя_задачи", OBJECTIVE_COMPLETED, player)
RemoveArtefact(hero, номер_артефакта)
end
end
SetObjectEnabled("имя_существа", nil)
Trigger(OBJECT_TOUCH_TRIGGER, "имя_существа", "objective_1")