> Tutorial LeekScript
Anda membuat kode AI Anda seperti diberkati. Garis bergulir, dan nama... Tidak tunggu, kita sudah melihatnya. Kali ini, tidak ada lagi pesan merah di editor, kompiler tidak lagi memiliki rahasia untuk Anda. Saatnya duel! Anda mengamati daun bawang Anda di lingkungan alaminya, seperti Steve Irwin di kebun sayur. Mereka berjalan-jalan, bermain-main, saling menembak, mereka terlihat bahagia!
Mereka tidak curiga bahwa dalam bayang-bayang mengintai musuh yang tangguh...
Ahhh klasik!! Ini belum tentu merupakan kesalahan AI, tetapi melebihi jumlah maksimum operasi (OPERATIONS_LIMIT ditetapkan pada 20 juta operasi). Lihat tutorial Operasi untuk artikel mendetail.
Dalam hal ini, kita dapat bertaruh pada loop tanpa kondisi berhenti, yang disebut loop tak terbatas (lihat The Loops).
Contoh kecil? Berikut sedikit kode untuk menggunakan senjata pada lawan selama kita memiliki PT: 
Bodoh ya? Yah tidak! Kesalahan muncul selama eksekusi: Dasar, baris 13 ▶ Gangguan AI: Kesalahan Eksekusi: Terlalu banyak operasi yang dijalankan untuk putaran ini
Apa yang mungkin menjadi masalah... Cukup sederhana, selama kondisi getTP() > 0, perulangan akan dijalankan. Tapi apa yang akan terjadi jika kita tidak bisa menggunakan senjata? Yah kita tidak akan kehilangan PT apapun! Dan kondisinya akan selalu benar! Jadi kami memiliki loop yang akan menjalankan ad infinitiiiiiiiiiiiiiiiiiiiiii.
Untuk memperbaiki kasus ini, kita dapat menguji kembalinya fungsi useWeapon dan menganalisis hasilnya.
Kemungkinan perbaikan:
Bukan ukuran yang penting!
Tanpa membaca AI Anda, saya akan kesulitan mengoreksi Anda... Kami masih dapat mengutip beberapa kemungkinan:
lineOfSight sekali menghabiskan 15 operasi, menggunakannya dalam 3 loop bersarang akan dikenakan biaya!getCellToUseWeapon tidak boleh disalahgunakan! Berguna untuk menyimpan hasil dari fungsi yang banyak digunakan, atau mengodekannya kembali.Jadi kali ini saya berhati-hati, saya memasukkan jumlah parameter yang tepat di fungsi saya. Jadi, ya, tetapi Anda tidak dapat menempatkan parameter apa pun di fungsi asli. Fungsi-fungsi ini membutuhkan jenis input tertentu. Jika Anda mencoba menggunakannya dengan parameter yang salah, Anda akan mendapatkan hasil yang serupa:
AI Basic, baris 14 ▶ Fungsi tidak diketahui: useWeapon(function) AI Basic, baris 14 ▶ Fungsi tidak diketahui: useWeapon(null)
Di sini, fungsi useWeapon mengambil argumen angka (konstanta WEAPON_...) dan kami mencoba memberinya fungsi, atau null. Jelas generator mengerang pada kami.
AI Basic, baris 11 ▶ Fungsi tidak diketahui: urutkan(angka, nol) sort mengharapkan sebuah array sebagai parameter pertama, dan kami mencoba memberikannya sebuah angka.
Basic AI, baris 8 ▶ Fungsi tidak diketahui: getNearestEnemyTo(array) getNearestEnemyTo menggunakan id entitas sebagai parameter, bukan larik.
Kesalahan ini juga dapat terjadi karena tanda kurung yang hilang:
Di sini kita menyimpan fungsi getNearestEnemy dalam variabel musuh, bukan hasilnya (lihat Fungsi. Perbaiki: var musuh = getNearestEnemy();
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.