Se le dichiarazioni possono avere più requisiti che devono essere veri prima di eseguire il codice. Il valore diagonale and ti consente di combinare le dichiarazioni. Il seguente codice valuta prima se due più due uguali sei e poi se quattro non uguali sei. Se entrambe le dichiarazioni sono vere, il codice viene Eseguire.
-- non eseguireif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- eseguireif 4 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end
Creazione di una Powerup
I potenziamenti sono oggetti in-experience che danno ai giocatori abilità speciali come volare, invisibilità o velocità. Questo potenziamento aumenterà la velocità di camminata del Giocatoreogni volta che viene toccato. L'applicazione continua dei potenziamenti può rendere il giocatore andare troppo velocemente, quindi and sarà usato per controllare il limite di velocità di camminata superiore.
Configurazione del power-up
Usa questo codice con una parte semplice o un modello, come un cristallo, un monete o un globo neon.
Crea una nuova parte chiamata Powerup e inserisci uno script chiamato WalkSpeedManager .
Dichiarare una variabile chiamata speedBoost e assegnare l'oggetto padre dello script.
-- Dà un aumento di velocità temporaneo quando viene toccatolocal speedBoost = script.ParentImposta una funzione chiamata onTouch e connetti all'evento Touched dell'oggetto padre. Quindi testa e controlla il tuo lavoro.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Something touched speedBoost")endspeedBoost.Touched:Connect(onTouch)La proprietà WalkSpeed viene trovata sugli oggetti umanoidi. Usa lo stesso modello usato per creare una parte trappola e crea una condizione che controlla gli oggetti umanoidi.
Cerca parti umanoidilocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
Aumento della velocità dei giocatori
Il potenziamento della velocità farà in modo che gli avatar camminino più velocemente ogni volta che il potenziamento della velocità viene toccato. Ciò diventerà rapidamente molto, molto veloce. Il termine chiave and garantirà che i giocatori non possano andare troppo velocemente abilitando solo il potenziamento della velocità se il giocatore è sotto una certa velocità.
Se viene trovato un Umanoide, prendi il valore WalkSpeed attuale e aggiungi 10 a esso. Playtest, e il tuo avatar otterrà più veloce ogni volta che tocca il potenziamento di velocità.
Aumenta la velocità di marcia attualelocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)Nella dichiarazione if, usa il valore della chiave di parola and per aggiungere una seconda condizione che il valore attuale di WalkSpeed sia inferiore a 50. Dopo aver aggiunto il boost, il valore più veloce di WalkSpeed sarà 60.
Controlla se la velocità di marcia attuale è 50 o inferioreif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Ottimizzazione fine della potenziamento della velocità
OnTouch viene chiamato ogni volta che il potenziamento di velocità viene toccato. Ogni passo o il minimo rallentamento attiva l'evento Touched e chiama la funzione connessa. La Proprietàdella parte, CanTouch può mantenere l'evento Touched fermo. Prendi vantaggio di CanTouch e disattiva il potenziamento di velocità ogni secondo ogni volta che viene attivato.
Dopo aver applicato il potenziamento, imposta la proprietà CanTouch della parte su false. Playtest e assicurati che il potenziamento si applica 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暂停脚本,然后将 CanTouch 设置为 true。 测试并确保速度提升可以在一秒后重新应用。
scriptfinitolocal 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 finito. WalkSpeed può andare fino a 100. Il valore predefinito di WalkSpeed è 16.
Panoramica
Il tasto di parola chiave and può essere utilizzato per richiedere più condizioni prima di eseguire un pezzo di codice, come un valore che è più di 0 e meno di 100. O che se c'è un umanoide e la sua WalkSpeed è inferiore o uguale a 50.