Aller au contenu

joinQueue

Prend un ticket dans la file d'un guichet.

Un guichet est un personnage qui sert tes autres personnages un par un. Le guichet et ses visiteurs doivent tourner sur le même PC ; le Multi n'est pas nécessaire. name est le nom exact du guichet, majuscules comprises. Ton personnage ne bouge pas.

Déroulé d'un échange : le visiteur appelle exchange:joinQueue puis exchange:isMyTurn à chaque passage dans move() ; quand vient son tour, il demande l'échange avec exchange:ask. Le guichet appelle exchange:callNext puis exchange:acceptFrom. Celui qui donne pose ses objets puis valide ; celui qui reçoit vérifie l'offre (exchange:waitPartnerValidated ou exchange:expect) puis valide.

Rappeler joinQueue garde le même ticket. Le ticket prend fin quand l'échange avec name s'ouvre ou quand name appelle le suivant ; l'appel suivant en prend un nouveau, en fin de file. Déconnecté ou arrêté quand vient son tour, ton personnage perd son ticket et revient en fin de file.

Avancé. Pour les trajets personnalisés.

Signature

exchange:joinQueue(name)

Retour

true si ton personnage tient un ticket ; sinon false et la raison "no_counter" (name vide) ou "no_fleet" (file d'attente indisponible).

Exemple

exchange:joinQueue("MonGuichet")
if not exchange:isMyTurn("MonGuichet") then
    return -- pas encore appelé
end