1 Commits
4.3 ... 4.4

Author SHA1 Message Date
92101631af add translation function 2025-11-02 22:39:21 +11:00
6 changed files with 1381 additions and 415 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -376,9 +376,6 @@ namespace DevourClient.Helpers
public static IEnumerator GetAzazels() public static IEnumerator GetAzazels()
{ {
/*
* ikr AzazelS, because in case we spawn multiple we want the esp to render all of them
*/
while (isRunning) while (isRunning)
{ {
Azazels = Il2Cpp.SurvivalAzazelBehaviour.FindObjectsOfType<Il2Cpp.SurvivalAzazelBehaviour>(); Azazels = Il2Cpp.SurvivalAzazelBehaviour.FindObjectsOfType<Il2Cpp.SurvivalAzazelBehaviour>();
@@ -388,25 +385,17 @@ namespace DevourClient.Helpers
} }
} }
/// <summary>
/// 启动所有协程
/// </summary>
public static void StartAllCoroutines() public static void StartAllCoroutines()
{ {
isRunning = true; isRunning = true;
} }
/// <summary>
/// 停止所有协程并清理协程引用
/// </summary>
public static void StopAllCoroutines() public static void StopAllCoroutines()
{ {
try try
{ {
// 设置标志,让所有协程循环自然退出
isRunning = false; isRunning = false;
// 停止所有记录的协程
foreach (var coroutine in activeCoroutines) foreach (var coroutine in activeCoroutines)
{ {
if (coroutine != null) if (coroutine != null)
@@ -415,10 +404,8 @@ namespace DevourClient.Helpers
} }
} }
// 清空协程引用列表
activeCoroutines.Clear(); activeCoroutines.Clear();
// 清理缓存对象
CleanupCachedObjects(); CleanupCachedObjects();
MelonLogger.Msg("All coroutines stopped and cleaned up successfully."); MelonLogger.Msg("All coroutines stopped and cleaned up successfully.");
@@ -429,14 +416,10 @@ namespace DevourClient.Helpers
} }
} }
/// <summary>
/// 清理所有缓存的游戏对象引用
/// </summary>
public static void CleanupCachedObjects() public static void CleanupCachedObjects()
{ {
try try
{ {
// 清理玩家对象引用
if (Players != null) if (Players != null)
{ {
foreach (var player in Players) foreach (var player in Players)
@@ -448,7 +431,6 @@ namespace DevourClient.Helpers
} }
} }
// 将所有实体数组设为null释放对游戏对象的引用
Players = null; Players = null;
GoatsAndRats = null; GoatsAndRats = null;
SurvivalInteractables = null; SurvivalInteractables = null;
@@ -463,7 +445,6 @@ namespace DevourClient.Helpers
Lumps = null; Lumps = null;
Monkeys = null; Monkeys = null;
// 清理本地玩家引用
if (LocalPlayer_ != null) if (LocalPlayer_ != null)
{ {
LocalPlayer_.p_GameObject = null; LocalPlayer_.p_GameObject = null;
@@ -477,9 +458,6 @@ namespace DevourClient.Helpers
} }
} }
/// <summary>
/// 注册协程引用用于后续管理
/// </summary>
public static void RegisterCoroutine(object coroutine) public static void RegisterCoroutine(object coroutine)
{ {
if (coroutine != null && !activeCoroutines.Contains(coroutine)) if (coroutine != null && !activeCoroutines.Contains(coroutine))

View File

@@ -0,0 +1,789 @@
using System.Collections.Generic;
namespace DevourClient.Localization
{
public enum Language
{
English,
Chinese,
French,
German,
Spanish,
Japanese,
Korean,
Russian,
Portuguese,
Italian
}
public static class MultiLanguageSystem
{
public static Language CurrentLanguage { get; set; } = Language.English;
private static readonly Dictionary<Language, string> LanguageDisplayNames = new Dictionary<Language, string>
{
{ Language.English, "English" },
{ Language.Chinese, "简体中文" },
{ Language.French, "Français" },
{ Language.German, "Deutsch" },
{ Language.Spanish, "Español" },
{ Language.Japanese, "日本語" },
{ Language.Korean, "한국어" },
{ Language.Russian, "Русский" },
{ Language.Portuguese, "Português" },
{ Language.Italian, "Italiano" }
};
private static readonly Dictionary<string, Dictionary<Language, string>> Translations =
new Dictionary<string, Dictionary<Language, string>>();
static MultiLanguageSystem()
{
InitializeTranslations();
}
private static void InitializeTranslations()
{
AddTranslation("Key",
cn: "钥匙", fr: "Clé", de: "Schlüssel", es: "Llave",
ja: "鍵", ko: "열쇠", ru: "Ключ", pt: "Chave", it: "Chiave");
AddTranslation("Hay",
cn: "干草", fr: "Foin", de: "Heu", es: "Heno",
ja: "干し草", ko: "건초", ru: "Сено", pt: "Feno", it: "Fieno");
AddTranslation("FirstAid",
cn: "急救包", fr: "Trousse de premiers soins", de: "Erste Hilfe", es: "Botiquín",
ja: "救急箱", ko: "응급처치", ru: "Аптечка", pt: "Primeiros socorros", it: "Pronto soccorso");
AddTranslation("Battery",
cn: "电池", fr: "Batterie", de: "Batterie", es: "Batería",
ja: "バッテリー", ko: "배터리", ru: "Батарея", pt: "Bateria", it: "Batteria");
AddTranslation("Gasoline",
cn: "汽油", fr: "Essence", de: "Benzin", es: "Gasolina",
ja: "ガソリン", ko: "휘발유", ru: "Бензин", pt: "Gasolina", it: "Benzina");
AddTranslation("Fuse",
cn: "保险丝", fr: "Fusible", de: "Sicherung", es: "Fusible",
ja: "ヒューズ", ko: "퓨즈", ru: "Предохранитель", pt: "Fusível", it: "Fusibile");
AddTranslation("Food",
cn: "食物", fr: "Nourriture", de: "Essen", es: "Comida",
ja: "食べ物", ko: "음식", ru: "Еда", pt: "Comida", it: "Cibo");
AddTranslation("RottenFood",
cn: "腐烂食物", fr: "Nourriture pourrie", de: "Verdorbenes Essen", es: "Comida podrida",
ja: "腐った食べ物", ko: "썩은 음식", ru: "Гнилая еда", pt: "Comida podre", it: "Cibo marcio");
AddTranslation("Bone",
cn: "骨头", fr: "Os", de: "Knochen", es: "Hueso",
ja: "骨", ko: "뼈", ru: "Кость", pt: "Osso", it: "Osso");
AddTranslation("Bleach",
cn: "漂白剂", fr: "Eau de Javel", de: "Bleichmittel", es: "Lejía",
ja: "漂白剤", ko: "표백제", ru: "Отбеливатель", pt: "Alvejante", it: "Candeggina");
AddTranslation("Matchbox",
cn: "火柴盒", fr: "Boîte d'allumettes", de: "Streichholzschachtel", es: "Caja de cerillas",
ja: "マッチ箱", ko: "성냥갑", ru: "Спички", pt: "Caixa de fósforos", it: "Scatola di fiammiferi");
AddTranslation("Spade",
cn: "铲子", fr: "Pelle", de: "Spaten", es: "Pala",
ja: "シャベル", ko: "삽", ru: "Лопата", pt: "Pá", it: "Vanga");
AddTranslation("Cake",
cn: "蛋糕", fr: "Gâteau", de: "Kuchen", es: "Pastel",
ja: "ケーキ", ko: "케이크", ru: "Торт", pt: "Bolo", it: "Torta");
AddTranslation("MusicBox",
cn: "音乐盒", fr: "Boîte à musique", de: "Spieluhr", es: "Caja de música",
ja: "オルゴール", ko: "오르골", ru: "Музыкальная шкатулка", pt: "Caixa de música", it: "Carillon");
AddTranslation("MusicBox-Idle",
cn: "音乐盒", fr: "Boîte à musique", de: "Spieluhr", es: "Caja de música",
ja: "オルゴール", ko: "오르골", ru: "Музыкальная шкатулка", pt: "Caixa de música", it: "Carillon");
AddTranslation("Coin",
cn: "硬币", fr: "Pièce", de: "Münze", es: "Moneda",
ja: "コイン", ko: "동전", ru: "Монета", pt: "Moeda", it: "Moneta");
// 仪式物品
AddTranslation("Egg",
cn: "鸡蛋", fr: "Œuf", de: "Ei", es: "Huevo",
ja: "卵", ko: "달걀", ru: "Яйцо", pt: "Ovo", it: "Uovo");
for (int i = 1; i <= 10; i++)
{
AddTranslation($"Egg-Clean-{i}",
cn: $"鸡蛋-{i}", fr: $"Œuf-{i}", de: $"Ei-{i}", es: $"Huevo-{i}",
ja: $"卵-{i}", ko: $"달걀-{i}", ru: $"Яйцо-{i}", pt: $"Ovo-{i}", it: $"Uovo-{i}");
}
AddTranslation("RitualBook",
cn: "仪式书", fr: "Livre rituel", de: "Ritualbuch", es: "Libro ritual",
ja: "儀式の本", ko: "의식서", ru: "Ритуальная книга", pt: "Livro ritual", it: "Libro rituale");
AddTranslation("DollHead",
cn: "玩偶头", fr: "Tête de poupée", de: "Puppenkopf", es: "Cabeza de muñeca",
ja: "人形の頭", ko: "인형 머리", ru: "Голова куклы", pt: "Cabeça de boneca", it: "Testa di bambola");
AddTranslation("Head",
cn: "头颅", fr: "Tête", de: "Kopf", es: "Cabeza",
ja: "頭", ko: "머리", ru: "Голова", pt: "Cabeça", it: "Testa");
AddTranslation("CleanHead",
cn: "干净的头颅", fr: "Tête propre", de: "Sauberer Kopf", es: "Cabeza limpia",
ja: "きれいな頭", ko: "깨끗한 머리", ru: "Чистая голова", pt: "Cabeça limpa", it: "Testa pulita");
AddTranslation("Goat",
cn: "山羊", fr: "Chèvre", de: "Ziege", es: "Cabra",
ja: "ヤギ", ko: "염소", ru: "Коза", pt: "Cabra", it: "Capra");
AddTranslation("Rat",
cn: "老鼠", fr: "Rat", de: "Ratte", es: "Rata",
ja: "ネズミ", ko: "쥐", ru: "Крыса", pt: "Rato", it: "Ratto");
AddTranslation("Pig",
cn: "猪", fr: "Cochon", de: "Schwein", es: "Cerdo",
ja: "豚", ko: "돼지", ru: "Свинья", pt: "Porco", it: "Maiale");
AddTranslation("Azazel",
cn: "Azazel", fr: "Azazel", de: "Azazel", es: "Azazel",
ja: "Azazel", ko: "Azazel", ru: "Azazel", pt: "Azazel", it: "Azazel");
AddTranslation("Demon",
cn: "恶魔", fr: "Démon", de: "Dämon", es: "Demonio",
ja: "悪魔", ko: "악마", ru: "Демон", pt: "Demônio", it: "Demone");
AddTranslation("Spider",
cn: "蜘蛛", fr: "Araignée", de: "Spinne", es: "Araña",
ja: "クモ", ko: "거미", ru: "Паук", pt: "Aranha", it: "Ragno");
AddTranslation("Ghost",
cn: "鬼魂", fr: "Fantôme", de: "Geist", es: "Fantasma",
ja: "幽霊", ko: "유령", ru: "Призрак", pt: "Fantasma", it: "Fantasma");
AddTranslation("Boar",
cn: "野猪", fr: "Sanglier", de: "Wildschwein", es: "Jabalí",
ja: "イノシシ", ko: "멧돼지", ru: "Кабан", pt: "Javali", it: "Cinghiale");
AddTranslation("Corpse",
cn: "尸体", fr: "Cadavre", de: "Leiche", es: "Cadáver",
ja: "死体", ko: "시체", ru: "Труп", pt: "Cadáver", it: "Cadavere");
AddTranslation("Crow",
cn: "乌鸦", fr: "Corbeau", de: "Krähe", es: "Cuervo",
ja: "カラス", ko: "까마귀", ru: "Ворона", pt: "Corvo", it: "Corvo");
AddTranslation("Lump",
cn: "肿块", fr: "Masse", de: "Klumpen", es: "Bulto",
ja: "塊", ko: "덩어리", ru: "Комок", pt: "Caroço", it: "Grumo");
AddTranslation("Monkey",
cn: "猴子", fr: "Singe", de: "Affe", es: "Mono",
ja: "猿", ko: "원숭이", ru: "Обезьяна", pt: "Macaco", it: "Scimmia");
AddTranslation("Inmate",
cn: "囚犯", fr: "Détenu", de: "Häftling", es: "Recluso",
ja: "囚人", ko: "수감자", ru: "Заключенный", pt: "Detento", it: "Detenuto");
AddTranslation("AzazelSam",
cn: "Azazel-Sam", fr: "Azazel-Sam", de: "Azazel-Sam", es: "Azazel-Sam",
ja: "Azazel-Sam", ko: "Azazel-Sam", ru: "Azazel-Sam", pt: "Azazel-Sam", it: "Azazel-Sam");
AddTranslation("AzazelMolly",
cn: "Azazel-Molly", fr: "Azazel-Molly", de: "Azazel-Molly", es: "Azazel-Molly",
ja: "Azazel-Molly", ko: "Azazel-Molly", ru: "Azazel-Molly", pt: "Azazel-Molly", it: "Azazel-Molly");
AddTranslation("AzazelAnna",
cn: "Azazel-Anna", fr: "Azazel-Anna", de: "Azazel-Anna", es: "Azazel-Anna",
ja: "Azazel-Anna", ko: "Azazel-Anna", ru: "Azazel-Anna", pt: "Azazel-Anna", it: "Azazel-Anna");
AddTranslation("AzazelZara",
cn: "Azazel-Zara", fr: "Azazel-Zara", de: "Azazel-Zara", es: "Azazel-Zara",
ja: "Azazel-Zara", ko: "Azazel-Zara", ru: "Azazel-Zara", pt: "Azazel-Zara", it: "Azazel-Zara");
AddTranslation("AzazelNathan",
cn: "Azazel-Nathan", fr: "Azazel-Nathan", de: "Azazel-Nathan", es: "Azazel-Nathan",
ja: "Azazel-Nathan", ko: "Azazel-Nathan", ru: "Azazel-Nathan", pt: "Azazel-Nathan", it: "Azazel-Nathan");
AddTranslation("AzazelApril",
cn: "Azazel-April", fr: "Azazel-April", de: "Azazel-April", es: "Azazel-April",
ja: "Azazel-April", ko: "Azazel-April", ru: "Azazel-April", pt: "Azazel-April", it: "Azazel-April");
AddTranslation("AzazelKai",
cn: "Azazel-Kai", fr: "Azazel-Kai", de: "Azazel-Kai", es: "Azazel-Kai",
ja: "Azazel-Kai", ko: "Azazel-Kai", ru: "Azazel-Kai", pt: "Azazel-Kai", it: "Azazel-Kai");
AddTranslation("Sam",
cn: "萨姆", fr: "Sam", de: "Sam", es: "Sam",
ja: "サム", ko: "샘", ru: "Сэм", pt: "Sam", it: "Sam");
AddTranslation("Anna",
cn: "安娜", fr: "Anna", de: "Anna", es: "Anna",
ja: "アンナ", ko: "안나", ru: "Анна", pt: "Anna", it: "Anna");
AddTranslation("Zara",
cn: "扎拉", fr: "Zara", de: "Zara", es: "Zara",
ja: "ザラ", ko: "자라", ru: "Зара", pt: "Zara", it: "Zara");
AddTranslation("Devour",
cn: "农舍", fr: "Ferme", de: "Bauernhof", es: "Granja",
ja: "農家", ko: "농가", ru: "Ферма", pt: "Fazenda", it: "Fattoria");
AddTranslation("Farmhouse",
cn: "农舍", fr: "Ferme", de: "Bauernhof", es: "Granja",
ja: "農家", ko: "농가", ru: "Ферма", pt: "Fazenda", it: "Fattoria");
AddTranslation("Molly",
cn: "精神病院", fr: "Asile", de: "Anstalt", es: "Asilo",
ja: "精神病院", ko: "정신병원", ru: "Психбольница", pt: "Asilo", it: "Manicomio");
AddTranslation("Asylum",
cn: "精神病院", fr: "Asile", de: "Anstalt", es: "Asilo",
ja: "精神病院", ko: "정신병원", ru: "Психбольница", pt: "Asilo", it: "Manicomio");
AddTranslation("Inn",
cn: "旅馆", fr: "Auberge", de: "Gasthaus", es: "Posada",
ja: "旅館", ko: "여관", ru: "Гостиница", pt: "Pousada", it: "Locanda");
AddTranslation("Town",
cn: "小镇", fr: "Ville", de: "Stadt", es: "Pueblo",
ja: "町", ko: "마을", ru: "Город", pt: "Cidade", it: "Città");
AddTranslation("Slaughterhouse",
cn: "屠宰场", fr: "Abattoir", de: "Schlachthaus", es: "Matadero",
ja: "屠殺場", ko: "도살장", ru: "Бойня", pt: "Matadouro", it: "Macello");
AddTranslation("Manor",
cn: "庄园", fr: "Manoir", de: "Herrenhaus", es: "Mansión",
ja: "邸宅", ko: "저택", ru: "Усадьба", pt: "Solar", it: "Villa");
AddTranslation("Carnival",
cn: "嘉年华", fr: "Carnaval", de: "Karneval", es: "Carnaval",
ja: "カーニバル", ko: "카니발", ru: "Карнавал", pt: "Carnaval", it: "Carnevale");
AddTranslation("Menu",
cn: "菜单", fr: "Menu", de: "Menü", es: "Menú",
ja: "メニュー", ko: "메뉴", ru: "Меню", pt: "Menu", it: "Menu");
AddTranslation("Player",
cn: "玩家", fr: "Joueur", de: "Spieler", es: "Jugador",
ja: "プレイヤー", ko: "플레이어", ru: "Игрок", pt: "Jogador", it: "Giocatore");
AddTranslation("Door",
cn: "门", fr: "Porte", de: "Tür", es: "Puerta",
ja: "ドア", ko: "문", ru: "Дверь", pt: "Porta", it: "Porta");
AddTranslation("Gate",
cn: "大门", fr: "Portail", de: "Tor", es: "Portal",
ja: "門", ko: "대문", ru: "Ворота", pt: "Portão", it: "Cancello");
AddTranslation("Altar",
cn: "祭坛", fr: "Autel", de: "Altar", es: "Altar",
ja: "祭壇", ko: "제단", ru: "Алтарь", pt: "Altar", it: "Altare");
AddTranslation("Fountain",
cn: "喷泉", fr: "Fontaine", de: "Brunnen", es: "Fuente",
ja: "噴水", ko: "분수", ru: "Фонтан", pt: "Fonte", it: "Fontana");
AddTranslation("Mirror",
cn: "镜子", fr: "Miroir", de: "Spiegel", es: "Espejo",
ja: "鏡", ko: "거울", ru: "Зеркало", pt: "Espelho", it: "Specchio");
AddTranslation("Cage",
cn: "笼子", fr: "Cage", de: "Käfig", es: "Jaula",
ja: "檻", ko: "우리", ru: "Клетка", pt: "Gaiola", it: "Gabbia");
AddTranslation("Big Flashlight",
cn: "大手电筒", fr: "Grande lampe", de: "Große Taschenlampe", es: "Linterna grande",
ja: "大型懐中電灯", ko: "큰 손전등", ru: "Большой фонарик", pt: "Lanterna grande", it: "Grande torcia");
AddTranslation("Fullbright",
cn: "全亮", fr: "Luminosité max", de: "Vollhelligkeit", es: "Brillo completo",
ja: "フルブライト", ko: "전체 밝기", ru: "Полная яркость", pt: "Brilho total", it: "Luminosità piena");
AddTranslation("Unlimited UV Light",
cn: "无限紫外线", fr: "UV illimitée", de: "Unbegrenzte UV", es: "UV ilimitada",
ja: "無限UV", ko: "무제한 UV", ru: "Безлимитный УФ", pt: "UV ilimitada", it: "UV illimitata");
AddTranslation("Crosshair",
cn: "准星", fr: "Réticule", de: "Fadenkreuz", es: "Punto de mira",
ja: "照準", ko: "조준점", ru: "Прицел", pt: "Mira", it: "Mirino");
AddTranslation("Flashlight Color",
cn: "手电筒颜色", fr: "Couleur lampe", de: "Taschenlampenfarbe", es: "Color linterna",
ja: "懐中電灯の色", ko: "손전등 색상", ru: "Цвет фонарика", pt: "Cor da lanterna", it: "Colore torcia");
AddTranslation("TP items to you",
cn: "传送物品到你", fr: "TP objets vers vous", de: "TP Gegenstände zu dir", es: "TP objetos a ti",
ja: "アイテムをテレポート", ko: "아이템 텔레포트", ru: "ТП предметы к вам", pt: "TP itens para você", it: "TP oggetti a te");
AddTranslation("Freeze azazel",
cn: "冻结 Azazel", fr: "Geler Azazel", de: "Azazel einfrieren", es: "Congelar Azazel",
ja: "Azazelを凍結", ko: "Azazel 얼리기", ru: "Заморозить Azazel", pt: "Congelar Azazel", it: "Congela Azazel");
AddTranslation("Azazel & Demons",
cn: "Azazel 和恶魔", fr: "Azazel et démons", de: "Azazel & Dämonen", es: "Azazel y demonios",
ja: "Azazelと悪魔", ko: "Azazel과 악마", ru: "Azazel и демоны", pt: "Azazel e demônios", it: "Azazel e demoni");
AddTranslation("Instant Win",
cn: "瞬间胜利", fr: "Victoire instantanée", de: "Sofortiger Sieg", es: "Victoria instantánea",
ja: "即勝利", ko: "즉시 승리", ru: "Мгновенная победа", pt: "Vitória instantânea", it: "Vittoria istantanea");
AddTranslation("Burn a ritual object",
cn: "燃烧一个仪式物品", fr: "Brûler un objet rituel", de: "Ritualobjekt verbrennen", es: "Quemar objeto ritual",
ja: "儀式の物を燃やす", ko: "의식 물체 태우기", ru: "Сжечь ритуальный объект", pt: "Queimar objeto ritual", it: "Brucia oggetto rituale");
AddTranslation("Burn all ritual objects",
cn: "燃烧所有仪式物品", fr: "Brûler tous les objets", de: "Alle Objekte verbrennen", es: "Quemar todos los objetos",
ja: "すべての物を燃やす", ko: "모든 물체 태우기", ru: "Сжечь все объекты", pt: "Queimar todos os objetos", it: "Brucia tutti gli oggetti");
AddTranslation("Force Start Game",
cn: "强制开始游戏", fr: "Forcer le démarrage", de: "Spiel erzwingen", es: "Forzar inicio",
ja: "強制開始", ko: "강제 시작", ru: "Принудительный старт", pt: "Forçar início", it: "Forza avvio");
AddTranslation("TP to Azazel",
cn: "传送到 Azazel", fr: "TP vers Azazel", de: "TP zu Azazel", es: "TP a Azazel",
ja: "Azazelへテレポート", ko: "Azazel로 텔레포트", ru: "ТП к Azazel", pt: "TP para Azazel", it: "TP ad Azazel");
AddTranslation("Despawn Demons",
cn: "移除恶魔", fr: "Retirer démons", de: "Dämonen entfernen", es: "Eliminar demonios",
ja: "悪魔を削除", ko: "악마 제거", ru: "Удалить демонов", pt: "Remover demônios", it: "Rimuovi demoni");
AddTranslation("Despawn Inmates",
cn: "移除囚犯", fr: "Retirer détenus", de: "Häftlinge entfernen", es: "Eliminar reclusos",
ja: "囚人を削除", ko: "수감자 제거", ru: "Удалить заключенных", pt: "Remover detentos", it: "Rimuovi detenuti");
AddTranslation("Clean The Fountains",
cn: "清洁喷泉", fr: "Nettoyer fontaines", de: "Brunnen reinigen", es: "Limpiar fuentes",
ja: "噴水を掃除", ko: "분수 청소", ru: "Очистить фонтаны", pt: "Limpar fontes", it: "Pulisci fontane");
AddTranslation("Despawn Spiders",
cn: "移除蜘蛛", fr: "Retirer araignées", de: "Spinnen entfernen", es: "Eliminar arañas",
ja: "クモを削除", ko: "거미 제거", ru: "Удалить пауков", pt: "Remover aranhas", it: "Rimuovi ragni");
AddTranslation("Despawn Ghosts",
cn: "移除幽灵", fr: "Retirer fantômes", de: "Geister entfernen", es: "Eliminar fantasmas",
ja: "ゴーストを削除", ko: "유령 제거", ru: "Удалить призраков", pt: "Remover fantasmas", it: "Rimuovi fantasmi");
AddTranslation("Despawn Boars",
cn: "移除野猪", fr: "Retirer sangliers", de: "Wildschweine entfernen", es: "Eliminar jabalíes",
ja: "イノシシを削除", ko: "멧돼지 제거", ru: "Удалить кабанов", pt: "Remover javalis", it: "Rimuovi cinghiali");
AddTranslation("Despawn Corpses",
cn: "移除尸体", fr: "Retirer cadavres", de: "Leichen entfernen", es: "Eliminar cadáveres",
ja: "死体を削除", ko: "시체 제거", ru: "Удалить трупы", pt: "Remover cadáveres", it: "Rimuovi cadaveri");
AddTranslation("Despawn Crows",
cn: "移除乌鸦", fr: "Retirer corbeaux", de: "Krähen entfernen", es: "Eliminar cuervos",
ja: "カラスを削除", ko: "까마귀 제거", ru: "Удалить воронов", pt: "Remover corvos", it: "Rimuovi corvi");
AddTranslation("Despawn Lumps",
cn: "移除肿块", fr: "Retirer masses", de: "Klumpen entfernen", es: "Eliminar bultos",
ja: "塊を削除", ko: "덩어리 제거", ru: "Удалить комки", pt: "Remover massas", it: "Rimuovi grumi");
AddTranslation("Switch realm",
cn: "切换领域", fr: "Changer de royaume", de: "Reich wechseln", es: "Cambiar reino",
ja: "領域を切り替え", ko: "영역 전환", ru: "Сменить мир", pt: "Trocar reino", it: "Cambia regno");
AddTranslation("Switch realm (house)",
cn: "切换领域(房屋)", fr: "Changer (maison)", de: "Reich wechseln (Haus)", es: "Cambiar (casa)",
ja: "領域切替(家)", ko: "영역 전환 (집)", ru: "Сменить (дом)", pt: "Trocar (casa)", it: "Cambia (casa)");
AddTranslation("Infinite mirrors",
cn: "无限镜子", fr: "Miroirs infinis", de: "Unendliche Spiegel", es: "Espejos infinitos",
ja: "無限の鏡", ko: "무한 거울", ru: "Бесконечные зеркала", pt: "Espelhos infinitos", it: "Specchi infiniti");
AddTranslation("Despawn Monkeys",
cn: "移除猴子", fr: "Retirer singes", de: "Affen entfernen", es: "Eliminar monos",
ja: "サルを削除", ko: "원숭이 제거", ru: "Удалить обезьян", pt: "Remover macacos", it: "Rimuovi scimmie");
AddTranslation("Load Map:",
cn: "加载地图:", fr: "Charger carte:", de: "Karte laden:", es: "Cargar mapa:",
ja: "マップ読込:", ko: "맵 로드:", ru: "Загрузить карту:", pt: "Carregar mapa:", it: "Carica mappa:");
AddTranslation("Player ESP",
cn: "玩家透视", fr: "ESP joueur", de: "Spieler ESP", es: "ESP jugador",
ja: "プレイヤーESP", ko: "플레이어 ESP", ru: "ESP игрока", pt: "ESP jogador", it: "ESP giocatore");
AddTranslation("Skeleton ESP",
cn: "骨骼透视", fr: "ESP squelette", de: "Skelett ESP", es: "ESP esqueleto",
ja: "スケルトンESP", ko: "스켈레톤 ESP", ru: "ESP скелета", pt: "ESP esqueleto", it: "ESP scheletro");
AddTranslation("Player Snapline",
cn: "玩家连线", fr: "Ligne joueur", de: "Spieler-Linie", es: "Línea jugador",
ja: "プレイヤーライン", ko: "플레이어 라인", ru: "Линия к игроку", pt: "Linha jogador", it: "Linea giocatore");
AddTranslation("Player ESP Color",
cn: "玩家透视颜色", fr: "Couleur ESP joueur", de: "Spieler ESP Farbe", es: "Color ESP jugador",
ja: "プレイヤーESP色", ko: "플레이어 ESP 색상", ru: "Цвет ESP игрока", pt: "Cor ESP jogador", it: "Colore ESP giocatore");
AddTranslation("Azazel ESP",
cn: "Azazel 透视", fr: "ESP Azazel", de: "Azazel ESP", es: "ESP Azazel",
ja: "Azazel ESP", ko: "Azazel ESP", ru: "ESP Azazel", pt: "ESP Azazel", it: "ESP Azazel");
AddTranslation("Azazel Snapline",
cn: "Azazel 连线", fr: "Ligne Azazel", de: "Azazel-Linie", es: "Línea Azazel",
ja: "Azazelライン", ko: "Azazel 라인", ru: "Линия к Azazel", pt: "Linha Azazel", it: "Linea Azazel");
AddTranslation("Azazel ESP Color",
cn: "Azazel 透视颜色", fr: "Couleur ESP Azazel", de: "Azazel ESP Farbe", es: "Color ESP Azazel",
ja: "Azazel ESP色", ko: "Azazel ESP 색상", ru: "Цвет ESP Azazel", pt: "Cor ESP Azazel", it: "Colore ESP Azazel");
AddTranslation("Item ESP",
cn: "物品透视", fr: "ESP objet", de: "Gegenstands-ESP", es: "ESP objeto",
ja: "アイテムESP", ko: "아이템 ESP", ru: "ESP предметов", pt: "ESP item", it: "ESP oggetto");
AddTranslation("Goat/Rat ESP",
cn: "山羊/老鼠透视", fr: "ESP chèvre/rat", de: "Ziege/Ratte ESP", es: "ESP cabra/rata",
ja: "ヤギ/ネズミESP", ko: "염소/쥐 ESP", ru: "ESP козы/крысы", pt: "ESP cabra/rato", it: "ESP capra/ratto");
AddTranslation("Demon ESP",
cn: "恶魔透视", fr: "ESP démon", de: "Dämon ESP", es: "ESP demonio",
ja: "悪魔ESP", ko: "악마 ESP", ru: "ESP демона", pt: "ESP demônio", it: "ESP demone");
AddTranslation("Unlimited Stamina",
cn: "无限耐力", fr: "Endurance illimitée", de: "Unbegrenzte Ausdauer", es: "Resistencia ilimitada",
ja: "無限スタミナ", ko: "무제한 스태미나", ru: "Безлимитная выносливость", pt: "Resistência ilimitada", it: "Resistenza illimitata");
AddTranslation("Walk In Lobby",
cn: "大厅行走", fr: "Marcher dans le lobby", de: "Im Lobby laufen", es: "Caminar en lobby",
ja: "ロビーで歩く", ko: "로비에서 걷기", ru: "Ходить в лобби", pt: "Andar no lobby", it: "Camminare in lobby");
AddTranslation("Fly",
cn: "飞行", fr: "Voler", de: "Fliegen", es: "Volar",
ja: "飛行", ko: "비행", ru: "Полет", pt: "Voar", it: "Volare");
AddTranslation("Fly Speed",
cn: "飞行速度", fr: "Vitesse vol", de: "Fluggeschwindigkeit", es: "Velocidad vuelo",
ja: "飛行速度", ko: "비행 속도", ru: "Скорость полета", pt: "Velocidade voo", it: "Velocità volo");
AddTranslation("Fast Move",
cn: "快速移动", fr: "Déplacement rapide", de: "Schnelle Bewegung", es: "Movimiento rápido",
ja: "高速移動", ko: "빠른 이동", ru: "Быстрое движение", pt: "Movimento rápido", it: "Movimento veloce");
AddTranslation("Speed Multiplier",
cn: "速度倍数", fr: "Multiplicateur vitesse", de: "Geschwindigkeitsmultiplikator", es: "Multiplicador velocidad",
ja: "速度倍率", ko: "속도 배율", ru: "Множитель скорости", pt: "Multiplicador velocidade", it: "Moltiplicatore velocità");
AddTranslation("Auto Respawn",
cn: "自动重生", fr: "Réapparition auto", de: "Auto-Respawn", es: "Reaparición auto",
ja: "自動リスポーン", ko: "자동 부활", ru: "Авто-возрождение", pt: "Respawn automático", it: "Respawn automatico");
AddTranslation("Exp Modifier",
cn: "经验修改", fr: "Modificateur XP", de: "Erfahrungsmodifikator", es: "Modificador exp",
ja: "経験値変更", ko: "경험치 수정", ru: "Модификатор опыта", pt: "Modificador exp", it: "Modificatore exp");
AddTranslation("Exp Value",
cn: "经验值", fr: "Valeur XP", de: "Erfahrungswert", es: "Valor exp",
ja: "経験値", ko: "경험치 값", ru: "Значение опыта", pt: "Valor exp", it: "Valore exp");
AddTranslation("Unlock Achievements",
cn: "解锁成就", fr: "Débloquer succès", de: "Erfolge freischalten", es: "Desbloquear logros",
ja: "実績解除", ko: "업적 잠금 해제", ru: "Разблокировать достижения", pt: "Desbloquear conquistas", it: "Sblocca obiettivi");
AddTranslation("Unlock Doors",
cn: "解锁门", fr: "Déverrouiller portes", de: "Türen öffnen", es: "Desbloquear puertas",
ja: "ドアを開ける", ko: "문 잠금 해제", ru: "Открыть двери", pt: "Desbloquear portas", it: "Sblocca porte");
AddTranslation("Teleport Keys",
cn: "传送钥匙", fr: "Téléporter clés", de: "Schlüssel teleportieren", es: "Teletransportar llaves",
ja: "鍵をテレポート", ko: "열쇠 텔레포트", ru: "Телепорт ключей", pt: "Teletransportar chaves", it: "Teletrasporta chiavi");
AddTranslation("Play Random Sound",
cn: "播放随机音效", fr: "Jouer son aléatoire", de: "Zufälligen Sound abspielen", es: "Reproducir sonido aleatorio",
ja: "ランダム音再生", ko: "랜덤 사운드 재생", ru: "Воспроизвести случайный звук", pt: "Reproduzir som aleatório", it: "Riproduci suono casuale");
AddTranslation("Spam Chat",
cn: "刷屏聊天", fr: "Spam chat", de: "Chat spammen", es: "Spam chat",
ja: "チャットスパム", ko: "채팅 도배", ru: "Спам в чате", pt: "Spam no chat", it: "Spam chat");
AddTranslation("Spoof Name",
cn: "伪装名字", fr: "Usurper nom", de: "Namen fälschen", es: "Falsificar nombre",
ja: "名前偽装", ko: "이름 위장", ru: "Подменить имя", pt: "Falsificar nome", it: "Falsifica nome");
AddTranslation("Spoof Server Name",
cn: "伪装服务器名", fr: "Usurper nom serveur", de: "Servernamen fälschen", es: "Falsificar nombre servidor",
ja: "サーバー名偽装", ko: "서버 이름 위장", ru: "Подменить имя сервера", pt: "Falsificar nome servidor", it: "Falsifica nome server");
AddTranslation("Spoof Level",
cn: "伪装等级", fr: "Usurper niveau", de: "Level fälschen", es: "Falsificar nivel",
ja: "レベル偽装", ko: "레벨 위장", ru: "Подменить уровень", pt: "Falsificar nível", it: "Falsifica livello");
AddTranslation("Level",
cn: "等级", fr: "Niveau", de: "Level", es: "Nivel",
ja: "レベル", ko: "레벨", ru: "Уровень", pt: "Nível", it: "Livello");
AddTranslation("Players",
cn: "玩家", fr: "Joueurs", de: "Spieler", es: "Jugadores",
ja: "プレイヤー", ko: "플레이어", ru: "Игроки", pt: "Jogadores", it: "Giocatori");
AddTranslation("Teleport to",
cn: "传送到", fr: "Téléporter vers", de: "Teleportieren zu", es: "Teletransportar a",
ja: "テレポート先", ko: "텔레포트", ru: "Телепорт к", pt: "Teletransportar para", it: "Teletrasporta a");
AddTranslation("Kill",
cn: "击杀", fr: "Tuer", de: "Töten", es: "Matar",
ja: "キル", ko: "죽이기", ru: "Убить", pt: "Matar", it: "Uccidi");
AddTranslation("Revive",
cn: "复活", fr: "Réanimer", de: "Wiederbeleben", es: "Revivir",
ja: "蘇生", ko: "부활", ru: "Воскресить", pt: "Reviver", it: "Rianima");
AddTranslation("Visuals",
cn: "视觉", fr: "Visuels", de: "Visuals", es: "Visuales",
ja: "ビジュアル", ko: "비주얼", ru: "Визуалы", pt: "Visuais", it: "Visivi");
AddTranslation("Entities",
cn: "实体", fr: "Entités", de: "Entitäten", es: "Entidades",
ja: "エンティティ", ko: "엔티티", ru: "Сущности", pt: "Entidades", it: "Entità");
AddTranslation("Map",
cn: "地图", fr: "Carte", de: "Karte", es: "Mapa",
ja: "マップ", ko: "맵", ru: "Карта", pt: "Mappa", it: "Mappa");
AddTranslation("ESP",
cn: "透视", fr: "ESP", de: "ESP", es: "ESP",
ja: "ESP", ko: "ESP", ru: "ESP", pt: "ESP", it: "ESP");
AddTranslation("Items",
cn: "物品", fr: "Objets", de: "Gegenstände", es: "Objetos",
ja: "アイテム", ko: "아이템", ru: "Предметы", pt: "Itens", it: "Oggetti");
AddTranslation("Misc",
cn: "杂项", fr: "Divers", de: "Sonstiges", es: "Varios",
ja: "その他", ko: "기타", ru: "Разное", pt: "Diversos", it: "Varie");
AddTranslation("First aid",
cn: "急救包", fr: "Premiers soins", de: "Erste Hilfe", es: "Primeros auxilios",
ja: "救急箱", ko: "응급처치", ru: "Первая помощь", pt: "Primeiros socorros", it: "Pronto soccorso");
AddTranslation("Ritual Objects",
cn: "仪式物品", fr: "Objets rituels", de: "Rituelle Objekte", es: "Objetos rituales",
ja: "儀式の品", ko: "의식 물품", ru: "Ритуальные предметы", pt: "Objetos rituais", it: "Oggetti rituali");
AddTranslation("Spawnable Prefabs",
cn: "可生成物体", fr: "Préfabriqués générables", de: "Erzeugbare Objekte", es: "Objetos generables",
ja: "生成可能なオブジェクト", ko: "생성 가능한 오브젝트", ru: "Создаваемые объекты", pt: "Objetos geráveis", it: "Oggetti generabili");
for (int i = 1; i <= 10; i++)
{
AddTranslation($"Egg-{i}",
cn: $"鸡蛋-{i}", fr: $"Œuf-{i}", de: $"Ei-{i}", es: $"Huevo-{i}",
ja: $"卵-{i}", ko: $"달걀-{i}", ru: $"Яйцо-{i}", pt: $"Ovo-{i}", it: $"Uovo-{i}");
}
AddTranslation("Ritual Book",
cn: "仪式书", fr: "Livre rituel", de: "Ritualbuch", es: "Libro ritual",
ja: "儀式の本", ko: "의식서", ru: "Ритуальная книга", pt: "Livro ritual", it: "Libro rituale");
AddTranslation("Doll Head",
cn: "玩偶头", fr: "Tête de poupée", de: "Puppenkopf", es: "Cabeza de muñeca",
ja: "人形の頭", ko: "인형 머리", ru: "Голова куклы", pt: "Cabeça de boneca", it: "Testa di bambola");
AddTranslation("Animal_Gate",
cn: "动物大门", fr: "Porte des animaux", de: "Tiertor", es: "Puerta de animales",
ja: "動物のゲート", ko: "동물 문", ru: "Ворота для животных", pt: "Portão de animais", it: "Cancello degli animali");
AddTranslation("AsylumDoor",
cn: "精神病院门", fr: "Porte d'asile", de: "Asyltür", es: "Puerta de asilo",
ja: "精神病院のドア", ko: "정신병원 문", ru: "Дверь приюта", pt: "Porta do asilo", it: "Porta dell'asilo");
AddTranslation("AsylumDoubleDoor",
cn: "精神病院双开门", fr: "Double porte d'asile", de: "Asyl-Doppeltür", es: "Puerta doble de asilo",
ja: "精神病院の二重ドア", ko: "정신병원 이중문", ru: "Двойная дверь приюта", pt: "Porta dupla do asilo", it: "Doppia porta dell'asilo");
AddTranslation("AsylumWhiteDoor",
cn: "精神病院白门", fr: "Porte blanche d'asile", de: "Weiße Asyltür", es: "Puerta blanca de asilo",
ja: "精神病院の白いドア", ko: "정신병원 흰색 문", ru: "Белая дверь приюта", pt: "Porta branca do asilo", it: "Porta bianca dell'asilo");
AddTranslation("DevourDoorBack",
cn: "后门", fr: "Porte arrière", de: "Hintertür", es: "Puerta trasera",
ja: "裏口", ko: "뒷문", ru: "Задняя дверь", pt: "Porta traseira", it: "Porta posteriore");
AddTranslation("DevourDoorMain",
cn: "主门", fr: "Porte principale", de: "Haupttür", es: "Puerta principal",
ja: "正面玄関", ko: "정문", ru: "Главная дверь", pt: "Porta principal", it: "Porta principale");
AddTranslation("DevourDoorRoom",
cn: "房间门", fr: "Porte de chambre", de: "Zimmertür", es: "Puerta de habitación",
ja: "部屋のドア", ko: "방문", ru: "Дверь комнаты", pt: "Porta do quarto", it: "Porta della stanza");
AddTranslation("Elevator_Door",
cn: "电梯门", fr: "Porte d'ascenseur", de: "Aufzugstür", es: "Puerta de ascensor",
ja: "エレベーターのドア", ko: "엘리베이터 문", ru: "Дверь лифта", pt: "Porta do elevador", it: "Porta dell'ascensore");
AddTranslation("InnDoor",
cn: "旅馆门", fr: "Porte d'auberge", de: "Gasthoftür", es: "Puerta de posada",
ja: "旅館のドア", ko: "여관 문", ru: "Дверь гостиницы", pt: "Porta da pousada", it: "Porta della locanda");
AddTranslation("InnDoubleDoor",
cn: "旅馆双开门", fr: "Double porte d'auberge", de: "Gasthof-Doppeltür", es: "Puerta doble de posada",
ja: "旅館の二重ドア", ko: "여관 이중문", ru: "Двойная дверь гостиницы", pt: "Porta dupla da pousada", it: "Doppia porta della locanda");
AddTranslation("InnShojiDoor",
cn: "旅馆障子门", fr: "Porte shoji d'auberge", de: "Gasthof-Shoji-Tür", es: "Puerta shoji de posada",
ja: "旅館の障子", ko: "여관 장지문", ru: "Сёдзи дверь гостиницы", pt: "Porta shoji da pousada", it: "Porta shoji della locanda");
AddTranslation("InnShrine",
cn: "旅馆神社", fr: "Sanctuaire d'auberge", de: "Gasthof-Schrein", es: "Santuario de posada",
ja: "旅館の神社", ko: "여관 신사", ru: "Святилище гостиницы", pt: "Santuário da pousada", it: "Santuario della locanda");
AddTranslation("InnWardrobe",
cn: "旅馆衣柜", fr: "Armoire d'auberge", de: "Gasthof-Kleiderschrank", es: "Armario de posada",
ja: "旅館のワードローブ", ko: "여관 옷장", ru: "Шкаф гостиницы", pt: "Guarda-roupa da pousada", it: "Armadio della locanda");
AddTranslation("InnWoodenDoor",
cn: "旅馆木门", fr: "Porte en bois d'auberge", de: "Gasthof-Holztür", es: "Puerta de madera de posada",
ja: "旅館の木製ドア", ko: "여관 나무문", ru: "Деревянная дверь гостиницы", pt: "Porta de madeira da pousada", it: "Porta di legno della locanda");
AddTranslation("PigExcrement",
cn: "猪粪", fr: "Excréments de porc", de: "Schweinekot", es: "Excremento de cerdo",
ja: "豚の排泄物", ko: "돼지 배설물", ru: "Свиной навоз", pt: "Excremento de porco", it: "Escrementi di maiale");
AddTranslation("SlaughterhouseFireEscapeDoor",
cn: "屠宰场消防门", fr: "Porte de secours d'abattoir", de: "Schlachthof-Feuerschutztür", es: "Puerta de escape de matadero",
ja: "屠殺場の非常口", ko: "도축장 비상구", ru: "Пожарная дверь бойни", pt: "Porta de incêndio do matadouro", it: "Porta antincendio del mattatoio");
AddTranslation("SurvivalAltarMolly",
cn: "莫莉祭坛", fr: "Autel de Molly", de: "Molly-Altar", es: "Altar de Molly",
ja: "モリーの祭壇", ko: "몰리 제단", ru: "Алтарь Молли", pt: "Altar de Molly", it: "Altare di Molly");
AddTranslation("SurvivalAltarSlaughterhouse",
cn: "屠宰场祭坛", fr: "Autel d'abattoir", de: "Schlachthof-Altar", es: "Altar de matadero",
ja: "屠殺場の祭壇", ko: "도축장 제단", ru: "Алтарь бойни", pt: "Altar do matadouro", it: "Altare del mattatoio");
AddTranslation("SurvivalAltarTown",
cn: "小镇祭坛", fr: "Autel de ville", de: "Stadt-Altar", es: "Altar de pueblo",
ja: "町の祭壇", ko: "마을 제단", ru: "Алтарь города", pt: "Altar da cidade", it: "Altare della città");
AddTranslation("SurvivalCultist",
cn: "邪教徒", fr: "Cultiste", de: "Kultist", es: "Cultista",
ja: "カルト信者", ko: "광신도", ru: "Культист", pt: "Cultista", it: "Cultista");
AddTranslation("SurvivalKai",
cn: "凯", fr: "Kai", de: "Kai", es: "Kai",
ja: "カイ", ko: "카이", ru: "Кай", pt: "Kai", it: "Kai");
AddTranslation("SurvivalNathan",
cn: "内森", fr: "Nathan", de: "Nathan", es: "Nathan",
ja: "ネイサン", ko: "네이선", ru: "Натан", pt: "Nathan", it: "Nathan");
AddTranslation("SurvivalMolly",
cn: "莫莉", fr: "Molly", de: "Molly", es: "Molly",
ja: "モリー", ko: "몰리", ru: "Молли", pt: "Molly", it: "Molly");
AddTranslation("SurvivalApril",
cn: "艾普尔", fr: "April", de: "April", es: "April",
ja: "エイプリル", ko: "에이프릴", ru: "Эйприл", pt: "April", it: "April");
AddTranslation("SurvivalFrank",
cn: "弗兰克", fr: "Frank", de: "Frank", es: "Frank",
ja: "フランク", ko: "프랭크", ru: "Фрэнк", pt: "Frank", it: "Frank");
AddTranslation("SurvivalRose",
cn: "罗斯", fr: "Rose", de: "Rose", es: "Rose",
ja: "ローズ", ko: "로즈", ru: "Роуз", pt: "Rose", it: "Rose");
AddTranslation("SurvivalSmashableWindow",
cn: "可破坏窗户", fr: "Fenêtre cassable", de: "Zerbrechliches Fenster", es: "Ventana rompible",
ja: "破壊可能な窓", ko: "파괴 가능한 창문", ru: "Разбиваемое окно", pt: "Janela quebrável", it: "Finestra distruttibile");
AddTranslation("TownDoor",
cn: "小镇门", fr: "Porte de ville", de: "Stadttür", es: "Puerta de pueblo",
ja: "町のドア", ko: "마을 문", ru: "Дверь города", pt: "Porta da cidade", it: "Porta della città");
AddTranslation("TownDoor2",
cn: "小镇门2", fr: "Porte de ville 2", de: "Stadttür 2", es: "Puerta de pueblo 2",
ja: "町のドア2", ko: "마을 문2", ru: "Дверь города 2", pt: "Porta da cidade 2", it: "Porta della città 2");
AddTranslation("TownPentagram",
cn: "小镇五芒星", fr: "Pentagramme de ville", de: "Stadt-Pentagramm", es: "Pentagrama de pueblo",
ja: "町の五芒星", ko: "마을 오각별", ru: "Пентаграмма города", pt: "Pentagrama da cidade", it: "Pentagramma della città");
AddTranslation("TrashCan",
cn: "垃圾桶", fr: "Poubelle", de: "Mülleimer", es: "Papelera",
ja: "ゴミ箱", ko: "쓰레기통", ru: "Мусорный бак", pt: "Lixeira", it: "Cestino");
AddTranslation("Truck_Shutter",
cn: "卡车卷帘门", fr: "Volet de camion", de: "LKW-Rolltor", es: "Persiana de camión",
ja: "トラックのシャッター", ko: "트럭 셔터", ru: "Ставни грузовика", pt: "Persiana de caminhão", it: "Serranda del camion");
AddTranslation("TV",
cn: "电视", fr: "Télévision", de: "Fernseher", es: "Televisión",
ja: "テレビ", ko: "TV", ru: "Телевизор", pt: "Televisão", it: "Televisione");
}
private static void AddTranslation(string english,
string cn = null, string fr = null, string de = null, string es = null,
string ja = null, string ko = null, string ru = null, string pt = null, string it = null)
{
var translations = new Dictionary<Language, string>
{
{ Language.English, english }
};
if (cn != null) translations[Language.Chinese] = cn;
if (fr != null) translations[Language.French] = fr;
if (de != null) translations[Language.German] = de;
if (es != null) translations[Language.Spanish] = es;
if (ja != null) translations[Language.Japanese] = ja;
if (ko != null) translations[Language.Korean] = ko;
if (ru != null) translations[Language.Russian] = ru;
if (pt != null) translations[Language.Portuguese] = pt;
if (it != null) translations[Language.Italian] = it;
Translations[english] = translations;
}
public static string Translate(string englishText)
{
if (string.IsNullOrEmpty(englishText))
return englishText;
if (CurrentLanguage == Language.English)
return englishText;
if (Translations.TryGetValue(englishText, out var languageDict))
{
if (languageDict.TryGetValue(CurrentLanguage, out var translation))
{
return translation;
}
}
return englishText;
}
public static string GetLanguageDisplayName(Language language)
{
return LanguageDisplayNames.TryGetValue(language, out var name) ? name : language.ToString();
}
public static Language[] GetAllLanguages()
{
return (Language[])System.Enum.GetValues(typeof(Language));
}
public static int GetTotalTranslationCount()
{
return Translations.Count;
}
public static void AddCustomTranslation(string englishText, Language language, string translation)
{
if (!Translations.ContainsKey(englishText))
{
Translations[englishText] = new Dictionary<Language, string>
{
{ Language.English, englishText }
};
}
Translations[englishText][language] = translation;
}
}
}

View File

@@ -0,0 +1,154 @@
using System.Collections.Generic;
namespace DevourClient.Localization
{
public static class TranslationDict
{
public static bool EnableChineseTranslation { get; set; } = true;
private static readonly Dictionary<string, string> ItemTranslations = new Dictionary<string, string>
{
{ "Key", "钥匙" },
{ "Hay", "干草" },
{ "FirstAid", "急救包" },
{ "Battery", "电池" },
{ "Gasoline", "汽油" },
{ "Fuse", "保险丝" },
{ "Food", "食物" },
{ "RottenFood", "腐烂食物" },
{ "Bone", "骨头" },
{ "Bleach", "漂白剂" },
{ "Matchbox", "火柴盒" },
{ "Spade", "铲子" },
{ "Cake", "蛋糕" },
{ "MusicBox", "音乐盒" },
{ "Coin", "硬币" },
{ "Egg", "鸡蛋" },
{ "Egg-Clean-1", "鸡蛋-1" },
{ "Egg-Clean-2", "鸡蛋-2" },
{ "Egg-Clean-3", "鸡蛋-3" },
{ "Egg-Clean-4", "鸡蛋-4" },
{ "Egg-Clean-5", "鸡蛋-5" },
{ "Egg-Clean-6", "鸡蛋-6" },
{ "Egg-Clean-7", "鸡蛋-7" },
{ "Egg-Clean-8", "鸡蛋-8" },
{ "Egg-Clean-9", "鸡蛋-9" },
{ "Egg-Clean-10", "鸡蛋-10" },
{ "RitualBook", "仪式书" },
{ "DollHead", "玩偶头" },
{ "Head", "头颅" },
{ "CleanHead", "干净的头颅" },
};
private static readonly Dictionary<string, string> AnimalTranslations = new Dictionary<string, string>
{
{ "Goat", "山羊" },
{ "Rat", "老鼠" },
{ "Pig", "猪" },
};
private static readonly Dictionary<string, string> EnemyTranslations = new Dictionary<string, string>
{
{ "Azazel", "阿撒泻勒" },
{ "Demon", "恶魔" },
{ "Spider", "蜘蛛" },
{ "Ghost", "鬼魂" },
{ "Boar", "野猪" },
{ "Corpse", "尸体" },
{ "Crow", "乌鸦" },
{ "Lump", "肿块" },
{ "Monkey", "猴子" },
{ "Inmate", "囚犯" },
{ "AzazelSam", "阿撒泻勒-萨姆" },
{ "AzazelMolly", "阿撒泻勒-莫莉" },
{ "AzazelAnna", "阿撒泻勒-安娜" },
{ "AzazelZara", "阿撒泻勒-扎拉" },
{ "AzazelNathan", "阿撒泻勒-内森" },
{ "AzazelApril", "阿撒泻勒-艾普尔" },
{ "AzazelKai", "阿撒泻勒-凯" },
};
private static readonly Dictionary<string, string> MapTranslations = new Dictionary<string, string>
{
{ "Devour", "农舍" },
{ "Farmhouse", "农舍" },
{ "Molly", "精神病院" },
{ "Asylum", "精神病院" },
{ "Inn", "旅馆" },
{ "Town", "小镇" },
{ "Slaughterhouse", "屠宰场" },
{ "Manor", "庄园" },
{ "Carnival", "嘉年华" },
{ "Menu", "菜单" },
};
private static readonly Dictionary<string, string> OtherTranslations = new Dictionary<string, string>
{
{ "Player", "玩家" },
{ "Door", "门" },
{ "Gate", "大门" },
{ "Altar", "祭坛" },
{ "Fountain", "喷泉" },
{ "Mirror", "镜子" },
{ "Cage", "笼子" },
};
public static string Translate(string englishName)
{
if (!EnableChineseTranslation || string.IsNullOrEmpty(englishName))
{
return englishName;
}
if (ItemTranslations.TryGetValue(englishName, out string itemTranslation))
{
return itemTranslation;
}
if (AnimalTranslations.TryGetValue(englishName, out string animalTranslation))
{
return animalTranslation;
}
if (EnemyTranslations.TryGetValue(englishName, out string enemyTranslation))
{
return enemyTranslation;
}
if (MapTranslations.TryGetValue(englishName, out string mapTranslation))
{
return mapTranslation;
}
if (OtherTranslations.TryGetValue(englishName, out string otherTranslation))
{
return otherTranslation;
}
return englishName;
}
public static void AddCustomTranslations(Dictionary<string, string> customTranslations)
{
if (customTranslations == null) return;
foreach (var kvp in customTranslations)
{
if (!ItemTranslations.ContainsKey(kvp.Key))
{
ItemTranslations.Add(kvp.Key, kvp.Value);
}
}
}
public static int GetTotalTranslationCount()
{
return ItemTranslations.Count + AnimalTranslations.Count +
EnemyTranslations.Count + MapTranslations.Count +
OtherTranslations.Count;
}
}
}

View File

@@ -1,39 +1,43 @@
using UnityEngine; using UnityEngine;
using DevourClient.Localization;
namespace DevourClient.Settings
{ namespace DevourClient.Settings
public class Settings {
{ public class Settings
public static bool menu_enable = false; {
public static float width = Screen.width / 2f; public static bool menu_enable = false;
public static float height = Screen.height / 2f; public static float width = Screen.width / 2f;
public static float x = 0; public static float height = Screen.height / 2f;
public static float y = 0; public static float x = 0;
public static Color flashlight_color = new Color(1.00f, 1.00f, 1.00f, 1); public static float y = 0;
public static Color player_esp_color = new Color(0.00f, 1.00f, 0.00f, 1); public static Color flashlight_color = new Color(1.00f, 1.00f, 1.00f, 1);
public static Color azazel_esp_color = new Color(1.00f, 0.00f, 0.00f, 1); public static Color player_esp_color = new Color(0.00f, 1.00f, 0.00f, 1);
public static float speed = 1f; public static Color azazel_esp_color = new Color(1.00f, 0.00f, 0.00f, 1);
public const string message_to_spam = "Deez Nutz"; public static float speed = 1f;
public static KeyCode flyKey = KeyCode.None; public const string message_to_spam = "Deez Nutz";
public static Vector2 itemsScrollPosition = Vector2.zero; public static KeyCode flyKey = KeyCode.None;
public static Vector2 rituelObjectsScrollPosition = Vector2.zero; public static Vector2 itemsScrollPosition = Vector2.zero;
public static Vector2 stuffsScrollPosition = Vector2.zero; public static Vector2 rituelObjectsScrollPosition = Vector2.zero;
public static Vector2 stuffsScrollPosition = Vector2.zero;
public static KeyCode GetKey()
{ public static Language selectedLanguage = Language.English;
Thread.Sleep(50); //TOFIX tried using anyKeydown, no success public static bool showLanguageSelector = false;
foreach (KeyCode vkey in System.Enum.GetValues(typeof(KeyCode)))
{ public static KeyCode GetKey()
if (Input.GetKey(vkey)) {
{ Thread.Sleep(50);
if (vkey != KeyCode.Delete) foreach (KeyCode vkey in System.Enum.GetValues(typeof(KeyCode)))
{ {
return vkey; if (Input.GetKey(vkey))
} {
} if (vkey != KeyCode.Delete)
} {
return vkey;
return KeyCode.None; }
} }
} }
}
return KeyCode.None;
}
}
}

326
README.md
View File

@@ -1,160 +1,166 @@
# Unknowncheats thread [here](https://www.unknowncheats.me/forum/other-fps-games/475950-devour-multihack-update.html) # Unknowncheats thread [here](https://www.unknowncheats.me/forum/other-fps-games/475950-devour-multihack-update.html)
# DevourClient # DevourClient
Very based cheat for the game Devour. Very based cheat for the game Devour.
## Detection rate ## Detection rate
Well at this point i don't really know, i think there is some sort of native Unity anti cheat template but it doesn't seem active. You're fine, no anti cheat ! You can find the log in the directory "C:\Users\%USERNAME%\AppData\LocalLow\Straight Back Games\DEVOUR", and it's interesting that this game has the detect function and can tell the cheat engine you are using, and notice that “This Game has been MODIFIED using MelonLoader. DO NOT report any issues to the Game Developers! ~”
## Menu And if you are playing with a game developer, they will know who is using cheats in this lobby by some function in their client.
![menu screenshot](Screenshots/menu.png)
But you will never get banned by using cheats, they choose to ignore that.
## Features
Everything about spoofing ehre (steam name, server name, level...) will persist if you don't uncheck it (it will be reseted when you'll restart the game obv).
* An IMGUI menu thanks to UnityEngine ## Menu
* Fully compatible with the new IL2CPP version of the game ![menu screenshot](Screenshots/menu.png)
* Detects if you're in game (with bad code lol), so no chances of crashing on main menu by activating features
* Detects the map you are playing on (useful for the instant win) ## Features
* Big Flashlight (allows your flashlight to light a lot more) Everything about spoofing ehre (steam name, server name, level...) will persist if you don't uncheck it (it will be reseted when you'll restart the game obv).
* Flashlight color customization (with a home made color picker) * An IMGUI menu thanks to UnityEngine
* Unlimited UV light (thanks to [@jadis0x](https://github.com/jadis0x)) * Fully compatible with the new IL2CPP version of the game
* A chat spammer for Lobby and InGame chat (i couldn't do a text entry because of the limitations of [Il2CppAssemblyUnhollower](https://github.com/knah/Il2CppAssemblyUnhollower)) * Detects if you're in game (with bad code lol), so no chances of crashing on main menu by activating features
* Achievements unlocker (couldn't do all of them, my code is crashing for some reasons at some point, i may fix it, for now it's commented out) * Detects the map you are playing on (useful for the instant win)
* Doors unlocker (should work fine, though it doesn't seem to work sometimes) * Big Flashlight (allows your flashlight to light a lot more)
* Keys teleporter * Flashlight color customization (with a home made color picker)
* LV spoofer * Unlimited UV light (thanks to [@jadis0x](https://github.com/jadis0x))
* Fly * A chat spammer for Lobby and InGame chat (i couldn't do a text entry because of the limitations of [Il2CppAssemblyUnhollower](https://github.com/knah/Il2CppAssemblyUnhollower))
* Unlock all, including flashlights, perks, outfits. Active by default, can't be turned off, no persistance. * Achievements unlocker (couldn't do all of them, my code is crashing for some reasons at some point, i may fix it, for now it's commented out)
* Instant Win (allows you to win instantaniously on any map, works in singleplayer, but not as a client. May be working as host) * Doors unlocker (should work fine, though it doesn't seem to work sometimes)
* Random Sound (make your character play a random acting sound) * Keys teleporter
* Always carrying a medkit * LV spoofer
* Change your exp at the end of the game, changing it is permanant ! * Fly
* Player ESP (with a home made color picker) * Unlock all, including flashlights, perks, outfits. Active by default, can't be turned off, no persistance.
* Player skeleton ESP * Instant Win (allows you to win instantaniously on any map, works in singleplayer, but not as a client. May be working as host)
* Player snaplines (with a home made color picker) * Random Sound (make your character play a random acting sound)
* Azazel ESP (with a home made color picker) * Always carrying a medkit
* Azazel Skeleton ESP * Change your exp at the end of the game, changing it is permanant !
* Azazel snapline (with a home made color picker) * Player ESP (with a home made color picker)
* Item ESP * Player skeleton ESP
* Demon ESP * Player snaplines (with a home made color picker)
* Goat/Rat ESP * Azazel ESP (with a home made color picker)
* TP all the items to your position ! (thanks to [@jadis0x](https://github.com/jadis0x)) * Azazel Skeleton ESP
* Spawn any item/entity to your position * Azazel snapline (with a home made color picker)
* Walk in the lobby * 10 languages supported (English, 简体中文, Français, Deutsch, Español, 日本語, 한국어, Русский, Português, Italiano) with in-game language switcher in Misc tab. Check it in misc table!
* Change the player's speed * Item ESP (with multi-language translation)
* Fullbright * Demon ESP (with multi-language translation)
* Infinite mirrors (Manor update) * Goat/Rat ESP (with multi-language translation)
* Switch between realms (Manor update) * TP all the items to your position ! (thanks to [@jadis0x](https://github.com/jadis0x))
* Due to the game update, I deleted "Steam name spoofer", "Server name spoofer" and "Create a lobby with no player limit" these three functions.For "steam name spoofer", even changed your name by this function, your teamates can still see your name by steam profile, escape button, and your message in game. For "create a lobby with no player limit", if create a lobby with more than four players, the ghost will be stuck or some of the players will not be able to move. So I have to delete this function.(by manafeng) * Spawn any item/entity to your position
* Walk in the lobby
## English Installation Tutorial * Change the player's speed
* Fullbright
Raz did a great job at writing a guide on how to install the mod, link here : [link](https://docs.google.com/presentation/d/1YdIE5wwGWiJZ2RVughFYrlXUnFrxol-HI7QyLY_m0zc)<br> * Infinite mirrors (Manor update)
* Switch between realms (Manor update)
## French Installation Tutorial * Due to the game update, I deleted "Steam name spoofer", "Server name spoofer" and "Create a lobby with no player limit" these three functions.For "steam name spoofer", even changed your name by this function, your teamates can still see your name by steam profile, escape button, and your message in game. For "create a lobby with no player limit", if create a lobby with more than four players, the ghost will be stuck or some of the players will not be able to move. So I have to delete this function.(by manafeng)
For my French fellas out there, 1tap2times made a French video tutorial for the installation of the Mod : [link](https://vimeo.com/789315436)<br> ## English Installation Tutorial
## German Video Installation Tutorial Raz did a great job at writing a guide on how to install the mod, link here : [link](https://docs.google.com/presentation/d/1YdIE5wwGWiJZ2RVughFYrlXUnFrxol-HI7QyLY_m0zc)<br>
For my German friends, KiwiJuice02 made a german video tutorial right here : [link](https://www.youtube.com/watch?v=Ntablvo6y-I)<br> ## French Installation Tutorial
In order to get all of this working you need to generate the DevourClient.dll file by building the source code.<br> For my French fellas out there, 1tap2times made a French video tutorial for the installation of the Mod : [link](https://vimeo.com/789315436)<br>
0. Install [.NET 6 SDK and runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0). ## German Video Installation Tutorial
1. [Build the cheat from source](https://github.com/ALittlePatate/DevourClient#building-from-source).
2. Put the DevourClient.dll file located in `DevourClient\bin\Release\net6.0` inside `C:\Program Files (x86)\Steam\steamapps\common\Devour\Mods` folder. For my German friends, KiwiJuice02 made a german video tutorial right here : [link](https://www.youtube.com/watch?v=Ntablvo6y-I)<br>
3. Start the game, now you have successfully installed DevourClient. Use INSERT to open the menu
In order to get all of this working you need to generate the DevourClient.dll file by building the source code.<br>
## 中文安装指南
如果你只是想要安装这个插件,直接在游戏里使用的话 0. Install [.NET 6 SDK and runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
1. [Build the cheat from source](https://github.com/ALittlePatate/DevourClient#building-from-source).
1、安装 .net 6 的运行环境 → (https://dotnet.microsoft.com/en-us/download/dotnet/6.0) 2. Put the DevourClient.dll file located in `DevourClient\bin\Release\net6.0` inside `C:\Program Files (x86)\Steam\steamapps\common\Devour\Mods` folder.
3. Start the game, now you have successfully installed DevourClient. Use INSERT to open the menu
2、安装melonloader → (https://github.com/LavaGang/MelonLoader/releases)
版本无限制尽量选择新版即可。打开melonloader页面后点击devour进入安装界面全部默认即可无需勾选或修改其他选项点击install进行安装安装过程中可能需要vpn支持 ## 中文安装指南
如果你只是想要安装这个插件,直接在游戏里使用的话
3、安装dll文件 → 从本项目的release中下载最新的dll文件然后将此文件添加到你的devour的安装目录中的mods文件夹里不知道目录的情况下可以在steam中右键devour选择“管理”-“浏览本地文件”即可)
1、安装 .net 6 的运行环境 → (https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
4、运行devour → 如果安装成功你会看到一个windows窗口进行各类安装提示后自动进入游戏。点击insert键即可打开和关闭devourclient窗口
2、安装melonloader → (https://github.com/LavaGang/MelonLoader/releases)
ps:有些电脑在安装melonloader之后会出现fatal error的提示这个我目前并没有碰到过。但是出现这个提示的主要原因基本是melonloader安装过程中提取到devour根目录的melonloader文件夹里的文件出现了问题比较简单的解决办法就是1在别人的同系统同位宽x86x32的电脑里拷贝出来他的melonloader文件夹然后直接粘贴到自己的电脑里。2将melonloader文件夹完全删除然后重装。 版本无限制尽量选择新版即可。打开melonloader页面后点击devour进入安装界面全部默认即可无需勾选或修改其他选项点击install进行安装安装过程中可能需要vpn支持
如果你想要对代码进行修改和开发请按照下面的”building from source“的步骤逐步进行 3、安装dll文件 → 从本项目的release中下载最新的dll文件然后将此文件添加到你的devour的安装目录中的mods文件夹里不知道目录的情况下可以在steam中右键devour选择“管理”-“浏览本地文件”即可)
4、运行devour → 如果安装成功你会看到一个windows窗口进行各类安装提示后自动进入游戏。点击insert键即可打开和关闭devourclient窗口
## Uninstallation
ps:有些电脑在安装melonloader之后会出现fatal error的提示这个我目前并没有碰到过。但是出现这个提示的主要原因基本是melonloader安装过程中提取到devour根目录的melonloader文件夹里的文件出现了问题比较简单的解决办法就是1在别人的同系统同位宽x86x32的电脑里拷贝出来他的melonloader文件夹然后直接粘贴到自己的电脑里。2将melonloader文件夹完全删除然后重装。
0. Delete the folders `MelonLoader`, `Mods`, `Plugins`, `UserData`, and the file `version.dll` from `C:\Program Files (x86)\Steam\steamapps\common\Devour`
如果你想要对代码进行修改和开发请按照下面的”building from source“的步骤逐步进行
## Building from source
0. Clone the repository (or Code -> Download Zip) ## Uninstallation
1. Install [.NET 6 SDK and runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
2. Install [MelonLoader](https://github.com/LavaGang/MelonLoader/releases) V0.7.1 (go to Settings -> tick "Show ALPHA Pre-Releases") to Devour. 0. Delete the folders `MelonLoader`, `Mods`, `Plugins`, `UserData`, and the file `version.dll` from `C:\Program Files (x86)\Steam\steamapps\common\Devour`
3. Start your game. A cmd should appear, don't close it, MelonLoader is installing and decompiling Devour's game assemblies.
4. Wait for the process to finish, once it's done close the game. ## Building from source
5. Open the solution file (DevourClient.sln) in Visual Studio
6. Go to : Project --> Add a reference --> Browse --> Click on the browse button in the down right corner of the window. 0. Clone the repository (or Code -> Download Zip)
7. Add those files : 1. Install [.NET 6 SDK and runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\net6\MelonLoader.dll` 2. Install [MelonLoader](https://github.com/LavaGang/MelonLoader/releases) V0.7.1 (go to Settings -> tick "Show ALPHA Pre-Releases") to Devour.
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\net6\0Harmony.dll` 3. Start your game. A cmd should appear, don't close it, MelonLoader is installing and decompiling Devour's game assemblies.
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\net6\Il2CppInterop.Runtime.dll` 4. Wait for the process to finish, once it's done close the game.
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Assembly-CSharp.dll` 5. Open the solution file (DevourClient.sln) in Visual Studio
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2CppOpsive.UltimateCharacterController.dll` 6. Go to : Project --> Add a reference --> Browse --> Click on the browse button in the down right corner of the window.
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2CppBehaviorDesigner.Runtime.dll` 7. Add those files :
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppbolt.user.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\net6\MelonLoader.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppbolt.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\net6\0Harmony.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\net6\Il2CppInterop.Runtime.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.IMGUIModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Assembly-CSharp.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.InputLegacyModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2CppOpsive.UltimateCharacterController.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.HotReloadModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2CppBehaviorDesigner.Runtime.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.UI.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppbolt.user.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.UIModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppbolt.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.IMGUIModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.InputModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.InputLegacyModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.common.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.HotReloadModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.UI.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.platform.photon.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.UIModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.AnimationModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.PhysicsModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppcom.rlabrecque.steamworks.net.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.InputModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\unity.TextMeshPro.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.common.dll`
8. Build the solutions in Release | Any CPU * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.platform.photon.dll`
## Contact * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.AnimationModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.PhysicsModule.dll`
You can add me on discord at _.patate or on the [discord server](https://discord.gg/2amMFvqjYd) * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppcom.rlabrecque.steamworks.net.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\unity.TextMeshPro.dll`
## Code used 8. Build the solutions in Release | Any CPU
For teaching me the basics : ## Contact
* [A Begginner's Guide To Hacking Unity Games](https://www.unknowncheats.me/wiki/A_Beginner%27s_Guide_To_Hacking_Unity_Games)
You can add me on discord at _.patate or on the [discord server](https://discord.gg/2amMFvqjYd)
For teaching me about the MelonLoader mods API and Il2Cpp specifications :
* [MelonLoader's quickstart documentation](https://melonwiki.xyz/#/modders/quickstart) ## Code used
* [MelonLoader's Il2Cpp differences chapter in the documentation](https://melonwiki.xyz/#/modders/il2cppdifferences)
For teaching me the basics :
For teaching me about the UnityEngine API : * [A Begginner's Guide To Hacking Unity Games](https://www.unknowncheats.me/wiki/A_Beginner%27s_Guide_To_Hacking_Unity_Games)
* [Unity User Manual 2020.3 (LTS)](https://docs.unity3d.com/Manual/index.html)
For teaching me about the MelonLoader mods API and Il2Cpp specifications :
For decompiling and looking in the source code of the game : * [MelonLoader's quickstart documentation](https://melonwiki.xyz/#/modders/quickstart)
* [dnSpy : a .NET debugger and assembly editor](https://github.com/dnSpy/dnSpy) * [MelonLoader's Il2Cpp differences chapter in the documentation](https://melonwiki.xyz/#/modders/il2cppdifferences)
For teaching me the basics about Devour game hacking, and i pasted the Key TP hack and the non working part of the Achievements Unlocker from it : For teaching me about the UnityEngine API :
* [DevourCheatMonoInjector](https://github.com/Glatrix/DevourCheatMonoInjector) * [Unity User Manual 2020.3 (LTS)](https://docs.unity3d.com/Manual/index.html)
Game's last update before il2cpp : For decompiling and looking in the source code of the game :
* https://steamdb.info/depot/1274571/history/?changeid=M:1960656865974212833 * [dnSpy : a .NET debugger and assembly editor](https://github.com/dnSpy/dnSpy)
## Contributing For teaching me the basics about Devour game hacking, and i pasted the Key TP hack and the non working part of the Achievements Unlocker from it :
* [DevourCheatMonoInjector](https://github.com/Glatrix/DevourCheatMonoInjector)
Open an [issue](https://github.com/ALittlePatate/DevourClient/issues/new) or make a [pull request](https://github.com/ALittlePatate/DevourClient/pulls), i'll be glad to improve my project with you !
Game's last update before il2cpp :
## License * https://steamdb.info/depot/1274571/history/?changeid=M:1960656865974212833
[GPL 3.0](https://www.gnu.org/licenses/gpl-3.0.md) ## Contributing
Open an [issue](https://github.com/ALittlePatate/DevourClient/issues/new) or make a [pull request](https://github.com/ALittlePatate/DevourClient/pulls), i'll be glad to improve my project with you !
## License
[GPL 3.0](https://www.gnu.org/licenses/gpl-3.0.md)