frage zu zwei funktionen

  • Hallo an alle scripter... kann mir jemand kurz beschreiben, welche funktionen diese beiden funtion haben: function Citizen.CreateThreadNow(threadFunction) function Citizen.Await(promise) die handhabung ind den scripten ist sehr selten zu finden. wäre über eine kurze info erfreut. MfG Mario

  • Moin s69saw,


    Soviel ich weiss ist Citizen.Await(promise) eine Aufgabe die einen Wert asynchron von einem Thread abfragt.

    Beispiel: https://github.com/ImagicTheCa…ter/vrp/lib/utils.lua#L52


    Citizen.CreateThreadNow(threadFunction) erzeugt einen neuen Thread

    🚧IT Administrator und Senior Developer | Frisst Bugs zum Frühstück 🤪 | C++ ist meine Bibel 📖 | 🦧Menschenversteher 😊| Musikmensch 🥰| 🚫 Keine IT Anfragen | LUA, PHP, Javascript, Java, C# sowie VB.NET | 🤣 Flauschig | 🚨Durchgeknallt

    Code
    if ($this->getBrainData($human->getBrain()) == null){
        return "Irgendwas stimmt mit Hasi nicht! 🐰";
    }
  • Hallo Hymolia, danke für die Info.


    Citizen.CreateThreadNow(threadFunction) erzeugt einen neuen Thread - also bedeutet das es ein neuen seperaten Thread erstellt oder / bzw in diesen Thread ein neuen Thread erstellt, ja?


    danke...

  • Hallo Hymolia, danke für die Info.


    Citizen.CreateThreadNow(threadFunction) erzeugt einen neuen Thread - also bedeutet das es ein neuen seperaten Thread erstellt oder / bzw in diesen Thread ein neuen Thread erstellt, ja?


    danke...

    m.M.n ein und denselben. Kannst ja mal den kompletten code posten um sicher zu gehen.

  • Citizen.CreateThread ermöglicht es dir einen Code abschnitt asynchron zu verwalten.


    mit einem weiteren Citizen.CreateThread kannst du dann unabhängig vom ersten eine weitere Funktion starten


    würde bedeuten das zahla und zahlb relativ gleichzeitig höchzählen würden.


    Citizen.Wait(timer) ist nur ein Timer der besagt wie lange das Thread pausieren soll in diesem fall sind das 2 secunden und 500 milisekunden


    Citizen.CreateThread(function()

    local Zahla = 1000

    local Zahlb = 1000

        Citizen.CreateThreadNow(function()

    while true do

    timer = 2500

    if Zahlb > 0 then

    Zahlb = Zahlb - 1

    end

    Citizen.Wait(timer)

    end

        end)


        while true do
            timer = 2500
            if Zahla > 0 then
               Zahla = Zahla - 1
            end
            Citizen.Wait(timer)
        end
    end)