220 lines
5.6 KiB
Lua
220 lines
5.6 KiB
Lua
-- ============================================
|
|
-- NPC PATROL WAYPOINTS
|
|
-- ============================================
|
|
|
|
bathroom_door_opened = false
|
|
player_door_opened = false
|
|
alik_door_opened = false
|
|
|
|
|
|
|
|
local function step2()
|
|
game_api.npc_walk_to(0, 1.03298, 0, -4.61801, step1)
|
|
end
|
|
|
|
function step1()
|
|
game_api.npc_walk_to(0, -6.65295, 0, 4.15397, step2)
|
|
end
|
|
|
|
step1()
|
|
|
|
game_api.start_dialogue("dialog_start001")
|
|
|
|
phone_picked_up = false
|
|
journal_picked_up = false
|
|
|
|
function on_npc_interact(npc_index)
|
|
if npc_index == 2 then
|
|
local player_alik_aware = game_api.getIntValue("player_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
|
|
if npc_index == 0 then
|
|
game_api.start_dialogue("dialog_female_student001")
|
|
end
|
|
if npc_index == 1 then
|
|
game_api.start_dialogue("dialog_female_student002")
|
|
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 pickup_phone_zone001_enter_callback()
|
|
print("pickup_phone_zone001_enter_callback--!")
|
|
if (not phone_picked_up) or (not journal_picked_up) then
|
|
game_api.start_dialogue("dialog_phone001")
|
|
game_api.switch_navigation(1)
|
|
end
|
|
end
|
|
|
|
function pickup_phone_zone001_exit_callback()
|
|
print("pickup_phone_zone001_exit_callback--!")
|
|
game_api.switch_navigation(0)
|
|
end
|
|
|
|
game_api.set_trigger_zone_callbacks("pickup_phone_zone001",
|
|
pickup_phone_zone001_enter_callback,
|
|
pickup_phone_zone001_exit_callback
|
|
)]]
|
|
|
|
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 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
|
|
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 (alik_door_opened == false) then
|
|
alik_door_opened = true
|
|
game_api.start_dialogue("door_alik_dialog001")
|
|
|
|
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")
|
|
end)
|
|
|
|
if (bathroom_door_opened) then
|
|
game_api.switch_navigation(5) -- all open
|
|
else
|
|
game_api.switch_navigation(4) --b
|
|
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")
|
|
end
|
|
)
|
|
|
|
game_api.set_location_callbacks(
|
|
function()
|
|
print("Enter location dorm")
|
|
local hp = game_api.getFloatValue("player_hp")
|
|
game_api.set_player_hp(hp)
|
|
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.switch_navigation(0)
|
|
print("Lua script loaded successfully--!") |