Cześć, jaką funkcje powinienem użyć i w ogóle jak zrobić skrypt który samoczynnie wykonuje akcje po jakimś czasie.
np: Klikne na coś i po 5 sek wykona jakąś akcje, po następnych 5 następną akcje itp...
Wersja do druku
Cześć, jaką funkcje powinienem użyć i w ogóle jak zrobić skrypt który samoczynnie wykonuje akcje po jakimś czasie.
np: Klikne na coś i po 5 sek wykona jakąś akcje, po następnych 5 następną akcje itp...
addEvent :))
dzieki ^^
tylko jeszcze małe pytanie..
Jeśli dodam następny addEvent, będę musiał dodać następne function, problem zaczyna się gdy addEvent jest 12 ...Kod:function onSay(cid, item, frompos, item2, topos)
addEvent(napis, 5000, cid)
end
function napis(cid, topos)
doPlayerSendCancel(cid, "costam")
return true
end
Jak skrócić kod żeby nie pisać 12 function ??
Spróbuj zrobić tak:
Kod:addEvent(function()
doPlayerSendCancel(cid, "costam")
return true
end, 1000)
Możesz to zrobić tak jak Visher napisał, ale jeśli chodzi o zewnętrzną funkcję to musisz wiedzieć, że może być ona jednym parametrem, ale nie musi, ja używam jednego parametru, żeby się nie gubić.
Kod:(...)
addEvent(funkcja, 1000, {cid = cid, wartosc = 100, inna = 200})
function funkcja(params)
doPlayerSendTextMessage(params.cid, 22, "Wartosc wynosi" ..params.wartosc.. ", a inna wynosi " ..params.inna.. ". ")
end
Może ci to wytłumaczę na logikę. Look:
Teraz możesz ją wywoływać addEventami, ile razy chcesz, z innymi parametrami oraz odstępami czasowymi. Na przykład:Kod:function doSomething(parametr1, parametr2)
Tutaj kod funkcjiend
I tak dalej... Reasumując, raz utworzona funkcja może być wywoływana nieskończoną ilość razy.Kod:addEvent(doSomething, 5000, param1, param2)
addEvent(doSomething, 2000, otherParam1, otherParam2)