Нет, оба варианта не верны. Написание движка игры - это очень сложный процесс, и поверьте организация квестов далеко не саме сложное. Нельзя вот так взять на ровном месте и начать кодить. Точнее можно то оно можно, но вот что из этого получиться...
Сам квест должен "собираться" по средствам SQL запроса по данным из нескольких таблиц. Всего этих таблиц может быть очень много. А вот данные принадлежащие определённому квесту не обязательно должны быть во всех таблицах.
К примеру таблица квеста содержит идентификатор квеста, название квеста, и уровень при котором его можно принять. А вот с целями гораздо сложнее.
Допустим надо убить 5 волков и 3 медведя.
следовательно в таблице quest_kill будет две записи:
id квеста (начинающий охотник), id моба(волк), количество мобов(5)
id квеста (начинающий охотник), id моба(медведь), количество мобов(3)
шкуры нам не нужны
следовательно в таблице quest_inventory записей относящихся к этому квесту не будет, но будут записи по другим квестам.
то же самое с наградой за квест, она может собираться из нескольких таблиц, ведь за выполнение квеста можно молучать не только оыт и золото, но и различные предметы(доспехи, рецепты, ингридиенты и тд)
Это я вам пытаюсь только обьяснить саму организацию описания квестов в базе данных, логики выполнения принятого квеста я даже не касался, а там еще больше таблиц и еще сложнее.
P.S. я как бы уже второй день вас пытаюсь отговорить от идеи писат движок самому
_____________
Стимулятор ~yoomoney - 41001303250491