Advertisement
Guest User

Exemple lua IA Maitre Bolet

a guest
Nov 19th, 2016
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.39 KB | None | 0 0
  1.  -- Lua Artificial Intelligence
  2.  -- Shadow emulateur 2.36 have fun
  3. ---------
  4. author="Neross"
  5. description="IA Maitre Bolet"
  6. monsters={371}
  7. --------
  8.  
  9. function Main()
  10.     local attack = Attack(); -- On essaye d'attaquer
  11.     local invok = Invok(); -- On essaye d'invoquer
  12.     local support = Support(); -- On essaye de soigner
  13.     if attack == false and invok == false and support == false then -- Si on ne peux rien faire on s'avance vers l'ennemy le plus proche
  14.         local enemyID = fight:getNearestEnemy();
  15.         local enemyCellId = fight:getFighterCell(enemyID);
  16.         local cellnearestEnemy = fight:getAdjacentCellNearestEnemy(enemyID);
  17.         fight:moveTowardCell(cellnearestEnemy);
  18.         -- Une fois avancer vers l'ennemy on reessaye les actions
  19.         Attack();
  20.         Invok();
  21.         Support();
  22.     end
  23.     fighter:turnPass(); -- On passe notre tour
  24. end
  25.  
  26. --Amusement!
  27. function Invok()
  28.     local ennemy = fight:getNearestEnemy(); -- Recupere l'ennemy le plus proche
  29.     if ennemy > -60 and fighter:canInvok() then -- Verifie s'il a bien trouver un ennemy et s'il peux invoquer
  30.         local cellID = fight:getLaunchCellInvoc(7136, ennemy); -- Recupere une cellule a coter de l'ennemy pour invoquer
  31.         if cellID > -60 then        -- Verifie que l'on a bien trouver une cellule a coter de l'ennemy
  32.             fight:launchSpellInCell(cellID, 7136);      -- Lance le sort sur la cellule trouver
  33.             return true;
  34.         end
  35.     end
  36.     return false;
  37. end
  38.  
  39. function Support()
  40.     local ally = fight:getNearestAllyNeedHeal(); -- Recupere l'allier qui necessite du soin le plus proche
  41.     if ally > -60 and fighter:canLaunchSpell(ally, 7136) then -- Verifie si on a bien trouver un allier qui necessite du soin et que l'on peux envoyer le sort de soin
  42.         fight:attack(ally, 7136);    -- On lance le sort de soin sur l'allier trouver
  43.         return true;
  44.    
  45.     end
  46.     ally = fight:getNearestAlly(); -- Recupere l'allier le plus proche
  47.     if ally > -60 and fighter:canLaunchSpell(ennemy, 643) then -- Verifie si on a bien trouver un allier et que l'on peux lui lancer notre sort
  48.         fight:attack(ally, 643); -- On lance le sort sur l'allier
  49.     end
  50.    
  51.     return false;
  52. end
  53.  
  54. function Attack()
  55.     local ennemy = fight:getNearestEnemy(); -- On recupere l'ennemy le plus proche
  56.     if ennemy > -60 and fighter:canLaunchSpell(ennemy, 7178) then -- Verifie si on a bien trouver un ennemy et si on peux lancer le sort dessus
  57.         fight:attack(ennemy, 7178);      -- Lance le sort sur l'ennemy
  58.         return true;
  59.     end
  60.     return false;
  61. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement