Téléporter un joueur, c'est l'une des premières mécaniques que tout débutant veut ajouter : un bouton qui envoie vers une zone secrète, un checkpoint qui remet au dernier point atteint, un portail entre deux zones du jeu.
Il y a en réalité deux téléportations différentes à distinguer : déplacer un joueur dans le même serveur (change juste sa position) et téléporter vers un autre serveur ou un autre jeu (utilise TeleportService). Ce guide couvre les deux.
-- La façon la plus fiable : déplacer le HumanoidRootPart
local function teleporter(joueur, position)
local personnage = joueur.Character
if not personnage then return end
local racine = personnage:FindFirstChild("HumanoidRootPart")
if racine then
racine.CFrame = CFrame.new(position)
end
end
-- Utilisation
teleporter(joueur, Vector3.new(0, 10, 0))CFrame, jamais Position directement : CFrame porte aussi l'orientation, et évite des bugs de collision au moment du téléport.local zoneDepart = workspace.ZoneTeleport -- une Part invisible
local destination = workspace.PointArrivee.Position
zoneDepart.Touched:Connect(function(hit)
local personnage = hit.Parent
local joueur = game.Players:GetPlayerFromCharacter(personnage)
if not joueur then return end -- ignore les objets non-joueurs
personnage.HumanoidRootPart.CFrame = CFrame.new(destination)
end)GetPlayerFromCharacter, n'importe quel objet qui touche la zone (une balle, un NPC) déclenchera une erreur — Touched réagit à tout, pas seulement aux joueurs.local TeleportService = game:GetService("TeleportService")
-- Téléporte vers un autre lieu du même jeu (PlaceId différent)
local function teleporterVersLieu(joueur, placeId)
local ok, erreur = pcall(function()
TeleportService:Teleport(placeId, joueur)
end)
if not ok then
warn("Téléportation échouée : " .. erreur)
end
endlocal TeleportService = game:GetService("TeleportService")
-- Utile pour un système de lobby → partie
local joueursGroupe = { joueur1, joueur2, joueur3 }
TeleportService:TeleportPartyAsync(placeId, joueursGroupe)TeleportPartyAsync place tout le groupe sur le même nouveau serveur — indispensable pour ne pas séparer une équipe entre deux instances différentes.joueur.Character) avant de le déplacer : juste après une mort, il peut être nil pendant quelques instants.CFrame, pas Position, pour éviter que le personnage reste coincé dans un mur au moment du téléport.TeleportService de pcall : contrairement à une téléportation locale, elle dépend d'une connexion réseau qui peut échouer.Touched destiné à téléporter — sinon un projectile ou un NPC déclenchera aussi le code.La téléportation n'est qu'une des interactions possibles avec les objets du jeu. Le module Créer des Parts par Script t'apprend à générer, positionner et animer des objets dynamiquement — la base de toute mécanique de jeu.
Voir le module gratuitement →