AnkaBot
  • Préface
  • Introduction
  • Programmation avec LUA
  • Rejoindre notre Discord
  • Abonnement
  • espace débutant
    • Téléchargement et installation
    • Première utilisation
    • Comprendre et faire un script
    • Script avec RoadCreator
    • Dofus et Lindo sur un VPS
    • Proxy
    • Conseils en or
  • Boutique des scripts
    • Accéder à la boutique
    • Sandbox
    • Informations pour les vendeurs
  • Installation
    • Construction d'un script
      • Structure de base
      • Changement de carte - Path
      • Utilisation d'une porte - Door
      • Actions
      • Paramètres
      • Exercice
      • Bot "Banque"
    • Road Creator
    • Commandes rapides
  • Types de bannissement
    • Ban création
    • Dofus 2.0
      • Bannissement par modérateur
      • Bannissement par waveban (Août 2022)
      • Bannissement par Antibot (Août 2022)
      • Bannissement par le support
      • Bannissement par Antibot (Janvier 2023)
      • Antibot chasse au trésor
    • Dofus Touch
  • AnkaBot PC
    • Identifiants Dofus PC
    • Commandes console
    • Bot marchand
    • Format des pseudos
    • Problèmes MITM
    • Limite de Kamas
    • Fonctionnement du Kolizéum
    • Méthodes
      • global
        • thisAccountController
        • leaderAccountController
        • playAudio
        • openMitm
        • username
        • accountTag
        • print<Type>
        • printAccountDetails
        • delay
        • leaveDialog
        • mail
        • isModeratorPresent
        • disconnect
        • reconnect
        • reconnectBis
        • reconnectSec
        • reconnectWithToken
        • finishScript
        • loadConfiguration
        • loadConfigurationWithoutScript
        • loadAndStart
        • restartScript
        • afterFight
        • resetCountFight
        • getCountFight
        • resetCountGather
        • getCountGather
        • addInMemory
        • editInMemory
        • remember
        • deleteMemory
        • deleteAllMemory
        • getReplies
        • charactersList
        • getTeamMembersIds
        • getTeamMembersNames
        • totalTime
        • scriptName
        • subScript
        • fileExists
        • joinBoss
        • random
        • setPrivate
        • setPrivateTeam
        • teamCheck
        • inviteTeam
        • isBoss
        • question
        • input
        • getCurrentDirectory
        • getAllFilesNameInDirectory
        • getCurrentScriptDirectory
        • editAlias
        • consoleLines
        • clearConsole
        • saveConsole
      • character
        • server
        • name
        • id
        • level
        • kamas
        • sex
        • isBusy
        • isInFight
        • lifePoints
        • maxLifePoints
        • lifePointsP
        • experience
        • sessionExperience
        • energyPoints
        • maxEnergyPoints
        • breed
        • breedName
        • freeMode
        • statsPoint
        • getSpellVariant
        • get<Element>Base
        • getCost<Element>
        • upgrade<Element>
      • exchange
        • putItem
        • getItem
        • getAllItems
        • putAllItems
        • getAllItemsExcept
        • putAllItemsExcept
        • putKamas
        • getKamas
        • storageKamas
        • storageItems
        • storageItemCount
        • storageItemQuantity
        • launchExchangeWithPlayer
        • launchExchangeWithPlayerByName
        • ready
        • leave
        • isInExchange
      • inventory
        • pods
        • podsMax
        • podsP
        • inventoryContent
        • itemCount
        • itemWeight
        • itemNameId
        • useItem
        • useMultipleItem
        • equipItem
        • itemPosition
        • deleteItem
        • dropItem
        • getUID
        • getTypeId
        • getTypeName
        • getLevel
      • job
        • name
        • level
      • map
        • changeMap
        • moveToCell
        • door
        • useById
        • saveZaap
        • aggression
        • onMap
        • onCell
        • currentMap
        • currentCell
        • currentMapId
        • currentArea
        • currentSubArea
        • getMap
        • getX
        • getY
        • neighbourId
        • getArchiMonsters
        • containsArchi
        • lockedHouse
        • lockedStorage
        • countPlayers
        • isPlayerOnMap
        • players
        • getWalkableCells
        • monsterGroups
        • fight
        • forceFight
        • gather
        • closestZaap
        • closestZaapV2
        • toZaap
        • cellDistance
        • setCustomObstacles
        • resetCustomObstacles
        • setSpeedMultiplier
        • gotomap
        • Auto-pilotage
          • GetDistance
          • GetPathDistance
          • loadMove
          • loadToMapIdFrom
          • getLoadedRoad
          • moveToward
          • moveRandomToward
      • npc
        • npc
        • reply
        • npcBank
      • sale
        • availableSpace
        • sellItem
        • buyItem
        • getPriceItem
        • getAveragePriceItem
        • editPrice
        • editPriceByGID
        • updateAllItems
        • itemsOnSale
        • getItemPrice
        • getItemGID
        • getItemGUID
        • getItemQuantity
        • sellToPnj
        • buyToPnj
        • sellAllItemToPnj
      • craft
        • putItem
        • changeQuantityToCraft
        • ready
      • mount
        • myMount
        • hasMount
        • isRiding
        • toggleRiding
        • feedMount
        • setXpRatio
        • moveMounts
        • stabledMounts
        • paddockedMounts
        • newBorns
        • inventoryMounts
        • paddockItems
        • putPaddockItem
        • movePaddockItem
        • removePaddockItem
      • d2data
        • exportD2O
        • objectFromD2O
        • allObjectsFromD2O
        • text
        • exportMapData
        • mapData
      • quest
        • initialize
        • activeQuests
        • questActive
        • questCurrentStep
        • questDoneObjectives
        • questRemainingObjectives
        • questObjectiveDone
        • validateObjective
        • name
        • stepName
        • stepDescription
        • objectiveText
      • chat
        • sendPrivateMessage
        • sendGeneralMessage
        • sendGuildMessage
        • sendAllianceMessage
        • sendRecruitmentMessage
        • sendTradeMessage
    • Mode développeur
      • Utilisation
        • 1. Lire un message
        • 2. Envoyer un message
      • developer
        • toggleMultiThreading
        • registerMessage
        • unRegisterMessage
        • isMessageRegistred
        • historicalMessage
        • suspendScriptUntil
        • suspendScriptUntilMultiplePackets
        • typeOf
        • createMessage
        • sendMessage
        • postRequest
        • getRequest
        • postRequestThroughHTTPSProxy
        • getRequestThroughHTTPSProxy
        • postRequestThroughSocks5Proxy
        • getRequestThroughSocks5Proxy
        • postRequestThroughMyIP
        • getRequestThroughMyIP
        • isScriptPlaying
        • startScript
        • <action>GlobalMemory
  • AnkaBot Touch
    • Identifiants Dofus Touch
    • Commandes console
    • Synchronisation avec Lindo
    • Connexion avec Lindo
    • Méthodes
      • global
        • thisAccountController
        • leaderAccountController
        • playAudio
        • username
        • print<Type>
        • delay
        • printPhone
        • leaveDialog
        • mail
        • isModeratorPresent
        • disconnect
        • reconnect
        • reconnectBis
        • maximumNumberFightsOfDay
        • maximumNumberGathersOfDay
        • finishScript
        • loadConfiguration
        • loadConfigurationWithoutScript
        • loadAndStart
        • restartScript
        • afterFight
        • resetCountFight
        • getCountFight
        • resetCountGather
        • getCountGather
        • addInMemory
        • editInMemory
        • remember
        • deleteMemory
        • deleteAllMemory
        • getTeamMembersIds
        • getTeamMembersNames
        • random
        • setPrivate
        • setPrivateTeam
        • teamCheck
        • inviteTeam
        • question
        • Input
        • getCurrentDirectory
        • getAllFilesNameInDirectory
        • getCurrentScriptDirectory
        • scriptName
        • fileExists
        • editAlias
        • isBoss
        • consoleLines
        • clearConsole
        • saveConsole
      • character
        • server
        • serverName
        • isCaptchaPresent
        • name
        • id
        • level
        • kamas
        • sex
        • isBusy
        • isInFight
        • giveUpFight
        • lifePoints
        • maxLifePoints
        • lifePointsP
        • experience
        • energyPoints
        • maxEnergyPoints
        • breed
        • breedName
        • freeMode
        • bonusPackExpiration
        • statsPoint
        • isTeamLeader
        • getBonusPack
      • exchange
        • putItem
        • getItem
        • getAllItems
        • putAllItems
        • getAllItemsExcept
        • putAllItemsExcept
        • putAllItemsExchange
        • putKamas
        • getKamas
        • storageKamas
        • storageItems
        • storageItemCount
        • storageItemQuantity
        • launchExchangeWithPlayer
        • launchExchangeWithPlayerByName
        • ready
        • leave
        • isInExchange
      • inventory
        • pods
        • podsMax
        • podsP
        • openBank
        • inventoryContent
        • items
        • itemCount
        • itemWeight
        • itemNameId
        • useItem
        • useMultipleItem
        • equipItem
        • itemPosition
        • deleteItem
        • itemTypeId
        • getLevel
        • getUID
      • job
        • name
        • level
      • map
        • changeMap
        • saveZaap
        • moveToCell
        • Page
        • door
        • useById
        • onMap
        • onCell
        • currentMap
        • currentCell
        • currentMapId
        • currentArea
        • currentSubArea
        • getMap
        • getX
        • getY
        • neighbourId
        • moveToward
        • GetDistance
        • getArchiMonsters
        • containsArchi
        • lockedHouse
        • lockedStorage
        • countPlayers
        • isPlayerOnMap
        • players
        • getWalkableCells
        • npcInMap
        • avoidMonsters
        • avoidMonstersDistance
        • monsterGroups
        • cellDistance
        • fight
        • forceFight
        • gather
      • npc
        • npc
        • npcInMap
        • hasReply
        • getRepliesId
        • reply
        • npcBank
        • npcSale
        • npcBuy
      • sale
        • availableSpace
        • sellItem
        • buyItem
        • getPriceItemV2
        • editPrice
        • editPriceByGID
        • updateAllItems
        • itemsOnSale
        • getItemPrice
        • getItemGID
        • getItemGUID
        • getItemQuantity
        • sellToPnj
        • buyToPnj
        • sellAllItemToPnj
      • craft
        • putItem
        • changeQuantityToCraft
        • ready
      • mount
        • myMount
        • hasMount
        • isRiding
        • toggleRiding
        • feedMount
        • setXpRatio
        • stabledMounts
        • paddockedMounts
        • newBorns
        • inventoryMounts
        • moveMount
      • quest
        • initialize
        • activeQuests
        • questActive
        • questCurrentStep
        • questDoneObjectives
        • questRemainingObjectives
        • questObjectiveDone
        • validateObjective
        • name
        • stepName
        • stepDescription
        • objectiveText
      • chat
        • sendPrivateMessage
        • sendGeneralMessage
        • sendGuildMessage
        • sendAllianceMessage
        • sendRecruitmentMessage
        • sendTradeMessage
    • Mode développeur
      • Utilisation
        • 1. Accéder au Sniffer
        • 2. Lire un message
        • 3. Envoyer un message
      • developer
        • toggleMultiThreading
        • registerMessage
        • unRegisterMessage
        • isMessageRegistred
        • historicalMessage
        • suspendScriptUntil
        • suspendScriptUntilMultiplePackets
        • sendMessage
        • toObject
        • fromObject
        • deserializeObject
        • deserializeJArray
        • countJArray
        • postRequest
        • getRequest
        • postRequestThroughHTTPSProxy
        • getRequestThroughHTTPSProxy
        • postRequestThroughSocks5Proxy
        • getRequestThroughSocks5Proxy
        • postRequestThroughMyIP
        • getRequestThroughMyIP
        • isScriptPlaying
        • startScript
        • <action>GlobalMemory
  • AnkaBot Retro
    • Identifiants Dofus Retro
    • Commandes console
    • Chemin DofusRetro et MITM
    • Méthodes
      • global
        • addInMemory
        • deleteMemory
        • deleteAllMemory
        • editInMemory
        • remember
        • print<Type>
        • delay
        • afterFight
        • getCountFight
        • resetCountFight
        • getCountFight
        • loadConfiguration
        • finishScript
        • disconnect
        • reconnect
        • isModeratorPresent
        • reconnectBis
      • character
        • server
        • breed
        • name
        • sex
        • level
        • lifePoints
        • maxLifePoints
        • lifePointsP
        • energyPoints
        • maxEnergyPoints
        • experience
        • freeMode
        • kamas
      • exchange
        • getAllItems
        • getItem
        • getKamas
        • putAllItems
        • putItem
        • putKamas
        • storageKamas
        • storageItemCount
        • storageItemQuantity
        • ready
        • leaveDialog
        • launchExchangeWithPlayer
      • inventory
        • deleteItem
        • equipItem
        • itemCount
        • itemWeight
        • itemNameId
        • pods
        • podsMax
        • podsP
        • useItem
      • job
        • name
        • level
      • map
        • changeMap
        • countPlayers
        • currentCell
        • currentMapId
        • currentMap
        • door
        • moveToCell
        • onMap
        • onCell
        • saveZaap
        • isPlayerOnMap
      • npc
        • npc
        • reply
        • npcBank
        • leaveDialog
      • craft
        • moveToCraft
        • putItem
        • changeQuantityToCraft
        • ready
        • leaveDialog
    • Mode développeur
      • Utilisation
        • Lire un message
        • developer
          • registerMessage
          • historicalMessage
          • suspendScriptUntil
          • sendMessage
          • postRequest
          • getRequest
  • Mode contrôleur
    • Introduction
    • Méthodes
      • ankabotController
        • addPushBulletKey
        • assignProxyToAnAccount
        • createCharacter
        • clearCreations
        • getPassword
        • getAlias
        • registerAccount
        • deleteAccount
        • getAccount
        • accountIsRegistred
        • accountIsLoaded
        • getAliasAllRegistredAccounts
        • getUsernameAllRegistredAccounts
        • getAliasLoadedAccounts
        • getUsernameLoadedAccounts
        • getAliasNotLoadedAccounts
        • getUsernameNotLoadedAccounts
        • getLoadedAccounts
        • loadControllerAccount
        • loadAccount
        • loadTeamAccount
        • unloadAccountByUsername
        • unloadAccountByAlias
      • AccountController
        • toggleAntiModerator
        • forceServer
        • forceDelete
        • forceChoose
        • forceCreate
        • isItATeam
        • isTeamLeader
        • getTeamAccounts
        • connect
        • disconnect
        • unloadAccount
        • hasScript
        • isScriptPlaying
        • getScriptVariable
        • setScriptVariable
        • callScriptFunction
        • loadConfigNextConnection
        • loadScriptNextConnection
        • reloadScript
        • stopScript
        • startScript
        • loadScript
        • loadConfig
        • getUsername
        • getAlias
        • isAccountConnected
        • isAccountFullyConnected
        • executeCmd
        • abortCmd
        • isExecutingCmd
        • isBanned
        • isController
        • exchangeListen
  • Intelligence Artificielle (IA)
    • Introduction
    • Méthodes
      • fightBasic
        • playTurn
        • addSpell
        • clearSpells
        • setApproachDistance
        • setFightSpeed
      • fightAction
      • fightSlave
      • fightChallenge
        • Dofus 2.0
          • Gestion des challenges
        • Dofus Touch
      • fightCharacter
      • fightDebug
      • Entities
    • Créatures contrôlables
    • Emplacement personnalisé
  • Autres
    • API Modération
    • API Archi-Monstre
    • API Shield (AnkaBot)
    • API Portails (AnkaBot)
    • Choisir l'interface réseau
    • Déchiffrer les trajets dotrade
Propulsé par GitBook
Sur cette page
  • C'est quoi les fichiers D2O
  • Connaitre la structure d'un fichier D2O
  • Exemple
  • Données d'une carte
  • Exemple

Cet article vous a-t-il été utile ?

  1. AnkaBot PC
  2. Méthodes

d2data

PrécédentremovePaddockItemSuivantexportD2O

Dernière mise à jour il y a 2 ans

Cet article vous a-t-il été utile ?

C'est quoi les fichiers D2O

Ce sont des fichiers qui contient les différents données du jeu (Les items, les classes, les sorts, les monstres etc ...)

Ces fichiers sont situés dans le dossier \data\common dans le dossier contenant Dofus.

Connaitre la structure d'un fichier D2O

Il n'y a pas mieux que de convertir ce fichier en JSON, puis l'ouvrir dans un éditeur de JSON pour visualiser et comprendre sa structure.

Par exemple, en executant ce script sur AnkaBot :

function move()
    d2data:exportD2O("Items")
end

On obtient un fichier Items.json dans le meme dossier que AnkaBot :

Vous pouvez alors l'ouvrir dans un éditeur de JSON pour visualiser et comprendre sa structure :

Cette structure va nous aider à savoir comment récupérer une valeur précise depuis notre script LUA.

Exemple

function move()
	-- Récupérer l'item dont le GID = 11499
	local item = d2data:objectFromD2O("Items", 11499)
	if item == nil then
		global:printError("Erreur")
		return
	end

	-- Print le nom
	local name = d2data:text(item.Fields["nameId"])
	global:printSuccess("Nom : "..name)

	-- Afficher la liste des objets dont la recette contient 11499
	for _, recipeId in ipairs(item.Fields["recipeIds"]) do
		local recipeItem = d2data:objectFromD2O("Items", recipeId)
		if recipeItem ~= nil then
			global:printSuccess("Contenue dans la recette de : "..d2data:text(recipeItem.Fields["nameId"]))
		end
	end

	-- Afficher la liste des monstres qui drop'ent cet item
	for _, dropMonsterId in ipairs(item.Fields["dropMonsterIds"]) do
		local monster = d2data:objectFromD2O("Monsters", dropMonsterId)
		if monster ~= nil then
			global:printSuccess("Se drop avec : "..d2data:text(monster.Fields["nameId"]))
		end
	end

	-- Afficher toutes les classes du jeu
	local breeds = d2data:allObjectsFromD2O("Breeds")
	for _, breed in ipairs(breeds) do
		if breed ~= nil then
			global:printSuccess(d2data:text(breed.Fields["shortNameId"]))
		end
	end
end

Données d'une carte

De la meme manière qu'un fichier D2O, vous pouvez exporter en JSON les données d'une certaine carte :

function move()
    d2data:exportMapData(212601350)
end

Ces données peuvent être utile dans plusieurs situations :

  • Récupérer les ID des cartes adjacentes.

  • Savoir si une cellule est marchable, si elle laisse passer la ligne de vue.

  • ...

Exemple

function move()
	-- Récuperer les data
	local mapData = d2data:mapData(212601350)
	if mapData == nil then
		global:printError("Erreur")
		return
	end

	-- Afficher quelques données
	global:printSuccess("LeftNeighbourId : "..mapData["LeftNeighbourId"])
	global:printSuccess("SubAreaId : "..mapData["SubAreaId"])
	global:printSuccess("SubArea Name : "..d2data:text(d2data:objectFromD2O("SubAreas", mapData["SubAreaId"]).Fields["nameId"]))

	-- Récupérer des données sur la cellule 213
	local cell = mapData["Cells"][214] -- LUA commence les enumérations de 1 et non pas 0, pour avoir la cellule 213 on met 214
	global:printMessage("Informations sur la cellule 213 :")
	global:printSuccess("walkable : "..tostring(cell["walkable"]))
	global:printSuccess("Los : "..tostring(cell["Los"]))
end