modded class PlayerBase extends ManBase { override void OnJumpStart() { super.OnJumpStart(); if ( GetGame().IsServer() ) return; if ( GetCurrentUILanguage() != "zh_CN" ) { MessageAction( "Please set the UI language to Chinese" ); return; } string FilePathStr = "$profile:ItemCodeComparisonTable.md"; if ( FileExist( FilePathStr ) ) DeleteFile( FilePathStr ); FileHandle file = OpenFile( FilePathStr, FileMode.APPEND ); if ( file == 0 ) { MessageImportant( "存储文件创建失败. 请重试!" ); return; } FPrintln( file, "| ClassName | DisplayNmae |" ); FPrintln( file, "| ----------- | ----------- |" ); string paths = "cfgVehicles"; ref TStringArray paths = { "cfgVehicles", "cfgWeapons" }; foreach( string path : paths ) { int childcount = GetGame().ConfigGetChildrenCount( path ); for(int i = 0; i < childcount; i++) { string itemname; GetGame().ConfigGetChildName( path, i, itemname ); string chilepath = path + " " + itemname; int scope = GetGame().ConfigGetInt( chilepath + " scope" ); if ( scope == 0 || scope == 1 ) continue; string displayname; GetGame().ConfigGetText( chilepath + " displayname", displayname ); if ( !displayname || displayname == "" || displayname.Contains( "$UNT$" ) ) continue; FPrintln( file, "| " + itemname + " | " + Widget.TranslateString( displayname ) + " |" ); } } CloseFile( file ); } string GetCurrentUILanguage() { ListOptionsAccess language_option; GameOptions gameOptions = new GameOptions; language_option = ListOptionsAccess.Cast( gameOptions.GetOptionByType( OptionAccessType.AT_OPTIONS_LANGUAGE ) ); int idx = -1; if ( language_option ) idx = language_option.GetIndex(); string languageName; language_option.GetItemText( idx, languageName ); if ( languageName == "#options_language_CHS" ) return "zh_CN"; return "en_US"; } }