-- ============================================ -- NPC PATROL WAYPOINTS -- ============================================ bathroom_door_opened = false player_door_opened = false alik_door_opened = false game_api.start_dialogue("dialog_start001") phone_picked_up = false journal_picked_up = false function on_npc_interact(npc_index) if npc_index == 0 then local player_alik_aware = game_api.getIntValue("alik_aware") local player_container_aware = game_api.getIntValue("player_container_aware") if player_container_aware == 1 then game_api.start_dialogue("dialog_alik003") elseif player_alik_aware == 1 then game_api.start_dialogue("dialog_alik002") game_api.setIntValue("player_container_aware", 1) else game_api.start_dialogue("dialog_alik001") end end end function on_phone_pickup() game_api.pickup_item("phone") game_api.deactivate_interactive_object("Phone001") game_api.start_dialogue("dialog_phone_pickup001") phone_picked_up = true game_api.quest_set_objective_completed("tutorial_take_items", "take_phone") end function on_journal_pickup() game_api.pickup_item("journal") game_api.deactivate_interactive_object("Journal001") game_api.start_dialogue("dialog_journal_pickup001") journal_picked_up = true game_api.quest_set_objective_completed("tutorial_take_items", "take_journal") end function ladder_zone001_enter_callback() game_api.start_dialogue("dialog_second_floor001") end game_api.set_trigger_zone_callbacks("ladder_zone001", ladder_zone001_enter_callback, nil ) function taxi_zone001_enter_callback() game_api.start_dialogue("dialog_taxi001") game_api.call_tutorial_taxi_required() end game_api.set_trigger_zone_callbacks("taxi_zone001", taxi_zone001_enter_callback, nil ) function on_bed_sleep() if (not game_api.is_night()) then game_api.start_dialogue("dialog_no_sleep001") else game_api.start_cutscene("sleep_cutscene001") game_api.setIntValue("need_sleep", 0) game_api.set_player_hp(200) --game_api.set_day() - done in cutscene local day = game_api.getIntValue("day") game_api.setIntValue("day", day + 1) print("Setting to day 1----x") end end function on_alik_bathroom_click() game_api.start_dialogue("door_bathroom_alik_dialog001") end function on_locked_door_click() game_api.start_dialogue("door_locked_dialog001") end function on_sleep_cutscene() print("Cutscene 2 done!") night_time = true game_api.set_day() end function on_alik_door_click() if (game_api.is_night()) then game_api.start_dialogue("door_alik_dialog002") else if (alik_door_opened == false) then game_api.start_dialogue("door_alik_dialog001") end end end function alik_door_open_callback() if (alik_door_opened == false) then alik_door_opened = true game_api.rotate_object("Door_Room_-1_-1_1_Leaf_001", -90, 0.5, nil) game_api.fade_object("Room_Cover_LivingRoom_W_S_2_001", 0, 0.5, function() game_api.deactivate_interactive_object("Room_Cover_LivingRoom_W_S_2_001") game_api.set_npc_enabled(0, true) end) if (bathroom_door_opened) then game_api.switch_navigation(5) -- all open else game_api.switch_navigation(4) --b end end end function closeAlikDoor() if (alik_door_opened) then alik_door_opened = false game_api.activate_interactive_object("Room_Cover_LivingRoom_W_S_2_001") game_api.set_object_alpha("Room_Cover_LivingRoom_W_S_2_001", 1) game_api.set_object_rotation("Door_Room_-1_-1_1_Leaf_001", 0) game_api.set_npc_enabled(0, false) if (bathroom_door_opened) then game_api.switch_navigation(3) -- closed only alik (a) else game_api.switch_navigation(2) --closed bathroom and alik (ba) end end end function on_player_bathroom_click() if (bathroom_door_opened == false) then bathroom_door_opened = true game_api.start_dialogue("door_bathroom_dialog001") game_api.rotate_object("Door_Bath_-1_1_1_Leaf_002", -90, 0.5, nil) game_api.fade_object("Room_Cover_Bath_W_N_2_001", 0, 0.5, function() game_api.deactivate_interactive_object("Room_Cover_Bath_W_N_2_001") end) if (player_door_opened) then if (alik_door_opened) then game_api.switch_navigation(5) ---all open else game_api.switch_navigation(3) -- a end else game_api.switch_navigation(1) --ca end end end function on_player_door_click() if (not phone_picked_up) or (not journal_picked_up) then game_api.start_dialogue("dialog_phone001") else if (player_door_opened == false) then player_door_opened = true game_api.player_stop() game_api.rotate_object("Door_Room_-1_1_1_Leaf_001", 90, 0.25, nil) game_api.fade_object("Room_Cover_Main_Hall_And_Corridors_002", 0, 0.5, function() game_api.deactivate_interactive_object("Room_Cover_Main_Hall_And_Corridors_002") end) game_api.fade_object("Room_Cover_Utility_W_N_3_001", 0, 0.5, function() game_api.deactivate_interactive_object("Room_Cover_Utility_W_N_3_001") end) game_api.fade_object("Room_Cover_Utility_W_S_3_001", 0, 0.5, function() game_api.deactivate_interactive_object("Room_Cover_Utility_W_S_3_001") end) if (bathroom_door_opened) then game_api.switch_navigation(3) --a else game_api.switch_navigation(2) --ba end end end end game_api.set_enter_night_callback( function() game_api.start_dialogue("dialog_video001") closeAlikDoor() end ) game_api.set_chat_callbacks( function() if (not game_api.is_night()) and (not game_api.is_dawn()) then local aiperi_chat_opened = game_api.getIntValue("aiperi_chat_opened") if aiperi_chat_opened == 0 then game_api.setIntValue("aiperi_chat_opened", 1) local aiperi_knife_aware = game_api.getIntValue("aiperi_knife_aware") local aiperi_talked_after_knife = game_api.getIntValue("aiperi_talked_after_knife") if (player_hold_knife) and (aiperi_talked_after_knife == 0) then game_api.start_dialogue("dialog_chat_aiperi003") game_api.setIntValue("aiperi_talked_after_knife", 1) else if aiperi_knife_aware == 0 then local lection_is_over = game_api.getIntValue("lection_is_over") if (lection_is_over == 1) then game_api.start_dialogue("dialog_chat_aiperi002") else game_api.start_dialogue("dialog_chat_aiperi001") end end end end end end, function() local parents_chat_opened = game_api.getIntValue("parents_chat_opened") if parents_chat_opened == 0 then game_api.setIntValue("parents_chat_opened", 1) game_api.start_dialogue("dialog_chat_parents001") end end, function() local news_chat_opened = game_api.getIntValue("news_chat_opened") if news_chat_opened == 0 then game_api.setIntValue("news_chat_opened", 1) game_api.start_dialogue("dialog_chat_news001") end end ) function on_aiperi_dialog_over() game_api.close_phone() end game_api.set_location_callbacks( function() print("Enter location dorm") local hp = game_api.getFloatValue("player_hp") game_api.set_player_hp(hp) game_api.set_teleport_active(0, false) if (game_api.is_night()) then closeAlikDoor() end end, function() print("Exit location dorm") local hp = game_api.get_player_hp() game_api.setFloatValue("player_hp", hp) end ) game_api.deactivate_interactive_object("Room_Cover_LivingRoom_W_N_2_001") game_api.rotate_object("Door_Utility_-1_1_2_Leaf_001", 90, 0.01, nil) game_api.rotate_object("Door_Utility_-1_-1_2_Leaf_001", -90, 0.01, nil) game_api.set_call_taxi_callback( function() game_api.set_teleport_active(0, true) game_api.set_trigger_zone_enabled(0, false) end ) game_api.set_npc_enabled(0, false) game_api.switch_navigation(0) print("Lua script loaded successfully--!")