-
Sziasztok!
Egy olyan kérdésem lenne ,hogy több setTimer sor van. És amikor ezek egyszer lefutnak, akkor állandóan ismétlődik a folyamat, és nem hagyja abba. Ezt hogyan lehet megoldani?
Itt van a példa:
function tesztsorok()
setTimer(function()
outputChatBox(\"TESZT\")
end, 2000, 0)
setTimer(function()
outputChatBox(\"TESZT2\")
end, 2000, 0)
end
A probléma az az, hogy állandóan ismétlődik és nem hagyja abba az első lefutás után.
Ezt hogy lehetne megoldani?
-
function tesztsorok()
setTimer(function()
outputChatBox(\"TESZT\")
end, 2000, 1)
end
A setTimer funkció végén, a második számnál azt kell megadni hogy hányszor fusson le a folyamat, ha nullát írsz a végtelenségig fog futni, ha négyet írsz négyszer fog végigmenni a timer-en belüli funkció.
EDIT: Ajánlom még figyelmedbe a következő funkciót: \'killTimer\'
-
Köszi a választ, és a segítséget! :)
-
Nem probléma!
-
Egy kérdés még!
Valamiért egyben küldi el, és nem 2-3 másodpercenként a szöveget. Ez miért van?
Tehát nem 2-3 másodpercenként egyet, hanem 2-3 másodperc után az egészet egyben
-
Mert az első szám az azt jelenti hogy hány milliszekundum múlva hajtsa végre a funkciót. Tulajdonképpen mit is szeretnél csinálni?
-
Egy olyat, hogy írjon egy sort. Mondjuk a sor: teszt 1.
Rá 2 másodpercre megint egy teszt2.
Utána mondjuk megint 2 másodpercre teszt3, és így tovább
De én ezt megcsináltam, ugye sorba setTimer-el de az elsőnél vár, a többit meg csak úgy oda \"hányja\"
-
Rakd ki ide az eddigi scriptet.
-
setTimer(function()
outputChatBox(\"Teszt1\")
end, 4000, 1)
setTimer(function()
outputChatBox(\"Teszt2\")
end, 4000, 1)
setTimer(function()
outputChatBox(\"teszt3\")
end, 4000, 1)
setTimer(function()
outputChatBox(\"teszt4\")
end, 4000, 1)
setTimer(function()
outputChatBox(\"teszt5\")
end, 4000, 1)
setTimer(function()
outputChatBox(\"teszt6\")
end, 4000, 1)
setTimer(function()
outputChatBox(\"teszt7\")
end, 4000, 1)
-
-- 1000 milliszekundum = 1 másodperc. Két másodperc esetében 2000 milliszekundum.
outputChatBox(\"Teszt1\")
setTimer(function()
outputChatBox(\"Teszt2\")
setTimer(function()
outputChatBox(\"teszt3\")
setTimer(function()
outputChatBox(\"teszt4\")
setTimer(function()
outputChatBox(\"teszt5\")
setTimer(function()
outputChatBox(\"teszt6\")
setTimer(function()
outputChatBox(\"teszt7\")
end, 2000, 1)
end, 2000, 1)
end, 2000, 1)
end, 2000, 1)
end, 2000, 1)
end, 2000, 1)
Azért hányja oda csak úgy a többit mert azokra egységesen volt beállítva a timer, tehát mindre 4 másodperc késleltetést raktál, nem adtad hozzá még az előző timerek idejét. Ha nem akarsz matekozni akkor timeren belül hozod létre a timert, ez esetben az outputChatBox funkció mellé, de attól még nyugodtan írhatsz oda több funkciót is. Ha az első megoldást akarod használni akkor minden új timerhez hozzá kell adni az előzőnek az idejét, tehát:
setTimer(function()
outputChatBox(\"teszt1\")
end, 2000, 1)
setTimer(function()
outputChatBox(\"tesz2\")
end, 4000, 1)
setTimer(function()
outputChatBox(\"teszt3\")
end, 6000, 1)
-- és így tovább
De az első módszert ajánlom mert az egyértelműen sokkal egyszerűbb.
-
Hali! Nagyon szépen köszönöm az összes segítséget! :)
Kellemes ünnepeket, zárom a témát.
-
[gmod]Én pedig helyezem.[/gmod]