обычно под игру выбирается язык. например читы на майнкрафт обычно пишут на джаве и т.д..
вообще C/C++/asm для доты но(как и везде) если захотеть можно сочетать с другими высокоуровневыми языками(они обычно имеют механизмы исполнения Сшных функций(биндинги, нативы и т.д.) - некоторые могут быть в стандартной библиотеке, например всякие функции для работы с файлами(в луа джс питоне джаве и подобных языках нельзя например открывать файлы и работать с ними, нельзя выводить текст в консоль и т.д. но можно вызывать Сшные функции которые это делают) и тд). всё чего язык не умеет придется делать на С(++) и привязывать. обычно основную часть пишут на С(++), а остатки на всяких луа джс питон и тд. (ну или просто целиком на С(++))
экстернал это читы которые только читают и пишут в оперативную память(для таких обычно хватает функционала стандартной библиотеки языка или других библиотек)
интернал это выполнение кода непосредственно в рамках процесса игры с возможностью вызывать игровые функции и т.д.