Skip to content

API wait fr

Codex edited this page Sep 26, 2026 · 1 revision

wait

ClassicUO / Basic IDE

Home · API · Journal

Suspend le script courant pendant un nombre de millisecondes. À utiliser entre des vérifications répétées pour éviter une boucle qui tourne sans pause.

Syntaxe exacte

wait(ms:Integer) -> Unit

Paramètres

  • ms — Millisecondes entières : 1000 représente une seconde. Utiliser 0..2147483647. Ce ne sont ni des pas, ni des secondes, ni un délai de confirmation du serveur.

Retour

Unit : aucun résultat. Appeler sur une ligne séparée. Une attente terminée ne prouve ni déplacement d’objet, ni fin de sort, ni connexion ; vérifier l’état séparément.

Comportement

  • La procédure courante attend ; la boucle du jeu et les autres scripts continuent. L’annulation du script interrompt l’attente par son jeton d’annulation. Ordonnancement et gestionnaires peuvent prolonger le temps réel ; aucun minutage exact des images n’est garanti. Basic propose aussi Delay avec Await pour une tâche asynchrone.
  • UO.Wait divise une durée positive en tranches de 25 ms maximum et vérifie les événements UO entre elles. wait et sleep appellent la même fonction Basic et traitent les timers et callbacks présents, mais ne distribuent pas eux-mêmes les anciens événements UO. Ils ne sont pas totalement interchangeables avec UO.SetEvent.
  • Zéro ne produit pas de vraie pause et ne convient pas pour ralentir une boucle rapide. Une durée négative ne signifie pas infini : UO.Wait la ramène à 0 ; wait/sleep peuvent la refuser avec des callbacks actifs, tandis que le pont client sans eux n’attend pas. Utiliser uniquement des durées non négatives.
  • Basic.WaitUntil · Basic.Timers · Delay

Fonctions internes : de l’appel au résultat

Suspend le script courant pendant un nombre de millisecondes. À utiliser entre des vérifications répétées pour éviter une boucle qui tourne sans pause.

1. Wait

Millisecondes entières : 1000 représente une seconde. Utiliser 0..2147483647. Ce ne sont ni des pas, ni des secondes, ni un délai de confirmation du serveur.

UO.Wait divise une durée positive en tranches de 25 ms maximum et vérifie les événements UO entre elles. wait et sleep appellent la même fonction Basic et traitent les timers et callbacks présents, mais ne distribuent pas eux-mêmes les anciens événements UO. Ils ne sont pas totalement interchangeables avec UO.SetEvent.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; fonction Wait.

2. WaitWithTimers

La procédure courante attend ; la boucle du jeu et les autres scripts continuent. L’annulation du script interrompt l’attente par son jeton d’annulation. Ordonnancement et gestionnaires peuvent prolonger le temps réel ; aucun minutage exact des images n’est garanti. Basic propose aussi Delay avec Await pour une tâche asynchrone.

Zéro ne produit pas de vraie pause et ne convient pas pour ralentir une boucle rapide. Une durée négative ne signifie pas infini : UO.Wait la ramène à 0 ; wait/sleep peuvent la refuser avec des callbacks actifs, tandis que le pont client sans eux n’attend pas. Utiliser uniquement des durées non négatives.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/Interpreter.Timers.cs; fonction WaitWithTimers.

3. Wait

Millisecondes entières : 1000 représente une seconde. Utiliser 0..2147483647. Ce ne sont ni des pas, ni des secondes, ni un délai de confirmation du serveur.

La procédure courante attend ; la boucle du jeu et les autres scripts continuent. L’annulation du script interrompt l’attente par son jeton d’annulation. Ordonnancement et gestionnaires peuvent prolonger le temps réel ; aucun minutage exact des images n’est garanti. Basic propose aussi Delay avec Await pour une tâche asynchrone.

Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction Wait.

Exemples

wait — 1

# wait — 1
#
# Suspend le script courant pendant un nombre de millisecondes. À utiliser entre des
# vérifications répétées pour éviter une boucle qui tourne sans pause.
#
# Unit : aucun résultat. Appeler sur une ligne séparée. Une attente terminée ne prouve ni
# déplacement d’objet, ni fin de sort, ni connexion ; vérifier l’état séparément.

SUB Main()
    # 250 correspond à un quart de seconde. L’instruction suivante s’exécute après l’attente ; Delay
    # complete est du texte d’exemple, pas un résultat renvoyé.

    wait(250)
    UO.Print("Delay complete")
END SUB

Explication des paramètres et du déroulement:

  • 250 correspond à un quart de seconde. L’instruction suivante s’exécute après l’attente ; Delay complete est du texte d’exemple, pas un résultat renvoyé.

wait — 2

# wait — 2
#
# Suspend le script courant pendant un nombre de millisecondes. À utiliser entre des
# vérifications répétées pour éviter une boucle qui tourne sans pause.
#
# Unit : aucun résultat. Appeler sur une ligne séparée. Une attente terminée ne prouve ni
# déplacement d’objet, ni fin de sort, ni connexion ; vérifier l’état séparément.

SUB Main()
    # WaitForOnline est définie entièrement. 20 autorise au maximum vingt pauses de 250 ms. La
    # connexion est vérifiée avant les pauses et après la dernière. L’auxiliaire renvoie Connected
    # (1/0) ; l’attente ne renvoie rien et ne connecte pas au serveur.

    RETURN WaitForOnline(20)
END SUB

SUB WaitForOnline(checks)
    WHILE checks > 0
        IF UO.Connected() THEN
            RETURN 1
        END IF
        wait(250)
        checks = checks - 1
    WEND
    RETURN UO.Connected()
END SUB

Explication des paramètres et du déroulement:

  • WaitForOnline est définie entièrement. 20 autorise au maximum vingt pauses de 250 ms. La connexion est vérifiée avant les pauses et après la dernière. L’auxiliaire renvoie Connected (1/0) ; l’attente ne renvoie rien et ne connecte pas au serveur.

wait — 3

# wait — 3
#
# Suspend le script courant pendant un nombre de millisecondes. À utiliser entre des
# vérifications répétées pour éviter une boucle qui tourne sans pause.
#
# Unit : aucun résultat. Appeler sur une ligne séparée. Une attente terminée ne prouve ni
# déplacement d’objet, ni fin de sort, ni connexion ; vérifier l’état séparément.

SUB Main()
    # La boucle lit le poids exactement trois fois, avec deux pauses de 500 ms entre les lectures,
    # sans pause finale. Affiche la première valeur puis les changements. previous mémorise la
    # comparaison, sans modifier le poids du jeu.

    VAR previous = -1
    VAR checks = 0
    WHILE checks < 3
        VAR weight = UO.Weight()
        IF weight <> previous THEN
            UO.Print("Weight: " + CStr(weight))
            previous = weight
        END IF
        checks = checks + 1
        IF checks < 3 THEN
            wait(500)
        END IF
    WEND
END SUB

Explication des paramètres et du déroulement:

  • La boucle lit le poids exactement trois fois, avec deux pauses de 500 ms entre les lectures, sans pause finale. Affiche la première valeur puis les changements. previous mémorise la comparaison, sans modifier le poids du jeu.

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally