SCRIPT_COMMAND_TERMINATE_CONDITION:
Код:
case SCRIPT_COMMAND_TERMINATE_COND: // 34
{
if (!sConditionStorage.LookupEntry<PlayerCondition>(tmp.terminateCond.conditionId))
{
sLog.outErrorDb("Table `%s` has datalong = %u in SCRIPT_COMMAND_TERMINATE_COND for script id %u, but this condition_id does not exist.", tablename, tmp.terminateCond.conditionId, tmp.id);
continue;
}
if (tmp.terminateCond.failQuest && !sObjectMgr.GetQuestTemplate(tmp.terminateCond.failQuest))
{
sLog.outErrorDb("Table `%s` has datalong2 = %u in SCRIPT_COMMAND_TERMINATE_COND for script id %u, but this questId does not exist.", tablename, tmp.terminateCond.failQuest, tmp.id);
continue;
}
break;
}
Раз имеют continue(переводя по простому значит продолжать)
То я думаю, что может работать не только для квестов.
Что самое интересное, TERMINATE_SCRIPT и TERMINATE_CONDITION могут работать вместе(хотя Xfurry собирает добавить новую кондицию)
http://ytdb.ru/showthread.php?t=14148
Я внимательно просмотрел работу NeatElves и могу смело утверждать, что квест необязателен для использования этой команды.
Можно добавить несколько кондиций сразу для прерывания скрипта и если хотя бы одно из них(условий) не выполняется, то будет прерывать скрипт.
Осталось только добавить возможность для свободного взаимодействия EAI и db_script и дело в шляпе!