Le dichiarazioni if possono avere più requisiti che devono essere veri prima di eseguire il codice. La parola chiave and consente 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à eseguito
if 2 + 2 == 6 and 4 ~= 6 then
print("Entrambe le dichiarazioni sono vere")
end
-- verrà eseguito
if 4 + 2 == 6 and 4 ~= 6 then
print("Entrambe le dichiarazioni sono vere")
endCrea un potenziamento
I potenziamenti sono oggetti di gioco che danno ai giocatori abilità speciali come volare, invisibilità o velocità. Questo potenziamento aumenterà la velocità di camminata del giocatore ogni volta che il potenziamento viene toccato. Applicare continuamente i potenziamenti può far andare il giocatore troppo veloce, quindi and verrà utilizzato per controllare il limite superiore della velocità di camminata.
Imposta il potenziamento
Usa questo codice con una parte semplice o un modello, come un cristallo, una moneta o un orbe neon luminoso.
Crea una nuova parte chiamata Potenziamento e inserisci uno script chiamato GestoreVelocitàCamminata.
Dichiarare una variabile chiamata speedBoost e assegnare l'oggetto genitore dello script.
-- Fornisce un potenziamento di velocità temporaneo quando viene toccatolocal speedBoost = script.ParentImposta una funzione chiamata onTouch e collegala all'evento Touched dell'oggetto genitore. Poi fai il playtest 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 hai creato una parte trappola e crea una condizione che controlla gli 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 di velocità farà camminare gli avatar più velocemente ogni volta che il potenziamento di velocità viene toccato. Questo diventerà rapidamente molto, molto veloce. La parola chiave and garantirà che i giocatori non possano andare troppo veloci abilitando il potenziamento di velocità solo se il giocatore è sotto una certa velocità.
Se viene trovato un Humanoid, prendi il valore attuale di WalkSpeed e aggiungi 10. Fai il playtest e il tuo avatar diventerà più veloce ogni volta che tocca il potenziamento di velocità.
Aumenta il WalkSpeed attualelocal 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 il WalkSpeed attuale è 50 o menoif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Affina il potenziamento di velocità
OnTouch viene chiamato ogni volta che il potenziamento di velocità viene toccato. Ogni passo o leggero rimbalzo attiva l'evento Touched e chiama la funzione collegata. La proprietà della parte, CanTouch, può impedire l'attivazione dell'evento Touched. Approfitta di CanTouch e disattiva il potenziamento di velocità per un secondo ogni volta che è stato attivato.
Dopo aver applicato il potenziamento, imposta la proprietà CanTouch della parte su false. Fai il playtest e assicurati che il potenziamento venga applicato solo una volta.
Disabilita il potenziamento di 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. Fai il playtest e assicurati che il potenziamento di 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.