Sleep in LUA

  • #1, by ZhorkyWednesday, 28. May 2014, 15:15 10 years ago
    Hey Leute,
    Ich hätte mal wieder ne kleine Frage.
    Und zwar scripte ich gerade testweise an einem Screen bei dem sich alle 5 Minuten der Hintergrund mit kompletter NPC Besatzung ändert und möchte das über eine Art Sleepfunktion lösen.
    Leider finde ich keine passende Funktion dafür. Ich habe mir eine Funktion über os.clock geschrieben, leider friert dabei die komplette Engine jeweils ein.
    Habt Ihr eventuell einen Lösungsansatz?

    Newbie

    4 Posts


  • #2, by SimonSWednesday, 28. May 2014, 16:55 10 years ago
    Hallo, sorry, aber da musste ich ein bisschen schmunzeln. Das, was du in Lua ausführst, ist nicht nebenläufig, d.h. es wird im Renderthread ausgeführt, der alle 16ms zeichnen muss. Der darf nicht länger als 10ms oder so unterbrochen werden sonst ruckelt es oder es friert ein. Ich würde es erstmal ohne lua versuchen, also eine Aktion starten, in der du 5s wartet und dann deine Aktionen durchführt. Die musst du natürlich beenden oder prüfen, wenn der Charakter nicht mehr auf der Szene ist, ausser es soll auch dann passieren.

    Thread Captain

    1580 Posts

  • #3, by afrlmeWednesday, 28. May 2014, 17:39 10 years ago
    in a way it is possible using the getTime() function with some variables & if queries, but you have to be very careful when running loops with Lua as they can freeze/overload the vs player.

    while & repeat loops for instance can easily cause the vs player to crash.

    Although not as efficient as using Lua, it may be better to create the initial loop inside of the editor using a combination of if queries, conditions &/or values & the jump to x action part action, which is used for creating loops via the editor. If you want to use Lua for part of it, then you can create functions, scripts whatever via the script section which you can call via the call script action part, or execute via the execute a script action part. You can even directly write scripts inside of the execute a script action part.

    Imperator

    7278 Posts