exchange
Échanges, banque et stockage
Méthodes
putItem
Depose un objet specifique dans le stockage ou l'echange en cours. Recherche l'objet dans l'inventaire par son GID et envoie une demande de transfert au serveur. Attend la confirmation du serveur avant de continuer. Affiche un message d'erreur si l'objet n'est pas trouve dans l'inventaire.
Signature: exchange:putItem(objectGID, quantity)
Paramètres:
objectGID
number
L'ID general de l'objet (GID) - identifiant du type d'objet
quantity
number
Quantite a deposer
Exemple:
-- Deposer 50 bles (GID 289) dans la banque
exchange:putItem(289, 50)
-- Deposer plusieurs ressources
local ressources = {
{gid = 289, qty = 100}, -- Ble
{gid = 400, qty = 50}, -- Orge
{gid = 533, qty = 25}, -- Chanvre
}
for _, res in ipairs(ressources) do
exchange:putItem(res.gid, res.qty)
endNote: Le script est suspendu jusqu'a confirmation du serveur. Si l'objet n'existe pas dans l'inventaire, un message d'erreur est affiche dans le chat du bot.
getItem
Recupere un objet depuis le stockage (banque) ou l'echange. Recherche l'objet dans le stockage par son GID et envoie une demande de recuperation au serveur. Attend le delai specifie (defaut 1000ms) avant de continuer.
Signature: exchange:getItem(objectGID, quantity, delay)
Paramètres:
objectGID
number
L'ID general de l'objet (GID)
quantity
number
Quantite a recuperer
delay
number
Delai en millisecondes apres l'operation (defaut: 1000ms)
Retourne: void
Exemple:
Note: ATTENTION: Cette fonction n'attend pas de confirmation du serveur, seulement un delai fixe. Pour des operations critiques, ajoutez un delai supplementaire avec global:delay().
getAllItems
Recupere TOUS les objets presents dans le stockage (banque) vers l'inventaire du personnage. Envoie une demande de transfert complet au serveur et attend la confirmation avant de continuer. Affiche le message "le bot prend les objets presents en banque" dans le chat.
Signature: exchange:getAllItems()
Retourne: void
Exemple:
Note: Attention: assurez-vous d'avoir assez de place dans l'inventaire. Si l'inventaire est plein, seuls les objets qui peuvent etre transferes le seront.
putAllItems
Depose TOUS les objets de l'inventaire dans le stockage (banque). Envoie une demande de transfert complet au serveur et attend la confirmation avant de continuer. Affiche le message "le bot vide tous les objets presents en inventaire" dans le chat.
Signature: exchange:putAllItems()
Retourne: void
Exemple:
Note: Cette fonction depose TOUS les objets, sans filtrer par position. Pour exclure certains objets, utilisez putAllItemsExcept().
getAllItemsExcept
Recupere tous les objets du stockage SAUF ceux dont le GID est dans la liste d'exception. Parcourt les objets en banque et transfere uniquement ceux qui ne sont pas dans la liste d'exclusion. Attend la confirmation du serveur avant de continuer.
Signature: exchange:getAllItemsExcept(except)
Paramètres:
except
table
Liste des GID (table Lua) des objets a ne PAS recuperer
Retourne: void
Exemple:
Note: Affiche le message "Le bot prend les objets presents dans l'espace de stockage (getAllItemsExcept)." dans le chat.
putAllItemsExcept
Depose tous les objets de l'inventaire SAUF ceux dont le GID est dans la liste d'exception. Parcourt l'inventaire et transfere uniquement les objets non equipes qui ne sont pas dans la liste d'exclusion. Attend la confirmation du serveur avant de continuer.
Signature: exchange:putAllItemsExcept(except)
Paramètres:
except
table
Liste des GID (table Lua) des objets a garder dans l'inventaire
Retourne: void
Exemple:
Note: Seuls les objets en position 63 (inventaire non equipe) sont consideres. Les objets equipes (positions 0-15) sont automatiquement exclus. Affiche le message "Le bot vide tous les objets presents en inventaire (putAllItemsExcept)."
putKamas
Depose des kamas dans le stockage (banque) ou l'echange. Si kamas = 0, depose TOUS les kamas du personnage. Attend la confirmation du serveur avant de continuer.
Signature: exchange:putKamas(kamas)
Paramètres:
kamas
number
Montant de kamas a deposer (0 = tout deposer)
Retourne: void
Exemple:
Note: Passer 0 comme parametre depose automatiquement tous les kamas disponibles sur le personnage.
getKamas
Recupere des kamas depuis le stockage (banque). Si kamas = 0, recupere TOUS les kamas de la banque. Attend la confirmation du serveur avant de continuer.
Signature: exchange:getKamas(kamas)
Paramètres:
kamas
number
Montant de kamas a recuperer (0 = tout recuperer)
Retourne: void
Exemple:
Note: Passer 0 comme parametre recupere automatiquement tous les kamas disponibles en banque.
LaunchExchangeWithPlayer
Lance une demande d'echange avec un joueur specifique via son ID de contexte. NECESSITE UN ABONNEMENT PREMIUM. Envoie la demande d'echange au joueur et attend jusqu'a 50 secondes sa reponse (acceptation ou refus), puis attend l'ouverture de l'interface d'echange.
Signature: exchange:LaunchExchangeWithPlayer(PlayerId)
Paramètres:
PlayerId
number
L'ID de contexte du joueur (contextualId, type Double)
Retourne: boolean - true si l'echange a ete accepte et ouvert, false si refuse ou timeout
Exemple:
Note: Necessite un abonnement premium. Affiche "Vous n'avez pas d'abonnement pour les echanges avances." si non autorise. Timeout de 50 secondes pour chaque etape.
launchExchangeWithPlayerByName
Lance une demande d'echange avec un joueur via son nom. Recherche le joueur sur la map actuelle par son nom exact, puis lance l'echange avec lui.
Signature: exchange:launchExchangeWithPlayerByName(name)
Paramètres:
name
string
Le nom exact du joueur (sensible a la casse)
Retourne: boolean - true si le joueur a ete trouve et l'echange accepte, false sinon
Exemple:
Note: Le nom doit etre exactement identique (sensible a la casse). Le joueur doit etre present sur la meme map. Necessite un abonnement premium.
storageItems
Retourne la liste des GID de tous les objets presents dans le stockage (banque). Retourne une liste d'entiers representant les identifiants des types d'objets.
Signature: exchange:storageItems()
Retourne: table - Liste (table Lua) des GID des objets en stockage
Exemple:
Note: Retourne uniquement les GID, pas les quantites. Utilisez storageItemQuantity() pour obtenir la quantite d'un objet specifique.
storageItemQuantity
Retourne la quantite d'un objet specifique dans le stockage (banque). Recherche l'objet par son GID et retourne la quantite stockee. Retourne 0 si l'objet n'est pas trouve.
Signature: exchange:storageItemQuantity(GID)
Paramètres:
GID
number
L'ID general de l'objet recherche
Retourne: number - Quantite de l'objet en stockage (0 si absent)
Exemple:
storageKamas
Retourne le nombre de kamas presents dans le stockage (banque).
Signature: exchange:storageKamas()
Retourne: number - Montant de kamas en banque
Exemple:
storageItemCount
Retourne le nombre de types d'objets differents dans le stockage (banque). Compte le nombre de stacks differents (pas la quantite totale d'objets).
Signature: exchange:storageItemCount()
Retourne: number - Nombre de types d'objets differents en stockage
Exemple:
Note: Compte le nombre de stacks/types differents, pas la quantite totale. Par exemple, 100 bles et 50 orges comptent pour 2 types.
Ready
Valide l'echange en cours (equivalent a cliquer sur le bouton "Pret"). Attend 3 secondes avant d'envoyer la validation, puis attend jusqu'a 50 secondes que l'echange soit finalise.
Signature: exchange:Ready()
Retourne: void
Exemple:
Note: L'echange ne sera effectif que lorsque les DEUX parties auront valide (clique sur Pret). Le script attend que l'echange soit finalise avant de continuer. Delai initial de 3 secondes pour eviter les validations trop rapides.
leave
Quitte l'echange ou le stockage en cours. Ferme proprement le dialogue actuel (banque, echange joueur, coffre, etc.).
Signature: exchange:leave()
Retourne: void
Exemple:
Note: Peut etre utilise pour fermer n'importe quel type de dialogue (banque, echange joueur, coffre de maison, etc.).
Mis à jour

