Menu
CoddyTech

Ligne d’arrivée

Fait partie de la section Scripting de jeux Roblox du Journey Lua de Coddy. Leçon 23 sur 24.

La ligne d’arrivée compte une victoire et renvoie le gagnant au départ. player:LoadCharacterAsync() donne au joueur un nouveau personnage à son point d’apparition, sans attendre le délai de réapparition.

Cela prend un instant. En attendant l’arrivée du nouveau personnage, la ligne d’arrivée continue de déclencher Touched pour les autres parties du corps de l’ancien personnage, et chacune d’elles compterait une victoire. Une protection contre les déclenchements répétés empêche cela, et il en faut une par joueur, afin que deux joueurs qui terminent en même temps comptent tous les deux. Conserve-la dans une table où le joueur est la clé :

local busy = {}
if not busy[player] then
	busy[player] = true
	-- comptabiliser la victoire, renvoyer le joueur
	task.wait(1)
	busy[player] = nil
end

busy[player] lit ou définit l’entrée de la table pour ce joueur, et une entrée manquante vaut nil. busy[player] = nil la supprime, afin que son prochain passage compte à nouveau.

challenge icon

Défi

Moyen

La plaque dorée est l’arrivée, et ce script se trouve à l’intérieur. Chaque joueur a déjà leaderstats avec Wins à 0, et le mécanisme anti-rebond par joueur est configuré.

  1. Ajoute 1 au Wins du joueur.
  2. Renvoie-le au départ avec player:LoadCharacterAsync().
  3. Efface ensuite son mécanisme anti-rebond, afin que sa prochaine course soit comptabilisée.

Appuie sur Play, cours jusqu’à l’arrivée deux fois, puis appuie sur Check.

Essayez vous-même

local Players = game:GetService("Players")
local finish = script.Parent
local busy = {}

finish.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if player and not busy[player] then
		busy[player] = true
		-- 1. Ajoutez 1 aux Wins du joueur
		-- 2. Renvoyez le joueur au départ
		-- 3. Après 1 seconde, permettez-lui de gagner à nouveau
	end
end)
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Scripting de jeux Roblox

Entraînez-vous par vous-même : Compilateur Lua en ligne