Working on dialog editor, on dialogs, on phone

This commit is contained in:
Vladislav Khorev committed 2026-06-05 21:17:51 +03:00
1 parent 0e27521bea
commit 8f7797789d
63 files changed
+9502 -1459

No files matched your search

+240 -130
View File
@@ -16,7 +16,7 @@ player_left_darklands = false
morning_can_open_door_index = 0
morning_did_open_door_index = 0
player_ghost_aware = false
--player_ghost_aware = false
ghost_gone = false
@@ -143,6 +143,7 @@ function on_bookshelf_clicked()
end
function on_npc_interact(npc_index)
local player_ghost_aware = game_api.getIntValue("ghost_aware")
print("[Lua] NPC interaction! Index: " .. tostring(npc_index))
if npc_index == 1 then
local day = game_api.getIntValue("day")
@@ -154,6 +155,8 @@ function on_npc_interact(npc_index)
game_api.start_dialogue("knife_dialog001")
end
else
game_api.start_dialogue("dialog_aiperi_morning001")
--[[
if (player_ghost_aware) then
local player_alik_aware = game_api.getIntValue("player_alik_aware")
if player_alik_aware == 1 then
@@ -164,7 +167,7 @@ function on_npc_interact(npc_index)
end
else
game_api.start_dialogue("aiperi_dialog003")
end
end]]
end
end
if npc_index == 0 then
@@ -190,16 +193,11 @@ function on_npc_interact(npc_index)
end
end
if npc_index == 2 then
if (player_ghost_aware) then
local report_card_signed = game_api.getIntValue("report_card_signed")
if (report_card_signed == 1) then
game_api.start_dialogue("dialog_with_ghost003")
else
game_api.start_dialogue("dialog_with_ghost002")
end
local report_card_signed = game_api.getIntValue("report_card_signed")
if (report_card_signed == 1) then
game_api.start_dialogue("dialog_with_ghost003")
else
game_api.start_dialogue("dialog_with_ghost001")
--player_ghost_aware = true
end
end
end
@@ -213,11 +211,12 @@ function on_quest_over()
game_api.quest_set_objective_completed("ghost_release", "ghost_release_show")
end
--[[
function on_first_ghost_dialog_over()
print("on_first_ghost_dialog_over")
player_ghost_aware = true
game_api.quest_unlock("ghost_lore")
end
end]]
function on_darklands_over()
game_api.set_player_hp(10)
@@ -234,7 +233,7 @@ end
function on_library_door_click()
print("on_library_door_click---")
local day = game_api.getIntValue("day")
if (day == 0) then
if (night_time) then
game_api.start_dialogue("door_night_dialog001")
@@ -244,7 +243,7 @@ function on_library_door_click()
end
end
else
if (morning_can_open_door_index == 5) then
--[[if (morning_can_open_door_index == 5) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 5
game_api.start_dialogue("door_unlock_dialog001")
@@ -256,41 +255,32 @@ function on_library_door_click()
end
else
game_api.start_dialogue("door_dialog001")
end
end]]
end
--[[
--if (player_left_darklands) then
if (morning_can_open_door_index == 5) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 5
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_N_2_Leaf001", -90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(12)
if (game_api.is_night()) then
if (not game.is_dawn() or not (morning_did_open_door_index == 4)) then
game_api.start_dialogue("door_dialog001")
end
elseif (night_time && day == 0) then
game_api.start_dialogue("door_night_dialog001")
else
if (not lection_is_over) then
end
--[[
if (game_api.is_night() and not game.is_dawn()) then
game_api.start_dialogue("door_dialog001")
end
end]]
if (game_api.is_night() and game.is_dawn() and not (morning_did_open_door_index == 4) then
game_api.start_dialogue("door_dialog001")
end]]
end
end
function on_teachers_door_click()
print("on_teachers_door_click---")
local day = game_api.getIntValue("day")
print("day is")
print(day)
if (day == 0) then
if (player_hold_key) then
if (not teacher_door_opened) then
teacher_door_opened = true
@@ -304,7 +294,6 @@ function on_teachers_door_click()
game_api.start_dialogue("door_teacher_dialog001")
end
else
print("morning_can_open_door_index is")
print(morning_can_open_door_index)
if (morning_can_open_door_index == 3) then
@@ -324,7 +313,7 @@ function on_teachers_door_click()
game_api.start_dialogue("door_dialog001")
end
end
--[[
if (player_left_darklands) then
@@ -356,9 +345,9 @@ end
function on_hall_door_click()
print("on_hall_door_click---")
local day = game_api.getIntValue("day")
if (day == 0) then
if (not hall_door_opened) then
hall_door_opened = true
@@ -369,72 +358,53 @@ function on_hall_door_click()
end)
game_api.set_npc_enabled(0, true)
end
else
if (morning_can_open_door_index == 6) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 6
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Hall_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(13)
if (game_api.is_night()) then
if not (morning_did_open_door_index == 6) then
game_api.start_dialogue("door_dialog001")
end
else
game_api.start_dialogue("door_dialog001")
--[[
if (morning_can_open_door_index == 6) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 6
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Hall_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(13)
end
else
game_api.start_dialogue("door_dialog001")
end]]
end
end
--[[
if (player_left_darklands) then
if (morning_can_open_door_index == 6) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 6
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Hall_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(13)
end
else
game_api.start_dialogue("door_dialog001")
end
elseif (not hall_door_opened) then
hall_door_opened = true
game_api.switch_navigation(1)
game_api.rotate_object("Hall_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Main_Hall_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Main_Hall_001")
end)
game_api.set_npc_enabled(0, true)
end]]
end
function on_s1_door_click()
--if (player_left_darklands) then
if (morning_can_open_door_index == 1) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 1
game_api.start_dialogue("door_unlock_dialog001")
if (game_api.is_night()) then
if not (morning_did_open_door_index == 1) then
game_api.start_dialogue("door_dialog001")
end
end
--[[
if (morning_can_open_door_index == 1) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 1
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_S_0_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(8)
end
else
game_api.start_dialogue("door_dialog001")
game_api.rotate_object("Room_S_0_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(8)
end
else
game_api.start_dialogue("door_dialog001")
end
]]
--else
-- game_api.start_dialogue("door_dialog001")
--end
@@ -442,52 +412,62 @@ end
function on_s2_door_click()
--if (player_left_darklands) then
if (morning_can_open_door_index == 2) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 2
game_api.start_dialogue("door_unlock_dialog001")
if (game_api.is_night()) then
if not (morning_did_open_door_index == 2) then
game_api.start_dialogue("door_dialog001")
end
end
--[[
if (morning_can_open_door_index == 2) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 2
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_S_1_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(9)
end
else
game_api.start_dialogue("door_dialog001")
game_api.rotate_object("Room_S_1_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(9)
end
--else
-- game_api.start_dialogue("door_dialog001")
--end
else
game_api.start_dialogue("door_dialog001")
end
]]
end
function on_n2_door_click()
print("player_left_darklands")
print(player_left_darklands)
print("morning_can_open_door_index")
print(morning_can_open_door_index)
print("morning_did_open_door_index")
print(morning_did_open_door_index)
--if (player_left_darklands) then
if (morning_can_open_door_index == 4) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 4
game_api.start_dialogue("door_unlock_dialog001")
if (game_api.is_night()) then
if not (morning_did_open_door_index == 4) then
game_api.start_dialogue("door_dialog001")
end
end
--[[
if (morning_can_open_door_index == 4) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 4
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_N_1_Leaf001", -90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(11)
else
--game_api.start_dialogue("door_opened_dialog001")
end
else
game_api.start_dialogue("door_dialog001")
game_api.rotate_object("Room_N_1_Leaf001", -90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(11)
end
--else
-- game_api.start_dialogue("door_dialog001")
--end
else
game_api.start_dialogue("door_dialog001")
end]]
end
function on_teacher_arrived()
@@ -605,6 +585,7 @@ function on_note_pickup()
end
function on_report_card_pickup()
local player_ghost_aware = game_api.getIntValue("ghost_aware")
if player_ghost_aware then
local player_has_report_card = game_api.getIntValue("player_has_report_card")
local report_card_signed = game_api.getIntValue("report_card_signed")
@@ -848,7 +829,7 @@ end
function setDay1NightSetup()
night_time = true
print("setDay1NightSetup")
morning_did_open_door_index = 0
@@ -934,7 +915,136 @@ game_api.set_enter_night_callback(
)
game_api.set_chat_callbacks(
function()
if (game_api.is_night()) then
if (game_api.is_dawn()) then
if not (morning_can_open_door_index == 0) and not (morning_can_open_door_index==3) then
game_api.start_dialogue("phone_morning_aiperi001")
else
--TODO: add aiperi that she already came to the uni
end
else
local asked_help_locked = game_api.getIntValue("asked_help_locked")
if not (asked_help_locked == 1) then
game_api.start_dialogue("phone_night_aiperi001")
end
end
end
end,
nil,
nil
)
--[[function on_aiperi_give_keys()
game_api.pickup_item("all_keys")
end]]
function on_aiperi_opens_door()
print("on_aiperi_opens_door")
game_api.close_phone()
if (morning_can_open_door_index == 6) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 6
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Hall_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(13)
--Aiperi incoming
game_api.npc_set_position(1, 0, 0, 6.5)
game_api.set_npc_enabled(1, true)
game_api.npc_walk_to(1, 0.0, 0, 9.1, function()
game_api.start_dialogue("dialog_aiperi_morning001")
end)
game_api.player_walk_to(0.0, 0.0, 10.0, nil)
end
elseif (morning_can_open_door_index == 5) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 5
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_N_2_Leaf001", -90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(12)
--Aiperi incoming
game_api.npc_set_position(1, 0.0, 0, 6.43818)
game_api.set_npc_enabled(1, true)
game_api.npc_walk_to(1, 2.34349, 0, 6.31229, function()
game_api.start_dialogue("dialog_aiperi_morning001")
end)
game_api.player_walk_to(3.52174, 0, 6.28993, nil)
end
elseif (morning_can_open_door_index == 4) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 4
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_N_1_Leaf001", -90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(11)
--Aiperi incoming
game_api.npc_set_position(1, 0, 0, -1.7911)
game_api.set_npc_enabled(1, true)
game_api.npc_walk_to(1, 2.11898, 0, -1.7074, function()
game_api.start_dialogue("dialog_aiperi_morning001")
end)
game_api.player_walk_to(3.36055, 0, -2.0345, nil)
end
elseif (morning_can_open_door_index == 2) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 2
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_S_1_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(9)
--Aiperi incoming
game_api.npc_set_position(1, 0, 0, -1.7911)
game_api.set_npc_enabled(1, true)
game_api.npc_walk_to(1, -2.454, 0, -1.61871, function()
game_api.start_dialogue("dialog_aiperi_morning001")
end)
game_api.player_walk_to(-3.63363, 0, -1.50727, nil)
end
elseif (morning_can_open_door_index == 1) then
if (morning_did_open_door_index == 0) then
morning_did_open_door_index = 1
game_api.start_dialogue("door_unlock_dialog001")
game_api.rotate_object("Room_S_0_Leaf001", 90, 0.5, nil)
game_api.fade_object("Room_Cover_Corridor_001", 0, 0.5, function()
game_api.deactivate_interactive_object("Room_Cover_Corridor_001")
end)
game_api.switch_navigation(8)
--Aiperi incoming
game_api.npc_set_position(1, 0, 0, -9.77948)
game_api.set_npc_enabled(1, true)
game_api.npc_walk_to(1, -2.53977, 0, -9.77852, function()
game_api.start_dialogue("dialog_aiperi_morning001")
end)
game_api.player_walk_to(-3.64494, 0, -9.66711, nil)
end
end
end
function on_aiperi_morning_dialog_finished()
game_api.npc_walk_to(1, 0.764049, 0, -8.5, nil)
end
game_api.set_location_callbacks(
function()