> LeekScript 教程
你像一个有福的人一样编写你的 AI。线条滚动,名字……不等了,我们已经看到了。 这一次,编辑器中没有更多的红色信息,编译器没有更多的秘密给你。决斗时间到了! 你在自然环境中观察你的韭菜,就像史蒂夫欧文在菜园里一样。他们四处走动,他们嬉戏,他们互相扫射,他们看起来很开心!
他们不怀疑在阴影中潜伏着强大的敌人......
啊啊啊经典!! 这不一定是 AI 错误,而是超出了最大操作数(OPERATIONS_LIMIT 设置为 2000 万次操作)。查看 Operations 教程以获取详细文章。
在这种情况下,我们可以在没有停止条件的循环上下注,这称为无限循环(参见 The Loops)。
一个小例子?只要我们有 PT,下面就是对对手使用武器的小代码: 
愚蠢吧?好吧,不!执行过程中出现错误: 基本,第 13 行 ▶ AI 中断:执行错误:本轮执行的操作太多
可能是什么问题...很简单,只要 getTP() 条件 > 0,循环就会执行。 但是当我们不能使用武器时会发生什么? 好吧,我们不会失去任何 PT!并且条件永远为真!所以我们有一个循环将运行 ad infinitiiiiiiiiiiiiiiiiiiiii。
要纠正这种情况,我们可以测试 useWeapon 函数的返回并分析结果。
可能的修复:
重要的不是尺寸!
不看你的人工智能,我很难纠正你……我们仍然可以举出一些可能性:
lineOfSight 函数一次需要 15 次操作,在 3 个嵌套循环中使用它会花费您!getCellToUseWeapon 这样的好东西不应该被滥用!存储消耗大量函数的结果或重新编码它们很有用。所以这一次我很小心,我在我的函数中加入了正确数量的参数。所以,是的,但是您不能只在本机函数中放置任何参数。 这些功能需要特定的输入类型。如果您尝试将它们与错误的参数一起使用,您将得到类似的结果:
AI Basic,第 14 行 ▶ 未知函数:useWeapon(function) AI Basic,第 14 行 ▶ 未知函数:useWeapon(null)
在这里,useWeapon 函数接受一个数字参数(一个 WEAPON_... 常量),我们尝试给它一个函数,或者一个 null。显然发电机在我们身上呻吟。
AI Basic,第 11 行 ▶ 未知函数:sort(number, null) sort 需要一个数组作为第一个参数,我们尝试给它一个数字。
基本 AI,第 8 行 ▶ 未知函数:getNearestEnemyTo(array) getNearestEnemyTo 将实体 ID 作为参数,而不是数组。
由于缺少括号,也可能发生此错误:
这里我们将 getNearestEnemy 函数存储在 enemy 变量中,而不是它的结果(参见 Functions。 修复:var enemy = getNearestEnemy();
###——
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.