Vodka51200

turtlemine V5

May 23rd, 2017 (edited)
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 18.96 KB | None | 0 0
  1. ---@diagnostic disable: undefined-global, lowercase-global, cast-local-type
  2.  
  3. local modeFonctionnement = "normal"
  4. -- choix du vidage : "normal" (avec coffre au depart) ou "enderchest"
  5. -- normal : coffre recup derriere depart tortue, coffre charbon au dessus tortue
  6. -- enderchest : voir variable pour emplacements des enderchest dans l'inventaire
  7. local idChannel = 123
  8. local fuelMini = 500  -- Fuel minimum pour recharger
  9.  
  10. local profondeur = 0             -- indique de combien on a creuse
  11. local longueur = 9               -- indique la longueur (x) de la zone a miner
  12. local largeur = 9                -- indique la largeur (y) de la zone a miner
  13. local xPosition = 0              -- indique la position courante en x
  14. local zPosition = 0              -- indique la position courante en z
  15.  
  16. local niveauFuelMini = 5         -- niveau de deplacements auquel on doit refaire le plein de fuel
  17. local niveauCharbonMini = 5      -- quantite de charbons restants a laquelle on doit refaire le plein de charbon
  18.  
  19. local premierSlot = 1            -- premier slot ou se trouve le minerai ramasse
  20. --local dernierSlot = 13           -- dernier slot a surveiller pour enclencher le vidage de l'inventaire
  21. --if modeFonctionnement == "normal" then dernierSlot = 15 end  -- si on est en mode normal, on gagne 2 slots d'inventaire
  22. local dernierSlot = (modeFonctionnement == "normal") and 15 or 13
  23. local enderchestSlot = 14        -- slot ou se trouve l'enderchest pour les minerais
  24. local enderchestCharbonSlot = 15 -- slot ou se trouve l'enderchest pour le charbon
  25. local charbonSlot = 16           -- slot ou est stocke le charbon
  26.  
  27. -- Filtre des blocs à ignorer
  28. local filtre = {
  29.     "minecraft:cobblestone", "minecraft:gravel", "minecraft:stone",
  30.     "minecraft:dirt", "minecraft:grass", "minecraft:diorite",
  31.     "minecraft:granite", "minecraft:andesite", "minecraft:deepslate",
  32.     "minecraft:tuff", "minecraft:netherrack"
  33. }
  34.  
  35. -- Plan de minage et communication
  36. local plan = {}
  37. local modem = peripheral.find("modem")
  38. if not modem then error("Modem not found") end
  39.  
  40. -- Variables d'état de la tortue
  41. local direction = 0         -- 0: +X, 1: +Z, 2: -X, 3: -Z
  42. local drapeauBedrock = false
  43. local message = "attente"
  44.  
  45. -----------------------------------------------------------
  46. -- Fonctions utilitaires
  47. -----------------------------------------------------------
  48.  
  49. function logStatus()
  50. local fuel = turtle.getFuelLevel()
  51. local fuelItemCount = turtle.getItemCount(charbonSlot)
  52. modem.transmit(idChannel, idChannel, "fuel:" .. fuel)
  53. modem.transmit(idChannel, idChannel, "fuelItem:" .. fuelItemCount)
  54. modem.transmit(idChannel, idChannel, "xPos:" .. xPosition)
  55. modem.transmit(idChannel, idChannel, "yPos:" .. zPosition)
  56. end
  57.  
  58. function chestStatus()
  59. local chest = peripheral.wrap("top") -- Assure-toi que le coffre est bien au-dessus
  60. if chest then
  61.     local items = chest.list() -- Liste des objets dans le coffre
  62.     local total = 0
  63.  
  64.     for slot, item in pairs(items) do
  65.         total = total + item.count
  66.     end
  67.  
  68.     print("Le coffre contient " .. total .. " items.")
  69.     modem.transmit(idChannel, idChannel, "charbonCount:" .. total)
  70. else
  71.     print("Pas de coffre detecte.")
  72. end
  73. end
  74.  
  75. -----------------------------------------------------------
  76. -- Fonctions principales
  77. -----------------------------------------------------------
  78. function compare_mine() -- fonction qui compare et mine, tourne a droite et direction++
  79. --local slot = 0
  80. local resultat = false
  81. local succ, insp = turtle.inspect()
  82. if succ then
  83.     for key, value in pairs(filtre) do
  84.         if insp.name == value then --if (insp.name == value) or resultat then
  85.             resultat = true
  86.             break -- ajout new
  87.         end
  88.     end
  89. end
  90.  
  91. if not resultat then
  92. turtle.dig() -- Miner si ce n'est pas un bloc à ignorer
  93. scan() --ajout pour voir l'item dans le dernier slot
  94. end
  95. turtle.turnRight()
  96. direction = (direction + 1) % 4
  97.  
  98. print("A_direction:", direction)
  99.  
  100. if turtle.getItemCount(dernierSlot) > 0 then  -- on verifie si on doit vider l'inventaire de la tortue
  101. print("vidage inventaire comp_mine; prof "..profondeur.." ; nbitem ds slot "..dernierSlot.." : "..turtle.getItemCount(dernierSlot).." ; ")
  102. scan() --ajout pour voir l'item dans le dernier slot
  103. return vidage()
  104. end
  105. end
  106.  
  107. function scan()
  108. local items = {}
  109. for i = premierSlot, dernierSlot do
  110. local data = turtle.getItemDetail(i)
  111. if data then
  112.     --items[i]={name=data.name..":"..data.damage,count=data.count}
  113.     items[i]={name=data.name, count=data.count}
  114. end
  115. end
  116. modem.transmit(idChannel, idChannel, textutils.serialize(items))
  117. end
  118.  
  119. function verifFuel()    -- verifie si on a assez de fuel (deplacements) en reserve.
  120. local niveauFuel = turtle.getFuelLevel()
  121. if niveauFuel ~= "unlimited" and niveauFuel < niveauFuelMini then
  122. -- On a besoin de faire le plein
  123. print("Niveau de carburant bas, recharge en cours.")
  124. turtle.select(charbonSlot)
  125. turtle.refuel(5) -- on recharge pour 96 deplacements / 80 1.21.1
  126. turtle.select(premierSlot)
  127. --fuelLevel = turtle.getFuelLevel() -- mise à jour du niveau de fuel
  128. --fuelItem = turtle.getItemCount(charbonSlot) -- mise à jour du nombre de charbon
  129. print("Niveau de carburant apres recharge : " .. turtle.getFuelLevel())
  130. logStatus()
  131. verifCharbon()
  132. --return recharge() -- on refait le plein de charbon
  133. end
  134. end
  135.  
  136. -- Fonction pour vérifier le niveau de charbon et recharger si nécessaire
  137. function verifCharbon()
  138.     if turtle.getItemCount(charbonSlot) < niveauCharbonMini then
  139.         print("Charbon bas, recharge de charbon en cours.")
  140.         return recharge() -- on refait le plein de charbon
  141.     end
  142. end
  143.  
  144. -- Recharge générique (selon le mode)
  145. function recharge()
  146. if modeFonctionnement == "normal" then
  147. return rechargeCharbonCoffre()
  148. elseif modeFonctionnement == "enderchest" then
  149. return rechargeCharbon()
  150. end
  151. end
  152.  
  153. -- Recharge via enderchest (mode enderchest)
  154. function rechargeCharbon() -- permet de refaire le plein en charbon
  155. turtle.select(enderchestCharbonSlot)
  156. while not turtle.placeUp() do
  157. sleep(0.1)
  158. --print("fu_turtleplaceup resultat du placeup : false :o( a l'attaque !")
  159. if not turtle.attackUp() then turtle.digUp() end
  160. end
  161. turtle.select(charbonSlot)
  162. turtle.suckUp()
  163. turtle.select(enderchestCharbonSlot)
  164. turtle.digUp()
  165. end
  166.  
  167. -- Recharge via coffre (mode normal)
  168. function rechargeCharbonCoffre()
  169. -- d'abord je sauv les coordonnees x, z, profondeur et direction
  170. xPositionCharbonSv = xPosition
  171. zPositionCharbonSv = zPosition
  172. profondeurCharbonSv = profondeur
  173. directionCharbonSv = direction
  174.  
  175. if turtle.getFuelLevel() < fuelMini then -- ajout 1.21.1
  176. turtle.select(charbonSlot)
  177. turtle.refuel(5) -- Recharge pour avoir assez de carburant
  178. turtle.select(premierSlot)
  179. end
  180.  
  181. --je previens que je remonte pour recharger en charbon
  182. modem.transmit(idChannel,idChannel,"etat:charbon")
  183. logStatus()
  184.  
  185. -- je remonte a la surface
  186. while profondeurCharbonSv ~= 0 do
  187. if turtle.detectUp() then turtle.digUp() end
  188. turtleUp()
  189. profondeurCharbonSv = profondeurCharbonSv - 1
  190. modem.transmit(idChannel,idChannel,"profondeur:"..profondeurCharbonSv)
  191. logStatus()
  192. end
  193.  
  194. -- je me deplace vers le point de depart
  195. deplacement(0,0)
  196.  
  197. --on se remet en direction "deux", face au coffre
  198. while direction ~= 2 do
  199. turtle.turnRight()
  200. direction = (direction + 1) % 4
  201. end
  202.  
  203. --on prend du charbon dans le coffre au-dessus de la tortue
  204. turtle.select(charbonSlot)
  205. turtle.dropUp()
  206. turtle.suckUp()
  207. turtle.select(premierSlot)
  208. logStatus()
  209. chestStatus()
  210. --on vide l'inventaire ici ?
  211. modem.transmit(idChannel,idChannel,"etat:encours")
  212.  
  213. --on retourne au-dessus du puit en cours de minage
  214. deplacement(xPositionCharbonSv, zPositionCharbonSv)
  215.  
  216. --on descend a la derniere profondeur
  217. while profondeurCharbonSv ~= profondeur do
  218. if turtle.detectDown() then turtle.digDown() end
  219. turtle.down()
  220. profondeurCharbonSv = profondeurCharbonSv + 1
  221. modem.transmit(idChannel,idChannel,"profondeur:"..profondeurCharbonSv)
  222. logStatus()
  223. --verifFuel()
  224. end
  225.  
  226. --on se met dans la bonne direction
  227. while directionCharbonSv ~= direction do
  228. turtle.turnRight()
  229. direction = (direction + 1) % 4
  230. end
  231. --et normalement c'est bon.
  232. --modem.transmit(idChannel,idChannel,"etat:encours")
  233. end
  234.  
  235. -- Vidage de l'inventaire via enderchest
  236. function videInventaire()
  237. --local slot
  238. turtle.select(enderchestSlot)
  239. while not turtle.placeUp() do
  240. sleep(0.1)
  241. --print("fu_turtleplaceup resultat du placeup : false :o( a l'attaque !")
  242. if not turtle.attackUp() then turtle.digUp() end
  243. end
  244. for slot = premierSlot, dernierSlot do
  245. turtle.select(slot)
  246. while turtle.getItemCount(slot) > 0 do
  247. turtle.dropUp(turtle.getItemCount(slot))
  248. if turtle.getItemCount(slot) > 0 then
  249. sleep(0.5)
  250. end
  251. end
  252. end
  253.  
  254. turtle.select(enderchestSlot)
  255. turtle.digUp()
  256. end
  257.  
  258. -- Vidage via coffre (mode normal)
  259. function videInventaireCoffre()
  260. -- d'abord je sauv les coordonnees x, z, profondeur et direction
  261. xPositionInvSv = xPosition
  262. zPositionInvSv = zPosition
  263. profondeurInvSv = profondeur
  264. directionInvSv = direction
  265.  
  266. if turtle.getFuelLevel() < fuelMini then -- ajout 1.21.1
  267. turtle.select(charbonSlot)
  268. turtle.refuel(5) -- Recharge pour avoir assez de carburant
  269. turtle.select(premierSlot)
  270. end
  271. --je previens que je remonte pour vider mon inventaire
  272. modem.transmit(idChannel,idChannel,"etat:vidage")
  273.  
  274. -- je remonte a la surface
  275. while profondeurInvSv ~= 0 do
  276. if turtle.detectUp() then turtle.digUp() end
  277. turtleUp()
  278. profondeurInvSv = profondeurInvSv - 1
  279. modem.transmit(idChannel,idChannel,"profondeur:"..profondeurInvSv)
  280. logStatus()
  281. end
  282.  
  283. -- je me deplace vers le point de depart
  284. deplacement(0, 0)
  285.  
  286. --on se remet en direction "deux", face au coffre
  287. while direction ~= 2 do
  288. turtle.turnRight()
  289. direction = (direction + 1) % 4
  290. end
  291.  
  292. --on vide l'inventaire
  293. for slot = premierSlot, dernierSlot do
  294.     turtle.select(slot)
  295.     local data = turtle.getItemDetail()
  296.     if data and data.name == "minecraft:coal" or data.name == "minecraft:charcoal" or data.name == "modern_industrialization:coke" then
  297.         turtle.dropUp()
  298.     else
  299.         while turtle.getItemCount(slot) > 0 do
  300.             turtle.drop(turtle.getItemCount(slot))
  301.             if turtle.getItemCount(slot) > 0 then
  302.                 sleep(0.5)
  303.             end
  304.         end
  305.     end
  306. end
  307.  
  308. if turtle.getItemCount(charbonSlot) < niveauCharbonMini then
  309. turtle.select(charbonSlot)
  310. turtle.dropUp()
  311. turtle.suckUp()
  312. turtle.select(premierSlot)
  313. end
  314. scan() -- ajout pour des que ces vide on met a jour ecran
  315. logStatus()
  316. modem.transmit(idChannel,idChannel,"etat:encours")
  317. --on se remet en direction "zero"
  318. while direction ~= 0 do
  319. turtle.turnRight()
  320. direction = (direction + 1) % 4
  321. end
  322.  
  323. --on retourne au-dessus du puit en cours de minage
  324. deplacement(xPositionInvSv, zPositionInvSv)
  325.  
  326. --on descend a la derniere profondeur
  327. while profondeurInvSv ~= profondeur do
  328. if turtle.detectDown() then turtle.digDown() end
  329. turtle.down()
  330. profondeurInvSv = profondeurInvSv + 1
  331. modem.transmit(idChannel,idChannel,"profondeur:"..profondeurInvSv)
  332. logStatus()
  333. -- Pas besoin de vérifier le carburant ici
  334. -- verifFuel()
  335. end
  336.  
  337. --on se met dans la bonne direction
  338. while directionInvSv ~= direction do
  339. turtle.turnRight()
  340. direction = (direction + 1) % 4
  341. print("B_direction" ..direction)
  342. end
  343.  
  344. turtle.select(1)
  345. --et normalement c'est bon.
  346. --modem.transmit(idChannel,idChannel,"etat:encours")
  347. end
  348.  
  349. function vidage()
  350. if modeFonctionnement == "normal" then
  351. return videInventaireCoffre()
  352. elseif modeFonctionnement == "enderchest" then
  353. return videInventaire()
  354. end
  355. end
  356.  
  357. -----------------------------------------------------------
  358. -- Calcul du plan de minage
  359. -----------------------------------------------------------
  360. function calcPlan()
  361. local x, z, temp --, xTemp
  362. temp = 1
  363. -- pour forcer a miner le point de depart
  364. plan[temp] = {}
  365. plan[temp][1] = 0
  366. plan[temp][2] = 0
  367. temp = temp + 1
  368.  
  369. -- on boucle sur les colonnes
  370. for z = 0, largeur do
  371. x = 0
  372. print("Colonne z = " .. z)
  373.  
  374. --on calcule le x du 1er premier puit de minage pour la colonne z
  375. x = 5 - (z * 2) + x
  376. while x < 0 do
  377. x = x + 5
  378. end
  379. plan[temp] = {}
  380. plan[temp][1] = x
  381. plan[temp][2] = z
  382. temp = temp + 1
  383. print("Premier puits de colonne: x = " .. x)
  384.  
  385. -- et ensuite on trouve automatiquement les autres emplacements de la colonne z
  386. while x <= longueur do
  387. x = x + 5
  388. if x <= longueur then
  389. plan[temp] = {}
  390. plan[temp][1] = x
  391. plan[temp][2] = z
  392. temp = temp + 1
  393. print("Autre puits: x = " .. x)
  394. end
  395. end
  396. z = z + 1 -- chat gpt suggere la suppression
  397. end
  398. end
  399.  
  400. -----------------------------------------------------------
  401. -- Function de deplacement
  402. -----------------------------------------------------------
  403. function deplacement(r,s)-- pour aller a des coordonnees precises
  404.  
  405. local nbX, nbZ
  406.  
  407. -- On commence par se deplacer en x
  408. print("Déplacement vers (" .. r .. ", " .. s .. ")")
  409. print("Position actuelle: (" .. xPosition .. ", " .. zPosition .. ")")
  410.  
  411. r, s = tonumber(r), tonumber(s)
  412.  
  413. if not r or not s then
  414.     error("Invalid coordinates: r and s must be numbers")
  415. end
  416.  
  417. if r > xPosition then
  418. nbX = r - xPosition
  419. print("dans r>= xposition")
  420. while direction ~= 0 do -- ici on se met dans la bonne direction
  421. turtle.turnRight()
  422. direction = (direction + 1) % 4
  423. end
  424. elseif r < xPosition then
  425. nbX = xPosition - r
  426. print("dans xposition > r")
  427. while direction ~= 2 do -- ici on se met dans la bonne direction
  428. turtle.turnRight()
  429. direction = (direction + 1) % 4
  430. --print(direction)
  431. end
  432. end
  433.  
  434. if r ~= xPosition then
  435. print("nbX : "..nbX)
  436. while nbX > 0 do
  437. if not turtle.forward() then
  438. turtle.dig() -- ici, on n'a pas reussi a avancer, donc on creuse devant soit pour degager le passage
  439. turtle.forward()
  440. logStatus()
  441. end
  442. if direction == 0 then
  443. xPosition = xPosition + 1
  444. else
  445. xPosition = xPosition - 1
  446. end
  447. modem.transmit(idChannel, idChannel, "xPos:" .. xPosition)
  448. print(nbX .." x " ..xPosition)
  449. verifFuel()
  450. nbX = nbX - 1
  451. end
  452. end
  453.  
  454. -- Ensuite on fait le deplacement en z
  455.  
  456. if s > zPosition then
  457. nbZ = s - zPosition
  458.  
  459. while direction ~= 1 do -- ici on se met dans la bonne direction
  460. turtle.turnRight()
  461. direction = (direction + 1) % 4
  462. end
  463. elseif s < zPosition then
  464. nbZ = zPosition - s
  465.  
  466. while direction ~= 3 do -- ici on se met dans la bonne direction
  467. turtle.turnRight()
  468. direction = (direction + 1) % 4
  469. end
  470. end
  471.  
  472. if s ~= zPosition then
  473. print("nbZ : "..nbZ)
  474. while nbZ > 0 do
  475. if not turtle.forward() then
  476. turtle.dig() -- ici, on n'a pas reussi a avancer, donc on creuse devant soit pour degager le passage
  477. turtle.forward()
  478. logStatus()
  479. end
  480. if direction == 1 then zPosition = zPosition + 1 else zPosition = zPosition - 1 end
  481. modem.transmit(idChannel, idChannel, "yPos:" .. zPosition)
  482. print(nbZ .."z " ..zPosition)
  483. verifFuel()
  484. nbZ = nbZ - 1
  485. end
  486. end
  487.  
  488. --on se remet en direction "zero"
  489. while direction ~= 0 do
  490. turtle.turnRight()
  491. direction = (direction + 1) % 4
  492. end
  493. -- Envoi des nouvelles positions
  494. --modem.transmit(idChannel, idChannel, "xPos:" .. xPosition)
  495. --modem.transmit(idChannel, idChannel, "yPos:" .. zPosition)
  496. end
  497.  
  498. -- Fonction de descente
  499. function turtleDown()
  500. if turtle.detectDown() then   -- on verifie si il y a un bloc en dessous
  501. if not turtle.digDown() then -- si on n'arrive pas a creuser en dessous, alors c'est la bedrock
  502. drapeauBedrock = true     -- donc je met le drapeau a true pour sortir de la boucle
  503. print("bedrock !")
  504. logStatus()
  505. else
  506. if turtle.getItemCount(dernierSlot) > 0 then  -- on verifie si on doit vider l'inventaire de la tortue
  507. print("vidage inventaire princ1; prof "..profondeur.." ; nbitem ds slot "..dernierSlot.." : "..turtle.getItemCount(dernierSlot).." ; ")
  508. vidage()
  509. end
  510. while not turtle.down() do
  511. sleep(0.1)
  512. --print("C_fu_turtledown resultat du down : false :o( ")
  513. end
  514. --print("D_fu_turtledown resultat du down : true :o) ")
  515. profondeur = profondeur + 1
  516. modem.transmit(idChannel,idChannel,"profondeur:"..profondeur)
  517. logStatus()
  518. verifFuel()
  519. end
  520.  
  521. else  -- si il n'y a pas de bloc alors c'est de l'air, de l'eau ou de la lave
  522.  
  523. while not turtle.down() do
  524. sleep(0.1)
  525. --print("E_fu_turtledown resultat du down : false :o( ")
  526. end
  527. --print("F_fu_turtledown resultat du down : true :o) ")
  528. profondeur = profondeur + 1
  529. modem.transmit(idChannel,idChannel,"profondeur:"..profondeur)
  530. logStatus()
  531. verifFuel()
  532. end
  533. end
  534.  
  535. function turtleUp()
  536. while not turtle.up() do
  537. sleep(0.1)
  538. --print("fu_turtleup resultat du up : false :o( a l'attaque !")
  539. if not turtle.attackUp() then turtle.digUp() end
  540.   end
  541.   --print("Turtle monte.")
  542. end
  543.  
  544. --********************************************--
  545. --********** Programme principal *************--
  546. --********************************************--
  547.  
  548. print("Entrez les dimensions de la zone a miner.")
  549. print("")
  550. print("Largeur (vers la droite) : ")
  551. largeur = tonumber(read())
  552. print("Longueur (en face) : ")
  553. longueur = tonumber(read())
  554.  
  555. calcPlan() -- on calcule les emplacements des puits de forage
  556.  
  557. --local p, pmax = 1, #plan
  558.  
  559. -- Demande du numéro du puits de démarrage
  560. print("Entrez le numero du puits de demarrage (laisser vide pour commencer au puits 1) :")
  561. local startWellInput = read()
  562. local startWell = tonumber(startWellInput) or 1
  563. if startWell < 1 or startWell > #plan then
  564.   print("Le numéro du puits doit être compris entre 1 et " .. #plan .. ". Démarrage au puits 1.")
  565.   startWell = 1
  566. end
  567.  
  568. local p = startWell
  569. local pmax = #plan
  570.  
  571. -- ici, affichage du nombre de puits a creuser et attente confirmation pour commencer
  572. -- puis a chaque down ou up, affichage de la profondeur et maj du "puit en cours/nb puits total"
  573. -- et affichage lorsqu'on vide l'inventaire ou que l'on reprend du charbon
  574.  
  575. --ajout
  576. modem.transmit(idChannel,idChannel,"etat:attente")
  577. print("")
  578. print("Nombre de puits a creuser : "..#plan)
  579. modem.transmit(idChannel,idChannel,"nbPuitsTotal:"..#plan)
  580. modem.transmit(idChannel,idChannel,"profondeur:"..profondeur)
  581. logStatus()
  582. chestStatus()
  583. print("Appuyez sur [ENTREE] pour commencer !")
  584. read()
  585. modem.transmit(idChannel,idChannel,"etat:encours")
  586.  
  587. turtle.select(1)
  588. while p <= pmax do
  589. print("Traitement du puits " .. p)
  590. modem.transmit(idChannel, idChannel, "nbPuits:" .. p)
  591. modem.transmit(idChannel, idChannel, "nbPuitsTotal:" .. #plan) -- ajout test
  592. drapeauBedrock = false --avant tout, on reset ce flag
  593. verifFuel() -- on refait le plein si besoin
  594. deplacement(plan[p][1],plan[p][2]) -- puis on se deplace sur le puit a forer
  595. turtleDown()
  596. while not drapeauBedrock do
  597. -- ici, direction = 0
  598. local tours = 0
  599. while tours < 4 do
  600. print("G_tour: " ..tours)
  601. --compare et mine, tourne a droite et direction++
  602. compare_mine()
  603. tours = tours + 1
  604. end
  605. direction = 0
  606. --scan()
  607. turtleDown()
  608. end
  609.  
  610. print("Fin du puits, profondeur: " .. profondeur)
  611. -- ici je remonte a la surface
  612. while profondeur ~= 0 do
  613. if turtle.detectUp() then turtle.digUp() end
  614. turtleUp()
  615. profondeur = profondeur - 1
  616. --modem.transmit(idChannel,idChannel,"nbPuitsTotal:"..#plan) -- ajout test
  617. modem.transmit(idChannel, idChannel, "profondeur:" .. profondeur)
  618. logStatus()
  619. --turtle.select(1)
  620. verifFuel()
  621. end
  622. turtle.select(1)
  623. p = p + 1
  624. end
  625.  
  626. modem.transmit(idChannel, idChannel, "etat:retour")
  627. deplacement(0,0) -- retour au point de depart
  628. vidage() -- dernier vidage
  629. modem.transmit(idChannel, idChannel, "etat:fin")
  630. print("Vous pouvez recuperer la turtle !")
  631. --rednet.close(right)
  632.  
Add Comment
Please, Sign In to add comment