Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2020-04-13, 12:21


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2720 dni
Posty: 288

Piwa: 16

Respekt: 90

Witam. Wie kto?, czy istnieje w MTA co? podobnego do funkcji sleep? Pr?bowa?em co? takiego:

function callFunctionWithSleeps(calledFunction, ...) 
    local co = coroutine.create(calledFunction)
    coroutine.resume(co, ...)
end 
  
function sleep(time) 
    local co = coroutine.running() 
    local function resumeThisCoroutine()
        coroutine.resume(co) 
    end 
    setTimer(resumeThisCoroutine, time, 1)
    coroutine.yield()
end

function output()
sleep(5000)
outputChatBox("Hello world!",getRootElement(), 255, 255, 255, true)
end
addCommandHandler("sleep", output)

callFunctionWithSleeps(output, 1) 
-- strona serwera

i po wpisaniu cmd wysy?a si? hello world, ale nie po 5s, tylko po jako? 2-4 i to raczej przez to, ?e mn?stwo b??d?w wywala xD

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-13, 12:40


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Logiczne, ?e wywala. Wi?kszo?? zmiennych nie jest zdefiniowana, co, time. Funkcj? jak coroutine.running i ca?a reszta.

Nie lepiej u?y? bezpo?rednio funkcji

Więcej informacji znajdziesz w Wikipedii MTA:

setTimer

z pojedynczymi powt?rzeniem (czas 5000ms).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-13, 13:24


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2720 dni
Posty: 288

Piwa: 16

Respekt: 90

Dobra, z?y przyk?ad poda?em. Timerem powtarza tylko ca?? funkcje z tego co mi wiadomo, dlatego ten sleep jest potrzebny. Chc? go wykorzysta? w evencie onPedWasted, aby ped nie tworzy? si? od razu po ?mierci poprzedniego.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-13, 13:33


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Dalej nie rozumiem specjalnego definiowania funkcji sleep. Nie wspomnia?e? nic o tych niezdefiniowanych zmiennych...

ped1 = createPed(112, 0, 0, 0) --Create our Ped
function died()
    setTimer(createPed, 3000, 1, 112, 0, 0, 0) -- tworzysz takiego samego peda po 3 sekundach
end
addEventHandler("onPedWasted", ped1, died)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-13, 14:30


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2720 dni
Posty: 288

Piwa: 16

Respekt: 90

Okej, to teraz jak to naprawi??

local zombie = setTimer(createZombie, 5000, 1, 2486.63354, -1659.91125, 13.33595, 0, 27, 0, 0)
setElementData(zombie, "zombies_respawn", true)

DB3:
Bad argument @setElementData, expected element at argument 1, got lua-timer.


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-13, 19:44


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

function stworzPeda()
-- tutaj kod na tworzenie peda i ustawianie mu elementDaty
end
setTimer(stworzPeda, 5000, 1)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Szyszka947
Wysłany: 2020-04-13, 19:50


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2720 dni
Posty: 288

Piwa: 16

Respekt: 90

dobra, znalaz?em inny spos?b. Dzieki. Do zamkniecia. (respektu nadal nie moge ci podarowa? xd)

Postaw piwo autorowi tego posta
 

 
Tagi: sleep
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » sleep Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku