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
endbusy[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.
Défi
MoyenLa 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é.
- Ajoute 1 au
Winsdu joueur. - Renvoie-le au départ avec
player:LoadCharacterAsync(). - 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)
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
4Mécaniques de jeu
Dalle d’accélérationDalle de sautCliquez iciLa porte à boutonPlateforme mobilePoints de contrôleLigne d’arrivée2Boucles et fonctions
Rangée de piliersConstructeur d’escalierConstructeur de tourFabrique de piècesLumière clignotantePont qui disparaît5Votre premier jeu
Votre premier Obby3Événements et joueurs
Pavé tactileSol de laveLeaderstatsQui l’a touché ?Collectionneur de piècesPorte à piècesEntraînez-vous par vous-même : Compilateur Lua en ligne