Le dichiarazioni if possono avere più requisiti che devono essere veri prima di eseguire il codice. La parola chiave and ti permette di combinare le dichiarazioni. Il seguente codice valuta prima se due più due è uguale a sei e poi se quattro non è uguale a sei. Se entrambe le dichiarazioni sono vere, il codice verrà eseguito.
-- non verrà eseguitoif 2 + 2 == 6 and 4 ~= 6 thenprint("Entrambe le dichiarazioni sono vere")end-- verrà eseguitoif 4 + 2 == 6 and 4 ~= 6 thenprint("Entrambe le dichiarazioni sono vere")end
Crea un powerup
I powerup sono oggetti all'interno dell'esperienza che forniscono ai giocatori abilità speciali come volare, invisibilità o velocità. Questo powerup aumenterà la velocità di camminata del giocatore ogni volta che il powerup viene toccato. L'applicazione continua dei potenziamenti può far andare il giocatore troppo veloce, quindi and verrà utilizzato per controllare il limite superiore della velocità di camminata.
Imposta il powerup
Usa questo codice con una parte semplice o un modello, come un cristallo, una moneta o un'orbita neon luminosa.
Crea una nuova parte chiamata Powerup e inserisci uno script chiamato WalkSpeedManager.
Dichiara una variabile chiamata speedBoost e assegna l'oggetto genitore dello script.
-- Fornisce un potenziamento temporaneo alla velocità quando viene toccatolocal speedBoost = script.ParentImposta una funzione chiamata onTouch e collegala all'evento Touched dell'oggetto genitore. Poi prova il gioco e controlla il tuo lavoro.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Qualcosa ha toccato speedBoost")endspeedBoost.Touched:Connect(onTouch)La proprietà WalkSpeed si trova sugli oggetti Humanoid. Usa lo stesso schema utilizzato quando crei una parte trappola e crea una condizione che verifica la presenza di oggetti Humanoid.
Cerca parti Humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("È stato trovato un Humanoid")endend
Aumenta la velocità dei giocatori
Il potenziamento della velocità farà sì che gli avatar camminino più velocemente ogni volta che il potenziamento viene toccato. Questo diventerà rapidamente molto, molto veloce. La parola chiave and garantirà che i giocatori non possano andare troppo veloce abilitando il potenziamento della velocità solo se il giocatore è sotto una certa velocità.
Se viene trovato un Humanoid, prendi il valore attuale di WalkSpeed e aggiungi 10. Prova il gioco e il tuo avatar diventerà più veloce ogni volta che tocca il potenziamento.
Aumenta l'attuale WalkSpeedlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)Nella dichiarazione if, usa la parola chiave and per aggiungere una seconda condizione che il valore attuale di WalkSpeed sia inferiore a 50. Dopo aver aggiunto il potenziamento, il valore massimo di WalkSpeed sarà 60.
Controlla se l'attuale WalkSpeed è 50 o menoif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Affina il potenziamento della velocità
OnTouch viene chiamato ogni volta che il potenziamento della velocità viene toccato. Ogni passo o anche il più lieve rimbalzo attivano l'evento Touched e chiamano la funzione collegata. La proprietà della parte, CanTouch, può evitare che l'evento Touched venga attivato. Sfrutta CanTouch e disabilita il potenziamento della velocità per un secondo ogni volta che viene attivato.
Dopo aver applicato il potenziamento, imposta la proprietà CanTouch della parte su false. Prova il gioco e assicurati che il potenziamento venga applicato solo una volta.
Disabilita il potenziamento della velocitàlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)Usa task.wait(1) per mettere in pausa lo script per un secondo, quindi imposta CanTouch su true. Prova il gioco e assicurati che il potenziamento della velocità possa essere riapplicato dopo un secondo.
Script completatolocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)Gioca con i valori nello script completato. WalkSpeed può arrivare fino a 100. Il valore predefinito di WalkSpeed è 16.
Riepilogo
La parola chiave and può essere utilizzata per richiedere più condizioni prima di eseguire un blocco di codice, come un valore che è maggiore di 0 e minore di 100. Oppure che se c'è un Humanoid e la sua WalkSpeed è minore o uguale a 50.