local RS = game:GetService("ReplicatedStorage") local Remote = RS:FindFirstChild("Remote") or RS:FindFirstChild("Remotes") if not Remote then warn("❌ ไม่เจอ Remote") return end -- หา NPC แบบตรงจุด local function getNPCId(timeout) local start = tick() repeat for _, npc in pairs(workspace:GetDescendants()) do if npc:IsA("Model") and npc:FindFirstChildOfClass("Humanoid") and npc:FindFirstChild("NPCID") then return npc.NPCID.Value end end task.wait(0.5) until tick() - start > timeout return nil end pcall(function() print("▶ วาร์ปไปหา NPC") Remote.PlayerRegionChange:FireServer("BeachCity") task.wait(4) print("▶ กำลังหา NPC") local npcId = getNPCId(15) if not npcId then warn("❌ ไม่เจอ NPC") return end print("✅ เจอ NPC:", npcId) print("▶ อุ้ม NPC") Remote.NPC.Interact:FireServer(npcId, "PromptTriggered") task.wait(3) print("▶ กลับ Plot") Remote.PlayerRegionChange:FireServer("Plot") task.wait(2) print("▶ แจ้งอยู่ใน Plot") if Remote:FindFirstChild("PlayerInPlot") then Remote.PlayerInPlot:FireServer() end task.wait(2) print("▶ ปล่อย NPC") if Remote:FindFirstChild("NpcHold") then Remote.NpcHold:FireServer("Release", npcId) end end)