Journal completed

This commit is contained in:
Vladislav Khorev 2026-06-03 16:42:38 +03:00
parent e7ae148ead
commit 8694b0087d
9 changed files with 78 additions and 27 deletions

View File

@ -547,6 +547,9 @@
"speaker": "Алик", "speaker": "Алик",
"portrait": "resources/dialogue/portrait_student_boy.png", "portrait": "resources/dialogue/portrait_student_boy.png",
"text": "Да без проблем! Обращайся если что.", "text": "Да без проблем! Обращайся если что.",
"objectiveComplete" : "ghost_lore.ghost_lore_alik",
"objectiveVisible": "ghost_lore.ghost_lore_alik",
"questUnlock": "ghost_coursework",
"next": "end_1" "next": "end_1"
}, },
{ {

View File

@ -35,6 +35,7 @@
} }
] ]
}, },
{
"id": "knife_dialog002", "id": "knife_dialog002",
"start": "line_1", "start": "line_1",
"nodes": [ "nodes": [
@ -177,6 +178,9 @@
"speaker": "Бекзат", "speaker": "Бекзат",
"portrait": "resources/dialogue/portrait_hero_neutral.png", "portrait": "resources/dialogue/portrait_hero_neutral.png",
"text": "Хорошо, спасибо!", "text": "Хорошо, спасибо!",
"objectiveComplete" : "ghost_lore.ghost_lore_aiperi",
"questUnlock": "ghost_release",
"objectiveVisible" : "ghost_lore.ghost_lore_alik",
"next": "end_1" "next": "end_1"
}, },
{ {
@ -446,6 +450,7 @@
"speaker": "Бекзат", "speaker": "Бекзат",
"portrait": "resources/dialogue/portrait_hero_neutral.png", "portrait": "resources/dialogue/portrait_hero_neutral.png",
"text": "Аида Дженибековна, вы помните Бегимай? Она вам курсовую хотела сдать.", "text": "Аида Дженибековна, вы помните Бегимай? Она вам курсовую хотела сдать.",
"objectiveComplete" : "ghost_lore.ghost_lore_teacher",
"next": "line_2" "next": "line_2"
}, },
{ {
@ -480,6 +485,7 @@
"speaker": "Бекзат", "speaker": "Бекзат",
"portrait": "resources/dialogue/portrait_hero_neutral.png", "portrait": "resources/dialogue/portrait_hero_neutral.png",
"text": "Аида Дженибековна, Бегимай хотела вам курсовую сдать, вы помните?", "text": "Аида Дженибековна, Бегимай хотела вам курсовую сдать, вы помните?",
"objectiveComplete" : "ghost_lore.ghost_lore_teacher",
"next": "line_2" "next": "line_2"
}, },
{ {
@ -520,6 +526,7 @@
"speaker": "Бекзат", "speaker": "Бекзат",
"portrait": "resources/dialogue/portrait_hero_neutral.png", "portrait": "resources/dialogue/portrait_hero_neutral.png",
"text": "Хорошо!", "text": "Хорошо!",
"objectiveComplete" : "ghost_coursework.ghost_coursework_mark",
"next": "end_1" "next": "end_1"
}, },
{ {
@ -539,6 +546,7 @@
"speaker": "Бекзат", "speaker": "Бекзат",
"portrait": "resources/dialogue/portrait_hero_neutral.png", "portrait": "resources/dialogue/portrait_hero_neutral.png",
"text": "Аида Дженибековна, Бегимай хотела вам курсовую сдать, вы помните?", "text": "Аида Дженибековна, Бегимай хотела вам курсовую сдать, вы помните?",
"objectiveComplete" : "ghost_lore.ghost_lore_teacher",
"next": "line_2" "next": "line_2"
}, },
{ {
@ -563,6 +571,7 @@
"speaker": "Аида Дженибековна", "speaker": "Аида Дженибековна",
"portrait": "resources/dialogue/portrait_teacher.png", "portrait": "resources/dialogue/portrait_teacher.png",
"text": "Да, я вижу что курсовая написана хорошо, я ставлю ей максимальный балл.", "text": "Да, я вижу что курсовая написана хорошо, я ставлю ей максимальный балл.",
"objectiveComplete" : "ghost_coursework.ghost_coursework_mark",
"next": "line_5" "next": "line_5"
}, },
{ {
@ -571,6 +580,7 @@
"speaker": "Аида Дженибековна", "speaker": "Аида Дженибековна",
"portrait": "resources/dialogue/portrait_teacher.png", "portrait": "resources/dialogue/portrait_teacher.png",
"text": "Вот держи зачетку с оценкой.", "text": "Вот держи зачетку с оценкой.",
"objectiveComplete" : "ghost_release.ghost_release_mark",
"next": "line_6" "next": "line_6"
}, },
{ {

View File

@ -11,28 +11,6 @@
{ "id": "take_journal", "text": "Взять журнал", "completed": false } { "id": "take_journal", "text": "Взять журнал", "completed": false }
] ]
}, },
{
"id": "study_beginning",
"title": "Манасоведение",
"status": "Available",
"autoComplete": true,
"description": "Скоро будет модуль по Манасоведению, а я еще ни разу не ходил на лекции. Сегодня у нас лекция по Манасоведению, надо ее посетить и получить у преподавательницы задание на модуль.",
"objectives": [
{ "id": "study_beginning_lecture", "text": "Посетить лекцию", "completed": false },
{ "id": "study_beginning_task", "text": "Получить задание на модуль", "completed": false }
]
},
{
"id": "study_project",
"title": "Эссе манасчи",
"status": "Hidden",
"description": "Преподавательница по манасоведению Аида Джаныбекова дала мне задачу - найти в библиотеке книгу про манасчи Жусупа Мамая, и написать по этой книге эссе. Книгу нельзя выносить из библиотеки, но можно воспользоваться стоящим в библиотеке компьютером, чтобы написать эссе.",
"objectives": [
{ "id": "study_project_book", "text": "Найти книгу", "completed": false },
{ "id": "study_project_write", "text": "Написать эссе", "completed": false },
{ "id": "study_project_give", "text": "Сдать эссе", "completed": false }
]
},
{ {
"id": "ghost_lore", "id": "ghost_lore",
"title": "Призрак", "title": "Призрак",
@ -67,6 +45,28 @@
{ "id": "ghost_release_mark", "text": "Поставить оценку за курсовую в зачетку", "completed": false }, { "id": "ghost_release_mark", "text": "Поставить оценку за курсовую в зачетку", "completed": false },
{ "id": "ghost_release_show", "text": "Показать зачетку с оценкой призраку", "completed": false } { "id": "ghost_release_show", "text": "Показать зачетку с оценкой призраку", "completed": false }
] ]
},
{
"id": "study_beginning",
"title": "Манасоведение",
"status": "Available",
"autoComplete": true,
"description": "Скоро будет модуль по Манасоведению, а я еще ни разу не ходил на лекции. Сегодня у нас лекция по Манасоведению, надо ее посетить и получить у преподавательницы задание на модуль.",
"objectives": [
{ "id": "study_beginning_lecture", "text": "Посетить лекцию", "completed": false },
{ "id": "study_beginning_task", "text": "Получить задание на модуль", "completed": false }
]
},
{
"id": "study_project",
"title": "Эссе манасчи",
"status": "Hidden",
"description": "Преподавательница по манасоведению Аида Джаныбекова дала мне задачу - найти в библиотеке книгу про манасчи Жусупа Мамая, и написать по этой книге эссе. Книгу нельзя выносить из библиотеки, но можно воспользоваться стоящим в библиотеке компьютером, чтобы написать эссе.",
"objectives": [
{ "id": "study_project_book", "text": "Найти книгу", "completed": false },
{ "id": "study_project_write", "text": "Написать эссе", "completed": false },
{ "id": "study_project_give", "text": "Сдать эссе", "completed": false }
]
}, },
{ {
"id": "aiperi_knife", "id": "aiperi_knife",

View File

@ -26,6 +26,7 @@ if player_container_aware == 1 then
game_api.start_dialogue("dialog_contaier002") game_api.start_dialogue("dialog_contaier002")
game_api.pickup_item("coursework") game_api.pickup_item("coursework")
game_api.setIntValue("player_has_coursework", 1) game_api.setIntValue("player_has_coursework", 1)
game_api.quest_set_objective_completed("ghost_coursework", "ghost_coursework_find")
else else
game_api.start_dialogue("dialog_contaier001") game_api.start_dialogue("dialog_contaier001")
end end

View File

@ -112,6 +112,7 @@ function on_book_pickup()
game_api.pickup_item("book") game_api.pickup_item("book")
game_api.deactivate_interactive_object("Book001") game_api.deactivate_interactive_object("Book001")
player_hold_book = true player_hold_book = true
game_api.quest_set_objective_completed("study_project", "study_project_book")
game_api.start_dialogue("book_dialog003") game_api.start_dialogue("book_dialog003")
--game_api.set_trigger_zone_enabled(3, true) --game_api.set_trigger_zone_enabled(3, true)
end end
@ -217,11 +218,14 @@ function on_quest_over()
game_api.set_npc_enabled(3, false) game_api.set_npc_enabled(3, false)
game_api.set_npc_enabled(4, false) game_api.set_npc_enabled(4, false)
game_api.set_npc_enabled(5, false) game_api.set_npc_enabled(5, false)
game_api.quest_set_objective_completed("ghost_release", "ghost_release_show")
end end
function on_first_ghost_dialog_over() function on_first_ghost_dialog_over()
print("on_first_ghost_dialog_over") print("on_first_ghost_dialog_over")
player_ghost_aware = true player_ghost_aware = true
game_api.quest_unlock("ghost_lore")
end end
@ -444,6 +448,7 @@ print("on_computer_clicked--")
print("on_computer_clicked--3") print("on_computer_clicked--3")
if (player_hold_book) then if (player_hold_book) then
print("on_computer_clicked--4") print("on_computer_clicked--4")
game_api.quest_set_objective_completed("study_project", "study_project_write")
game_api.start_cutscene("computer_cutscene001") game_api.start_cutscene("computer_cutscene001")
else else
print("on_computer_clicked--5") print("on_computer_clicked--5")
@ -523,6 +528,7 @@ if player_ghost_aware then
game_api.pickup_item("report_card") game_api.pickup_item("report_card")
game_api.deactivate_interactive_object("ReportCard001") game_api.deactivate_interactive_object("ReportCard001")
game_api.setIntValue("player_has_report_card", 1) game_api.setIntValue("player_has_report_card", 1)
game_api.quest_set_objective_completed("ghost_release", "ghost_release_reportcard")
end end
else else
game_api.start_dialogue("dialog_report_card001") game_api.start_dialogue("dialog_report_card001")

View File

@ -146,6 +146,36 @@
"hover": "resources/w/ui/img/inv/ItemBook001.png", "hover": "resources/w/ui/img/inv/ItemBook001.png",
"pressed": "resources/w/ui/img/inv/ItemBook001.png" "pressed": "resources/w/ui/img/inv/ItemBook001.png"
} }
},
{
"type": "Button",
"name": "item8Button",
"horizontal_gravity": "center",
"vertical_gravity": "center",
"width": 137,
"height": 137,
"x" : -480,
"y" : -110,
"textures": {
"normal": "resources/w/ui/img/inv/ItemBook001.png",
"hover": "resources/w/ui/img/inv/ItemBook001.png",
"pressed": "resources/w/ui/img/inv/ItemBook001.png"
}
},
{
"type": "Button",
"name": "item9Button",
"horizontal_gravity": "center",
"vertical_gravity": "center",
"width": 137,
"height": 137,
"x" : -380,
"y" : -110,
"textures": {
"normal": "resources/w/ui/img/inv/ItemBook001.png",
"hover": "resources/w/ui/img/inv/ItemBook001.png",
"pressed": "resources/w/ui/img/inv/ItemBook001.png"
}
}, },
{ {
"type": "StaticImage", "type": "StaticImage",

View File

@ -406,8 +406,8 @@
{ {
"type": "TextView", "type": "TextView",
"name": "quest_description", "name": "quest_description",
"x": 140.0, "x": 143.0,
"y": 390.0, "y": 370.0,
"width": 950.0, "width": 950.0,
"height": 300.0, "height": 300.0,
"horizontal_gravity": "center", "horizontal_gravity": "center",

View File

@ -15,6 +15,7 @@
#endif #endif
#ifdef EMSCRIPTEN #ifdef EMSCRIPTEN
#include <emscripten.h> #include <emscripten.h>
#endif #endif

View File

@ -140,7 +140,7 @@ namespace ZL {
itemText = "Inventory (" + std::to_string(items.size()) + " items)\n\n"; itemText = "Inventory (" + std::to_string(items.size()) + " items)\n\n";
for (size_t i = 0; i < items.size(); ++i) { for (size_t i = 0; i < items.size(); ++i) {
itemText += std::to_string(i + 1) + ". " + items[i].name + "\n"; itemText += std::to_string(i + 1) + ". " + items[i].name + "\n";
const int maxSlots = 7; const int maxSlots = 9;
for (int i = 0; i < maxSlots; ++i) { for (int i = 0; i < maxSlots; ++i) {
const std::string btnName = "item" + std::to_string(i + 1) + "Button"; const std::string btnName = "item" + std::to_string(i + 1) + "Button";