0.5.1 - 18/10/2026
✨ Ajouté
Créez un bot sans écrire une seule ligne de code grâce au nouveau Studio d’Asteroboard : dessinez un parcours sur la carte du monde en définissant les étapes auxquelles votre bot doit se rendre, l’ordre dans lequel il doit les suivre et les actions à effectuer à chaque étape. Une étape peut être une carte, une zone que vous dessinez, une sous-zone, une zone ou encore des cartes que le bot trouve en cours de jeu à partir d’un monstre, d’une ressource ou de coordonnées. Le bot se déplace automatiquement d’une étape à l’autre.
Rendez vos parcours intelligents grâce à des conditions qui déterminent si une étape ou une action doit être exécutée et quand le parcours doit prendre fin. Combinez-les avec All of, Any of et Not, et utilisez le temps de jeu, les tours, l’heure de la journée ou une probabilité. Avec
@asterobot:base, vous pouvez également utiliser le niveau du personnage, ses kamas, ses points de vie, le contenu de son inventaire, ses objets, les niveaux de ses métiers et sa position.Les parcours continuent même en cas de problème : pour chaque étape et chaque action, choisissez d’arrêter le parcours, de passer à la suite ou de réessayer. Les interruptions permettent de lancer un autre parcours lorsqu’une condition est remplie, par exemple : « inventaire rempli à plus de 90 % : aller à la banque », puis de reprendre exactement là où le bot s’était arrêté.
Des actions prédéfinies permettent d’attendre, d’attendre qu’une condition soit remplie, de lancer un autre parcours, d’écrire dans la console ou de terminer le parcours. Toutes les actions et conditions fournies par vos packages sont également disponibles dans la palette. Les actions qui interagissent avec le jeu, comme la récolte ou le combat, sont fournies par les packages, y compris les vôtres.
Chaque parcours peut disposer de ses propres paramètres, configurables dans l’onglet Settings du bot, comme n’importe quel paramètre de package. Un même parcours peut ainsi être utilisé par plusieurs bots.
Lancez-vous en un clic : activez Start with the Studio dans New package pour que le nouveau package exécute le parcours que vous avez créé. Consultez et copiez les parcours de n’importe quel package, y compris ceux du marketplace, depuis sa carte Plans.
Intégrez vos propres fonctions au Studio : un package peut exposer ses fonctions sous forme d’actions et de conditions, avec leurs champs respectifs. Le Studio les répertorie ensuite lors de la création d’un parcours.
Un paramètre de package peut désormais demander une information issue du jeu : un objet, un monstre, un métier, une sous-zone, etc. Au lieu d’un simple nombre, Asteroboard affiche alors une recherche par nom ou un sélecteur sur la carte du monde. Cette fonctionnalité est disponible dans l’onglet Settings du bot, dans les fenêtres de configuration des actions et dans le Studio.
Une nouvelle page Studio dans le guide utilisateur explique l’ensemble de ces fonctionnalités, en anglais et en français. Le guide de scripting explique également comment exposer des actions et des conditions, ainsi que le fonctionnement des fichiers de parcours.
Jouez avec plusieurs comptes depuis un seul ordinateur sur les serveurs monocomptes : un bot qui relaie votre client de jeu peut désormais se connecter avec son propre identifiant d’appareil (HWID), au lieu d’utiliser celui de votre ordinateur. Chaque compte apparaît ainsi comme s’il utilisait son propre ordinateur. Activez Use it when relaying my game client dans Device identifier (HWID), lors de l’ajout du bot (onglet Connection) ou ultérieurement dans sa Bot configuration. Cette option est désactivée par défaut : dans ce cas, rien ne change et la session relayée conserve le HWID de votre client de jeu.
L’usurpation d’identité est maintenue pendant toute la session : le bot répond lui-même aux vérifications d’identité du serveur de jeu en utilisant ce même HWID, à la place de votre client de jeu.
Un seul bot de ce type peut attendre votre client de jeu à la fois. Ankama ne précise le compte en cours de connexion qu’après l’envoi du HWID. Pour éviter d’envoyer ensuite des informations incorrectes, Asterobot interrompt la connexion si deux bots de ce type sont en attente ou si le compte appartient à un autre bot. Les journaux indiquent alors la raison de l’interruption.
Un bot qui ne possède pas encore de HWID, ou qui a récupéré celui de votre ordinateur lors d’une précédente session relayée, en obtient un qui lui est propre lors de sa première connexion avec cette fonctionnalité.
L’API d’Asterobot et les assistants IA connectés à Asterobot peuvent activer cette fonctionnalité pour un bot.
Les scripts peuvent désormais accéder facilement aux informations du personnage grâce au nouveau module
asterobot:character: niveau, kamas, énergie, points de vie, taux de remplissage de l’inventaire, état du combat, quantité d’un objet transporté et niveaux des métiers. Asterobot suit le personnage dès son entrée en jeu. Ainsi, un script lancé ou rechargé en cours de session obtient immédiatement les informations correspondant à son état actuel. Lorsqu’une pile d’objets est obtenue ou entièrement vidée pendant la session, le nombre d’objets est mis à jour à la réception du prochain inventaire complet envoyé par le jeu.La référence des scripts documente désormais
character(),itemCount()etjobLevel().Créez des IA de combat, des bots de commerce à l’hôtel de vente et des bots de boutique : les scripts reconnaissent désormais 123 messages de jeu supplémentaires par leur nom, avec leurs champs respectifs, détaillés ci-dessous.
Suivez chaque action d’un combat grâce à
GameActionFightEvent, notamment les sorts et les attaques à l’arme :TargetedAbility,SpellCast,AbilityRefreshInfo,AbilityRefreshInfoTeametFightSpellCastCriticalpour les coups critiques.Dégâts et soins en combat :
LifePointsLost,LifePointsGain,ReduceDamages,ReflectDamages,ReflectSpell,SpellImmunityetStealKama.PA, PM et déplacements en combat :
PointsVariation,DodgePointLoss,Tackled,Slide,TeleportOnSameMap,ExchangePositions,CarryCharacter,ThrowCharacteretDropCharacter.Morts, invocations et invisibilité en combat :
Death,Kill,Vanish,Summons,SummonsByActor,SummonsByContextInformation,SummonContextInformation,Invisibility,InvisibleDetectedetFightInvisibilityState.Glyphes, pièges et effets sur la carte de combat :
MarkCells,UnmarkCells,ActivateGlyphTrap,TriggerGlyphTrap,EffectRemove,SpellRemove,ModifyEffectsDuration,ChangeLook,ChangeTeam,AddHitBox,RemoveHitBox,ExecuteScriptetStaging.Bonus, temps de relance et compteurs de sorts :
FightBoostAddEvent,FightBoostRemoveEvent,FightBoostSynchronizeEvent,FightRemovableEffect,FightRemovableEffectExtendedInformation,GameActionUpdateEffectTriggerCountEvent,FightEffectTriggerCount,RefreshSpellCastStateEvent,FightSpellCast,CastCountOneSomeoneetFightSpellCoolDown.Ordre des tours et combattant contrôlé :
TimelineRefreshEvent,Turn,TimelineFighter,AdditionalTurnetFightControlEvent.Identification des combattants et de leur emplacement :
FightFighterInformation,NamedFighterInformation,FightCharacterInformation,FightMutantInformation,AIFighterInformation,MonsterFighter,TaxCollectorFighter,EntityFighterInformation,FightCharacteristics,SpawnInformation,FightStartingPositionsetFightMapInformationEvent.Équipes de combat :
FightTeamMemberInformation,FightTeamMemberCharacter,FightTeamMemberMonster,FightTeamMemberEntity,FightTeamMemberTaxCollectoretBasicAllianceInformation. Le messageFightTeamMembersInformationinclut désormais le champalliance_relation, de typeAllianceRelation.Statistiques de fin de combat, avec les dégâts, soins, boucliers, PA, PM et éliminations de chaque combattant :
FightStatisticsEventetDetailedStatistics.Hôtel de vente, de la consultation à l’achat et à la vente :
ExchangeBidBuyerStartedEvent,ExchangeBidSellerStartedEvent,SellingConditions,ExchangeBidHouseTypeRequest,ExchangeTypesExchangerDescriptionForUserEvent,ExchangeBidHouseSearchRequest,ExchangeTypesItemsExchangerDescriptionForUserEvent,BidExchangerObject,ExchangeBidHouseInListUpdatedEvent,ExchangeBidHouseBuyRequest,ExchangeBidHouseBuyResultEvent,ExchangeBidHousePriceRequest,ExchangeBidPriceEvent,BidPriceForSeller,ExchangeObjectMovePricedRequest,ExchangeBidHouseItemAddedEvent,ItemToSellInBidetBidItem.Historique des prix moyens d’un objet sur le marché, jour par jour sur le dernier mois et heure par heure sur les dernières 24 heures :
ObjectAveragePricesHistoryRequest,ObjectAveragePricesHistoryEventetObjectAveragePriceHistory.Boutiques de PNJ, avec leurs prix et limites d’achat :
ExchangeNpcShopStartedEvent,ItemMinimalInformation,ItemToSellInNpcShop,ExchangeBuyRequestetExchangeBoughtEvent.Inventaire et fenêtres d’échange :
ObjectDeletedEventest déclenché lorsqu’une pile entière quitte l’inventaire.ExchangeLeaveEventest déclenché lorsque le serveur ferme une fenêtre d’échange.InventoryUpdateMergedInventoryTypeRequest, avecMergedInventoryType, permet d’afficher la banque ou le Havre-Sac dans une fenêtre de fabrication ou d’hôtel de vente.Sur la carte :
ActorInformation,RolePlayActor,MonsterGroupActor,WaveInformation,MonsterGroupStaticInformation,MonstersInGroupAlternativeInformation,MapCoordinates,MapComplementaryAnomalyInformation, ainsi que les animations scénarisées de la carte :StagingEventetPersistentStagingEvent.Personnage et Havre-Sac :
CharacterForceSelectionEventetCharacterForceSelectionReadyRequestlorsque le serveur sélectionne le personnage à votre place ;AlignmentExtendedInformationetAttackableStatuspour l’honneur et la possibilité d’être attaqué ;alignment_grade,alignment_quest_numberetcharacter_leveldansAlignmentInformation; enfin,HavenBagPermissionsUpdateRequestetHavenBagPermissionsUpdateEventpour gérer les personnes autorisées à entrer dans le Havre-Sac.
🔄 Modifié
Mise à jour des dépendances.
🐛 Corrigé
ItemMinimalInformationdésignait le mauvais type de données. Il représente désormais un objet vendu dans une boutique de PNJ, avec les champsobject_gid,effectset son prix dansitem_to_sell_in_npc_shop. Les objets deGameActionItemsont représentés parGameActionItemObject, avec les mêmes champs qu’auparavant.Dans les scripts,
findMaps()avec un identifiant égal à 0, par exemple{ area: 0 }pour Amakna, renvoyait toutes les cartes du jeu au lieu de renvoyer uniquement celles de la zone concernée.Dans la référence des scripts, le lien vers
asterobot:gamedatasur la page consacrée aux déplacements fonctionne de nouveau.