Développement
Programmation de l'IA
- Documentation API
- Introduction
- Fichier info.nut
- Fichier main.nut
- Principes de base
- Détermination de chemin routier
- Détermination de chemin ferroviaire
- Sauver / Charger des données
- Choses à savoir
- Squirrel
- Listes
- Traiter les erreurs OTTD
- Tramways
- Bibliothèques de l'IA
- Forum
- FAQ du forum
- Comportement de l'IA
IAs
Tous les articles de la catégorie NonIAVoici les questions fréquemment posées sur le forum NonIA à http://www.tt-forums.net/viewforum.php?f=65
FAQ NonIA
(Q) Comment puis-je retrouver l'ancienne IA?
(R) Vous ne le pouvez pas dans OpenTTD. Il y a beaucoup d'IA qui fonctionnent de différentes manières. Vous devriez regarder alentour et voir s'il n'y en a pas une que vous aimez.
(Q) Je n'apprécie aucune des nouvelles IAs. Puis-je alors retrouver l'ancienne?
(R) Désolé, toujours pas. L'ancienne IA trichait; beaucoup. Elle aménageait le terrain pour rien, ignorait l'attitudes des municipalités envers un joueur. Le nouveau cadre ne permet plus à l'IA de tricher. Elle ne peut rien faire que vous ne puissiez faire. Il y a beaucoup d'IA, certaines avec le but exprès d'être de bons remplaçants pour l'ancienne IA. Continuez à lire, si vous voulez les influencer pour qu'elle ressemble plus à ce que vous désirez.
(Q) Que faire si l'IA se plante?
(R) Si vous voulez être utile, une capture d'écran du texte en rouge est appréciable. Assurez-vous de capturer toute la ligne. Les nombres à droite sont importants. Faites tout ce qui est possible pour avoir toute la ligne. Postez l'image sur la file de l'IA correspondant à celle qui s'est plantée.
(Q) Que faire si je trouve un bogue dans une IA?
(R) Merci de prendre une bonne capture d'écran de l'erreur et de la poster sur la file de l'IA. Essayez d'être clair sur ce que vous attendiez et ce que vous avez vu. Sauvegarder la partie peut parfois être utile, mais dans de nombreux cas, le problème est passé et une capture d'écran est suffisante.
(Q) Que faire si j'estime qu'une IA devrait agir différemment, si je veux ajouter une fonctionnalité, supporter un NewGRF ou autre chose semblable?
(R) Trouvez la file et demandez respectueusement à l'auteur de l'inclure. Cela peut l'aider si vous accompagnez votre explication de bonnes raisons. "Le NewGRF X est très populaire et l'IA n'est pas compatible" est bien plus convaincant que "J'ai chargé 15 newGRFs étrangement mêlés et dans mon scénario personnalisé, l'IA se plante la moitié du temps". Rappelez-vous que les développeurs sont surtout des volontaires. merci de les traiter avec respect.
(Q) Comment faire pour commencer à écrire ma propre IA?
(R) La section NonIA du Wiki devrait vous aider.
(Q) Que faire si j'ai des questions sur comment faire quelque chose dans mon IA?
(R) Sentez-vous libre de demander sur le forum NonIA. Les autres auteurs seront presque toujours prêts à vous aider. Ils attendent de votre part que vous l'essayiez et peut-être postiez une portion de code montrant ce que vous tentez de faire. Essayez de poser des questions spécifiques.
(Q) Comment proposer des changements dans l'API NonIA?
(R) Il y a une file pour cette discussion. Merci de lire toute la file avant de poster de "nouvelles" idées qui y sont déjà.
(Q) Mon IA a besoin d'une fonction mathématique ou autre ajoutée à Squirrel, afin de fonctionner
(R) Voyez la file des idées de l'API. Il y a quelques discussions sur ce sujet dans celle-ci.
(Q) Puis-je ajouter une pénalité pour les croisements de niveau dans la bibliothèque de détermination de chemin?
(R) Oui. Fanioz a une méthode.
(Q) J'ai une question qui n'est pas sur cette liste, puis-je simplement la poser ici?
(R) Merci de rechercher d'abord dans les forums, pendant au moins 10-15 minutes. Quand vous posez vos questions, incluez-y les recherches que vous avez faites. Sinon, vous obtiendrez sans doute une réponse laconique vous disant de chercher.
(Q) J'ai posé une question et n'ai pas obtenu de (bonne) réponse; que puis-je faire?
(R) Assurez-vous que votre question peut obtenir une réponse. Les questions générales comme "Quelqu'un sait-il comment construire une locomotive?" attirent bien moins l'attention que des questions comme "Pourquoi cet extrait de code aboutit-il à l'achat d'une locomotive?". Assurez-vous que votre question est dans la bonne file. Dire "Cette IA devrait supporter les passagers" dans la file d'une IA est mieux que demander "Pourquoi n'y a-t-il pas plus d'IA supportant les passagers?" dans une file générale.
(Q) Mon IA produit l'erreur "impossible de détecter la véritable instance de classe pour un appel non statique" quand je tente d'étendre une liste; quelle erreur ai-je fait?
(R) Vous avez oublié d'appeler le constructeur de la classe parent. Ajoutez un appel à celui-ci dans votre constructeur.