Посмотрите скриптовое имя героя в его настройках (Выделяете => Пробел => Settings => Script name). И замените hero на это имя.
То есть:
function Def( heroname )
if heroname == hero then
StartCombat(hero,nil,1,CREATURE_CRYSTAL_DRAGON,6);
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", nil );
end;
end;
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "def", "Def" );
Так как последние 4 параметра вы оставили nil, то их можете просто не указывать.