From 1a863261a84e8fb93663da8fe1f7428833ee1005 Mon Sep 17 00:00:00 2001 From: Grey-Echo Date: Sun, 2 Apr 2017 12:37:25 +0200 Subject: [PATCH] Updates to lauch files, add Utils with 7-Zip and lua Known bug : .lauch file Generate doc doesn't work, it needs an update to luadocumentor.bat --- .gitignore | 2 - .../Moose DOCUMENTATION Generate.launch | 2 +- ...e LOADER Generate Dynamic Moose.lua.launch | 2 +- ...se LOADER Generate Static Moose.lua.launch | 2 +- ...TE ALL MOOSE Demonstration Missions.launch | 2 +- .../Moose Mission Update/7-zip.chm | Bin 103014 -> 0 bytes .../Moose Mission Update/7-zip.dll | Bin 77312 -> 0 bytes .../Moose Mission Update/7-zip32.dll | Bin 49664 -> 0 bytes .../Moose Mission Update/7z.dll | Bin 1606656 -> 0 bytes .../Moose Mission Update/7z.exe | Bin 448000 -> 0 bytes .../Moose Mission Update/7z.sfx | Bin 190976 -> 0 bytes .../Moose Mission Update/7zCon.sfx | Bin 171520 -> 0 bytes .../Moose Mission Update/7zFM.exe | Bin 838656 -> 0 bytes .../Moose Mission Update/7zG.exe | Bin 555008 -> 0 bytes .../Moose_Update_Missions.bat | 2 +- Moose Mission Setup/Moose.lua | 35932 +++++++++++++++- Utils/7-Zip/7-zip.chm | Bin 0 -> 103016 bytes Utils/7-Zip/7-zip.dll | Bin 0 -> 76800 bytes Utils/7-Zip/7-zip32.dll | Bin 0 -> 49664 bytes Utils/7-Zip/7z.dll | Bin 0 -> 1609216 bytes Utils/7-Zip/7z.exe | Bin 0 -> 446976 bytes Utils/7-Zip/7z.sfx | Bin 0 -> 191488 bytes Utils/7-Zip/7zCon.sfx | Bin 0 -> 172032 bytes Utils/7-Zip/7zFM.exe | Bin 0 -> 839168 bytes Utils/7-Zip/7zG.exe | Bin 0 -> 553984 bytes .../7-Zip}/History.txt | 13 + Utils/7-Zip/Lang/af.txt | 404 + Utils/7-Zip/Lang/an.txt | 404 + Utils/7-Zip/Lang/ar.txt | 495 + Utils/7-Zip/Lang/ast.txt | 404 + Utils/7-Zip/Lang/az.txt | 495 + Utils/7-Zip/Lang/ba.txt | 404 + Utils/7-Zip/Lang/be.txt | 404 + Utils/7-Zip/Lang/bg.txt | 404 + Utils/7-Zip/Lang/bn.txt | 404 + Utils/7-Zip/Lang/br.txt | 404 + Utils/7-Zip/Lang/ca.txt | 404 + Utils/7-Zip/Lang/co.txt | 495 + Utils/7-Zip/Lang/cs.txt | 404 + Utils/7-Zip/Lang/cy.txt | 404 + Utils/7-Zip/Lang/da.txt | 495 + Utils/7-Zip/Lang/de.txt | 495 + Utils/7-Zip/Lang/el.txt | 495 + Utils/7-Zip/Lang/en.ttt | 495 + Utils/7-Zip/Lang/eo.txt | 404 + Utils/7-Zip/Lang/es.txt | 404 + Utils/7-Zip/Lang/et.txt | 404 + Utils/7-Zip/Lang/eu.txt | 495 + Utils/7-Zip/Lang/ext.txt | 404 + Utils/7-Zip/Lang/fa.txt | 404 + Utils/7-Zip/Lang/fi.txt | 495 + Utils/7-Zip/Lang/fr.txt | 495 + Utils/7-Zip/Lang/fur.txt | 404 + Utils/7-Zip/Lang/fy.txt | 404 + Utils/7-Zip/Lang/ga.txt | 404 + Utils/7-Zip/Lang/gl.txt | 495 + Utils/7-Zip/Lang/gu.txt | 404 + Utils/7-Zip/Lang/he.txt | 404 + Utils/7-Zip/Lang/hi.txt | 404 + Utils/7-Zip/Lang/hr.txt | 495 + Utils/7-Zip/Lang/hu.txt | 404 + Utils/7-Zip/Lang/hy.txt | 501 + Utils/7-Zip/Lang/id.txt | 495 + Utils/7-Zip/Lang/io.txt | 404 + Utils/7-Zip/Lang/is.txt | 495 + Utils/7-Zip/Lang/it.txt | 495 + Utils/7-Zip/Lang/ja.txt | 495 + Utils/7-Zip/Lang/ka.txt | 404 + Utils/7-Zip/Lang/kaa.txt | 404 + Utils/7-Zip/Lang/kk.txt | 404 + Utils/7-Zip/Lang/ko.txt | 495 + Utils/7-Zip/Lang/ku-ckb.txt | 404 + Utils/7-Zip/Lang/ku.txt | 404 + Utils/7-Zip/Lang/ky.txt | 404 + Utils/7-Zip/Lang/lij.txt | 404 + Utils/7-Zip/Lang/lt.txt | 495 + Utils/7-Zip/Lang/lv.txt | 404 + Utils/7-Zip/Lang/mk.txt | 404 + Utils/7-Zip/Lang/mn.txt | 404 + Utils/7-Zip/Lang/mng.txt | 404 + Utils/7-Zip/Lang/mng2.txt | 404 + Utils/7-Zip/Lang/mr.txt | 404 + Utils/7-Zip/Lang/ms.txt | 404 + Utils/7-Zip/Lang/nb.txt | 404 + Utils/7-Zip/Lang/ne.txt | 404 + Utils/7-Zip/Lang/nl.txt | 495 + Utils/7-Zip/Lang/nn.txt | 404 + Utils/7-Zip/Lang/pa-in.txt | 404 + Utils/7-Zip/Lang/pl.txt | 477 + Utils/7-Zip/Lang/ps.txt | 404 + Utils/7-Zip/Lang/pt-br.txt | 495 + Utils/7-Zip/Lang/pt.txt | 495 + Utils/7-Zip/Lang/ro.txt | 404 + Utils/7-Zip/Lang/ru.txt | 495 + Utils/7-Zip/Lang/sa.txt | 404 + Utils/7-Zip/Lang/si.txt | 404 + Utils/7-Zip/Lang/sk.txt | 477 + Utils/7-Zip/Lang/sl.txt | 404 + Utils/7-Zip/Lang/sq.txt | 404 + Utils/7-Zip/Lang/sr-spc.txt | 404 + Utils/7-Zip/Lang/sr-spl.txt | 404 + Utils/7-Zip/Lang/sv.txt | 404 + Utils/7-Zip/Lang/ta.txt | 404 + Utils/7-Zip/Lang/th.txt | 404 + Utils/7-Zip/Lang/tr.txt | 404 + Utils/7-Zip/Lang/tt.txt | 404 + Utils/7-Zip/Lang/ug.txt | 404 + Utils/7-Zip/Lang/uk.txt | 495 + Utils/7-Zip/Lang/uz.txt | 404 + Utils/7-Zip/Lang/va.txt | 404 + Utils/7-Zip/Lang/vi.txt | 404 + Utils/7-Zip/Lang/yo.txt | 495 + Utils/7-Zip/Lang/zh-cn.txt | 495 + Utils/7-Zip/Lang/zh-tw.txt | 495 + .../7-Zip}/License.txt | 0 .../7-Zip}/Uninstall.exe | Bin 14848 -> 14848 bytes .../7-Zip}/descript.ion | 0 .../7-Zip}/readme.txt | 2 +- Utils/lua/5.1/bin/lua.exe | Bin 0 -> 49152 bytes Utils/lua/5.1/bin/lua51.dll | Bin 0 -> 170202 bytes Utils/lua/5.1/bin/luac.exe | Bin 0 -> 197312 bytes Utils/lua/5.1/bin/luadocumentor.bat | 3 + .../lua/5.1/include/lauxlib.h | 0 .../LuaFiles => Utils}/lua/5.1/include/lua.h | 0 .../lua/5.1/include/lua.hpp | 0 .../lua/5.1/include/luaconf.h | 0 .../lua/5.1/include/lualib.h | 0 .../LuaFiles => Utils}/lua/5.1/lib/liblua.a | Bin .../lua/5.1/lib/lua/5.1/checks.dll | Bin .../lua/5.1/lib/lua/5.1/lfs.dll | Bin .../rocks/checks/1.0-1/checks-1.0-1.rockspec | 0 .../luarocks/rocks/checks/1.0-1/rock_manifest | 0 .../rocks/luadocumentor/0.1.5-1/doc/LICENSE | 0 .../rocks/luadocumentor/0.1.5-1/doc/README.md | 0 .../0.1.5-1/luadocumentor-0.1.5-1.rockspec | 0 .../rocks/luadocumentor/0.1.5-1/rock_manifest | 0 .../luafilesystem/1.6.3-2/doc/us/doc.css | 0 .../1.6.3-2/doc/us/examples.html | 0 .../luafilesystem/1.6.3-2/doc/us/index.html | 0 .../luafilesystem/1.6.3-2/doc/us/license.html | 0 .../1.6.3-2/doc/us/luafilesystem.png | Bin .../luafilesystem/1.6.3-2/doc/us/manual.html | 0 .../1.6.3-2/luafilesystem-1.6.3-2.rockspec | 0 .../rocks/luafilesystem/1.6.3-2/rock_manifest | 0 .../luafilesystem/1.6.3-2/tests/test.lua | 0 .../lua/5.1/lib/luarocks/rocks/manifest | 0 .../markdown/0.32-2/markdown-0.32-2.rockspec | 0 .../rocks/markdown/0.32-2/rock_manifest | 0 .../0.7.3-1/doc/README-compiler.md | 0 .../0.7.3-1/doc/README-parser.md | 0 .../metalua-compiler/0.7.3-1/doc/README.md | 0 .../0.7.3-1/metalua-compiler-0.7.3-1.rockspec | 0 .../metalua-compiler/0.7.3-1/rock_manifest | 0 .../0.7.3-2/doc/README-compiler.md | 0 .../0.7.3-2/doc/README-parser.md | 0 .../metalua-parser/0.7.3-2/doc/README.md | 0 .../0.7.3-2/metalua-parser-0.7.3-2.rockspec | 0 .../metalua-parser/0.7.3-2/rock_manifest | 0 .../0.9.8-1/penlight-0.9.8-1.rockspec | 0 .../rocks/penlight/0.9.8-1/rock_manifest | 0 .../LuaFiles => Utils}/lua/5.1/man/man1/lua.1 | 0 .../lua/5.1/man/man1/luac.1 | 0 .../lua/5.1/share/lua/5.1/defaultcss.lua | 0 .../lua/5.1/share/lua/5.1/docgenerator.lua | 0 .../lua/5.1/share/lua/5.1/extractors.lua | 0 .../lua/5.1/share/lua/5.1/fs/lfs.lua | 0 .../lua/5.1/share/lua/5.1/lddextractor.lua | 0 .../lua/5.1/share/lua/5.1/markdown.lua | 0 .../5.1/share/lua/5.1/metalua/compiler.lua | 0 .../lua/5.1/metalua/compiler/ast_to_src.mlua | 0 .../lua/5.1/metalua/compiler/bytecode.lua | 0 .../5.1/metalua/compiler/bytecode/compile.lua | 0 .../5.1/metalua/compiler/bytecode/lcode.lua | 0 .../5.1/metalua/compiler/bytecode/ldump.lua | 0 .../metalua/compiler/bytecode/lopcodes.lua | 0 .../lua/5.1/metalua/compiler/globals.lua | 0 .../share/lua/5.1/metalua/compiler/parser.lua | 0 .../compiler/parser/annot/generator.lua | 0 .../metalua/compiler/parser/annot/grammar.lua | 0 .../lua/5.1/metalua/compiler/parser/expr.lua | 0 .../lua/5.1/metalua/compiler/parser/ext.lua | 0 .../lua/5.1/metalua/compiler/parser/lexer.lua | 0 .../lua/5.1/metalua/compiler/parser/meta.lua | 0 .../lua/5.1/metalua/compiler/parser/misc.lua | 0 .../lua/5.1/metalua/compiler/parser/stat.lua | 0 .../lua/5.1/metalua/compiler/parser/table.lua | 0 .../5.1/metalua/extension/comprehension.mlua | 0 .../lua/5.1/metalua/extension/match.mlua | 0 .../lua/5.1/metalua/grammar/generator.lua | 0 .../share/lua/5.1/metalua/grammar/lexer.lua | 0 .../lua/5.1/share/lua/5.1/metalua/loader.lua | 0 .../lua/5.1/share/lua/5.1/metalua/pprint.lua | 0 .../lua/5.1/share/lua/5.1/metalua/repl.mlua | 0 .../5.1/share/lua/5.1/metalua/treequery.mlua | 0 .../share/lua/5.1/metalua/treequery/walk.mlua | 0 .../lua/5.1/share/lua/5.1/models/apimodel.lua | 0 .../share/lua/5.1/models/apimodelbuilder.lua | 0 .../share/lua/5.1/models/internalmodel.lua | 0 .../lua/5.1/models/internalmodelbuilder.mlua | 0 .../lua/5.1/share/lua/5.1/models/ldparser.lua | 0 .../lua/5.1/share/lua/5.1/pl/Date.lua | 0 .../lua/5.1/share/lua/5.1/pl/List.lua | 0 .../lua/5.1/share/lua/5.1/pl/Map.lua | 0 .../lua/5.1/share/lua/5.1/pl/MultiMap.lua | 0 .../lua/5.1/share/lua/5.1/pl/OrderedMap.lua | 0 .../lua/5.1/share/lua/5.1/pl/Set.lua | 0 .../lua/5.1/share/lua/5.1/pl/app.lua | 0 .../lua/5.1/share/lua/5.1/pl/array2d.lua | 0 .../lua/5.1/share/lua/5.1/pl/class.lua | 0 .../5.1/share/lua/5.1/pl/comprehension.lua | 0 .../lua/5.1/share/lua/5.1/pl/config.lua | 0 .../lua/5.1/share/lua/5.1/pl/data.lua | 0 .../lua/5.1/share/lua/5.1/pl/dir.lua | 0 .../lua/5.1/share/lua/5.1/pl/file.lua | 0 .../lua/5.1/share/lua/5.1/pl/func.lua | 0 .../lua/5.1/share/lua/5.1/pl/init.lua | 0 .../lua/5.1/share/lua/5.1/pl/input.lua | 0 .../lua/5.1/share/lua/5.1/pl/lapp.lua | 0 .../lua/5.1/share/lua/5.1/pl/lexer.lua | 0 .../lua/5.1/share/lua/5.1/pl/luabalanced.lua | 0 .../lua/5.1/share/lua/5.1/pl/operator.lua | 0 .../lua/5.1/share/lua/5.1/pl/path.lua | 0 .../lua/5.1/share/lua/5.1/pl/permute.lua | 0 .../5.1/share/lua/5.1/pl/platf/luajava.lua | 0 .../lua/5.1/share/lua/5.1/pl/pretty.lua | 0 .../lua/5.1/share/lua/5.1/pl/seq.lua | 0 .../lua/5.1/share/lua/5.1/pl/sip.lua | 0 .../lua/5.1/share/lua/5.1/pl/strict.lua | 0 .../lua/5.1/share/lua/5.1/pl/stringio.lua | 0 .../lua/5.1/share/lua/5.1/pl/stringx.lua | 0 .../lua/5.1/share/lua/5.1/pl/tablex.lua | 0 .../lua/5.1/share/lua/5.1/pl/template.lua | 0 .../lua/5.1/share/lua/5.1/pl/test.lua | 0 .../lua/5.1/share/lua/5.1/pl/text.lua | 0 .../lua/5.1/share/lua/5.1/pl/utils.lua | 0 .../lua/5.1/share/lua/5.1/pl/xml.lua | 0 .../lua/5.1/share/lua/5.1/template/file.lua | 0 .../lua/5.1/share/lua/5.1/template/index.lua | 0 .../lua/5.1/template/index/recordtypedef.lua | 0 .../lua/5.1/share/lua/5.1/template/item.lua | 0 .../lua/5.1/share/lua/5.1/template/page.lua | 0 .../share/lua/5.1/template/recordtypedef.lua | 0 .../lua/5.1/share/lua/5.1/template/usage.lua | 0 .../lua/5.1/share/lua/5.1/template/utils.lua | 0 .../lua/5.1/share/lua/5.1/templateengine.lua | 0 245 files changed, 74051 insertions(+), 72 deletions(-) delete mode 100644 Moose Mission Setup/Moose Mission Update/7-zip.chm delete mode 100644 Moose Mission Setup/Moose Mission Update/7-zip.dll delete mode 100644 Moose Mission Setup/Moose Mission Update/7-zip32.dll delete mode 100644 Moose Mission Setup/Moose Mission Update/7z.dll delete mode 100644 Moose Mission Setup/Moose Mission Update/7z.exe delete mode 100644 Moose Mission Setup/Moose Mission Update/7z.sfx delete mode 100644 Moose Mission Setup/Moose Mission Update/7zCon.sfx delete mode 100644 Moose Mission Setup/Moose Mission Update/7zFM.exe delete mode 100644 Moose Mission Setup/Moose Mission Update/7zG.exe create mode 100644 Utils/7-Zip/7-zip.chm create mode 100644 Utils/7-Zip/7-zip.dll create mode 100644 Utils/7-Zip/7-zip32.dll create mode 100644 Utils/7-Zip/7z.dll create mode 100644 Utils/7-Zip/7z.exe create mode 100644 Utils/7-Zip/7z.sfx create mode 100644 Utils/7-Zip/7zCon.sfx create mode 100644 Utils/7-Zip/7zFM.exe create mode 100644 Utils/7-Zip/7zG.exe rename {Moose Mission Setup/Moose Mission Update => Utils/7-Zip}/History.txt (99%) create mode 100644 Utils/7-Zip/Lang/af.txt create mode 100644 Utils/7-Zip/Lang/an.txt create mode 100644 Utils/7-Zip/Lang/ar.txt create mode 100644 Utils/7-Zip/Lang/ast.txt create mode 100644 Utils/7-Zip/Lang/az.txt create mode 100644 Utils/7-Zip/Lang/ba.txt create mode 100644 Utils/7-Zip/Lang/be.txt create mode 100644 Utils/7-Zip/Lang/bg.txt create mode 100644 Utils/7-Zip/Lang/bn.txt create mode 100644 Utils/7-Zip/Lang/br.txt create mode 100644 Utils/7-Zip/Lang/ca.txt create mode 100644 Utils/7-Zip/Lang/co.txt create mode 100644 Utils/7-Zip/Lang/cs.txt create mode 100644 Utils/7-Zip/Lang/cy.txt create mode 100644 Utils/7-Zip/Lang/da.txt create mode 100644 Utils/7-Zip/Lang/de.txt create mode 100644 Utils/7-Zip/Lang/el.txt create mode 100644 Utils/7-Zip/Lang/en.ttt create mode 100644 Utils/7-Zip/Lang/eo.txt create mode 100644 Utils/7-Zip/Lang/es.txt create mode 100644 Utils/7-Zip/Lang/et.txt create mode 100644 Utils/7-Zip/Lang/eu.txt create mode 100644 Utils/7-Zip/Lang/ext.txt create mode 100644 Utils/7-Zip/Lang/fa.txt create mode 100644 Utils/7-Zip/Lang/fi.txt create mode 100644 Utils/7-Zip/Lang/fr.txt create mode 100644 Utils/7-Zip/Lang/fur.txt create mode 100644 Utils/7-Zip/Lang/fy.txt create mode 100644 Utils/7-Zip/Lang/ga.txt create mode 100644 Utils/7-Zip/Lang/gl.txt create mode 100644 Utils/7-Zip/Lang/gu.txt create mode 100644 Utils/7-Zip/Lang/he.txt create mode 100644 Utils/7-Zip/Lang/hi.txt create mode 100644 Utils/7-Zip/Lang/hr.txt create mode 100644 Utils/7-Zip/Lang/hu.txt create mode 100644 Utils/7-Zip/Lang/hy.txt create mode 100644 Utils/7-Zip/Lang/id.txt create mode 100644 Utils/7-Zip/Lang/io.txt create mode 100644 Utils/7-Zip/Lang/is.txt create mode 100644 Utils/7-Zip/Lang/it.txt create mode 100644 Utils/7-Zip/Lang/ja.txt create mode 100644 Utils/7-Zip/Lang/ka.txt create mode 100644 Utils/7-Zip/Lang/kaa.txt create mode 100644 Utils/7-Zip/Lang/kk.txt create mode 100644 Utils/7-Zip/Lang/ko.txt create mode 100644 Utils/7-Zip/Lang/ku-ckb.txt create mode 100644 Utils/7-Zip/Lang/ku.txt create mode 100644 Utils/7-Zip/Lang/ky.txt create mode 100644 Utils/7-Zip/Lang/lij.txt create mode 100644 Utils/7-Zip/Lang/lt.txt create mode 100644 Utils/7-Zip/Lang/lv.txt create mode 100644 Utils/7-Zip/Lang/mk.txt create mode 100644 Utils/7-Zip/Lang/mn.txt create mode 100644 Utils/7-Zip/Lang/mng.txt create mode 100644 Utils/7-Zip/Lang/mng2.txt create mode 100644 Utils/7-Zip/Lang/mr.txt create mode 100644 Utils/7-Zip/Lang/ms.txt create mode 100644 Utils/7-Zip/Lang/nb.txt create mode 100644 Utils/7-Zip/Lang/ne.txt create mode 100644 Utils/7-Zip/Lang/nl.txt create mode 100644 Utils/7-Zip/Lang/nn.txt create mode 100644 Utils/7-Zip/Lang/pa-in.txt create mode 100644 Utils/7-Zip/Lang/pl.txt create mode 100644 Utils/7-Zip/Lang/ps.txt create mode 100644 Utils/7-Zip/Lang/pt-br.txt create mode 100644 Utils/7-Zip/Lang/pt.txt create mode 100644 Utils/7-Zip/Lang/ro.txt create mode 100644 Utils/7-Zip/Lang/ru.txt create mode 100644 Utils/7-Zip/Lang/sa.txt create mode 100644 Utils/7-Zip/Lang/si.txt create mode 100644 Utils/7-Zip/Lang/sk.txt create mode 100644 Utils/7-Zip/Lang/sl.txt create mode 100644 Utils/7-Zip/Lang/sq.txt create mode 100644 Utils/7-Zip/Lang/sr-spc.txt create mode 100644 Utils/7-Zip/Lang/sr-spl.txt create mode 100644 Utils/7-Zip/Lang/sv.txt create mode 100644 Utils/7-Zip/Lang/ta.txt create mode 100644 Utils/7-Zip/Lang/th.txt create mode 100644 Utils/7-Zip/Lang/tr.txt create mode 100644 Utils/7-Zip/Lang/tt.txt create mode 100644 Utils/7-Zip/Lang/ug.txt create mode 100644 Utils/7-Zip/Lang/uk.txt create mode 100644 Utils/7-Zip/Lang/uz.txt create mode 100644 Utils/7-Zip/Lang/va.txt create mode 100644 Utils/7-Zip/Lang/vi.txt create mode 100644 Utils/7-Zip/Lang/yo.txt create mode 100644 Utils/7-Zip/Lang/zh-cn.txt create mode 100644 Utils/7-Zip/Lang/zh-tw.txt rename {Moose Mission Setup/Moose Mission Update => Utils/7-Zip}/License.txt (100%) rename {Moose Mission Setup/Moose Mission Update => Utils/7-Zip}/Uninstall.exe (97%) rename {Moose Mission Setup/Moose Mission Update => Utils/7-Zip}/descript.ion (100%) rename {Moose Mission Setup/Moose Mission Update => Utils/7-Zip}/readme.txt (99%) create mode 100644 Utils/lua/5.1/bin/lua.exe create mode 100644 Utils/lua/5.1/bin/lua51.dll create mode 100644 Utils/lua/5.1/bin/luac.exe create mode 100644 Utils/lua/5.1/bin/luadocumentor.bat rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/include/lauxlib.h (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/include/lua.h (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/include/lua.hpp (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/include/luaconf.h (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/include/lualib.h (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/liblua.a (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/lua/5.1/checks.dll (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/lua/5.1/lfs.dll (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/checks/1.0-1/checks-1.0-1.rockspec (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/checks/1.0-1/rock_manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/LICENSE (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/README.md (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/luadocumentor-0.1.5-1.rockspec (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/rock_manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/doc.css (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/examples.html (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/index.html (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/license.html (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/luafilesystem.png (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/manual.html (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/luafilesystem-1.6.3-2.rockspec (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/rock_manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/tests/test.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/markdown-0.32-2.rockspec (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/rock_manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-compiler.md (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-parser.md (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README.md (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/metalua-compiler-0.7.3-1.rockspec (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/rock_manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-compiler.md (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-parser.md (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README.md (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/metalua-parser-0.7.3-2.rockspec (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/rock_manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/penlight-0.9.8-1.rockspec (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/rock_manifest (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/man/man1/lua.1 (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/man/man1/luac.1 (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/defaultcss.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/docgenerator.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/extractors.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/fs/lfs.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/lddextractor.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/markdown.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/ast_to_src.mlua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/bytecode.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/compile.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lcode.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/ldump.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lopcodes.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/globals.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/generator.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/grammar.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/expr.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/ext.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/lexer.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/meta.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/misc.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/stat.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/compiler/parser/table.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/extension/comprehension.mlua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/extension/match.mlua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/grammar/generator.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/grammar/lexer.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/loader.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/pprint.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/repl.mlua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/treequery.mlua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/metalua/treequery/walk.mlua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/models/apimodel.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/models/apimodelbuilder.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/models/internalmodel.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/models/internalmodelbuilder.mlua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/models/ldparser.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/Date.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/List.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/Map.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/MultiMap.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/OrderedMap.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/Set.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/app.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/array2d.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/class.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/comprehension.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/config.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/data.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/dir.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/file.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/func.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/init.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/input.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/lapp.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/lexer.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/luabalanced.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/operator.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/path.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/permute.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/platf/luajava.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/pretty.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/seq.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/sip.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/strict.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/stringio.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/stringx.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/tablex.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/template.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/test.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/text.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/utils.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/pl/xml.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/file.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/index.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/index/recordtypedef.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/item.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/page.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/recordtypedef.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/usage.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/template/utils.lua (100%) rename {Moose Development Evironment Setup/LuaFiles => Utils}/lua/5.1/share/lua/5.1/templateengine.lua (100%) diff --git a/.gitignore b/.gitignore index 3496f3e86..135102f04 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ *.pydevproject .project .metadata -bin/ tmp/ *.tmp *.bak @@ -45,7 +44,6 @@ local.properties [Rr]elease/ x64/ build/ -[Bb]in/ [Oo]bj/ # MSTest test Results diff --git a/Moose Development/LDT External Tools/Moose DOCUMENTATION Generate.launch b/Moose Development/LDT External Tools/Moose DOCUMENTATION Generate.launch index d89fe4052..4d645a201 100644 --- a/Moose Development/LDT External Tools/Moose DOCUMENTATION Generate.launch +++ b/Moose Development/LDT External Tools/Moose DOCUMENTATION Generate.launch @@ -3,7 +3,7 @@ - + diff --git a/Moose Development/LDT External Tools/Moose LOADER Generate Dynamic Moose.lua.launch b/Moose Development/LDT External Tools/Moose LOADER Generate Dynamic Moose.lua.launch index 67d5396d7..c55f6dd26 100644 --- a/Moose Development/LDT External Tools/Moose LOADER Generate Dynamic Moose.lua.launch +++ b/Moose Development/LDT External Tools/Moose LOADER Generate Dynamic Moose.lua.launch @@ -3,7 +3,7 @@ - + diff --git a/Moose Development/LDT External Tools/Moose LOADER Generate Static Moose.lua.launch b/Moose Development/LDT External Tools/Moose LOADER Generate Static Moose.lua.launch index 7d31f4e74..121638ba4 100644 --- a/Moose Development/LDT External Tools/Moose LOADER Generate Static Moose.lua.launch +++ b/Moose Development/LDT External Tools/Moose LOADER Generate Static Moose.lua.launch @@ -3,7 +3,7 @@ - + diff --git a/Moose Development/LDT External Tools/Moose UPDATE ALL MOOSE Demonstration Missions.launch b/Moose Development/LDT External Tools/Moose UPDATE ALL MOOSE Demonstration Missions.launch index e8747fbee..d959c8bf5 100644 --- a/Moose Development/LDT External Tools/Moose UPDATE ALL MOOSE Demonstration Missions.launch +++ b/Moose Development/LDT External Tools/Moose UPDATE ALL MOOSE Demonstration Missions.launch @@ -4,6 +4,6 @@ - + diff --git a/Moose Mission Setup/Moose Mission Update/7-zip.chm b/Moose Mission Setup/Moose Mission Update/7-zip.chm deleted file mode 100644 index 68f152ccb110dcc3d5bd9af45bda75b4168198d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103014 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 z

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 diff --git a/Moose Mission Setup/Moose Mission Update/7-zip.dll b/Moose Mission Setup/Moose Mission Update/7-zip.dll deleted file mode 100644 index 6f0bd373ff8f2cd06d309df6f64295df3a5f0558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77312 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 diff --git a/Moose Mission Setup/Moose Mission Update/7-zip32.dll b/Moose Mission Setup/Moose Mission Update/7-zip32.dll deleted file mode 100644 index 1ea1da918e12ee20451b2613fc75322a95b36844..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49664 zcmeFajYAaI)dxHa3#_oRtAZhh=o&FGQIUurkd*|~1=0vvML<+AL|E4iB7qs8i5Sd6 z%Q~4hPa2z~P4ndYu}#v)+I(zNo33I76Ke3IhD6)al(u)XG{KJ`D0SZ7xwDIC%=7*M z?~4v|=YE`f?m6e4d+xbshP<^;3gLnv=y9p4Ab4@7pG^My|Ndpx2}10&_hW^($Nh1- zSGVGi(^oq;*I8<6w{EH}-(uNVUR}Lav^-d8sg*|Hi%i($D$*t8*8oxTxNxH>ULR z{2%jnpZ@7TQx4<#eD!+%JnQQLem5UK%kQf;Z*)>$-!?M4O%PV-B87F+GK)iXdWGca zF~}1dk&~_Tn1zlPL&G$2|UjI$0?9 zyZg;Wse{Gt;b{3{?eqdyw7fs{*t!en3grDI%?DE2Rxcb#J$B(tw%lp`sP1p;n)j!) znQ~eO#c?~AFZ?RMEh=!f`8Hug+2M8$E1^IxH2_|^WGt448z$C9xG$*2H zss>h|qyd@HwR2p8D_WI|1?+Vfge@ib*tUEj%PwHIAg}e9+~X-UHk_>cxVb&0ZCa?? ze_iQz-QfcUp-4WXE@CAnK}hwLcp^R722XZeS-W@ncEQYs0m$8-SWpCfl)N5KQySag7T^x}pPNuJvmi9v%8e zuJvqPtZeH6kQ&~L^xtycfPB>YN!=vb*01R84tJVGipt8&w0>NB&ib)vMz+Jf#BNoL zcF7<&4X8Flz>dt+Q%WIocoG|P*h83MavpP}-zddp0He%?EUV41Z3$|7Q2UnjQp2`+ za%rDzGoZCyxlhk7PQ+p(4Jh}S*;hycIgIb|!ON=pYh7SsK_Fa}dYC+35K89z0^{eO zqQ`CYxU*f(JHMf9U4;ivf^hhNUhqCZJdWQ?Jhl{osO+o%sH!_}Kvg9J(99d~l#Vdt zRE@(Y&`PoOBG=Bg-mK;Mke6QCXZk)=u&|@4mvn~d`=ncnij}+*Yz5Xw+17i=HlnlI zPRm2}qK5;s-3)sEr-r6q4VS3or_>m_Cb4jbO zMACym22^0tsH{pSSfvqU*-%D(K88L)o}KMi$YT)vn~_V?LrgL#`FeH(;I{gj^r^l; zjGS+l^*iKPMW0m$O3Ewsqz77$i8ssXihlA@CL6z>z9Pven(Op(cOYD;(OJ(*|8RGz z8>l{@%GrkWY`t{1+*z>SA6Bev)9K`n{k;(S*JFT8kDRRs)}o2B)I|mC2b;jAgGS8N zw@_Z<*>3Pm-LS5#y~rWoDere!&x%F|G|PBQB{?PV)$ILcM~B+cUs-!WA*SzV@~}f* z?2uz}a+WP~SkH)YY&ymxA92WxkIZ5HgA_#&A_FHOI$?Ws8_G)8wF7iUxllXBk@1Mo zpm+Ov+Z`E?3H8yY_k193%6|#wc6oJ@zDT}vXV_A(;C6=`o1N`&4`V}qbsnp`=W!S&Ezz_ z%Yn(Xh^ssPP3^o~meQ$AB0|BY(V zsHQB_728=a>B%9ecXV(G=@QS~C7v<^W+1@_irbQm@)`H70x+|)y}ZVDJ+U>Ci-?>B z!8!VcvOLV3G>~g&Nf6q0$c;;nHtccKcRTcgC$b~kKt^b@MJSOEK^$aAYpSm}Em9s9 zqcWS9qzKZmUH+KuM0+`EXRK1B!z5}sEE;x3(`*Wympg(oiI&jwYQ3J7Qsr1wpU`H` z%xXC%4USeK!L>qgBiLH1l&zOzcdkw{w8iO~D|9*`(}SEt8dotyvwWtQ-3(1FV=~B* z^3l!5(CV@9BE7PDV%RDrE;sz+Rf;|rvUDC36#@=i3`FTMOw0~4@or`LJz?NtD-0Mu zK}s@#md9_8TrYyfH3`~uo zo`)Q6&efT`gKy(1P_?sDFgGz({|~lK1UcG?*L)H^Y?wV@Jy}*iDg3}y%ywO-fz-prj`SEYMsCM?gM~+sE)cD)!pRjpInv=yY82!{kVH_LKpMC-#z80L=&e0~(Nh2z^9Y7Xj%+;z7{?uQy2Fz;3S$F+ ztN{=XgSaJ2Bs&m?OgsA;*pgtFLF*iHq0!-q%W}9Y zvcd!suTqWiD+>S&22fL+{3+HSMSr)Qy+RPN)*D&}>*M8ak7S&El#ePgniy`B&dPb_ zoK{uQ*VM<(-tUkn0JI@1>wf9HY#YHy4<9g-P_4vDT12J`w0ezRO;Kz0>U{Qn8tI`j zS`veGs7gU`sw#i#NKXTuJ7EDh-07fmu^nyXkI-r*wQAo0&{{Ks?XDaWu#k?(xq4Yh zJ>^KBB91SXFD}c;ak%e6>kTXAyb*iBDi%kLZ6mxfO=<&8>bD}UnbZ#V=&U~D(y^am z;R5?Gl?)D#ff)G!D90z8#>Uh^M|vvQK$4Lil8hou{*BZ!O3Bx?9+r>Sk9WxP9iEiT z%%w~3g+PGx>qsS$<_OOJRH_dSE|N`|BC1bzcqU|JWoPGV)kzeKTsry8y7V$b-HpXA zJv)P4h`LA~VkQhCr0Xjx3f1n= zXGIIz9H6RLt+fdW**oJ%w-P6FLY$VSI?QL@{) z4ptlV>=|mAqnGpb@>KbTOvQK~aTX14%*tB2lsKEC-=O2#JIJ7wK@K%r1rn;L?B*p? zv6_tG&LtRf#GMhAz%9LzQSPK3##Eh5rVsWsSlAPxf~KG!>yg?op*v~>aE{N*E24n; zhMwdzVpLA^l4otrXVEGaY zdSlTc>kT~ROH6;r7L0&l6wuF(JUT?H4b*R|Pn;@`Bi`wi1NSj-7iMx<_6Bq z-hXr`5RMiQDPC35WYbSI~QGTwE|jdJcC@(79(z_EyihhSunTR zVia49on2Zd2&L^Hm|l(VBjF3CdnpZ8L4&CAZ{opDqK@&DwW~8ve6g(@oKKY29J=L;+LFTd4RADpV1^SfY0{8T|hd1kr>9qeNtLr78sU zhis~jsAM22#h&LAqzIxpu+ydv_T1!Cq@fGlGY-in`)G!dGQfrND_3D#9;9P)lPX9? zcheB|=VsHc{cX{h;NPU|pG$(2ZBEi@gf$A@HX`f}l(_rj+?D;KgzaVOIc(0!?P5D; zcWnTPWstX*b%2)GmlJu@fwC&~G8xPFb;yhDX_zOvs5sS!-4^y%DYdl2N^h8%@!WII z-Pkb2^xmMNZ+3r~;{I4Y+B^HQwWA?2{17}M-PrO*YOObv(GF`RjI?41CW&V(mMx`l zgyi#n&}u}E3h!KLPd&_*5U-*z$vn0ph?_N=6ZQ!65MiU_*zk5V1L=ks92wYtkI0if z`FgS}zav1(G@lrRYe?`E4nX63^3Gcejl?5UOClCvE+?)qB`2%|+GFRGrOlU`>n6LK z&I_iNU4V$?q21w$@_UeOzT`7Kevl`6>kKYkb9?5Rz{2KB19egI{^oW|;P&QALnsJu zZa1$9BsO0f!GpfJ-LNKLYQA*Y~ z$g$&}YWRK@Jy)0oZ_1ZK62{<(g3SYCO_w+1wi)#94t?MTUO&Ro5d}5}!IAs|D^n}k z-k780oU#phbdXbW@)65ObXJn;%rme^Vu8&-Mcx-k;LPyYuf!a78QE>H6X0<3Y*20i=-(+cFMd^vFs)(VrF%2X`i1#B3< zOG;V?rN6IJ7qb98L6W|;(TBXz!7Gj2oAj6=v?em&m%trnN-P;#p12)IE4eyI4y}C{ z=#G9Ptdf^H_X}oJcer0W4>AeP2-<|k(w^Djo-QZ~LWU`l=7KS!+8_0N+TG=KRBEb zHU3o;?a{$Au0A}A{T9YXNxT19jL@S zk=@s5XHTL4&Y-$zITD6FHxoDPZ0DOEZx2y-;%efnkt-A;Eo08JAzjPt@=37B!@E)? z#*zt{4d4-h7-bVgO^$RAsp3S)RNLsd%G%wrkRtfg`>CU!7hq!duZMh+BzFQPI97`p zSy0TLgI`w8XhBoC$9+jB#wxAPLKOK5|A{BkeYYxQVNPWbdWX+w=#eA-k`Df4(=MN# zJpgYx;9Y6RR5S$6G;diwM6v`>Hmu_WH)H>;DAWUk3t!lSWp>Pj*33T08FqP5F2R#+ z!R`QO19A?I2aIx#(UWbKbIdp@kaOZZ*$Hw^0@X@X8xmO@1}WcfNj(+5U&)^}>A0mV z$x=4c-7&`#S?np&GaYCP71i!Xx595;#XRLHxGCj@P7J^Jx4R*1&ZlW^_zTpNa>moh zwX2^vTaZ=o%A07Rp2YJjyOG);|AG9JUg0s&_uf@R-wM!|czK37pbhDC;(7Fxs-|a9 zQ)#@bQH_5RApNb#F4oed6>oq;SfhQM()uJQQ*19LyC|NTX&hLqSs3o2TgCgVe-)P! zGnT+#t}%kR0A_faM%W3!0x!k_Vj(~wj`Tsp5J$%FgL-9{8yY`ArI3I@Q_DK{euHPJ zS`jQ@ z9v!(a-07+qLslyLU*rYGQxZEJxS~1zXhR`J9TIdG_=i3I=}azhwwhnJC7^c$4CZaaH5hyqSCPP1q5 zU@hgR8PMsr)1J~^C=2a+*B= zpJ0m*&BaCTOJSnXeJNa;<8U|X*Gn^@zV?9Ra`r6DoKzL%p6|l)Pm^v|Y^UvPHWXf9 zBCWu8aMht5Y^AD>9S+M^m)v)wjKS9a5h-D=jtv$9k9iAmw=mBG}vqs=7+q{RelXRX)*|rbX;;(f8%>D^Aph^eX zUvMu0bRY9#y;r5vtc#a)vxB_Ee;oXv?016MZ}Dt8rlLcpfezaUTuuV}30h;uMg3am ze~wycLOK+Nl}?=E9$F~IyN8yEX7|veVob(MXklvIihA#JAY=m9djT=7Qs_y@z-N0 zigAMnYULfcMgY8!oPq~M5*yxGz1*(*wN^!WEVJwsSKk12b-=j*l^wI$_lWd^- zz5tF*16VN)N?{*-)O_{*9Kb-YZvf~c0Aw3|jhRrA>I1B@b!aix$~zE82Ei2r;(4H? zDeO@Lf=qbDHd17VGLL_Nl;(i@vMR-fw!9)~cZ*AhNC41lg#F+?jIA@(7k*??H%xtx z!DH8xK?QXW^==MbP7tFR4{@vungCw%oly49X5`X_*A?#W4KwQORGa+))Q7SMc(~Nq z33}2z-$2VH*hy0dDFzJJ6NY(MZARdnn1JCPK42v4{G|$?U{1Fg>%%=ZP&Y_p_70$x zYBk{fCkG9kjM=dJGYi;^YjD{<)B;dlEa)5yBR3XXsoV36*lnE%o&OOKxc_l%iT&y% z2c7Xx!0<4BTL{Il#zuM;<*obb-M?1xE!k`SEDZkEb~=M!D9r>0og?ohi}bCse^B zLcP(EktNhlcVw&;8g6p9zZ-U!6z7odg*^%PA7K_jhqn?ueH8>4#{y29im8(1-z4t__t3>yN7BFWY}GLi)`!I5!~fbE)b zI~xzd#a=5?S)PU?uuIEzQM{cNB<76W242taHe%c1KxPPwMB z1<$}0SYmj|f&|=yQ0QQMo)`{yB*_cy1SD;Y;qF5Q=&u&6G#D|Q#M`l6M4(a`e3#mG zIdzat3s!c8l|h)5xCVzDO>s510PJ0o0U-*LU<{eYh!i=m5oHrNscoS{qN$O6&NXCD z)Wk9#*{Co|n+TU4XaKvz++vWAh>>Of?T~7Q1xC=e<{x1Z0OERAcpxLx373BnK@%iy z;4egb+8D5tD6)cdypkJ6=49E7{X`XQuxvg6a`*3eWko|6n}Nq*1P0vnDPb56Cc11l zD7o;PUo0dMyC_NEggqLmeEwW5ffIHR^Wrl8ypcFzhrb@GVKRQt6V2>HtU3TpEOGlH z+Lc^0+XgBFEa3!{_-?|e*-AHX0*OW?-@qOR=CJY_;UEJWBDJaOQ1YQqAf%w5MUd`u zAUuTB5#hjR`NetCA}$k|t*Qw6L(PEBGr0D-nHSuqiK==uDu||Q+xi2P5%ixJY>)eZD#9$ttFO#G!;+ZM2C^2V~%CwIFuJi^XHQH$(3qsJ&8?Gr@>~4ex6C_hJVj1A@q)m8IU&w31g9^Mp zT7>s5r$smy&iBvw;k6v@xlivY?Z=sgL%!Q#9riRaQ%fD}B!^o~mJ+$3SofP+9-u61 zhZOBd&)1t;R^pN72NyF_3oYoJ7qG}sLi{+(S!8Ot4bO-yI?ew6IV~BdX>nrRWWf!! zs?vBeCml>x{g)xUFvXPx_krE{$a2(Znrk1CX0`lb$HL^l}hDVNJ7JB5G z4u&i&If1omhF7>Ne8W|!C5)mL!H%N?pq8pGbYeY4eBdAcj=jnC@f<`^5YGUTgr^Gz zKH)hG`!zKEO)Vw#M5|TH{YcTCr5tAxxC1j7Hv)^`y-HE@Px&dPgKE4BTMPT1)Kk+- z2iPxRg5v>*jb|Ha>JqUF0^MvcYEkY>gslrp|GK}Sl)!}Yp>%priF^Q7%5Pp@{t>~xWm=IO$?0-4Q4i>T3kq8*w zhr*Cu#2(|rI>;0Z0<%|-jZ6*&M@iaF0 zYO!PUDoYlHci349YG@)D&btPNlZk2X{DU)%y@flX`$_^i>O!IixZi;RS*4(qN+hLG zAt@cAv1(HKZzKs&RS-}G0V?61pRv1TvNUBFw?^*R)aSy?g%irmw*MKZlGB(Qa+;eJ zQ+m|J3iFkFS1p3(M749Ds~Z0VnSwpRJj?(c#)qJi@jEVYw=1o0v}}{hzo1a|<9uRJ zwm~dOA(>hZfJ&sIOs#Jq1+9jKX+_OtuBV{nhv%7EpQ0+rB;zVsD#0mkjb16k6SOVX zduaFw(qYwT{3uj&>)~y;;XuzJr_mIJ(dSm@iBb3F=C&Sg`T~W~IG8#!dw*tT;7&A? z+r@AtJ3MtTFoX9AfY6Nqcv!mG71lbqMhwpn5ULdFy2f54|B*d|Sr*V`^FbJE{0l+# zkjX`!syx?Kpcl z2jFhU^v2VR7$O1qCG7(sq+Jri<11Ik5f7MA>km2U|NF9~zn=TuU>^4cY>XFh6gm%_KHdm{n2ML*h6) zofqREa4|p-mG++kwF;qs-u7VIcm$1H7P%Y#7!Y2^UcobVUzEX!6YSm3h%`QS8&@W8 zvuXT(n%#gq2Bz4$I$CQ`1xvo*c}GObuJ8=I=bc78L6dmi*@nAEdfwrYUM`{^kMt^} zsYs1q16*O-L~FZRc_4rw_ipvLZ0n*uG-JPl?g*W1Uh$1`g~SiI;JkoqZx!48DHx`O zba@krB=c|@dDT(13o_ovUcqQ+Henj{u|GoKaChCpZlRQRWc?35-afW?OwS>wY`Zsw zU>~>Q@QjXTiV2iUShbRz6Awd9Xi<@e#Bo?w)Og|pHvNdV8f~v_>Jy9Lj~fYYpcCQC z;2sDNigxnc1reXX+gf0uMaYGTo(Z6l5pn`00{I>B#De*W{FD!Xih__3dwB%_UN|Ab zQX{xsM;jT*??8vRfE-hhH&tmaDc zOwd6s#sLSeF=)xyse1$YEA*%vJcp#0XYWqJ|igy;qw1tXs)@kNwaks>^xM(61j5VY{KkaPD zlSUX}6mb1}nlKiFr^%?MY9p|Ah*23|fO=A?wn12Ukp zNx)^CdK;~%0=MS~#(ES-Nk`Z?qCSQC5IwNWBH{>Y$S$NFqd-nEVky?0uRSaE@U8H` z?QKbMSRwo$;2>Ez`cEZW9Su;(qE4fV>;;8t{4D4J`N-@}_pomJrxd;LG7z8uZp}rr zqhAkeBk1}54E(-HC77_G*$RGn*AP;FUrb2x~|P=>L6loXJcVO7}G~u zEUos^jGe7PF?1O}l=~Z$Z+40GLhYZfKC&S0(^l*E2JlV(G=00Fj-PSn9Y=SI3NTSI z`c@xyT&7*^>>aRiXFGV&?yV*Smjc1yX?_VhxXx+5iAacmvdJF(PV`KXW23|5VM#nb zo$NUZn6x0AdNBY&Gq@d)TJ1fB%g~H?V~C&^?hg&5hqcL2|9~)M}hyCPK%!> zam~gN_K2{b>38d-70pcsLCSU|6So>6S*^b9X_$LGFuMELy?@2F2t_@787kq$P0$xT z9N2Wurk-X1V?QH2;E09Pe}vgZ+}lZ6+Clo*ae1F743jv9a4jNg34$S?0YuUxw}CH& zolGn6jv%B=4v8X_t^k4@bQ7Rc3u&mUiBZF;r{uFv<5P6h)8oNb=pjg7TB(7Y!!54@ zFb!!ENn|WAZyO z1}1v;6pG0_UPy}+asn6M+1CMf_voqQlY?0w1$^7G2F4?gq}9|{%_ zA2f#YFf?s#?>IJQZ9jvazyqx9*_6`O_Hi1W*g6jW>TtAnZ^911zK}|=7l6keD4)s! z@cE*v9LUqFQI+TcZVXQ;Qx|UYao%H?;p`3)^*pRT5M`K_N?|`!XdVw(&zV~P25CUF ze0rH)yg^;qtTkg7IDS1vEEkEi(l{|zUDy~bJH@jSC`$}xb!yewO#qv|L62j`3QhLd zFL`C780B1#oIr$gb+BNU)6tb1!LrdgkgdsFJW$CJ5d+#17|tVh7%VI4d8eKK=qV zO>-98r3v)>3^;;&5qk#-+PolIgp@67r2fhPHKgX+U1nz$NV8I1*oAdVjZfmMPA>Hl z#(TkQkMfze!gClt8-eyy7uJAs^j;iiz75pCU<#l^pp*JR4IOJbk6yuLyopxW11&=P z4I;t%u_U-3tpeXkD?KNU$9hM!SpoAXFdfSc6u}f3##uiOEnOs~1$I{$1W%1`MwROl zGj)*2`5Yupvx~1Bdt(hD-*WUk?&KJ+E_@Q`1F0uK8XS*R&`1;R$Ch7|?QMI!%@kdyU0zaS)%)TSsBcpRR^4?FgH;xioymy)ny!ZPMLqZ|u0 zS*NFAbLf}}(D@pUS3E>L98HsUs9L{W=$*|-#+#-u$xTMr4CtgtOb~3v$Q*i}=E}#e zyVzL}0O3t}FT&UuVDoriFH#K)bwxG0QG@)3$aA1oDi}XdT#S=+*g(rMa%%@HL^=*T z&Hf0%D)~K4f`YR9Mc8b@ik8pN zj+3^Y25svZr^YVPI80`cfNL59msYc&Pn_RAl0ZSh?+ zvbIYTkUjqxRi<8`0>-5tlRH@q9%vu=+H9^yVcpR_GN?(%C^AfQ?;gTw1#sfaAl_Yq zNpc1>b%|tmeDD$0V7#r3C_&zDI}K?=0j&E%gHaeOpv5x;P^>vvpwn;O1AuiCC_ z#|icjoMi5_WN8|XU2w*8jC_+g%fT6LBaT_dxyvbd)gow-bM&ErhxPS#S*OII59;|Y z0Y^I-cL-t%KX<%?j-P6i92rXlajGNZZhmUI4X37#j9UbpM$ut6KjM=ROdPgB$c7WK zc8_*0ezQCQ9?}I%mAIvd5l^O*v&(qDo!1NewXB^{%#EL13BTF1AE9*fZWjdS%`3sK zw;-=2?M}*7qAYp|(;=EA^6YNeX?q;S3c!~r&&7K19Xtm#oJC?(%7kvJL zThXd!ylM9VT3qOv;=Al?%hqW-Q^YhBtvVE`V=rG@<~2MHw7$duwHbfr_cS&{jN}{C zVzg*0!~d|hvhYLMdZZ%S$|5~Yn5QWiEp!>?y&Nx~1tv3}e(}H&?u>jn-i%!ARR>rT zjVeBoDrM_oZ(;wya}sz?7|+Q-4vza#Xjd1;p@4n*<&{yu`7ppzkb!tcA~V-yqo#7Z zcPfqH4jKbVc2ivHDa_#XQln>@809tV^v!`{S0-uRS(vSS!x(4%h|lP8?8kaC>ENRu zq&+LFo7?0_1V);RRI@x}y(GqB*1QgRC}Ihzp+BpwU(S2(Sq1XySF77 zba+u`d6NDW@*6Pn7SLG?))8`~hYlIyz+t78-hb`jzv&rk${Y-lmKXQ$Mo<*S56KVX zkesgch;9JHO4aV2MWbGTXnJ}9$qXAFD$(rRy$kGvoESV-)`3DTY~mpod_5R{7YP%# zH(XKvj5^$#k)|(47|<&6L6>ZW!8O2 z_YddzTiDL2Ot#AZv0{&YdLHWzYnn8xU-D^ z@Z}+mqk)F%!X)4byqwsxH8UOR0QCtW)Uhi%!M+y+v;RM><-gDG``BJmh6j!K zrV8!fU&WJV^lun-PPAW_RgJ`|IWvh>vx-Ea8}WNFpMobgsHO74DtFsaRcTTB6zXR;y1eowoMD9N1PAq2Adcd+kE_d z@M?U}9gV2}E-(jfKmg$hazK+E*NH`emTVutcQG$55_#t__}~T(Is&g{{E!A#fc1nt zxo4o%qyc9Gg95ah|dSCEr47?U@6x!^-A(%2GUK3p{0MZDmW^$})m;b@}s{ zQ}1p=vksz4fHD(q1tdIs(`& zA>JGcAO@gU*H+5fO8xjqkKJR#@>>JMu}Q_+sqGRr`$?j3%Gt*jVtP?Dr)E!Ap(1k0 z_p}amu7M6`IYu?gb}U_>TJv@z3_{SG`fqj^;l4(s7`e1zmdnt{mQ1)@MH*p!d$@6|`-V%8SP16cSm(r(1i z;WVw@zz+Q$lLA}3g>xY2nmv7*{R)}n7VU=h#dW|z*j#qye%g$MvE4o@Wo#B{a#&mz ze(&ba>^P+5d?Vx^rvudxk`0I$0`;yC59`u|RNrq_0G;#+qRGAAoVjCo1W&aC6qo5u za${6278+HW_VOdX^)yiIN(Oz3FoP)yr0F)=0`6mfJx9VcKxn(R%iU}kN6}Ex><8F= z`-dP_bRg5IEN=|6vp-`9ct^4ro2;O8Gd~ncXw4}AXrx`q?96@u#o@c@2NYa{PZwdG zQkK^M#7_W1&g*<%gpvRy!ddojIO{<96N~~pV7x4+3d?_jG2E^dE|c?4ykCVDEP-c8 zw@^j}WkhKi6DVUnWej>bJhN5mqx0!rkJQJ{r|BKfy+Dh|Piw(1p@y+_8c+&**{QQM z=3e#_@ExqrV^3aUHLXvVK2+%)O;JNz|Mx@U?b*J)lEdQF)DzRO$|ZZJ9Sjq zP`F>r@3d8i)P}kbq|Z;}f_9FlXK^|E7f&zXls<(t;6nS3I`4p-TEBq3492PTv)E7g zJ&`@d?`F1>-}UTq-0@`}c)KE6fyW)dV@Ll27$h))SxW-Yr4L=n*>To(Q;QKMtZa)L zv?ZEwW*d!rq^V^m6etGj!A``3p~9H=ly)}1R)v0r=GV4pw`%RSRlC(_w}qN?NDB(mIggpPjEX!DFzDQ z;Zc-X1QFgh0jS9~OlZEX=x9x&4h^WjMyIq=CA$kQ5pzfD0;DO#l0EfTq~4(-esEF& zsVb3MMLa8t?=nH{XDQIpio)>3HvX29jVR_US&c`Kidce=x-`gm15EJP5@iE39w*V2 zZHeLx8AGPVZlA%@V=tX)VdlL6*%Yi#ae9%rtjP6v9%Xi@B<1{>jGp1 z$FvJXBdc^eZ_>Y?MI`CkY|})$lGnmNBc|9|@b)KcAW#oOjbQ%;cLacA4#>wrYrIxS zh0E}c0Q;>G9py1Jv9kfZwFMYxqGx3={RVCQnWmQaA#3i+9=wf0Jf-*adrU2_kwwhe z$d&+t`!&uvH%`OQI#S~oWDT+7S{hP|;q`camkBa>T9*?sYzAc)G4eMP#|c7?r*#F= z>|%Tfu-v}VrNfv8ma(7x8AS_Ipy8oJr;O0lJBU44nr#}E8t~8ElxQ%y@fJLx&+elN zO^Jj_lr(uPF<9F$6zlUGmqeTos0&(2d9dRU3vC5aln0RPu(e=(0^1A)=X@T_$4a8C zMgc$?*iXHXsk|<^dnI=B$Qj2fkpoQI@DR=J1!rklIs5_c?@%lD0Z$TS!ioJa9yO5=c9}SaU84O>&~SZ2b%AF|s8k1m!9NjKo4d?vQPo&fkmiH&;&MoOf@J z6HMPbf*eIjr15-ALaY!ISr~>+(}ZKV2{fu|>w%D1v*Su?cLmC|Lbihnq%QVdx@*&{nkTghjwJRsvaJ)wo>?|f z5Qy7?x5VQUA+4H$=7D^LdYVQvLeJ))8E9i}Zki^L3OI<+QA{UDJl@RTMI(hEg<;x^ z5uY%$G&0)-sGjYKf|6~KB9+!gAO#M+$X1b5>>`}V$MZF6Q8t>4XK4^4NCa>G>wV~$ z-d%c;HKPTlBM0NK!l+yIpqnvj2l=mNbkaU-F&2~T5CqX@HD_KU&m z0sIvD^m+)t^d2}DocV)rABH-r&^kh_@?ek-7l-(u(1(dleD_Mnr*ZCqOf$O^9peow zK1J9h)PTegohL|l21%lrfg1ZO>e)wU(nK~DD5&pH5mjc-U>cTO57j~Hw3Vh3olh_d zwE+pW?(V{avP&yF&8jh2PSevk5E!NDNs{>BP-8IE;IzDrraflrH0l=^=n-Am!YVLY z5ZWx>M^Be8Tp2I)X#}cGVp(5P!)rNLGp3i#o`&f{HQhf@~Q@t*&nZJz_OuDN|ap$ z&-pZ8!$=3Q&wh>PHhShoiZTQg(BTcthmt|tzlnDVVl5v(SVk;C4&KJOTI4sNH>H)J zD|v6)nVlZ5EIpBI%6SxhgG~1#4m-q*?Ra5aBU1wFM^ETmFFrv1No%S1X5?Mz0XR%y zUx0*TdWm9hpSxZ!eQ$nu0Sy?jsWCCt?FTS&LeC#=ksK6~aZQdp+emxE#-PMvcN ze-pb2gbDQuu{QvfM0OW?zMi<|5Q?otYEG9lJUZ<#smbtk5|MUkWvAKif#o;F^|mp% zuZL158GRJWf@Cy-$g=-yPAY>IkxwX?T6YGq&O@1o_06nuFVaDd0BdOWk*TZ&2KN~3 zeu9yWV)r3oK8oG+>tg4DITxbr2hih$-JdZDN3olsVTX51$C8+2j4gQcY7)PAK7{Nv z=Ka-G$VLNM3;X2E^-0`EBWop?oWy^^qcbx|;s`znt?V>g4|Kmt;)7(C1;t|+M*uX4 zgt3Dt17?s$i}nhtM&j=UN&E%)u90{;3%eTY7+`%1n+~kUV7GWIcAH3&c7?F}0C;>8 zyIaR#w=Rg?Bk$5&2J;W1cl8}kP6zVTclexM$CE+Lp=T@b2oob{kZWHL2-<5;kl9#j z2%2oIr-1Q{Z!_4iH60K%qs`gO6$lw@u+^61#-7KxV9vWMJB5%*p9pJSwV5@`Ez$Ec zZqxncIBN3^I?T6qX9;HlgO2s=70ic{Ks4{C)C|1HFJWq>*PjP%Up1Rren^&PP9(Qn z+(^4C6ULaL38t26s-T&ozoK%@6b104)>Gd$u7u#28ox27PVkeqD0zvnE646Zf@7J; z$Fe{(MSloB)9ald(Eguz(~S%{djxOtYKA1RnCY>#Fw6ha&IDcxYB;(8-pUNf*BljG zpQHM1Ea8{jbRc7L78{`od<9_Ng;)m{u4GyK{6U3KB)yWz|Jm`X~?bqB<2MEV4wStamVE}SjMKuZ$(DPu1pZv zc}Op!oVsQ=#W99-&>;IWPjZ9o7?QHB6Zl-uAp6EKeF6{g*ay{%FEC`&H#rbyju>-9 zmm{>?lbz(ro`qd=yR5q&I7B$nrZ^sJy1Rc4g@5obcy;oCTAV{@TmBxQ!*&8TGlkeh zAvpy}>^`_B4Q{$#_G8ct{(Za#<i8V-SCw z_$?p|euVX2JMjbIxx<0F#&=if{I47ohT8_D*Rk2?ikwexpfM?(R|v?}hkV{O1Tl+4 zoJA7@o&tVkd^4y-V9EdI;<~8I>4gNd{ZOmUw@H?Rv4(q)!M7BMV1qLeJ%_QhUr~=e z>`vZu7vDb5q~39?O|P8SeM;r{{te~v51U=(tANMNJ(O90qub}RyDY38&~Sw5L#KFJ zv4;+vDS$Q&0?x3)^LMW^@di7MMZyA%lXvjvEI7nnVfR6>$rWaL;x*z%wm#Q7WNLYi zkE)M-@;@kzU5+C0FYQ7I*0N>>m4-O&}@JW{KDfNkR_8f#k8)dy$$Ae~wzV#7!1e?thtmhXPWE1yf!Ffz^0gYf9Tx#UMk_T8JIu7K^xyBFx@%Oyl z&tHc;6ylRduZDbw3A73{A@ZBzIKtSS9L%c#F%ckw09ho`B_;6to-;jh6uQ;gkYaLo zA|dC@QIra5vtSRKMW9;g3Ba*(3GN{>ll7(_9>#;I&Q{ zlUz&o;xUq)1X!b?BTDuquddCgF3IN9#U>-2vD z=5N77!buH<2|BxIvSRV1FhTE+YUp%3BJ&$@iUzz0!owTr-3xXSC~A=n-6XkhV0X%6 zXt-7)Mf4gJBu!LjFQD_d<3}-hY4UVJU0th4yoT?Q`~%8LI>X0{E;zlR58>)PkxGsp z-~Yoj=JP(sY$xaH?RZvl65(GZEv92P@@M+CjHcDbQT>huO8$akl!von(j4Syy>gxi zA1)5MuqMg}a&yJ?Zl)KDG4JrcJ%8&gD+S-SyNDPq_r(Zt9=+r2zNi%#gp+?%b^QK<;c3v!A8<;1VnBhgZOM^nE;%DaLF5`%$^hVE;t=D%Lk=;u7o)j<#Y5iK6ybG}1SC)jswglwTvtAn2F?BJ%+R5DmVHWw=ZN8dX38A4*+F z*~~|cgV9Daz`frLV2$)6A>dD~9L85oa`m2E{5E=W&7RyiPi{iH^HqX!D~EEWI>d&V ze+uO5&Fmonr4PnzB;X}i1vB*!_y@7=aehHida)WKn2BtdNIIUlOg~-;&&On!4LyLB=NKk$NC@YITpq_Y$0}me}Ak7(xAOv2o zKNLX;9e?QyM~}fMpHU&DcWz+774adn#WR9?cE;>PM_dZEo z-oz142(~!)9Nq;YnxoogtV%D%Aq`s~nx7{6TR?L7Pa0xgqB;mun=6WlU1IDYh6Y=h zP<6b&USJRLo}03e=XgI^VC%H!@y-ztgBnbMT#%thv4D6jD|F2GG?b4fMyJ__P)sFq zA=AdAlPNb1fA0f^WQbSZ#fEYvjCM zdBF|}-OnrHCc!@T`b&^o8X6s#cA{w*dkf!&WYMbpGEm~)|dZ)!!$Nqsd zqQFZ^q!`uK?{4Z3tNmdhrsy|Z?lZZ-oM1jwBGrN2YcG2Sn&}!d%G*s8pbsNJJ-(C) z=^>-Hpa>C*#h$``oLk8_MI!&k&Pe?I3vQU&yhn=Plro0{*QE5(Bfv?CJWm;U+75TythbY0nqkTT;FtC4n;WwQY)=ttx_ ze}DFWpauwQQmdDtf=iko(+Nrgj%w<`%4>!o$FBg|E9LRaabqwo1iT|nqk0rlh#+MC zrv)zJRV94-#e;Xe3_SL4C6E2Xu{U1AV__XUm zPP?1K?Om9EJmxtOaS2+?GopKfpJbLyUK&_gdk2~K7*$z&7kYQ8&KLK=@~xxZ4hZZfq*dXZ~z<}6^v^6AEoUae!I*YP!<0Cjapq} zez2oho|F*dlM)c65Qnsx{#F(Ku*UKvBksooS%{opkCN5+R5tRC`j4JE`o+LN{VbszttojPs)+qB~hF@vec+Pl=50&Kewwq0E=)gI&t5J%V% z=ZmKbp*FbeRDTE@p><^n1a%O7>kt#dVxeuJ;wh?BojHISA&7utpm>m&PW(1Xykp?Xd zYZh@M`1W`wvapOTK%SEq;MHE{f<(Fx8u=&5*+&o=QgtO4dUEj%@@_OBJfQz$(<5e~ z-S%X4Jl*B-K7v1_lgD|+&q0QCkFyy9I{Fp#SEvIX$4RluFVT}T!G~W0e!W5{FghDi zInODz0lSkpzQ=XUd!h(6s{~+b{ zQXYMxkZ@xDe9AMtg1pa0^X{U&6v{g^nn$0S^sb@2y}`V0|3u_reeg%~yU(A7B^+;= z`M-nBF+M2iKl^XG5BM!S|DgYKJbRl7Ms*NIpZ^Hu^-$j0VBTr}`@Egkzn9-n`+pI9 zewp99{XgONgZ`)Z{Z0Q)en0JhoZr3vM{xHFuL5S|D6S4(#{6Z$x;CPPRjcdC%GE_`II+6d7lOI`u)itYkf_}-J9@plzqU&x3n*^7C0S1{j!e4e!U+oR3#2oNXIPrgzkO*mHgiCzYBM7H`O?c zLsuGmw|^Dy_q6{z{LcJK35wwj)S*v!Qk{MNWM01cyTf?03#EIJJEZ{jdkQ*u2oJ?&r3vl1ywBCvTaem6CM zLQ4+b>?$MqH`Tey2&0zUIgU`0Gz0>~~?q2gR0WOAv1CG#tl)0NS2frq~gK}Ab?4VrchLVZ?j8Jlx ze?GPArgk6jcBB)hQl9yLk@pLpM>>4?Ij$4ZDEDdPQlEqWqdI8rHxVGV{#yQkn)Vhb(bbYH>MnmEp?8bvLdBxbDC;8P`c%^m7bj?!|RBICcx}$++~m20@2D zTqki&43>L?w4t_EVY-khtPskDYGIQwAL;2rp|D!W7Ul|RNYl?9xRUv`o*o5TZSB@t z%M2lVb9F^N{`_`7Nt5WADS5#F|+q;sMXRXe{9e-eD zxsZjP@PME7_;(MkLLpyRhWpq&O4|je@Li!!*eq-Wu2pDTi*&tEi86c{7`e{TXUp8W zs+zgr``o#>%Byj0CK#5vBCgH2>MFNXB~w`ih?&!}6Ywb@GPjr7O9J8@)j5SI_vK3ra0^s?y+`)Xm?{dq!u;R+$E zaE)MJg|XhBFW4}i&B7LpNkShs{0VarBPz$3MCxA1!zl4>U*TTlY(=ULdCPc8LYlVk^%Vyl|s3C%~ z*XFNA-5Rt*EH_eHAU~S{;USJ0{i%6;w;6qp&CLRQ5w&S#l_=j5tZPHNjmRT-BB0Rt zXf)L8R=}X2YoGH$i!B(9GYG392x}?&*a~P5p`XpdBOJf`IVP3(jlUz0T%xJg3*ks3 zhR#4uk|Yw)`^VrxbiNwDT-4GiTN~{2YT2V+Lh_i4e(KO0(NpV(ct-Rm3e@4Bh6mBG z5_n0--;DZN-K%AS>eK)~Dqqf9lVpUrb8SxroOTVoocd|tIB2xIpO3T_d0KCkpf1sw zczLzteOrDAYr<)(-~dJqoZpq0wTnk*iZ+7 zVflY)4|gKoL;V@9y|~_7C79Fjy6#wMCR{g-@`bBS-Xlq@2no`#7N8HRgIH`tpEL%- zrWW*_&uOy^l3jpW%R~C~-s+m#ts4s}YwIg(Q?)u4)YRef{ZuehG&`liCSebrC*hgW z@NWyx;(0Qj^+?mzg6A9X4895xxEk>sk7oivUe*dc$I&w?<1k3b#q*8y41hRJ6z1SL zfu8ZeZ+M?Xgn9z@qI9_fM1cd4d2k}hhMx@_HdN(e_KM2p_{sb<>oCwXhi@4~E z0u{Kg#zpv5!S_QKMKZ3ym5YmB6r!-ZM#KtZTe?dHF_5d3Bwoyr$ApUWatu7F@`$t7){9*Kf9zH#}r{u)GeJXnAl;jb)={ zW1VGV6 z%Hk@oFSodADmUR5t~v`~Rc+m5*;4)xuIkN>$~w`~u%+IzWh<_lR9p*iRnmo8XtQNO zxn--P*0OceCQA*FsKGdEDjb#?XANDc^lJhAT1dYLmm2)vVyUS{eN_D}{%^I^mRo8c zwA602)BmRJMG?dq42<4WBdP^f9G}cw%qI;ESAs#-m8S}TiR@n52AUya8 z^bYO?Sh=z=cNRh~(U0~_T1m^%p7GJ1F=h0$3@hp~v{^8ko*R4$m1#3lt2cMd{JeTS zSPgxm=@1)cc{%ivHutYxH?Gvv?0~Ur3Y9I!+BX)$_1aS%`nk63|7u6|$%dd+jef3P zFR15h^Ju*!EqiUgw$73sqaV^;q`9htqfZ7_q=9KAuj6a|_3F?{O>IcGleG}CNs_M% zlQQ2D1@n8j_T#!`E&Rd7g1K%D{$MDsH%kTc!&~7VuZ1osuN8@}bWcHo-;qecwQSWg zOF?dyuz2oTND$e@kDz}_QCg#FGPfcKHw~9%uy$!Zyp><{8#)AK^v{B{4K$*)gscY( z))AsELCVG&kc=@l;-a5NvG&obM{AANYcgo$gsj|!fAe^q^4jDFHzjW@PkzLiJXdT; zp1ZL+d1GC2MR{^XWpZUza%FXLWnHpkbF!m0*;$$Fl#(~sC2tm!UFFFSZB4GOO0M3T zoKgKCuIl8Ps^l6mdG3R?$+cUOYquuA5^yQeDVtWiW9%K9REIh)-!fYhXVsVx; zHWp)vG)qpf(FCSF##k=OauWc@8H>Y&Bs2FV*;tOH3^p>sGO#egqI(z{8DX(7V-sn1 z2b_WN!z?k(#u6+(%Eq!R4Z%1YO)-`Tvs{|Rp)Z_8GntMt21l~|C`-m!I>I7pD>!hu z~9U8?E{&NFs*N=~gkp#{Zw1$_*d(k`2J zD%8`4zqIcfv-pKEZiJS&y@&6Be%ev(uts0EV+UmEey#&Z(&N0xDcTx>jA`3Xd-xIj zqtXuDwDt=t2lv`&kq^jvDn*~s=kj}1T507mq$3uKnArpl-Z;*i-Mw9*-Jfm^ZIxxd zRoW7gJ36)qLR-fc#pCmB;rZ59p7(6^wF<&#c9-nC&eqY<#-7Xi%XO@lv~jqtvQQu$ z1+tEp@oMVbcxg@iNxU;J_T%y3g(pSTz!dpJNvErXN3u;e&-JeRt|3gO1Vge^NVkgr zMUil1{d5^z4{#(i07^P#ynCc}(LUNg77O*ymFQZs+nptHge?~Oe5OQ>!>hC6JY;+> zVx5$1NZ9ir9YbYslMdWe8Qft9ZoUj|&Vf5!26w`NcI7s z!JTv9#>?Pp@EiK%XF5mCmchAzBYT@b$=AG1Wl*}OXaS{pbb``7L=R~3_?;`GH)`YP z+~~rqK9GwF=^Y1-IwnD>Jr7E;d)#hMfl@3UvfI<3bpD+MrMb<4l09VWRGD#>ZTVB6 zG|v@>+(H?-HQ)f}&e?L@q+|YNi~AeEiE+fIa}{MC>@XEc6$Moj^z?)G0uj{=vlFG z6bn&N%(CHe_N`cK;PBs**II-B^Vg>b7jj^-qn!JPxn zlKc(K(pwy>4tQtV>A&d`Ig;6g=UTvGACYXA$=n3CB6zuxEXN8#bQec&!ZngpFSWB^#C4Aw=3{BXvWJ8R3W*>dE+p)zt+pD!Hm8c-Uq z4wUA!36%UtyxB7Hyp5xAmdfBlzyZQ-2PK`ig3>sKEl$%e;l`b|(e?=FDSxqS(go=JWWl=c)af)f5^o4yWOgZ8iNcEy20|3=XFfqxY! zP2d{Pt3Vs={u^xS1FZvpt4+7rbO7{f@FSr3IUFu!(>*r56BIw>#NB1L?*`qB_5*hN zYoOPn{fOQEGtl2h`!7Jr{%_m#JD`ndp8~xObOrRopg#fq2ODDj^x!BNamywG^lCF6m`y?n>IKbJ1i zPZ+Xi33`j?v$Zm~72rtbC!jRu8=!Oy-m>M1$0H2^=U?V9m0MRv{;t$8NX%6#T>jAysO9Wz;N9T z*+ua1+l}0S19!zSyb}Sg#=(06Jmd*;rbBl5DeRHJyHvTHOYz^&rMQO+841HQwh!NK zL`?iDRH(~Ndf49G-rC<+%z*en#SY-YIiuGc-DX7N`6S1s6NcUG&L{|o-tB(`#TmQ zk_0EZg8+| ze7qwYP8yxzR5W2^xgS>UjpQQ944$V}CXHkygBR@6^a*db3_R~7fxcKay|;ZlVr0yC zIt6P<2JXYN*~(-%kw{07g;P0_H4L0BDsx$=<{qiE2={=cmGpmwKIIG?{pYwr!_qbw zD_G${7DMmOwjF(iJeVuFU{Ek8GR9y$HIi;=>2Gas8Mu{0_RHWP5@pgUV?1thcU279 zpWasiVB9o~Y?6DB8w^Kp&*#j+k!XAm?ouk?mA-gntSy~KVhR_hc6T^uT4_4Sz^UAp zPnhwo6Qkl?t@8xR%_>l8w?<+E8N)r8_% ztetcgA;mpwWfNJNx#jiDB0CoLuG?7{w-w(MBp&s*nphvhdDF;2&uv9+Z+xG@JzBZL z2uBHoT~~2Uz&w}+?81fwj(NgJ;q&J=>fo?a}%BA+uh^rx`! zcE*jp+efScK2?bfAxC?=!!zi~SWB3@$>v&FMHqLVeI9Ac#?3gK-V2XVNZwf4ZG`t2 zrEKmVu04gYxQKs-=DpL%<{(T9@I#edghM2c8PSjt$r?#YW8xZ|{I1jmK392TB0U^V z^ruJ!d*6ye8B#h|l4yQ)DLLB!L@p~t7I9ZkST!V2iqi_O;q14!q zx9_;Qy|{!O7pU8=ZGlH{O+Q}PW6|}UYBk#Rs7i9}mCMe_I~`>D)q-e z2T;3FMbswLI@I&`aka0aQr{9N$jZ9B>A4P;_9QL#A<%lzaZnIPso=hi)}c%AzXbl= zCHQo2xbP1A)0g0H#D!`NGH)*x9PzCO25;*q@U5HDOYmJ7oc|$m+8lkcmvJ9RM%iT= z{fp!Ty9}-3*|wwI1U}`fisPaBYS%l*+$}XjxpJFC4$^TdKKbyICJ9O@} z@)e5NrKC$h_85cJZhS6aDbtg3H40f735VtDxj@KsL{5E$mCZbAmB`~B1^LZ$FiWCj)pUfgIWd8uG_~Dzmx$| zoKp{EDf2jQWtBLO#kwzPO_Q(QjxF_=(_bOzuR!Ecu59tBk@xKAfQM)S_Mw+zAP0LW zduBbSd1KW)0XQ{CX@kg$I@_9!#NsCI6!KYE^3euY3O8PZI)LrMS4Yx&bF3|m+wjzuwsZ>5DiXPd^;t?Z$MUnxkQMu{AZC#{&{_3Z{!06(-@Z`vMOWQ*S69KK;G)Fd3zqQxQjL#0lld zXE_~Dd{sNks`!l)9p{!}HloXly!CIR)RtsPx)6zlOs5>yIQ_c{+M@X9LLA~dBqj0% zObsHokatgcD{osW&Wbr!+G#+KnyD)w+C$(VHHJ89T zN4S(^!KeQte{tDpgrXPuj|$JYAMtGPp7Fj%+U`5%`xoC6+NAz)@Qomh<|cu;g1?%- zfe-MV`~bh7zmI>2{{jCNf2VN2@O43S?{xpI_%-j}cwh6jNu$zh(pKLmeb4%SPiAtz z+@bU-wa|De2}yrBsGoBT=tr~Qxn|H}V?!1lndz}~>U zfiCr7SY4+zX#wqaZB~0ydtLjbc9p(aAJ_j#|B-%HzdHEIU?lkCAWp&DN!WG;-^N!9 z?-xEKGzxB^RoEf?oA7JFFjv!~0m-}6<^!=7(>Uh=%+dEHYl zen@N-Me#P#6z9ZmiYLW?5;?5bo4kMQeFW*%?~(+mQ+ibTOKDm9x%3{N;8T6wzJA{U z-=gn1-}AnI_Wj6r*0)iK`Fr4_W&}j=|5B!h12B756LN-*|8L zRm*=Tk15Umg#TN9E+9kC9f3`1QazzQqlUBxv}d$stySNl59?XdlfnBmkQezr;Wqf< zXTmRp-w4g_Zge(PJi?4}Y-d^vJcaQfg-miOK@cyg!74PfbUwSu4e;{>9{nDTm zm$K3yO4HH_={f0?bVfQS@xCZ#e!uTQ-|xsSc|g8PzE8eM`Gm4tc}h8@Z1R8D-{Jqb zKjZ($K&9HKeo38HzotH_KA}FPuBbm%-%!t~8?;)jUi+~2F^$)}T8p+#+odJ6aqUhV zP*XN7^QZrMz^n^tAN6^b)1pAF}r8+>CqHeZ)QIKI)!# zpO6-$MQI5U(c>HPWqgyqL%vzxyl=sG5)r@VJC835Rm(MUom>wuHOkF0FN?A)t8$AR zk~`&Yxkv7U_jb!ea#R*oSyj~*HKcZ`-D;28rw*tXcNXtXuxC7v4NtY;5=0>+bP5B4 zDNG78!V%%9uq>i1{hc z5zkT2G0zFlqG#E2%5%nZ-cyapZ$|8^Vo2;3`^4R1RLqD6#lzwZ*1{rUGdgl>Vx2?-iGUf{AD9Xp3CstU1E&Hjfz`lTphm4zHz7`&RS`!Z1n>8$yVa9#&`6BkEE07*^S$x~!f;9IvXcs&A_2)hewu>7k^{QY^us$dT zTY|fTvEYH=!Qgc8Sa2b@62wot%@?jIReTL!&x^duhxl$>GfaMxpW%=2b3Ec@!MZ=h zIl3CCTD}hFY8h9S7|z%kAjffqndA@Pe1DKX#2@CTAvtTw9_8oxWBhUc1i!#9@=N?O ze-dZ-)BFm5hF|5+@~`r1{G0qao+7adu~;M23UxxgunAGwC^QMp0*~mF1yyLVVzgW6 x5&96RyM-YkD#V0@kU`Xr3;Pkdu=8@c?19T3xa@(;9=Pm*%O1Gwf&XV7_)lZ``u+d_ diff --git a/Moose Mission Setup/Moose Mission Update/7z.dll b/Moose Mission Setup/Moose Mission Update/7z.dll deleted file mode 100644 index 450acaf6f5914d87e1ab2c2371d29ff87622839f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1606656 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

93mRq%t6e{8B=-7}= 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≥w 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⁡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 XazJuGazJuGazJuGazJt*HV6J6q-esP diff --git a/Moose Mission Setup/Moose Mission Update/7z.exe b/Moose Mission Setup/Moose Mission Update/7z.exe deleted file mode 100644 index e444ddf5eb2430e88b7e102ff3d651d4fe408c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448000 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%0A$rjG6ar)WgfW z{ts#I0v}azHvVt239Q^UTq03KSB*A;Xf&t^i@HlT_Zmvm>Ku9gLFL|oalz*4`y=5T8X`{%=^m#fRu>DoAaQ`wrX zD>w&ed4iU&Ykqoa#ZiI+oHsJ}e#1_mW7z57sK^MFj~E6X1o_ei^;>5mrRxzK;c+96WE=} z!hgy;OJkU*IxTH1A+)tlVliMQFVh+jF(SWK!265UB5g*>M2H2vC?xwx$zDo!N5OXY z3EGO|R7kz(twxGA42>)%9FZe==X#iD+NhAn(LB1TPlKNhtKiU~fDsIqy_GCHlNzO^ z>G8=v4fAfFNU*{`GR@nsi|tR}Ovc*gfeD$8Bl@4h|s9Lre4VQ?=N{|ledleDg zVPTBOHCedcRMi{5I$FU}()bBY$M1%Btv(B+YyymqL|-@>k&|Sp`m(2(QponYH(BU* zMv`4_qugokeXci`_Dzj(OWTTEeJQkX%-W_z_|jyv*FzQ=-%FQk4_dw0YvlK(Y=MY?~3jnEGdD=zo*9fPmN8=<$oUk5%kKXSc%u9 zZaHpf5cAc~IXURkX&n!C6Z?{dBd8T={E#3Rb$bc1`%nxr6F0F9Ha>J~F)L^z+l}|{;1FOl%|E7v9j`mAP3lr0_ zK?Q4{C1dP1zWVN8dg7rw)$p%IKA0?g4|Ee#gjlsl1NGi|4b+3nx&d{%0A&L6I{1>( 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 z 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 N*T$HO>VLyu{|7uxW{Cg* diff --git a/Moose Mission Setup/Moose Mission Update/7z.sfx b/Moose Mission Setup/Moose Mission Update/7z.sfx deleted file mode 100644 index acf79e62e7f0b8900de9308f55d35e14736f1846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190976 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 z 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

  • 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%0D3#GAE_wyU|>#;b}Qp z(!55K25>}^21Vc=lVxQkO3GIN4#ZRvO0nB7l`l3rcqv0`1Th+EPgbjUXk22wi8WA# zP&mgbeB%w+Zo%mQ$!}%287tb!%IxhkiTMIuW(sJZX{Rrkg^+p28^E?XxyHinP`H4W zZ!Q&@s!c@SyYP|}dol8t`{-0fO>#3maCo3`Ozou;)gv@39G<=PS=}aupGkm8iZuG! z{%hoL2qq{v39Fmw@Ve;-crk+~z_x^p3M|~-i#nL>8-NQl%nmKA)VAQyd_cTUo?qQ{ zZ8R)kmyzr%Ul_WJyssQU!*E?3WlELp6X{#>+obY^kc&rEEaf&iFcY%D4vt$sH^WX* z+rG=KPHiSr-rk#NH!l|#nc`D0$j(Nlk+> z9_|UXR;O~t-UW#X_*dD!xq(PBN!r|qr?i=F z@v8a^Aq|_qk5_r~5AeGpC8!j7Fz8;#5iU9}(NLe#018Gyrt0&ogL9_)Xwt5k$n6zp zH*Dbv!sa}=6soT|oz*6OX1c|RZh~!u+nGuy{ z!saX29PI@Ef~AB%Gj6~~ehgs5TAE1+pH>cpbLaCqR#{vBVOYAf`_oZA?0z^};DuPW zJJ1un(=#j35y|{EM<6xkd?`+LuyHU3fPR>O7Z?NlG?}MWw$I0Q(KCp%z(+&f1P^F#pIum$Lfr^&wbFm3Hu#3Oc1m^BdMrI35LRwzubJ zki|G`P;K%*QDPQlCZTElJps*#3O04Ol9P%&3mFYFgZEUW^p#3!LlT+M5#7Kdnx}oukm?*Wp=b z>aP@WAn0zm(L$%zOkwLRY_VCYFtc@LmTQq_!gOp+rL-D~>BJ171MnrQ6&?O9h}faM z3-wQ+R$+Ty5^h_&uNLoXrpPaC#B3Njo$BZG!d|HdWYRRLk)C2pE&L`zd?^lp1pFoe z+dzhIAaonO%q)hi^x~5o**P2KoR_7$q#gW|)&CpEwUO$Tw(t+O*LOH9f&mh<)tDK^ zi}+Xut`q1BPgJUDy`|*?p3`u5nwAf~EceS=IM#o8IDQ~ryd(4-pe1yU)i+W-3(8ow zw1d9_%6o9yq-b=&v!5uy`4U1#6WrqizKcX9>&FA`1B=*;jd8&LOn~#xhxK2G^ILUZnNkiUH{>Y{eC6rI}5YGH!04K9DE!T3% ziw5!na0mt0G%jGR%2r6k6|9X15G?esWIY%do4w{?_OfY#XPM34w zavSF5rsm)L`q#hiKN0CMedpjp)(#^+m}L30FzM42x&a=z;du=PbHosnU#5i+tV?kz zhu;mEOrH5EZgurTATmqkc4@JNrMyf`tP-}#wi+RIuyqwaDo+EM*m zZ&cp=zae=1yJ@*x^p}yQ-SpopHpFdhSRAdC0#|n#%ply^;l7z-^p@%)6bK~5V?0YR}J=vq%@La^cV-dD5f`YR!sg!wf(hz=*(mJQ@aJvv2 z9zn}EZK33cTdB}8@UOl~@qS|nzRAsv#_5IRifo3Z5l&N6vW?-3AemyYjyx2&1d@X- ztqm@!$B{#$=eSx#D%#(+?a@hqgrko=XP|C zaYSRW2?3*fb0NlLTSBQYh0V5vp(@Emp5ml{XOE{twi}>jOOwsDzK)44{fB#Rg6*7K zFgj|29ee-TYb~%Y9u3*n#%5&uW@LrnkLgosMt1KV;-85W4e+rf(hF{-`vEQ#QJLqE3HI?sxW)yg0k`ff&JU0BXdnVHjT2Qmnmyn;M4yO$6FH?CzsQ67%{%}1Z#!X7b0 zqu!Q_wHsZelL5syw+4nsM1+8<4N#doKs-YI@6eezpA&wR9qH-?_w|8)7x`8qmm3~I zD&$p0c1Za?*2oA+r$vz!Qy7C`WG4!D!oPxN7h5tQO<+r|NZ&BCTO=p0X0?hD;)71` zL0U>~`!11;G#*6akp9R&5S}g->fjV6$<{ZK!T{RbohN5K&EJnryx^~#gqdYbB{=x` zi5L2hRhstqKEZeaKooI(e(!y+2S@ae7IsxhY`IxB&zH?J(0ed4S)7E^ zf_Ru&g{5&~g9Gs9SJKS@4_kb937c*~H$4bxf7nXv9rI;BjKs`Vdjc-RA*t0y#*rjw`#Gtu}T>1VO%XT(i z$~QCIG>>h@0Tbj1+Sq2}!IvtQqXeEa);V~VFe8rW2-~w+KUZ;k&Q-#{OIT>yG3vWu zmBRMLNxpLv4`Qp*{t8lkCrZXXI9ua;52C8D9SOcJJQsln?0(|#6|%hq?Xbx9pb3Y_ zxBu~bTQKFx_59HoNMdhw_jq@E&f)aiwg{x-@}=D3$U-+p!G)t-M>8ZX%F5eGC@?Ig z-~?#-dzX^64HUJ2-BMNw=~;51PeE2-wWEOoTp3~k3twNc zbWO7IEmAWS6Y~OpFX0notGEH2*6Q=;tbskhSxSLex~p706~D+phk~z%khQ7ANZlKN zQ!mp&UzhOXHn!JT?1Dp$N-;Ny$Q=ZT6E#G&wHMc;(sQJbyiuh$QKc5GQk?4FRlYRg zeg@oE&sJF)i&03e@cq`Lt_C<*3R?JlXAHP-4UVvVHd-+sr$%jQd&G5CLwPvO7sy$Y zLM+D8rcNEw1X|9ed>)AN2t+QhQQOagd6E1Ai+X+O-0mkv9A(C6C)`M2mMCv4`wMji zlCaUygYc;V4Fertjm*PxKditvE&TlUA08BV;Q0V55lsIVuzK!ec{XXawg19kJk>{H zq<~E*3rydpkWXK$w)yBAtR_-v1%kDz>d3DVWckP?IDj%$|&LY zxIx8M2A{F1P?!0wy#jVXI=FZxmD;3Yt6p#ouNQ4bYOUT5+F#idtG8IMS4$x@X|cTC zVjJBP5?>6V{&wT@cfc!4p1FlTEUv#xaE5{Sx=*Z7OVbeu-cLB4-BU(VpHNS_H(`4) ziB^V%uz-km3Qc83Un{n73(fO^O@v4rERDB=5tM?!AqEIdZ4h~=z&18YzvoTZK4O;8 zRFNvSrbTSNGiu@&P(#N22mN+g!8(4 zqFAp<3+r*WOg&8B>T&gSeLDU!@Ry0dEd1d>KbNf!W3V&{;1|0JtWHBfXqtCPJd+aO zU*WSVZG2-oH3o54jaGiFC00$$No+|e;KG!!C6j}eA{FDPW)K1EOjt1!OKRG74@Cj` z%-5j&{h~e3wsHQblJ-3Nma61`ZqIZ4=56uz_B`h;`;IS_@?g#2ZUerc zFAb57sYRX*p8=}}g#A*ezJRU1!e0XHZvHHSlOX;QBn?NzCJxxD55g1jY%@^pX89J( ztLY5x!RTC8K5g!2ve_g^XR&;`bUhoskog(%9DL-Gpu_b6+TI;ZRUp9*fbMAfMxJ>Y zX}C9ucF6oTkO`J6Gvu#rOYt6+tBm4@sqCQ_-QLradWf>Tr%gvq6Xc>TZqs`x?QS_36;Gz(+G)4E z5P!id_yT}#xL2^5k zw@*5ncFc6yIE`WMP!vl=eh`mPGJ+NVZ>H`WLmtGD?Irs3FY-}Izk8{c7uLl zw_=323gOxa7opJe8{s2Sv+2z?25iP4ZNziy6=T3*3_3wpkf}m3IYsM0R$}HaixY{? z1ozWyfrV4r3_3!d$>tDBve*J5xNHUwb=1Z=;9TxpPILtbAd_c%jNXa{>CLIpn~N5O zpf~Qcf#@wpVMXj1I~^y!qR8GcL|#XUypFMRk^N(dTt<68BLX}}^ma_6x1vOP%SfQN zjL)Gr(|d7>%SfQOUei=iT!wK<0=;E`-ZJ9!mNAsxGQNo3GHyt3bg6?YMsIXAE!{Nh z`W$-0i9)b3oFql2Oe6XNI5*B9E2}I{Td5vZfR(80Tu9Yix3qOzOekO$7 zLPx1o{D9W05Gq@nB1mxD%p)rTPPGuHdFVT))Kmu3zK3 zevR+?HNNZD_^w~$yMB%D`Z?dla7&b@xSWJGI^i<>=locFcyx4Jv-T!%6@7VIJ9LD! zYY0hfMHFtv?1AIhow zLv4f8>3aW-{9KlnN#9i33$GByfGRV9!54}B=+(J>Lp*Qlmq9U}fs$~1UzaKlEM8!* zht>2V`8!T>0oB%}l!`4T%}iVf3V`zGR|Aq4oGn7cc|_pZSDw7-ydkeCyq@xgr?upJ4x$rQh+UT#!~m8 zmWsz{4r+y_zYHdO$ZbP$%9;|mzX}(T3o%=)f+u+e2tftBGOD1Jl2~F% zwBX~GAr)v=3Ilw&+PsIPh1AX#n*SYW=acaC!ZmtB*1RzNgFd?qx0I8A;q z^vHskew!6MC`h=CAF((IOYdS zjT5ieF7t+?_c1(9qeK2g?bndxwZF&-X~Ac-;&tYj_NEtJRUd+RHk7%9)fm(K&_ah4;!KZoG_8O^l8cwY ztGljTGVw#X<{{kk*PMI8i9jOv?4i1baZfa(hjkC-s1)X{BB=;_k~Ywov;x`y&c`$s zAv8%;J`v#i!?^EWQcNAtC|qc2;>k`}D$@3Q15TKh&$dG9PLJ`q*qlZD&b9!OuQ_ru zSuU{Q26(Ht#JY%8S-jtdE1gwl?`oL$WP7KvJ?!Wpxy4u(v&zJ9z1AObh7794K>krS z7%qEHCwqK?*`kUppgV!mw3agrWw3IuU1Qv+0+gc_a7-@%pD2Jvj0J-&eQ?yEVlZEC zpwAopRHrkiHZiP6WoJP6uX0GP#tDUG{FcCtb3$*%pE%rb2Tdf4FM>Se&Jq>ZV2P+* zLn|e~hj+2VTjkVwodYd{Khdv(*U|d^^5Ap;Z+;03hp?2TK?h?+gT=(iju1^SU?kGiiHd+|E&F9XJ3h7S zPHzwlPUi^TfH_{8m$vS~?zGN=+J=}K6$fraJ%=wKP#@pmgj5`6CM)<%LeCSA0VsoP zfJ%sQD(ZmPEC)`763`dk#kT8M9+iTO@xG;*3Z-h(CElr^1lCEQoc1oZ>nu;Joco3x zLQqr+ffHlER7wKlL@5}^AOM|uGdNN)UY!`P+7R_-$h-uYtqjtXj^PZBVV!t{P5X)2 z5j8+W%l;Hae{5mr%pqf&Kx8Z32{nHRg(%+4kh^cumzP&8`dpaRgeYgqHf=sp(wF$JHGvnIW%Y1h0k z2MU4J_1Ge+1F9`>H;Rk%M4s>jkz!hx)=NSYArj z%J87=zXBa6E?ZhT0NI!>f^%VvJIEl>F5}z_L_hEpm+}CXnoRIwp)Kx$zFwh?Yn&dE zN+JSXW8d@ZMSu<3MbfbJh=dV1ns3 zK<+-rE{3WXEaC@Vjdz7j#z)BH3NE7#00`y$r>GoNqfn~H4G8H{P4X{99M4Wtp0{Ny zY<$ev6e%)~&K#dvjLpi0W;ov|GLOwHP0B1LPo&~5IRCb-e{0G^?yT@XlFQW?EQBU+ z3lz#URW;O6FX{$q?#z(M|fMgM9&7i7cu=3ImCZD zC5Rq>%}3tfQJJ(kY+*;zI@8|9oSAl*3`^VTCqg+6#oxLlGnZH>(R*yC8}(t!Z(<9T z1|dj1K9T%0cq3Z9ogAP&{cqEGHvnYt!dVL!uHnrVS+S)^u3jeMD56&vX`wB1{)x*- zN4#C$0q<3|$BSi^_o#PY9CqA6U`gW*Ab!Q$qy=$U2^3;+dJu2ON$#2H5N{2&r7NwC zl7WX&d%(W@Fuo&|^^-4Qh1H%+e%8qgdwVjuXD3JO?a5Vm%l$g;VtV)`ZH)%Kz-?Mm za>=eGbp>Kck0VUiFMvGERS$fYZ-AQM0hBUazF@69mURWi-BB$`e`kV%18dz@oLmU> zcTRSR&8HYPv%L{g!Ww7wch#Msur9^h!6KBXOVyM8_a%|6Pg861ah`$WtQ?D0yyLJ* z&7Iu;xcTV^&Y}n4)|5IM8{J;B%yUTQrxN8-l>B^+9Pey@MlIW&GhpLv(Th(nTld z^4}u-f_W+Xu}P`j2%cK1ymItvbO|;%(G}6jhgapp>Wc1&$!z=_ornz^PCFG;EEAElM5IwP_IKejWr?Kp=ke0|VVPvrG7Wq0Lxm5x;rG5S?pVmo^1( z%(VcJ-oEz255A~=8|wdn*Kd!8ZF>EbL9ah}or>azc#=HcU9Nv0NHdrq4Ku%8Zwnbs1fQw(GqVI$Kp_@PDb z;@RDcyG$@YXbuYz)}?m6)78^;IBj?MQ|N&D`X9tHj}B1T`#&;uRgc0^R@+)jbt(>y zS=ShgNmYa?#}+ptSU^ej>S)i(%BzD85S6uh5B3Imbz~H7MXY65bsebA{yqHI^t!C5 zYZU6Ttg(0i`$RB)JS})y`;Wjj`iLR1ax}U2Vs6d2+KaB56ydj>-92qoY3+&IyA^m% z^&TYpeHRoNoqU}Cet=&MPqAMD3YfB`b>P<;9)WLj{|P$V(0_ts%|alW2!EFT6Q=HA z)hE{fi`MSrZSXwXLiL~2>KE@@hcQQ_5ptWM*u?l*(pD8hSQU>5xvh!}k`du~my#%Z zG5%>1SkiwuK+q3xxUb+>qv;23OjF_~RT@#@LZjtZRwPBoWm8q+O;lA>yopy99hZeb zc2fa3gJg-0%j93V{Oczf^kMkfDx_C#2Sn3ueZC7+YX8sk%%l zyruU3FNdf5@zR(wy)9(U`EvLi1(_3qTx-rr%RA-5pQAX#s(izR!cJpoG;BKm+B>TD ze%G4Al(zS?6(bi1OBXDNj(Z4cf=W-<)u>eXL*#K#U4@@83mYNLZ3vbqU!vi~$5%Am z05vb-qmvE%*UWz{{MXKZ-T19C;CKdpj0Odp-jtX6CI>NOSpY(1t8I~wk}HKr?iM31 z@w7|rMl#O7k0CG#f3t1)neW2SH!|_FJ`JyD+VOV)e~0k*9uGyT>|+SdK8En@V~EH; zMlm^QpA)e@t?x!LVy`RQ5zF@;75E+%_#PGb9tu3O3z7F!3L632nf-XLM$H=u$TM%z z7ogin(4Haqt26QSjZCpMS5$EHFdZ}sL96$EMv)`&SHN2nAwUY!P)7DKGl#bzt&adX zO_fpz)k-x!au%D0qGGIh72m6mLw?5O(QCq>9F9-yT)RyB`;XzOrrxj8dKXomA(#u& zj-%9fQ3E}Ab@;$FELwF(DP&`kUd?X27mUIoaH>b&%h&7yhSx{^$3BUiGS9`S+x9}5 zl%cQ3bVm=&%Jd-f7=sR!`YzsMC1U>&ZF>Sgf9=N$8q1$RFMk5D{CSMyZ9O&M1{A>C zLml=mb=bSqVeiH%;N2TUtmhcNE`~4>r+}lB?`?{Obm5axY=E+_EO#J|x8R871eTJRo<^#fPql@?7MWV= zMdQ6&cvHPae=>NtY|>hZ6P-tS+dtD+3-z0L@`C9WFPa6+5MI6YG9~}dwU76oJXcYl zz6Co~&6t?fUt+!b#vAh72DJ`h^4#auNBOf^oxATUzTZ{9P2ci*(34uuqqeD~ct*pD zQVo;rC2g`yjtSHpI((17Uhk>!OHnGB_^JhxMI@)BNG`}p^ZszOiMMoIqE zq1AWML2$gQo~5T8ps2F|rTI94+mAITS^)tImJRBDB;l_%)r2Jc)v3;+)LR)+@21o| z)T;gzX`4GJ^xqT8u&a%+GTiFM*lU3rioI5;-;TY8)N<{$E>a6>R)evxE%cR-ujW1~ ze}Pthb6^WT{QM&t?o$d660(|KqR>o)0xtC?%5<1QZsX}F?BdM`Gsp-V84H75w|bI- z(<%7;`4|q=eH0j^z+*g+@b)so2-Sb!PeuI|rCCR5UeVKhpgv7uuBQ<8%XnBFg#{?= z`+8W5`lWWDautPbh^O23KEi%TVJq}7Mg7uVgtbsuDG#G|+>P=`GM!UCQVZ49MYU}toE%fh+)53iO zm}4uFzKWzo3+l5-NO1j0Di&uitVPv~*aYH_s`SC2S(?g#4MBd+-+3aO@|FlH2W zF2V@sg%o#~;!5?n9qNT1RBibl!t&$kZ>4mZ6!sN8tWzDKmto}37Pavlje{2TyZrfr zs*a;N`cNx{zplQG@8-o+M$cIdjvZeD<< zQDy#oSKUNuEZ;|(XY@3Rx|+g*6!xSZ)~7DM?HXu_!dB{GpQ<@#jB3B9jPjU0( zW!y<+bW+&;JdFDOz5~4f1}HQgq0O!z;O#a&PoMhftr{O0r=?p*u?ECa-yKF=^9vMm zx=(BS2kLG+;pea#;mSax z1n%76X&0-jQ4N1xrdGyYA5xdbURSBX*lS2F#A|aVmAh0cSDtH8Gbyl^0{w$9Skzl6 z_yr2SE0(rTHB(?G1y10B)YpAZ!fA(kYAo8O@!py{DQJg!go5V&RXxa`$JIUjxlL`= zpBE{eyb3g~{+^TGW5yrM{&8BmcIljreXJpqigQLxn2p6NqW9eHtN8A>@rW znqQ#zC;7WP*QPE;j%e7fJPH;I#y{7p`t^`+=^=JCi%K;-gM71jJ}jjaV#$>L6Lmad z<+*RDqbOA^rE((`(Zyt*rn!&8YzX5W0KWHCy)PWC}oKp3PMhSIOfD{%>lq{E$L}2<7mntCNwGzhP_2L9Q zZH{_=v|d6$RbsEp)NynXI?a9S)q`4SU8Iv{pTB51>mrBg>-#%71FVZE^!2k?9NAB+ zYhrP9+D_eqQivJ806qyswh-_?fb*-^9Gk9wGX_(J`ix2L*S3%_zWU+_z%9G2><&$?i2O64IQ@lSwQ%I+WQ*tsEV`g zNy1M+#3*2+MO~FbY?TH?jaFqh2@o{k0s-PL3CTjDNp?*(5D;}iv?+p(iZ%X6r5Y7A zYQ$9|21Se%HC41x(WW-~W)wAAw6UUm_dPQwdv?hl+xKg~>-w&%gHP_6XYS{jXMWC{ zb9UErzTAxnL6@&m)k)O{RP6{S--`SjI$yy2Hk}VM|BT9WFCY7J%wNiF(A{Tr-Et*; zWl(oRpROD_t`#5a3Rt(KuWlA~b<{01y0CohIIa&I{|I^AjIi9S%5Cyz%Fj-Dgu*U4 z%9IZz>f`(6E^hBF@*fB3ik zbPIKT8uRmXKE(W4hTADO;e{;W4(d)ex(<1;YNtyM0rF$OpS_~@h-CQ{cH(fxU0^4J z&3WFP3{4X?-+aP;ag2A6)j{2dM%N{u8;+PV8lZd4=sM*C&~d}On{@@Od)(AD$#tw- zSBwDUG+fqjSe8SzuR5*!ceotowe1D0EI?a^cNBT+_F^BD-Q^s)4RZF2RBfc{1^hqW z>(&LC{pLfQlk3=CrfQGf zBleF(>|X{|S*6Q|5K_2+RAGlJ|>$iKR`BIOXi+#_NPn!aTsh{sre8ZeLeOZbUa?4WL-Dw zwwbz4c{g>b_d@r0AHTGfW3o#YD%>hBSN2MD({S=O5|oucfz zv#d48C(jSGq+@e|f|vo;O2tUFHCg;O^`HxfEEn^+?Ufas=j-~X_S zYRuk&l3VuI*vRQ`w|tqj64E+A<658kGmbtr+ms>4Ya(@R)IHv(JCeE{>hA2*4W%yi z_t32|x?S>{F`VsP@^gb98~gwmc9VNipZ#{~Le!nrr`tqbBXuV$UAUe3pPTvyIS@Tq zH)Esxekd_4zgDo!^kVZCnMYJ4v*U-UDq z7Wt=Ri9PaE<8Fe&Zh0JWT`_lqdPVJ!hpMU_as>VAo#(m=bSm|JxIT=5afS38(svAe zWMz}(yH<9XeBH{X$Z)CQy5+-GHXxrEVph=#*@$d7ME_5J1pi!bPh-boKYQdgaKzPd z6-eA2E>pNeR?(=FMyp|@*5gQd5tJ(HlBpkHcS~zTeKG2}ae8QxPt9yL!+u<~Wu*Lh z#HI^hJ1Ol2a-^j#ksq}fZBYJ@to)n%>mHQCAv#R3;!aR;huf*#-KEHK>%o0v^|X~u zmXBE3Ve(!pneYM;cwLoYu@4*&x3hO#e-CxjNf7 zp=q9F%D5@twu{@=4*B4-dQ0D?s2y^%!VPkh!e;phFf1N~`{(~^;_i~S81nV3tYPIn zs*=a|<*Ke*RZds`6cFA)Uw#!+jJe}MQa?k7IohL(ok%x*hUp#qW}b zDa84o95*?~^x1tsh<)BAzXpawtQ(~3*5$L`br0i6X`=dz4^@A#n&cQL%~~7wgvq+( ziIz4;Ho}=A1jx+Q(OjX2?(cGo}N z*Y2~HHb(0eMpbD#TqAQAU}3R~ny3U|u)iR)@O z7B|1kxo?u&4dn%3xRp-c#5*t58V$?S@r8ak^=@~#NexX3>71Ya6+X{>B^;(Q7fSW{kJfckm!Wj{{737OAAxQR zbUYRk;Ewq103tsB1BTPdNTholbL-`{P3TVvb)R=q$2iAWai+*lR@brmbyW?UF8P4+ z*CFp#xI^BeuvK1f@HfD4D~)bdMvS4Fy5vWpyQWW9NL@O0l}6VoXDA;#1ceKJzd6>eT@?eD<p;X1bc#-H_gb;*ZSU6=g5!8;Uo$eYM@HGz9yA9p2n1=QVObltL?x?1Y4 z=+m7`T@!T|8y(JScoSu~gSvT2$9Y-%0CeIp=rRqjOCAAR?wO`2klL}sC6`~wYeH@%h#o^hr^Ck4rOWj3%x*gDQ-Ay3B zhIN_7=WbcksC-?uC0QP#-0$Woa0_!;h9%ZgI18vQ^4q>AW^{vyoj{ z`aXwMpBFRaOyvQm`D~eGWxX=P$`;5WPhwnio`B(*%8=_Kc)!_ylI3uVIZ`HBS(oe; zX13DhXIA!f`Jt7~k$eLvx)kNS^ z2sH*1If1nde&sIodfkjh+4Caj_I5cJX1q$Ap|Dv_0ft@8pw1%|+)jDiE(}@$b(u!j zBrm`RB;2$wewnyiHo#xFm7F6LhvW0@KInR>8*1#j)tSRUGg_i@FdYAGuTdub(>6GkDP-M4>wVFkJ5!ZnEzd$-;Y0Hn>%Ew^4}^8 z6*kLr4bD>7A$Q?_%L%7%g6(;I?Vg0Xa4&UJjc%trnmX50&`nf2UWZP2TAeR)s2vTh z+W&t5FF?&uW4lX!1RclweTCifEpqC~`S@LH9JWx`PTdGOd>z zKGQ>agDSVnH8ks`*=@>9om1L3m^GRrFJ`?vjQYzW^%ub@<_cE~_)WLW91Kc;lzdRs zMuWBexVfwyDOYfpXkdMYu9ru`KHN^tSmo5%y!%+6O%82($ru0z=P<}UHtlI>zIsRZ zxmiyA9-Uct`abmY&~N*)-TZW-dVTksPwA`tdYQ9_>!4oN4`SzgWSzopS*x%^zR*j3 zgS?#nP#;kGE?KV1-O{J9Ugj%(z4RK)QCKTyqJCfX=}7wBQT@RfsL$gEn9t+iLWk72l*uVD4yQc>>fbxqbu~wSL@&enRDP(G z;L7Ky3sLu4pY8$b8mW86(y4Y*O*>vpFm1m>BdR^GTmlo7y+B@KWdpL*%C3;*Tomo} zxybU#?<0kF#qIrT%iA#d38QyC3-YNXv#peYP~}rK*0Prgj59>tAxg*3xVi^G*GSzD zf6{ZlTkeF8_o`oGZ{(;rs3ijf@iYK2(slq07zrqfAm%;{l`*(2IPKOWE zq3UF^T#4FneG9ZVt7f!*fV}G;(6>^5rA?4g^K3qVoIVR8cfr9KDc zG;PPdZnO$vq#Q}q_c24rbCY+J=7l?1I7AhA(0;}Mnl?lC!`r(5J7p?A3F@Hk6QgUA z4P)5tdifmqymxw%cH(((wi!;FyqmfV>K-?`Zdn4mZ~=99YMs6#AFV!)*d;5JyH>f# z;2k3wI*d?W!i&Db{{yo#Lb97j_KdaiS(L*aZ0gImFc@s>RaLc9HYjSVyyan>Z@sOc zyhh57a4qvMs65xq7Mu@oecnUuMrgSQKdg1BTcE3lPR-$HIq)>J=BDy0Wsajxr>idS z5eKct%UkgaEqr}8`ZrT>2ZPefQ+DGoe(||mzH%yTOK3YS+Lj(*y!Ga@5Szlj&!pAuRGb*zNG9sbbay*sDClKp8H!`3uY~ymG?zgGCp)5d&m8OW<_;(KEG~p6+MTNKo;ulNt*CnQiO8oOfjy49@e|PvN zX?I?8cAdQQt~D2Z@o4EmKRI@bd(AjhC-B!;QDqE_tvpB+#*{CODF==n?H!jIy|`opjIqw2BDqRI)vwxV33RIRZ> ztga&bIJs0T5kA3$r;$hTCWsToL~*K^Br*hsSY%=$6$=-v{GuHH3gM^N!3NV{xJ4o; z%9OY9uqeYnriZ%S!t;n*>^jsfCLG}w-G6tBUjdgK>k&r)KUm`yJjH2>Jf_} zPePdg46-WKEv_tZixG#p#nC9cAwNK5sz*#c%p;D5T^D4*F&@ERqkjP@gzrIFng7ou zyR2-QFF4OvSyk$o*_QivmcdS26jpDuKZp+L^-NZ@%We^cxhn=tPJWjD(03-p|>#k?L-=oa5W8j=53 z=j_V>Y#{?Lb&CeSTfB+<`;h;Euv`my68YyLuNd9Uz`G$2K_()eOvp0iuY#gCLJODBZ@_o5m90J{6(f((Uze8?< z?j_*skar;4QNDALTijNHzC&6||MmX=tK;>b=D&h@;ITfc(k-5Wh!G=_lamh^HEM+0 z?LL4BiUXiZP9DX7qmoCU64eJBfWioh@m)7NVRqScq}w2&7N=N2T^<_`iH0OlyAaR>(i;=@Z19Kv`)J`9-B=YO{n& z6c!5c71lEMt-ZjyXFOsjkn6h};zqd@$o0J)*!i?axS$KK)@yw6)vyWgzaJfpwmDW8 z0$0_$#f`UM{;ze56v*L_wXhpq>lVLQ;=zN@v7T1CMG<5zuEMRaoJw@CRMRzA|6X=fYthz>&YmUsmj^8Z2=YRtNnq+6ZyfCOziI0l&Tr#}<%dJ_>l{<2bgS)MNe` z@b8cW=mU@8*t|`Tdppp3r&~M=nR73W=SST_LjE1&Lm#fwTzzBU5BMtjM#!w4uOHU) zI}>yKc#&It0{JEO!HZG0&WY=hzZtqF;J;%Jz2j-Dk-~~`oV6l& z#Wc#0la&^df-xPBs5rVg|0U1g^Q#@$XbHB7a>ff13Ks zK1~4YL|mDjBu>WVaR%7wF}nU3oGU$Bdxv?%)!*Y>)$10I&c`_j@{7GFALtR!{eW{P zqz9ah;QSfrNBMiy9R=Q>P_}H|MV>a>q3=STHsn)WKf4@RBd^}iqJL76t0z$<`f0+$0P11|%*fh&MLNkUyiM(!%H=Ei%(@3TGPrC&zkyJMmr z>kFrQL~2f^IQt|$H>Y|$;%D&V62DXtdDRiN7=L}Z66DpY-E;Ik1jlUw{$-2lxYuP) zm#3o4qn(=Z=sQ<0({x12`wJe$KIDS%?#K0V5Jw9Cx^T5z+E+*3GUx)BnIQj1OYzWL zJ?{5MhR7kb3NB9Ax(GOrHT zvXJ@L-{$|;m4TnnMx z4(Wu{p#T_^xSrI!B*W_fF9CWA6L_Kr94}=P`osQ0T2T(5JTOuF-?%#3u7O-g!T?>r zA*NnDh4F(V4Ak`vG4%zgt7H9OU0)wl--@~($iQS>Ul&t9$LpD$h4?+QXXLRTKr!8O z@+9WH-mIuTh0vEe2vgHDm>-Chx{Y6}oaGO2OA-ywYK|IQlvA#b?tiwgELce5b65)y z7bF0iPDot~+JK}Z?}dc6LI-Jpq(86Mk{9^`NC4t(g+1#aZb-@&^!-J&&pf0KHVyFK zxfyy$I_d+kX@ImsQc&Ln9@Ek4uMn*!UQ-mg=gshNK{V_D7t#s|ybRxv0P-P79VF!y z!~pa{3Lv5l+?O!d+t5BlK-UQ!9yPCAx08c}w?rz;xJHkYD&P;>WxnZ;@ckF~0=i#A zd#|F;??8uqN;}$uo~hj+)|D#P#`yDkXJoS?_Sk6eL|l*_%3m=yz$Qp5%O9dY(Dl5F ze!K@BBmi9lBporiAzp~s1pzWn7x8`6b?7+L5o;^Tu0QvG%ofldDPi!JYJYM6I(ogF zvfMLe4(k86amMynHD>!WV89@>J9zK_Yyy;NzKZJ73g7gKps&nRjVt1cU}=$OMs^l5 zh1Hcgh1F$MhYcSxc;G<1Log{RDG}-Y(nC_{(!QteSkoTNjOfsQ$sh9SP@Ob;#zcCyaUV@?mp>7jCZn z;js@w_Yc~2Tky-1rd@ykTeFI`4_bWOaU-uD`qa3LqklSnZ~5^vMjV(i zC$DO#@7bXjFB$*J3oEZazVe2_vw+2ChB(g?nd}y?j{r4SyUn=$5yyK56)# zK*Pl;hi=($SaR7ZN9Hcg8TVvM)1)VcjXw3P2Rmk-v;Fq-|K=ZG^7*RY2K`09uNhg> zwmLcS<+cCVx4G`qGVg}J-}~+6uWBycRZI_~l6Ay*xL z_)ja&Ync73x1TufufJS9=a1qu*WSm@zxWTEPdzI)|Mm7S9{etA#)(%?`8M%N@9B3n z&brtA+Z*o4__}4&yGN(&``a6@4jZw1!Oht}*?RvKXB1y}SXIHwb9No`^SauppNB_& zaM1zpbxu5O==4EjE_mV1jSH{8scYH)w4GAE?yZ>*l+D}oiEsHM$_~kj@+)lRwrQDS7lbK<^RtyKUn~dEhCL;qP#dG8ZJp7%2HtoW zIUO+^%LjeCW@HNT4x#eeX#aNJB=DF{2hwLYFcFw*Fb~Lc@B-jK;9`T90tchK!r(Q) zAt+x5916Sz$d|j`4IBo10C*tqF(5AWMT^0$z!a2s02wcL$R>w)yTD`m0?2s(VeFXi zcCbsCsr@tNl(q54BMm&J6M^)3CXnMX9mv@7fNDH|9FKA!<0hvBerZz^D>2^`TArnT6Ua6E3v*i z#xD6fJ+G{DBi~=5FBjtC{F7JWz?)>_)j9BTY`m}o?*bdI(}5QNkFnMMNdM~{>Jwp~ z{98QWr=NDxpzmA%$oH2xPOA|I(^{Z4UiA+A1{<%{f!A!~bvy9dY`m1Z_;KzsJg(0S z2VM_&Oy2=HzJt7xaR@lrjRuctjE&#mz|Syzx8bv`b_af*;U$9C>%c1kk11gI^qY3Q z)~O2HA2okAp4Wj_Z+P5iYaDnRP5aG2w%uZIE0ANq1ITuF0=dub0$S^)-NA2<;i>*R z@CMA%eH{j*U$&WcL;U``z+*gVK*pPH5LuP1v zZSl4_@H-5T^Vs9S+im>r0W!wDHvehs$bPgNd=JQe{1wQ4dV|~ia(fwpS6WeQsU(O5L$Z+7b znRwnbeEKbM;CI`2bq>6}HeT3)my#D*Kb;P|F^0$fB-iUXOa}Vb?g%*J%-Qv z4cA4+v!I`Pa_BGH)_$!6FCRRn0$abr4*a0u;p+p@>A zI4(KhG0g!ou8V+-s}#t%f zZ+8su$NY-h_8*U<8?;~cC%vC~woSjTd699=ci>GjJdSI~ftLdwlh@|A$$?*Ncn8C# z13boCfJc|ulhuFfYK;F7kg?PntOIg=)f;R8a@{lq07?Q?9>?l9{gXit_u3#~fKuQ!Iz`n<=qUmm-me(K4gzcKT5TgMxmWbkx@*+8q` zZ6>~s7=Kn=7ScD96<<#bpLNeauHz%eb!T*cS zpY>PZcL`R%8jRnj7@p76LlUEzVv-{fs|Kw~0(r>fD%`xrrSmatEw;{$KRAS!Kx?R?{_ft;}+iizm zj;rdwi7%xge*e2-;-LS&{>Rv{jVAmKh5pIQ@28#|#?foyps$bvZ&JOSp?)Y~Qq<{E>#ou`O`mrGdwk4rJUJ2HnPb!=z(bhqiE*%Op;bpNB{hc6`Y+#itK*$}MovHV8lmU zSlWP``*tA5ssqUVgZ}Cr{OtyhX%CS8_5$f|zy;dhFd+3KftJ5+2Y+ecF{K;341<|K z#&;Hw@y!O(AFp{c@KC4z68l>W9?@@bDUk7938cSY1L^O#K%R$gHFyt@`|g84w!?E# zgF`#5;4!rU+21#TZ07?Y+mS%Fvj@m__5nGzLod|+sS}Oy`{4qQ{rEYM{wD(I|1==| zX95`~bvX`x^1x$SVEFV^FZ9%F5A;ME$xHv;MNP9S4>0Lb{7f$abDK*mWYpHY#yEc7w;X2S}g$fNXc@MY`QlK(^}wa*TfgWM57OT5;4k_|G*wbuaJ0 zD+Z78lo<>fTmfYNR|6TxS|HFBV^XY-fY9XTHI~K5Xn;4WDtfJMecJ9>=`bfw$ZE z-2+tX8^~CO7MS%7RO=h4);CbCZ=kil@;AmGAFtstj*tVd7(AvjAmdmHWE`u2Twm*e zjH4dNIPL|K_Xv=2@c8L;@ZSm^Q=74CH`oEB|4tzNe+s1kzX7fOWjq|ef60ZKM;`?a zywTt>jR7+5Um82rCkMN1W0z~}<^wq{3ynQ}bvW49*m&ZR`2ARGS0CI{Yb@R;@(KIg2{fj?}a=8pt&%tiy*#u!sR9%#*X+M}9_ z>Zrv2xNSVI1250;I8HSVyb|!30zk%9W9<0bpe6^qwcs(H^#*STvOgP4c_WZ(tJ##d z0(so-Ft`)QV{#Xe`*D{k?*{T*um?#0EkKS7eYuVDnq!z;8A@b^dqYwHd$dKy}QU zawm{$tQ*KV>H+dt=mlEy*6ZMRSh0@xCqVi=2FO010Hi&AXFRSs$VMfuk8JRWxyC-v z*wI(O!LG#c*jBv*Zv}Wvs|}x@A-6g3>kYpF$QT|1vW-nZ_GJr@KfX z=fF(-ZriNW&VK62q5pd0w*g3BjV3PUQ=g3AuNK2&3~mQrJ9tbTHh#c?zuWNl*!T?& z{N%;je+rQOW!&u!{4s{dxO>4PKY5e(fvif_xLauH$)&hr_^dzwY(3swLtfOAR~N&h zzibn4E|4513%M5ZpyxWhz|q%AF{OQD!}V zzlVna?t2AgrW%y-aIk&Jxw@>B_%jh@YaCObiXIn>1G9Z0#AET?4!rd?UWo&*(Z;KD z;I$YY$13c=YX^_11IYe&+Whx8*zGYqj&Eu>e*cq8blnIb{r?o02t3y4e*xt9P*>pK z$8GpIHh!H0zrgTIZ2VRSe#r2zHGIa}zQi@%tSFkLgMv{jD)}s{aml4K`kb1FzY} zYjfbW86MB!J>aoV-j?XNxvxR3(k}2BW0%3tf$ZxyK=wc35`7&p1jsQx7|81gCY}Qh zvz0Bs)N^mtRRk?LdzA2B4KJK6#u2?$OM* z8ow-aE~smdX=^P0pIUo531#cJ6`S>3rvUBAYR^Kej{YfWF?`lHSnd2#`?74ww-WOi zF}C@pobF)9aS4DIYfHa%&|CA}9^;$!OpK+?%nM`ab>QtXJkEjZ`RH+>FDClyG4s<4 zRDCRq#F6h{H`2xnIq=d9kMr8-z&jm0rfERNagM?HK=xq)kZa~*AjgTvTd#w^72q+g z2GZYJgEs@|?;ariJqYBwdmP9Zp8;~szhLlHAdmUCfNYnxf!6rr*$p034^YjKu}g%m z5q8vtW9&H(w6TzRCUR-lZus1Pto2p1!K3ymVb)tM%GUZx*%Cj#)bhyuW;pPUxA6)b zcy1f7)`3@G<25<(8f?4{2VSdBIDw9;JFNs^HSr$bA!i}WAoeS zz%Q`z+8uZew)T6$;~GhRF}nZOId7mK;o1H5AP#$( ze2xh*6k`XK_~wJi`fTc_o*ep1@ki#N!-1C$9{Cj$Ger=x<0ZDP(>>epyv$1zMF?o6 zZ;(%}#IrYTyyREF0k6xZTL@hlbh$R&@!Roy%mAKYxi#YNjn|NeuD|r(=Z^mOxuaYc z{XKUS&wVN`TWmc8@SNN!p1FBe=`)=5@PEIT21^UeN|*caER`((+=|kO0#BpK^4kcw z)5-E@si$;Juc!(ZRuuX030#@aI6OsUl@wOa4Fr6Z^M&|BLax8C7|$ofqrT>g$%%7( z6~!~~1ggTtKGZHxz#|gp;~|FrrFnRaAvDXPHMzcu#laHjZ%Lf9tSaa$_ZC*-Nnk-d zRdIU7BL94`Ghs$yARD3k7th9nsYEbhugV9roL#nfI&5(sOPqtpi}@<@{8?qC`2YLy z4OPMn{}P`LL5S-U=al%DS|xwPSFWGo;{mjDtay#)E}}c=T$!&z zh(9Y`A=RAZ$XKU^F$$L%$b)pJ5N8EbGVp1c|vem zz_*|jE8Fd!>zU%tKabDtnvCUMURr_4ce~H^=*lj<%RHCxwuLklz>J{gKS4!g*psVbrlMj zAzvl>dIv0vFRrc%E?87tx&+t5-~<*dz_wEEFXqv&%ZqerrS`C(Fc4V44hiv;0JkDo z=`UM^SsB8$lm%OiLoOb@F<*Qkrebt+OBYra;`yQVYOPiJi#)}}d|I6lXD4zOG4)sz zon)9tt4_gDR?2d2VO4MnAB>7;o+i$yE(?}sE(`kd{PRnTecY1760&Cai>u3gTun2v zWZ-Kyd}Dzy0P(57%0sUs$Ln~JRpzfUOG}JQ!pf&DmpGn?s&_#u=8J=@I!_S0-NNdi zuL|CuO`MH~qAu}eThGmdZgC>_9Bq|jeAw$R7kFk4_BhQrf_`m%JC(h_0mnnpZuJ)R zd8I{{WcjPPv%RFA2CJeMJ0eep)lS9EzGug3#nQ;w=)=e(#JSY5I;ux%SIqS4B!VZi<5A&f;~F&*N{FKK>dsqUf}NG7(ba~A2k6LEei z4`8ohQH^v9qSe_vzdjErwRnsz&IuOlkcBwUihw%>ClbeQ<}$1Hs-*darPwYj)#3=0 z`OaB*G0quSU(ee7>(yYjJS{QTSGdHNg<#p?IpC}P;J4UY(W(9P)05_u`FsKFWqJ-{ z31it;Z)K?;4wq$>6>@c-#;DDVda>-e+MS*_Ent)9%mY1Qh7 zILoZ1DNC?4u+9!pM<=u>j4g=5qBY?;VFh@umMe^BB|VGhD&d(|DR@>?I-czmcmwrs z;kin07OWvtwvpEbS0qn{|+ zcPe$yJY~6irqR-o-GA2HimK{Bz+V~k6;H)uU~%q_YnZXT<v7CA7OkU zc7L|hDMM6=lp)J_2et;;1z6San{IH-7xDnV0?11Ce{rD;3aPT{z#~~wnfJXq6@lk{u z=mNF?Gl0(ly};LjCBSwdf(X3@tOvdgYy$oX*aqAM>;!fLdw~*|k|aW(0MmfGfo>qc zmJ(F|^5f_O{pg1bz_{^)(5RFksIQNsZ;Yc4$I-XN(RakrcgNB9#?kZnt z7Dt~EN1qc%pC3nG5=UPXM_(I9Umr)`7)KwDqi>6&?}(%Cj-&5|zV(zO(anR$q{h>d zM4D~$&+#M)x6QuyS4m>Ltv>CHB(cY4@4_M;YpYM5nk3G&oC8~@B#BI0IS2IxwsL_t z3D3HXq(;;av-uC_B#Ev_wP={0gr_`5QU}U*`{c8d)U$mpMh(h`+v2M~I|=t`kyMNL zCPs=PIX6jsV&nJDND}jGW$!sC+xU$rZ?cu!F3ILmOq8eN?^NWOo*VGR5BwxIQGJun&vm&o>UUod2jHJAJgP(r+Dm}HAf5)S zp9?+}Scc~Z^J&71a9=9KZWtwC#ZI5e*Tygt-#BFw-2={Xy*GX z_vrqpI@T)#!&PMxbXm2d2)ay%QSE~eDYIP;m;z8^%O?K5`X4E4N9Hf%w5R>c+S`BZ zZ*=4Tv1a-l+uLKF>pTVGf>`Uk75V;C2x}ZQSknsd7uo--b*?58KLy}#bRj^j8%{E@ z2mksI`F*Sx`xFm`_>W~SOuZ<8DE6Dw(&L)?7gNNJ=OmXaMU4`#C=x_UiZ1bb!aC)( zCbxyy1h4av61)l`yO|67jSoA{BJ6M64SCKgRJ$Md(8ZXC*!OZJLpr3;soR($C zXXEc;@vC#x{YZrIny1|EY8h31Z;qRrKM#mbP!MMjt77wej(dTOJ_dH8k z`@TzECzN3SsrV)$65@-CE0@%}#_G@K`wYB|zNYB~2VNDY`(Dr&u2tQI+JxZN=Gdb~)* zKhEnaHJ+SvJr-#=^Y-HWzQ|S=iF2Wf^HCM&QnbW&b?a=EZ(^uG43mw|NPCs4J+77g z+pARVEwOxqt=fXEW2sKHspMc?n@t*LIVOXOy7T?lX?~=28hQTkv zx_k_M2%&zgdTRv7lq)B4U7{P&ZKR1-6~|x`$4vCoULP>^PpcSMYehi+kqE39It^d1 z`LVd>;&q07)nm_$+9z%|SBF#78q+I~SEF26OVM5>=JKCi>&ap*j*54Nb1ueWC$O#_ zxniR|o@RR4(6=9qgza#wvB-XqWVWzmym4+Vetq~J{Bo|i8}V(G`+GGbXY7VyWFz~; zIpS>7rZrZ1rau1u@Op?Qhbg<7gdGZF-$3F#Hu#i59Tx%7i~}SE-&X2A@O_3wIPUl+ z6CRWLZH8<>^VWvVQB1RCWG->yA@(m-kyYN!4A^Pu&=t<<{e(Q8Bm-SnxV_DH}osOl# zRu?k;OU7|pf;R2@_}aenO)lzEqs}S#XwjUDicyz>nJdSf==XqD;htZgJtOZB;+sb4 zjz?ldtKSJUq;;k7wF17?de7H>l0o0VL+-(Q9`XFtQ3 zDf}1V0PKEK5hah2=$&H_;DtCG7ti(5STIU<B#CQd!eew;(Y==iK`#>!j zY*|||vP%)6en%7cHGUGHcUM~au}WOf&@0DKy*vh=O6zl^<)5FV@Y+lJ<|jCjE3$Hy}q7igqH9A-oDBfc-6;V=qsJ*tMKvoj7vut@uOR- zfR%L(#&?D3)izGGYqcJE%kD`IUU+rFelJ5W*l#^{_ILE!{f|cr^TFo2;ax-QxqULO z$l|?gHo9-@HQS7w)uPwM7>AgxS&xhWuP|JF$6RzvNA<0(2;aJ{WcwV;f6hMIFW+da zuTCv5k!x43w?*n$iaLzvki|$$9guoxoZPksW5dI2NA+aBjJJxbJaHxQlW1#qJeTq2-;ab*wB@Y~FKL z;PcQd+#O}1ZV`NG9(SLA)z5gGft@1iZ-=;fQg@_1W2CpJeuH zuFS}Jl)D4hCf~$pt-eC69Qv}(p{$MeX`Ly!n=C_Aejr=4d<@4o4cx=6vvl+hkN+nf zzh=~*#;_GKrvUYeAMQ9evGdVid34;7<7X|5C35W&9htV&pAK;?^Ybd}F2dPT$1x)A k>R6=u8^mtK@sF4I`4@Kxo=JEW9Phd_p8bFI|Ctf^KawVqe*gdg diff --git a/Moose Mission Setup/Moose Mission Update/7zCon.sfx b/Moose Mission Setup/Moose Mission Update/7zCon.sfx deleted file mode 100644 index 531e1778a391e42b4421148c2c573f58ee2ecb23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171520 zcmeFae|%KMxj%k(_hhpqOLl<;BSeT2H5$Z70wgZz2H4GFN!$>U5FtS;?v1In7|sdU zlDKpeyC>u6wYTckd+RM+ZR>4q%f0@Jifuw{64U|$A{MG?o3^uVssRxKr0nNdw zWk@eh`0bUQrWL=va#h2<8?!ewedC{+?)rN6-FMx8|2LHEuilg0q~4!>@BP`!Zm-P# z`Zw0!Gk4;|w44NJ{daXg+5LLKiR9mppDjA^7QS!$$>I}x5dQet;uE_>xbVc=2uokM z??gYs-LKC(@jAlWUbtW6i$7g-;$eL6zvihEy(0X%$e;1Xe35_Uy>~ZI9T)c~;FY8m zrWEO}S)Q6?+JJPUDcxk1q&a3u`X3{<>2ka~@$NxL*r9j465i-vGL)RaX5xeJDl$@D zDj>qKfFdR3akI2uyji47n|S&E=7Dx@!T5aHzq!gin-wI!cYUH?)Yq|27^Si$>CU-L z>+e$TlBDBn5eJx3J;Hp1_8a^JoC?D!Y?EnAo{{;rB*id-LURhnij_YM7_-C^ui6QK|Op+Q+ zYl`be6nWl}*cHrsBDl3EByBw2;barHY+EAn7G!Df+VTg@8dp#7y;n<8ZAVZ2n%zCj z#N_tOrAwrq`2755mPqmW_aT3L>Z+0@Qf+NdT*ryk=Ldf86?Y`P>B9MS4V<5PctjC$FQ z0KWni>s34PP7UW_ha^RiLEXXEP`!FtKY#fOWGOp{bTj|y*t>i zcc5Y4k|h$VPT@bDEJ?A6{4(V2tefnSdJ2xP_8gSy^Nz~EOHrny-3jnTt6h%vRJ;^F zJ%=zjq0c)&tSWYG_zj9MwWjd>6VUYbTzu(O1I)%({XHHBv83=no6f z4fFd%^H$>n4N2v7_^hnf9~Z?%9z@&ttaHdL8r0!m)Zqz4%0AKc^(Ykae#)D&(6G8s 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 diff --git a/Moose Mission Setup/Moose Mission Update/7zG.exe b/Moose Mission Setup/Moose Mission Update/7zG.exe deleted file mode 100644 index 4ceeb0f68873e09a083bd6b2efe2e2960f8d54b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 555008 zcmeFad3==B^*{bhW|B-6n6M0nMHq3!XcQtron%1gAv5p{OeBa)6qHzWibWB_JS2!> z;v_bc$7yLl*w*T&)zU+Zvr5uW(j_UIs31v>r*WT0cOLo? z_i2JY^q4N;f&O-&91#tFcvEK-N?Z~*92UWB}dr#;dN&5Y_CP@NJ=?tzv$2H~8 z10szV*`(U*knnP*B<14zGh9>tJd)Hheu>D)+laPGk08T~XXW#ZuU=Zc07;xCppA4V z9!BGu^5;o(PRh&w|MveA1(Z3r-gdiui+rnmn|!+xK3Je=X~p}?wcf~`)?g&xuSs&G zlI}|GuqxW;0jKpVqq8rr>=x!c;iEblgvuv@eq(4$bO7U6m1)8#}}b&+wo$wuEdVr`E;pA1z6-wBi;; z+d-{;V!T-jKk6)!LRV52K%|yT;w{kv&I0!BII0)73i}ebJ&SpxDdnSN%AWYGi*3a% z$hMI8j&dtH!9g^Nmb=&+%_d56+=U(zf2rvT`^5#*3)spFq-#-XDw`#0rz(_4z-gUx z8?m&9x~qt~OZ!sM_C^L3>q=y~75{mW<@u52qm*!~gPj=0DLk`?MZuw~qPfdjKQJT3 z%C=rc)bu)+DDKYCm60MPT5DCJ=|A}v{g2m!=Bw_JS@L^B{~X zg^y1vn%}B4c84xeqIdM7No&8MCYgDY*tExio3@!9#y-6&f4C#x>%L2> zj(Xkgk6nbp;DduK5T49p4P9-|oqiCvCcFjALrH*oqIunYQ zh){_ZQ9?$E4$B#nPm`_Q!Zz8q#(OH;>uyPa_fqEn5}Ai0bJM&trcUn}3r3NS+<{Y8 zz1!CC68K&34$Z=S<2KyO;a-!iaRcuBT2?STdG_Nqqnd}#_G^JtdF*1FBt-zi-Tr9i z%ch<;Xsn2~tbHDpjT4pqk0=b;Kbxdc0b4vAJSXH@*;o{b%Qbg9Cvczh8@|Sol*8Q5rsc54z zeGP|Hx1!nepqD9H4*S_At4i?gO`!Nq~g8)FT z>9L7|_#F;G{5rszH~s~!zNS3C-r|GUvn$bD zi=uZoo8%@5@8oc+t{#y)c%}K6Pv+1}@^@l?R2tB_75Cc7yw|2<71EjdwxzDS-w+>%CQ%{RzuTVo2!5s6-N${q~L z#Ij(4^V9ZzqOJPBr!DZ}#06eff!8j=OOQ7OF{1FH1YV$V&u5Dby${rJKy^^GEEa?M zY|`=H}twK_iw=?}@oJMW0U2F^aYix~Pz8S3=f7S0s%Kv+5`)i483(6j73Q z&8Pq}eGKLt?G|TIDR5!lx%CQfvA$E zENBnXbncH@Ji!txq%ycgHt$o=1wmQM@`qc~kU{;ZaJL-I9jutU*~d_P0@_g}lKIAS zpnb6(Sa7=d5Fz2-XA3Vwd9U_aKszL_BgW&{PPMJIESJrD%FVsODcMr!zTlL3k{Uq% zhJnbGlB{)s18of%cpL7W7rHFmyErr=+#3qnKyu6CdBCmLZ)UN);JPd+mK|J|EyXOs zb@L?fjb*V&6sS};%GwtHf(>5xXG`s9-ZV%qhngdsyQppM?bS!z+c5!}kM`69&0tx0 z@?tlVwQu}D-F!5*m{&-|pbBS3bAw8Bwexx8Wj8_dRkWx0Loi$-sl%t>wWsDDcgLf5 zX-5SN!XkD>;_rwNhpD~x{-`|hq z0&uE$dQLn|5>G!6PvgW>op^#`MSM|>C(Jw9e#qP)PXXioznFh+csxG;1hk#S-9Bwb z9*xjT%C$SK)1sCvc_%A#4-JQgElu}nT``LsRiMIvLF9E{2Hn@#vfNzU((c!$qIq4~ z&?di@rbI0jBpbO6i9u3D8dU+Q+L)y{!}qW^Fptn{4?&?h1GBn^)h;D2E^SxSdoBS> z&{%+0Ln*&lBuV^z7QL^3)af8!%ChvHlb|$ZDPl8oxEhKi_oL3q%W}21#rub{sry3C zqCoU1C+Q|opcL&b0eA5O94;mz0^uA15Iw&&Kzi6W--C_$Ixj@#7-cc>EMdx`b$GRQ z_vvM$0j)W^baTjFcXB`|y~zrdPu5!$z0K?Htp21azpw)qfs0yGL~8Emr*$1F#(2yR zcxnJ)6sRp@{Mx@TbL#d#!wKVVS8bv`(qUHp#T0`TyOlMe3k7R& zLwq5-_+e6hJf)rBt;1#%;Bpp>vye@_AETKkyh#aQu7U%){&;nI&qkh+tlu9%J6cu$ z?aLNPvNcQv57vMC3ctUO^J&0Y$u`3>N9Tam-CpOt%Lc)i2KY*LBojdCHSu2;aP?{} z3S>YfB`;(LjoL?2zgDsrF5*zA&Y#e2j|?2N23}AB;DV5mu{N3UL7p++Kz1SXEhLdW z&sk}do7yxvA4Y@A9m>{QpkUxmJ&r!8atpX|ke4Mvj^H3SVpggDw&z<(QYR3>z{7-N zJ*EUA*m!~RVQwS?dl&nNZhL-!VqR?{mEetZvEA`3m8=D~Jr5Jrh$b(Y#K3Z~mw3@R zC91z3%OyA*5XBt>Lyb(lFfHsy~c^yYMhh6cTnZ0NE8rT{1az7^x`cpwSz9u6=U05L^Q zu8xG99;$K%UQ_2OYy*i&?R`=cT<9~8d;7AXeyt@)3WJ(W+9y!mTYW@X5OeRfg`XvA zn`yqUh^6yFfWsOz8=?LtZ76Gekl zZxWQ>U}W;_2!Xqp7zDn&EnKce9;JLC>8Wmt@!3vc4O~OwoVJ{9 zW0xmD_~N2bVRt8U&7oV*S~v}9s9k*@_@lW~sozkCR;3Ede)4i58+QCc^3ugJYUA>f zRC@YL%Bg6SSd@KK(&JqW6;w#fbTY@1>Nt5W(UKk@2MVy-$!cFqe~COFbAA|ye2)U z9gF4K)^67A1wTl~Fg+R!>-SWT#_uCF@C6@n#0KO3@ny)fUAJ3!p5CDQggQ6~2kUBX z|2d4FfkF7imMsA-D|V$14J6$Z#)`l_9r}BV10ECZJ|TBWH(J}O<~CjDkWN-7Q2VKOmx@j zQ27PB;jyQvt9p5tqN~uQ=&Bg+s?)ry(4BYiJbQxf(`sH&8%;hb>am|EoF3dM4q7Jl zz9j!l2LIfZ!at`&b2viaAMizbw1)GK&iUsA@eg=|X$Jp*&(4R`2A&5<9jhK%Gdu_f z`H$hnhI(Ld5Fa10!`w27eMY!(7pDU*9In(HZ5muf!$^J8 zx-j9e&lVCI16dY)=t^XCWMwYFC)EV*whfEnJ0YnGbwl~X6~!jDWKlX61>*Gx=%T6- z$iMom{2t0rl|Lp_AaX6BwrA<7Pi=r{tilp>_x^y{*nAsmEC{a0zH* zn#~F{ktQ?r5sV|~mz{C!iGD^~_h~nyJ5DkkSfPxf4QZy4b*^HGF;IM*FTkAixF%B7 z7|<jo!7F710(_x%L7+{D%mNWk4ow}AT)hx-sQ6-PY|8HGiI333811~=9rw9kW$ zEzr5)q}4VBr_@PHZzBPqcLw37gk(7AUP%?sGO_8rLa5Pu*g{?*XHacead)F0S!oT8 zfLlu2?$x$avmm;K8_TbEtA{%*gGiH(58DLKQvE<~ug6uIAYUgZpY}HUJC-!GnO4P| z)10B`9f`)6;)@!5WF%lE#+hu4vl1{ZITe101>ycft=!zgmft5v+p|dT%l{ZXw=GH; zZGWWEmWIK}=U!u6_aAT0vr6pvt{88GL^f5T?cr`x8g%2%t~Abv@j)Qa$FSQ5EegYq z#$3dlVBE9D-7)a(e>U#AljBavDEKn{TCcV*=qmy9d=binl139d+!DgdOCY5<^I z4hURlz+ycM&I`zp^D-^X6o6$hQZe@((BTH{VeM#*_L$YLsi5$!kddQqgk=Zp*iQiw z%OKEXoyEaU%QRXP*hmCSS-u7T80*gj8}5`k$QhaJ!!M&l3(K{hfc62aLKS{(vNPW5 zx5(Hm0d#NF2YoNs4Sw=#Z?bWCg@u?tRdCr>Bx@dPxn}ihQ_=jvV0rRKpeC$GI328( z(}JX0k?`Y@ueS)fio1hyi4`k}9u*q52XP7gQ4`p9I#m&N;qLm*f(0{W=HRd44k`4w2G zn;bjZK&*6{$aoPS;l<;b0=z}2;!Du$hu_e4vy!trLhL`7> zY-=H%PA(lI=A&t7wIRvBOSh3Rozuzq!OP6f=~lW6VsW-_i^TLzJVyM*1upnMSW=p7 zP^V~+dwK4%Q519laj~D<@m$t^L$_jjrlwAZ^8F^ThQwuStKzLSBx^#pC+Cb3W6l_b zIfEeAbI5!;`W1)VXWAfsCX(F6Atxsdk}L5xfFhVGFbZ}1OZ9LcP0!Vi0&#_dADaYU zW`O6joi{oyj(ANntl{{4G=O;B0q(@|Z^_JD)vmRYHem&CZsrOF8*vH)d=C072ZMNa zwghb#R}3AzLq~Hx;6LJ*4+zjr0F*&2gK?{XXQ;W0frsgCBqTT|!ME@s8hXL6QJQ$i zOMw|$CRhmkGXp>f!c~Ca)#f6h(`%Y9T9`7|dfm{1v|g?(e39touhWTlcrOpji1#w0 zG~kCH7$C-#O;a;|EmAryjXzZ3od z+ZrFKB*6&R`~7+s)+0JC%g?U2FTGtO64Q6Pn7((j&`Diy+%L#YaWv#x*#sx1ZB3>E z?IObM465NUYCwz?(cc)h;5ES$SRHNwXMo5a-QHdYIzS`I6qh=nE#c)> z2?k4B=rTnc1icfw^3*f2EXBPkG(-vaz!EDlLG>%#r0hJ2Af325%gd=5;xV5sZi|60l*nBb1BZYzjtlXQ>%VxIHa~B72pcryKW&MtTwc zqqTbrq0tYO4f!(^ymLj8XBN!11~gOSu8_kY^;VprwFQFd;xJuVYL*gaY2h|q{e)JB zbK&a1@`VRoG}{W60PW(sI|h_(?WuE*sSfxY3_%Dil<15!Vzp+lT0k2K!R*!{Bn=Ip zY*sAwbjQ+z?zYfCSdx4hjkLqV?f$6eOe{ADDrE*ED1ynvwwAAQ(b~>uc;_!Pp`T=g zNEv!QSp@-YkXPI1i_U~p*ozgAJAH+%GowRi7$h+Pk#L!nyOEQ6KBi?V>(w^NQ42Ws zB&^hB8F(uf?geonM6xKsTZje?mBBTB1Kg{3rBZmy77+L9IGL#Hw0+bsD0ByU#wfG0 zUzs>ho?lL7e;Jok9hPi|-iF^)83plAJQ_-8uh1kd>>e?Wv{SOSL&n0FwwFyddItUA zE$ob1t_ME;=+G7ZXl@z$$QUC%@6UsB`R{Rh@2faYBr_f7l%4UpX+PY4va9{t2z2mF_TV91Uk_Ni*WA?zPo~n1 zHKp2t!D*3EGoilv+%v4zyW>KludX*0XhF|ACG4NMvfE=-q4{FsvFY}wA5E9w-|~62 z?}FhLS&I*qEVeGY4)~I{87l{sZ~`{AXsmXuPul?hJ6_$&^%{_f9=?GJC7Tbq7h9`0 zQD^tjIl&9M{nQE}(1yX@xM9AqH(X6{m9n4ArOqV|!Fbj$+l!2e`PZdrrcRk##aMsf z>XuiVfr;l!G#m_MYj_@tNI*-|wifS#mRW!&zGUH`8{Pi;a%z~?t2%Z2I({Fj1_Jlp zEfAYj<^mk-xko`f$aC7kpb;R=kq|>SA5(XdD!Z0 zLde1-C$$wbX+Znj=ibJfn*+rQ%`J~C?Zy95Ut}o*a@%o#K(}|)rc1KBLp!QY(Cyvg z!Pc+`V1enwcTtv8rroB_Z`}HqFNFB4odHw}A=LuZvfI4uc3&(X4hD?IC-ljp2OKs@w zg#ab7;Sdz`0AfOsA%ugb*FM)(7C5$lzkD>$~MTAEc`&U&8 z9uW3sC6etcZi!6{PAQRUu9fS1pLyn);WaMk3tiKrmO4KB%i*3PpSeXYY(*Ga%_yI_ zRXD3L?H5T)H!21kte3Q76?#kjnc$XkxKsS=0ha!Tm%CeQN(uTbKvz0jNI)S7WCw($ zzpynx@XPzc|3@4i#BM+M-SG9A;LqI=?#)^@iX6M)-gI&nd%9x-@cT=8r1!s*Pqc!J zN7Y=cRNaC)t$#qMI zl{fCUHT(+TY-?JAWf9Aqo~Q9JxyANGH(d`b%@$D@7Ei2n@=&VeUA=C5y~{Uel^CoR2#5=TQd zs{c?ox3cWu)e@GGK9`)xf6JUS-X8Lt#|Bfz%wSokWzM%c;P@sYuIhbT77%#=*6^Qh+aQwYXLKY*gk`p)_M?tu_yNqEjKw6;^g^I&b~ef8(OUcMHAWdPDggPMy6 z0R-Le*&0cA0Wt`_?0E>chytahdqZdDdMPa1LGU3>h03D1_fecy8R_8jLId$TA!JqD zAi^G%L2dDC-GRb3|IS`E1gam8DA-Qaoj-ucBp>7EH30*aIE`YRlAqZD~d4sf?!groQa6g}bS;dcKD6 zB_Dq=x$vQLBdE6IN~|`AOKuDefaL&RvAeDMbFsPw8>x5~83_f!@ba`$^^#!8Y>PTF zIOQIxIwLsc5osAlqAc+h!F28pYHkxY3-NW`@y{BOK-bCA?O#=M1r2*ecsvRZfJ^9iGMv~49auCAaR0KJ?RCk6Z4Da%4ptEe zRM={3T8k&BmBqVg(a!0bGguw$nv)kw_agYn+Sp=i{0TC+<_uElp@F0pCFdcxwj-2P zw_=c_nxhrEf5FMXg3n{$Ek2H5rrQJBXT^v7tsk4~Rt$kJFvG7Qs#7x)Q)#&cz&w=0 zUVs-0RTjoZ)J^%eh6X4GpcC!E0KDQ8QY%#(1+Z>}9ks#gUTUp=6^?NC7qHT?MaBK? z%GG=*IZ~#1ER7ukzhO)lx0J|v>ZlUgp+`e=v9}v3z(}!p@s19$`170&DJ`NPae->LPn2pp0 z#Eb(ZoGj#IPK*^|8fC$9gjhkiW0z9{LZZ-)ta8nSmaqbpM+8|37@OFdb`AN%2d&sd z4-Be3YXhCs@%3p?;XE4`BOLz#R(>^3(RIHz9%j+E%s|SJeNuti987J7D-hGD2Wt zKs(}Z{lvikkieg&jd%lAa}mCcJ!Jrh{o@T3moRZn($09JLAdD>Eic!uvLvg%)2RAp zqh!y!KpXW^2kpavGHGYOn$^zB;Ps)u*hwHQx-spGj3Di3f7MY6r zF9DsX_EW0mnEJN%e$QB=ih$<9<~#I1+@9$F8{Eef?F=FP8K2$CVK5xf3$r z4FXGql+9nc&(s*efF8kH&<9>;zXt!wfcIO12eQT{xle;NLswt0RIO2JiBU>>k8jz# z2ahn7AWc(@dj(dW)zF)gdnUMujj!w(=6k1%MLG(#}Qog>u6m0UPH0YFKdrFA=q=t(IUvPldC01`6iJe zBOoB23}f{C1d?^wQF8@XHoMplF?D&Hu?wK-?!4xigPLv{)Lb^WY1-iCvLQ{=hCtjO zHx?@*le%=;cnXz5-=h9X1O&KJ*j99Yzy4psnrB~#KWf?CgkUOva2llUIe>N9qbzs? zEO4ZFzxy<8LH$Iq#UZ@QfB-2-3J@E>QIK9Ht~858?uN661g5RwO=2#@zhFNWX4F;i zM8*&g{Q%zujGer4cyjK%kdc6&L7-XdUO3SiCDZh-7(9r2i$E z?uC~z-;hzfuXx0~U;9FCW;|&Aq_4RP;T*-g*ze$uhOV03k%8F%p6f9=bYz&k&0Asq zyb9m_cGiRpo@RytYO+0f5uZFjLrhDE-TqqFX?+{&a}&irQTsu&BDM!}3a3Dkq77HT z^N?scY%n1ROC+0LkZQf?1GeK>@%k5$p zb3HLMU0E;>VZ<6OyzqI8_FQAyA`1~2CuJsfKL6}n~_uk-+Q5V?TF143bGowSRYKL9I3*$ZebA~OC=UK+?h(%X!{h)z#4Jk*=nHn{xI zwTS&Q_7cXYh&T)OnG3N0gQ`m6*>5h8n@{?+qrema6GC_mqx|4{V8>U=9{KN?5){$X$aLc$yaFd74%XGCH`aY%r?tBa{tHQ+OTT zzfHo2k({&6DVMS7M0?n3K1P9B*J|6i9KM%IYApOXmT55AOgAPQ1gUhf88S^aHueDJ ziA+EcS3g;OIWNp*^^$YR>W@zRUzXLopb5nLr=P!9gi(lYd7QGPbj#)3*W1O)IDYdn zm(0y;o<69lY*6#`!Jv8b^dU`UG?&0W*o{#_eE@^2r}J`vl z?|%ZZON!yUxHcYAAzKHsow%oA+)eNH(=2BrdL+%{o3}8O@P#ZC{BWiV4nnF zV($W3;Z(~$ag)#PiPyq%Pyy;A)Lrl-eFJ4BF(CWVx`KV~kJlT|lZsm<$E_og=X|>9 zNzpSg^h`OQo=H&B^bC7z64od}q<7NJ`shtAb~#7+rUEuv+~l+0fKB_mYU~WvL0)461$h{DO`kcb#pdNl?%DYja1GYB_d{+D7yOjeVkHrK+~J@ z+4ndLMCX8};0%VD1yq~^nu1~W@h9vNT5?W>RM9tc6l{$(G~}RH5#x&>Sc90Uw5Vdo zr^R{TT(qubn?8)w>741Dk6!HqBNcuv((~D_1g!~1|MUVjHnGP|_-#mh2t}WR-@FGX zbe540j}SSBxH##8w*}&nyJb7eCh@mWIy=j_AHTEABhtM*0sKI5L}&3i1*VBk`!ir-Y#2j(*^R{ymlu z^aepw=~2b*Bm@$C+n-)loFG$useRU`Jg4_}67)P*`2zMTqKORNPp%b1#x9}77Jd?r zPwT;g7T1)pxOH3(*OEetC0oqeP)LisuBAgl!+h?;6kfHBT><4prUi>pTxEsMv7Plm zQ}b#Eu;lvKa)mE$Ll@x+>tEicBLDN->w`u7RtT~g~IIDp4 zuMJQEVvzE)pf&GiYv^fApA5gISGn;FPvZ%lvLrddl3y_~HHZmfOmxr*xPI@M@!NPmIG8s8-uo z3ihY%b%Olo*=H+gy9wv42>NrIkJj`O^G5uT01CONKgftY7)%SnuVB~@alVJISof7I zx2mIX*w9@FQu9a3s^G{QF(nfl&SzG!BQC@q1VB=Um*`4AR}qCASQujm;o0eEaAMAr zOpyHr(M8~6WQ9g?#0yuvda1YRb)M{ZpAbIeLGPm3;PotAwRa;A5UGiFkL?B--yjls zwZqZH=J08A^>`>J-jZ6Yig3T_aEjw@B<}Kn-`xm};y%}%m58ZucY1B!LtghMwuWlp zg2CzGI8u;C7uw8bk_`?8KZaouSipSR*K+t9Q)r;ieI%46yWd@A@kW;-ase=6OG7tB zokz+wgn~!yQxT-*r&yu;Q4g#y3V!(??HFqRf-LdL_%I*`7 zj*XV-?xX4euXfC-+8r^4AdD#bll6c(0esTBlW+j74(`g#@SK3_$2j|vkvdYm|9;+w||2Q zLc`NT<`(zkETNA45N0xFF^n>JYqqg5AErqfQ=*2KfagcwuOkR^G2;;ZG!9ZTZ9>6UaB+b_FPo(&YKbGC^gocGr>(CHVak!XFq8Cy?%U)OWm*dx_`mKSNLtwcW$M+<~?WOTQD#UnJUS zMETttM1wulVEaxq*i0J_5D|c44p#Vq;bQWz*HJ7!4&}8bx%n#^jeIC#qi6BQp60(g z;arjes2lUyy)>WQ3$aJzn1EHVG)#*fUgvjA&7$%quk#*H6HRwbk2)7Q&8wXrz+|&X00tHSs9*ca*Z6U$h|a*1!y6#p$SaJjef`1%sgW@2GH^wH z6~`113POj$Z4o=Thqz%uJ8Tt@YLcKU!5W`D6;Cy$!pcs?CUy2x!(saI_pr9DozMqQa_e!sZOcWaV3g zjkV_bgT1sX09u1W3(V1rdu~T~c67D#02U@8@+d+D;SDz5p7O$-Si1#m6Gb*<)9z&+ zolWDnsCbvWj*GNu*N{|caPsvyxN;x~9R%IOp+jr{CWVVoW(Bh^t(@<`ivkO=Lq3Sd zg$t>MIe4Ix2_PW^Jj9?AQUIyYD~=&mj^guBTEcaq)yPprCoa_SO8&~lE8-bf;n5;l z5uf_k3Sg-{<*eXXiN<2f;rcB^eL8}(eglz(t42xN3*q;Oz8Iw2x8B6(;w+_;mO$aN zCf-S`cY{j{c$_tH4*LgM!H1DJP|*@BQ1@CL1~LwCDDL-t$?{U@mZ8^9|YcT z{CY*g>20JR*IuW$;K+}nrGwCiMc`n_<^m&D7Zqc|*v$UOK|l%@upm@2tdzuXu7drM zTdBu3vuVlX=^`1l_i*G0zdm-sM64uG&tP4V`{EGqfNgUJ7m@}_7L!gJnfG>j3aA0> z(QX8Z3ML_DqD;bi29A`0SWa*)NQaOfEY1|~S})51vD*Tm z?=1N>D~h3FI_s?U2o5i*C_>1^_2Q^AI{eIrn*T%`arN=fnd3LN&`9bKa z1fk2d56U$}vw@>~l+I3&UT4-4EK487nLE9vP%$}YXdDxz({QEm5Q>|64HpkKq#?Ws zV`jiiYDcdU?$y;Q#8g0m2;c;eHUL}|K7%t5FmgrnwzA7^q=S$`6D|nZ7nNbQ1BPyY zWrl!FPwXHxA|_)#hGHjk3ScRKbpc(M64D^aC~0`YhW}a5xgHy96=?8JNx2!a|)h(4Is{Q z{1{wBL(sO`7p@~Vqq+5`bl1ychQK=`u`G)+k1Whj>DO)2$!%m z)Zt#R*!+!#U~{os=oSDhSUXOexW8$h6KCTh=$>>^3@if3*ks;N*pGC^5V4eQckw!m z?r^aPB;qQb#8%=K4F@&=!kps!Vr%smf!@hz_#; zCYbm9RL$Cupz4|Se^1pPy9HG_{5WBG9SN!yZ%t6O0Jll1jz}ihaLcK>@T?W_RJ!3T zXlxh|^T)aAx+{?`VsQJ8lL9zh#bCzX3qDdtPfHBuD&77(o~BTEXo!YQxfnJl+JJxm zk$q>W7}*4d51coBeMa^TkmSjMQ-r7f11Ggz1#CnTZ_QuOqhqQ^1J7>5UgpZ9a}4#+ z@R#ybJC3#*6h3f9Y}6@*FBQ}K!!(oJP)sa9Vha)hN2`qI=ou10k4uD6ylHx>(Avx% z$0PtSaf$Giw@<_F17^vF-HxY}hV^aJvZ!rtqxL`z)9pV8#NuvutD$6(?~wf5 zaZSlY-o2Ap$KZ<3dafTuih^+9ICT4MD9hiY_n;j6(L?I&^7NNgC1 z+YAMMj1_(gCOgC#*3*1cg-`TtBGv7HLDv|B2xL;U7U2z8G#XmVrXa<=!nzdl87H4u zp%v9)>T8B6VH|03cK_@H>Vj=ru=&F{EuEH6x3h;Z!#3~X?83%C5#iHRswC~ND`kw2 z)9*j0&-k)F^jXpR@97hF2hyzKCujOmZ!>uTb$jbnC`fx+KT6Z>Z_sUT@#)sja&`N9 zJa{$cEk05V>OXGM-sh9?HkM1(m3|g_ocsY$iMVbgKQ=FalMx7GcM`v_h<>UD(1;dGpmY5dIoZOjH$UBh~YHjs8ijK|5DZ}X$Q zXo-Vs#oJgf>eTI{ffCh1KJ8KC)^KO;|x{aPq_#y%$=H`c_#=zC}qgGyCF8ZY!+wg3@w<%HmAJhE0{ab8l%dvNifOJOIzz{KRr&6> za3JAtU@$=CE+7TpkyP*mTaiSVq!%?HH4mKAYtMy`r zZz=?3Xr{juSKc!SP9BPV=JRX~?;$(xCfFMOg*%)Q;dLLdg+IW(8=Ywj)9yR+(WApx z7=?SBcqf|pGl)Fob3L|z&Yu8d!1J1`uvf-Weakbz53ZOc`e>$!qTWDgBooVB{7(VE z!F~$Y3g!wc0eSTAu~7uJh{;?t!>xl|hg&dj9S{;}mnG9i;1<#}78EHtl;W8P;ZFs> zg&snQevx>Xt0g?;BizDnFA@oFCKEP^1g^6cvDcFcukZvI%{1=LQZNifB6aR^u;zle z>^+yBQN+G?!E_Isal!OTHVlM2uO1U6n~wX!j4Wavt3UWNA|sh%=s|ShNj})APb%2A zhBK#@O@EEEBwq}uV6(F@)DC${H;TiYYuSqs66g^+%o*fdqR|1~o`w$f;`Ou*P`7_P znZ6)_q*}IIWZjSVtv%VEhHW0(n)htJcSY)4qmfg6X=&;}z%@nY>Nsp(`{(uy=hISAV$37M<9YD1c=NAC} z63SXjSqs?Lf5%h?oR`QLv-0tFQlxmo63`wnLYK$5h$>*WV{MXNz^#&~$So>TpN-8E z#2QbU7TtQ-rKE3gbRI+>@RtQ_AYOv0mx|m{GWXXsZ}HqWCUYOaOXT*6+`I5(!0t@s zrY}bruwTVXlD0OM5AQRv0{Oi#z1i5G$sJw4f%q!!>mq(n9SargdstUFFRx;)_wLIs zG*(=!`pAXK7vhexN4MwaJmSjY_(6wD5QTqP6S&RyR7u_{~Ij@^Bw?M<1u zAUk&B#p5R`QpOAvv@h6S!9L=kUZTYJM912|cdNwhQ@l$%)wGz*PbuJwzr;Xu*C0RabyFCum8}<9ZL8sbpd3D^eV)?yLus)L1kBR0pv1;(JiW%Tpy3S_LN(=LC6&$v zY?$-HbUY6EFX*7j4vbnT|5wtkucFYUw9^U)B#&1|(ylM;%wArUrrLtxN7BZtR(>=g zKd931n}$nB>A(jjXbZ`|u$T*rkQ}EpsuGUVgvL)$=OVU_gL0+25TS+8A zzoPH�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 egNQz<9?qywf;34K?%Fb*(J{;5{t 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 z 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 NUL: copy "%%~pM%%~nM.lua" l10n\DEFAULT\*.* > NUL: rem dir l10n\DEFAULT - 7z -bb0 u "%%M" "l10n\DEFAULT\*.lua" > NUL: + "%~dp0..\..\Utils\7-Zip\7z" -bb0 u "%%M" "l10n\DEFAULT\*.lua" > NUL: cd .. rmdir /S /Q Temp ) \ No newline at end of file diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index 132185bbf..d3784431a 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,74 +1,35878 @@ -env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20170401_1103' ) +env.info( '*** MOOSE STATIC INCLUDE START *** ' ) +env.info( 'Moose Generation Timestamp: 20170402_1214' ) -local base = _G +--- Various routines +-- @module routines +-- @author Flightcontrol -__Moose = {} +env.setErrorMessageBoxEnabled(false) -__Moose.Include = function( IncludeFile ) - if not __Moose.Includes[ IncludeFile ] then - __Moose.Includes[IncludeFile] = IncludeFile - local f = assert( base.loadfile( __Moose.ProgramPath .. IncludeFile ) ) - if f == nil then - error ("Moose: Could not load Moose file " .. IncludeFile ) +--- Extract of MIST functions. +-- @author Grimes + +routines = {} + + +-- don't change these +routines.majorVersion = 3 +routines.minorVersion = 3 +routines.build = 22 + +----------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------- +-- Utils- conversion, Lua utils, etc. +routines.utils = {} + +--from http://lua-users.org/wiki/CopyTable +routines.utils.deepCopy = function(object) + local lookup_table = {} + local function _copy(object) + if type(object) ~= "table" then + return object + elseif lookup_table[object] then + return lookup_table[object] + end + local new_table = {} + lookup_table[object] = new_table + for index, value in pairs(object) do + new_table[_copy(index)] = _copy(value) + end + return setmetatable(new_table, getmetatable(object)) + end + local objectreturn = _copy(object) + return objectreturn +end + + +-- porting in Slmod's serialize_slmod2 +routines.utils.oneLineSerialize = function(tbl) -- serialization of a table all on a single line, no comments, made to replace old get_table_string function + + lookup_table = {} + + local function _Serialize( tbl ) + + if type(tbl) == 'table' then --function only works for tables! + + if lookup_table[tbl] then + return lookup_table[object] + end + + local tbl_str = {} + + lookup_table[tbl] = tbl_str + + tbl_str[#tbl_str + 1] = '{' + + for ind,val in pairs(tbl) do -- serialize its fields + local ind_str = {} + if type(ind) == "number" then + ind_str[#ind_str + 1] = '[' + ind_str[#ind_str + 1] = tostring(ind) + ind_str[#ind_str + 1] = ']=' + else --must be a string + ind_str[#ind_str + 1] = '[' + ind_str[#ind_str + 1] = routines.utils.basicSerialize(ind) + ind_str[#ind_str + 1] = ']=' + end + + local val_str = {} + if ((type(val) == 'number') or (type(val) == 'boolean')) then + val_str[#val_str + 1] = tostring(val) + val_str[#val_str + 1] = ',' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'string' then + val_str[#val_str + 1] = routines.utils.basicSerialize(val) + val_str[#val_str + 1] = ',' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'nil' then -- won't ever happen, right? + val_str[#val_str + 1] = 'nil,' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'table' then + if ind == "__index" then + -- tbl_str[#tbl_str + 1] = "__index" + -- tbl_str[#tbl_str + 1] = ',' --I think this is right, I just added it + else + + val_str[#val_str + 1] = _Serialize(val) + val_str[#val_str + 1] = ',' --I think this is right, I just added it + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + end + elseif type(val) == 'function' then + -- tbl_str[#tbl_str + 1] = "function " .. tostring(ind) + -- tbl_str[#tbl_str + 1] = ',' --I think this is right, I just added it + else +-- env.info('unable to serialize value type ' .. routines.utils.basicSerialize(type(val)) .. ' at index ' .. tostring(ind)) +-- env.info( debug.traceback() ) + end + + end + tbl_str[#tbl_str + 1] = '}' + return table.concat(tbl_str) else - env.info( "Moose: " .. IncludeFile .. " dynamically loaded from " .. __Moose.ProgramPath ) - return f() + return tostring(tbl) + end + end + + local objectreturn = _Serialize(tbl) + return objectreturn +end + +--porting in Slmod's "safestring" basic serialize +routines.utils.basicSerialize = function(s) + if s == nil then + return "\"\"" + else + if ((type(s) == 'number') or (type(s) == 'boolean') or (type(s) == 'function') or (type(s) == 'table') or (type(s) == 'userdata') ) then + return tostring(s) + elseif type(s) == 'string' then + s = string.format('%q', s) + return s end end end -__Moose.ProgramPath = "Scripts/Moose/" -__Moose.Includes = {} -__Moose.Include( 'Utilities/Routines.lua' ) -__Moose.Include( 'Utilities/Utils.lua' ) -__Moose.Include( 'Core/Base.lua' ) -__Moose.Include( 'Core/Scheduler.lua' ) -__Moose.Include( 'Core/ScheduleDispatcher.lua' ) -__Moose.Include( 'Core/Event.lua' ) -__Moose.Include( 'Core/Menu.lua' ) -__Moose.Include( 'Core/Zone.lua' ) -__Moose.Include( 'Core/Database.lua' ) -__Moose.Include( 'Core/Set.lua' ) -__Moose.Include( 'Core/Point.lua' ) -__Moose.Include( 'Core/Message.lua' ) -__Moose.Include( 'Core/Fsm.lua' ) -__Moose.Include( 'Core/Radio.lua' ) -__Moose.Include( 'Wrapper/Object.lua' ) -__Moose.Include( 'Wrapper/Identifiable.lua' ) -__Moose.Include( 'Wrapper/Positionable.lua' ) -__Moose.Include( 'Wrapper/Controllable.lua' ) -__Moose.Include( 'Wrapper/Group.lua' ) -__Moose.Include( 'Wrapper/Unit.lua' ) -__Moose.Include( 'Wrapper/Client.lua' ) -__Moose.Include( 'Wrapper/Static.lua' ) -__Moose.Include( 'Wrapper/Airbase.lua' ) -__Moose.Include( 'Wrapper/Scenery.lua' ) -__Moose.Include( 'Functional/Scoring.lua' ) -__Moose.Include( 'Functional/CleanUp.lua' ) -__Moose.Include( 'Functional/Spawn.lua' ) -__Moose.Include( 'Functional/Movement.lua' ) -__Moose.Include( 'Functional/Sead.lua' ) -__Moose.Include( 'Functional/Escort.lua' ) -__Moose.Include( 'Functional/MissileTrainer.lua' ) -__Moose.Include( 'Functional/AirbasePolice.lua' ) -__Moose.Include( 'Functional/Detection.lua' ) -__Moose.Include( 'AI/AI_Balancer.lua' ) -__Moose.Include( 'AI/AI_Patrol.lua' ) -__Moose.Include( 'AI/AI_Cap.lua' ) -__Moose.Include( 'AI/AI_Cas.lua' ) -__Moose.Include( 'AI/AI_Cargo.lua' ) -__Moose.Include( 'Actions/Act_Assign.lua' ) -__Moose.Include( 'Actions/Act_Route.lua' ) -__Moose.Include( 'Actions/Act_Account.lua' ) -__Moose.Include( 'Actions/Act_Assist.lua' ) -__Moose.Include( 'Tasking/CommandCenter.lua' ) -__Moose.Include( 'Tasking/Mission.lua' ) -__Moose.Include( 'Tasking/Task.lua' ) -__Moose.Include( 'Tasking/DetectionManager.lua' ) -__Moose.Include( 'Tasking/Task_A2G_Dispatcher.lua' ) -__Moose.Include( 'Tasking/Task_A2G.lua' ) -__Moose.Include( 'Moose.lua' ) -BASE:TraceOnOff( true ) +routines.utils.toDegree = function(angle) + return angle*180/math.pi +end + +routines.utils.toRadian = function(angle) + return angle*math.pi/180 +end + +routines.utils.metersToNM = function(meters) + return meters/1852 +end + +routines.utils.metersToFeet = function(meters) + return meters/0.3048 +end + +routines.utils.NMToMeters = function(NM) + return NM*1852 +end + +routines.utils.feetToMeters = function(feet) + return feet*0.3048 +end + +routines.utils.mpsToKnots = function(mps) + return mps*3600/1852 +end + +routines.utils.mpsToKmph = function(mps) + return mps*3.6 +end + +routines.utils.knotsToMps = function(knots) + return knots*1852/3600 +end + +routines.utils.kmphToMps = function(kmph) + return kmph/3.6 +end + +function routines.utils.makeVec2(Vec3) + if Vec3.z then + return {x = Vec3.x, y = Vec3.z} + else + return {x = Vec3.x, y = Vec3.y} -- it was actually already vec2. + end +end + +function routines.utils.makeVec3(Vec2, y) + if not Vec2.z then + if not y then + y = 0 + end + return {x = Vec2.x, y = y, z = Vec2.y} + else + return {x = Vec2.x, y = Vec2.y, z = Vec2.z} -- it was already Vec3, actually. + end +end + +function routines.utils.makeVec3GL(Vec2, offset) + local adj = offset or 0 + + if not Vec2.z then + return {x = Vec2.x, y = (land.getHeight(Vec2) + adj), z = Vec2.y} + else + return {x = Vec2.x, y = (land.getHeight({x = Vec2.x, y = Vec2.z}) + adj), z = Vec2.z} + end +end + +routines.utils.zoneToVec3 = function(zone) + local new = {} + if type(zone) == 'table' and zone.point then + new.x = zone.point.x + new.y = zone.point.y + new.z = zone.point.z + return new + elseif type(zone) == 'string' then + zone = trigger.misc.getZone(zone) + if zone then + new.x = zone.point.x + new.y = zone.point.y + new.z = zone.point.z + return new + end + end +end + +-- gets heading-error corrected direction from point along vector vec. +function routines.utils.getDir(vec, point) + local dir = math.atan2(vec.z, vec.x) + dir = dir + routines.getNorthCorrection(point) + if dir < 0 then + dir = dir + 2*math.pi -- put dir in range of 0 to 2*pi + end + return dir +end + +-- gets distance in meters between two points (2 dimensional) +function routines.utils.get2DDist(point1, point2) + point1 = routines.utils.makeVec3(point1) + point2 = routines.utils.makeVec3(point2) + return routines.vec.mag({x = point1.x - point2.x, y = 0, z = point1.z - point2.z}) +end + +-- gets distance in meters between two points (3 dimensional) +function routines.utils.get3DDist(point1, point2) + return routines.vec.mag({x = point1.x - point2.x, y = point1.y - point2.y, z = point1.z - point2.z}) +end + + + + + +--3D Vector manipulation +routines.vec = {} + +routines.vec.add = function(vec1, vec2) + return {x = vec1.x + vec2.x, y = vec1.y + vec2.y, z = vec1.z + vec2.z} +end + +routines.vec.sub = function(vec1, vec2) + return {x = vec1.x - vec2.x, y = vec1.y - vec2.y, z = vec1.z - vec2.z} +end + +routines.vec.scalarMult = function(vec, mult) + return {x = vec.x*mult, y = vec.y*mult, z = vec.z*mult} +end + +routines.vec.scalar_mult = routines.vec.scalarMult + +routines.vec.dp = function(vec1, vec2) + return vec1.x*vec2.x + vec1.y*vec2.y + vec1.z*vec2.z +end + +routines.vec.cp = function(vec1, vec2) + return { x = vec1.y*vec2.z - vec1.z*vec2.y, y = vec1.z*vec2.x - vec1.x*vec2.z, z = vec1.x*vec2.y - vec1.y*vec2.x} +end + +routines.vec.mag = function(vec) + return (vec.x^2 + vec.y^2 + vec.z^2)^0.5 +end + +routines.vec.getUnitVec = function(vec) + local mag = routines.vec.mag(vec) + return { x = vec.x/mag, y = vec.y/mag, z = vec.z/mag } +end + +routines.vec.rotateVec2 = function(vec2, theta) + return { x = vec2.x*math.cos(theta) - vec2.y*math.sin(theta), y = vec2.x*math.sin(theta) + vec2.y*math.cos(theta)} +end +--------------------------------------------------------------------------------------------------------------------------- + + + + +-- acc- the accuracy of each easting/northing. 0, 1, 2, 3, 4, or 5. +routines.tostringMGRS = function(MGRS, acc) + if acc == 0 then + return MGRS.UTMZone .. ' ' .. MGRS.MGRSDigraph + else + return MGRS.UTMZone .. ' ' .. MGRS.MGRSDigraph .. ' ' .. string.format('%0' .. acc .. 'd', routines.utils.round(MGRS.Easting/(10^(5-acc)), 0)) + .. ' ' .. string.format('%0' .. acc .. 'd', routines.utils.round(MGRS.Northing/(10^(5-acc)), 0)) + end +end + +--[[acc: +in DM: decimal point of minutes. +In DMS: decimal point of seconds. +position after the decimal of the least significant digit: +So: +42.32 - acc of 2. +]] +routines.tostringLL = function(lat, lon, acc, DMS) + + local latHemi, lonHemi + if lat > 0 then + latHemi = 'N' + else + latHemi = 'S' + end + + if lon > 0 then + lonHemi = 'E' + else + lonHemi = 'W' + end + + lat = math.abs(lat) + lon = math.abs(lon) + + local latDeg = math.floor(lat) + local latMin = (lat - latDeg)*60 + + local lonDeg = math.floor(lon) + local lonMin = (lon - lonDeg)*60 + + if DMS then -- degrees, minutes, and seconds. + local oldLatMin = latMin + latMin = math.floor(latMin) + local latSec = routines.utils.round((oldLatMin - latMin)*60, acc) + + local oldLonMin = lonMin + lonMin = math.floor(lonMin) + local lonSec = routines.utils.round((oldLonMin - lonMin)*60, acc) + + if latSec == 60 then + latSec = 0 + latMin = latMin + 1 + end + + if lonSec == 60 then + lonSec = 0 + lonMin = lonMin + 1 + end + + local secFrmtStr -- create the formatting string for the seconds place + if acc <= 0 then -- no decimal place. + secFrmtStr = '%02d' + else + local width = 3 + acc -- 01.310 - that's a width of 6, for example. + secFrmtStr = '%0' .. width .. '.' .. acc .. 'f' + end + + return string.format('%02d', latDeg) .. ' ' .. string.format('%02d', latMin) .. '\' ' .. string.format(secFrmtStr, latSec) .. '"' .. latHemi .. ' ' + .. string.format('%02d', lonDeg) .. ' ' .. string.format('%02d', lonMin) .. '\' ' .. string.format(secFrmtStr, lonSec) .. '"' .. lonHemi + + else -- degrees, decimal minutes. + latMin = routines.utils.round(latMin, acc) + lonMin = routines.utils.round(lonMin, acc) + + if latMin == 60 then + latMin = 0 + latDeg = latDeg + 1 + end + + if lonMin == 60 then + lonMin = 0 + lonDeg = lonDeg + 1 + end + + local minFrmtStr -- create the formatting string for the minutes place + if acc <= 0 then -- no decimal place. + minFrmtStr = '%02d' + else + local width = 3 + acc -- 01.310 - that's a width of 6, for example. + minFrmtStr = '%0' .. width .. '.' .. acc .. 'f' + end + + return string.format('%02d', latDeg) .. ' ' .. string.format(minFrmtStr, latMin) .. '\'' .. latHemi .. ' ' + .. string.format('%02d', lonDeg) .. ' ' .. string.format(minFrmtStr, lonMin) .. '\'' .. lonHemi + + end +end + +--[[ required: az - radian + required: dist - meters + optional: alt - meters (set to false or nil if you don't want to use it). + optional: metric - set true to get dist and alt in km and m. + precision will always be nearest degree and NM or km.]] +routines.tostringBR = function(az, dist, alt, metric) + az = routines.utils.round(routines.utils.toDegree(az), 0) + + if metric then + dist = routines.utils.round(dist/1000, 2) + else + dist = routines.utils.round(routines.utils.metersToNM(dist), 2) + end + + local s = string.format('%03d', az) .. ' for ' .. dist + + if alt then + if metric then + s = s .. ' at ' .. routines.utils.round(alt, 0) + else + s = s .. ' at ' .. routines.utils.round(routines.utils.metersToFeet(alt), 0) + end + end + return s +end + +routines.getNorthCorrection = function(point) --gets the correction needed for true north + if not point.z then --Vec2; convert to Vec3 + point.z = point.y + point.y = 0 + end + local lat, lon = coord.LOtoLL(point) + local north_posit = coord.LLtoLO(lat + 1, lon) + return math.atan2(north_posit.z - point.z, north_posit.x - point.x) +end + + +do + local idNum = 0 + + --Simplified event handler + routines.addEventHandler = function(f) --id is optional! + local handler = {} + idNum = idNum + 1 + handler.id = idNum + handler.f = f + handler.onEvent = function(self, event) + self.f(event) + end + world.addEventHandler(handler) + end + + routines.removeEventHandler = function(id) + for key, handler in pairs(world.eventHandlers) do + if handler.id and handler.id == id then + world.eventHandlers[key] = nil + return true + end + end + return false + end +end + +-- need to return a Vec3 or Vec2? +function routines.getRandPointInCircle(point, radius, innerRadius) + local theta = 2*math.pi*math.random() + local rad = math.random() + math.random() + if rad > 1 then + rad = 2 - rad + end + + local radMult + if innerRadius and innerRadius <= radius then + radMult = (radius - innerRadius)*rad + innerRadius + else + radMult = radius*rad + end + + if not point.z then --might as well work with vec2/3 + point.z = point.y + end + + local rndCoord + if radius > 0 then + rndCoord = {x = math.cos(theta)*radMult + point.x, y = math.sin(theta)*radMult + point.z} + else + rndCoord = {x = point.x, y = point.z} + end + return rndCoord +end + +routines.goRoute = function(group, path) + local misTask = { + id = 'Mission', + params = { + route = { + points = routines.utils.deepCopy(path), + }, + }, + } + if type(group) == 'string' then + group = Group.getByName(group) + end + local groupCon = group:getController() + if groupCon then + groupCon:setTask(misTask) + return true + end + + Controller.setTask(groupCon, misTask) + return false +end + + +-- Useful atomic functions from mist, ported. + +routines.ground = {} +routines.fixedWing = {} +routines.heli = {} + +routines.ground.buildWP = function(point, overRideForm, overRideSpeed) + + local wp = {} + wp.x = point.x + + if point.z then + wp.y = point.z + else + wp.y = point.y + end + local form, speed + + if point.speed and not overRideSpeed then + wp.speed = point.speed + elseif type(overRideSpeed) == 'number' then + wp.speed = overRideSpeed + else + wp.speed = routines.utils.kmphToMps(20) + end + + if point.form and not overRideForm then + form = point.form + else + form = overRideForm + end + + if not form then + wp.action = 'Cone' + else + form = string.lower(form) + if form == 'off_road' or form == 'off road' then + wp.action = 'Off Road' + elseif form == 'on_road' or form == 'on road' then + wp.action = 'On Road' + elseif form == 'rank' or form == 'line_abrest' or form == 'line abrest' or form == 'lineabrest'then + wp.action = 'Rank' + elseif form == 'cone' then + wp.action = 'Cone' + elseif form == 'diamond' then + wp.action = 'Diamond' + elseif form == 'vee' then + wp.action = 'Vee' + elseif form == 'echelon_left' or form == 'echelon left' or form == 'echelonl' then + wp.action = 'EchelonL' + elseif form == 'echelon_right' or form == 'echelon right' or form == 'echelonr' then + wp.action = 'EchelonR' + else + wp.action = 'Cone' -- if nothing matched + end + end + + wp.type = 'Turning Point' + + return wp + +end + +routines.fixedWing.buildWP = function(point, WPtype, speed, alt, altType) + + local wp = {} + wp.x = point.x + + if point.z then + wp.y = point.z + else + wp.y = point.y + end + + if alt and type(alt) == 'number' then + wp.alt = alt + else + wp.alt = 2000 + end + + if altType then + altType = string.lower(altType) + if altType == 'radio' or 'agl' then + wp.alt_type = 'RADIO' + elseif altType == 'baro' or 'asl' then + wp.alt_type = 'BARO' + end + else + wp.alt_type = 'RADIO' + end + + if point.speed then + speed = point.speed + end + + if point.type then + WPtype = point.type + end + + if not speed then + wp.speed = routines.utils.kmphToMps(500) + else + wp.speed = speed + end + + if not WPtype then + wp.action = 'Turning Point' + else + WPtype = string.lower(WPtype) + if WPtype == 'flyover' or WPtype == 'fly over' or WPtype == 'fly_over' then + wp.action = 'Fly Over Point' + elseif WPtype == 'turningpoint' or WPtype == 'turning point' or WPtype == 'turning_point' then + wp.action = 'Turning Point' + else + wp.action = 'Turning Point' + end + end + + wp.type = 'Turning Point' + return wp +end + +routines.heli.buildWP = function(point, WPtype, speed, alt, altType) + + local wp = {} + wp.x = point.x + + if point.z then + wp.y = point.z + else + wp.y = point.y + end + + if alt and type(alt) == 'number' then + wp.alt = alt + else + wp.alt = 500 + end + + if altType then + altType = string.lower(altType) + if altType == 'radio' or 'agl' then + wp.alt_type = 'RADIO' + elseif altType == 'baro' or 'asl' then + wp.alt_type = 'BARO' + end + else + wp.alt_type = 'RADIO' + end + + if point.speed then + speed = point.speed + end + + if point.type then + WPtype = point.type + end + + if not speed then + wp.speed = routines.utils.kmphToMps(200) + else + wp.speed = speed + end + + if not WPtype then + wp.action = 'Turning Point' + else + WPtype = string.lower(WPtype) + if WPtype == 'flyover' or WPtype == 'fly over' or WPtype == 'fly_over' then + wp.action = 'Fly Over Point' + elseif WPtype == 'turningpoint' or WPtype == 'turning point' or WPtype == 'turning_point' then + wp.action = 'Turning Point' + else + wp.action = 'Turning Point' + end + end + + wp.type = 'Turning Point' + return wp +end + +routines.groupToRandomPoint = function(vars) + local group = vars.group --Required + local point = vars.point --required + local radius = vars.radius or 0 + local innerRadius = vars.innerRadius + local form = vars.form or 'Cone' + local heading = vars.heading or math.random()*2*math.pi + local headingDegrees = vars.headingDegrees + local speed = vars.speed or routines.utils.kmphToMps(20) + + + local useRoads + if not vars.disableRoads then + useRoads = true + else + useRoads = false + end + + local path = {} + + if headingDegrees then + heading = headingDegrees*math.pi/180 + end + + if heading >= 2*math.pi then + heading = heading - 2*math.pi + end + + local rndCoord = routines.getRandPointInCircle(point, radius, innerRadius) + + local offset = {} + local posStart = routines.getLeadPos(group) + + offset.x = routines.utils.round(math.sin(heading - (math.pi/2)) * 50 + rndCoord.x, 3) + offset.z = routines.utils.round(math.cos(heading + (math.pi/2)) * 50 + rndCoord.y, 3) + path[#path + 1] = routines.ground.buildWP(posStart, form, speed) + + + if useRoads == true and ((point.x - posStart.x)^2 + (point.z - posStart.z)^2)^0.5 > radius * 1.3 then + path[#path + 1] = routines.ground.buildWP({['x'] = posStart.x + 11, ['z'] = posStart.z + 11}, 'off_road', speed) + path[#path + 1] = routines.ground.buildWP(posStart, 'on_road', speed) + path[#path + 1] = routines.ground.buildWP(offset, 'on_road', speed) + else + path[#path + 1] = routines.ground.buildWP({['x'] = posStart.x + 25, ['z'] = posStart.z + 25}, form, speed) + end + + path[#path + 1] = routines.ground.buildWP(offset, form, speed) + path[#path + 1] = routines.ground.buildWP(rndCoord, form, speed) + + routines.goRoute(group, path) + + return +end + +routines.groupRandomDistSelf = function(gpData, dist, form, heading, speed) + local pos = routines.getLeadPos(gpData) + local fakeZone = {} + fakeZone.radius = dist or math.random(300, 1000) + fakeZone.point = {x = pos.x, y, pos.y, z = pos.z} + routines.groupToRandomZone(gpData, fakeZone, form, heading, speed) + + return +end + +routines.groupToRandomZone = function(gpData, zone, form, heading, speed) + if type(gpData) == 'string' then + gpData = Group.getByName(gpData) + end + + if type(zone) == 'string' then + zone = trigger.misc.getZone(zone) + elseif type(zone) == 'table' and not zone.radius then + zone = trigger.misc.getZone(zone[math.random(1, #zone)]) + end + + if speed then + speed = routines.utils.kmphToMps(speed) + end + + local vars = {} + vars.group = gpData + vars.radius = zone.radius + vars.form = form + vars.headingDegrees = heading + vars.speed = speed + vars.point = routines.utils.zoneToVec3(zone) + + routines.groupToRandomPoint(vars) + + return +end + +routines.isTerrainValid = function(coord, terrainTypes) -- vec2/3 and enum or table of acceptable terrain types + if coord.z then + coord.y = coord.z + end + local typeConverted = {} + + if type(terrainTypes) == 'string' then -- if its a string it does this check + for constId, constData in pairs(land.SurfaceType) do + if string.lower(constId) == string.lower(terrainTypes) or string.lower(constData) == string.lower(terrainTypes) then + table.insert(typeConverted, constId) + end + end + elseif type(terrainTypes) == 'table' then -- if its a table it does this check + for typeId, typeData in pairs(terrainTypes) do + for constId, constData in pairs(land.SurfaceType) do + if string.lower(constId) == string.lower(typeData) or string.lower(constData) == string.lower(typeId) then + table.insert(typeConverted, constId) + end + end + end + end + for validIndex, validData in pairs(typeConverted) do + if land.getSurfaceType(coord) == land.SurfaceType[validData] then + return true + end + end + return false +end + +routines.groupToPoint = function(gpData, point, form, heading, speed, useRoads) + if type(point) == 'string' then + point = trigger.misc.getZone(point) + end + if speed then + speed = routines.utils.kmphToMps(speed) + end + + local vars = {} + vars.group = gpData + vars.form = form + vars.headingDegrees = heading + vars.speed = speed + vars.disableRoads = useRoads + vars.point = routines.utils.zoneToVec3(point) + routines.groupToRandomPoint(vars) + + return +end + + +routines.getLeadPos = function(group) + if type(group) == 'string' then -- group name + group = Group.getByName(group) + end + + local units = group:getUnits() + + local leader = units[1] + if not leader then -- SHOULD be good, but if there is a bug, this code future-proofs it then. + local lowestInd = math.huge + for ind, unit in pairs(units) do + if ind < lowestInd then + lowestInd = ind + leader = unit + end + end + end + if leader and Unit.isExist(leader) then -- maybe a little too paranoid now... + return leader:getPosition().p + end +end + +--[[ vars for routines.getMGRSString: +vars.units - table of unit names (NOT unitNameTable- maybe this should change). +vars.acc - integer between 0 and 5, inclusive +]] +routines.getMGRSString = function(vars) + local units = vars.units + local acc = vars.acc or 5 + local avgPos = routines.getAvgPos(units) + if avgPos then + return routines.tostringMGRS(coord.LLtoMGRS(coord.LOtoLL(avgPos)), acc) + end +end + +--[[ vars for routines.getLLString +vars.units - table of unit names (NOT unitNameTable- maybe this should change). +vars.acc - integer, number of numbers after decimal place +vars.DMS - if true, output in degrees, minutes, seconds. Otherwise, output in degrees, minutes. + + +]] +routines.getLLString = function(vars) + local units = vars.units + local acc = vars.acc or 3 + local DMS = vars.DMS + local avgPos = routines.getAvgPos(units) + if avgPos then + local lat, lon = coord.LOtoLL(avgPos) + return routines.tostringLL(lat, lon, acc, DMS) + end +end + +--[[ +vars.zone - table of a zone name. +vars.ref - vec3 ref point, maybe overload for vec2 as well? +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +]] +routines.getBRStringZone = function(vars) + local zone = trigger.misc.getZone( vars.zone ) + local ref = routines.utils.makeVec3(vars.ref, 0) -- turn it into Vec3 if it is not already. + local alt = vars.alt + local metric = vars.metric + if zone then + local vec = {x = zone.point.x - ref.x, y = zone.point.y - ref.y, z = zone.point.z - ref.z} + local dir = routines.utils.getDir(vec, ref) + local dist = routines.utils.get2DDist(zone.point, ref) + if alt then + alt = zone.y + end + return routines.tostringBR(dir, dist, alt, metric) + else + env.info( 'routines.getBRStringZone: error: zone is nil' ) + end +end + +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - vec3 ref point, maybe overload for vec2 as well? +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +]] +routines.getBRString = function(vars) + local units = vars.units + local ref = routines.utils.makeVec3(vars.ref, 0) -- turn it into Vec3 if it is not already. + local alt = vars.alt + local metric = vars.metric + local avgPos = routines.getAvgPos(units) + if avgPos then + local vec = {x = avgPos.x - ref.x, y = avgPos.y - ref.y, z = avgPos.z - ref.z} + local dir = routines.utils.getDir(vec, ref) + local dist = routines.utils.get2DDist(avgPos, ref) + if alt then + alt = avgPos.y + end + return routines.tostringBR(dir, dist, alt, metric) + end +end + + +-- Returns the Vec3 coordinates of the average position of the concentration of units most in the heading direction. +--[[ vars for routines.getLeadingPos: +vars.units - table of unit names +vars.heading - direction +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +]] +routines.getLeadingPos = function(vars) + local units = vars.units + local heading = vars.heading + local radius = vars.radius + if vars.headingDegrees then + heading = routines.utils.toRadian(vars.headingDegrees) + end + + local unitPosTbl = {} + for i = 1, #units do + local unit = Unit.getByName(units[i]) + if unit and unit:isExist() then + unitPosTbl[#unitPosTbl + 1] = unit:getPosition().p + end + end + if #unitPosTbl > 0 then -- one more more units found. + -- first, find the unit most in the heading direction + local maxPos = -math.huge + + local maxPosInd -- maxPos - the furthest in direction defined by heading; maxPosInd = + for i = 1, #unitPosTbl do + local rotatedVec2 = routines.vec.rotateVec2(routines.utils.makeVec2(unitPosTbl[i]), heading) + if (not maxPos) or maxPos < rotatedVec2.x then + maxPos = rotatedVec2.x + maxPosInd = i + end + end + + --now, get all the units around this unit... + local avgPos + if radius then + local maxUnitPos = unitPosTbl[maxPosInd] + local avgx, avgy, avgz, totNum = 0, 0, 0, 0 + for i = 1, #unitPosTbl do + if routines.utils.get2DDist(maxUnitPos, unitPosTbl[i]) <= radius then + avgx = avgx + unitPosTbl[i].x + avgy = avgy + unitPosTbl[i].y + avgz = avgz + unitPosTbl[i].z + totNum = totNum + 1 + end + end + avgPos = { x = avgx/totNum, y = avgy/totNum, z = avgz/totNum} + else + avgPos = unitPosTbl[maxPosInd] + end + + return avgPos + end +end + + +--[[ vars for routines.getLeadingMGRSString: +vars.units - table of unit names +vars.heading - direction +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +vars.acc - number, 0 to 5. +]] +routines.getLeadingMGRSString = function(vars) + local pos = routines.getLeadingPos(vars) + if pos then + local acc = vars.acc or 5 + return routines.tostringMGRS(coord.LLtoMGRS(coord.LOtoLL(pos)), acc) + end +end + +--[[ vars for routines.getLeadingLLString: +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +vars.acc - number of digits after decimal point (can be negative) +vars.DMS - boolean, true if you want DMS. +]] +routines.getLeadingLLString = function(vars) + local pos = routines.getLeadingPos(vars) + if pos then + local acc = vars.acc or 3 + local DMS = vars.DMS + local lat, lon = coord.LOtoLL(pos) + return routines.tostringLL(lat, lon, acc, DMS) + end +end + + + +--[[ vars for routines.getLeadingBRString: +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +vars.metric - boolean, if true, use km instead of NM. +vars.alt - boolean, if true, include altitude. +vars.ref - vec3/vec2 reference point. +]] +routines.getLeadingBRString = function(vars) + local pos = routines.getLeadingPos(vars) + if pos then + local ref = vars.ref + local alt = vars.alt + local metric = vars.metric + + local vec = {x = pos.x - ref.x, y = pos.y - ref.y, z = pos.z - ref.z} + local dir = routines.utils.getDir(vec, ref) + local dist = routines.utils.get2DDist(pos, ref) + if alt then + alt = pos.y + end + return routines.tostringBR(dir, dist, alt, metric) + end +end + +--[[ vars for routines.message.add + vars.text = 'Hello World' + vars.displayTime = 20 + vars.msgFor = {coa = {'red'}, countries = {'Ukraine', 'Georgia'}, unitTypes = {'A-10C'}} + +]] + +--[[ vars for routines.msgMGRS +vars.units - table of unit names (NOT unitNameTable- maybe this should change). +vars.acc - integer between 0 and 5, inclusive +vars.text - text in the message +vars.displayTime - self explanatory +vars.msgFor - scope +]] +routines.msgMGRS = function(vars) + local units = vars.units + local acc = vars.acc + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getMGRSString{units = units, acc = acc} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } +end + +--[[ vars for routines.msgLL +vars.units - table of unit names (NOT unitNameTable- maybe this should change) (Yes). +vars.acc - integer, number of numbers after decimal place +vars.DMS - if true, output in degrees, minutes, seconds. Otherwise, output in degrees, minutes. +vars.text - text in the message +vars.displayTime - self explanatory +vars.msgFor - scope +]] +routines.msgLL = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local acc = vars.acc + local DMS = vars.DMS + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLLString{units = units, acc = acc, DMS = DMS} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + +end + + +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - vec3 ref point, maybe overload for vec2 as well? +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgBR = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local ref = vars.ref -- vec2/vec3 will be handled in routines.getBRString + local alt = vars.alt + local metric = vars.metric + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getBRString{units = units, ref = ref, alt = alt, metric = metric} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + +end + + +-------------------------------------------------------------------------------------------- +-- basically, just sub-types of routines.msgBR... saves folks the work of getting the ref point. +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - string red, blue +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgBullseye = function(vars) + if string.lower(vars.ref) == 'red' then + vars.ref = routines.DBs.missionData.bullseye.red + routines.msgBR(vars) + elseif string.lower(vars.ref) == 'blue' then + vars.ref = routines.DBs.missionData.bullseye.blue + routines.msgBR(vars) + end +end + +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - unit name of reference point +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] + +routines.msgBRA = function(vars) + if Unit.getByName(vars.ref) then + vars.ref = Unit.getByName(vars.ref):getPosition().p + if not vars.alt then + vars.alt = true + end + routines.msgBR(vars) + end +end +-------------------------------------------------------------------------------------------- + +--[[ vars for routines.msgLeadingMGRS: +vars.units - table of unit names +vars.heading - direction +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees (optional) +vars.acc - number, 0 to 5. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgLeadingMGRS = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local heading = vars.heading + local radius = vars.radius + local headingDegrees = vars.headingDegrees + local acc = vars.acc + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLeadingMGRSString{units = units, heading = heading, radius = radius, headingDegrees = headingDegrees, acc = acc} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + + +end +--[[ vars for routines.msgLeadingLL: +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees (optional) +vars.acc - number of digits after decimal point (can be negative) +vars.DMS - boolean, true if you want DMS. (optional) +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgLeadingLL = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local heading = vars.heading + local radius = vars.radius + local headingDegrees = vars.headingDegrees + local acc = vars.acc + local DMS = vars.DMS + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLeadingLLString{units = units, heading = heading, radius = radius, headingDegrees = headingDegrees, acc = acc, DMS = DMS} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + +end + +--[[ +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees (optional) +vars.metric - boolean, if true, use km instead of NM. (optional) +vars.alt - boolean, if true, include altitude. (optional) +vars.ref - vec3/vec2 reference point. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgLeadingBR = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local heading = vars.heading + local radius = vars.radius + local headingDegrees = vars.headingDegrees + local metric = vars.metric + local alt = vars.alt + local ref = vars.ref -- vec2/vec3 will be handled in routines.getBRString + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLeadingBRString{units = units, heading = heading, radius = radius, headingDegrees = headingDegrees, metric = metric, alt = alt, ref = ref} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } +end + + +function spairs(t, order) + -- collect the keys + local keys = {} + for k in pairs(t) do keys[#keys+1] = k end + + -- if order function given, sort by it by passing the table and keys a, b, + -- otherwise just sort the keys + if order then + table.sort(keys, function(a,b) return order(t, a, b) end) + else + table.sort(keys) + end + + -- return the iterator function + local i = 0 + return function() + i = i + 1 + if keys[i] then + return keys[i], t[keys[i]] + end + end +end + + +function routines.IsPartOfGroupInZones( CargoGroup, LandingZones ) +--trace.f() + + local CurrentZoneID = nil + + if CargoGroup then + local CargoUnits = CargoGroup:getUnits() + for CargoUnitID, CargoUnit in pairs( CargoUnits ) do + if CargoUnit and CargoUnit:getLife() >= 1.0 then + CurrentZoneID = routines.IsUnitInZones( CargoUnit, LandingZones ) + if CurrentZoneID then + break + end + end + end + end + +--trace.r( "", "", { CurrentZoneID } ) + return CurrentZoneID +end + + + +function routines.IsUnitInZones( TransportUnit, LandingZones ) +--trace.f("", "routines.IsUnitInZones" ) + + local TransportZoneResult = nil + local TransportZonePos = nil + local TransportZone = nil + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + if TransportUnit then + local TransportUnitPos = TransportUnit:getPosition().p + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + TransportZone = trigger.misc.getZone( LandingZoneName ) + if TransportZone then + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = LandingZoneID + break + end + end + end + else + TransportZone = trigger.misc.getZone( LandingZones ) + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = 1 + end + end + if TransportZoneResult then + --trace.i( "routines", "TransportZone:" .. TransportZoneResult ) + else + --trace.i( "routines", "TransportZone:nil logic" ) + end + return TransportZoneResult + else + --trace.i( "routines", "TransportZone:nil hard" ) + return nil + end +end + +function routines.IsUnitNearZonesRadius( TransportUnit, LandingZones, ZoneRadius ) +--trace.f("", "routines.IsUnitInZones" ) + + local TransportZoneResult = nil + local TransportZonePos = nil + local TransportZone = nil + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + if TransportUnit then + local TransportUnitPos = TransportUnit:getPosition().p + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + TransportZone = trigger.misc.getZone( LandingZoneName ) + if TransportZone then + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= ZoneRadius ) then + TransportZoneResult = LandingZoneID + break + end + end + end + else + TransportZone = trigger.misc.getZone( LandingZones ) + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= ZoneRadius ) then + TransportZoneResult = 1 + end + end + if TransportZoneResult then + --trace.i( "routines", "TransportZone:" .. TransportZoneResult ) + else + --trace.i( "routines", "TransportZone:nil logic" ) + end + return TransportZoneResult + else + --trace.i( "routines", "TransportZone:nil hard" ) + return nil + end +end + + +function routines.IsStaticInZones( TransportStatic, LandingZones ) +--trace.f() + + local TransportZoneResult = nil + local TransportZonePos = nil + local TransportZone = nil + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + local TransportStaticPos = TransportStatic:getPosition().p + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + TransportZone = trigger.misc.getZone( LandingZoneName ) + if TransportZone then + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportStaticPos.x - TransportZonePos.x)^2 + (TransportStaticPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = LandingZoneID + break + end + end + end + else + TransportZone = trigger.misc.getZone( LandingZones ) + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportStaticPos.x - TransportZonePos.x)^2 + (TransportStaticPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = 1 + end + end + +--trace.r( "", "", { TransportZoneResult } ) + return TransportZoneResult +end + + +function routines.IsUnitInRadius( CargoUnit, ReferencePosition, Radius ) +--trace.f() + + local Valid = true + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + local CargoPos = CargoUnit:getPosition().p + local ReferenceP = ReferencePosition.p + + if (((CargoPos.x - ReferenceP.x)^2 + (CargoPos.z - ReferenceP.z)^2)^0.5 <= Radius) then + else + Valid = false + end + + return Valid +end + +function routines.IsPartOfGroupInRadius( CargoGroup, ReferencePosition, Radius ) +--trace.f() + + local Valid = true + + Valid = routines.ValidateGroup( CargoGroup, "CargoGroup", Valid ) + + -- fill-up some local variables to support further calculations to determine location of units within the zone + local CargoUnits = CargoGroup:getUnits() + for CargoUnitId, CargoUnit in pairs( CargoUnits ) do + local CargoUnitPos = CargoUnit:getPosition().p +-- env.info( 'routines.IsPartOfGroupInRadius: CargoUnitPos.x = ' .. CargoUnitPos.x .. ' CargoUnitPos.z = ' .. CargoUnitPos.z ) + local ReferenceP = ReferencePosition.p +-- env.info( 'routines.IsPartOfGroupInRadius: ReferenceGroupPos.x = ' .. ReferenceGroupPos.x .. ' ReferenceGroupPos.z = ' .. ReferenceGroupPos.z ) + + if ((( CargoUnitPos.x - ReferenceP.x)^2 + (CargoUnitPos.z - ReferenceP.z)^2)^0.5 <= Radius) then + else + Valid = false + break + end + end + + return Valid +end + + +function routines.ValidateString( Variable, VariableName, Valid ) +--trace.f() + + if type( Variable ) == "string" then + if Variable == "" then + error( "routines.ValidateString: error: " .. VariableName .. " must be filled out!" ) + Valid = false + end + else + error( "routines.ValidateString: error: " .. VariableName .. " is not a string." ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.ValidateNumber( Variable, VariableName, Valid ) +--trace.f() + + if type( Variable ) == "number" then + else + error( "routines.ValidateNumber: error: " .. VariableName .. " is not a number." ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid + +end + +function routines.ValidateGroup( Variable, VariableName, Valid ) +--trace.f() + + if Variable == nil then + error( "routines.ValidateGroup: error: " .. VariableName .. " is a nil value!" ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.ValidateZone( LandingZones, VariableName, Valid ) +--trace.f() + + if LandingZones == nil then + error( "routines.ValidateGroup: error: " .. VariableName .. " is a nil value!" ) + Valid = false + end + + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + if trigger.misc.getZone( LandingZoneName ) == nil then + error( "routines.ValidateGroup: error: Zone " .. LandingZoneName .. " does not exist!" ) + Valid = false + break + end + end + else + if trigger.misc.getZone( LandingZones ) == nil then + error( "routines.ValidateGroup: error: Zone " .. LandingZones .. " does not exist!" ) + Valid = false + end + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.ValidateEnumeration( Variable, VariableName, Enum, Valid ) +--trace.f() + + local ValidVariable = false + + for EnumId, EnumData in pairs( Enum ) do + if Variable == EnumData then + ValidVariable = true + break + end + end + + if ValidVariable then + else + error( 'TransportValidateEnum: " .. VariableName .. " is not a valid type.' .. Variable ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.getGroupRoute(groupIdent, task) -- same as getGroupPoints but returns speed and formation type along with vec2 of point} + -- refactor to search by groupId and allow groupId and groupName as inputs + local gpId = groupIdent + if type(groupIdent) == 'string' and not tonumber(groupIdent) then + gpId = _DATABASE.Templates.Groups[groupIdent].groupId + end + + for coa_name, coa_data in pairs(env.mission.coalition) do + if (coa_name == 'red' or coa_name == 'blue') and type(coa_data) == 'table' then + if coa_data.country then --there is a country table + for cntry_id, cntry_data in pairs(coa_data.country) do + for obj_type_name, obj_type_data in pairs(cntry_data) do + if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" then -- only these types have points + if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then --there's a group! + for group_num, group_data in pairs(obj_type_data.group) do + if group_data and group_data.groupId == gpId then -- this is the group we are looking for + if group_data.route and group_data.route.points and #group_data.route.points > 0 then + local points = {} + + for point_num, point in pairs(group_data.route.points) do + local routeData = {} + if not point.point then + routeData.x = point.x + routeData.y = point.y + else + routeData.point = point.point --it's possible that the ME could move to the point = Vec2 notation. + end + routeData.form = point.action + routeData.speed = point.speed + routeData.alt = point.alt + routeData.alt_type = point.alt_type + routeData.airdromeId = point.airdromeId + routeData.helipadId = point.helipadId + routeData.type = point.type + routeData.action = point.action + if task then + routeData.task = point.task + end + points[point_num] = routeData + end + + return points + end + return + end --if group_data and group_data.name and group_data.name == 'groupname' + end --for group_num, group_data in pairs(obj_type_data.group) do + end --if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then + end --if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" or obj_type_name == "static" then + end --for obj_type_name, obj_type_data in pairs(cntry_data) do + end --for cntry_id, cntry_data in pairs(coa_data.country) do + end --if coa_data.country then --there is a country table + end --if coa_name == 'red' or coa_name == 'blue' and type(coa_data) == 'table' then + end --for coa_name, coa_data in pairs(mission.coalition) do +end + +routines.ground.patrolRoute = function(vars) + + + local tempRoute = {} + local useRoute = {} + local gpData = vars.gpData + if type(gpData) == 'string' then + gpData = Group.getByName(gpData) + end + + local useGroupRoute + if not vars.useGroupRoute then + useGroupRoute = vars.gpData + else + useGroupRoute = vars.useGroupRoute + end + local routeProvided = false + if not vars.route then + if useGroupRoute then + tempRoute = routines.getGroupRoute(useGroupRoute) + end + else + useRoute = vars.route + local posStart = routines.getLeadPos(gpData) + useRoute[1] = routines.ground.buildWP(posStart, useRoute[1].action, useRoute[1].speed) + routeProvided = true + end + + + local overRideSpeed = vars.speed or 'default' + local pType = vars.pType + local offRoadForm = vars.offRoadForm or 'default' + local onRoadForm = vars.onRoadForm or 'default' + + if routeProvided == false and #tempRoute > 0 then + local posStart = routines.getLeadPos(gpData) + + + useRoute[#useRoute + 1] = routines.ground.buildWP(posStart, offRoadForm, overRideSpeed) + for i = 1, #tempRoute do + local tempForm = tempRoute[i].action + local tempSpeed = tempRoute[i].speed + + if offRoadForm == 'default' then + tempForm = tempRoute[i].action + end + if onRoadForm == 'default' then + onRoadForm = 'On Road' + end + if (string.lower(tempRoute[i].action) == 'on road' or string.lower(tempRoute[i].action) == 'onroad' or string.lower(tempRoute[i].action) == 'on_road') then + tempForm = onRoadForm + else + tempForm = offRoadForm + end + + if type(overRideSpeed) == 'number' then + tempSpeed = overRideSpeed + end + + + useRoute[#useRoute + 1] = routines.ground.buildWP(tempRoute[i], tempForm, tempSpeed) + end + + if pType and string.lower(pType) == 'doubleback' then + local curRoute = routines.utils.deepCopy(useRoute) + for i = #curRoute, 2, -1 do + useRoute[#useRoute + 1] = routines.ground.buildWP(curRoute[i], curRoute[i].action, curRoute[i].speed) + end + end + + useRoute[1].action = useRoute[#useRoute].action -- make it so the first WP matches the last WP + end + + local cTask3 = {} + local newPatrol = {} + newPatrol.route = useRoute + newPatrol.gpData = gpData:getName() + cTask3[#cTask3 + 1] = 'routines.ground.patrolRoute(' + cTask3[#cTask3 + 1] = routines.utils.oneLineSerialize(newPatrol) + cTask3[#cTask3 + 1] = ')' + cTask3 = table.concat(cTask3) + local tempTask = { + id = 'WrappedAction', + params = { + action = { + id = 'Script', + params = { + command = cTask3, + + }, + }, + }, + } + + + useRoute[#useRoute].task = tempTask + routines.goRoute(gpData, useRoute) + + return +end + +routines.ground.patrol = function(gpData, pType, form, speed) + local vars = {} + + if type(gpData) == 'table' and gpData:getName() then + gpData = gpData:getName() + end + + vars.useGroupRoute = gpData + vars.gpData = gpData + vars.pType = pType + vars.offRoadForm = form + vars.speed = speed + + routines.ground.patrolRoute(vars) + + return +end + +function routines.GetUnitHeight( CheckUnit ) +--trace.f( "routines" ) + + local UnitPoint = CheckUnit:getPoint() + local UnitPosition = { x = UnitPoint.x, y = UnitPoint.z } + local UnitHeight = UnitPoint.y + + local LandHeight = land.getHeight( UnitPosition ) + + --env.info(( 'CarrierHeight: LandHeight = ' .. LandHeight .. ' CarrierHeight = ' .. CarrierHeight )) + + --trace.f( "routines", "Unit Height = " .. UnitHeight - LandHeight ) + + return UnitHeight - LandHeight + +end + + + +Su34Status = { status = {} } +boardMsgRed = { statusMsg = "" } +boardMsgAll = { timeMsg = "" } +SpawnSettings = {} +Su34MenuPath = {} +Su34Menus = 0 + + +function Su34AttackCarlVinson(groupName) +--trace.menu("", "Su34AttackCarlVinson") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34.getController(groupSu34) + local groupCarlVinson = Group.getByName("US Carl Vinson #001") + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + if groupCarlVinson ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupCarlVinson:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = true}}) + end + Su34Status.status[groupName] = 1 + MessageToRed( string.format('%s: ',groupName) .. 'Attacking carrier Carl Vinson. ', 10, 'RedStatus' .. groupName ) +end + +function Su34AttackWest(groupName) +--trace.f("","Su34AttackWest") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34.getController(groupSu34) + local groupShipWest1 = Group.getByName("US Ship West #001") + local groupShipWest2 = Group.getByName("US Ship West #002") + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + if groupShipWest1 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipWest1:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = true}}) + end + if groupShipWest2 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipWest2:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = true}}) + end + Su34Status.status[groupName] = 2 + MessageToRed( string.format('%s: ',groupName) .. 'Attacking invading ships in the west. ', 10, 'RedStatus' .. groupName ) +end + +function Su34AttackNorth(groupName) +--trace.menu("","Su34AttackNorth") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34.getController(groupSu34) + local groupShipNorth1 = Group.getByName("US Ship North #001") + local groupShipNorth2 = Group.getByName("US Ship North #002") + local groupShipNorth3 = Group.getByName("US Ship North #003") + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + if groupShipNorth1 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipNorth1:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = false}}) + end + if groupShipNorth2 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipNorth2:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = false}}) + end + if groupShipNorth3 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipNorth3:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = false}}) + end + Su34Status.status[groupName] = 3 + MessageToRed( string.format('%s: ',groupName) .. 'Attacking invading ships in the north. ', 10, 'RedStatus' .. groupName ) +end + +function Su34Orbit(groupName) +--trace.menu("","Su34Orbit") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34:getController() + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + controllerSu34:pushTask( {id = 'ControlledTask', params = { task = { id = 'Orbit', params = { pattern = AI.Task.OrbitPattern.RACE_TRACK } }, stopCondition = { duration = 600 } } } ) + Su34Status.status[groupName] = 4 + MessageToRed( string.format('%s: ',groupName) .. 'In orbit and awaiting further instructions. ', 10, 'RedStatus' .. groupName ) +end + +function Su34TakeOff(groupName) +--trace.menu("","Su34TakeOff") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34:getController() + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE ) + Su34Status.status[groupName] = 8 + MessageToRed( string.format('%s: ',groupName) .. 'Take-Off. ', 10, 'RedStatus' .. groupName ) +end + +function Su34Hold(groupName) +--trace.menu("","Su34Hold") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34:getController() + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE ) + Su34Status.status[groupName] = 5 + MessageToRed( string.format('%s: ',groupName) .. 'Holding Weapons. ', 10, 'RedStatus' .. groupName ) +end + +function Su34RTB(groupName) +--trace.menu("","Su34RTB") + Su34Status.status[groupName] = 6 + MessageToRed( string.format('%s: ',groupName) .. 'Return to Krasnodar. ', 10, 'RedStatus' .. groupName ) +end + +function Su34Destroyed(groupName) +--trace.menu("","Su34Destroyed") + Su34Status.status[groupName] = 7 + MessageToRed( string.format('%s: ',groupName) .. 'Destroyed. ', 30, 'RedStatus' .. groupName ) +end + +function GroupAlive( groupName ) +--trace.menu("","GroupAlive") + local groupTest = Group.getByName( groupName ) + + local groupExists = false + + if groupTest then + groupExists = groupTest:isExist() + end + + --trace.r( "", "", { groupExists } ) + return groupExists +end + +function Su34IsDead() +--trace.f() + +end + +function Su34OverviewStatus() +--trace.menu("","Su34OverviewStatus") + local msg = "" + local currentStatus = 0 + local Exists = false + + for groupName, currentStatus in pairs(Su34Status.status) do + + env.info(('Su34 Overview Status: GroupName = ' .. groupName )) + Alive = GroupAlive( groupName ) + + if Alive then + if currentStatus == 1 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Attacking carrier Carl Vinson. " + elseif currentStatus == 2 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Attacking supporting ships in the west. " + elseif currentStatus == 3 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Attacking invading ships in the north. " + elseif currentStatus == 4 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "In orbit and awaiting further instructions. " + elseif currentStatus == 5 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Holding Weapons. " + elseif currentStatus == 6 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Return to Krasnodar. " + elseif currentStatus == 7 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Destroyed. " + elseif currentStatus == 8 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Take-Off. " + end + else + if currentStatus == 7 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Destroyed. " + else + Su34Destroyed(groupName) + end + end + end + + boardMsgRed.statusMsg = msg +end + + +function UpdateBoardMsg() +--trace.f() + Su34OverviewStatus() + MessageToRed( boardMsgRed.statusMsg, 15, 'RedStatus' ) +end + +function MusicReset( flg ) +--trace.f() + trigger.action.setUserFlag(95,flg) +end + +function PlaneActivate(groupNameFormat, flg) +--trace.f() + local groupName = groupNameFormat .. string.format("#%03d", trigger.misc.getUserFlag(flg)) + --trigger.action.outText(groupName,10) + trigger.action.activateGroup(Group.getByName(groupName)) +end + +function Su34Menu(groupName) +--trace.f() + + --env.info(( 'Su34Menu(' .. groupName .. ')' )) + local groupSu34 = Group.getByName( groupName ) + + if Su34Status.status[groupName] == 1 or + Su34Status.status[groupName] == 2 or + Su34Status.status[groupName] == 3 or + Su34Status.status[groupName] == 4 or + Su34Status.status[groupName] == 5 then + if Su34MenuPath[groupName] == nil then + if planeMenuPath == nil then + planeMenuPath = missionCommands.addSubMenuForCoalition( + coalition.side.RED, + "SU-34 anti-ship flights", + nil + ) + end + Su34MenuPath[groupName] = missionCommands.addSubMenuForCoalition( + coalition.side.RED, + "Flight " .. groupName, + planeMenuPath + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Attack carrier Carl Vinson", + Su34MenuPath[groupName], + Su34AttackCarlVinson, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Attack ships in the west", + Su34MenuPath[groupName], + Su34AttackWest, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Attack ships in the north", + Su34MenuPath[groupName], + Su34AttackNorth, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Hold position and await instructions", + Su34MenuPath[groupName], + Su34Orbit, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Report status", + Su34MenuPath[groupName], + Su34OverviewStatus + ) + end + else + if Su34MenuPath[groupName] then + missionCommands.removeItemForCoalition(coalition.side.RED, Su34MenuPath[groupName]) + end + end +end + +--- Obsolete function, but kept to rework in framework. + +function ChooseInfantry ( TeleportPrefixTable, TeleportMax ) +--trace.f("Spawn") + --env.info(( 'ChooseInfantry: ' )) + + TeleportPrefixTableCount = #TeleportPrefixTable + TeleportPrefixTableIndex = math.random( 1, TeleportPrefixTableCount ) + + --env.info(( 'ChooseInfantry: TeleportPrefixTableIndex = ' .. TeleportPrefixTableIndex .. ' TeleportPrefixTableCount = ' .. TeleportPrefixTableCount .. ' TeleportMax = ' .. TeleportMax )) + + local TeleportFound = false + local TeleportLoop = true + local Index = TeleportPrefixTableIndex + local TeleportPrefix = '' + + while TeleportLoop do + TeleportPrefix = TeleportPrefixTable[Index] + if SpawnSettings[TeleportPrefix] then + if SpawnSettings[TeleportPrefix]['SpawnCount'] - 1 < TeleportMax then + SpawnSettings[TeleportPrefix]['SpawnCount'] = SpawnSettings[TeleportPrefix]['SpawnCount'] + 1 + TeleportFound = true + else + TeleportFound = false + end + else + SpawnSettings[TeleportPrefix] = {} + SpawnSettings[TeleportPrefix]['SpawnCount'] = 0 + TeleportFound = true + end + if TeleportFound then + TeleportLoop = false + else + if Index < TeleportPrefixTableCount then + Index = Index + 1 + else + TeleportLoop = false + end + end + --env.info(( 'ChooseInfantry: Loop 1 - TeleportPrefix = ' .. TeleportPrefix .. ' Index = ' .. Index )) + end + + if TeleportFound == false then + TeleportLoop = true + Index = 1 + while TeleportLoop do + TeleportPrefix = TeleportPrefixTable[Index] + if SpawnSettings[TeleportPrefix] then + if SpawnSettings[TeleportPrefix]['SpawnCount'] - 1 < TeleportMax then + SpawnSettings[TeleportPrefix]['SpawnCount'] = SpawnSettings[TeleportPrefix]['SpawnCount'] + 1 + TeleportFound = true + else + TeleportFound = false + end + else + SpawnSettings[TeleportPrefix] = {} + SpawnSettings[TeleportPrefix]['SpawnCount'] = 0 + TeleportFound = true + end + if TeleportFound then + TeleportLoop = false + else + if Index < TeleportPrefixTableIndex then + Index = Index + 1 + else + TeleportLoop = false + end + end + --env.info(( 'ChooseInfantry: Loop 2 - TeleportPrefix = ' .. TeleportPrefix .. ' Index = ' .. Index )) + end + end + + local TeleportGroupName = '' + if TeleportFound == true then + TeleportGroupName = TeleportPrefix .. string.format("#%03d", SpawnSettings[TeleportPrefix]['SpawnCount'] ) + else + TeleportGroupName = '' + end + + --env.info(('ChooseInfantry: TeleportGroupName = ' .. TeleportGroupName )) + --env.info(('ChooseInfantry: return')) + + return TeleportGroupName +end + +SpawnedInfantry = 0 + +function LandCarrier ( CarrierGroup, LandingZonePrefix ) +--trace.f() + --env.info(( 'LandCarrier: ' )) + --env.info(( 'LandCarrier: CarrierGroup = ' .. CarrierGroup:getName() )) + --env.info(( 'LandCarrier: LandingZone = ' .. LandingZonePrefix )) + + local controllerGroup = CarrierGroup:getController() + + local LandingZone = trigger.misc.getZone(LandingZonePrefix) + local LandingZonePos = {} + LandingZonePos.x = LandingZone.point.x + math.random(LandingZone.radius * -1, LandingZone.radius) + LandingZonePos.y = LandingZone.point.z + math.random(LandingZone.radius * -1, LandingZone.radius) + + controllerGroup:pushTask( { id = 'Land', params = { point = LandingZonePos, durationFlag = true, duration = 10 } } ) + + --env.info(( 'LandCarrier: end' )) +end + +EscortCount = 0 +function EscortCarrier ( CarrierGroup, EscortPrefix, EscortLastWayPoint, EscortEngagementDistanceMax, EscortTargetTypes ) +--trace.f() + --env.info(( 'EscortCarrier: ' )) + --env.info(( 'EscortCarrier: CarrierGroup = ' .. CarrierGroup:getName() )) + --env.info(( 'EscortCarrier: EscortPrefix = ' .. EscortPrefix )) + + local CarrierName = CarrierGroup:getName() + + local EscortMission = {} + local CarrierMission = {} + + local EscortMission = SpawnMissionGroup( EscortPrefix ) + local CarrierMission = SpawnMissionGroup( CarrierGroup:getName() ) + + if EscortMission ~= nil and CarrierMission ~= nil then + + EscortCount = EscortCount + 1 + EscortMissionName = string.format( EscortPrefix .. '#Escort %s', CarrierName ) + EscortMission.name = EscortMissionName + EscortMission.groupId = nil + EscortMission.lateActivation = false + EscortMission.taskSelected = false + + local EscortUnits = #EscortMission.units + for u = 1, EscortUnits do + EscortMission.units[u].name = string.format( EscortPrefix .. '#Escort %s %02d', CarrierName, u ) + EscortMission.units[u].unitId = nil + end + + + EscortMission.route.points[1].task = { id = "ComboTask", + params = + { + tasks = + { + [1] = + { + enabled = true, + auto = false, + id = "Escort", + number = 1, + params = + { + lastWptIndexFlagChangedManually = false, + groupId = CarrierGroup:getID(), + lastWptIndex = nil, + lastWptIndexFlag = false, + engagementDistMax = EscortEngagementDistanceMax, + targetTypes = EscortTargetTypes, + pos = + { + y = 20, + x = 20, + z = 0, + } -- end of ["pos"] + } -- end of ["params"] + } -- end of [1] + } -- end of ["tasks"] + } -- end of ["params"] + } -- end of ["task"] + + SpawnGroupAdd( EscortPrefix, EscortMission ) + + end +end + +function SendMessageToCarrier( CarrierGroup, CarrierMessage ) +--trace.f() + + if CarrierGroup ~= nil then + MessageToGroup( CarrierGroup, CarrierMessage, 30, 'Carrier/' .. CarrierGroup:getName() ) + end + +end + +function MessageToGroup( MsgGroup, MsgText, MsgTime, MsgName ) +--trace.f() + + if type(MsgGroup) == 'string' then + --env.info( 'MessageToGroup: Converted MsgGroup string "' .. MsgGroup .. '" into a Group structure.' ) + MsgGroup = Group.getByName( MsgGroup ) + end + + if MsgGroup ~= nil then + local MsgTable = {} + MsgTable.text = MsgText + MsgTable.displayTime = MsgTime + MsgTable.msgFor = { units = { MsgGroup:getUnits()[1]:getName() } } + MsgTable.name = MsgName + --routines.message.add( MsgTable ) + --env.info(('MessageToGroup: Message sent to ' .. MsgGroup:getUnits()[1]:getName() .. ' -> ' .. MsgText )) + end +end + +function MessageToUnit( UnitName, MsgText, MsgTime, MsgName ) +--trace.f() + + if UnitName ~= nil then + local MsgTable = {} + MsgTable.text = MsgText + MsgTable.displayTime = MsgTime + MsgTable.msgFor = { units = { UnitName } } + MsgTable.name = MsgName + --routines.message.add( MsgTable ) + end +end + +function MessageToAll( MsgText, MsgTime, MsgName ) +--trace.f() + + MESSAGE:New( MsgText, MsgTime, "Message" ):ToCoalition( coalition.side.RED ):ToCoalition( coalition.side.BLUE ) +end + +function MessageToRed( MsgText, MsgTime, MsgName ) +--trace.f() + + MESSAGE:New( MsgText, MsgTime, "To Red Coalition" ):ToCoalition( coalition.side.RED ) +end + +function MessageToBlue( MsgText, MsgTime, MsgName ) +--trace.f() + + MESSAGE:New( MsgText, MsgTime, "To Blue Coalition" ):ToCoalition( coalition.side.RED ) +end + +function getCarrierHeight( CarrierGroup ) +--trace.f() + + if CarrierGroup ~= nil then + if table.getn(CarrierGroup:getUnits()) == 1 then + local CarrierUnit = CarrierGroup:getUnits()[1] + local CurrentPoint = CarrierUnit:getPoint() + + local CurrentPosition = { x = CurrentPoint.x, y = CurrentPoint.z } + local CarrierHeight = CurrentPoint.y + + local LandHeight = land.getHeight( CurrentPosition ) + + --env.info(( 'CarrierHeight: LandHeight = ' .. LandHeight .. ' CarrierHeight = ' .. CarrierHeight )) + + return CarrierHeight - LandHeight + else + return 999999 + end + else + return 999999 + end + +end + +function GetUnitHeight( CheckUnit ) +--trace.f() + + local UnitPoint = CheckUnit:getPoint() + local UnitPosition = { x = CurrentPoint.x, y = CurrentPoint.z } + local UnitHeight = CurrentPoint.y + + local LandHeight = land.getHeight( CurrentPosition ) + + --env.info(( 'CarrierHeight: LandHeight = ' .. LandHeight .. ' CarrierHeight = ' .. CarrierHeight )) + + return UnitHeight - LandHeight + +end + + +_MusicTable = {} +_MusicTable.Files = {} +_MusicTable.Queue = {} +_MusicTable.FileCnt = 0 + + +function MusicRegister( SndRef, SndFile, SndTime ) +--trace.f() + + env.info(( 'MusicRegister: SndRef = ' .. SndRef )) + env.info(( 'MusicRegister: SndFile = ' .. SndFile )) + env.info(( 'MusicRegister: SndTime = ' .. SndTime )) + + + _MusicTable.FileCnt = _MusicTable.FileCnt + 1 + + _MusicTable.Files[_MusicTable.FileCnt] = {} + _MusicTable.Files[_MusicTable.FileCnt].Ref = SndRef + _MusicTable.Files[_MusicTable.FileCnt].File = SndFile + _MusicTable.Files[_MusicTable.FileCnt].Time = SndTime + + if not _MusicTable.Function then + _MusicTable.Function = routines.scheduleFunction( MusicScheduler, { }, timer.getTime() + 10, 10) + end + +end + +function MusicToPlayer( SndRef, PlayerName, SndContinue ) +--trace.f() + + --env.info(( 'MusicToPlayer: SndRef = ' .. SndRef )) + + local PlayerUnits = AlivePlayerUnits() + for PlayerUnitIdx, PlayerUnit in pairs(PlayerUnits) do + local PlayerUnitName = PlayerUnit:getPlayerName() + --env.info(( 'MusicToPlayer: PlayerUnitName = ' .. PlayerUnitName )) + if PlayerName == PlayerUnitName then + PlayerGroup = PlayerUnit:getGroup() + if PlayerGroup then + --env.info(( 'MusicToPlayer: PlayerGroup = ' .. PlayerGroup:getName() )) + MusicToGroup( SndRef, PlayerGroup, SndContinue ) + end + break + end + end + + --env.info(( 'MusicToPlayer: end' )) + +end + +function MusicToGroup( SndRef, SndGroup, SndContinue ) +--trace.f() + + --env.info(( 'MusicToGroup: SndRef = ' .. SndRef )) + + if SndGroup ~= nil then + if _MusicTable and _MusicTable.FileCnt > 0 then + if SndGroup:isExist() then + if MusicCanStart(SndGroup:getUnit(1):getPlayerName()) then + --env.info(( 'MusicToGroup: OK for Sound.' )) + local SndIdx = 0 + if SndRef == '' then + --env.info(( 'MusicToGroup: SndRef as empty. Queueing at random.' )) + SndIdx = math.random( 1, _MusicTable.FileCnt ) + else + for SndIdx = 1, _MusicTable.FileCnt do + if _MusicTable.Files[SndIdx].Ref == SndRef then + break + end + end + end + --env.info(( 'MusicToGroup: SndIdx = ' .. SndIdx )) + --env.info(( 'MusicToGroup: Queueing Music ' .. _MusicTable.Files[SndIdx].File .. ' for Group ' .. SndGroup:getID() )) + trigger.action.outSoundForGroup( SndGroup:getID(), _MusicTable.Files[SndIdx].File ) + MessageToGroup( SndGroup, 'Playing ' .. _MusicTable.Files[SndIdx].File, 15, 'Music-' .. SndGroup:getUnit(1):getPlayerName() ) + + local SndQueueRef = SndGroup:getUnit(1):getPlayerName() + if _MusicTable.Queue[SndQueueRef] == nil then + _MusicTable.Queue[SndQueueRef] = {} + end + _MusicTable.Queue[SndQueueRef].Start = timer.getTime() + _MusicTable.Queue[SndQueueRef].PlayerName = SndGroup:getUnit(1):getPlayerName() + _MusicTable.Queue[SndQueueRef].Group = SndGroup + _MusicTable.Queue[SndQueueRef].ID = SndGroup:getID() + _MusicTable.Queue[SndQueueRef].Ref = SndIdx + _MusicTable.Queue[SndQueueRef].Continue = SndContinue + _MusicTable.Queue[SndQueueRef].Type = Group + end + end + end + end +end + +function MusicCanStart(PlayerName) +--trace.f() + + --env.info(( 'MusicCanStart:' )) + + local MusicOut = false + + if _MusicTable['Queue'] ~= nil and _MusicTable.FileCnt > 0 then + --env.info(( 'MusicCanStart: PlayerName = ' .. PlayerName )) + local PlayerFound = false + local MusicStart = 0 + local MusicTime = 0 + for SndQueueIdx, SndQueue in pairs( _MusicTable.Queue ) do + if SndQueue.PlayerName == PlayerName then + PlayerFound = true + MusicStart = SndQueue.Start + MusicTime = _MusicTable.Files[SndQueue.Ref].Time + break + end + end + if PlayerFound then + --env.info(( 'MusicCanStart: MusicStart = ' .. MusicStart )) + --env.info(( 'MusicCanStart: MusicTime = ' .. MusicTime )) + --env.info(( 'MusicCanStart: timer.getTime() = ' .. timer.getTime() )) + + if MusicStart + MusicTime <= timer.getTime() then + MusicOut = true + end + else + MusicOut = true + end + end + + if MusicOut then + --env.info(( 'MusicCanStart: true' )) + else + --env.info(( 'MusicCanStart: false' )) + end + + return MusicOut +end + +function MusicScheduler() +--trace.scheduled("", "MusicScheduler") + + --env.info(( 'MusicScheduler:' )) + if _MusicTable['Queue'] ~= nil and _MusicTable.FileCnt > 0 then + --env.info(( 'MusicScheduler: Walking Sound Queue.')) + for SndQueueIdx, SndQueue in pairs( _MusicTable.Queue ) do + if SndQueue.Continue then + if MusicCanStart(SndQueue.PlayerName) then + --env.info(('MusicScheduler: MusicToGroup')) + MusicToPlayer( '', SndQueue.PlayerName, true ) + end + end + end + end + +end + + +env.info(( 'Init: Scripts Loaded v1.1' )) + +--- This module contains derived utilities taken from the MIST framework, +-- which are excellent tools to be reused in an OO environment!. +-- +-- ### Authors: +-- +-- * Grimes : Design & Programming of the MIST framework. +-- +-- ### Contributions: +-- +-- * FlightControl : Rework to OO framework +-- +-- @module Utils + + +--- @type SMOKECOLOR +-- @field Green +-- @field Red +-- @field White +-- @field Orange +-- @field Blue + +SMOKECOLOR = trigger.smokeColor -- #SMOKECOLOR + +--- @type FLARECOLOR +-- @field Green +-- @field Red +-- @field White +-- @field Yellow + +FLARECOLOR = trigger.flareColor -- #FLARECOLOR + +--- Utilities static class. +-- @type UTILS +UTILS = {} + + +--from http://lua-users.org/wiki/CopyTable +UTILS.DeepCopy = function(object) + local lookup_table = {} + local function _copy(object) + if type(object) ~= "table" then + return object + elseif lookup_table[object] then + return lookup_table[object] + end + local new_table = {} + lookup_table[object] = new_table + for index, value in pairs(object) do + new_table[_copy(index)] = _copy(value) + end + return setmetatable(new_table, getmetatable(object)) + end + local objectreturn = _copy(object) + return objectreturn +end + + +-- porting in Slmod's serialize_slmod2 +UTILS.OneLineSerialize = function( tbl ) -- serialization of a table all on a single line, no comments, made to replace old get_table_string function + + lookup_table = {} + + local function _Serialize( tbl ) + + if type(tbl) == 'table' then --function only works for tables! + + if lookup_table[tbl] then + return lookup_table[object] + end + + local tbl_str = {} + + lookup_table[tbl] = tbl_str + + tbl_str[#tbl_str + 1] = '{' + + for ind,val in pairs(tbl) do -- serialize its fields + local ind_str = {} + if type(ind) == "number" then + ind_str[#ind_str + 1] = '[' + ind_str[#ind_str + 1] = tostring(ind) + ind_str[#ind_str + 1] = ']=' + else --must be a string + ind_str[#ind_str + 1] = '[' + ind_str[#ind_str + 1] = routines.utils.basicSerialize(ind) + ind_str[#ind_str + 1] = ']=' + end + + local val_str = {} + if ((type(val) == 'number') or (type(val) == 'boolean')) then + val_str[#val_str + 1] = tostring(val) + val_str[#val_str + 1] = ',' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'string' then + val_str[#val_str + 1] = routines.utils.basicSerialize(val) + val_str[#val_str + 1] = ',' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'nil' then -- won't ever happen, right? + val_str[#val_str + 1] = 'nil,' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'table' then + if ind == "__index" then + -- tbl_str[#tbl_str + 1] = "__index" + -- tbl_str[#tbl_str + 1] = ',' --I think this is right, I just added it + else + + val_str[#val_str + 1] = _Serialize(val) + val_str[#val_str + 1] = ',' --I think this is right, I just added it + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + end + elseif type(val) == 'function' then + tbl_str[#tbl_str + 1] = "f() " .. tostring(ind) + tbl_str[#tbl_str + 1] = ',' --I think this is right, I just added it + else + env.info('unable to serialize value type ' .. routines.utils.basicSerialize(type(val)) .. ' at index ' .. tostring(ind)) + env.info( debug.traceback() ) + end + + end + tbl_str[#tbl_str + 1] = '}' + return table.concat(tbl_str) + else + return tostring(tbl) + end + end + + local objectreturn = _Serialize(tbl) + return objectreturn +end + +--porting in Slmod's "safestring" basic serialize +UTILS.BasicSerialize = function(s) + if s == nil then + return "\"\"" + else + if ((type(s) == 'number') or (type(s) == 'boolean') or (type(s) == 'function') or (type(s) == 'table') or (type(s) == 'userdata') ) then + return tostring(s) + elseif type(s) == 'string' then + s = string.format('%q', s) + return s + end + end +end + + +UTILS.ToDegree = function(angle) + return angle*180/math.pi +end + +UTILS.ToRadian = function(angle) + return angle*math.pi/180 +end + +UTILS.MetersToNM = function(meters) + return meters/1852 +end + +UTILS.MetersToFeet = function(meters) + return meters/0.3048 +end + +UTILS.NMToMeters = function(NM) + return NM*1852 +end + +UTILS.FeetToMeters = function(feet) + return feet*0.3048 +end + +UTILS.MpsToKnots = function(mps) + return mps*3600/1852 +end + +UTILS.MpsToKmph = function(mps) + return mps*3.6 +end + +UTILS.KnotsToMps = function(knots) + return knots*1852/3600 +end + +UTILS.KmphToMps = function(kmph) + return kmph/3.6 +end + +--[[acc: +in DM: decimal point of minutes. +In DMS: decimal point of seconds. +position after the decimal of the least significant digit: +So: +42.32 - acc of 2. +]] +UTILS.tostringLL = function( lat, lon, acc, DMS) + + local latHemi, lonHemi + if lat > 0 then + latHemi = 'N' + else + latHemi = 'S' + end + + if lon > 0 then + lonHemi = 'E' + else + lonHemi = 'W' + end + + lat = math.abs(lat) + lon = math.abs(lon) + + local latDeg = math.floor(lat) + local latMin = (lat - latDeg)*60 + + local lonDeg = math.floor(lon) + local lonMin = (lon - lonDeg)*60 + + if DMS then -- degrees, minutes, and seconds. + local oldLatMin = latMin + latMin = math.floor(latMin) + local latSec = UTILS.Round((oldLatMin - latMin)*60, acc) + + local oldLonMin = lonMin + lonMin = math.floor(lonMin) + local lonSec = UTILS.Round((oldLonMin - lonMin)*60, acc) + + if latSec == 60 then + latSec = 0 + latMin = latMin + 1 + end + + if lonSec == 60 then + lonSec = 0 + lonMin = lonMin + 1 + end + + local secFrmtStr -- create the formatting string for the seconds place + if acc <= 0 then -- no decimal place. + secFrmtStr = '%02d' + else + local width = 3 + acc -- 01.310 - that's a width of 6, for example. + secFrmtStr = '%0' .. width .. '.' .. acc .. 'f' + end + + return string.format('%02d', latDeg) .. ' ' .. string.format('%02d', latMin) .. '\' ' .. string.format(secFrmtStr, latSec) .. '"' .. latHemi .. ' ' + .. string.format('%02d', lonDeg) .. ' ' .. string.format('%02d', lonMin) .. '\' ' .. string.format(secFrmtStr, lonSec) .. '"' .. lonHemi + + else -- degrees, decimal minutes. + latMin = UTILS.Round(latMin, acc) + lonMin = UTILS.Round(lonMin, acc) + + if latMin == 60 then + latMin = 0 + latDeg = latDeg + 1 + end + + if lonMin == 60 then + lonMin = 0 + lonDeg = lonDeg + 1 + end + + local minFrmtStr -- create the formatting string for the minutes place + if acc <= 0 then -- no decimal place. + minFrmtStr = '%02d' + else + local width = 3 + acc -- 01.310 - that's a width of 6, for example. + minFrmtStr = '%0' .. width .. '.' .. acc .. 'f' + end + + return string.format('%02d', latDeg) .. ' ' .. string.format(minFrmtStr, latMin) .. '\'' .. latHemi .. ' ' + .. string.format('%02d', lonDeg) .. ' ' .. string.format(minFrmtStr, lonMin) .. '\'' .. lonHemi + + end +end + + +--- From http://lua-users.org/wiki/SimpleRound +-- use negative idp for rounding ahead of decimal place, positive for rounding after decimal place +function UTILS.Round( num, idp ) + local mult = 10 ^ ( idp or 0 ) + return math.floor( num * mult + 0.5 ) / mult +end + +-- porting in Slmod's dostring +function UTILS.DoString( s ) + local f, err = loadstring( s ) + if f then + return true, f() + else + return false, err + end +end +--- **Core** - BASE forms **the basis of the MOOSE framework**. Each class within the MOOSE framework derives from BASE. +-- +-- ![Banner Image](..\Presentations\BASE\Dia1.JPG) +-- +-- === +-- +-- The @{#BASE} class is the core root class from where every other class in moose is derived. +-- +-- === +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- YYYY-MM-DD: CLASS:**NewFunction**( Params ) replaces CLASS:_OldFunction_( Params ) +-- YYYY-MM-DD: CLASS:**NewFunction( Params )** added +-- +-- Hereby the change log: +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * None. +-- +-- ### Authors: +-- +-- * **FlightControl**: Design & Programming +-- +-- @module Base + + + +local _TraceOnOff = true +local _TraceLevel = 1 +local _TraceAll = false +local _TraceClass = {} +local _TraceClassMethod = {} + +local _ClassID = 0 + +--- @type BASE +-- @field ClassName The name of the class. +-- @field ClassID The ID number of the class. +-- @field ClassNameAndID The name of the class concatenated with the ID number of the class. + +--- # 1) #BASE class +-- +-- All classes within the MOOSE framework are derived from the BASE class. +-- +-- BASE provides facilities for : +-- +-- * The construction and inheritance of MOOSE classes. +-- * The class naming and numbering system. +-- * The class hierarchy search system. +-- * The tracing of information or objects during mission execution for debuggin purposes. +-- * The subscription to DCS events for event handling in MOOSE objects. +-- +-- Note: The BASE class is an abstract class and is not meant to be used directly. +-- +-- ## 1.1) BASE constructor +-- +-- Any class derived from BASE, will use the @{Base#BASE.New} constructor embedded in the @{Base#BASE.Inherit} method. +-- See an example at the @{Base#BASE.New} method how this is done. +-- +-- ## 1.2) Trace information for debugging +-- +-- The BASE class contains trace methods to trace progress within a mission execution of a certain object. +-- These trace methods are inherited by each MOOSE class interiting BASE, soeach object created from derived class from BASE can use the tracing methods to trace its execution. +-- +-- Any type of information can be passed to these tracing methods. See the following examples: +-- +-- self:E( "Hello" ) +-- +-- Result in the word "Hello" in the dcs.log. +-- +-- local Array = { 1, nil, "h", { "a","b" }, "x" } +-- self:E( Array ) +-- +-- Results with the text [1]=1,[3]="h",[4]={[1]="a",[2]="b"},[5]="x"} in the dcs.log. +-- +-- local Object1 = "Object1" +-- local Object2 = 3 +-- local Object3 = { Object 1, Object 2 } +-- self:E( { Object1, Object2, Object3 } ) +-- +-- Results with the text [1]={[1]="Object",[2]=3,[3]={[1]="Object",[2]=3}} in the dcs.log. +-- +-- local SpawnObject = SPAWN:New( "Plane" ) +-- local GroupObject = GROUP:FindByName( "Group" ) +-- self:E( { Spawn = SpawnObject, Group = GroupObject } ) +-- +-- Results with the text [1]={Spawn={....),Group={...}} in the dcs.log. +-- +-- Below a more detailed explanation of the different method types for tracing. +-- +-- ### 1.2.1) Tracing methods categories +-- +-- There are basically 3 types of tracing methods available: +-- +-- * @{#BASE.F}: Used to trace the entrance of a function and its given parameters. An F is indicated at column 44 in the DCS.log file. +-- * @{#BASE.T}: Used to trace further logic within a function giving optional variables or parameters. A T is indicated at column 44 in the DCS.log file. +-- * @{#BASE.E}: Used to always trace information giving optional variables or parameters. An E is indicated at column 44 in the DCS.log file. +-- +-- ### 1.2.2) Tracing levels +-- +-- There are 3 tracing levels within MOOSE. +-- These tracing levels were defined to avoid bulks of tracing to be generated by lots of objects. +-- +-- As such, the F and T methods have additional variants to trace level 2 and 3 respectively: +-- +-- * @{#BASE.F2}: Trace the beginning of a function and its given parameters with tracing level 2. +-- * @{#BASE.F3}: Trace the beginning of a function and its given parameters with tracing level 3. +-- * @{#BASE.T2}: Trace further logic within a function giving optional variables or parameters with tracing level 2. +-- * @{#BASE.T3}: Trace further logic within a function giving optional variables or parameters with tracing level 3. +-- +-- ### 1.2.3) Trace activation. +-- +-- Tracing can be activated in several ways: +-- +-- * Switch tracing on or off through the @{#BASE.TraceOnOff}() method. +-- * Activate all tracing through the @{#BASE.TraceAll}() method. +-- * Activate only the tracing of a certain class (name) through the @{#BASE.TraceClass}() method. +-- * Activate only the tracing of a certain method of a certain class through the @{#BASE.TraceClassMethod}() method. +-- * Activate only the tracing of a certain level through the @{#BASE.TraceLevel}() method. +-- +-- ### 1.2.4) Check if tracing is on. +-- +-- The method @{#BASE.IsTrace}() will validate if tracing is activated or not. +-- +-- ## 1.3 DCS simulator Event Handling +-- +-- The BASE class provides methods to catch DCS Events. These are events that are triggered from within the DCS simulator, +-- and handled through lua scripting. MOOSE provides an encapsulation to handle these events more efficiently. +-- +-- ### 1.3.1 Subscribe / Unsubscribe to DCS Events +-- +-- At first, the mission designer will need to **Subscribe** to a specific DCS event for the class. +-- So, when the DCS event occurs, the class will be notified of that event. +-- There are two methods which you use to subscribe to or unsubscribe from an event. +-- +-- * @{#BASE.HandleEvent}(): Subscribe to a DCS Event. +-- * @{#BASE.UnHandleEvent}(): Unsubscribe from a DCS Event. +-- +-- ### 1.3.2 Event Handling of DCS Events +-- +-- Once the class is subscribed to the event, an **Event Handling** method on the object or class needs to be written that will be called +-- when the DCS event occurs. The Event Handling method receives an @{Event#EVENTDATA} structure, which contains a lot of information +-- about the event that occurred. +-- +-- Find below an example of the prototype how to write an event handling function for two units: +-- +-- local Tank1 = UNIT:FindByName( "Tank A" ) +-- local Tank2 = UNIT:FindByName( "Tank B" ) +-- +-- -- Here we subscribe to the Dead events. So, if one of these tanks dies, the Tank1 or Tank2 objects will be notified. +-- Tank1:HandleEvent( EVENTS.Dead ) +-- Tank2:HandleEvent( EVENTS.Dead ) +-- +-- --- This function is an Event Handling function that will be called when Tank1 is Dead. +-- -- @param Wrapper.Unit#UNIT self +-- -- @param Core.Event#EVENTDATA EventData +-- function Tank1:OnEventDead( EventData ) +-- +-- self:SmokeGreen() +-- end +-- +-- --- This function is an Event Handling function that will be called when Tank2 is Dead. +-- -- @param Wrapper.Unit#UNIT self +-- -- @param Core.Event#EVENTDATA EventData +-- function Tank2:OnEventDead( EventData ) +-- +-- self:SmokeBlue() +-- end +-- +-- +-- +-- See the @{Event} module for more information about event handling. +-- +-- ## 1.4) Class identification methods +-- +-- BASE provides methods to get more information of each object: +-- +-- * @{#BASE.GetClassID}(): Gets the ID (number) of the object. Each object created is assigned a number, that is incremented by one. +-- * @{#BASE.GetClassName}(): Gets the name of the object, which is the name of the class the object was instantiated from. +-- * @{#BASE.GetClassNameAndID}(): Gets the name and ID of the object. +-- +-- ## 1.5) All objects derived from BASE can have "States" +-- +-- A mechanism is in place in MOOSE, that allows to let the objects administer **states**. +-- States are essentially properties of objects, which are identified by a **Key** and a **Value**. +-- +-- The method @{#BASE.SetState}() can be used to set a Value with a reference Key to the object. +-- To **read or retrieve** a state Value based on a Key, use the @{#BASE.GetState} method. +-- +-- These two methods provide a very handy way to keep state at long lasting processes. +-- Values can be stored within the objects, and later retrieved or changed when needed. +-- There is one other important thing to note, the @{#BASE.SetState}() and @{#BASE.GetState} methods +-- receive as the **first parameter the object for which the state needs to be set**. +-- Thus, if the state is to be set for the same object as the object for which the method is used, then provide the same +-- object name to the method. +-- +-- ## 1.10) Inheritance +-- +-- The following methods are available to implement inheritance +-- +-- * @{#BASE.Inherit}: Inherits from a class. +-- * @{#BASE.GetParent}: Returns the parent object from the object it is handling, or nil if there is no parent object. +-- +-- === +-- +-- @field #BASE BASE +-- +BASE = { + ClassName = "BASE", + ClassID = 0, + _Private = {}, + Events = {}, + States = {} +} + +--- The Formation Class +-- @type FORMATION +-- @field Cone A cone formation. +FORMATION = { + Cone = "Cone" +} + + + +--- BASE constructor. +-- +-- This is an example how to use the BASE:New() constructor in a new class definition when inheriting from BASE. +-- +-- function EVENT:New() +-- local self = BASE:Inherit( self, BASE:New() ) -- #EVENT +-- return self +-- end +-- +-- @param #BASE self +-- @return #BASE +function BASE:New() + local self = routines.utils.deepCopy( self ) -- Create a new self instance + local MetaTable = {} + setmetatable( self, MetaTable ) + self.__index = self + _ClassID = _ClassID + 1 + self.ClassID = _ClassID + + + return self +end + +function BASE:_Destructor() + --self:E("_Destructor") + + --self:EventRemoveAll() +end + + +-- THIS IS WHY WE NEED LUA 5.2 ... +function BASE:_SetDestructor() + + -- TODO: Okay, this is really technical... + -- When you set a proxy to a table to catch __gc, weak tables don't behave like weak... + -- Therefore, I am parking this logic until I've properly discussed all this with the community. + + local proxy = newproxy(true) + local proxyMeta = getmetatable(proxy) + + proxyMeta.__gc = function () + env.info("In __gc for " .. self:GetClassNameAndID() ) + if self._Destructor then + self:_Destructor() + end + end + + -- keep the userdata from newproxy reachable until the object + -- table is about to be garbage-collected - then the __gc hook + -- will be invoked and the destructor called + rawset( self, '__proxy', proxy ) + +end + +--- This is the worker method to inherit from a parent class. +-- @param #BASE self +-- @param Child is the Child class that inherits. +-- @param #BASE Parent is the Parent class that the Child inherits from. +-- @return #BASE Child +function BASE:Inherit( Child, Parent ) + local Child = routines.utils.deepCopy( Child ) + --local Parent = routines.utils.deepCopy( Parent ) + --local Parent = Parent + if Child ~= nil then + setmetatable( Child, Parent ) + Child.__index = Child + + --Child:_SetDestructor() + end + --self:T( 'Inherited from ' .. Parent.ClassName ) + return Child +end + +--- This is the worker method to retrieve the Parent class. +-- Note that the Parent class must be passed to call the parent class method. +-- +-- self:GetParent(self):ParentMethod() +-- +-- +-- @param #BASE self +-- @param #BASE Child is the Child class from which the Parent class needs to be retrieved. +-- @return #BASE +function BASE:GetParent( Child ) + local Parent = getmetatable( Child ) +-- env.info('Inherited class of ' .. Child.ClassName .. ' is ' .. Parent.ClassName ) + return Parent +end + +--- Get the ClassName + ClassID of the class instance. +-- The ClassName + ClassID is formatted as '%s#%09d'. +-- @param #BASE self +-- @return #string The ClassName + ClassID of the class instance. +function BASE:GetClassNameAndID() + return string.format( '%s#%09d', self.ClassName, self.ClassID ) +end + +--- Get the ClassName of the class instance. +-- @param #BASE self +-- @return #string The ClassName of the class instance. +function BASE:GetClassName() + return self.ClassName +end + +--- Get the ClassID of the class instance. +-- @param #BASE self +-- @return #string The ClassID of the class instance. +function BASE:GetClassID() + return self.ClassID +end + +do -- Event Handling + + --- Returns the event dispatcher + -- @param #BASE self + -- @return Core.Event#EVENT + function BASE:EventDispatcher() + + return _EVENTDISPATCHER + end + + + --- Get the Class @{Event} processing Priority. + -- The Event processing Priority is a number from 1 to 10, + -- reflecting the order of the classes subscribed to the Event to be processed. + -- @param #BASE self + -- @return #number The @{Event} processing Priority. + function BASE:GetEventPriority() + return self._Private.EventPriority or 5 + end + + --- Set the Class @{Event} processing Priority. + -- The Event processing Priority is a number from 1 to 10, + -- reflecting the order of the classes subscribed to the Event to be processed. + -- @param #BASE self + -- @param #number EventPriority The @{Event} processing Priority. + -- @return self + function BASE:SetEventPriority( EventPriority ) + self._Private.EventPriority = EventPriority + end + + --- Remove all subscribed events + -- @param #BASE self + -- @return #BASE + function BASE:EventRemoveAll() + + self:EventDispatcher():RemoveAll( self ) + + return self + end + + --- Subscribe to a DCS Event. + -- @param #BASE self + -- @param Core.Event#EVENTS Event + -- @param #function EventFunction (optional) The function to be called when the event occurs for the unit. + -- @return #BASE + function BASE:HandleEvent( Event, EventFunction ) + + self:EventDispatcher():OnEventGeneric( EventFunction, self, Event ) + + return self + end + + --- UnSubscribe to a DCS event. + -- @param #BASE self + -- @param Core.Event#EVENTS Event + -- @return #BASE + function BASE:UnHandleEvent( Event ) + + self:EventDispatcher():Remove( self, Event ) + + return self + end + + -- Event handling function prototypes + + --- Occurs whenever any unit in a mission fires a weapon. But not any machine gun or autocannon based weapon, those are handled by EVENT.ShootingStart. + -- @function [parent=#BASE] OnEventShot + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs whenever an object is hit by a weapon. + -- initiator : The unit object the fired the weapon + -- weapon: Weapon object that hit the target + -- target: The Object that was hit. + -- @function [parent=#BASE] OnEventHit + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when an aircraft takes off from an airbase, farp, or ship. + -- initiator : The unit that tookoff + -- place: Object from where the AI took-off from. Can be an Airbase Object, FARP, or Ships + -- @function [parent=#BASE] OnEventTakeoff + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when an aircraft lands at an airbase, farp or ship + -- initiator : The unit that has landed + -- place: Object that the unit landed on. Can be an Airbase Object, FARP, or Ships + -- @function [parent=#BASE] OnEventLand + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any aircraft crashes into the ground and is completely destroyed. + -- initiator : The unit that has crashed + -- @function [parent=#BASE] OnEventCrash + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when a pilot ejects from an aircraft + -- initiator : The unit that has ejected + -- @function [parent=#BASE] OnEventEjection + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when an aircraft connects with a tanker and begins taking on fuel. + -- initiator : The unit that is receiving fuel. + -- @function [parent=#BASE] OnEventRefueling + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when an object is completely destroyed. + -- initiator : The unit that is was destroyed. + -- @function [parent=#BASE] OnEvent + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when the pilot of an aircraft is killed. Can occur either if the player is alive and crashes or if a weapon kills the pilot without completely destroying the plane. + -- initiator : The unit that the pilot has died in. + -- @function [parent=#BASE] OnEventPilotDead + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when a ground unit captures either an airbase or a farp. + -- initiator : The unit that captured the base + -- place: The airbase that was captured, can be a FARP or Airbase. When calling place:getCoalition() the faction will already be the new owning faction. + -- @function [parent=#BASE] OnEventBaseCaptured + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when a mission starts + -- @function [parent=#BASE] OnEventMissionStart + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when a mission ends + -- @function [parent=#BASE] OnEventMissionEnd + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when an aircraft is finished taking fuel. + -- initiator : The unit that was receiving fuel. + -- @function [parent=#BASE] OnEventRefuelingStop + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any object is spawned into the mission. + -- initiator : The unit that was spawned + -- @function [parent=#BASE] OnEventBirth + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any system fails on a human controlled aircraft. + -- initiator : The unit that had the failure + -- @function [parent=#BASE] OnEventHumanFailure + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any aircraft starts its engines. + -- initiator : The unit that is starting its engines. + -- @function [parent=#BASE] OnEventEngineStartup + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any aircraft shuts down its engines. + -- initiator : The unit that is stopping its engines. + -- @function [parent=#BASE] OnEventEngineShutdown + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any player assumes direct control of a unit. + -- initiator : The unit that is being taken control of. + -- @function [parent=#BASE] OnEventPlayerEnterUnit + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any player relieves control of a unit to the AI. + -- initiator : The unit that the player left. + -- @function [parent=#BASE] OnEventPlayerLeaveUnit + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any unit begins firing a weapon that has a high rate of fire. Most common with aircraft cannons (GAU-8), autocannons, and machine guns. + -- initiator : The unit that is doing the shooing. + -- target: The unit that is being targeted. + -- @function [parent=#BASE] OnEventShootingStart + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + + --- Occurs when any unit stops firing its weapon. Event will always correspond with a shooting start event. + -- initiator : The unit that was doing the shooing. + -- @function [parent=#BASE] OnEventShootingEnd + -- @param #BASE self + -- @param Core.Event#EVENTDATA EventData The EventData structure. + +end + + +--- Creation of a Birth Event. +-- @param #BASE self +-- @param Dcs.DCSTypes#Time EventTime The time stamp of the event. +-- @param Dcs.DCSWrapper.Object#Object Initiator The initiating object of the event. +-- @param #string IniUnitName The initiating unit name. +-- @param place +-- @param subplace +function BASE:CreateEventBirth( EventTime, Initiator, IniUnitName, place, subplace ) + self:F( { EventTime, Initiator, IniUnitName, place, subplace } ) + + local Event = { + id = world.event.S_EVENT_BIRTH, + time = EventTime, + initiator = Initiator, + IniUnitName = IniUnitName, + place = place, + subplace = subplace + } + + world.onEvent( Event ) +end + +--- Creation of a Crash Event. +-- @param #BASE self +-- @param Dcs.DCSTypes#Time EventTime The time stamp of the event. +-- @param Dcs.DCSWrapper.Object#Object Initiator The initiating object of the event. +function BASE:CreateEventCrash( EventTime, Initiator ) + self:F( { EventTime, Initiator } ) + + local Event = { + id = world.event.S_EVENT_CRASH, + time = EventTime, + initiator = Initiator, + } + + world.onEvent( Event ) +end + +-- TODO: Complete Dcs.DCSTypes#Event structure. +--- The main event handling function... This function captures all events generated for the class. +-- @param #BASE self +-- @param Dcs.DCSTypes#Event event +function BASE:onEvent(event) + --self:F( { BaseEventCodes[event.id], event } ) + + if self then + for EventID, EventObject in pairs( self.Events ) do + if EventObject.EventEnabled then + --env.info( 'onEvent Table EventObject.Self = ' .. tostring(EventObject.Self) ) + --env.info( 'onEvent event.id = ' .. tostring(event.id) ) + --env.info( 'onEvent EventObject.Event = ' .. tostring(EventObject.Event) ) + if event.id == EventObject.Event then + if self == EventObject.Self then + if event.initiator and event.initiator:isExist() then + event.IniUnitName = event.initiator:getName() + end + if event.target and event.target:isExist() then + event.TgtUnitName = event.target:getName() + end + --self:T( { BaseEventCodes[event.id], event } ) + --EventObject.EventFunction( self, event ) + end + end + end + end + end +end + +--- Set a state or property of the Object given a Key and a Value. +-- Note that if the Object is destroyed, nillified or garbage collected, then the Values and Keys will also be gone. +-- @param #BASE self +-- @param Object The object that will hold the Value set by the Key. +-- @param Key The key that is used as a reference of the value. Note that the key can be a #string, but it can also be any other type! +-- @param Value The value to is stored in the object. +-- @return The Value set. +-- @return #nil The Key was not found and thus the Value could not be retrieved. +function BASE:SetState( Object, Key, Value ) + + local ClassNameAndID = Object:GetClassNameAndID() + + self.States[ClassNameAndID] = self.States[ClassNameAndID] or {} + self.States[ClassNameAndID][Key] = Value + self:T2( { ClassNameAndID, Key, Value } ) + + return self.States[ClassNameAndID][Key] +end + + +--- Get a Value given a Key from the Object. +-- Note that if the Object is destroyed, nillified or garbage collected, then the Values and Keys will also be gone. +-- @param #BASE self +-- @param Object The object that holds the Value set by the Key. +-- @param Key The key that is used to retrieve the value. Note that the key can be a #string, but it can also be any other type! +-- @param Value The value to is stored in the Object. +-- @return The Value retrieved. +function BASE:GetState( Object, Key ) + + local ClassNameAndID = Object:GetClassNameAndID() + + if self.States[ClassNameAndID] then + local Value = self.States[ClassNameAndID][Key] or false + self:T2( { ClassNameAndID, Key, Value } ) + return Value + end + + return nil +end + +function BASE:ClearState( Object, StateName ) + + local ClassNameAndID = Object:GetClassNameAndID() + if self.States[ClassNameAndID] then + self.States[ClassNameAndID][StateName] = nil + end +end + +-- Trace section + +-- Log a trace (only shown when trace is on) +-- TODO: Make trace function using variable parameters. + +--- Set trace on or off +-- Note that when trace is off, no debug statement is performed, increasing performance! +-- When Moose is loaded statically, (as one file), tracing is switched off by default. +-- So tracing must be switched on manually in your mission if you are using Moose statically. +-- When moose is loading dynamically (for moose class development), tracing is switched on by default. +-- @param #BASE self +-- @param #boolean TraceOnOff Switch the tracing on or off. +-- @usage +-- -- Switch the tracing On +-- BASE:TraceOnOff( true ) +-- +-- -- Switch the tracing Off +-- BASE:TraceOnOff( false ) +function BASE:TraceOnOff( TraceOnOff ) + _TraceOnOff = TraceOnOff +end + + +--- Enquires if tracing is on (for the class). +-- @param #BASE self +-- @return #boolean +function BASE:IsTrace() + + if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then + return true + else + return false + end +end + +--- Set trace level +-- @param #BASE self +-- @param #number Level +function BASE:TraceLevel( Level ) + _TraceLevel = Level + self:E( "Tracing level " .. Level ) +end + +--- Trace all methods in MOOSE +-- @param #BASE self +-- @param #boolean TraceAll true = trace all methods in MOOSE. +function BASE:TraceAll( TraceAll ) + + _TraceAll = TraceAll + + if _TraceAll then + self:E( "Tracing all methods in MOOSE " ) + else + self:E( "Switched off tracing all methods in MOOSE" ) + end +end + +--- Set tracing for a class +-- @param #BASE self +-- @param #string Class +function BASE:TraceClass( Class ) + _TraceClass[Class] = true + _TraceClassMethod[Class] = {} + self:E( "Tracing class " .. Class ) +end + +--- Set tracing for a specific method of class +-- @param #BASE self +-- @param #string Class +-- @param #string Method +function BASE:TraceClassMethod( Class, Method ) + if not _TraceClassMethod[Class] then + _TraceClassMethod[Class] = {} + _TraceClassMethod[Class].Method = {} + end + _TraceClassMethod[Class].Method[Method] = true + self:E( "Tracing method " .. Method .. " of class " .. Class ) +end + +--- Trace a function call. This function is private. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:_F( Arguments, DebugInfoCurrentParam, DebugInfoFromParam ) + + if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then + + local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" ) + local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" ) + + local Function = "function" + if DebugInfoCurrent.name then + Function = DebugInfoCurrent.name + end + + if _TraceAll == true or _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName].Method[Function] then + local LineCurrent = 0 + if DebugInfoCurrent.currentline then + LineCurrent = DebugInfoCurrent.currentline + end + local LineFrom = 0 + if DebugInfoFrom then + LineFrom = DebugInfoFrom.currentline + end + env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "F", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) ) + end + end +end + +--- Trace a function call. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:F( Arguments ) + + if debug and _TraceOnOff then + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + if _TraceLevel >= 1 then + self:_F( Arguments, DebugInfoCurrent, DebugInfoFrom ) + end + end +end + + +--- Trace a function call level 2. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:F2( Arguments ) + + if debug and _TraceOnOff then + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + if _TraceLevel >= 2 then + self:_F( Arguments, DebugInfoCurrent, DebugInfoFrom ) + end + end +end + +--- Trace a function call level 3. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:F3( Arguments ) + + if debug and _TraceOnOff then + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + if _TraceLevel >= 3 then + self:_F( Arguments, DebugInfoCurrent, DebugInfoFrom ) + end + end +end + +--- Trace a function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:_T( Arguments, DebugInfoCurrentParam, DebugInfoFromParam ) + + if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then + + local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" ) + local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" ) + + local Function = "function" + if DebugInfoCurrent.name then + Function = DebugInfoCurrent.name + end + + if _TraceAll == true or _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName].Method[Function] then + local LineCurrent = 0 + if DebugInfoCurrent.currentline then + LineCurrent = DebugInfoCurrent.currentline + end + local LineFrom = 0 + if DebugInfoFrom then + LineFrom = DebugInfoFrom.currentline + end + env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s" , LineCurrent, LineFrom, "T", self.ClassName, self.ClassID, routines.utils.oneLineSerialize( Arguments ) ) ) + end + end +end + +--- Trace a function logic level 1. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:T( Arguments ) + + if debug and _TraceOnOff then + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + if _TraceLevel >= 1 then + self:_T( Arguments, DebugInfoCurrent, DebugInfoFrom ) + end + end +end + + +--- Trace a function logic level 2. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:T2( Arguments ) + + if debug and _TraceOnOff then + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + if _TraceLevel >= 2 then + self:_T( Arguments, DebugInfoCurrent, DebugInfoFrom ) + end + end +end + +--- Trace a function logic level 3. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:T3( Arguments ) + + if debug and _TraceOnOff then + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + if _TraceLevel >= 3 then + self:_T( Arguments, DebugInfoCurrent, DebugInfoFrom ) + end + end +end + +--- Log an exception which will be traced always. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:E( Arguments ) + + if debug then + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + local Function = "function" + if DebugInfoCurrent.name then + Function = DebugInfoCurrent.name + end + + local LineCurrent = DebugInfoCurrent.currentline + local LineFrom = -1 + if DebugInfoFrom then + LineFrom = DebugInfoFrom.currentline + end + + env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) ) + end + +end + + + +--- **Core** - SCHEDULER prepares and handles the **execution of functions over scheduled time (intervals)**. +-- +-- ![Banner Image](..\Presentations\SCHEDULER\Dia1.JPG) +-- +-- === +-- +-- # 1) @{Scheduler#SCHEDULER} class, extends @{Base#BASE} +-- +-- The @{Scheduler#SCHEDULER} class creates schedule. +-- +-- ## 1.1) SCHEDULER constructor +-- +-- The SCHEDULER class is quite easy to use, but note that the New constructor has variable parameters: +-- +-- * @{Scheduler#SCHEDULER.New}( nil ): Setup a new SCHEDULER object, which is persistently executed after garbage collection. +-- * @{Scheduler#SCHEDULER.New}( Object ): Setup a new SCHEDULER object, which is linked to the Object. When the Object is nillified or destroyed, the SCHEDULER object will also be destroyed and stopped after garbage collection. +-- * @{Scheduler#SCHEDULER.New}( nil, Function, FunctionArguments, Start, ... ): Setup a new persistent SCHEDULER object, and start a new schedule for the Function with the defined FunctionArguments according the Start and sequent parameters. +-- * @{Scheduler#SCHEDULER.New}( Object, Function, FunctionArguments, Start, ... ): Setup a new SCHEDULER object, linked to Object, and start a new schedule for the Function with the defined FunctionArguments according the Start and sequent parameters. +-- +-- ## 1.2) SCHEDULER timer stopping and (re-)starting. +-- +-- The SCHEDULER can be stopped and restarted with the following methods: +-- +-- * @{Scheduler#SCHEDULER.Start}(): (Re-)Start the schedules within the SCHEDULER object. If a CallID is provided to :Start(), only the schedule referenced by CallID will be (re-)started. +-- * @{Scheduler#SCHEDULER.Stop}(): Stop the schedules within the SCHEDULER object. If a CallID is provided to :Stop(), then only the schedule referenced by CallID will be stopped. +-- +-- ## 1.3) Create a new schedule +-- +-- With @{Scheduler#SCHEDULER.Schedule}() a new time event can be scheduled. This function is used by the :New() constructor when a new schedule is planned. +-- +-- === +-- +-- ### Contributions: +-- +-- * FlightControl : Concept & Testing +-- +-- ### Authors: +-- +-- * FlightControl : Design & Programming +-- +-- ### Test Missions: +-- +-- * SCH - Scheduler +-- +-- === +-- +-- @module Scheduler + + +--- The SCHEDULER class +-- @type SCHEDULER +-- @field #number ScheduleID the ID of the scheduler. +-- @extends Core.Base#BASE +SCHEDULER = { + ClassName = "SCHEDULER", + Schedules = {}, +} + +--- SCHEDULER constructor. +-- @param #SCHEDULER self +-- @param #table SchedulerObject Specified for which Moose object the timer is setup. If a value of nil is provided, a scheduler will be setup without an object reference. +-- @param #function SchedulerFunction The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments. +-- @param #table SchedulerArguments Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }. +-- @param #number Start Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called. +-- @param #number Repeat Specifies the interval in seconds when the scheduler will call the event function. +-- @param #number RandomizeFactor Specifies a randomization factor between 0 and 1 to randomize the Repeat. +-- @param #number Stop Specifies the amount of seconds when the scheduler will be stopped. +-- @return #SCHEDULER self. +-- @return #number The ScheduleID of the planned schedule. +function SCHEDULER:New( SchedulerObject, SchedulerFunction, SchedulerArguments, Start, Repeat, RandomizeFactor, Stop ) + local self = BASE:Inherit( self, BASE:New() ) + self:F2( { Start, Repeat, RandomizeFactor, Stop } ) + + local ScheduleID = nil + + self.MasterObject = SchedulerObject + + if SchedulerFunction then + ScheduleID = self:Schedule( SchedulerObject, SchedulerFunction, SchedulerArguments, Start, Repeat, RandomizeFactor, Stop ) + end + + return self, ScheduleID +end + +--function SCHEDULER:_Destructor() +-- --self:E("_Destructor") +-- +-- _SCHEDULEDISPATCHER:RemoveSchedule( self.CallID ) +--end + +--- Schedule a new time event. Note that the schedule will only take place if the scheduler is *started*. Even for a single schedule event, the scheduler needs to be started also. +-- @param #SCHEDULER self +-- @param #table SchedulerObject Specified for which Moose object the timer is setup. If a value of nil is provided, a scheduler will be setup without an object reference. +-- @param #function SchedulerFunction The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments. +-- @param #table SchedulerArguments Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }. +-- @param #number Start Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called. +-- @param #number Repeat Specifies the interval in seconds when the scheduler will call the event function. +-- @param #number RandomizeFactor Specifies a randomization factor between 0 and 1 to randomize the Repeat. +-- @param #number Stop Specifies the amount of seconds when the scheduler will be stopped. +-- @return #number The ScheduleID of the planned schedule. +function SCHEDULER:Schedule( SchedulerObject, SchedulerFunction, SchedulerArguments, Start, Repeat, RandomizeFactor, Stop ) + self:F2( { Start, Repeat, RandomizeFactor, Stop } ) + self:T3( { SchedulerArguments } ) + + local ObjectName = "-" + if SchedulerObject and SchedulerObject.ClassName and SchedulerObject.ClassID then + ObjectName = SchedulerObject.ClassName .. SchedulerObject.ClassID + end + self:F3( { "Schedule :", ObjectName, tostring( SchedulerObject ), Start, Repeat, RandomizeFactor, Stop } ) + self.SchedulerObject = SchedulerObject + + local ScheduleID = _SCHEDULEDISPATCHER:AddSchedule( + self, + SchedulerFunction, + SchedulerArguments, + Start, + Repeat, + RandomizeFactor, + Stop + ) + + self.Schedules[#self.Schedules+1] = ScheduleID + + return ScheduleID +end + +--- (Re-)Starts the schedules or a specific schedule if a valid ScheduleID is provided. +-- @param #SCHEDULER self +-- @param #number ScheduleID (optional) The ScheduleID of the planned (repeating) schedule. +function SCHEDULER:Start( ScheduleID ) + self:F3( { ScheduleID } ) + + _SCHEDULEDISPATCHER:Start( self, ScheduleID ) +end + +--- Stops the schedules or a specific schedule if a valid ScheduleID is provided. +-- @param #SCHEDULER self +-- @param #number ScheduleID (optional) The ScheduleID of the planned (repeating) schedule. +function SCHEDULER:Stop( ScheduleID ) + self:F3( { ScheduleID } ) + + _SCHEDULEDISPATCHER:Stop( self, ScheduleID ) +end + +--- Removes a specific schedule if a valid ScheduleID is provided. +-- @param #SCHEDULER self +-- @param #number ScheduleID (optional) The ScheduleID of the planned (repeating) schedule. +function SCHEDULER:Remove( ScheduleID ) + self:F3( { ScheduleID } ) + + _SCHEDULEDISPATCHER:Remove( self, ScheduleID ) +end + +--- Clears all pending schedules. +-- @param #SCHEDULER self +function SCHEDULER:Clear() + self:F3( ) + + _SCHEDULEDISPATCHER:Clear( self ) +end + + + + + + + + + + + + + + +--- This module defines the SCHEDULEDISPATCHER class, which is used by a central object called _SCHEDULEDISPATCHER. +-- +-- === +-- +-- Takes care of the creation and dispatching of scheduled functions for SCHEDULER objects. +-- +-- This class is tricky and needs some thorought explanation. +-- SCHEDULE classes are used to schedule functions for objects, or as persistent objects. +-- The SCHEDULEDISPATCHER class ensures that: +-- +-- - Scheduled functions are planned according the SCHEDULER object parameters. +-- - Scheduled functions are repeated when requested, according the SCHEDULER object parameters. +-- - Scheduled functions are automatically removed when the schedule is finished, according the SCHEDULER object parameters. +-- +-- The SCHEDULEDISPATCHER class will manage SCHEDULER object in memory during garbage collection: +-- - When a SCHEDULER object is not attached to another object (that is, it's first :Schedule() parameter is nil), then the SCHEDULER +-- object is _persistent_ within memory. +-- - When a SCHEDULER object *is* attached to another object, then the SCHEDULER object is _not persistent_ within memory after a garbage collection! +-- The none persistency of SCHEDULERS attached to objects is required to allow SCHEDULER objects to be garbage collectged, when the parent object is also desroyed or nillified and garbage collected. +-- Even when there are pending timer scheduled functions to be executed for the SCHEDULER object, +-- these will not be executed anymore when the SCHEDULER object has been destroyed. +-- +-- The SCHEDULEDISPATCHER allows multiple scheduled functions to be planned and executed for one SCHEDULER object. +-- The SCHEDULER object therefore keeps a table of "CallID's", which are returned after each planning of a new scheduled function by the SCHEDULEDISPATCHER. +-- The SCHEDULER object plans new scheduled functions through the @{Scheduler#SCHEDULER.Schedule}() method. +-- The Schedule() method returns the CallID that is the reference ID for each planned schedule. +-- +-- === +-- +-- === +-- +-- ### Contributions: - +-- ### Authors: FlightControl : Design & Programming +-- +-- @module ScheduleDispatcher + +--- The SCHEDULEDISPATCHER structure +-- @type SCHEDULEDISPATCHER +SCHEDULEDISPATCHER = { + ClassName = "SCHEDULEDISPATCHER", + CallID = 0, +} + +function SCHEDULEDISPATCHER:New() + local self = BASE:Inherit( self, BASE:New() ) + self:F3() + return self +end + +--- Add a Schedule to the ScheduleDispatcher. +-- The development of this method was really tidy. +-- It is constructed as such that a garbage collection is executed on the weak tables, when the Scheduler is nillified. +-- Nothing of this code should be modified without testing it thoroughly. +-- @param #SCHEDULEDISPATCHER self +-- @param Core.Scheduler#SCHEDULER Scheduler +function SCHEDULEDISPATCHER:AddSchedule( Scheduler, ScheduleFunction, ScheduleArguments, Start, Repeat, Randomize, Stop ) + self:F2( { Scheduler, ScheduleFunction, ScheduleArguments, Start, Repeat, Randomize, Stop } ) + + self.CallID = self.CallID + 1 + + -- Initialize the ObjectSchedulers array, which is a weakly coupled table. + -- If the object used as the key is nil, then the garbage collector will remove the item from the Functions array. + self.PersistentSchedulers = self.PersistentSchedulers or {} + + -- Initialize the ObjectSchedulers array, which is a weakly coupled table. + -- If the object used as the key is nil, then the garbage collector will remove the item from the Functions array. + self.ObjectSchedulers = self.ObjectSchedulers or setmetatable( {}, { __mode = "v" } ) -- or {} + + if Scheduler.MasterObject then + self.ObjectSchedulers[self.CallID] = Scheduler + self:F3( { CallID = self.CallID, ObjectScheduler = tostring(self.ObjectSchedulers[self.CallID]), MasterObject = tostring(Scheduler.MasterObject) } ) + else + self.PersistentSchedulers[self.CallID] = Scheduler + self:F3( { CallID = self.CallID, PersistentScheduler = self.PersistentSchedulers[self.CallID] } ) + end + + self.Schedule = self.Schedule or setmetatable( {}, { __mode = "k" } ) + self.Schedule[Scheduler] = self.Schedule[Scheduler] or {} + self.Schedule[Scheduler][self.CallID] = {} + self.Schedule[Scheduler][self.CallID].Function = ScheduleFunction + self.Schedule[Scheduler][self.CallID].Arguments = ScheduleArguments + self.Schedule[Scheduler][self.CallID].StartTime = timer.getTime() + ( Start or 0 ) + self.Schedule[Scheduler][self.CallID].Start = Start + .1 + self.Schedule[Scheduler][self.CallID].Repeat = Repeat + self.Schedule[Scheduler][self.CallID].Randomize = Randomize + self.Schedule[Scheduler][self.CallID].Stop = Stop + + self:T3( self.Schedule[Scheduler][self.CallID] ) + + self.Schedule[Scheduler][self.CallID].CallHandler = function( CallID ) + self:F2( CallID ) + + local ErrorHandler = function( errmsg ) + env.info( "Error in timer function: " .. errmsg ) + if debug ~= nil then + env.info( debug.traceback() ) + end + return errmsg + end + + local Scheduler = self.ObjectSchedulers[CallID] + if not Scheduler then + Scheduler = self.PersistentSchedulers[CallID] + end + + self:T3( { Scheduler = Scheduler } ) + + if Scheduler then + + local Schedule = self.Schedule[Scheduler][CallID] + + self:T3( { Schedule = Schedule } ) + + local ScheduleObject = Scheduler.SchedulerObject + --local ScheduleObjectName = Scheduler.SchedulerObject:GetNameAndClassID() + local ScheduleFunction = Schedule.Function + local ScheduleArguments = Schedule.Arguments + local Start = Schedule.Start + local Repeat = Schedule.Repeat or 0 + local Randomize = Schedule.Randomize or 0 + local Stop = Schedule.Stop or 0 + local ScheduleID = Schedule.ScheduleID + + local Status, Result + if ScheduleObject then + local function Timer() + return ScheduleFunction( ScheduleObject, unpack( ScheduleArguments ) ) + end + Status, Result = xpcall( Timer, ErrorHandler ) + else + local function Timer() + return ScheduleFunction( unpack( ScheduleArguments ) ) + end + Status, Result = xpcall( Timer, ErrorHandler ) + end + + local CurrentTime = timer.getTime() + local StartTime = CurrentTime + Start + + if Status and (( Result == nil ) or ( Result and Result ~= false ) ) then + if Repeat ~= 0 and ( Stop == 0 ) or ( Stop ~= 0 and CurrentTime <= StartTime + Stop ) then + local ScheduleTime = + CurrentTime + + Repeat + + math.random( + - ( Randomize * Repeat / 2 ), + ( Randomize * Repeat / 2 ) + ) + + 0.01 + self:T3( { Repeat = CallID, CurrentTime, ScheduleTime, ScheduleArguments } ) + return ScheduleTime -- returns the next time the function needs to be called. + else + self:Stop( Scheduler, CallID ) + end + else + self:Stop( Scheduler, CallID ) + end + else + self:E( "Scheduled obscolete call for CallID: " .. CallID ) + end + + return nil + end + + self:Start( Scheduler, self.CallID ) + + return self.CallID +end + +function SCHEDULEDISPATCHER:RemoveSchedule( Scheduler, CallID ) + self:F2( { Remove = CallID, Scheduler = Scheduler } ) + + if CallID then + self:Stop( Scheduler, CallID ) + self.Schedule[Scheduler][CallID] = nil + end +end + +function SCHEDULEDISPATCHER:Start( Scheduler, CallID ) + self:F2( { Start = CallID, Scheduler = Scheduler } ) + + if CallID then + local Schedule = self.Schedule[Scheduler] + -- Only start when there is no ScheduleID defined! + -- This prevents to "Start" the scheduler twice with the same CallID... + if not Schedule[CallID].ScheduleID then + Schedule[CallID].ScheduleID = timer.scheduleFunction( + Schedule[CallID].CallHandler, + CallID, + timer.getTime() + Schedule[CallID].Start + ) + end + else + for CallID, Schedule in pairs( self.Schedule[Scheduler] ) do + self:Start( Scheduler, CallID ) -- Recursive + end + end +end + +function SCHEDULEDISPATCHER:Stop( Scheduler, CallID ) + self:F2( { Stop = CallID, Scheduler = Scheduler } ) + + if CallID then + local Schedule = self.Schedule[Scheduler] + -- Only stop when there is a ScheduleID defined for the CallID. + -- So, when the scheduler was stopped before, do nothing. + if Schedule[CallID].ScheduleID then + timer.removeFunction( Schedule[CallID].ScheduleID ) + Schedule[CallID].ScheduleID = nil + end + else + for CallID, Schedule in pairs( self.Schedule[Scheduler] ) do + self:Stop( Scheduler, CallID ) -- Recursive + end + end +end + +function SCHEDULEDISPATCHER:Clear( Scheduler ) + self:F2( { Scheduler = Scheduler } ) + + for CallID, Schedule in pairs( self.Schedule[Scheduler] ) do + self:Stop( Scheduler, CallID ) -- Recursive + end +end + + + +--- **Core** - EVENT models DCS **event dispatching** using a **publish-subscribe** model. +-- +-- ![Banner Image](..\Presentations\EVENT\Dia1.JPG) +-- +-- === +-- +-- # 1) Event Handling Overview +-- +-- ![Objects](..\Presentations\EVENT\Dia2.JPG) +-- +-- Within a running mission, various DCS events occur. Units are dynamically created, crash, die, shoot stuff, get hit etc. +-- This module provides a mechanism to dispatch those events occuring within your running mission, to the different objects orchestrating your mission. +-- +-- ![Objects](..\Presentations\EVENT\Dia3.JPG) +-- +-- Objects can subscribe to different events. The Event dispatcher will publish the received DCS events to the subscribed MOOSE objects, in a specified order. +-- In this way, the subscribed MOOSE objects are kept in sync with your evolving running mission. +-- +-- ## 1.1) Event Dispatching +-- +-- ![Objects](..\Presentations\EVENT\Dia4.JPG) +-- +-- The _EVENTDISPATCHER object is automatically created within MOOSE, +-- and handles the dispatching of DCS Events occurring +-- in the simulator to the subscribed objects +-- in the correct processing order. +-- +-- ![Objects](..\Presentations\EVENT\Dia5.JPG) +-- +-- There are 5 levels of kind of objects that the _EVENTDISPATCHER services: +-- +-- * _DATABASE object: The core of the MOOSE objects. Any object that is created, deleted or updated, is done in this database. +-- * SET_ derived classes: Subsets of the _DATABASE object. These subsets are updated by the _EVENTDISPATCHER as the second priority. +-- * UNIT objects: UNIT objects can subscribe to DCS events. Each DCS event will be directly published to teh subscribed UNIT object. +-- * GROUP objects: GROUP objects can subscribe to DCS events. Each DCS event will be directly published to the subscribed GROUP object. +-- * Any other object: Various other objects can subscribe to DCS events. Each DCS event triggered will be published to each subscribed object. +-- +-- ![Objects](..\Presentations\EVENT\Dia6.JPG) +-- +-- For most DCS events, the above order of updating will be followed. +-- +-- ![Objects](..\Presentations\EVENT\Dia7.JPG) +-- +-- But for some DCS events, the publishing order is reversed. This is due to the fact that objects need to be **erased** instead of added. +-- +-- ## 1.2) Event Handling +-- +-- ![Objects](..\Presentations\EVENT\Dia8.JPG) +-- +-- The actual event subscribing and handling is not facilitated through the _EVENTDISPATCHER, but it is done through the @{BASE} class, @{UNIT} class and @{GROUP} class. +-- The _EVENTDISPATCHER is a component that is quietly working in the background of MOOSE. +-- +-- ![Objects](..\Presentations\EVENT\Dia9.JPG) +-- +-- The BASE class provides methods to catch DCS Events. These are events that are triggered from within the DCS simulator, +-- and handled through lua scripting. MOOSE provides an encapsulation to handle these events more efficiently. +-- +-- ### 1.2.1 Subscribe / Unsubscribe to DCS Events +-- +-- At first, the mission designer will need to **Subscribe** to a specific DCS event for the class. +-- So, when the DCS event occurs, the class will be notified of that event. +-- There are two functions which you use to subscribe to or unsubscribe from an event. +-- +-- * @{Base#BASE.HandleEvent}(): Subscribe to a DCS Event. +-- * @{Base#BASE.UnHandleEvent}(): Unsubscribe from a DCS Event. +-- +-- Note that for a UNIT, the event will be handled **for that UNIT only**! +-- Note that for a GROUP, the event will be handled **for all the UNITs in that GROUP only**! +-- +-- For all objects of other classes, the subscribed events will be handled for **all UNITs within the Mission**! +-- So if a UNIT within the mission has the subscribed event for that object, +-- then the object event handler will receive the event for that UNIT! +-- +-- ### 1.3.2 Event Handling of DCS Events +-- +-- Once the class is subscribed to the event, an **Event Handling** method on the object or class needs to be written that will be called +-- when the DCS event occurs. The Event Handling method receives an @{Event#EVENTDATA} structure, which contains a lot of information +-- about the event that occurred. +-- +-- Find below an example of the prototype how to write an event handling function for two units: +-- +-- local Tank1 = UNIT:FindByName( "Tank A" ) +-- local Tank2 = UNIT:FindByName( "Tank B" ) +-- +-- -- Here we subscribe to the Dead events. So, if one of these tanks dies, the Tank1 or Tank2 objects will be notified. +-- Tank1:HandleEvent( EVENTS.Dead ) +-- Tank2:HandleEvent( EVENTS.Dead ) +-- +-- --- This function is an Event Handling function that will be called when Tank1 is Dead. +-- -- @param Wrapper.Unit#UNIT self +-- -- @param Core.Event#EVENTDATA EventData +-- function Tank1:OnEventDead( EventData ) +-- +-- self:SmokeGreen() +-- end +-- +-- --- This function is an Event Handling function that will be called when Tank2 is Dead. +-- -- @param Wrapper.Unit#UNIT self +-- -- @param Core.Event#EVENTDATA EventData +-- function Tank2:OnEventDead( EventData ) +-- +-- self:SmokeBlue() +-- end +-- +-- ### 1.3.3 Event Handling methods that are automatically called upon subscribed DCS events +-- +-- ![Objects](..\Presentations\EVENT\Dia10.JPG) +-- +-- The following list outlines which EVENTS item in the structure corresponds to which Event Handling method. +-- Always ensure that your event handling methods align with the events being subscribed to, or nothing will be executed. +-- +-- # 2) EVENTS type +-- +-- The EVENTS structure contains names for all the different DCS events that objects can subscribe to using the +-- @{Base#BASE.HandleEvent}() method. +-- +-- # 3) EVENTDATA type +-- +-- The @{Event#EVENTDATA} structure contains all the fields that are populated with event information before +-- an Event Handler method is being called by the event dispatcher. +-- The Event Handler received the EVENTDATA object as a parameter, and can be used to investigate further the different events. +-- There are basically 4 main categories of information stored in the EVENTDATA structure: +-- +-- * Initiator Unit data: Several fields documenting the initiator unit related to the event. +-- * Target Unit data: Several fields documenting the target unit related to the event. +-- * Weapon data: Certain events populate weapon information. +-- * Place data: Certain events populate place information. +-- +-- --- This function is an Event Handling function that will be called when Tank1 is Dead. +-- -- EventData is an EVENTDATA structure. +-- -- We use the EventData.IniUnit to smoke the tank Green. +-- -- @param Wrapper.Unit#UNIT self +-- -- @param Core.Event#EVENTDATA EventData +-- function Tank1:OnEventDead( EventData ) +-- +-- EventData.IniUnit:SmokeGreen() +-- end +-- +-- +-- Find below an overview which events populate which information categories: +-- +-- ![Objects](..\Presentations\EVENT\Dia14.JPG) +-- +-- **IMPORTANT NOTE:** Some events can involve not just UNIT objects, but also STATIC objects!!! +-- In that case the initiator or target unit fields will refer to a STATIC object! +-- In case a STATIC object is involved, the documentation indicates which fields will and won't not be populated. +-- The fields **IniObjectCategory** and **TgtObjectCategory** contain the indicator which **kind of object is involved** in the event. +-- You can use the enumerator **Object.Category.UNIT** and **Object.Category.STATIC** to check on IniObjectCategory and TgtObjectCategory. +-- Example code snippet: +-- +-- if Event.IniObjectCategory == Object.Category.UNIT then +-- ... +-- end +-- if Event.IniObjectCategory == Object.Category.STATIC then +-- ... +-- end +-- +-- When a static object is involved in the event, the Group and Player fields won't be populated. +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- YYYY-MM-DD: CLASS:**NewFunction**( Params ) replaces CLASS:_OldFunction_( Params ) +-- YYYY-MM-DD: CLASS:**NewFunction( Params )** added +-- +-- Hereby the change log: +-- +-- * 2017-03-07: Added the correct event dispatching in case the event is subscribed by a GROUP. +-- +-- * 2017-02-07: Did a complete revision of the Event Handing API and underlying mechanisms. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- ### Authors: +-- +-- * [**FlightControl**](https://forums.eagle.ru/member.php?u=89536): Design & Programming & documentation. +-- +-- @module Event + + +--- The EVENT structure +-- @type EVENT +-- @field #EVENT.Events Events +-- @extends Core.Base#BASE +EVENT = { + ClassName = "EVENT", + ClassID = 0, +} + +--- The different types of events supported by MOOSE. +-- Use this structure to subscribe to events using the @{Base#BASE.HandleEvent}() method. +-- @type EVENTS +EVENTS = { + Shot = world.event.S_EVENT_SHOT, + Hit = world.event.S_EVENT_HIT, + Takeoff = world.event.S_EVENT_TAKEOFF, + Land = world.event.S_EVENT_LAND, + Crash = world.event.S_EVENT_CRASH, + Ejection = world.event.S_EVENT_EJECTION, + Refueling = world.event.S_EVENT_REFUELING, + Dead = world.event.S_EVENT_DEAD, + PilotDead = world.event.S_EVENT_PILOT_DEAD, + BaseCaptured = world.event.S_EVENT_BASE_CAPTURED, + MissionStart = world.event.S_EVENT_MISSION_START, + MissionEnd = world.event.S_EVENT_MISSION_END, + TookControl = world.event.S_EVENT_TOOK_CONTROL, + RefuelingStop = world.event.S_EVENT_REFUELING_STOP, + Birth = world.event.S_EVENT_BIRTH, + HumanFailure = world.event.S_EVENT_HUMAN_FAILURE, + EngineStartup = world.event.S_EVENT_ENGINE_STARTUP, + EngineShutdown = world.event.S_EVENT_ENGINE_SHUTDOWN, + PlayerEnterUnit = world.event.S_EVENT_PLAYER_ENTER_UNIT, + PlayerLeaveUnit = world.event.S_EVENT_PLAYER_LEAVE_UNIT, + PlayerComment = world.event.S_EVENT_PLAYER_COMMENT, + ShootingStart = world.event.S_EVENT_SHOOTING_START, + ShootingEnd = world.event.S_EVENT_SHOOTING_END, +} + +--- The Event structure +-- Note that at the beginning of each field description, there is an indication which field will be populated depending on the object type involved in the Event: +-- +-- * A (Object.Category.)UNIT : A UNIT object type is involved in the Event. +-- * A (Object.Category.)STATIC : A STATIC object type is involved in the Event.µ +-- +-- @type EVENTDATA +-- @field #number id The identifier of the event. +-- +-- @field Dcs.DCSUnit#Unit initiator (UNIT/STATIC/SCENERY) The initiating @{Dcs.DCSUnit#Unit} or @{Dcs.DCSStaticObject#StaticObject}. +-- @field Dcs.DCSObject#Object.Category IniObjectCategory (UNIT/STATIC/SCENERY) The initiator object category ( Object.Category.UNIT or Object.Category.STATIC ). +-- @field Dcs.DCSUnit#Unit IniDCSUnit (UNIT/STATIC) The initiating @{DCSUnit#Unit} or @{DCSStaticObject#StaticObject}. +-- @field #string IniDCSUnitName (UNIT/STATIC) The initiating Unit name. +-- @field Wrapper.Unit#UNIT IniUnit (UNIT/STATIC) The initiating MOOSE wrapper @{Unit#UNIT} of the initiator Unit object. +-- @field #string IniUnitName (UNIT/STATIC) The initiating UNIT name (same as IniDCSUnitName). +-- @field Dcs.DCSGroup#Group IniDCSGroup (UNIT) The initiating {DCSGroup#Group}. +-- @field #string IniDCSGroupName (UNIT) The initiating Group name. +-- @field Wrapper.Group#GROUP IniGroup (UNIT) The initiating MOOSE wrapper @{Group#GROUP} of the initiator Group object. +-- @field #string IniGroupName UNIT) The initiating GROUP name (same as IniDCSGroupName). +-- @field #string IniPlayerName (UNIT) The name of the initiating player in case the Unit is a client or player slot. +-- @field Dcs.DCScoalition#coalition.side IniCoalition (UNIT) The coalition of the initiator. +-- @field Dcs.DCSUnit#Unit.Category IniCategory (UNIT) The category of the initiator. +-- @field #string IniTypeName (UNIT) The type name of the initiator. +-- +-- @field Dcs.DCSUnit#Unit target (UNIT/STATIC) The target @{Dcs.DCSUnit#Unit} or @{DCSStaticObject#StaticObject}. +-- @field Dcs.DCSObject#Object.Category TgtObjectCategory (UNIT/STATIC) The target object category ( Object.Category.UNIT or Object.Category.STATIC ). +-- @field Dcs.DCSUnit#Unit TgtDCSUnit (UNIT/STATIC) The target @{DCSUnit#Unit} or @{DCSStaticObject#StaticObject}. +-- @field #string TgtDCSUnitName (UNIT/STATIC) The target Unit name. +-- @field Wrapper.Unit#UNIT TgtUnit (UNIT/STATIC) The target MOOSE wrapper @{Unit#UNIT} of the target Unit object. +-- @field #string TgtUnitName (UNIT/STATIC) The target UNIT name (same as TgtDCSUnitName). +-- @field Dcs.DCSGroup#Group TgtDCSGroup (UNIT) The target {DCSGroup#Group}. +-- @field #string TgtDCSGroupName (UNIT) The target Group name. +-- @field Wrapper.Group#GROUP TgtGroup (UNIT) The target MOOSE wrapper @{Group#GROUP} of the target Group object. +-- @field #string TgtGroupName (UNIT) The target GROUP name (same as TgtDCSGroupName). +-- @field #string TgtPlayerName (UNIT) The name of the target player in case the Unit is a client or player slot. +-- @field Dcs.DCScoalition#coalition.side TgtCoalition (UNIT) The coalition of the target. +-- @field Dcs.DCSUnit#Unit.Category TgtCategory (UNIT) The category of the target. +-- @field #string TgtTypeName (UNIT) The type name of the target. +-- +-- @field weapon The weapon used during the event. +-- @field Weapon +-- @field WeaponName +-- @field WeaponTgtDCSUnit + + +local _EVENTMETA = { + [world.event.S_EVENT_SHOT] = { + Order = 1, + Event = "OnEventShot", + Text = "S_EVENT_SHOT" + }, + [world.event.S_EVENT_HIT] = { + Order = 1, + Event = "OnEventHit", + Text = "S_EVENT_HIT" + }, + [world.event.S_EVENT_TAKEOFF] = { + Order = 1, + Event = "OnEventTakeoff", + Text = "S_EVENT_TAKEOFF" + }, + [world.event.S_EVENT_LAND] = { + Order = 1, + Event = "OnEventLand", + Text = "S_EVENT_LAND" + }, + [world.event.S_EVENT_CRASH] = { + Order = -1, + Event = "OnEventCrash", + Text = "S_EVENT_CRASH" + }, + [world.event.S_EVENT_EJECTION] = { + Order = 1, + Event = "OnEventEjection", + Text = "S_EVENT_EJECTION" + }, + [world.event.S_EVENT_REFUELING] = { + Order = 1, + Event = "OnEventRefueling", + Text = "S_EVENT_REFUELING" + }, + [world.event.S_EVENT_DEAD] = { + Order = -1, + Event = "OnEventDead", + Text = "S_EVENT_DEAD" + }, + [world.event.S_EVENT_PILOT_DEAD] = { + Order = 1, + Event = "OnEventPilotDead", + Text = "S_EVENT_PILOT_DEAD" + }, + [world.event.S_EVENT_BASE_CAPTURED] = { + Order = 1, + Event = "OnEventBaseCaptured", + Text = "S_EVENT_BASE_CAPTURED" + }, + [world.event.S_EVENT_MISSION_START] = { + Order = 1, + Event = "OnEventMissionStart", + Text = "S_EVENT_MISSION_START" + }, + [world.event.S_EVENT_MISSION_END] = { + Order = 1, + Event = "OnEventMissionEnd", + Text = "S_EVENT_MISSION_END" + }, + [world.event.S_EVENT_TOOK_CONTROL] = { + Order = 1, + Event = "OnEventTookControl", + Text = "S_EVENT_TOOK_CONTROL" + }, + [world.event.S_EVENT_REFUELING_STOP] = { + Order = 1, + Event = "OnEventRefuelingStop", + Text = "S_EVENT_REFUELING_STOP" + }, + [world.event.S_EVENT_BIRTH] = { + Order = 1, + Event = "OnEventBirth", + Text = "S_EVENT_BIRTH" + }, + [world.event.S_EVENT_HUMAN_FAILURE] = { + Order = 1, + Event = "OnEventHumanFailure", + Text = "S_EVENT_HUMAN_FAILURE" + }, + [world.event.S_EVENT_ENGINE_STARTUP] = { + Order = 1, + Event = "OnEventEngineStartup", + Text = "S_EVENT_ENGINE_STARTUP" + }, + [world.event.S_EVENT_ENGINE_SHUTDOWN] = { + Order = 1, + Event = "OnEventEngineShutdown", + Text = "S_EVENT_ENGINE_SHUTDOWN" + }, + [world.event.S_EVENT_PLAYER_ENTER_UNIT] = { + Order = 1, + Event = "OnEventPlayerEnterUnit", + Text = "S_EVENT_PLAYER_ENTER_UNIT" + }, + [world.event.S_EVENT_PLAYER_LEAVE_UNIT] = { + Order = -1, + Event = "OnEventPlayerLeaveUnit", + Text = "S_EVENT_PLAYER_LEAVE_UNIT" + }, + [world.event.S_EVENT_PLAYER_COMMENT] = { + Order = 1, + Event = "OnEventPlayerComment", + Text = "S_EVENT_PLAYER_COMMENT" + }, + [world.event.S_EVENT_SHOOTING_START] = { + Order = 1, + Event = "OnEventShootingStart", + Text = "S_EVENT_SHOOTING_START" + }, + [world.event.S_EVENT_SHOOTING_END] = { + Order = 1, + Event = "OnEventShootingEnd", + Text = "S_EVENT_SHOOTING_END" + }, +} + + +--- The Events structure +-- @type EVENT.Events +-- @field #number IniUnit + +function EVENT:New() + local self = BASE:Inherit( self, BASE:New() ) + self:F2() + self.EventHandler = world.addEventHandler( self ) + return self +end + +function EVENT:EventText( EventID ) + + local EventText = _EVENTMETA[EventID].Text + + return EventText +end + + +--- Initializes the Events structure for the event +-- @param #EVENT self +-- @param Dcs.DCSWorld#world.event EventID +-- @param Core.Base#BASE EventClass +-- @return #EVENT.Events +function EVENT:Init( EventID, EventClass ) + self:F3( { _EVENTMETA[EventID].Text, EventClass } ) + + if not self.Events[EventID] then + -- Create a WEAK table to ensure that the garbage collector is cleaning the event links when the object usage is cleaned. + self.Events[EventID] = setmetatable( {}, { __mode = "k" } ) + end + + -- Each event has a subtable of EventClasses, ordered by EventPriority. + local EventPriority = EventClass:GetEventPriority() + if not self.Events[EventID][EventPriority] then + self.Events[EventID][EventPriority] = setmetatable( {}, { __mode = "k" } ) + end + + if not self.Events[EventID][EventPriority][EventClass] then + self.Events[EventID][EventPriority][EventClass] = setmetatable( {}, { __mode = "v" } ) + end + return self.Events[EventID][EventPriority][EventClass] +end + +--- Removes an Events entry +-- @param #EVENT self +-- @param Core.Base#BASE EventClass The self instance of the class for which the event is. +-- @param Dcs.DCSWorld#world.event EventID +-- @return #EVENT.Events +function EVENT:Remove( EventClass, EventID ) + self:F3( { EventClass, _EVENTMETA[EventID].Text } ) + + local EventClass = EventClass + local EventPriority = EventClass:GetEventPriority() + self.Events[EventID][EventPriority][EventClass] = nil +end + +--- Removes an Events entry for a UNIT. +-- @param #EVENT self +-- @param #string UnitName The name of the UNIT. +-- @param Core.Base#BASE EventClass The self instance of the class for which the event is. +-- @param Dcs.DCSWorld#world.event EventID +-- @return #EVENT.Events +function EVENT:RemoveForUnit( UnitName, EventClass, EventID ) + self:F3( { EventClass, _EVENTMETA[EventID].Text } ) + + local EventClass = EventClass + local EventPriority = EventClass:GetEventPriority() + local Event = self.Events[EventID][EventPriority][EventClass] + Event.EventUnit[UnitName] = nil +end + +--- Removes an Events entry for a GROUP. +-- @param #EVENT self +-- @param #string GroupName The name of the GROUP. +-- @param Core.Base#BASE EventClass The self instance of the class for which the event is. +-- @param Dcs.DCSWorld#world.event EventID +-- @return #EVENT.Events +function EVENT:RemoveForGroup( GroupName, EventClass, EventID ) + self:F3( { EventClass, _EVENTMETA[EventID].Text } ) + + local EventClass = EventClass + local EventPriority = EventClass:GetEventPriority() + local Event = self.Events[EventID][EventPriority][EventClass] + Event.EventGroup[GroupName] = nil +end + +--- Clears all event subscriptions for a @{Base#BASE} derived object. +-- @param #EVENT self +-- @param Core.Base#BASE EventObject +function EVENT:RemoveAll( EventObject ) + self:F3( { EventObject:GetClassNameAndID() } ) + + local EventClass = EventObject:GetClassNameAndID() + local EventPriority = EventClass:GetEventPriority() + for EventID, EventData in pairs( self.Events ) do + self.Events[EventID][EventPriority][EventClass] = nil + end +end + + + +--- Create an OnDead event handler for a group +-- @param #EVENT self +-- @param #table EventTemplate +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventClass The instance of the class for which the event is. +-- @param #function OnEventFunction +-- @return #EVENT +function EVENT:OnEventForTemplate( EventTemplate, EventFunction, EventClass, EventID ) + self:F2( EventTemplate.name ) + + for EventUnitID, EventUnit in pairs( EventTemplate.units ) do + self:OnEventForUnit( EventUnit.name, EventFunction, EventClass, EventID ) + end + return self +end + +--- Set a new listener for an S_EVENT_X event independent from a unit or a weapon. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Core.Base#BASE EventClass The self instance of the class for which the event is captured. When the event happens, the event process will be called in this class provided. +-- @param EventID +-- @return #EVENT +function EVENT:OnEventGeneric( EventFunction, EventClass, EventID ) + self:F2( { EventID } ) + + local EventData = self:Init( EventID, EventClass ) + EventData.EventFunction = EventFunction + EventData.EventClass = EventClass + + return self +end + + +--- Set a new listener for an S_EVENT_X event for a UNIT. +-- @param #EVENT self +-- @param #string UnitName The name of the UNIT. +-- @param #function EventFunction The function to be called when the event occurs for the GROUP. +-- @param Core.Base#BASE EventClass The self instance of the class for which the event is. +-- @param EventID +-- @return #EVENT +function EVENT:OnEventForUnit( UnitName, EventFunction, EventClass, EventID ) + self:F2( UnitName ) + + local EventData = self:Init( EventID, EventClass ) + if not EventData.EventUnit then + EventData.EventUnit = {} + end + EventData.EventUnit[UnitName] = {} + EventData.EventUnit[UnitName].EventFunction = EventFunction + EventData.EventUnit[UnitName].EventClass = EventClass + return self +end + +--- Set a new listener for an S_EVENT_X event for a GROUP. +-- @param #EVENT self +-- @param #string GroupName The name of the GROUP. +-- @param #function EventFunction The function to be called when the event occurs for the GROUP. +-- @param Core.Base#BASE EventClass The self instance of the class for which the event is. +-- @param EventID +-- @return #EVENT +function EVENT:OnEventForGroup( GroupName, EventFunction, EventClass, EventID ) + self:F2( GroupName ) + + local Event = self:Init( EventID, EventClass ) + if not Event.EventGroup then + Event.EventGroup = {} + end + Event.EventGroup[GroupName] = {} + Event.EventGroup[GroupName].EventFunction = EventFunction + Event.EventGroup[GroupName].EventClass = EventClass + return self +end + +do -- OnBirth + + --- Create an OnBirth event handler for a group + -- @param #EVENT self + -- @param Wrapper.Group#GROUP EventGroup + -- @param #function EventFunction The function to be called when the event occurs for the unit. + -- @param EventClass The self instance of the class for which the event is. + -- @return #EVENT + function EVENT:OnBirthForTemplate( EventTemplate, EventFunction, EventClass ) + self:F2( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventClass, EVENTS.Birth ) + + return self + end + +end + +do -- OnCrash + + --- Create an OnCrash event handler for a group + -- @param #EVENT self + -- @param Wrapper.Group#GROUP EventGroup + -- @param #function EventFunction The function to be called when the event occurs for the unit. + -- @param EventClass The self instance of the class for which the event is. + -- @return #EVENT + function EVENT:OnCrashForTemplate( EventTemplate, EventFunction, EventClass ) + self:F2( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventClass, EVENTS.Crash ) + + return self + end + +end + +do -- OnDead + + --- Create an OnDead event handler for a group + -- @param #EVENT self + -- @param Wrapper.Group#GROUP EventGroup + -- @param #function EventFunction The function to be called when the event occurs for the unit. + -- @param EventClass The self instance of the class for which the event is. + -- @return #EVENT + function EVENT:OnDeadForTemplate( EventTemplate, EventFunction, EventClass ) + self:F2( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventClass, EVENTS.Dead ) + + return self + end + +end + + +do -- OnLand + --- Create an OnLand event handler for a group + -- @param #EVENT self + -- @param #table EventTemplate + -- @param #function EventFunction The function to be called when the event occurs for the unit. + -- @param EventClass The self instance of the class for which the event is. + -- @return #EVENT + function EVENT:OnLandForTemplate( EventTemplate, EventFunction, EventClass ) + self:F2( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventClass, EVENTS.Land ) + + return self + end + +end + +do -- OnTakeOff + --- Create an OnTakeOff event handler for a group + -- @param #EVENT self + -- @param #table EventTemplate + -- @param #function EventFunction The function to be called when the event occurs for the unit. + -- @param EventClass The self instance of the class for which the event is. + -- @return #EVENT + function EVENT:OnTakeOffForTemplate( EventTemplate, EventFunction, EventClass ) + self:F2( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventClass, EVENTS.Takeoff ) + + return self + end + +end + +do -- OnEngineShutDown + + --- Create an OnDead event handler for a group + -- @param #EVENT self + -- @param #table EventTemplate + -- @param #function EventFunction The function to be called when the event occurs for the unit. + -- @param EventClass The self instance of the class for which the event is. + -- @return #EVENT + function EVENT:OnEngineShutDownForTemplate( EventTemplate, EventFunction, EventClass ) + self:F2( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventClass, EVENTS.EngineShutdown ) + + return self + end + +end + + +--- @param #EVENT self +-- @param #EVENTDATA Event +function EVENT:onEvent( Event ) + + local ErrorHandler = function( errmsg ) + + env.info( "Error in SCHEDULER function:" .. errmsg ) + if debug ~= nil then + env.info( debug.traceback() ) + end + + return errmsg + end + + self:E( _EVENTMETA[Event.id].Text, Event ) + + if self and self.Events and self.Events[Event.id] then + + + if Event.initiator then + + Event.IniObjectCategory = Event.initiator:getCategory() + + if Event.IniObjectCategory == Object.Category.UNIT then + Event.IniDCSUnit = Event.initiator + Event.IniDCSUnitName = Event.IniDCSUnit:getName() + Event.IniUnitName = Event.IniDCSUnitName + Event.IniDCSGroup = Event.IniDCSUnit:getGroup() + Event.IniUnit = UNIT:FindByName( Event.IniDCSUnitName ) + if not Event.IniUnit then + -- Unit can be a CLIENT. Most likely this will be the case ... + Event.IniUnit = CLIENT:FindByName( Event.IniDCSUnitName, '', true ) + end + Event.IniDCSGroupName = "" + if Event.IniDCSGroup and Event.IniDCSGroup:isExist() then + Event.IniDCSGroupName = Event.IniDCSGroup:getName() + Event.IniGroup = GROUP:FindByName( Event.IniDCSGroupName ) + if Event.IniGroup then + Event.IniGroupName = Event.IniDCSGroupName + end + end + Event.IniPlayerName = Event.IniDCSUnit:getPlayerName() + Event.IniCoalition = Event.IniDCSUnit:getCoalition() + Event.IniTypeName = Event.IniDCSUnit:getTypeName() + Event.IniCategory = Event.IniDCSUnit:getDesc().category + end + + if Event.IniObjectCategory == Object.Category.STATIC then + Event.IniDCSUnit = Event.initiator + Event.IniDCSUnitName = Event.IniDCSUnit:getName() + Event.IniUnitName = Event.IniDCSUnitName + Event.IniUnit = STATIC:FindByName( Event.IniDCSUnitName, false ) + Event.IniCoalition = Event.IniDCSUnit:getCoalition() + Event.IniCategory = Event.IniDCSUnit:getDesc().category + Event.IniTypeName = Event.IniDCSUnit:getTypeName() + end + + if Event.IniObjectCategory == Object.Category.SCENERY then + Event.IniDCSUnit = Event.initiator + Event.IniDCSUnitName = Event.IniDCSUnit:getName() + Event.IniUnitName = Event.IniDCSUnitName + Event.IniUnit = SCENERY:Register( Event.IniDCSUnitName, Event.initiator ) + Event.IniCategory = Event.IniDCSUnit:getDesc().category + Event.IniTypeName = Event.IniDCSUnit:getTypeName() + end + end + + if Event.target then + + Event.TgtObjectCategory = Event.target:getCategory() + + if Event.TgtObjectCategory == Object.Category.UNIT then + Event.TgtDCSUnit = Event.target + Event.TgtDCSGroup = Event.TgtDCSUnit:getGroup() + Event.TgtDCSUnitName = Event.TgtDCSUnit:getName() + Event.TgtUnitName = Event.TgtDCSUnitName + Event.TgtUnit = UNIT:FindByName( Event.TgtDCSUnitName ) + Event.TgtDCSGroupName = "" + if Event.TgtDCSGroup and Event.TgtDCSGroup:isExist() then + Event.TgtDCSGroupName = Event.TgtDCSGroup:getName() + Event.TgtGroup = GROUP:FindByName( Event.TgtDCSGroupName ) + if Event.TgtGroup then + Event.TgtGroupName = Event.TgtDCSGroupName + end + end + Event.TgtPlayerName = Event.TgtDCSUnit:getPlayerName() + Event.TgtCoalition = Event.TgtDCSUnit:getCoalition() + Event.TgtCategory = Event.TgtDCSUnit:getDesc().category + Event.TgtTypeName = Event.TgtDCSUnit:getTypeName() + end + + if Event.TgtObjectCategory == Object.Category.STATIC then + Event.TgtDCSUnit = Event.target + Event.TgtDCSUnitName = Event.TgtDCSUnit:getName() + Event.TgtUnitName = Event.TgtDCSUnitName + Event.TgtUnit = STATIC:FindByName( Event.TgtDCSUnitName ) + Event.TgtCoalition = Event.TgtDCSUnit:getCoalition() + Event.TgtCategory = Event.TgtDCSUnit:getDesc().category + Event.TgtTypeName = Event.TgtDCSUnit:getTypeName() + end + + if Event.TgtObjectCategory == Object.Category.SCENERY then + Event.TgtDCSUnit = Event.target + Event.TgtDCSUnitName = Event.TgtDCSUnit:getName() + Event.TgtUnitName = Event.TgtDCSUnitName + Event.TgtUnit = SCENERY:Register( Event.TgtDCSUnitName, Event.target ) + Event.TgtCategory = Event.TgtDCSUnit:getDesc().category + Event.TgtTypeName = Event.TgtDCSUnit:getTypeName() + end + end + + if Event.weapon then + Event.Weapon = Event.weapon + Event.WeaponName = Event.Weapon:getTypeName() + Event.WeaponUNIT = CLIENT:Find( Event.Weapon, '', true ) -- Sometimes, the weapon is a player unit! + Event.WeaponPlayerName = Event.WeaponUNIT and Event.Weapon:getPlayerName() + Event.WeaponCoalition = Event.WeaponUNIT and Event.Weapon:getCoalition() + Event.WeaponCategory = Event.WeaponUNIT and Event.Weapon:getDesc().category + Event.WeaponTypeName = Event.WeaponUNIT and Event.Weapon:getTypeName() + --Event.WeaponTgtDCSUnit = Event.Weapon:getTarget() + end + + local PriorityOrder = _EVENTMETA[Event.id].Order + local PriorityBegin = PriorityOrder == -1 and 5 or 1 + local PriorityEnd = PriorityOrder == -1 and 1 or 5 + + if Event.IniObjectCategory ~= 3 then + self:E( { _EVENTMETA[Event.id].Text, Event, Event.IniDCSUnitName, Event.TgtDCSUnitName, PriorityOrder } ) + end + + for EventPriority = PriorityBegin, PriorityEnd, PriorityOrder do + + if self.Events[Event.id][EventPriority] then + + -- Okay, we got the event from DCS. Now loop the SORTED self.EventSorted[] table for the received Event.id, and for each EventData registered, check if a function needs to be called. + for EventClass, EventData in pairs( self.Events[Event.id][EventPriority] ) do + + Event.IniGroup = GROUP:FindByName( Event.IniDCSGroupName ) + Event.TgtGroup = GROUP:FindByName( Event.TgtDCSGroupName ) + + -- If the EventData is for a UNIT, the call directly the EventClass EventFunction for that UNIT. + if ( Event.IniDCSUnitName and EventData.EventUnit and EventData.EventUnit[Event.IniDCSUnitName] ) or + ( Event.TgtDCSUnitName and EventData.EventUnit and EventData.EventUnit[Event.TgtDCSUnitName] ) then + + if EventData.EventUnit[Event.IniDCSUnitName] then + + -- First test if a EventFunction is Set, otherwise search for the default function + if EventData.EventUnit[Event.IniDCSUnitName].EventFunction then + + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling EventFunction for UNIT ", EventClass:GetClassNameAndID(), ", Unit ", Event.IniUnitName, EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventData.EventUnit[Event.IniDCSUnitName].EventFunction( EventClass, Event ) + end, ErrorHandler ) + + else + + -- There is no EventFunction defined, so try to find if a default OnEvent function is defined on the object. + local EventFunction = EventClass[ _EVENTMETA[Event.id].Event ] + if EventFunction and type( EventFunction ) == "function" then + + -- Now call the default event function. + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling " .. _EVENTMETA[Event.id].Event .. " for Class ", EventClass:GetClassNameAndID(), EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventFunction( EventClass, Event ) + end, ErrorHandler ) + end + end + end + + if EventData.EventUnit[Event.TgtDCSUnitName] then + + -- First test if a EventFunction is Set, otherwise search for the default function + if EventData.EventUnit[Event.TgtDCSUnitName].EventFunction then + + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling EventFunction for UNIT ", EventClass:GetClassNameAndID(), ", Unit ", Event.TgtUnitName, EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventData.EventUnit[Event.TgtDCSUnitName].EventFunction( EventClass, Event ) + end, ErrorHandler ) + + else + + -- There is no EventFunction defined, so try to find if a default OnEvent function is defined on the object. + local EventFunction = EventClass[ _EVENTMETA[Event.id].Event ] + if EventFunction and type( EventFunction ) == "function" then + + -- Now call the default event function. + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling " .. _EVENTMETA[Event.id].Event .. " for Class ", EventClass:GetClassNameAndID(), EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventFunction( EventClass, Event ) + end, ErrorHandler ) + end + end + end + + else + + -- If the EventData is for a GROUP, the call directly the EventClass EventFunction for the UNIT in that GROUP. + if ( Event.IniDCSUnitName and Event.IniDCSGroupName and Event.IniGroupName and EventData.EventGroup and EventData.EventGroup[Event.IniGroupName] ) or + ( Event.TgtDCSUnitName and Event.TgtDCSGroupName and Event.TgtGroupName and EventData.EventGroup and EventData.EventGroup[Event.TgtGroupName] ) then + + if EventData.EventGroup[Event.IniGroupName] then + -- First test if a EventFunction is Set, otherwise search for the default function + if EventData.EventGroup[Event.IniGroupName].EventFunction then + + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling EventFunction for GROUP ", EventClass:GetClassNameAndID(), ", Unit ", Event.IniUnitName, EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventData.EventGroup[Event.IniGroupName].EventFunction( EventClass, Event ) + end, ErrorHandler ) + + else + + -- There is no EventFunction defined, so try to find if a default OnEvent function is defined on the object. + local EventFunction = EventClass[ _EVENTMETA[Event.id].Event ] + if EventFunction and type( EventFunction ) == "function" then + + -- Now call the default event function. + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling " .. _EVENTMETA[Event.id].Event .. " for GROUP ", EventClass:GetClassNameAndID(), EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventFunction( EventClass, Event ) + end, ErrorHandler ) + end + end + end + + if EventData.EventGroup[Event.TgtGroupName] then + if EventData.EventGroup[Event.TgtGroupName].EventFunction then + + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling EventFunction for GROUP ", EventClass:GetClassNameAndID(), ", Unit ", Event.TgtUnitName, EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventData.EventGroup[Event.TgtGroupName].EventFunction( EventClass, Event ) + end, ErrorHandler ) + + else + + -- There is no EventFunction defined, so try to find if a default OnEvent function is defined on the object. + local EventFunction = EventClass[ _EVENTMETA[Event.id].Event ] + if EventFunction and type( EventFunction ) == "function" then + + -- Now call the default event function. + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling " .. _EVENTMETA[Event.id].Event .. " for GROUP ", EventClass:GetClassNameAndID(), EventPriority } ) + end + + local Result, Value = xpcall( + function() + return EventFunction( EventClass, Event ) + end, ErrorHandler ) + end + end + end + + else + + -- If the EventData is not bound to a specific unit, then call the EventClass EventFunction. + -- Note that here the EventFunction will need to implement and determine the logic for the relevant source- or target unit, or weapon. + if (Event.IniDCSUnit or Event.WeaponUNIT) and not EventData.EventUnit then + + if EventClass == EventData.EventClass then + + -- First test if a EventFunction is Set, otherwise search for the default function + if EventData.EventFunction then + + -- There is an EventFunction defined, so call the EventFunction. + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling EventFunction for Class ", EventClass:GetClassNameAndID(), EventPriority } ) + end + local Result, Value = xpcall( + function() + return EventData.EventFunction( EventClass, Event ) + end, ErrorHandler ) + else + + -- There is no EventFunction defined, so try to find if a default OnEvent function is defined on the object. + local EventFunction = EventClass[ _EVENTMETA[Event.id].Event ] + if EventFunction and type( EventFunction ) == "function" then + + -- Now call the default event function. + if Event.IniObjectCategory ~= 3 then + self:E( { "Calling " .. _EVENTMETA[Event.id].Event .. " for Class ", EventClass:GetClassNameAndID(), EventPriority } ) + end + + local Result, Value = xpcall( + function() + local Result, Value = EventFunction( EventClass, Event ) + return Result, Value + end, ErrorHandler ) + end + end + end + end + end + end + end + end + end + else + self:E( { _EVENTMETA[Event.id].Text, Event } ) + end + + Event = nil +end + +--- The EVENTHANDLER structure +-- @type EVENTHANDLER +-- @extends Core.Base#BASE +EVENTHANDLER = { + ClassName = "EVENTHANDLER", + ClassID = 0, +} + +--- The EVENTHANDLER constructor +-- @param #EVENTHANDLER self +-- @return #EVENTHANDLER +function EVENTHANDLER:New() + self = BASE:Inherit( self, BASE:New() ) -- #EVENTHANDLER + return self +end +--- **Core** -- MENU_ classes model the definition of **hierarchical menu structures** and **commands for players** within a mission. +-- +-- === +-- +-- DCS Menus can be managed using the MENU classes. +-- The advantage of using MENU classes is that it hides the complexity of dealing with menu management in more advanced scanerios where you need to +-- set menus and later remove them, and later set them again. You'll find while using use normal DCS scripting functions, that setting and removing +-- menus is not a easy feat if you have complex menu hierarchies defined. +-- Using the MOOSE menu classes, the removal and refreshing of menus are nicely being handled within these classes, and becomes much more easy. +-- On top, MOOSE implements **variable parameter** passing for command menus. +-- +-- There are basically two different MENU class types that you need to use: +-- +-- ### To manage **main menus**, the classes begin with **MENU_**: +-- +-- * @{Menu#MENU_MISSION}: Manages main menus for whole mission file. +-- * @{Menu#MENU_COALITION}: Manages main menus for whole coalition. +-- * @{Menu#MENU_GROUP}: Manages main menus for GROUPs. +-- * @{Menu#MENU_CLIENT}: Manages main menus for CLIENTs. This manages menus for units with the skill level "Client". +-- +-- ### To manage **command menus**, which are menus that allow the player to issue **functions**, the classes begin with **MENU_COMMAND_**: +-- +-- * @{Menu#MENU_MISSION_COMMAND}: Manages command menus for whole mission file. +-- * @{Menu#MENU_COALITION_COMMAND}: Manages command menus for whole coalition. +-- * @{Menu#MENU_GROUP_COMMAND}: Manages command menus for GROUPs. +-- * @{Menu#MENU_CLIENT_COMMAND}: Manages command menus for CLIENTs. This manages menus for units with the skill level "Client". +-- +-- === +-- +-- The above menus classes **are derived** from 2 main **abstract** classes defined within the MOOSE framework (so don't use these): +-- +-- 1) MENU_ BASE abstract base classes (don't use them) +-- ==================================================== +-- The underlying base menu classes are **NOT** to be used within your missions. +-- These are simply abstract base classes defining a couple of fields that are used by the +-- derived MENU_ classes to manage menus. +-- +-- 1.1) @{#MENU_BASE} class, extends @{Base#BASE} +-- -------------------------------------------------- +-- The @{#MENU_BASE} class defines the main MENU class where other MENU classes are derived from. +-- +-- 1.2) @{#MENU_COMMAND_BASE} class, extends @{Base#BASE} +-- ---------------------------------------------------------- +-- The @{#MENU_COMMAND_BASE} class defines the main MENU class where other MENU COMMAND_ classes are derived from, in order to set commands. +-- +-- === +-- +-- **The next menus define the MENU classes that you can use within your missions.** +-- +-- 2) MENU MISSION classes +-- ====================== +-- The underlying classes manage the menus for a complete mission file. +-- +-- 2.1) @{#MENU_MISSION} class, extends @{Menu#MENU_BASE} +-- --------------------------------------------------------- +-- The @{Menu#MENU_MISSION} class manages the main menus for a complete mission. +-- You can add menus with the @{#MENU_MISSION.New} method, which constructs a MENU_MISSION object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_MISSION.Remove}. +-- +-- 2.2) @{#MENU_MISSION_COMMAND} class, extends @{Menu#MENU_COMMAND_BASE} +-- ------------------------------------------------------------------------- +-- The @{Menu#MENU_MISSION_COMMAND} class manages the command menus for a complete mission, which allow players to execute functions during mission execution. +-- You can add menus with the @{#MENU_MISSION_COMMAND.New} method, which constructs a MENU_MISSION_COMMAND object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_MISSION_COMMAND.Remove}. +-- +-- === +-- +-- 3) MENU COALITION classes +-- ========================= +-- The underlying classes manage the menus for whole coalitions. +-- +-- 3.1) @{#MENU_COALITION} class, extends @{Menu#MENU_BASE} +-- ------------------------------------------------------------ +-- The @{Menu#MENU_COALITION} class manages the main menus for coalitions. +-- You can add menus with the @{#MENU_COALITION.New} method, which constructs a MENU_COALITION object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_COALITION.Remove}. +-- +-- 3.2) @{Menu#MENU_COALITION_COMMAND} class, extends @{Menu#MENU_COMMAND_BASE} +-- ---------------------------------------------------------------------------- +-- The @{Menu#MENU_COALITION_COMMAND} class manages the command menus for coalitions, which allow players to execute functions during mission execution. +-- You can add menus with the @{#MENU_COALITION_COMMAND.New} method, which constructs a MENU_COALITION_COMMAND object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_COALITION_COMMAND.Remove}. +-- +-- === +-- +-- 4) MENU GROUP classes +-- ===================== +-- The underlying classes manage the menus for groups. Note that groups can be inactive, alive or can be destroyed. +-- +-- 4.1) @{Menu#MENU_GROUP} class, extends @{Menu#MENU_BASE} +-- -------------------------------------------------------- +-- The @{Menu#MENU_GROUP} class manages the main menus for coalitions. +-- You can add menus with the @{#MENU_GROUP.New} method, which constructs a MENU_GROUP object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_GROUP.Remove}. +-- +-- 4.2) @{Menu#MENU_GROUP_COMMAND} class, extends @{Menu#MENU_COMMAND_BASE} +-- ------------------------------------------------------------------------ +-- The @{Menu#MENU_GROUP_COMMAND} class manages the command menus for coalitions, which allow players to execute functions during mission execution. +-- You can add menus with the @{#MENU_GROUP_COMMAND.New} method, which constructs a MENU_GROUP_COMMAND object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_GROUP_COMMAND.Remove}. +-- +-- === +-- +-- 5) MENU CLIENT classes +-- ====================== +-- The underlying classes manage the menus for units with skill level client or player. +-- +-- 5.1) @{Menu#MENU_CLIENT} class, extends @{Menu#MENU_BASE} +-- --------------------------------------------------------- +-- The @{Menu#MENU_CLIENT} class manages the main menus for coalitions. +-- You can add menus with the @{#MENU_CLIENT.New} method, which constructs a MENU_CLIENT object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_CLIENT.Remove}. +-- +-- 5.2) @{Menu#MENU_CLIENT_COMMAND} class, extends @{Menu#MENU_COMMAND_BASE} +-- ------------------------------------------------------------------------- +-- The @{Menu#MENU_CLIENT_COMMAND} class manages the command menus for coalitions, which allow players to execute functions during mission execution. +-- You can add menus with the @{#MENU_CLIENT_COMMAND.New} method, which constructs a MENU_CLIENT_COMMAND object and returns you the object reference. +-- Using this object reference, you can then remove ALL the menus and submenus underlying automatically with @{#MENU_CLIENT_COMMAND.Remove}. +-- +-- === +-- +-- ### Contributions: - +-- ### Authors: FlightControl : Design & Programming +-- +-- @module Menu + + +do -- MENU_BASE + + --- The MENU_BASE class + -- @type MENU_BASE + -- @extends Base#BASE + MENU_BASE = { + ClassName = "MENU_BASE", + MenuPath = nil, + MenuText = "", + MenuParentPath = nil + } + + --- Consructor + -- @param #MENU_BASE + -- @return #MENU_BASE + function MENU_BASE:New( MenuText, ParentMenu ) + + local MenuParentPath = {} + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local self = BASE:Inherit( self, BASE:New() ) + + self.MenuPath = nil + self.MenuText = MenuText + self.MenuParentPath = MenuParentPath + self.Menus = {} + self.MenuCount = 0 + self.MenuRemoveParent = false + self.MenuTime = timer.getTime() + + return self + end + + --- Gets a @{Menu} from a parent @{Menu} + -- @param #MENU_BASE self + -- @param #string MenuText The text of the child menu. + -- @return #MENU_BASE + function MENU_BASE:GetMenu( MenuText ) + self:F( { self.Menus, MenuText } ) + return self.Menus[MenuText] + end + + --- Sets a @{Menu} to remove automatically the parent menu when the menu removed is the last child menu of that parent @{Menu}. + -- @param #MENU_BASE self + -- @param #boolean RemoveParent If true, the parent menu is automatically removed when this menu is the last child menu of that parent @{Menu}. + -- @return #MENU_BASE + function MENU_BASE:SetRemoveParent( RemoveParent ) + self:F( { RemoveParent } ) + self.MenuRemoveParent = RemoveParent + return self + end + + + --- Sets a time stamp for later prevention of menu removal. + -- @param #MENU_BASE self + -- @param MenuTime + -- @return #MENU_BASE + function MENU_BASE:SetTime( MenuTime ) + self.MenuTime = MenuTime + return self + end + +end + +do -- MENU_COMMAND_BASE + + --- The MENU_COMMAND_BASE class + -- @type MENU_COMMAND_BASE + -- @field #function MenuCallHandler + -- @extends Core.Menu#MENU_BASE + MENU_COMMAND_BASE = { + ClassName = "MENU_COMMAND_BASE", + CommandMenuFunction = nil, + CommandMenuArgument = nil, + MenuCallHandler = nil, + } + + --- Constructor + -- @param #MENU_COMMAND_BASE + -- @return #MENU_COMMAND_BASE + function MENU_COMMAND_BASE:New( MenuText, ParentMenu, CommandMenuFunction, CommandMenuArguments ) + + local self = BASE:Inherit( self, MENU_BASE:New( MenuText, ParentMenu ) ) + + self.CommandMenuFunction = CommandMenuFunction + self.MenuCallHandler = function( CommandMenuArguments ) + self.CommandMenuFunction( unpack( CommandMenuArguments ) ) + end + + return self + end + +end + + +do -- MENU_MISSION + + --- The MENU_MISSION class + -- @type MENU_MISSION + -- @extends Core.Menu#MENU_BASE + MENU_MISSION = { + ClassName = "MENU_MISSION" + } + + --- MENU_MISSION constructor. Creates a new MENU_MISSION object and creates the menu for a complete mission file. + -- @param #MENU_MISSION self + -- @param #string MenuText The text for the menu. + -- @param #table ParentMenu The parent menu. This parameter can be ignored if you want the menu to be located at the perent menu of DCS world (under F10 other). + -- @return #MENU_MISSION + function MENU_MISSION:New( MenuText, ParentMenu ) + + local self = BASE:Inherit( self, MENU_BASE:New( MenuText, ParentMenu ) ) + + self:F( { MenuText, ParentMenu } ) + + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self.Menus = {} + + self:T( { MenuText } ) + + self.MenuPath = missionCommands.addSubMenu( MenuText, self.MenuParentPath ) + + self:T( { self.MenuPath } ) + + if ParentMenu and ParentMenu.Menus then + ParentMenu.Menus[self.MenuPath] = self + end + + return self + end + + --- Removes the sub menus recursively of this MENU_MISSION. Note that the main menu is kept! + -- @param #MENU_MISSION self + -- @return #MENU_MISSION + function MENU_MISSION:RemoveSubMenus() + self:F( self.MenuPath ) + + for MenuID, Menu in pairs( self.Menus ) do + Menu:Remove() + end + + end + + --- Removes the main menu and the sub menus recursively of this MENU_MISSION. + -- @param #MENU_MISSION self + -- @return #nil + function MENU_MISSION:Remove() + self:F( self.MenuPath ) + + self:RemoveSubMenus() + missionCommands.removeItem( self.MenuPath ) + if self.ParentMenu then + self.ParentMenu.Menus[self.MenuPath] = nil + end + + return nil + end + +end + +do -- MENU_MISSION_COMMAND + + --- The MENU_MISSION_COMMAND class + -- @type MENU_MISSION_COMMAND + -- @extends Core.Menu#MENU_COMMAND_BASE + MENU_MISSION_COMMAND = { + ClassName = "MENU_MISSION_COMMAND" + } + + --- MENU_MISSION constructor. Creates a new radio command item for a complete mission file, which can invoke a function with parameters. + -- @param #MENU_MISSION_COMMAND self + -- @param #string MenuText The text for the menu. + -- @param Menu#MENU_MISSION ParentMenu The parent menu. + -- @param CommandMenuFunction A function that is called when the menu key is pressed. + -- @param CommandMenuArgument An argument for the function. There can only be ONE argument given. So multiple arguments must be wrapped into a table. See the below example how to do this. + -- @return #MENU_MISSION_COMMAND self + function MENU_MISSION_COMMAND:New( MenuText, ParentMenu, CommandMenuFunction, ... ) + + local self = BASE:Inherit( self, MENU_COMMAND_BASE:New( MenuText, ParentMenu, CommandMenuFunction, arg ) ) + + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self:T( { MenuText, CommandMenuFunction, arg } ) + + + self.MenuPath = missionCommands.addCommand( MenuText, self.MenuParentPath, self.MenuCallHandler, arg ) + + ParentMenu.Menus[self.MenuPath] = self + + return self + end + + --- Removes a radio command item for a coalition + -- @param #MENU_MISSION_COMMAND self + -- @return #nil + function MENU_MISSION_COMMAND:Remove() + self:F( self.MenuPath ) + + missionCommands.removeItem( self.MenuPath ) + if self.ParentMenu then + self.ParentMenu.Menus[self.MenuPath] = nil + end + return nil + end + +end + + + +do -- MENU_COALITION + + --- The MENU_COALITION class + -- @type MENU_COALITION + -- @extends Core.Menu#MENU_BASE + -- @usage + -- -- This demo creates a menu structure for the planes within the red coalition. + -- -- To test, join the planes, then look at the other radio menus (Option F10). + -- -- Then switch planes and check if the menu is still there. + -- + -- local Plane1 = CLIENT:FindByName( "Plane 1" ) + -- local Plane2 = CLIENT:FindByName( "Plane 2" ) + -- + -- + -- -- This would create a menu for the red coalition under the main DCS "Others" menu. + -- local MenuCoalitionRed = MENU_COALITION:New( coalition.side.RED, "Manage Menus" ) + -- + -- + -- local function ShowStatus( StatusText, Coalition ) + -- + -- MESSAGE:New( Coalition, 15 ):ToRed() + -- Plane1:Message( StatusText, 15 ) + -- Plane2:Message( StatusText, 15 ) + -- end + -- + -- local MenuStatus -- Menu#MENU_COALITION + -- local MenuStatusShow -- Menu#MENU_COALITION_COMMAND + -- + -- local function RemoveStatusMenu() + -- MenuStatus:Remove() + -- end + -- + -- local function AddStatusMenu() + -- + -- -- This would create a menu for the red coalition under the MenuCoalitionRed menu object. + -- MenuStatus = MENU_COALITION:New( coalition.side.RED, "Status for Planes" ) + -- MenuStatusShow = MENU_COALITION_COMMAND:New( coalition.side.RED, "Show Status", MenuStatus, ShowStatus, "Status of planes is ok!", "Message to Red Coalition" ) + -- end + -- + -- local MenuAdd = MENU_COALITION_COMMAND:New( coalition.side.RED, "Add Status Menu", MenuCoalitionRed, AddStatusMenu ) + -- local MenuRemove = MENU_COALITION_COMMAND:New( coalition.side.RED, "Remove Status Menu", MenuCoalitionRed, RemoveStatusMenu ) + MENU_COALITION = { + ClassName = "MENU_COALITION" + } + + --- MENU_COALITION constructor. Creates a new MENU_COALITION object and creates the menu for a complete coalition. + -- @param #MENU_COALITION self + -- @param Dcs.DCSCoalition#coalition.side Coalition The coalition owning the menu. + -- @param #string MenuText The text for the menu. + -- @param #table ParentMenu The parent menu. This parameter can be ignored if you want the menu to be located at the perent menu of DCS world (under F10 other). + -- @return #MENU_COALITION self + function MENU_COALITION:New( Coalition, MenuText, ParentMenu ) + + local self = BASE:Inherit( self, MENU_BASE:New( MenuText, ParentMenu ) ) + + self:F( { Coalition, MenuText, ParentMenu } ) + + self.Coalition = Coalition + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self.Menus = {} + + self:T( { MenuText } ) + + self.MenuPath = missionCommands.addSubMenuForCoalition( Coalition, MenuText, self.MenuParentPath ) + + self:T( { self.MenuPath } ) + + if ParentMenu and ParentMenu.Menus then + ParentMenu.Menus[self.MenuPath] = self + end + + return self + end + + --- Removes the sub menus recursively of this MENU_COALITION. Note that the main menu is kept! + -- @param #MENU_COALITION self + -- @return #MENU_COALITION + function MENU_COALITION:RemoveSubMenus() + self:F( self.MenuPath ) + + for MenuID, Menu in pairs( self.Menus ) do + Menu:Remove() + end + + end + + --- Removes the main menu and the sub menus recursively of this MENU_COALITION. + -- @param #MENU_COALITION self + -- @return #nil + function MENU_COALITION:Remove() + self:F( self.MenuPath ) + + self:RemoveSubMenus() + missionCommands.removeItemForCoalition( self.Coalition, self.MenuPath ) + if self.ParentMenu then + self.ParentMenu.Menus[self.MenuPath] = nil + end + + return nil + end + +end + +do -- MENU_COALITION_COMMAND + + --- The MENU_COALITION_COMMAND class + -- @type MENU_COALITION_COMMAND + -- @extends Core.Menu#MENU_COMMAND_BASE + MENU_COALITION_COMMAND = { + ClassName = "MENU_COALITION_COMMAND" + } + + --- MENU_COALITION constructor. Creates a new radio command item for a coalition, which can invoke a function with parameters. + -- @param #MENU_COALITION_COMMAND self + -- @param Dcs.DCSCoalition#coalition.side Coalition The coalition owning the menu. + -- @param #string MenuText The text for the menu. + -- @param Menu#MENU_COALITION ParentMenu The parent menu. + -- @param CommandMenuFunction A function that is called when the menu key is pressed. + -- @param CommandMenuArgument An argument for the function. There can only be ONE argument given. So multiple arguments must be wrapped into a table. See the below example how to do this. + -- @return #MENU_COALITION_COMMAND + function MENU_COALITION_COMMAND:New( Coalition, MenuText, ParentMenu, CommandMenuFunction, ... ) + + local self = BASE:Inherit( self, MENU_COMMAND_BASE:New( MenuText, ParentMenu, CommandMenuFunction, arg ) ) + + self.MenuCoalition = Coalition + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self:T( { MenuText, CommandMenuFunction, arg } ) + + + self.MenuPath = missionCommands.addCommandForCoalition( self.MenuCoalition, MenuText, self.MenuParentPath, self.MenuCallHandler, arg ) + + ParentMenu.Menus[self.MenuPath] = self + + return self + end + + --- Removes a radio command item for a coalition + -- @param #MENU_COALITION_COMMAND self + -- @return #nil + function MENU_COALITION_COMMAND:Remove() + self:F( self.MenuPath ) + + missionCommands.removeItemForCoalition( self.MenuCoalition, self.MenuPath ) + if self.ParentMenu then + self.ParentMenu.Menus[self.MenuPath] = nil + end + return nil + end + +end + +do -- MENU_CLIENT + + -- This local variable is used to cache the menus registered under clients. + -- Menus don't dissapear when clients are destroyed and restarted. + -- So every menu for a client created must be tracked so that program logic accidentally does not create + -- the same menus twice during initialization logic. + -- These menu classes are handling this logic with this variable. + local _MENUCLIENTS = {} + + --- MENU_COALITION constructor. Creates a new radio command item for a coalition, which can invoke a function with parameters. + -- @type MENU_CLIENT + -- @extends Core.Menu#MENU_BASE + -- @usage + -- -- This demo creates a menu structure for the two clients of planes. + -- -- Each client will receive a different menu structure. + -- -- To test, join the planes, then look at the other radio menus (Option F10). + -- -- Then switch planes and check if the menu is still there. + -- -- And play with the Add and Remove menu options. + -- + -- -- Note that in multi player, this will only work after the DCS clients bug is solved. + -- + -- local function ShowStatus( PlaneClient, StatusText, Coalition ) + -- + -- MESSAGE:New( Coalition, 15 ):ToRed() + -- PlaneClient:Message( StatusText, 15 ) + -- end + -- + -- local MenuStatus = {} + -- + -- local function RemoveStatusMenu( MenuClient ) + -- local MenuClientName = MenuClient:GetName() + -- MenuStatus[MenuClientName]:Remove() + -- end + -- + -- --- @param Wrapper.Client#CLIENT MenuClient + -- local function AddStatusMenu( MenuClient ) + -- local MenuClientName = MenuClient:GetName() + -- -- This would create a menu for the red coalition under the MenuCoalitionRed menu object. + -- MenuStatus[MenuClientName] = MENU_CLIENT:New( MenuClient, "Status for Planes" ) + -- MENU_CLIENT_COMMAND:New( MenuClient, "Show Status", MenuStatus[MenuClientName], ShowStatus, MenuClient, "Status of planes is ok!", "Message to Red Coalition" ) + -- end + -- + -- SCHEDULER:New( nil, + -- function() + -- local PlaneClient = CLIENT:FindByName( "Plane 1" ) + -- if PlaneClient and PlaneClient:IsAlive() then + -- local MenuManage = MENU_CLIENT:New( PlaneClient, "Manage Menus" ) + -- MENU_CLIENT_COMMAND:New( PlaneClient, "Add Status Menu Plane 1", MenuManage, AddStatusMenu, PlaneClient ) + -- MENU_CLIENT_COMMAND:New( PlaneClient, "Remove Status Menu Plane 1", MenuManage, RemoveStatusMenu, PlaneClient ) + -- end + -- end, {}, 10, 10 ) + -- + -- SCHEDULER:New( nil, + -- function() + -- local PlaneClient = CLIENT:FindByName( "Plane 2" ) + -- if PlaneClient and PlaneClient:IsAlive() then + -- local MenuManage = MENU_CLIENT:New( PlaneClient, "Manage Menus" ) + -- MENU_CLIENT_COMMAND:New( PlaneClient, "Add Status Menu Plane 2", MenuManage, AddStatusMenu, PlaneClient ) + -- MENU_CLIENT_COMMAND:New( PlaneClient, "Remove Status Menu Plane 2", MenuManage, RemoveStatusMenu, PlaneClient ) + -- end + -- end, {}, 10, 10 ) + MENU_CLIENT = { + ClassName = "MENU_CLIENT" + } + + --- MENU_CLIENT constructor. Creates a new radio menu item for a client. + -- @param #MENU_CLIENT self + -- @param Wrapper.Client#CLIENT Client The Client owning the menu. + -- @param #string MenuText The text for the menu. + -- @param #table ParentMenu The parent menu. + -- @return #MENU_CLIENT self + function MENU_CLIENT:New( Client, MenuText, ParentMenu ) + + -- Arrange meta tables + local MenuParentPath = {} + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local self = BASE:Inherit( self, MENU_BASE:New( MenuText, MenuParentPath ) ) + self:F( { Client, MenuText, ParentMenu } ) + + self.MenuClient = Client + self.MenuClientGroupID = Client:GetClientGroupID() + self.MenuParentPath = MenuParentPath + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self.Menus = {} + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + self:T( { Client:GetClientGroupName(), MenuPath[table.concat(MenuParentPath)], MenuParentPath, MenuText } ) + + local MenuPathID = table.concat(MenuParentPath) .. "/" .. MenuText + if MenuPath[MenuPathID] then + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), MenuPath[MenuPathID] ) + end + + self.MenuPath = missionCommands.addSubMenuForGroup( self.MenuClient:GetClientGroupID(), MenuText, MenuParentPath ) + MenuPath[MenuPathID] = self.MenuPath + + self:T( { Client:GetClientGroupName(), self.MenuPath } ) + + if ParentMenu and ParentMenu.Menus then + ParentMenu.Menus[self.MenuPath] = self + end + return self + end + + --- Removes the sub menus recursively of this @{#MENU_CLIENT}. + -- @param #MENU_CLIENT self + -- @return #MENU_CLIENT self + function MENU_CLIENT:RemoveSubMenus() + self:F( self.MenuPath ) + + for MenuID, Menu in pairs( self.Menus ) do + Menu:Remove() + end + + end + + --- Removes the sub menus recursively of this MENU_CLIENT. + -- @param #MENU_CLIENT self + -- @return #nil + function MENU_CLIENT:Remove() + self:F( self.MenuPath ) + + self:RemoveSubMenus() + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + if MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] then + MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] = nil + end + + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), self.MenuPath ) + self.ParentMenu.Menus[self.MenuPath] = nil + return nil + end + + + --- The MENU_CLIENT_COMMAND class + -- @type MENU_CLIENT_COMMAND + -- @extends Core.Menu#MENU_COMMAND + MENU_CLIENT_COMMAND = { + ClassName = "MENU_CLIENT_COMMAND" + } + + --- MENU_CLIENT_COMMAND constructor. Creates a new radio command item for a client, which can invoke a function with parameters. + -- @param #MENU_CLIENT_COMMAND self + -- @param Wrapper.Client#CLIENT Client The Client owning the menu. + -- @param #string MenuText The text for the menu. + -- @param #MENU_BASE ParentMenu The parent menu. + -- @param CommandMenuFunction A function that is called when the menu key is pressed. + -- @return Menu#MENU_CLIENT_COMMAND self + function MENU_CLIENT_COMMAND:New( Client, MenuText, ParentMenu, CommandMenuFunction, ... ) + + -- Arrange meta tables + + local MenuParentPath = {} + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local self = BASE:Inherit( self, MENU_COMMAND_BASE:New( MenuText, MenuParentPath, CommandMenuFunction, arg ) ) -- Menu#MENU_CLIENT_COMMAND + + self.MenuClient = Client + self.MenuClientGroupID = Client:GetClientGroupID() + self.MenuParentPath = MenuParentPath + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + self:T( { Client:GetClientGroupName(), MenuPath[table.concat(MenuParentPath)], MenuParentPath, MenuText, CommandMenuFunction, arg } ) + + local MenuPathID = table.concat(MenuParentPath) .. "/" .. MenuText + if MenuPath[MenuPathID] then + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), MenuPath[MenuPathID] ) + end + + self.MenuPath = missionCommands.addCommandForGroup( self.MenuClient:GetClientGroupID(), MenuText, MenuParentPath, self.MenuCallHandler, arg ) + MenuPath[MenuPathID] = self.MenuPath + + if ParentMenu and ParentMenu.Menus then + ParentMenu.Menus[self.MenuPath] = self + end + + return self + end + + --- Removes a menu structure for a client. + -- @param #MENU_CLIENT_COMMAND self + -- @return #nil + function MENU_CLIENT_COMMAND:Remove() + self:F( self.MenuPath ) + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + if MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] then + MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] = nil + end + + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), self.MenuPath ) + self.ParentMenu.Menus[self.MenuPath] = nil + return nil + end +end + +--- MENU_GROUP + +do + -- This local variable is used to cache the menus registered under groups. + -- Menus don't dissapear when groups for players are destroyed and restarted. + -- So every menu for a client created must be tracked so that program logic accidentally does not create. + -- the same menus twice during initialization logic. + -- These menu classes are handling this logic with this variable. + local _MENUGROUPS = {} + + --- The MENU_GROUP class + -- @type MENU_GROUP + -- @extends Core.Menu#MENU_BASE + -- @usage + -- -- This demo creates a menu structure for the two groups of planes. + -- -- Each group will receive a different menu structure. + -- -- To test, join the planes, then look at the other radio menus (Option F10). + -- -- Then switch planes and check if the menu is still there. + -- -- And play with the Add and Remove menu options. + -- + -- -- Note that in multi player, this will only work after the DCS groups bug is solved. + -- + -- local function ShowStatus( PlaneGroup, StatusText, Coalition ) + -- + -- MESSAGE:New( Coalition, 15 ):ToRed() + -- PlaneGroup:Message( StatusText, 15 ) + -- end + -- + -- local MenuStatus = {} + -- + -- local function RemoveStatusMenu( MenuGroup ) + -- local MenuGroupName = MenuGroup:GetName() + -- MenuStatus[MenuGroupName]:Remove() + -- end + -- + -- --- @param Wrapper.Group#GROUP MenuGroup + -- local function AddStatusMenu( MenuGroup ) + -- local MenuGroupName = MenuGroup:GetName() + -- -- This would create a menu for the red coalition under the MenuCoalitionRed menu object. + -- MenuStatus[MenuGroupName] = MENU_GROUP:New( MenuGroup, "Status for Planes" ) + -- MENU_GROUP_COMMAND:New( MenuGroup, "Show Status", MenuStatus[MenuGroupName], ShowStatus, MenuGroup, "Status of planes is ok!", "Message to Red Coalition" ) + -- end + -- + -- SCHEDULER:New( nil, + -- function() + -- local PlaneGroup = GROUP:FindByName( "Plane 1" ) + -- if PlaneGroup and PlaneGroup:IsAlive() then + -- local MenuManage = MENU_GROUP:New( PlaneGroup, "Manage Menus" ) + -- MENU_GROUP_COMMAND:New( PlaneGroup, "Add Status Menu Plane 1", MenuManage, AddStatusMenu, PlaneGroup ) + -- MENU_GROUP_COMMAND:New( PlaneGroup, "Remove Status Menu Plane 1", MenuManage, RemoveStatusMenu, PlaneGroup ) + -- end + -- end, {}, 10, 10 ) + -- + -- SCHEDULER:New( nil, + -- function() + -- local PlaneGroup = GROUP:FindByName( "Plane 2" ) + -- if PlaneGroup and PlaneGroup:IsAlive() then + -- local MenuManage = MENU_GROUP:New( PlaneGroup, "Manage Menus" ) + -- MENU_GROUP_COMMAND:New( PlaneGroup, "Add Status Menu Plane 2", MenuManage, AddStatusMenu, PlaneGroup ) + -- MENU_GROUP_COMMAND:New( PlaneGroup, "Remove Status Menu Plane 2", MenuManage, RemoveStatusMenu, PlaneGroup ) + -- end + -- end, {}, 10, 10 ) + -- + MENU_GROUP = { + ClassName = "MENU_GROUP" + } + + --- MENU_GROUP constructor. Creates a new radio menu item for a group. + -- @param #MENU_GROUP self + -- @param Wrapper.Group#GROUP MenuGroup The Group owning the menu. + -- @param #string MenuText The text for the menu. + -- @param #table ParentMenu The parent menu. + -- @return #MENU_GROUP self + function MENU_GROUP:New( MenuGroup, MenuText, ParentMenu ) + + -- Determine if the menu was not already created and already visible at the group. + -- If it is visible, then return the cached self, otherwise, create self and cache it. + + MenuGroup._Menus = MenuGroup._Menus or {} + local Path = ( ParentMenu and ( table.concat( ParentMenu.MenuPath or {}, "@" ) .. "@" .. MenuText ) ) or MenuText + if MenuGroup._Menus[Path] then + self = MenuGroup._Menus[Path] + else + self = BASE:Inherit( self, MENU_BASE:New( MenuText, ParentMenu ) ) + MenuGroup._Menus[Path] = self + + self.MenuGroup = MenuGroup + self.Path = Path + self.MenuGroupID = MenuGroup:GetID() + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self:T( { "Adding Menu ", MenuText, self.MenuParentPath } ) + self.MenuPath = missionCommands.addSubMenuForGroup( self.MenuGroupID, MenuText, self.MenuParentPath ) + + if self.ParentMenu and self.ParentMenu.Menus then + self.ParentMenu.Menus[MenuText] = self + self:F( { self.ParentMenu.Menus, MenuText } ) + self.ParentMenu.MenuCount = self.ParentMenu.MenuCount + 1 + end + end + + --self:F( { MenuGroup:GetName(), MenuText, ParentMenu.MenuPath } ) + + return self + end + + --- Removes the sub menus recursively of this MENU_GROUP. + -- @param #MENU_GROUP self + -- @param MenuTime + -- @return #MENU_GROUP self + function MENU_GROUP:RemoveSubMenus( MenuTime ) + self:F2( { self.MenuPath, MenuTime, self.MenuTime } ) + + self:T( { "Removing Group SubMenus:", self.MenuGroup:GetName(), self.MenuPath } ) + for MenuText, Menu in pairs( self.Menus ) do + Menu:Remove( MenuTime ) + end + + end + + + --- Removes the main menu and sub menus recursively of this MENU_GROUP. + -- @param #MENU_GROUP self + -- @param MenuTime + -- @return #nil + function MENU_GROUP:Remove( MenuTime ) + self:F( { self.MenuGroupID, self.MenuPath, MenuTime, self.MenuTime } ) + + self:RemoveSubMenus( MenuTime ) + + if not MenuTime or self.MenuTime ~= MenuTime then + if self.MenuGroup._Menus[self.Path] then + self = self.MenuGroup._Menus[self.Path] + + missionCommands.removeItemForGroup( self.MenuGroupID, self.MenuPath ) + if self.ParentMenu then + self.ParentMenu.Menus[self.MenuText] = nil + self.ParentMenu.MenuCount = self.ParentMenu.MenuCount - 1 + if self.ParentMenu.MenuCount == 0 then + if self.MenuRemoveParent == true then + self:T( "Removing Parent Menu " ) + self.ParentMenu:Remove() + end + end + end + self:T( { "Removing Group Menu:", self.MenuGroup:GetName(), self.MenuGroup._Menus[self.Path].Path } ) + self.MenuGroup._Menus[self.Path] = nil + self = nil + end + end + + return nil + end + + + --- The MENU_GROUP_COMMAND class + -- @type MENU_GROUP_COMMAND + -- @extends Core.Menu#MENU_BASE + MENU_GROUP_COMMAND = { + ClassName = "MENU_GROUP_COMMAND" + } + + --- Creates a new radio command item for a group + -- @param #MENU_GROUP_COMMAND self + -- @param Wrapper.Group#GROUP MenuGroup The Group owning the menu. + -- @param MenuText The text for the menu. + -- @param ParentMenu The parent menu. + -- @param CommandMenuFunction A function that is called when the menu key is pressed. + -- @param CommandMenuArgument An argument for the function. + -- @return #MENU_GROUP_COMMAND + function MENU_GROUP_COMMAND:New( MenuGroup, MenuText, ParentMenu, CommandMenuFunction, ... ) + + MenuGroup._Menus = MenuGroup._Menus or {} + local Path = ( ParentMenu and ( table.concat( ParentMenu.MenuPath or {}, "@" ) .. "@" .. MenuText ) ) or MenuText + if MenuGroup._Menus[Path] then + self = MenuGroup._Menus[Path] + self:T( { "Re-using Group Command Menu:", MenuGroup:GetName(), MenuText } ) + else + self = BASE:Inherit( self, MENU_COMMAND_BASE:New( MenuText, ParentMenu, CommandMenuFunction, arg ) ) + MenuGroup._Menus[Path] = self + + self.Path = Path + self.MenuGroup = MenuGroup + self.MenuGroupID = MenuGroup:GetID() + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self:T( { "Adding Group Command Menu:", MenuGroup:GetName(), MenuText, self.MenuParentPath } ) + self.MenuPath = missionCommands.addCommandForGroup( self.MenuGroupID, MenuText, self.MenuParentPath, self.MenuCallHandler, arg ) + + if self.ParentMenu and self.ParentMenu.Menus then + self.ParentMenu.Menus[MenuText] = self + self.ParentMenu.MenuCount = self.ParentMenu.MenuCount + 1 + self:F( { ParentMenu.Menus, MenuText } ) + end + end + + return self + end + + --- Removes a menu structure for a group. + -- @param #MENU_GROUP_COMMAND self + -- @param MenuTime + -- @return #nil + function MENU_GROUP_COMMAND:Remove( MenuTime ) + self:F( { self.MenuGroupID, self.MenuPath, MenuTime, self.MenuTime } ) + + if not MenuTime or self.MenuTime ~= MenuTime then + if self.MenuGroup._Menus[self.Path] then + self = self.MenuGroup._Menus[self.Path] + + missionCommands.removeItemForGroup( self.MenuGroupID, self.MenuPath ) + self:T( { "Removing Group Command Menu:", self.MenuGroup:GetName(), self.MenuText, self.Path, self.MenuGroup._Menus[self.Path].Path } ) + + self.ParentMenu.Menus[self.MenuText] = nil + self.ParentMenu.MenuCount = self.ParentMenu.MenuCount - 1 + if self.ParentMenu.MenuCount == 0 then + if self.MenuRemoveParent == true then + self:T( "Removing Parent Menu " ) + self.ParentMenu:Remove() + end + end + + self.MenuGroup._Menus[self.Path] = nil + self = nil + end + end + + return nil + end + +end + +--- **Core** - ZONE classes define **zones** within your mission of **various forms**, with **various capabilities**. +-- +-- ![Banner Image](..\Presentations\ZONE\Dia1.JPG) +-- +-- === +-- +-- There are essentially two core functions that zones accomodate: +-- +-- * Test if an object is within the zone boundaries. +-- * Provide the zone behaviour. Some zones are static, while others are moveable. +-- +-- The object classes are using the zone classes to test the zone boundaries, which can take various forms: +-- +-- * Test if completely within the zone. +-- * Test if partly within the zone (for @{Group#GROUP} objects). +-- * Test if not in the zone. +-- * Distance to the nearest intersecting point of the zone. +-- * Distance to the center of the zone. +-- * ... +-- +-- Each of these ZONE classes have a zone name, and specific parameters defining the zone type: +-- +-- * @{#ZONE_BASE}: The ZONE_BASE class defining the base for all other zone classes. +-- * @{#ZONE_RADIUS}: The ZONE_RADIUS class defined by a zone name, a location and a radius. +-- * @{#ZONE}: The ZONE class, defined by the zone name as defined within the Mission Editor. +-- * @{#ZONE_UNIT}: The ZONE_UNIT class defines by a zone around a @{Unit#UNIT} with a radius. +-- * @{#ZONE_GROUP}: The ZONE_GROUP class defines by a zone around a @{Group#GROUP} with a radius. +-- * @{#ZONE_POLYGON}: The ZONE_POLYGON class defines by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon. +-- +-- === +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-02-28: ZONE\_BASE:**IsVec2InZone()** replaces ZONE\_BASE:_IsPointVec2InZone()_. +-- 2017-02-28: ZONE\_BASE:**IsVec3InZone()** replaces ZONE\_BASE:_IsPointVec3InZone()_. +-- 2017-02-28: ZONE\_RADIUS:**IsVec2InZone()** replaces ZONE\_RADIUS:_IsPointVec2InZone()_. +-- 2017-02-28: ZONE\_RADIUS:**IsVec3InZone()** replaces ZONE\_RADIUS:_IsPointVec3InZone()_. +-- 2017-02-28: ZONE\_POLYGON:**IsVec2InZone()** replaces ZONE\_POLYGON:_IsPointVec2InZone()_. +-- 2017-02-28: ZONE\_POLYGON:**IsVec3InZone()** replaces ZONE\_POLYGON:_IsPointVec3InZone()_. +-- +-- 2017-02-18: ZONE\_POLYGON_BASE:**GetRandomPointVec2()** added. +-- +-- 2017-02-18: ZONE\_POLYGON_BASE:**GetRandomPointVec3()** added. +-- +-- 2017-02-18: ZONE\_RADIUS:**GetRandomPointVec3( inner, outer )** added. +-- +-- 2017-02-18: ZONE\_RADIUS:**GetRandomPointVec2( inner, outer )** added. +-- +-- 2016-08-15: ZONE\_BASE:**GetName()** added. +-- +-- 2016-08-15: ZONE\_BASE:**SetZoneProbability( ZoneProbability )** added. +-- +-- 2016-08-15: ZONE\_BASE:**GetZoneProbability()** added. +-- +-- 2016-08-15: ZONE\_BASE:**GetZoneMaybe()** added. +-- +-- === +-- +-- @module Zone + + +--- The ZONE_BASE class +-- @type ZONE_BASE +-- @field #string ZoneName Name of the zone. +-- @field #number ZoneProbability A value between 0 and 1. 0 = 0% and 1 = 100% probability. +-- @extends Core.Base#BASE + + +--- # 1) ZONE_BASE class, extends @{Base#BASE} +-- +-- This class is an abstract BASE class for derived classes, and is not meant to be instantiated. +-- +-- ## 1.1) Each zone has a name: +-- +-- * @{#ZONE_BASE.GetName}(): Returns the name of the zone. +-- +-- ## 1.2) Each zone implements two polymorphic functions defined in @{Zone#ZONE_BASE}: +-- +-- * @{#ZONE_BASE.IsVec2InZone}(): Returns if a Vec2 is within the zone. +-- * @{#ZONE_BASE.IsVec3InZone}(): Returns if a Vec3 is within the zone. +-- +-- ## 1.3) A zone has a probability factor that can be set to randomize a selection between zones: +-- +-- * @{#ZONE_BASE.SetRandomizeProbability}(): Set the randomization probability of a zone to be selected, taking a value between 0 and 1 ( 0 = 0%, 1 = 100% ) +-- * @{#ZONE_BASE.GetRandomizeProbability}(): Get the randomization probability of a zone to be selected, passing a value between 0 and 1 ( 0 = 0%, 1 = 100% ) +-- * @{#ZONE_BASE.GetZoneMaybe}(): Get the zone taking into account the randomization probability. nil is returned if this zone is not a candidate. +-- +-- ## 1.4) A zone manages Vectors: +-- +-- * @{#ZONE_BASE.GetVec2}(): Returns the @{DCSTypes#Vec2} coordinate of the zone. +-- * @{#ZONE_BASE.GetRandomVec2}(): Define a random @{DCSTypes#Vec2} within the zone. +-- +-- ## 1.5) A zone has a bounding square: +-- +-- * @{#ZONE_BASE.GetBoundingSquare}(): Get the outer most bounding square of the zone. +-- +-- ## 1.6) A zone can be marked: +-- +-- * @{#ZONE_BASE.SmokeZone}(): Smokes the zone boundaries in a color. +-- * @{#ZONE_BASE.FlareZone}(): Flares the zone boundaries in a color. +-- +-- === +-- @field #ZONE_BASE ZONE_BASE +ZONE_BASE = { + ClassName = "ZONE_BASE", + ZoneName = "", + ZoneProbability = 1, + } + + +--- The ZONE_BASE.BoundingSquare +-- @type ZONE_BASE.BoundingSquare +-- @field Dcs.DCSTypes#Distance x1 The lower x coordinate (left down) +-- @field Dcs.DCSTypes#Distance y1 The lower y coordinate (left down) +-- @field Dcs.DCSTypes#Distance x2 The higher x coordinate (right up) +-- @field Dcs.DCSTypes#Distance y2 The higher y coordinate (right up) + + +--- ZONE_BASE constructor +-- @param #ZONE_BASE self +-- @param #string ZoneName Name of the zone. +-- @return #ZONE_BASE self +function ZONE_BASE:New( ZoneName ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( ZoneName ) + + self.ZoneName = ZoneName + + return self +end + +--- Returns the name of the zone. +-- @param #ZONE_BASE self +-- @return #string The name of the zone. +function ZONE_BASE:GetName() + self:F2() + + return self.ZoneName +end +--- Returns if a location is within the zone. +-- @param #ZONE_BASE self +-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test. +-- @return #boolean true if the location is within the zone. +function ZONE_BASE:IsVec2InZone( Vec2 ) + self:F2( Vec2 ) + + return false +end + +--- Returns if a point is within the zone. +-- @param #ZONE_BASE self +-- @param Dcs.DCSTypes#Vec3 Vec3 The point to test. +-- @return #boolean true if the point is within the zone. +function ZONE_BASE:IsVec3InZone( Vec3 ) + self:F2( Vec3 ) + + local InZone = self:IsVec2InZone( { x = Vec3.x, y = Vec3.z } ) + + return InZone +end + +--- Returns the @{DCSTypes#Vec2} coordinate of the zone. +-- @param #ZONE_BASE self +-- @return #nil. +function ZONE_BASE:GetVec2() + self:F2( self.ZoneName ) + + return nil +end + +--- Returns a @{Point#POINT_VEC2} of the zone. +-- @param #ZONE_BASE self +-- @param Dcs.DCSTypes#Distance Height The height to add to the land height where the center of the zone is located. +-- @return Core.Point#POINT_VEC2 The PointVec2 of the zone. +function ZONE_BASE:GetPointVec2() + self:F2( self.ZoneName ) + + local Vec2 = self:GetVec2() + + local PointVec2 = POINT_VEC2:NewFromVec2( Vec2 ) + + self:T2( { PointVec2 } ) + + return PointVec2 +end + + +--- Returns the @{DCSTypes#Vec3} of the zone. +-- @param #ZONE_BASE self +-- @param Dcs.DCSTypes#Distance Height The height to add to the land height where the center of the zone is located. +-- @return Dcs.DCSTypes#Vec3 The Vec3 of the zone. +function ZONE_BASE:GetVec3( Height ) + self:F2( self.ZoneName ) + + Height = Height or 0 + + local Vec2 = self:GetVec2() + + local Vec3 = { x = Vec2.x, y = land.getHeight( self:GetVec2() ) + Height, z = Vec2.y } + + self:T2( { Vec3 } ) + + return Vec3 +end + +--- Returns a @{Point#POINT_VEC3} of the zone. +-- @param #ZONE_BASE self +-- @param Dcs.DCSTypes#Distance Height The height to add to the land height where the center of the zone is located. +-- @return Core.Point#POINT_VEC3 The PointVec3 of the zone. +function ZONE_BASE:GetPointVec3( Height ) + self:F2( self.ZoneName ) + + local Vec3 = self:GetVec3( Height ) + + local PointVec3 = POINT_VEC3:NewFromVec3( Vec3 ) + + self:T2( { PointVec3 } ) + + return PointVec3 +end + + +--- Define a random @{DCSTypes#Vec2} within the zone. +-- @param #ZONE_BASE self +-- @return Dcs.DCSTypes#Vec2 The Vec2 coordinates. +function ZONE_BASE:GetRandomVec2() + return nil +end + +--- Define a random @{Point#POINT_VEC2} within the zone. +-- @param #ZONE_BASE self +-- @return Core.Point#POINT_VEC2 The PointVec2 coordinates. +function ZONE_BASE:GetRandomPointVec2() + return nil +end + +--- Define a random @{Point#POINT_VEC3} within the zone. +-- @param #ZONE_BASE self +-- @return Core.Point#POINT_VEC3 The PointVec3 coordinates. +function ZONE_BASE:GetRandomPointVec3() + return nil +end + +--- Get the bounding square the zone. +-- @param #ZONE_BASE self +-- @return #nil The bounding square. +function ZONE_BASE:GetBoundingSquare() + --return { x1 = 0, y1 = 0, x2 = 0, y2 = 0 } + return nil +end + +--- Bound the zone boundaries with a tires. +-- @param #ZONE_BASE self +function ZONE_BASE:BoundZone() + self:F2() + +end + +--- Smokes the zone boundaries in a color. +-- @param #ZONE_BASE self +-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color. +function ZONE_BASE:SmokeZone( SmokeColor ) + self:F2( SmokeColor ) + +end + +--- Set the randomization probability of a zone to be selected. +-- @param #ZONE_BASE self +-- @param ZoneProbability A value between 0 and 1. 0 = 0% and 1 = 100% probability. +function ZONE_BASE:SetZoneProbability( ZoneProbability ) + self:F2( ZoneProbability ) + + self.ZoneProbability = ZoneProbability or 1 + return self +end + +--- Get the randomization probability of a zone to be selected. +-- @param #ZONE_BASE self +-- @return #number A value between 0 and 1. 0 = 0% and 1 = 100% probability. +function ZONE_BASE:GetZoneProbability() + self:F2() + + return self.ZoneProbability +end + +--- Get the zone taking into account the randomization probability of a zone to be selected. +-- @param #ZONE_BASE self +-- @return #ZONE_BASE The zone is selected taking into account the randomization probability factor. +-- @return #nil The zone is not selected taking into account the randomization probability factor. +function ZONE_BASE:GetZoneMaybe() + self:F2() + + local Randomization = math.random() + if Randomization <= self.ZoneProbability then + return self + else + return nil + end +end + + +--- The ZONE_RADIUS class, defined by a zone name, a location and a radius. +-- @type ZONE_RADIUS +-- @field Dcs.DCSTypes#Vec2 Vec2 The current location of the zone. +-- @field Dcs.DCSTypes#Distance Radius The radius of the zone. +-- @extends Core.Zone#ZONE_BASE + +--- # 2) @{Zone#ZONE_RADIUS} class, extends @{Zone#ZONE_BASE} +-- +-- The ZONE_RADIUS class defined by a zone name, a location and a radius. +-- This class implements the inherited functions from Core.Zone#ZONE_BASE taking into account the own zone format and properties. +-- +-- ## 2.1) @{Zone#ZONE_RADIUS} constructor +-- +-- * @{#ZONE_RADIUS.New}(): Constructor. +-- +-- ## 2.2) Manage the radius of the zone +-- +-- * @{#ZONE_RADIUS.SetRadius}(): Sets the radius of the zone. +-- * @{#ZONE_RADIUS.GetRadius}(): Returns the radius of the zone. +-- +-- ## 2.3) Manage the location of the zone +-- +-- * @{#ZONE_RADIUS.SetVec2}(): Sets the @{DCSTypes#Vec2} of the zone. +-- * @{#ZONE_RADIUS.GetVec2}(): Returns the @{DCSTypes#Vec2} of the zone. +-- * @{#ZONE_RADIUS.GetVec3}(): Returns the @{DCSTypes#Vec3} of the zone, taking an additional height parameter. +-- +-- ## 2.4) Zone point randomization +-- +-- Various functions exist to find random points within the zone. +-- +-- * @{#ZONE_RADIUS.GetRandomVec2}(): Gets a random 2D point in the zone. +-- * @{#ZONE_RADIUS.GetRandomPointVec2}(): Gets a @{Point#POINT_VEC2} object representing a random 2D point in the zone. +-- * @{#ZONE_RADIUS.GetRandomPointVec3}(): Gets a @{Point#POINT_VEC3} object representing a random 3D point in the zone. Note that the height of the point is at landheight. +-- +-- === +-- +-- @field #ZONE_RADIUS ZONE_RADIUS +-- +ZONE_RADIUS = { + ClassName="ZONE_RADIUS", + } + +--- Constructor of @{#ZONE_RADIUS}, taking the zone name, the zone location and a radius. +-- @param #ZONE_RADIUS self +-- @param #string ZoneName Name of the zone. +-- @param Dcs.DCSTypes#Vec2 Vec2 The location of the zone. +-- @param Dcs.DCSTypes#Distance Radius The radius of the zone. +-- @return #ZONE_RADIUS self +function ZONE_RADIUS:New( ZoneName, Vec2, Radius ) + local self = BASE:Inherit( self, ZONE_BASE:New( ZoneName ) ) -- #ZONE_RADIUS + self:F( { ZoneName, Vec2, Radius } ) + + self.Radius = Radius + self.Vec2 = Vec2 + + return self +end + +--- Bounds the zone with tires. +-- @param #ZONE_RADIUS self +-- @param #number Points (optional) The amount of points in the circle. +-- @param #boolean UnBound If true the tyres will be destroyed. +-- @return #ZONE_RADIUS self +function ZONE_RADIUS:BoundZone( Points, CountryID, UnBound ) + + local Point = {} + local Vec2 = self:GetVec2() + + Points = Points and Points or 360 + + local Angle + local RadialBase = math.pi*2 + + -- + for Angle = 0, 360, (360 / Points ) do + local Radial = Angle * RadialBase / 360 + Point.x = Vec2.x + math.cos( Radial ) * self:GetRadius() + Point.y = Vec2.y + math.sin( Radial ) * self:GetRadius() + + local CountryName = _DATABASE.COUNTRY_NAME[CountryID] + + local Tire = { + ["country"] = CountryName, + ["category"] = "Fortifications", + ["canCargo"] = false, + ["shape_name"] = "H-tyre_B_WF", + ["type"] = "Black_Tyre_WF", + --["unitId"] = Angle + 10000, + ["y"] = Point.y, + ["x"] = Point.x, + ["name"] = string.format( "%s-Tire #%0d", self:GetName(), Angle ), + ["heading"] = 0, + } -- end of ["group"] + + local Group = coalition.addStaticObject( CountryID, Tire ) + if UnBound and UnBound == true then + Group:destroy() + end + end + + return self +end + + +--- Smokes the zone boundaries in a color. +-- @param #ZONE_RADIUS self +-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color. +-- @param #number Points (optional) The amount of points in the circle. +-- @return #ZONE_RADIUS self +function ZONE_RADIUS:SmokeZone( SmokeColor, Points ) + self:F2( SmokeColor ) + + local Point = {} + local Vec2 = self:GetVec2() + + Points = Points and Points or 360 + + local Angle + local RadialBase = math.pi*2 + + for Angle = 0, 360, 360 / Points do + local Radial = Angle * RadialBase / 360 + Point.x = Vec2.x + math.cos( Radial ) * self:GetRadius() + Point.y = Vec2.y + math.sin( Radial ) * self:GetRadius() + POINT_VEC2:New( Point.x, Point.y ):Smoke( SmokeColor ) + end + + return self +end + + +--- Flares the zone boundaries in a color. +-- @param #ZONE_RADIUS self +-- @param Utilities.Utils#FLARECOLOR FlareColor The flare color. +-- @param #number Points (optional) The amount of points in the circle. +-- @param Dcs.DCSTypes#Azimuth Azimuth (optional) Azimuth The azimuth of the flare. +-- @return #ZONE_RADIUS self +function ZONE_RADIUS:FlareZone( FlareColor, Points, Azimuth ) + self:F2( { FlareColor, Azimuth } ) + + local Point = {} + local Vec2 = self:GetVec2() + + Points = Points and Points or 360 + + local Angle + local RadialBase = math.pi*2 + + for Angle = 0, 360, 360 / Points do + local Radial = Angle * RadialBase / 360 + Point.x = Vec2.x + math.cos( Radial ) * self:GetRadius() + Point.y = Vec2.y + math.sin( Radial ) * self:GetRadius() + POINT_VEC2:New( Point.x, Point.y ):Flare( FlareColor, Azimuth ) + end + + return self +end + +--- Returns the radius of the zone. +-- @param #ZONE_RADIUS self +-- @return Dcs.DCSTypes#Distance The radius of the zone. +function ZONE_RADIUS:GetRadius() + self:F2( self.ZoneName ) + + self:T2( { self.Radius } ) + + return self.Radius +end + +--- Sets the radius of the zone. +-- @param #ZONE_RADIUS self +-- @param Dcs.DCSTypes#Distance Radius The radius of the zone. +-- @return Dcs.DCSTypes#Distance The radius of the zone. +function ZONE_RADIUS:SetRadius( Radius ) + self:F2( self.ZoneName ) + + self.Radius = Radius + self:T2( { self.Radius } ) + + return self.Radius +end + +--- Returns the @{DCSTypes#Vec2} of the zone. +-- @param #ZONE_RADIUS self +-- @return Dcs.DCSTypes#Vec2 The location of the zone. +function ZONE_RADIUS:GetVec2() + self:F2( self.ZoneName ) + + self:T2( { self.Vec2 } ) + + return self.Vec2 +end + +--- Sets the @{DCSTypes#Vec2} of the zone. +-- @param #ZONE_RADIUS self +-- @param Dcs.DCSTypes#Vec2 Vec2 The new location of the zone. +-- @return Dcs.DCSTypes#Vec2 The new location of the zone. +function ZONE_RADIUS:SetVec2( Vec2 ) + self:F2( self.ZoneName ) + + self.Vec2 = Vec2 + + self:T2( { self.Vec2 } ) + + return self.Vec2 +end + +--- Returns the @{DCSTypes#Vec3} of the ZONE_RADIUS. +-- @param #ZONE_RADIUS self +-- @param Dcs.DCSTypes#Distance Height The height to add to the land height where the center of the zone is located. +-- @return Dcs.DCSTypes#Vec3 The point of the zone. +function ZONE_RADIUS:GetVec3( Height ) + self:F2( { self.ZoneName, Height } ) + + Height = Height or 0 + local Vec2 = self:GetVec2() + + local Vec3 = { x = Vec2.x, y = land.getHeight( self:GetVec2() ) + Height, z = Vec2.y } + + self:T2( { Vec3 } ) + + return Vec3 +end + + +--- Returns if a location is within the zone. +-- @param #ZONE_RADIUS self +-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test. +-- @return #boolean true if the location is within the zone. +function ZONE_RADIUS:IsVec2InZone( Vec2 ) + self:F2( Vec2 ) + + local ZoneVec2 = self:GetVec2() + + if ZoneVec2 then + if (( Vec2.x - ZoneVec2.x )^2 + ( Vec2.y - ZoneVec2.y ) ^2 ) ^ 0.5 <= self:GetRadius() then + return true + end + end + + return false +end + +--- Returns if a point is within the zone. +-- @param #ZONE_RADIUS self +-- @param Dcs.DCSTypes#Vec3 Vec3 The point to test. +-- @return #boolean true if the point is within the zone. +function ZONE_RADIUS:IsVec3InZone( Vec3 ) + self:F2( Vec3 ) + + local InZone = self:IsVec2InZone( { x = Vec3.x, y = Vec3.z } ) + + return InZone +end + +--- Returns a random Vec2 location within the zone. +-- @param #ZONE_RADIUS self +-- @param #number inner (optional) Minimal distance from the center of the zone. Default is 0. +-- @param #number outer (optional) Maximal distance from the outer edge of the zone. Default is the radius of the zone. +-- @return Dcs.DCSTypes#Vec2 The random location within the zone. +function ZONE_RADIUS:GetRandomVec2( inner, outer ) + self:F( self.ZoneName, inner, outer ) + + local Point = {} + local Vec2 = self:GetVec2() + local _inner = inner or 0 + local _outer = outer or self:GetRadius() + + local angle = math.random() * math.pi * 2; + Point.x = Vec2.x + math.cos( angle ) * math.random(_inner, _outer); + Point.y = Vec2.y + math.sin( angle ) * math.random(_inner, _outer); + + self:T( { Point } ) + + return Point +end + +--- Returns a @{Point#POINT_VEC2} object reflecting a random 2D location within the zone. +-- @param #ZONE_RADIUS self +-- @param #number inner (optional) Minimal distance from the center of the zone. Default is 0. +-- @param #number outer (optional) Maximal distance from the outer edge of the zone. Default is the radius of the zone. +-- @return Core.Point#POINT_VEC2 The @{Point#POINT_VEC2} object reflecting the random 3D location within the zone. +function ZONE_RADIUS:GetRandomPointVec2( inner, outer ) + self:F( self.ZoneName, inner, outer ) + + local PointVec2 = POINT_VEC2:NewFromVec2( self:GetRandomVec2() ) + + self:T3( { PointVec2 } ) + + return PointVec2 +end + +--- Returns a @{Point#POINT_VEC3} object reflecting a random 3D location within the zone. +-- @param #ZONE_RADIUS self +-- @param #number inner (optional) Minimal distance from the center of the zone. Default is 0. +-- @param #number outer (optional) Maximal distance from the outer edge of the zone. Default is the radius of the zone. +-- @return Core.Point#POINT_VEC3 The @{Point#POINT_VEC3} object reflecting the random 3D location within the zone. +function ZONE_RADIUS:GetRandomPointVec3( inner, outer ) + self:F( self.ZoneName, inner, outer ) + + local PointVec3 = POINT_VEC3:NewFromVec2( self:GetRandomVec2() ) + + self:T3( { PointVec3 } ) + + return PointVec3 +end + + + +-- @type ZONE +-- @extends Core.Zone#ZONE_RADIUS + + +--- # 3) ZONE class, extends @{Zone#ZONE_RADIUS} +-- +-- The ZONE class, defined by the zone name as defined within the Mission Editor. +-- This class implements the inherited functions from @{#ZONE_RADIUS} taking into account the own zone format and properties. +-- +-- === +-- +-- @field #ZONE ZONE +-- +ZONE = { + ClassName="ZONE", + } + + +--- Constructor of ZONE, taking the zone name. +-- @param #ZONE self +-- @param #string ZoneName The name of the zone as defined within the mission editor. +-- @return #ZONE +function ZONE:New( ZoneName ) + + local Zone = trigger.misc.getZone( ZoneName ) + + if not Zone then + error( "Zone " .. ZoneName .. " does not exist." ) + return nil + end + + local self = BASE:Inherit( self, ZONE_RADIUS:New( ZoneName, { x = Zone.point.x, y = Zone.point.z }, Zone.radius ) ) + self:F( ZoneName ) + + self.Zone = Zone + + return self +end + + +--- The ZONE_UNIT class defined by a zone around a @{Unit#UNIT} with a radius. +-- @type ZONE_UNIT +-- @field Wrapper.Unit#UNIT ZoneUNIT +-- @extends Core.Zone#ZONE_RADIUS + +--- # 4) #ZONE_UNIT class, extends @{Zone#ZONE_RADIUS} +-- +-- The ZONE_UNIT class defined by a zone around a @{Unit#UNIT} with a radius. +-- This class implements the inherited functions from @{#ZONE_RADIUS} taking into account the own zone format and properties. +-- +-- === +-- +-- @field #ZONE_UNIT ZONE_UNIT +-- +ZONE_UNIT = { + ClassName="ZONE_UNIT", + } + +--- Constructor to create a ZONE_UNIT instance, taking the zone name, a zone unit and a radius. +-- @param #ZONE_UNIT self +-- @param #string ZoneName Name of the zone. +-- @param Wrapper.Unit#UNIT ZoneUNIT The unit as the center of the zone. +-- @param Dcs.DCSTypes#Distance Radius The radius of the zone. +-- @return #ZONE_UNIT self +function ZONE_UNIT:New( ZoneName, ZoneUNIT, Radius ) + local self = BASE:Inherit( self, ZONE_RADIUS:New( ZoneName, ZoneUNIT:GetVec2(), Radius ) ) + self:F( { ZoneName, ZoneUNIT:GetVec2(), Radius } ) + + self.ZoneUNIT = ZoneUNIT + self.LastVec2 = ZoneUNIT:GetVec2() + + return self +end + + +--- Returns the current location of the @{Unit#UNIT}. +-- @param #ZONE_UNIT self +-- @return Dcs.DCSTypes#Vec2 The location of the zone based on the @{Unit#UNIT}location. +function ZONE_UNIT:GetVec2() + self:F( self.ZoneName ) + + local ZoneVec2 = self.ZoneUNIT:GetVec2() + if ZoneVec2 then + self.LastVec2 = ZoneVec2 + return ZoneVec2 + else + return self.LastVec2 + end + + self:T( { ZoneVec2 } ) + + return nil +end + +--- Returns a random location within the zone. +-- @param #ZONE_UNIT self +-- @return Dcs.DCSTypes#Vec2 The random location within the zone. +function ZONE_UNIT:GetRandomVec2() + self:F( self.ZoneName ) + + local RandomVec2 = {} + local Vec2 = self.ZoneUNIT:GetVec2() + + if not Vec2 then + Vec2 = self.LastVec2 + end + + local angle = math.random() * math.pi*2; + RandomVec2.x = Vec2.x + math.cos( angle ) * math.random() * self:GetRadius(); + RandomVec2.y = Vec2.y + math.sin( angle ) * math.random() * self:GetRadius(); + + self:T( { RandomVec2 } ) + + return RandomVec2 +end + +--- Returns the @{DCSTypes#Vec3} of the ZONE_UNIT. +-- @param #ZONE_UNIT self +-- @param Dcs.DCSTypes#Distance Height The height to add to the land height where the center of the zone is located. +-- @return Dcs.DCSTypes#Vec3 The point of the zone. +function ZONE_UNIT:GetVec3( Height ) + self:F2( self.ZoneName ) + + Height = Height or 0 + + local Vec2 = self:GetVec2() + + local Vec3 = { x = Vec2.x, y = land.getHeight( self:GetVec2() ) + Height, z = Vec2.y } + + self:T2( { Vec3 } ) + + return Vec3 +end + +--- @type ZONE_GROUP +-- @field Wrapper.Group#GROUP ZoneGROUP +-- @extends Core.Zone#ZONE_RADIUS + + +--- # 5) #ZONE_GROUP class, extends @{Zone#ZONE_RADIUS} +-- +-- The ZONE_GROUP class defines by a zone around a @{Group#GROUP} with a radius. The current leader of the group defines the center of the zone. +-- This class implements the inherited functions from @{Zone#ZONE_RADIUS} taking into account the own zone format and properties. +-- +-- === +-- +-- @field #ZONE_GROUP ZONE_GROUP +-- +ZONE_GROUP = { + ClassName="ZONE_GROUP", + } + +--- Constructor to create a ZONE_GROUP instance, taking the zone name, a zone @{Group#GROUP} and a radius. +-- @param #ZONE_GROUP self +-- @param #string ZoneName Name of the zone. +-- @param Wrapper.Group#GROUP ZoneGROUP The @{Group} as the center of the zone. +-- @param Dcs.DCSTypes#Distance Radius The radius of the zone. +-- @return #ZONE_GROUP self +function ZONE_GROUP:New( ZoneName, ZoneGROUP, Radius ) + local self = BASE:Inherit( self, ZONE_RADIUS:New( ZoneName, ZoneGROUP:GetVec2(), Radius ) ) + self:F( { ZoneName, ZoneGROUP:GetVec2(), Radius } ) + + self.ZoneGROUP = ZoneGROUP + + return self +end + + +--- Returns the current location of the @{Group}. +-- @param #ZONE_GROUP self +-- @return Dcs.DCSTypes#Vec2 The location of the zone based on the @{Group} location. +function ZONE_GROUP:GetVec2() + self:F( self.ZoneName ) + + local ZoneVec2 = self.ZoneGROUP:GetVec2() + + self:T( { ZoneVec2 } ) + + return ZoneVec2 +end + +--- Returns a random location within the zone of the @{Group}. +-- @param #ZONE_GROUP self +-- @return Dcs.DCSTypes#Vec2 The random location of the zone based on the @{Group} location. +function ZONE_GROUP:GetRandomVec2() + self:F( self.ZoneName ) + + local Point = {} + local Vec2 = self.ZoneGROUP:GetVec2() + + local angle = math.random() * math.pi*2; + Point.x = Vec2.x + math.cos( angle ) * math.random() * self:GetRadius(); + Point.y = Vec2.y + math.sin( angle ) * math.random() * self:GetRadius(); + + self:T( { Point } ) + + return Point +end + + + +--- @type ZONE_POLYGON_BASE +-- @field #ZONE_POLYGON_BASE.ListVec2 Polygon The polygon defined by an array of @{DCSTypes#Vec2}. +-- @extends Core.Zone#ZONE_BASE + + +--- # 6) ZONE_POLYGON_BASE class, extends @{Zone#ZONE_BASE} +-- +-- The ZONE_POLYGON_BASE class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon. +-- This class implements the inherited functions from @{Zone#ZONE_RADIUS} taking into account the own zone format and properties. +-- This class is an abstract BASE class for derived classes, and is not meant to be instantiated. +-- +-- ## 6.1) Zone point randomization +-- +-- Various functions exist to find random points within the zone. +-- +-- * @{#ZONE_POLYGON_BASE.GetRandomVec2}(): Gets a random 2D point in the zone. +-- * @{#ZONE_POLYGON_BASE.GetRandomPointVec2}(): Return a @{Point#POINT_VEC2} object representing a random 2D point within the zone. +-- * @{#ZONE_POLYGON_BASE.GetRandomPointVec3}(): Return a @{Point#POINT_VEC3} object representing a random 3D point at landheight within the zone. +-- +-- === +-- +-- @field #ZONE_POLYGON_BASE ZONE_POLYGON_BASE +-- +ZONE_POLYGON_BASE = { + ClassName="ZONE_POLYGON_BASE", + } + +--- A points array. +-- @type ZONE_POLYGON_BASE.ListVec2 +-- @list + +--- Constructor to create a ZONE_POLYGON_BASE instance, taking the zone name and an array of @{DCSTypes#Vec2}, forming a polygon. +-- The @{Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected. +-- @param #ZONE_POLYGON_BASE self +-- @param #string ZoneName Name of the zone. +-- @param #ZONE_POLYGON_BASE.ListVec2 PointsArray An array of @{DCSTypes#Vec2}, forming a polygon.. +-- @return #ZONE_POLYGON_BASE self +function ZONE_POLYGON_BASE:New( ZoneName, PointsArray ) + local self = BASE:Inherit( self, ZONE_BASE:New( ZoneName ) ) + self:F( { ZoneName, PointsArray } ) + + local i = 0 + + self.Polygon = {} + + for i = 1, #PointsArray do + self.Polygon[i] = {} + self.Polygon[i].x = PointsArray[i].x + self.Polygon[i].y = PointsArray[i].y + end + + return self +end + +--- Flush polygon coordinates as a table in DCS.log. +-- @param #ZONE_POLYGON_BASE self +-- @return #ZONE_POLYGON_BASE self +function ZONE_POLYGON_BASE:Flush() + self:F2() + + self:E( { Polygon = self.ZoneName, Coordinates = self.Polygon } ) + + return self +end + +--- Smokes the zone boundaries in a color. +-- @param #ZONE_POLYGON_BASE self +-- @param #boolean UnBound If true, the tyres will be destroyed. +-- @return #ZONE_POLYGON_BASE self +function ZONE_POLYGON_BASE:BoundZone( UnBound ) + + local i + local j + local Segments = 10 + + i = 1 + j = #self.Polygon + + while i <= #self.Polygon do + self:T( { i, j, self.Polygon[i], self.Polygon[j] } ) + + local DeltaX = self.Polygon[j].x - self.Polygon[i].x + local DeltaY = self.Polygon[j].y - self.Polygon[i].y + + for Segment = 0, Segments do -- We divide each line in 5 segments and smoke a point on the line. + local PointX = self.Polygon[i].x + ( Segment * DeltaX / Segments ) + local PointY = self.Polygon[i].y + ( Segment * DeltaY / Segments ) + local Tire = { + ["country"] = "USA", + ["category"] = "Fortifications", + ["canCargo"] = false, + ["shape_name"] = "H-tyre_B_WF", + ["type"] = "Black_Tyre_WF", + ["y"] = PointY, + ["x"] = PointX, + ["name"] = string.format( "%s-Tire #%0d", self:GetName(), ((i - 1) * Segments) + Segment ), + ["heading"] = 0, + } -- end of ["group"] + + local Group = coalition.addStaticObject( country.id.USA, Tire ) + if UnBound and UnBound == true then + Group:destroy() + end + + end + j = i + i = i + 1 + end + + return self +end + + + +--- Smokes the zone boundaries in a color. +-- @param #ZONE_POLYGON_BASE self +-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color. +-- @return #ZONE_POLYGON_BASE self +function ZONE_POLYGON_BASE:SmokeZone( SmokeColor ) + self:F2( SmokeColor ) + + local i + local j + local Segments = 10 + + i = 1 + j = #self.Polygon + + while i <= #self.Polygon do + self:T( { i, j, self.Polygon[i], self.Polygon[j] } ) + + local DeltaX = self.Polygon[j].x - self.Polygon[i].x + local DeltaY = self.Polygon[j].y - self.Polygon[i].y + + for Segment = 0, Segments do -- We divide each line in 5 segments and smoke a point on the line. + local PointX = self.Polygon[i].x + ( Segment * DeltaX / Segments ) + local PointY = self.Polygon[i].y + ( Segment * DeltaY / Segments ) + POINT_VEC2:New( PointX, PointY ):Smoke( SmokeColor ) + end + j = i + i = i + 1 + end + + return self +end + + + + +--- Returns if a location is within the zone. +-- Source learned and taken from: https://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html +-- @param #ZONE_POLYGON_BASE self +-- @param Dcs.DCSTypes#Vec2 Vec2 The location to test. +-- @return #boolean true if the location is within the zone. +function ZONE_POLYGON_BASE:IsVec2InZone( Vec2 ) + self:F2( Vec2 ) + + local Next + local Prev + local InPolygon = false + + Next = 1 + Prev = #self.Polygon + + while Next <= #self.Polygon do + self:T( { Next, Prev, self.Polygon[Next], self.Polygon[Prev] } ) + if ( ( ( self.Polygon[Next].y > Vec2.y ) ~= ( self.Polygon[Prev].y > Vec2.y ) ) and + ( Vec2.x < ( self.Polygon[Prev].x - self.Polygon[Next].x ) * ( Vec2.y - self.Polygon[Next].y ) / ( self.Polygon[Prev].y - self.Polygon[Next].y ) + self.Polygon[Next].x ) + ) then + InPolygon = not InPolygon + end + self:T2( { InPolygon = InPolygon } ) + Prev = Next + Next = Next + 1 + end + + self:T( { InPolygon = InPolygon } ) + return InPolygon +end + +--- Define a random @{DCSTypes#Vec2} within the zone. +-- @param #ZONE_POLYGON_BASE self +-- @return Dcs.DCSTypes#Vec2 The Vec2 coordinate. +function ZONE_POLYGON_BASE:GetRandomVec2() + self:F2() + + --- It is a bit tricky to find a random point within a polygon. Right now i am doing it the dirty and inefficient way... + local Vec2Found = false + local Vec2 + local BS = self:GetBoundingSquare() + + self:T2( BS ) + + while Vec2Found == false do + Vec2 = { x = math.random( BS.x1, BS.x2 ), y = math.random( BS.y1, BS.y2 ) } + self:T2( Vec2 ) + if self:IsVec2InZone( Vec2 ) then + Vec2Found = true + end + end + + self:T2( Vec2 ) + + return Vec2 +end + +--- Return a @{Point#POINT_VEC2} object representing a random 2D point at landheight within the zone. +-- @param #ZONE_POLYGON_BASE self +-- @return @{Point#POINT_VEC2} +function ZONE_POLYGON_BASE:GetRandomPointVec2() + self:F2() + + local PointVec2 = POINT_VEC2:NewFromVec2( self:GetRandomVec2() ) + + self:T2( PointVec2 ) + + return PointVec2 +end + +--- Return a @{Point#POINT_VEC3} object representing a random 3D point at landheight within the zone. +-- @param #ZONE_POLYGON_BASE self +-- @return @{Point#POINT_VEC3} +function ZONE_POLYGON_BASE:GetRandomPointVec3() + self:F2() + + local PointVec3 = POINT_VEC3:NewFromVec2( self:GetRandomVec2() ) + + self:T2( PointVec3 ) + + return PointVec3 +end + + +--- Get the bounding square the zone. +-- @param #ZONE_POLYGON_BASE self +-- @return #ZONE_POLYGON_BASE.BoundingSquare The bounding square. +function ZONE_POLYGON_BASE:GetBoundingSquare() + + local x1 = self.Polygon[1].x + local y1 = self.Polygon[1].y + local x2 = self.Polygon[1].x + local y2 = self.Polygon[1].y + + for i = 2, #self.Polygon do + self:T2( { self.Polygon[i], x1, y1, x2, y2 } ) + x1 = ( x1 > self.Polygon[i].x ) and self.Polygon[i].x or x1 + x2 = ( x2 < self.Polygon[i].x ) and self.Polygon[i].x or x2 + y1 = ( y1 > self.Polygon[i].y ) and self.Polygon[i].y or y1 + y2 = ( y2 < self.Polygon[i].y ) and self.Polygon[i].y or y2 + + end + + return { x1 = x1, y1 = y1, x2 = x2, y2 = y2 } +end + + +--- @type ZONE_POLYGON +-- @extends Core.Zone#ZONE_POLYGON_BASE + + +--- # 7) ZONE_POLYGON class, extends @{Zone#ZONE_POLYGON_BASE} +-- +-- The ZONE_POLYGON class defined by a sequence of @{Group#GROUP} waypoints within the Mission Editor, forming a polygon. +-- This class implements the inherited functions from @{Zone#ZONE_RADIUS} taking into account the own zone format and properties. +-- +-- === +-- +-- @field #ZONE_POLYGON ZONE_POLYGON +-- +ZONE_POLYGON = { + ClassName="ZONE_POLYGON", + } + +--- Constructor to create a ZONE_POLYGON instance, taking the zone name and the name of the @{Group#GROUP} defined within the Mission Editor. +-- The @{Group#GROUP} waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON. +-- @param #ZONE_POLYGON self +-- @param #string ZoneName Name of the zone. +-- @param Wrapper.Group#GROUP ZoneGroup The GROUP waypoints as defined within the Mission Editor define the polygon shape. +-- @return #ZONE_POLYGON self +function ZONE_POLYGON:New( ZoneName, ZoneGroup ) + + local GroupPoints = ZoneGroup:GetTaskRoute() + + local self = BASE:Inherit( self, ZONE_POLYGON_BASE:New( ZoneName, GroupPoints ) ) + self:F( { ZoneName, ZoneGroup, self.Polygon } ) + + return self +end + +--- This module contains the DATABASE class, managing the database of mission objects. +-- +-- ==== +-- +-- 1) @{#DATABASE} class, extends @{Base#BASE} +-- =================================================== +-- Mission designers can use the DATABASE class to refer to: +-- +-- * UNITS +-- * GROUPS +-- * CLIENTS +-- * AIRPORTS +-- * PLAYERSJOINED +-- * PLAYERS +-- +-- On top, for internal MOOSE administration purposes, the DATBASE administers the Unit and Group TEMPLATES as defined within the Mission Editor. +-- +-- Moose will automatically create one instance of the DATABASE class into the **global** object _DATABASE. +-- Moose refers to _DATABASE within the framework extensively, but you can also refer to the _DATABASE object within your missions if required. +-- +-- 1.1) DATABASE iterators +-- ----------------------- +-- You can iterate the database with the available iterator methods. +-- The iterator methods will walk the DATABASE set, and call for each element within the set a function that you provide. +-- The following iterator methods are currently available within the DATABASE: +-- +-- * @{#DATABASE.ForEachUnit}: Calls a function for each @{UNIT} it finds within the DATABASE. +-- * @{#DATABASE.ForEachGroup}: Calls a function for each @{GROUP} it finds within the DATABASE. +-- * @{#DATABASE.ForEachPlayer}: Calls a function for each alive player it finds within the DATABASE. +-- * @{#DATABASE.ForEachPlayerJoined}: Calls a function for each joined player it finds within the DATABASE. +-- * @{#DATABASE.ForEachClient}: Calls a function for each @{CLIENT} it finds within the DATABASE. +-- * @{#DATABASE.ForEachClientAlive}: Calls a function for each alive @{CLIENT} it finds within the DATABASE. +-- +-- === +-- +-- @module Database +-- @author FlightControl + +--- DATABASE class +-- @type DATABASE +-- @extends Core.Base#BASE +DATABASE = { + ClassName = "DATABASE", + Templates = { + Units = {}, + Groups = {}, + ClientsByName = {}, + ClientsByID = {}, + }, + UNITS = {}, + STATICS = {}, + GROUPS = {}, + PLAYERS = {}, + PLAYERSJOINED = {}, + CLIENTS = {}, + AIRBASES = {}, + COUNTRY_ID = {}, + COUNTRY_NAME = {}, + NavPoints = {}, +} + +local _DATABASECoalition = + { + [1] = "Red", + [2] = "Blue", + } + +local _DATABASECategory = + { + ["plane"] = Unit.Category.AIRPLANE, + ["helicopter"] = Unit.Category.HELICOPTER, + ["vehicle"] = Unit.Category.GROUND_UNIT, + ["ship"] = Unit.Category.SHIP, + ["static"] = Unit.Category.STRUCTURE, + } + + +--- Creates a new DATABASE object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. +-- @param #DATABASE self +-- @return #DATABASE +-- @usage +-- -- Define a new DATABASE Object. This DBObject will contain a reference to all Group and Unit Templates defined within the ME and the DCSRTE. +-- DBObject = DATABASE:New() +function DATABASE:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, BASE:New() ) + + self:SetEventPriority( 1 ) + + self:HandleEvent( EVENTS.Birth, self._EventOnBirth ) + self:HandleEvent( EVENTS.Dead, self._EventOnDeadOrCrash ) + self:HandleEvent( EVENTS.Crash, self._EventOnDeadOrCrash ) + + -- Follow alive players and clients + self:HandleEvent( EVENTS.PlayerEnterUnit, self._EventOnPlayerEnterUnit ) + self:HandleEvent( EVENTS.PlayerLeaveUnit, self._EventOnPlayerLeaveUnit ) + + self:_RegisterTemplates() + self:_RegisterGroupsAndUnits() + self:_RegisterClients() + self:_RegisterStatics() + self:_RegisterPlayers() + self:_RegisterAirbases() + + return self +end + +--- Finds a Unit based on the Unit Name. +-- @param #DATABASE self +-- @param #string UnitName +-- @return Wrapper.Unit#UNIT The found Unit. +function DATABASE:FindUnit( UnitName ) + + local UnitFound = self.UNITS[UnitName] + return UnitFound +end + + +--- Adds a Unit based on the Unit Name in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddUnit( DCSUnitName ) + + if not self.UNITS[DCSUnitName] then + local UnitRegister = UNIT:Register( DCSUnitName ) + self.UNITS[DCSUnitName] = UNIT:Register( DCSUnitName ) + end + + return self.UNITS[DCSUnitName] +end + + +--- Deletes a Unit from the DATABASE based on the Unit Name. +-- @param #DATABASE self +function DATABASE:DeleteUnit( DCSUnitName ) + + --self.UNITS[DCSUnitName] = nil +end + +--- Adds a Static based on the Static Name in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddStatic( DCSStaticName ) + + if not self.STATICS[DCSStaticName] then + self.STATICS[DCSStaticName] = STATIC:Register( DCSStaticName ) + end +end + + +--- Deletes a Static from the DATABASE based on the Static Name. +-- @param #DATABASE self +function DATABASE:DeleteStatic( DCSStaticName ) + + --self.STATICS[DCSStaticName] = nil +end + +--- Finds a STATIC based on the StaticName. +-- @param #DATABASE self +-- @param #string StaticName +-- @return Wrapper.Static#STATIC The found STATIC. +function DATABASE:FindStatic( StaticName ) + + local StaticFound = self.STATICS[StaticName] + return StaticFound +end + +--- Adds a Airbase based on the Airbase Name in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddAirbase( DCSAirbaseName ) + + if not self.AIRBASES[DCSAirbaseName] then + self.AIRBASES[DCSAirbaseName] = AIRBASE:Register( DCSAirbaseName ) + end +end + + +--- Deletes a Airbase from the DATABASE based on the Airbase Name. +-- @param #DATABASE self +function DATABASE:DeleteAirbase( DCSAirbaseName ) + + --self.AIRBASES[DCSAirbaseName] = nil +end + +--- Finds a AIRBASE based on the AirbaseName. +-- @param #DATABASE self +-- @param #string AirbaseName +-- @return Wrapper.Airbase#AIRBASE The found AIRBASE. +function DATABASE:FindAirbase( AirbaseName ) + + local AirbaseFound = self.AIRBASES[AirbaseName] + return AirbaseFound +end + + +--- Finds a CLIENT based on the ClientName. +-- @param #DATABASE self +-- @param #string ClientName +-- @return Wrapper.Client#CLIENT The found CLIENT. +function DATABASE:FindClient( ClientName ) + + local ClientFound = self.CLIENTS[ClientName] + return ClientFound +end + + +--- Adds a CLIENT based on the ClientName in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddClient( ClientName ) + + if not self.CLIENTS[ClientName] then + self.CLIENTS[ClientName] = CLIENT:Register( ClientName ) + end + + return self.CLIENTS[ClientName] +end + + +--- Finds a GROUP based on the GroupName. +-- @param #DATABASE self +-- @param #string GroupName +-- @return Wrapper.Group#GROUP The found GROUP. +function DATABASE:FindGroup( GroupName ) + + local GroupFound = self.GROUPS[GroupName] + return GroupFound +end + + +--- Adds a GROUP based on the GroupName in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddGroup( GroupName ) + + if not self.GROUPS[GroupName] then + self:E( { "Add GROUP:", GroupName } ) + self.GROUPS[GroupName] = GROUP:Register( GroupName ) + end + + return self.GROUPS[GroupName] +end + +--- Adds a player based on the Player Name in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddPlayer( UnitName, PlayerName ) + + if PlayerName then + self:E( { "Add player for unit:", UnitName, PlayerName } ) + self.PLAYERS[PlayerName] = self:FindUnit( UnitName ) + self.PLAYERSJOINED[PlayerName] = PlayerName + end +end + +--- Deletes a player from the DATABASE based on the Player Name. +-- @param #DATABASE self +function DATABASE:DeletePlayer( PlayerName ) + + if PlayerName then + self:E( { "Clean player:", PlayerName } ) + self.PLAYERS[PlayerName] = nil + end +end + + +--- Instantiate new Groups within the DCSRTE. +-- This method expects EXACTLY the same structure as a structure within the ME, and needs 2 additional fields defined: +-- SpawnCountryID, SpawnCategoryID +-- This method is used by the SPAWN class. +-- @param #DATABASE self +-- @param #table SpawnTemplate +-- @return #DATABASE self +function DATABASE:Spawn( SpawnTemplate ) + self:F( SpawnTemplate.name ) + + self:T( { SpawnTemplate.SpawnCountryID, SpawnTemplate.SpawnCategoryID } ) + + -- Copy the spawn variables of the template in temporary storage, nullify, and restore the spawn variables. + local SpawnCoalitionID = SpawnTemplate.CoalitionID + local SpawnCountryID = SpawnTemplate.CountryID + local SpawnCategoryID = SpawnTemplate.CategoryID + + -- Nullify + SpawnTemplate.CoalitionID = nil + SpawnTemplate.CountryID = nil + SpawnTemplate.CategoryID = nil + + self:_RegisterTemplate( SpawnTemplate, SpawnCoalitionID, SpawnCategoryID, SpawnCountryID ) + + self:T3( SpawnTemplate ) + coalition.addGroup( SpawnCountryID, SpawnCategoryID, SpawnTemplate ) + + -- Restore + SpawnTemplate.CoalitionID = SpawnCoalitionID + SpawnTemplate.CountryID = SpawnCountryID + SpawnTemplate.CategoryID = SpawnCategoryID + + local SpawnGroup = self:AddGroup( SpawnTemplate.name ) + return SpawnGroup +end + +--- Set a status to a Group within the Database, this to check crossing events for example. +function DATABASE:SetStatusGroup( GroupName, Status ) + self:F2( Status ) + + self.Templates.Groups[GroupName].Status = Status +end + +--- Get a status to a Group within the Database, this to check crossing events for example. +function DATABASE:GetStatusGroup( GroupName ) + self:F2( Status ) + + if self.Templates.Groups[GroupName] then + return self.Templates.Groups[GroupName].Status + else + return "" + end +end + +--- Private method that registers new Group Templates within the DATABASE Object. +-- @param #DATABASE self +-- @param #table GroupTemplate +-- @return #DATABASE self +function DATABASE:_RegisterTemplate( GroupTemplate, CoalitionID, CategoryID, CountryID ) + + local GroupTemplateName = env.getValueDictByKey(GroupTemplate.name) + + local TraceTable = {} + + if not self.Templates.Groups[GroupTemplateName] then + self.Templates.Groups[GroupTemplateName] = {} + self.Templates.Groups[GroupTemplateName].Status = nil + end + + -- Delete the spans from the route, it is not needed and takes memory. + if GroupTemplate.route and GroupTemplate.route.spans then + GroupTemplate.route.spans = nil + end + + GroupTemplate.CategoryID = CategoryID + GroupTemplate.CoalitionID = CoalitionID + GroupTemplate.CountryID = CountryID + + self.Templates.Groups[GroupTemplateName].GroupName = GroupTemplateName + self.Templates.Groups[GroupTemplateName].Template = GroupTemplate + self.Templates.Groups[GroupTemplateName].groupId = GroupTemplate.groupId + self.Templates.Groups[GroupTemplateName].UnitCount = #GroupTemplate.units + self.Templates.Groups[GroupTemplateName].Units = GroupTemplate.units + self.Templates.Groups[GroupTemplateName].CategoryID = CategoryID + self.Templates.Groups[GroupTemplateName].CoalitionID = CoalitionID + self.Templates.Groups[GroupTemplateName].CountryID = CountryID + + + TraceTable[#TraceTable+1] = "Group" + TraceTable[#TraceTable+1] = self.Templates.Groups[GroupTemplateName].GroupName + + TraceTable[#TraceTable+1] = "Coalition" + TraceTable[#TraceTable+1] = self.Templates.Groups[GroupTemplateName].CoalitionID + TraceTable[#TraceTable+1] = "Category" + TraceTable[#TraceTable+1] = self.Templates.Groups[GroupTemplateName].CategoryID + TraceTable[#TraceTable+1] = "Country" + TraceTable[#TraceTable+1] = self.Templates.Groups[GroupTemplateName].CountryID + + TraceTable[#TraceTable+1] = "Units" + + for unit_num, UnitTemplate in pairs( GroupTemplate.units ) do + + UnitTemplate.name = env.getValueDictByKey(UnitTemplate.name) + + self.Templates.Units[UnitTemplate.name] = {} + self.Templates.Units[UnitTemplate.name].UnitName = UnitTemplate.name + self.Templates.Units[UnitTemplate.name].Template = UnitTemplate + self.Templates.Units[UnitTemplate.name].GroupName = GroupTemplateName + self.Templates.Units[UnitTemplate.name].GroupTemplate = GroupTemplate + self.Templates.Units[UnitTemplate.name].GroupId = GroupTemplate.groupId + self.Templates.Units[UnitTemplate.name].CategoryID = CategoryID + self.Templates.Units[UnitTemplate.name].CoalitionID = CoalitionID + self.Templates.Units[UnitTemplate.name].CountryID = CountryID + + if UnitTemplate.skill and (UnitTemplate.skill == "Client" or UnitTemplate.skill == "Player") then + self.Templates.ClientsByName[UnitTemplate.name] = UnitTemplate + self.Templates.ClientsByName[UnitTemplate.name].CategoryID = CategoryID + self.Templates.ClientsByName[UnitTemplate.name].CoalitionID = CoalitionID + self.Templates.ClientsByName[UnitTemplate.name].CountryID = CountryID + self.Templates.ClientsByID[UnitTemplate.unitId] = UnitTemplate + end + + TraceTable[#TraceTable+1] = self.Templates.Units[UnitTemplate.name].UnitName + end + + self:E( TraceTable ) +end + +function DATABASE:GetGroupTemplate( GroupName ) + local GroupTemplate = self.Templates.Groups[GroupName].Template + GroupTemplate.SpawnCoalitionID = self.Templates.Groups[GroupName].CoalitionID + GroupTemplate.SpawnCategoryID = self.Templates.Groups[GroupName].CategoryID + GroupTemplate.SpawnCountryID = self.Templates.Groups[GroupName].CountryID + return GroupTemplate +end + +function DATABASE:GetGroupNameFromUnitName( UnitName ) + return self.Templates.Units[UnitName].GroupName +end + +function DATABASE:GetGroupTemplateFromUnitName( UnitName ) + return self.Templates.Units[UnitName].GroupTemplate +end + +function DATABASE:GetCoalitionFromClientTemplate( ClientName ) + return self.Templates.ClientsByName[ClientName].CoalitionID +end + +function DATABASE:GetCategoryFromClientTemplate( ClientName ) + return self.Templates.ClientsByName[ClientName].CategoryID +end + +function DATABASE:GetCountryFromClientTemplate( ClientName ) + return self.Templates.ClientsByName[ClientName].CountryID +end + +--- Airbase + +function DATABASE:GetCoalitionFromAirbase( AirbaseName ) + return self.AIRBASES[AirbaseName]:GetCoalition() +end + +function DATABASE:GetCategoryFromAirbase( AirbaseName ) + return self.AIRBASES[AirbaseName]:GetCategory() +end + + + +--- Private method that registers all alive players in the mission. +-- @param #DATABASE self +-- @return #DATABASE self +function DATABASE:_RegisterPlayers() + + local CoalitionsData = { AlivePlayersRed = coalition.getPlayers( coalition.side.RED ), AlivePlayersBlue = coalition.getPlayers( coalition.side.BLUE ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + for UnitId, UnitData in pairs( CoalitionData ) do + self:T3( { "UnitData:", UnitData } ) + if UnitData and UnitData:isExist() then + local UnitName = UnitData:getName() + local PlayerName = UnitData:getPlayerName() + if not self.PLAYERS[PlayerName] then + self:E( { "Add player for unit:", UnitName, PlayerName } ) + self:AddPlayer( UnitName, PlayerName ) + end + end + end + end + + return self +end + + +--- Private method that registers all Groups and Units within in the mission. +-- @param #DATABASE self +-- @return #DATABASE self +function DATABASE:_RegisterGroupsAndUnits() + + local CoalitionsData = { GroupsRed = coalition.getGroups( coalition.side.RED ), GroupsBlue = coalition.getGroups( coalition.side.BLUE ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + for DCSGroupId, DCSGroup in pairs( CoalitionData ) do + + if DCSGroup:isExist() then + local DCSGroupName = DCSGroup:getName() + + self:E( { "Register Group:", DCSGroupName } ) + self:AddGroup( DCSGroupName ) + + for DCSUnitId, DCSUnit in pairs( DCSGroup:getUnits() ) do + + local DCSUnitName = DCSUnit:getName() + self:E( { "Register Unit:", DCSUnitName } ) + self:AddUnit( DCSUnitName ) + end + else + self:E( { "Group does not exist: ", DCSGroup } ) + end + + end + end + + return self +end + +--- Private method that registers all Units of skill Client or Player within in the mission. +-- @param #DATABASE self +-- @return #DATABASE self +function DATABASE:_RegisterClients() + + for ClientName, ClientTemplate in pairs( self.Templates.ClientsByName ) do + self:E( { "Register Client:", ClientName } ) + self:AddClient( ClientName ) + end + + return self +end + +--- @param #DATABASE self +function DATABASE:_RegisterStatics() + + local CoalitionsData = { GroupsRed = coalition.getStaticObjects( coalition.side.RED ), GroupsBlue = coalition.getStaticObjects( coalition.side.BLUE ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + for DCSStaticId, DCSStatic in pairs( CoalitionData ) do + + if DCSStatic:isExist() then + local DCSStaticName = DCSStatic:getName() + + self:E( { "Register Static:", DCSStaticName } ) + self:AddStatic( DCSStaticName ) + else + self:E( { "Static does not exist: ", DCSStatic } ) + end + end + end + + return self +end + +--- @param #DATABASE self +function DATABASE:_RegisterAirbases() + + local CoalitionsData = { AirbasesRed = coalition.getAirbases( coalition.side.RED ), AirbasesBlue = coalition.getAirbases( coalition.side.BLUE ), AirbasesNeutral = coalition.getAirbases( coalition.side.NEUTRAL ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + for DCSAirbaseId, DCSAirbase in pairs( CoalitionData ) do + + local DCSAirbaseName = DCSAirbase:getName() + + self:E( { "Register Airbase:", DCSAirbaseName } ) + self:AddAirbase( DCSAirbaseName ) + end + end + + return self +end + + +--- Events + +--- Handles the OnBirth event for the alive units set. +-- @param #DATABASE self +-- @param Core.Event#EVENTDATA Event +function DATABASE:_EventOnBirth( Event ) + self:F2( { Event } ) + + if Event.IniDCSUnit then + if Event.IniObjectCategory == 3 then + self:AddStatic( Event.IniDCSUnitName ) + else + if Event.IniObjectCategory == 1 then + self:AddUnit( Event.IniDCSUnitName ) + self:AddGroup( Event.IniDCSGroupName ) + end + end + self:_EventOnPlayerEnterUnit( Event ) + end +end + + +--- Handles the OnDead or OnCrash event for alive units set. +-- @param #DATABASE self +-- @param Core.Event#EVENTDATA Event +function DATABASE:_EventOnDeadOrCrash( Event ) + self:F2( { Event } ) + + if Event.IniDCSUnit then + if Event.IniObjectCategory == 3 then + if self.STATICS[Event.IniDCSUnitName] then + self:DeleteStatic( Event.IniDCSUnitName ) + end + else + if Event.IniObjectCategory == 1 then + if self.UNITS[Event.IniDCSUnitName] then + self:DeleteUnit( Event.IniDCSUnitName ) + end + end + end + end +end + + +--- Handles the OnPlayerEnterUnit event to fill the active players table (with the unit filter applied). +-- @param #DATABASE self +-- @param Core.Event#EVENTDATA Event +function DATABASE:_EventOnPlayerEnterUnit( Event ) + self:F2( { Event } ) + + if Event.IniUnit then + if Event.IniObjectCategory == 1 then + self:AddUnit( Event.IniDCSUnitName ) + self:AddGroup( Event.IniDCSGroupName ) + local PlayerName = Event.IniUnit:GetPlayerName() + if not self.PLAYERS[PlayerName] then + self:AddPlayer( Event.IniUnitName, PlayerName ) + end + end + end +end + + +--- Handles the OnPlayerLeaveUnit event to clean the active players table. +-- @param #DATABASE self +-- @param Core.Event#EVENTDATA Event +function DATABASE:_EventOnPlayerLeaveUnit( Event ) + self:F2( { Event } ) + + if Event.IniUnit then + if Event.IniObjectCategory == 1 then + local PlayerName = Event.IniUnit:GetPlayerName() + if self.PLAYERS[PlayerName] then + self:DeletePlayer( PlayerName ) + end + end + end +end + +--- Iterators + +--- Iterate the DATABASE and call an iterator function for the given set, providing the Object for each element within the set and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive player in the database. +-- @return #DATABASE self +function DATABASE:ForEach( IteratorFunction, FinalizeFunction, arg, Set ) + self:F2( arg ) + + local function CoRoutine() + local Count = 0 + for ObjectID, Object in pairs( Set ) do + self:T2( Object ) + IteratorFunction( Object, unpack( arg ) ) + Count = Count + 1 +-- if Count % 100 == 0 then +-- coroutine.yield( false ) +-- end + end + return true + end + +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine + + local function Schedule() + +-- local status, res = coroutine.resume( co ) + local status, res = co() + self:T3( { status, res } ) + + if status == false then + error( res ) + end + if res == false then + return true -- resume next time the loop + end + if FinalizeFunction then + FinalizeFunction( unpack( arg ) ) + end + return false + end + + local Scheduler = SCHEDULER:New( self, Schedule, {}, 0.001, 0.001, 0 ) + + return self +end + + +--- Iterate the DATABASE and call an iterator function for each **alive** UNIT, providing the UNIT and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive UNIT in the database. The function needs to accept a UNIT parameter. +-- @return #DATABASE self +function DATABASE:ForEachUnit( IteratorFunction, FinalizeFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, FinalizeFunction, arg, self.UNITS ) + + return self +end + +--- Iterate the DATABASE and call an iterator function for each **alive** GROUP, providing the GROUP and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive GROUP in the database. The function needs to accept a GROUP parameter. +-- @return #DATABASE self +function DATABASE:ForEachGroup( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.GROUPS ) + + return self +end + + +--- Iterate the DATABASE and call an iterator function for each **ALIVE** player, providing the player name and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an player in the database. The function needs to accept the player name. +-- @return #DATABASE self +function DATABASE:ForEachPlayer( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.PLAYERS ) + + return self +end + + +--- Iterate the DATABASE and call an iterator function for each player who has joined the mission, providing the Unit of the player and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is was a player in the database. The function needs to accept a UNIT parameter. +-- @return #DATABASE self +function DATABASE:ForEachPlayerJoined( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.PLAYERSJOINED ) + + return self +end + +--- Iterate the DATABASE and call an iterator function for each CLIENT, providing the CLIENT to the function and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive player in the database. The function needs to accept a CLIENT parameter. +-- @return #DATABASE self +function DATABASE:ForEachClient( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.CLIENTS ) + + return self +end + + +function DATABASE:_RegisterTemplates() + self:F2() + + self.Navpoints = {} + self.UNITS = {} + --Build routines.db.units and self.Navpoints + for CoalitionName, coa_data in pairs(env.mission.coalition) do + + if (CoalitionName == 'red' or CoalitionName == 'blue') and type(coa_data) == 'table' then + --self.Units[coa_name] = {} + + local CoalitionSide = coalition.side[string.upper(CoalitionName)] + + ---------------------------------------------- + -- build nav points DB + self.Navpoints[CoalitionName] = {} + if coa_data.nav_points then --navpoints + for nav_ind, nav_data in pairs(coa_data.nav_points) do + + if type(nav_data) == 'table' then + self.Navpoints[CoalitionName][nav_ind] = routines.utils.deepCopy(nav_data) + + self.Navpoints[CoalitionName][nav_ind]['name'] = nav_data.callsignStr -- name is a little bit more self-explanatory. + self.Navpoints[CoalitionName][nav_ind]['point'] = {} -- point is used by SSE, support it. + self.Navpoints[CoalitionName][nav_ind]['point']['x'] = nav_data.x + self.Navpoints[CoalitionName][nav_ind]['point']['y'] = 0 + self.Navpoints[CoalitionName][nav_ind]['point']['z'] = nav_data.y + end + end + end + ------------------------------------------------- + if coa_data.country then --there is a country table + for cntry_id, cntry_data in pairs(coa_data.country) do + + local CountryName = string.upper(cntry_data.name) + local CountryID = cntry_data.id + + self.COUNTRY_ID[CountryName] = CountryID + self.COUNTRY_NAME[CountryID] = CountryName + + --self.Units[coa_name][countryName] = {} + --self.Units[coa_name][countryName]["countryId"] = cntry_data.id + + if type(cntry_data) == 'table' then --just making sure + + for obj_type_name, obj_type_data in pairs(cntry_data) do + + if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" or obj_type_name == "static" then --should be an unncessary check + + local CategoryName = obj_type_name + + if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then --there's a group! + + --self.Units[coa_name][countryName][category] = {} + + for group_num, GroupTemplate in pairs(obj_type_data.group) do + + if GroupTemplate and GroupTemplate.units and type(GroupTemplate.units) == 'table' then --making sure again- this is a valid group + self:_RegisterTemplate( + GroupTemplate, + CoalitionSide, + _DATABASECategory[string.lower(CategoryName)], + CountryID + ) + end --if GroupTemplate and GroupTemplate.units then + end --for group_num, GroupTemplate in pairs(obj_type_data.group) do + end --if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then + end --if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" or obj_type_name == "static" then + end --for obj_type_name, obj_type_data in pairs(cntry_data) do + end --if type(cntry_data) == 'table' then + end --for cntry_id, cntry_data in pairs(coa_data.country) do + end --if coa_data.country then --there is a country table + end --if coa_name == 'red' or coa_name == 'blue' and type(coa_data) == 'table' then + end --for coa_name, coa_data in pairs(mission.coalition) do + + return self +end + + + + +--- **Core** - SET_ classes define **collections** of objects to perform **bulk actions** and logically **group** objects. +-- +-- ![Banner Image](..\Presentations\SET\Dia1.JPG) +-- +-- === +-- +-- SET_ classes group objects of the same type into a collection, which is either: +-- +-- * Manually managed using the **:Add...()** or **:Remove...()** methods. The initial SET can be filtered with the **@{#SET_BASE.FilterOnce}()** method +-- * Dynamically updated when new objects are created or objects are destroyed using the **@{#SET_BASE.FilterStart}()** method. +-- +-- Various types of SET_ classes are available: +-- +-- * @{#SET_UNIT}: Defines a colleciton of @{Unit}s filtered by filter criteria. +-- * @{#SET_GROUP}: Defines a collection of @{Group}s filtered by filter criteria. +-- * @{#SET_CLIENT}: Defines a collection of @{Client}s filterd by filter criteria. +-- * @{#SET_AIRBASE}: Defines a collection of @{Airbase}s filtered by filter criteria. +-- +-- These classes are derived from @{#SET_BASE}, which contains the main methods to manage SETs. +-- +-- A multitude of other methods are available in SET_ classes that allow to: +-- +-- * Validate the presence of objects in the SET. +-- * Trigger events when objects in the SET change a zone presence. +-- +-- ### Authors: +-- +-- * FlightControl : Design & Programming +-- +-- ### Contributions: +-- +-- +-- @module Set + + +--- @type SET_BASE +-- @field #table Filter +-- @field #table Set +-- @field #table List +-- @field Core.Scheduler#SCHEDULER CallScheduler +-- @extends Core.Base#BASE + + +--- # 1) SET_BASE class, extends @{Base#BASE} +-- The @{Set#SET_BASE} class defines the core functions that define a collection of objects. +-- A SET provides iterators to iterate the SET, but will **temporarily** yield the ForEach interator loop at defined **"intervals"** to the mail simulator loop. +-- In this way, large loops can be done while not blocking the simulator main processing loop. +-- The default **"yield interval"** is after 10 objects processed. +-- The default **"time interval"** is after 0.001 seconds. +-- +-- ## 1.1) Add or remove objects from the SET +-- +-- Some key core functions are @{Set#SET_BASE.Add} and @{Set#SET_BASE.Remove} to add or remove objects from the SET in your logic. +-- +-- ## 1.2) Define the SET iterator **"yield interval"** and the **"time interval"** +-- +-- Modify the iterator intervals with the @{Set#SET_BASE.SetInteratorIntervals} method. +-- You can set the **"yield interval"**, and the **"time interval"**. (See above). +-- +-- @field #SET_BASE SET_BASE +SET_BASE = { + ClassName = "SET_BASE", + Filter = {}, + Set = {}, + List = {}, + Index = {}, +} + + +--- Creates a new SET_BASE object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. +-- @param #SET_BASE self +-- @return #SET_BASE +-- @usage +-- -- Define a new SET_BASE Object. This DBObject will contain a reference to all Group and Unit Templates defined within the ME and the DCSRTE. +-- DBObject = SET_BASE:New() +function SET_BASE:New( Database ) + + -- Inherits from BASE + local self = BASE:Inherit( self, BASE:New() ) -- Core.Set#SET_BASE + + self.Database = Database + + self.YieldInterval = 10 + self.TimeInterval = 0.001 + + self.Set = {} + + self.List = {} + self.List.__index = self.List + self.List = setmetatable( { Count = 0 }, self.List ) + + self.Index = {} + + self.CallScheduler = SCHEDULER:New( self ) + + self:SetEventPriority( 2 ) + + return self +end + +--- Finds an @{Base#BASE} object based on the object Name. +-- @param #SET_BASE self +-- @param #string ObjectName +-- @return Core.Base#BASE The Object found. +function SET_BASE:_Find( ObjectName ) + + local ObjectFound = self.Set[ObjectName] + return ObjectFound +end + + +--- Gets the Set. +-- @param #SET_BASE self +-- @return #SET_BASE self +function SET_BASE:GetSet() + self:F2() + + return self.Set +end + +--- Adds a @{Base#BASE} object in the @{Set#SET_BASE}, using a given ObjectName as the index. +-- @param #SET_BASE self +-- @param #string ObjectName +-- @param Core.Base#BASE Object +-- @return Core.Base#BASE The added BASE Object. +function SET_BASE:Add( ObjectName, Object ) + self:F2( ObjectName ) + + local t = { _ = Object } + + if self.List.last then + self.List.last._next = t + t._prev = self.List.last + self.List.last = t + else + -- this is the first node + self.List.first = t + self.List.last = t + end + + self.List.Count = self.List.Count + 1 + + self.Set[ObjectName] = t._ + + table.insert( self.Index, ObjectName ) + +end + +--- Adds a @{Base#BASE} object in the @{Set#SET_BASE}, using the Object Name as the index. +-- @param #SET_BASE self +-- @param Wrapper.Object#OBJECT Object +-- @return Core.Base#BASE The added BASE Object. +function SET_BASE:AddObject( Object ) + self:F2( Object.ObjectName ) + + self:T( Object.UnitName ) + self:T( Object.ObjectName ) + self:Add( Object.ObjectName, Object ) + +end + + + +--- Removes a @{Base#BASE} object from the @{Set#SET_BASE} and derived classes, based on the Object Name. +-- @param #SET_BASE self +-- @param #string ObjectName +function SET_BASE:Remove( ObjectName ) + self:F( ObjectName ) + + local t = self.Set[ObjectName] + + self:E( { ObjectName, t } ) + + if t then + if t._next then + if t._prev then + t._next._prev = t._prev + t._prev._next = t._next + else + -- this was the first node + t._next._prev = nil + self.List._first = t._next + end + elseif t._prev then + -- this was the last node + t._prev._next = nil + self.List._last = t._prev + else + -- this was the only node + self.List._first = nil + self.List._last = nil + end + + t._next = nil + t._prev = nil + self.List.Count = self.List.Count - 1 + + for Index, Key in ipairs( self.Index ) do + if Key == ObjectName then + table.remove( self.Index, Index ) + break + end + end + + self.Set[ObjectName] = nil + + end + +end + +--- Gets a @{Base#BASE} object from the @{Set#SET_BASE} and derived classes, based on the Object Name. +-- @param #SET_BASE self +-- @param #string ObjectName +-- @return Core.Base#BASE +function SET_BASE:Get( ObjectName ) + self:F( ObjectName ) + + local t = self.Set[ObjectName] + + self:T3( { ObjectName, t } ) + + return t + +end + +--- Gets the first object from the @{Set#SET_BASE} and derived classes. +-- @param #SET_BASE self +-- @return Core.Base#BASE +function SET_BASE:GetFirst() + self:F() + + local ObjectName = self.Index[1] + local FirstObject = self.Set[ObjectName] + self:T3( { FirstObject } ) + return FirstObject +end + +--- Gets the last object from the @{Set#SET_BASE} and derived classes. +-- @param #SET_BASE self +-- @return Core.Base#BASE +function SET_BASE:GetLast() + self:F() + + local ObjectName = self.Index[#self.Index] + local LastObject = self.Set[ObjectName] + self:T3( { LastObject } ) + return LastObject +end + +--- Gets a random object from the @{Set#SET_BASE} and derived classes. +-- @param #SET_BASE self +-- @return Core.Base#BASE +function SET_BASE:GetRandom() + self:F() + + local RandomItem = self.Set[self.Index[math.random(#self.Index)]] + + self:T3( { RandomItem } ) + + return RandomItem +end + + +--- Retrieves the amount of objects in the @{Set#SET_BASE} and derived classes. +-- @param #SET_BASE self +-- @return #number Count +function SET_BASE:Count() + + return #self.Index or 0 +end + + + +--- Copies the Filter criteria from a given Set (for rebuilding a new Set based on an existing Set). +-- @param #SET_BASE self +-- @param #SET_BASE BaseSet +-- @return #SET_BASE +function SET_BASE:SetDatabase( BaseSet ) + + -- Copy the filter criteria of the BaseSet + local OtherFilter = routines.utils.deepCopy( BaseSet.Filter ) + self.Filter = OtherFilter + + -- Now base the new Set on the BaseSet + self.Database = BaseSet:GetSet() + return self +end + + + +--- Define the SET iterator **"yield interval"** and the **"time interval"**. +-- @param #SET_BASE self +-- @param #number YieldInterval Sets the frequency when the iterator loop will yield after the number of objects processed. The default frequency is 10 objects processed. +-- @param #number TimeInterval Sets the time in seconds when the main logic will resume the iterator loop. The default time is 0.001 seconds. +-- @return #SET_BASE self +function SET_BASE:SetIteratorIntervals( YieldInterval, TimeInterval ) + + self.YieldInterval = YieldInterval + self.TimeInterval = TimeInterval + + return self +end + + +--- Filters for the defined collection. +-- @param #SET_BASE self +-- @return #SET_BASE self +function SET_BASE:FilterOnce() + + for ObjectName, Object in pairs( self.Database ) do + + if self:IsIncludeObject( Object ) then + self:Add( ObjectName, Object ) + end + end + + return self +end + +--- Starts the filtering for the defined collection. +-- @param #SET_BASE self +-- @return #SET_BASE self +function SET_BASE:_FilterStart() + + for ObjectName, Object in pairs( self.Database ) do + + if self:IsIncludeObject( Object ) then + self:E( { "Adding Object:", ObjectName } ) + self:Add( ObjectName, Object ) + end + end + + self:HandleEvent( EVENTS.Birth, self._EventOnBirth ) + self:HandleEvent( EVENTS.Dead, self._EventOnDeadOrCrash ) + self:HandleEvent( EVENTS.Crash, self._EventOnDeadOrCrash ) + + -- Follow alive players and clients + self:HandleEvent( EVENTS.PlayerEnterUnit, self._EventOnPlayerEnterUnit ) + self:HandleEvent( EVENTS.PlayerLeaveUnit, self._EventOnPlayerLeaveUnit ) + + + return self +end + +--- Stops the filtering for the defined collection. +-- @param #SET_BASE self +-- @return #SET_BASE self +function SET_BASE:FilterStop() + + self:UnHandleEvent( EVENTS.Birth ) + self:UnHandleEvent( EVENTS.Dead ) + self:UnHandleEvent( EVENTS.Crash ) + + return self +end + +--- Iterate the SET_BASE while identifying the nearest object from a @{Point#POINT_VEC2}. +-- @param #SET_BASE self +-- @param Core.Point#POINT_VEC2 PointVec2 A @{Point#POINT_VEC2} object from where to evaluate the closest object in the set. +-- @return Core.Base#BASE The closest object. +function SET_BASE:FindNearestObjectFromPointVec2( PointVec2 ) + self:F2( PointVec2 ) + + local NearestObject = nil + local ClosestDistance = nil + + for ObjectID, ObjectData in pairs( self.Set ) do + if NearestObject == nil then + NearestObject = ObjectData + ClosestDistance = PointVec2:DistanceFromVec2( ObjectData:GetVec2() ) + else + local Distance = PointVec2:DistanceFromVec2( ObjectData:GetVec2() ) + if Distance < ClosestDistance then + NearestObject = ObjectData + ClosestDistance = Distance + end + end + end + + return NearestObject +end + + + +----- Private method that registers all alive players in the mission. +---- @param #SET_BASE self +---- @return #SET_BASE self +--function SET_BASE:_RegisterPlayers() +-- +-- local CoalitionsData = { AlivePlayersRed = coalition.getPlayers( coalition.side.RED ), AlivePlayersBlue = coalition.getPlayers( coalition.side.BLUE ) } +-- for CoalitionId, CoalitionData in pairs( CoalitionsData ) do +-- for UnitId, UnitData in pairs( CoalitionData ) do +-- self:T3( { "UnitData:", UnitData } ) +-- if UnitData and UnitData:isExist() then +-- local UnitName = UnitData:getName() +-- if not self.PlayersAlive[UnitName] then +-- self:E( { "Add player for unit:", UnitName, UnitData:getPlayerName() } ) +-- self.PlayersAlive[UnitName] = UnitData:getPlayerName() +-- end +-- end +-- end +-- end +-- +-- return self +--end + +--- Events + +--- Handles the OnBirth event for the Set. +-- @param #SET_BASE self +-- @param Core.Event#EVENTDATA Event +function SET_BASE:_EventOnBirth( Event ) + self:F3( { Event } ) + + if Event.IniDCSUnit then + local ObjectName, Object = self:AddInDatabase( Event ) + self:T3( ObjectName, Object ) + if Object and self:IsIncludeObject( Object ) then + self:Add( ObjectName, Object ) + --self:_EventOnPlayerEnterUnit( Event ) + end + end +end + +--- Handles the OnDead or OnCrash event for alive units set. +-- @param #SET_BASE self +-- @param Core.Event#EVENTDATA Event +function SET_BASE:_EventOnDeadOrCrash( Event ) + self:F3( { Event } ) + + if Event.IniDCSUnit then + local ObjectName, Object = self:FindInDatabase( Event ) + if ObjectName and Object ~= nil then + self:Remove( ObjectName ) + end + end +end + +--- Handles the OnPlayerEnterUnit event to fill the active players table (with the unit filter applied). +-- @param #SET_BASE self +-- @param Core.Event#EVENTDATA Event +function SET_BASE:_EventOnPlayerEnterUnit( Event ) + self:F3( { Event } ) + + if Event.IniDCSUnit then + local ObjectName, Object = self:AddInDatabase( Event ) + self:T3( ObjectName, Object ) + if self:IsIncludeObject( Object ) then + self:Add( ObjectName, Object ) + --self:_EventOnPlayerEnterUnit( Event ) + end + end +end + +--- Handles the OnPlayerLeaveUnit event to clean the active players table. +-- @param #SET_BASE self +-- @param Core.Event#EVENTDATA Event +function SET_BASE:_EventOnPlayerLeaveUnit( Event ) + self:F3( { Event } ) + + local ObjectName = Event.IniDCSUnit + if Event.IniDCSUnit then + if Event.IniDCSGroup then + local GroupUnits = Event.IniDCSGroup:getUnits() + local PlayerCount = 0 + for _, DCSUnit in pairs( GroupUnits ) do + if DCSUnit ~= Event.IniDCSUnit then + if DCSUnit:getPlayerName() ~= nil then + PlayerCount = PlayerCount + 1 + end + end + end + self:E(PlayerCount) + if PlayerCount == 0 then + self:Remove( Event.IniDCSGroupName ) + end + end + end +end + +-- Iterators + +--- Iterate the SET_BASE and derived classes and call an iterator function for the given SET_BASE, providing the Object for each element within the set and optional parameters. +-- @param #SET_BASE self +-- @param #function IteratorFunction The function that will be called. +-- @return #SET_BASE self +function SET_BASE:ForEach( IteratorFunction, arg, Set, Function, FunctionArguments ) + self:F3( arg ) + + Set = Set or self:GetSet() + arg = arg or {} + + local function CoRoutine() + local Count = 0 + for ObjectID, ObjectData in pairs( Set ) do + local Object = ObjectData + self:T3( Object ) + if Function then + if Function( unpack( FunctionArguments ), Object ) == true then + IteratorFunction( Object, unpack( arg ) ) + end + else + IteratorFunction( Object, unpack( arg ) ) + end + Count = Count + 1 +-- if Count % self.YieldInterval == 0 then +-- coroutine.yield( false ) +-- end + end + return true + end + +-- local co = coroutine.create( CoRoutine ) + local co = CoRoutine + + local function Schedule() + +-- local status, res = coroutine.resume( co ) + local status, res = co() + self:T3( { status, res } ) + + if status == false then + error( res ) + end + if res == false then + return true -- resume next time the loop + end + + return false + end + + --self.CallScheduler:Schedule( self, Schedule, {}, self.TimeInterval, self.TimeInterval, 0 ) + Schedule() + + return self +end + + +----- Iterate the SET_BASE and call an interator function for each **alive** unit, providing the Unit and optional parameters. +---- @param #SET_BASE self +---- @param #function IteratorFunction The function that will be called when there is an alive unit in the SET_BASE. The function needs to accept a UNIT parameter. +---- @return #SET_BASE self +--function SET_BASE:ForEachDCSUnitAlive( IteratorFunction, ... ) +-- self:F3( arg ) +-- +-- self:ForEach( IteratorFunction, arg, self.DCSUnitsAlive ) +-- +-- return self +--end +-- +----- Iterate the SET_BASE and call an interator function for each **alive** player, providing the Unit of the player and optional parameters. +---- @param #SET_BASE self +---- @param #function IteratorFunction The function that will be called when there is an alive player in the SET_BASE. The function needs to accept a UNIT parameter. +---- @return #SET_BASE self +--function SET_BASE:ForEachPlayer( IteratorFunction, ... ) +-- self:F3( arg ) +-- +-- self:ForEach( IteratorFunction, arg, self.PlayersAlive ) +-- +-- return self +--end +-- +-- +----- Iterate the SET_BASE and call an interator function for each client, providing the Client to the function and optional parameters. +---- @param #SET_BASE self +---- @param #function IteratorFunction The function that will be called when there is an alive player in the SET_BASE. The function needs to accept a CLIENT parameter. +---- @return #SET_BASE self +--function SET_BASE:ForEachClient( IteratorFunction, ... ) +-- self:F3( arg ) +-- +-- self:ForEach( IteratorFunction, arg, self.Clients ) +-- +-- return self +--end + + +--- Decides whether to include the Object +-- @param #SET_BASE self +-- @param #table Object +-- @return #SET_BASE self +function SET_BASE:IsIncludeObject( Object ) + self:F3( Object ) + + return true +end + +--- Flushes the current SET_BASE contents in the log ... (for debugging reasons). +-- @param #SET_BASE self +-- @return #string A string with the names of the objects. +function SET_BASE:Flush() + self:F3() + + local ObjectNames = "" + for ObjectName, Object in pairs( self.Set ) do + ObjectNames = ObjectNames .. ObjectName .. ", " + end + self:E( { "Objects in Set:", ObjectNames } ) + + return ObjectNames +end + + +--- @type SET_GROUP +-- @extends Core.Set#SET_BASE + +--- # 2) SET_GROUP class, extends @{Set#SET_BASE} +-- +-- Mission designers can use the @{Set#SET_GROUP} class to build sets of groups belonging to certain: +-- +-- * Coalitions +-- * Categories +-- * Countries +-- * Starting with certain prefix strings. +-- +-- ## 2.1) SET_GROUP constructor +-- +-- Create a new SET_GROUP object with the @{#SET_GROUP.New} method: +-- +-- * @{#SET_GROUP.New}: Creates a new SET_GROUP object. +-- +-- ## 2.2) Add or Remove GROUP(s) from SET_GROUP +-- +-- GROUPS can be added and removed using the @{Set#SET_GROUP.AddGroupsByName} and @{Set#SET_GROUP.RemoveGroupsByName} respectively. +-- These methods take a single GROUP name or an array of GROUP names to be added or removed from SET_GROUP. +-- +-- ## 2.3) SET_GROUP filter criteria +-- +-- You can set filter criteria to define the set of groups within the SET_GROUP. +-- Filter criteria are defined by: +-- +-- * @{#SET_GROUP.FilterCoalitions}: Builds the SET_GROUP with the groups belonging to the coalition(s). +-- * @{#SET_GROUP.FilterCategories}: Builds the SET_GROUP with the groups belonging to the category(ies). +-- * @{#SET_GROUP.FilterCountries}: Builds the SET_GROUP with the gruops belonging to the country(ies). +-- * @{#SET_GROUP.FilterPrefixes}: Builds the SET_GROUP with the groups starting with the same prefix string(s). +-- +-- Once the filter criteria have been set for the SET_GROUP, you can start filtering using: +-- +-- * @{#SET_GROUP.FilterStart}: Starts the filtering of the groups within the SET_GROUP and add or remove GROUP objects **dynamically**. +-- +-- Planned filter criteria within development are (so these are not yet available): +-- +-- * @{#SET_GROUP.FilterZones}: Builds the SET_GROUP with the groups within a @{Zone#ZONE}. +-- +-- ## 2.4) SET_GROUP iterators +-- +-- Once the filters have been defined and the SET_GROUP has been built, you can iterate the SET_GROUP with the available iterator methods. +-- The iterator methods will walk the SET_GROUP set, and call for each element within the set a function that you provide. +-- The following iterator methods are currently available within the SET_GROUP: +-- +-- * @{#SET_GROUP.ForEachGroup}: Calls a function for each alive group it finds within the SET_GROUP. +-- * @{#SET_GROUP.ForEachGroupCompletelyInZone}: Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence completely in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- * @{#SET_GROUP.ForEachGroupPartlyInZone}: Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence partly in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- * @{#SET_GROUP.ForEachGroupNotInZone}: Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence not in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- +-- === +-- @field #SET_GROUP SET_GROUP +SET_GROUP = { + ClassName = "SET_GROUP", + Filter = { + Coalitions = nil, + Categories = nil, + Countries = nil, + GroupPrefixes = nil, + }, + FilterMeta = { + Coalitions = { + red = coalition.side.RED, + blue = coalition.side.BLUE, + neutral = coalition.side.NEUTRAL, + }, + Categories = { + plane = Group.Category.AIRPLANE, + helicopter = Group.Category.HELICOPTER, + ground = Group.Category.GROUND_UNIT, + ship = Group.Category.SHIP, + structure = Group.Category.STRUCTURE, + }, + }, +} + + +--- Creates a new SET_GROUP object, building a set of groups belonging to a coalitions, categories, countries, types or with defined prefix names. +-- @param #SET_GROUP self +-- @return #SET_GROUP +-- @usage +-- -- Define a new SET_GROUP Object. This DBObject will contain a reference to all alive GROUPS. +-- DBObject = SET_GROUP:New() +function SET_GROUP:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, SET_BASE:New( _DATABASE.GROUPS ) ) + + return self +end + +--- Add GROUP(s) to SET_GROUP. +-- @param Core.Set#SET_GROUP self +-- @param #string AddGroupNames A single name or an array of GROUP names. +-- @return self +function SET_GROUP:AddGroupsByName( AddGroupNames ) + + local AddGroupNamesArray = ( type( AddGroupNames ) == "table" ) and AddGroupNames or { AddGroupNames } + + for AddGroupID, AddGroupName in pairs( AddGroupNamesArray ) do + self:Add( AddGroupName, GROUP:FindByName( AddGroupName ) ) + end + + return self +end + +--- Remove GROUP(s) from SET_GROUP. +-- @param Core.Set#SET_GROUP self +-- @param Wrapper.Group#GROUP RemoveGroupNames A single name or an array of GROUP names. +-- @return self +function SET_GROUP:RemoveGroupsByName( RemoveGroupNames ) + + local RemoveGroupNamesArray = ( type( RemoveGroupNames ) == "table" ) and RemoveGroupNames or { RemoveGroupNames } + + for RemoveGroupID, RemoveGroupName in pairs( RemoveGroupNamesArray ) do + self:Remove( RemoveGroupName.GroupName ) + end + + return self +end + + + + +--- Finds a Group based on the Group Name. +-- @param #SET_GROUP self +-- @param #string GroupName +-- @return Wrapper.Group#GROUP The found Group. +function SET_GROUP:FindGroup( GroupName ) + + local GroupFound = self.Set[GroupName] + return GroupFound +end + + + +--- Builds a set of groups of coalitions. +-- Possible current coalitions are red, blue and neutral. +-- @param #SET_GROUP self +-- @param #string Coalitions Can take the following values: "red", "blue", "neutral". +-- @return #SET_GROUP self +function SET_GROUP:FilterCoalitions( Coalitions ) + if not self.Filter.Coalitions then + self.Filter.Coalitions = {} + end + if type( Coalitions ) ~= "table" then + Coalitions = { Coalitions } + end + for CoalitionID, Coalition in pairs( Coalitions ) do + self.Filter.Coalitions[Coalition] = Coalition + end + return self +end + + +--- Builds a set of groups out of categories. +-- Possible current categories are plane, helicopter, ground, ship. +-- @param #SET_GROUP self +-- @param #string Categories Can take the following values: "plane", "helicopter", "ground", "ship". +-- @return #SET_GROUP self +function SET_GROUP:FilterCategories( Categories ) + if not self.Filter.Categories then + self.Filter.Categories = {} + end + if type( Categories ) ~= "table" then + Categories = { Categories } + end + for CategoryID, Category in pairs( Categories ) do + self.Filter.Categories[Category] = Category + end + return self +end + +--- Builds a set of groups of defined countries. +-- Possible current countries are those known within DCS world. +-- @param #SET_GROUP self +-- @param #string Countries Can take those country strings known within DCS world. +-- @return #SET_GROUP self +function SET_GROUP:FilterCountries( Countries ) + if not self.Filter.Countries then + self.Filter.Countries = {} + end + if type( Countries ) ~= "table" then + Countries = { Countries } + end + for CountryID, Country in pairs( Countries ) do + self.Filter.Countries[Country] = Country + end + return self +end + + +--- Builds a set of groups of defined GROUP prefixes. +-- All the groups starting with the given prefixes will be included within the set. +-- @param #SET_GROUP self +-- @param #string Prefixes The prefix of which the group name starts with. +-- @return #SET_GROUP self +function SET_GROUP:FilterPrefixes( Prefixes ) + if not self.Filter.GroupPrefixes then + self.Filter.GroupPrefixes = {} + end + if type( Prefixes ) ~= "table" then + Prefixes = { Prefixes } + end + for PrefixID, Prefix in pairs( Prefixes ) do + self.Filter.GroupPrefixes[Prefix] = Prefix + end + return self +end + + +--- Starts the filtering. +-- @param #SET_GROUP self +-- @return #SET_GROUP self +function SET_GROUP:FilterStart() + + if _DATABASE then + self:_FilterStart() + end + + + + return self +end + +--- Handles the Database to check on an event (birth) that the Object was added in the Database. +-- This is required, because sometimes the _DATABASE birth event gets called later than the SET_BASE birth event! +-- @param #SET_GROUP self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the GROUP +-- @return #table The GROUP +function SET_GROUP:AddInDatabase( Event ) + self:F3( { Event } ) + + if Event.IniObjectCategory == 1 then + if not self.Database[Event.IniDCSGroupName] then + self.Database[Event.IniDCSGroupName] = GROUP:Register( Event.IniDCSGroupName ) + self:T3( self.Database[Event.IniDCSGroupName] ) + end + end + + return Event.IniDCSGroupName, self.Database[Event.IniDCSGroupName] +end + +--- Handles the Database to check on any event that Object exists in the Database. +-- This is required, because sometimes the _DATABASE event gets called later than the SET_BASE event or vise versa! +-- @param #SET_GROUP self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the GROUP +-- @return #table The GROUP +function SET_GROUP:FindInDatabase( Event ) + self:F3( { Event } ) + + return Event.IniDCSGroupName, self.Database[Event.IniDCSGroupName] +end + +--- Iterate the SET_GROUP and call an iterator function for each **alive** GROUP, providing the GROUP and optional parameters. +-- @param #SET_GROUP self +-- @param #function IteratorFunction The function that will be called when there is an alive GROUP in the SET_GROUP. The function needs to accept a GROUP parameter. +-- @return #SET_GROUP self +function SET_GROUP:ForEachGroup( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set ) + + return self +end + +--- Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence completely in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- @param #SET_GROUP self +-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. +-- @param #function IteratorFunction The function that will be called when there is an alive GROUP in the SET_GROUP. The function needs to accept a GROUP parameter. +-- @return #SET_GROUP self +function SET_GROUP:ForEachGroupCompletelyInZone( ZoneObject, IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set, + --- @param Core.Zone#ZONE_BASE ZoneObject + -- @param Wrapper.Group#GROUP GroupObject + function( ZoneObject, GroupObject ) + if GroupObject:IsCompletelyInZone( ZoneObject ) then + return true + else + return false + end + end, { ZoneObject } ) + + return self +end + +--- Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence partly in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- @param #SET_GROUP self +-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. +-- @param #function IteratorFunction The function that will be called when there is an alive GROUP in the SET_GROUP. The function needs to accept a GROUP parameter. +-- @return #SET_GROUP self +function SET_GROUP:ForEachGroupPartlyInZone( ZoneObject, IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set, + --- @param Core.Zone#ZONE_BASE ZoneObject + -- @param Wrapper.Group#GROUP GroupObject + function( ZoneObject, GroupObject ) + if GroupObject:IsPartlyInZone( ZoneObject ) then + return true + else + return false + end + end, { ZoneObject } ) + + return self +end + +--- Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence not in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- @param #SET_GROUP self +-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. +-- @param #function IteratorFunction The function that will be called when there is an alive GROUP in the SET_GROUP. The function needs to accept a GROUP parameter. +-- @return #SET_GROUP self +function SET_GROUP:ForEachGroupNotInZone( ZoneObject, IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set, + --- @param Core.Zone#ZONE_BASE ZoneObject + -- @param Wrapper.Group#GROUP GroupObject + function( ZoneObject, GroupObject ) + if GroupObject:IsNotInZone( ZoneObject ) then + return true + else + return false + end + end, { ZoneObject } ) + + return self +end + + +----- Iterate the SET_GROUP and call an interator function for each **alive** player, providing the Group of the player and optional parameters. +---- @param #SET_GROUP self +---- @param #function IteratorFunction The function that will be called when there is an alive player in the SET_GROUP. The function needs to accept a GROUP parameter. +---- @return #SET_GROUP self +--function SET_GROUP:ForEachPlayer( IteratorFunction, ... ) +-- self:F2( arg ) +-- +-- self:ForEach( IteratorFunction, arg, self.PlayersAlive ) +-- +-- return self +--end +-- +-- +----- Iterate the SET_GROUP and call an interator function for each client, providing the Client to the function and optional parameters. +---- @param #SET_GROUP self +---- @param #function IteratorFunction The function that will be called when there is an alive player in the SET_GROUP. The function needs to accept a CLIENT parameter. +---- @return #SET_GROUP self +--function SET_GROUP:ForEachClient( IteratorFunction, ... ) +-- self:F2( arg ) +-- +-- self:ForEach( IteratorFunction, arg, self.Clients ) +-- +-- return self +--end + + +--- +-- @param #SET_GROUP self +-- @param Wrapper.Group#GROUP MooseGroup +-- @return #SET_GROUP self +function SET_GROUP:IsIncludeObject( MooseGroup ) + self:F2( MooseGroup ) + local MooseGroupInclude = true + + if self.Filter.Coalitions then + local MooseGroupCoalition = false + for CoalitionID, CoalitionName in pairs( self.Filter.Coalitions ) do + self:T3( { "Coalition:", MooseGroup:GetCoalition(), self.FilterMeta.Coalitions[CoalitionName], CoalitionName } ) + if self.FilterMeta.Coalitions[CoalitionName] and self.FilterMeta.Coalitions[CoalitionName] == MooseGroup:GetCoalition() then + MooseGroupCoalition = true + end + end + MooseGroupInclude = MooseGroupInclude and MooseGroupCoalition + end + + if self.Filter.Categories then + local MooseGroupCategory = false + for CategoryID, CategoryName in pairs( self.Filter.Categories ) do + self:T3( { "Category:", MooseGroup:GetCategory(), self.FilterMeta.Categories[CategoryName], CategoryName } ) + if self.FilterMeta.Categories[CategoryName] and self.FilterMeta.Categories[CategoryName] == MooseGroup:GetCategory() then + MooseGroupCategory = true + end + end + MooseGroupInclude = MooseGroupInclude and MooseGroupCategory + end + + if self.Filter.Countries then + local MooseGroupCountry = false + for CountryID, CountryName in pairs( self.Filter.Countries ) do + self:T3( { "Country:", MooseGroup:GetCountry(), CountryName } ) + if country.id[CountryName] == MooseGroup:GetCountry() then + MooseGroupCountry = true + end + end + MooseGroupInclude = MooseGroupInclude and MooseGroupCountry + end + + if self.Filter.GroupPrefixes then + local MooseGroupPrefix = false + for GroupPrefixId, GroupPrefix in pairs( self.Filter.GroupPrefixes ) do + self:T3( { "Prefix:", string.find( MooseGroup:GetName(), GroupPrefix, 1 ), GroupPrefix } ) + if string.find( MooseGroup:GetName(), GroupPrefix, 1 ) then + MooseGroupPrefix = true + end + end + MooseGroupInclude = MooseGroupInclude and MooseGroupPrefix + end + + self:T2( MooseGroupInclude ) + return MooseGroupInclude +end + +--- @type SET_UNIT +-- @extends Core.Set#SET_BASE + +--- # 3) SET_UNIT class, extends @{Set#SET_BASE} +-- +-- Mission designers can use the SET_UNIT class to build sets of units belonging to certain: +-- +-- * Coalitions +-- * Categories +-- * Countries +-- * Unit types +-- * Starting with certain prefix strings. +-- +-- ## 3.1) SET_UNIT constructor +-- +-- Create a new SET_UNIT object with the @{#SET_UNIT.New} method: +-- +-- * @{#SET_UNIT.New}: Creates a new SET_UNIT object. +-- +-- ## 3.2) Add or Remove UNIT(s) from SET_UNIT +-- +-- UNITs can be added and removed using the @{Set#SET_UNIT.AddUnitsByName} and @{Set#SET_UNIT.RemoveUnitsByName} respectively. +-- These methods take a single UNIT name or an array of UNIT names to be added or removed from SET_UNIT. +-- +-- ## 3.3) SET_UNIT filter criteria +-- +-- You can set filter criteria to define the set of units within the SET_UNIT. +-- Filter criteria are defined by: +-- +-- * @{#SET_UNIT.FilterCoalitions}: Builds the SET_UNIT with the units belonging to the coalition(s). +-- * @{#SET_UNIT.FilterCategories}: Builds the SET_UNIT with the units belonging to the category(ies). +-- * @{#SET_UNIT.FilterTypes}: Builds the SET_UNIT with the units belonging to the unit type(s). +-- * @{#SET_UNIT.FilterCountries}: Builds the SET_UNIT with the units belonging to the country(ies). +-- * @{#SET_UNIT.FilterPrefixes}: Builds the SET_UNIT with the units starting with the same prefix string(s). +-- +-- Once the filter criteria have been set for the SET_UNIT, you can start filtering using: +-- +-- * @{#SET_UNIT.FilterStart}: Starts the filtering of the units within the SET_UNIT. +-- +-- Planned filter criteria within development are (so these are not yet available): +-- +-- * @{#SET_UNIT.FilterZones}: Builds the SET_UNIT with the units within a @{Zone#ZONE}. +-- +-- ## 3.4) SET_UNIT iterators +-- +-- Once the filters have been defined and the SET_UNIT has been built, you can iterate the SET_UNIT with the available iterator methods. +-- The iterator methods will walk the SET_UNIT set, and call for each element within the set a function that you provide. +-- The following iterator methods are currently available within the SET_UNIT: +-- +-- * @{#SET_UNIT.ForEachUnit}: Calls a function for each alive unit it finds within the SET_UNIT. +-- * @{#SET_GROUP.ForEachGroupCompletelyInZone}: Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence completely in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- * @{#SET_GROUP.ForEachGroupNotInZone}: Iterate the SET_GROUP and call an iterator function for each **alive** GROUP presence not in a @{Zone}, providing the GROUP and optional parameters to the called function. +-- +-- Planned iterators methods in development are (so these are not yet available): +-- +-- * @{#SET_UNIT.ForEachUnitInUnit}: Calls a function for each unit contained within the SET_UNIT. +-- * @{#SET_UNIT.ForEachUnitCompletelyInZone}: Iterate and call an iterator function for each **alive** UNIT presence completely in a @{Zone}, providing the UNIT and optional parameters to the called function. +-- * @{#SET_UNIT.ForEachUnitNotInZone}: Iterate and call an iterator function for each **alive** UNIT presence not in a @{Zone}, providing the UNIT and optional parameters to the called function. +-- +-- ## 3.5 ) SET_UNIT atomic methods +-- +-- Various methods exist for a SET_UNIT to perform actions or calculations and retrieve results from the SET_UNIT: +-- +-- * @{#SET_UNIT.GetTypeNames}(): Retrieve the type names of the @{Unit}s in the SET, delimited by a comma. +-- +-- === +-- @field #SET_UNIT SET_UNIT +SET_UNIT = { + ClassName = "SET_UNIT", + Units = {}, + Filter = { + Coalitions = nil, + Categories = nil, + Types = nil, + Countries = nil, + UnitPrefixes = nil, + }, + FilterMeta = { + Coalitions = { + red = coalition.side.RED, + blue = coalition.side.BLUE, + neutral = coalition.side.NEUTRAL, + }, + Categories = { + plane = Unit.Category.AIRPLANE, + helicopter = Unit.Category.HELICOPTER, + ground = Unit.Category.GROUND_UNIT, + ship = Unit.Category.SHIP, + structure = Unit.Category.STRUCTURE, + }, + }, +} + + +--- Creates a new SET_UNIT object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. +-- @param #SET_UNIT self +-- @return #SET_UNIT +-- @usage +-- -- Define a new SET_UNIT Object. This DBObject will contain a reference to all alive Units. +-- DBObject = SET_UNIT:New() +function SET_UNIT:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, SET_BASE:New( _DATABASE.UNITS ) ) + + return self +end + +--- Add UNIT(s) to SET_UNIT. +-- @param #SET_UNIT self +-- @param #string AddUnit A single UNIT. +-- @return #SET_UNIT self +function SET_UNIT:AddUnit( AddUnit ) + self:F2( AddUnit:GetName() ) + + self:Add( AddUnit:GetName(), AddUnit ) + + return self +end + + +--- Add UNIT(s) to SET_UNIT. +-- @param #SET_UNIT self +-- @param #string AddUnitNames A single name or an array of UNIT names. +-- @return #SET_UNIT self +function SET_UNIT:AddUnitsByName( AddUnitNames ) + + local AddUnitNamesArray = ( type( AddUnitNames ) == "table" ) and AddUnitNames or { AddUnitNames } + + self:T( AddUnitNamesArray ) + for AddUnitID, AddUnitName in pairs( AddUnitNamesArray ) do + self:Add( AddUnitName, UNIT:FindByName( AddUnitName ) ) + end + + return self +end + +--- Remove UNIT(s) from SET_UNIT. +-- @param Core.Set#SET_UNIT self +-- @param Wrapper.Unit#UNIT RemoveUnitNames A single name or an array of UNIT names. +-- @return self +function SET_UNIT:RemoveUnitsByName( RemoveUnitNames ) + + local RemoveUnitNamesArray = ( type( RemoveUnitNames ) == "table" ) and RemoveUnitNames or { RemoveUnitNames } + + for RemoveUnitID, RemoveUnitName in pairs( RemoveUnitNamesArray ) do + self:Remove( RemoveUnitName ) + end + + return self +end + + +--- Finds a Unit based on the Unit Name. +-- @param #SET_UNIT self +-- @param #string UnitName +-- @return Wrapper.Unit#UNIT The found Unit. +function SET_UNIT:FindUnit( UnitName ) + + local UnitFound = self.Set[UnitName] + return UnitFound +end + + + +--- Builds a set of units of coalitions. +-- Possible current coalitions are red, blue and neutral. +-- @param #SET_UNIT self +-- @param #string Coalitions Can take the following values: "red", "blue", "neutral". +-- @return #SET_UNIT self +function SET_UNIT:FilterCoalitions( Coalitions ) + if not self.Filter.Coalitions then + self.Filter.Coalitions = {} + end + if type( Coalitions ) ~= "table" then + Coalitions = { Coalitions } + end + for CoalitionID, Coalition in pairs( Coalitions ) do + self.Filter.Coalitions[Coalition] = Coalition + end + return self +end + + +--- Builds a set of units out of categories. +-- Possible current categories are plane, helicopter, ground, ship. +-- @param #SET_UNIT self +-- @param #string Categories Can take the following values: "plane", "helicopter", "ground", "ship". +-- @return #SET_UNIT self +function SET_UNIT:FilterCategories( Categories ) + if not self.Filter.Categories then + self.Filter.Categories = {} + end + if type( Categories ) ~= "table" then + Categories = { Categories } + end + for CategoryID, Category in pairs( Categories ) do + self.Filter.Categories[Category] = Category + end + return self +end + + +--- Builds a set of units of defined unit types. +-- Possible current types are those types known within DCS world. +-- @param #SET_UNIT self +-- @param #string Types Can take those type strings known within DCS world. +-- @return #SET_UNIT self +function SET_UNIT:FilterTypes( Types ) + if not self.Filter.Types then + self.Filter.Types = {} + end + if type( Types ) ~= "table" then + Types = { Types } + end + for TypeID, Type in pairs( Types ) do + self.Filter.Types[Type] = Type + end + return self +end + + +--- Builds a set of units of defined countries. +-- Possible current countries are those known within DCS world. +-- @param #SET_UNIT self +-- @param #string Countries Can take those country strings known within DCS world. +-- @return #SET_UNIT self +function SET_UNIT:FilterCountries( Countries ) + if not self.Filter.Countries then + self.Filter.Countries = {} + end + if type( Countries ) ~= "table" then + Countries = { Countries } + end + for CountryID, Country in pairs( Countries ) do + self.Filter.Countries[Country] = Country + end + return self +end + + +--- Builds a set of units of defined unit prefixes. +-- All the units starting with the given prefixes will be included within the set. +-- @param #SET_UNIT self +-- @param #string Prefixes The prefix of which the unit name starts with. +-- @return #SET_UNIT self +function SET_UNIT:FilterPrefixes( Prefixes ) + if not self.Filter.UnitPrefixes then + self.Filter.UnitPrefixes = {} + end + if type( Prefixes ) ~= "table" then + Prefixes = { Prefixes } + end + for PrefixID, Prefix in pairs( Prefixes ) do + self.Filter.UnitPrefixes[Prefix] = Prefix + end + return self +end + +--- Builds a set of units having a radar of give types. +-- All the units having a radar of a given type will be included within the set. +-- @param #SET_UNIT self +-- @param #table RadarTypes The radar types. +-- @return #SET_UNIT self +function SET_UNIT:FilterHasRadar( RadarTypes ) + + self.Filter.RadarTypes = self.Filter.RadarTypes or {} + if type( RadarTypes ) ~= "table" then + RadarTypes = { RadarTypes } + end + for RadarTypeID, RadarType in pairs( RadarTypes ) do + self.Filter.RadarTypes[RadarType] = RadarType + end + return self +end + +--- Builds a set of SEADable units. +-- @param #SET_UNIT self +-- @return #SET_UNIT self +function SET_UNIT:FilterHasSEAD() + + self.Filter.SEAD = true + return self +end + + + +--- Starts the filtering. +-- @param #SET_UNIT self +-- @return #SET_UNIT self +function SET_UNIT:FilterStart() + + if _DATABASE then + self:_FilterStart() + end + + return self +end + +--- Handles the Database to check on an event (birth) that the Object was added in the Database. +-- This is required, because sometimes the _DATABASE birth event gets called later than the SET_BASE birth event! +-- @param #SET_UNIT self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the UNIT +-- @return #table The UNIT +function SET_UNIT:AddInDatabase( Event ) + self:F3( { Event } ) + + if Event.IniObjectCategory == 1 then + if not self.Database[Event.IniDCSUnitName] then + self.Database[Event.IniDCSUnitName] = UNIT:Register( Event.IniDCSUnitName ) + self:T3( self.Database[Event.IniDCSUnitName] ) + end + end + + return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] +end + +--- Handles the Database to check on any event that Object exists in the Database. +-- This is required, because sometimes the _DATABASE event gets called later than the SET_BASE event or vise versa! +-- @param #SET_UNIT self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the UNIT +-- @return #table The UNIT +function SET_UNIT:FindInDatabase( Event ) + self:E( { Event.IniDCSUnitName, self.Set[Event.IniDCSUnitName], Event } ) + + + return Event.IniDCSUnitName, self.Set[Event.IniDCSUnitName] +end + +--- Iterate the SET_UNIT and call an interator function for each **alive** UNIT, providing the UNIT and optional parameters. +-- @param #SET_UNIT self +-- @param #function IteratorFunction The function that will be called when there is an alive UNIT in the SET_UNIT. The function needs to accept a UNIT parameter. +-- @return #SET_UNIT self +function SET_UNIT:ForEachUnit( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set ) + + return self +end + +--- Iterate the SET_UNIT and call an iterator function for each **alive** UNIT presence completely in a @{Zone}, providing the UNIT and optional parameters to the called function. +-- @param #SET_UNIT self +-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. +-- @param #function IteratorFunction The function that will be called when there is an alive UNIT in the SET_UNIT. The function needs to accept a UNIT parameter. +-- @return #SET_UNIT self +function SET_UNIT:ForEachUnitCompletelyInZone( ZoneObject, IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set, + --- @param Core.Zone#ZONE_BASE ZoneObject + -- @param Wrapper.Unit#UNIT UnitObject + function( ZoneObject, UnitObject ) + if UnitObject:IsCompletelyInZone( ZoneObject ) then + return true + else + return false + end + end, { ZoneObject } ) + + return self +end + +--- Iterate the SET_UNIT and call an iterator function for each **alive** UNIT presence not in a @{Zone}, providing the UNIT and optional parameters to the called function. +-- @param #SET_UNIT self +-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. +-- @param #function IteratorFunction The function that will be called when there is an alive UNIT in the SET_UNIT. The function needs to accept a UNIT parameter. +-- @return #SET_UNIT self +function SET_UNIT:ForEachUnitNotInZone( ZoneObject, IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set, + --- @param Core.Zone#ZONE_BASE ZoneObject + -- @param Wrapper.Unit#UNIT UnitObject + function( ZoneObject, UnitObject ) + if UnitObject:IsNotInZone( ZoneObject ) then + return true + else + return false + end + end, { ZoneObject } ) + + return self +end + +--- Returns map of unit types. +-- @param #SET_UNIT self +-- @return #map<#string,#number> A map of the unit types found. The key is the UnitTypeName and the value is the amount of unit types found. +function SET_UNIT:GetUnitTypes() + self:F2() + + local MT = {} -- Message Text + local UnitTypes = {} + + for UnitID, UnitData in pairs( self:GetSet() ) do + local TextUnit = UnitData -- Wrapper.Unit#UNIT + if TextUnit:IsAlive() then + local UnitType = TextUnit:GetTypeName() + + if not UnitTypes[UnitType] then + UnitTypes[UnitType] = 1 + else + UnitTypes[UnitType] = UnitTypes[UnitType] + 1 + end + end + end + + for UnitTypeID, UnitType in pairs( UnitTypes ) do + MT[#MT+1] = UnitType .. " of " .. UnitTypeID + end + + return UnitTypes +end + + +--- Returns a comma separated string of the unit types with a count in the @{Set}. +-- @param #SET_UNIT self +-- @return #string The unit types string +function SET_UNIT:GetUnitTypesText() + self:F2() + + local MT = {} -- Message Text + local UnitTypes = self:GetUnitTypes() + + for UnitTypeID, UnitType in pairs( UnitTypes ) do + MT[#MT+1] = UnitType .. " of " .. UnitTypeID + end + + return table.concat( MT, ", " ) +end + +--- Returns map of unit threat levels. +-- @param #SET_UNIT self +-- @return #table. +function SET_UNIT:GetUnitThreatLevels() + self:F2() + + local UnitThreatLevels = {} + + for UnitID, UnitData in pairs( self:GetSet() ) do + local ThreatUnit = UnitData -- Wrapper.Unit#UNIT + if ThreatUnit:IsAlive() then + local UnitThreatLevel, UnitThreatLevelText = ThreatUnit:GetThreatLevel() + local ThreatUnitName = ThreatUnit:GetName() + + UnitThreatLevels[UnitThreatLevel] = UnitThreatLevels[UnitThreatLevel] or {} + UnitThreatLevels[UnitThreatLevel].UnitThreatLevelText = UnitThreatLevelText + UnitThreatLevels[UnitThreatLevel].Units = UnitThreatLevels[UnitThreatLevel].Units or {} + UnitThreatLevels[UnitThreatLevel].Units[ThreatUnitName] = ThreatUnit + end + end + + return UnitThreatLevels +end + +--- Calculate the maxium A2G threat level of the SET_UNIT. +-- @param #SET_UNIT self +function SET_UNIT:CalculateThreatLevelA2G() + + local MaxThreatLevelA2G = 0 + for UnitName, UnitData in pairs( self:GetSet() ) do + local ThreatUnit = UnitData -- Wrapper.Unit#UNIT + local ThreatLevelA2G = ThreatUnit:GetThreatLevel() + if ThreatLevelA2G > MaxThreatLevelA2G then + MaxThreatLevelA2G = ThreatLevelA2G + end + end + + self:T3( MaxThreatLevelA2G ) + return MaxThreatLevelA2G + +end + + +--- Returns if the @{Set} has targets having a radar (of a given type). +-- @param #SET_UNIT self +-- @param Dcs.DCSWrapper.Unit#Unit.RadarType RadarType +-- @return #number The amount of radars in the Set with the given type +function SET_UNIT:HasRadar( RadarType ) + self:F2( RadarType ) + + local RadarCount = 0 + for UnitID, UnitData in pairs( self:GetSet()) do + local UnitSensorTest = UnitData -- Wrapper.Unit#UNIT + local HasSensors + if RadarType then + HasSensors = UnitSensorTest:HasSensors( Unit.SensorType.RADAR, RadarType ) + else + HasSensors = UnitSensorTest:HasSensors( Unit.SensorType.RADAR ) + end + self:T3(HasSensors) + if HasSensors then + RadarCount = RadarCount + 1 + end + end + + return RadarCount +end + +--- Returns if the @{Set} has targets that can be SEADed. +-- @param #SET_UNIT self +-- @return #number The amount of SEADable units in the Set +function SET_UNIT:HasSEAD() + self:F2() + + local SEADCount = 0 + for UnitID, UnitData in pairs( self:GetSet()) do + local UnitSEAD = UnitData -- Wrapper.Unit#UNIT + if UnitSEAD:IsAlive() then + local UnitSEADAttributes = UnitSEAD:GetDesc().attributes + + local HasSEAD = UnitSEAD:HasSEAD() + + self:T3(HasSEAD) + if HasSEAD then + SEADCount = SEADCount + 1 + end + end + end + + return SEADCount +end + +--- Returns if the @{Set} has ground targets. +-- @param #SET_UNIT self +-- @return #number The amount of ground targets in the Set. +function SET_UNIT:HasGroundUnits() + self:F2() + + local GroundUnitCount = 0 + for UnitID, UnitData in pairs( self:GetSet()) do + local UnitTest = UnitData -- Wrapper.Unit#UNIT + if UnitTest:IsGround() then + GroundUnitCount = GroundUnitCount + 1 + end + end + + return GroundUnitCount +end + +--- Returns if the @{Set} has friendly ground units. +-- @param #SET_UNIT self +-- @return #number The amount of ground targets in the Set. +function SET_UNIT:HasFriendlyUnits( FriendlyCoalition ) + self:F2() + + local FriendlyUnitCount = 0 + for UnitID, UnitData in pairs( self:GetSet()) do + local UnitTest = UnitData -- Wrapper.Unit#UNIT + if UnitTest:IsFriendly( FriendlyCoalition ) then + FriendlyUnitCount = FriendlyUnitCount + 1 + end + end + + return FriendlyUnitCount +end + + + +----- Iterate the SET_UNIT and call an interator function for each **alive** player, providing the Unit of the player and optional parameters. +---- @param #SET_UNIT self +---- @param #function IteratorFunction The function that will be called when there is an alive player in the SET_UNIT. The function needs to accept a UNIT parameter. +---- @return #SET_UNIT self +--function SET_UNIT:ForEachPlayer( IteratorFunction, ... ) +-- self:F2( arg ) +-- +-- self:ForEach( IteratorFunction, arg, self.PlayersAlive ) +-- +-- return self +--end +-- +-- +----- Iterate the SET_UNIT and call an interator function for each client, providing the Client to the function and optional parameters. +---- @param #SET_UNIT self +---- @param #function IteratorFunction The function that will be called when there is an alive player in the SET_UNIT. The function needs to accept a CLIENT parameter. +---- @return #SET_UNIT self +--function SET_UNIT:ForEachClient( IteratorFunction, ... ) +-- self:F2( arg ) +-- +-- self:ForEach( IteratorFunction, arg, self.Clients ) +-- +-- return self +--end + + +--- +-- @param #SET_UNIT self +-- @param Wrapper.Unit#UNIT MUnit +-- @return #SET_UNIT self +function SET_UNIT:IsIncludeObject( MUnit ) + self:F2( MUnit ) + local MUnitInclude = true + + if self.Filter.Coalitions then + local MUnitCoalition = false + for CoalitionID, CoalitionName in pairs( self.Filter.Coalitions ) do + self:T3( { "Coalition:", MUnit:GetCoalition(), self.FilterMeta.Coalitions[CoalitionName], CoalitionName } ) + if self.FilterMeta.Coalitions[CoalitionName] and self.FilterMeta.Coalitions[CoalitionName] == MUnit:GetCoalition() then + MUnitCoalition = true + end + end + MUnitInclude = MUnitInclude and MUnitCoalition + end + + if self.Filter.Categories then + local MUnitCategory = false + for CategoryID, CategoryName in pairs( self.Filter.Categories ) do + self:T3( { "Category:", MUnit:GetDesc().category, self.FilterMeta.Categories[CategoryName], CategoryName } ) + if self.FilterMeta.Categories[CategoryName] and self.FilterMeta.Categories[CategoryName] == MUnit:GetDesc().category then + MUnitCategory = true + end + end + MUnitInclude = MUnitInclude and MUnitCategory + end + + if self.Filter.Types then + local MUnitType = false + for TypeID, TypeName in pairs( self.Filter.Types ) do + self:T3( { "Type:", MUnit:GetTypeName(), TypeName } ) + if TypeName == MUnit:GetTypeName() then + MUnitType = true + end + end + MUnitInclude = MUnitInclude and MUnitType + end + + if self.Filter.Countries then + local MUnitCountry = false + for CountryID, CountryName in pairs( self.Filter.Countries ) do + self:T3( { "Country:", MUnit:GetCountry(), CountryName } ) + if country.id[CountryName] == MUnit:GetCountry() then + MUnitCountry = true + end + end + MUnitInclude = MUnitInclude and MUnitCountry + end + + if self.Filter.UnitPrefixes then + local MUnitPrefix = false + for UnitPrefixId, UnitPrefix in pairs( self.Filter.UnitPrefixes ) do + self:T3( { "Prefix:", string.find( MUnit:GetName(), UnitPrefix, 1 ), UnitPrefix } ) + if string.find( MUnit:GetName(), UnitPrefix, 1 ) then + MUnitPrefix = true + end + end + MUnitInclude = MUnitInclude and MUnitPrefix + end + + if self.Filter.RadarTypes then + local MUnitRadar = false + for RadarTypeID, RadarType in pairs( self.Filter.RadarTypes ) do + self:T3( { "Radar:", RadarType } ) + if MUnit:HasSensors( Unit.SensorType.RADAR, RadarType ) == true then + if MUnit:GetRadar() == true then -- This call is necessary to evaluate the SEAD capability. + self:T3( "RADAR Found" ) + end + MUnitRadar = true + end + end + MUnitInclude = MUnitInclude and MUnitRadar + end + + if self.Filter.SEAD then + local MUnitSEAD = false + if MUnit:HasSEAD() == true then + self:T3( "SEAD Found" ) + MUnitSEAD = true + end + MUnitInclude = MUnitInclude and MUnitSEAD + end + + self:T2( MUnitInclude ) + return MUnitInclude +end + + +--- Retrieve the type names of the @{Unit}s in the SET, delimited by an optional delimiter. +-- @param #SET_UNIT self +-- @param #string Delimiter (optional) The delimiter, which is default a comma. +-- @return #string The types of the @{Unit}s delimited. +function SET_UNIT:GetTypeNames( Delimiter ) + + Delimiter = Delimiter or ", " + local TypeReport = REPORT:New() + local Types = {} + + for UnitName, UnitData in pairs( self:GetSet() ) do + + local Unit = UnitData -- Wrapper.Unit#UNIT + local UnitTypeName = Unit:GetTypeName() + + if not Types[UnitTypeName] then + Types[UnitTypeName] = UnitTypeName + TypeReport:Add( UnitTypeName ) + end + end + + return TypeReport:Text( Delimiter ) +end + + +--- SET_CLIENT + + +--- @type SET_CLIENT +-- @extends Core.Set#SET_BASE + + + +--- # 4) SET_CLIENT class, extends @{Set#SET_BASE} +-- +-- Mission designers can use the @{Set#SET_CLIENT} class to build sets of units belonging to certain: +-- +-- * Coalitions +-- * Categories +-- * Countries +-- * Client types +-- * Starting with certain prefix strings. +-- +-- ## 4.1) SET_CLIENT constructor +-- +-- Create a new SET_CLIENT object with the @{#SET_CLIENT.New} method: +-- +-- * @{#SET_CLIENT.New}: Creates a new SET_CLIENT object. +-- +-- ## 4.2) Add or Remove CLIENT(s) from SET_CLIENT +-- +-- CLIENTs can be added and removed using the @{Set#SET_CLIENT.AddClientsByName} and @{Set#SET_CLIENT.RemoveClientsByName} respectively. +-- These methods take a single CLIENT name or an array of CLIENT names to be added or removed from SET_CLIENT. +-- +-- ## 4.3) SET_CLIENT filter criteria +-- +-- You can set filter criteria to define the set of clients within the SET_CLIENT. +-- Filter criteria are defined by: +-- +-- * @{#SET_CLIENT.FilterCoalitions}: Builds the SET_CLIENT with the clients belonging to the coalition(s). +-- * @{#SET_CLIENT.FilterCategories}: Builds the SET_CLIENT with the clients belonging to the category(ies). +-- * @{#SET_CLIENT.FilterTypes}: Builds the SET_CLIENT with the clients belonging to the client type(s). +-- * @{#SET_CLIENT.FilterCountries}: Builds the SET_CLIENT with the clients belonging to the country(ies). +-- * @{#SET_CLIENT.FilterPrefixes}: Builds the SET_CLIENT with the clients starting with the same prefix string(s). +-- +-- Once the filter criteria have been set for the SET_CLIENT, you can start filtering using: +-- +-- * @{#SET_CLIENT.FilterStart}: Starts the filtering of the clients within the SET_CLIENT. +-- +-- Planned filter criteria within development are (so these are not yet available): +-- +-- * @{#SET_CLIENT.FilterZones}: Builds the SET_CLIENT with the clients within a @{Zone#ZONE}. +-- +-- ## 4.4) SET_CLIENT iterators +-- +-- Once the filters have been defined and the SET_CLIENT has been built, you can iterate the SET_CLIENT with the available iterator methods. +-- The iterator methods will walk the SET_CLIENT set, and call for each element within the set a function that you provide. +-- The following iterator methods are currently available within the SET_CLIENT: +-- +-- * @{#SET_CLIENT.ForEachClient}: Calls a function for each alive client it finds within the SET_CLIENT. +-- +-- === +-- @field #SET_CLIENT SET_CLIENT +SET_CLIENT = { + ClassName = "SET_CLIENT", + Clients = {}, + Filter = { + Coalitions = nil, + Categories = nil, + Types = nil, + Countries = nil, + ClientPrefixes = nil, + }, + FilterMeta = { + Coalitions = { + red = coalition.side.RED, + blue = coalition.side.BLUE, + neutral = coalition.side.NEUTRAL, + }, + Categories = { + plane = Unit.Category.AIRPLANE, + helicopter = Unit.Category.HELICOPTER, + ground = Unit.Category.GROUND_UNIT, + ship = Unit.Category.SHIP, + structure = Unit.Category.STRUCTURE, + }, + }, +} + + +--- Creates a new SET_CLIENT object, building a set of clients belonging to a coalitions, categories, countries, types or with defined prefix names. +-- @param #SET_CLIENT self +-- @return #SET_CLIENT +-- @usage +-- -- Define a new SET_CLIENT Object. This DBObject will contain a reference to all Clients. +-- DBObject = SET_CLIENT:New() +function SET_CLIENT:New() + -- Inherits from BASE + local self = BASE:Inherit( self, SET_BASE:New( _DATABASE.CLIENTS ) ) + + return self +end + +--- Add CLIENT(s) to SET_CLIENT. +-- @param Core.Set#SET_CLIENT self +-- @param #string AddClientNames A single name or an array of CLIENT names. +-- @return self +function SET_CLIENT:AddClientsByName( AddClientNames ) + + local AddClientNamesArray = ( type( AddClientNames ) == "table" ) and AddClientNames or { AddClientNames } + + for AddClientID, AddClientName in pairs( AddClientNamesArray ) do + self:Add( AddClientName, CLIENT:FindByName( AddClientName ) ) + end + + return self +end + +--- Remove CLIENT(s) from SET_CLIENT. +-- @param Core.Set#SET_CLIENT self +-- @param Wrapper.Client#CLIENT RemoveClientNames A single name or an array of CLIENT names. +-- @return self +function SET_CLIENT:RemoveClientsByName( RemoveClientNames ) + + local RemoveClientNamesArray = ( type( RemoveClientNames ) == "table" ) and RemoveClientNames or { RemoveClientNames } + + for RemoveClientID, RemoveClientName in pairs( RemoveClientNamesArray ) do + self:Remove( RemoveClientName.ClientName ) + end + + return self +end + + +--- Finds a Client based on the Client Name. +-- @param #SET_CLIENT self +-- @param #string ClientName +-- @return Wrapper.Client#CLIENT The found Client. +function SET_CLIENT:FindClient( ClientName ) + + local ClientFound = self.Set[ClientName] + return ClientFound +end + + + +--- Builds a set of clients of coalitions. +-- Possible current coalitions are red, blue and neutral. +-- @param #SET_CLIENT self +-- @param #string Coalitions Can take the following values: "red", "blue", "neutral". +-- @return #SET_CLIENT self +function SET_CLIENT:FilterCoalitions( Coalitions ) + if not self.Filter.Coalitions then + self.Filter.Coalitions = {} + end + if type( Coalitions ) ~= "table" then + Coalitions = { Coalitions } + end + for CoalitionID, Coalition in pairs( Coalitions ) do + self.Filter.Coalitions[Coalition] = Coalition + end + return self +end + + +--- Builds a set of clients out of categories. +-- Possible current categories are plane, helicopter, ground, ship. +-- @param #SET_CLIENT self +-- @param #string Categories Can take the following values: "plane", "helicopter", "ground", "ship". +-- @return #SET_CLIENT self +function SET_CLIENT:FilterCategories( Categories ) + if not self.Filter.Categories then + self.Filter.Categories = {} + end + if type( Categories ) ~= "table" then + Categories = { Categories } + end + for CategoryID, Category in pairs( Categories ) do + self.Filter.Categories[Category] = Category + end + return self +end + + +--- Builds a set of clients of defined client types. +-- Possible current types are those types known within DCS world. +-- @param #SET_CLIENT self +-- @param #string Types Can take those type strings known within DCS world. +-- @return #SET_CLIENT self +function SET_CLIENT:FilterTypes( Types ) + if not self.Filter.Types then + self.Filter.Types = {} + end + if type( Types ) ~= "table" then + Types = { Types } + end + for TypeID, Type in pairs( Types ) do + self.Filter.Types[Type] = Type + end + return self +end + + +--- Builds a set of clients of defined countries. +-- Possible current countries are those known within DCS world. +-- @param #SET_CLIENT self +-- @param #string Countries Can take those country strings known within DCS world. +-- @return #SET_CLIENT self +function SET_CLIENT:FilterCountries( Countries ) + if not self.Filter.Countries then + self.Filter.Countries = {} + end + if type( Countries ) ~= "table" then + Countries = { Countries } + end + for CountryID, Country in pairs( Countries ) do + self.Filter.Countries[Country] = Country + end + return self +end + + +--- Builds a set of clients of defined client prefixes. +-- All the clients starting with the given prefixes will be included within the set. +-- @param #SET_CLIENT self +-- @param #string Prefixes The prefix of which the client name starts with. +-- @return #SET_CLIENT self +function SET_CLIENT:FilterPrefixes( Prefixes ) + if not self.Filter.ClientPrefixes then + self.Filter.ClientPrefixes = {} + end + if type( Prefixes ) ~= "table" then + Prefixes = { Prefixes } + end + for PrefixID, Prefix in pairs( Prefixes ) do + self.Filter.ClientPrefixes[Prefix] = Prefix + end + return self +end + + + + +--- Starts the filtering. +-- @param #SET_CLIENT self +-- @return #SET_CLIENT self +function SET_CLIENT:FilterStart() + + if _DATABASE then + self:_FilterStart() + end + + return self +end + +--- Handles the Database to check on an event (birth) that the Object was added in the Database. +-- This is required, because sometimes the _DATABASE birth event gets called later than the SET_BASE birth event! +-- @param #SET_CLIENT self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the CLIENT +-- @return #table The CLIENT +function SET_CLIENT:AddInDatabase( Event ) + self:F3( { Event } ) + + return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] +end + +--- Handles the Database to check on any event that Object exists in the Database. +-- This is required, because sometimes the _DATABASE event gets called later than the SET_BASE event or vise versa! +-- @param #SET_CLIENT self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the CLIENT +-- @return #table The CLIENT +function SET_CLIENT:FindInDatabase( Event ) + self:F3( { Event } ) + + return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] +end + +--- Iterate the SET_CLIENT and call an interator function for each **alive** CLIENT, providing the CLIENT and optional parameters. +-- @param #SET_CLIENT self +-- @param #function IteratorFunction The function that will be called when there is an alive CLIENT in the SET_CLIENT. The function needs to accept a CLIENT parameter. +-- @return #SET_CLIENT self +function SET_CLIENT:ForEachClient( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set ) + + return self +end + +--- Iterate the SET_CLIENT and call an iterator function for each **alive** CLIENT presence completely in a @{Zone}, providing the CLIENT and optional parameters to the called function. +-- @param #SET_CLIENT self +-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. +-- @param #function IteratorFunction The function that will be called when there is an alive CLIENT in the SET_CLIENT. The function needs to accept a CLIENT parameter. +-- @return #SET_CLIENT self +function SET_CLIENT:ForEachClientInZone( ZoneObject, IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set, + --- @param Core.Zone#ZONE_BASE ZoneObject + -- @param Wrapper.Client#CLIENT ClientObject + function( ZoneObject, ClientObject ) + if ClientObject:IsInZone( ZoneObject ) then + return true + else + return false + end + end, { ZoneObject } ) + + return self +end + +--- Iterate the SET_CLIENT and call an iterator function for each **alive** CLIENT presence not in a @{Zone}, providing the CLIENT and optional parameters to the called function. +-- @param #SET_CLIENT self +-- @param Core.Zone#ZONE ZoneObject The Zone to be tested for. +-- @param #function IteratorFunction The function that will be called when there is an alive CLIENT in the SET_CLIENT. The function needs to accept a CLIENT parameter. +-- @return #SET_CLIENT self +function SET_CLIENT:ForEachClientNotInZone( ZoneObject, IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set, + --- @param Core.Zone#ZONE_BASE ZoneObject + -- @param Wrapper.Client#CLIENT ClientObject + function( ZoneObject, ClientObject ) + if ClientObject:IsNotInZone( ZoneObject ) then + return true + else + return false + end + end, { ZoneObject } ) + + return self +end + +--- +-- @param #SET_CLIENT self +-- @param Wrapper.Client#CLIENT MClient +-- @return #SET_CLIENT self +function SET_CLIENT:IsIncludeObject( MClient ) + self:F2( MClient ) + + local MClientInclude = true + + if MClient then + local MClientName = MClient.UnitName + + if self.Filter.Coalitions then + local MClientCoalition = false + for CoalitionID, CoalitionName in pairs( self.Filter.Coalitions ) do + local ClientCoalitionID = _DATABASE:GetCoalitionFromClientTemplate( MClientName ) + self:T3( { "Coalition:", ClientCoalitionID, self.FilterMeta.Coalitions[CoalitionName], CoalitionName } ) + if self.FilterMeta.Coalitions[CoalitionName] and self.FilterMeta.Coalitions[CoalitionName] == ClientCoalitionID then + MClientCoalition = true + end + end + self:T( { "Evaluated Coalition", MClientCoalition } ) + MClientInclude = MClientInclude and MClientCoalition + end + + if self.Filter.Categories then + local MClientCategory = false + for CategoryID, CategoryName in pairs( self.Filter.Categories ) do + local ClientCategoryID = _DATABASE:GetCategoryFromClientTemplate( MClientName ) + self:T3( { "Category:", ClientCategoryID, self.FilterMeta.Categories[CategoryName], CategoryName } ) + if self.FilterMeta.Categories[CategoryName] and self.FilterMeta.Categories[CategoryName] == ClientCategoryID then + MClientCategory = true + end + end + self:T( { "Evaluated Category", MClientCategory } ) + MClientInclude = MClientInclude and MClientCategory + end + + if self.Filter.Types then + local MClientType = false + for TypeID, TypeName in pairs( self.Filter.Types ) do + self:T3( { "Type:", MClient:GetTypeName(), TypeName } ) + if TypeName == MClient:GetTypeName() then + MClientType = true + end + end + self:T( { "Evaluated Type", MClientType } ) + MClientInclude = MClientInclude and MClientType + end + + if self.Filter.Countries then + local MClientCountry = false + for CountryID, CountryName in pairs( self.Filter.Countries ) do + local ClientCountryID = _DATABASE:GetCountryFromClientTemplate(MClientName) + self:T3( { "Country:", ClientCountryID, country.id[CountryName], CountryName } ) + if country.id[CountryName] and country.id[CountryName] == ClientCountryID then + MClientCountry = true + end + end + self:T( { "Evaluated Country", MClientCountry } ) + MClientInclude = MClientInclude and MClientCountry + end + + if self.Filter.ClientPrefixes then + local MClientPrefix = false + for ClientPrefixId, ClientPrefix in pairs( self.Filter.ClientPrefixes ) do + self:T3( { "Prefix:", string.find( MClient.UnitName, ClientPrefix, 1 ), ClientPrefix } ) + if string.find( MClient.UnitName, ClientPrefix, 1 ) then + MClientPrefix = true + end + end + self:T( { "Evaluated Prefix", MClientPrefix } ) + MClientInclude = MClientInclude and MClientPrefix + end + end + + self:T2( MClientInclude ) + return MClientInclude +end + +--- @type SET_AIRBASE +-- @extends Core.Set#SET_BASE + +--- # 5) SET_AIRBASE class, extends @{Set#SET_BASE} +-- +-- Mission designers can use the @{Set#SET_AIRBASE} class to build sets of airbases optionally belonging to certain: +-- +-- * Coalitions +-- +-- ## 5.1) SET_AIRBASE constructor +-- +-- Create a new SET_AIRBASE object with the @{#SET_AIRBASE.New} method: +-- +-- * @{#SET_AIRBASE.New}: Creates a new SET_AIRBASE object. +-- +-- ## 5.2) Add or Remove AIRBASEs from SET_AIRBASE +-- +-- AIRBASEs can be added and removed using the @{Set#SET_AIRBASE.AddAirbasesByName} and @{Set#SET_AIRBASE.RemoveAirbasesByName} respectively. +-- These methods take a single AIRBASE name or an array of AIRBASE names to be added or removed from SET_AIRBASE. +-- +-- ## 5.3) SET_AIRBASE filter criteria +-- +-- You can set filter criteria to define the set of clients within the SET_AIRBASE. +-- Filter criteria are defined by: +-- +-- * @{#SET_AIRBASE.FilterCoalitions}: Builds the SET_AIRBASE with the airbases belonging to the coalition(s). +-- +-- Once the filter criteria have been set for the SET_AIRBASE, you can start filtering using: +-- +-- * @{#SET_AIRBASE.FilterStart}: Starts the filtering of the airbases within the SET_AIRBASE. +-- +-- ## 5.4) SET_AIRBASE iterators +-- +-- Once the filters have been defined and the SET_AIRBASE has been built, you can iterate the SET_AIRBASE with the available iterator methods. +-- The iterator methods will walk the SET_AIRBASE set, and call for each airbase within the set a function that you provide. +-- The following iterator methods are currently available within the SET_AIRBASE: +-- +-- * @{#SET_AIRBASE.ForEachAirbase}: Calls a function for each airbase it finds within the SET_AIRBASE. +-- +-- === +-- @field #SET_AIRBASE SET_AIRBASE +SET_AIRBASE = { + ClassName = "SET_AIRBASE", + Airbases = {}, + Filter = { + Coalitions = nil, + }, + FilterMeta = { + Coalitions = { + red = coalition.side.RED, + blue = coalition.side.BLUE, + neutral = coalition.side.NEUTRAL, + }, + Categories = { + airdrome = Airbase.Category.AIRDROME, + helipad = Airbase.Category.HELIPAD, + ship = Airbase.Category.SHIP, + }, + }, +} + + +--- Creates a new SET_AIRBASE object, building a set of airbases belonging to a coalitions and categories. +-- @param #SET_AIRBASE self +-- @return #SET_AIRBASE self +-- @usage +-- -- Define a new SET_AIRBASE Object. The DatabaseSet will contain a reference to all Airbases. +-- DatabaseSet = SET_AIRBASE:New() +function SET_AIRBASE:New() + -- Inherits from BASE + local self = BASE:Inherit( self, SET_BASE:New( _DATABASE.AIRBASES ) ) + + return self +end + +--- Add AIRBASEs to SET_AIRBASE. +-- @param Core.Set#SET_AIRBASE self +-- @param #string AddAirbaseNames A single name or an array of AIRBASE names. +-- @return self +function SET_AIRBASE:AddAirbasesByName( AddAirbaseNames ) + + local AddAirbaseNamesArray = ( type( AddAirbaseNames ) == "table" ) and AddAirbaseNames or { AddAirbaseNames } + + for AddAirbaseID, AddAirbaseName in pairs( AddAirbaseNamesArray ) do + self:Add( AddAirbaseName, AIRBASE:FindByName( AddAirbaseName ) ) + end + + return self +end + +--- Remove AIRBASEs from SET_AIRBASE. +-- @param Core.Set#SET_AIRBASE self +-- @param Wrapper.Airbase#AIRBASE RemoveAirbaseNames A single name or an array of AIRBASE names. +-- @return self +function SET_AIRBASE:RemoveAirbasesByName( RemoveAirbaseNames ) + + local RemoveAirbaseNamesArray = ( type( RemoveAirbaseNames ) == "table" ) and RemoveAirbaseNames or { RemoveAirbaseNames } + + for RemoveAirbaseID, RemoveAirbaseName in pairs( RemoveAirbaseNamesArray ) do + self:Remove( RemoveAirbaseName.AirbaseName ) + end + + return self +end + + +--- Finds a Airbase based on the Airbase Name. +-- @param #SET_AIRBASE self +-- @param #string AirbaseName +-- @return Wrapper.Airbase#AIRBASE The found Airbase. +function SET_AIRBASE:FindAirbase( AirbaseName ) + + local AirbaseFound = self.Set[AirbaseName] + return AirbaseFound +end + + + +--- Builds a set of airbases of coalitions. +-- Possible current coalitions are red, blue and neutral. +-- @param #SET_AIRBASE self +-- @param #string Coalitions Can take the following values: "red", "blue", "neutral". +-- @return #SET_AIRBASE self +function SET_AIRBASE:FilterCoalitions( Coalitions ) + if not self.Filter.Coalitions then + self.Filter.Coalitions = {} + end + if type( Coalitions ) ~= "table" then + Coalitions = { Coalitions } + end + for CoalitionID, Coalition in pairs( Coalitions ) do + self.Filter.Coalitions[Coalition] = Coalition + end + return self +end + + +--- Builds a set of airbases out of categories. +-- Possible current categories are plane, helicopter, ground, ship. +-- @param #SET_AIRBASE self +-- @param #string Categories Can take the following values: "airdrome", "helipad", "ship". +-- @return #SET_AIRBASE self +function SET_AIRBASE:FilterCategories( Categories ) + if not self.Filter.Categories then + self.Filter.Categories = {} + end + if type( Categories ) ~= "table" then + Categories = { Categories } + end + for CategoryID, Category in pairs( Categories ) do + self.Filter.Categories[Category] = Category + end + return self +end + +--- Starts the filtering. +-- @param #SET_AIRBASE self +-- @return #SET_AIRBASE self +function SET_AIRBASE:FilterStart() + + if _DATABASE then + self:_FilterStart() + end + + return self +end + + +--- Handles the Database to check on an event (birth) that the Object was added in the Database. +-- This is required, because sometimes the _DATABASE birth event gets called later than the SET_BASE birth event! +-- @param #SET_AIRBASE self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the AIRBASE +-- @return #table The AIRBASE +function SET_AIRBASE:AddInDatabase( Event ) + self:F3( { Event } ) + + return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] +end + +--- Handles the Database to check on any event that Object exists in the Database. +-- This is required, because sometimes the _DATABASE event gets called later than the SET_BASE event or vise versa! +-- @param #SET_AIRBASE self +-- @param Core.Event#EVENTDATA Event +-- @return #string The name of the AIRBASE +-- @return #table The AIRBASE +function SET_AIRBASE:FindInDatabase( Event ) + self:F3( { Event } ) + + return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] +end + +--- Iterate the SET_AIRBASE and call an interator function for each AIRBASE, providing the AIRBASE and optional parameters. +-- @param #SET_AIRBASE self +-- @param #function IteratorFunction The function that will be called when there is an alive AIRBASE in the SET_AIRBASE. The function needs to accept a AIRBASE parameter. +-- @return #SET_AIRBASE self +function SET_AIRBASE:ForEachAirbase( IteratorFunction, ... ) + self:F2( arg ) + + self:ForEach( IteratorFunction, arg, self.Set ) + + return self +end + +--- Iterate the SET_AIRBASE while identifying the nearest @{Airbase#AIRBASE} from a @{Point#POINT_VEC2}. +-- @param #SET_AIRBASE self +-- @param Core.Point#POINT_VEC2 PointVec2 A @{Point#POINT_VEC2} object from where to evaluate the closest @{Airbase#AIRBASE}. +-- @return Wrapper.Airbase#AIRBASE The closest @{Airbase#AIRBASE}. +function SET_AIRBASE:FindNearestAirbaseFromPointVec2( PointVec2 ) + self:F2( PointVec2 ) + + local NearestAirbase = self:FindNearestObjectFromPointVec2( PointVec2 ) + return NearestAirbase +end + + + +--- +-- @param #SET_AIRBASE self +-- @param Wrapper.Airbase#AIRBASE MAirbase +-- @return #SET_AIRBASE self +function SET_AIRBASE:IsIncludeObject( MAirbase ) + self:F2( MAirbase ) + + local MAirbaseInclude = true + + if MAirbase then + local MAirbaseName = MAirbase:GetName() + + if self.Filter.Coalitions then + local MAirbaseCoalition = false + for CoalitionID, CoalitionName in pairs( self.Filter.Coalitions ) do + local AirbaseCoalitionID = _DATABASE:GetCoalitionFromAirbase( MAirbaseName ) + self:T3( { "Coalition:", AirbaseCoalitionID, self.FilterMeta.Coalitions[CoalitionName], CoalitionName } ) + if self.FilterMeta.Coalitions[CoalitionName] and self.FilterMeta.Coalitions[CoalitionName] == AirbaseCoalitionID then + MAirbaseCoalition = true + end + end + self:T( { "Evaluated Coalition", MAirbaseCoalition } ) + MAirbaseInclude = MAirbaseInclude and MAirbaseCoalition + end + + if self.Filter.Categories then + local MAirbaseCategory = false + for CategoryID, CategoryName in pairs( self.Filter.Categories ) do + local AirbaseCategoryID = _DATABASE:GetCategoryFromAirbase( MAirbaseName ) + self:T3( { "Category:", AirbaseCategoryID, self.FilterMeta.Categories[CategoryName], CategoryName } ) + if self.FilterMeta.Categories[CategoryName] and self.FilterMeta.Categories[CategoryName] == AirbaseCategoryID then + MAirbaseCategory = true + end + end + self:T( { "Evaluated Category", MAirbaseCategory } ) + MAirbaseInclude = MAirbaseInclude and MAirbaseCategory + end + end + + self:T2( MAirbaseInclude ) + return MAirbaseInclude +end +--- **Core** - **POINT\_VEC** classes define an **extensive API** to **manage 3D points** in the simulation space. +-- +-- 1) @{Point#POINT_VEC3} class, extends @{Base#BASE} +-- ================================================== +-- The @{Point#POINT_VEC3} class defines a 3D point in the simulator. +-- +-- **Important Note:** Most of the functions in this section were taken from MIST, and reworked to OO concepts. +-- In order to keep the credibility of the the author, I want to emphasize that the of the MIST framework was created by Grimes, who you can find on the Eagle Dynamics Forums. +-- +-- ## 1.1) POINT_VEC3 constructor +-- +-- A new POINT_VEC3 instance can be created with: +-- +-- * @{Point#POINT_VEC3.New}(): a 3D point. +-- * @{Point#POINT_VEC3.NewFromVec3}(): a 3D point created from a @{DCSTypes#Vec3}. +-- +-- ## 1.2) Manupulate the X, Y, Z coordinates of the point +-- +-- A POINT_VEC3 class works in 3D space. It contains internally an X, Y, Z coordinate. +-- Methods exist to manupulate these coordinates. +-- +-- The current X, Y, Z axis can be retrieved with the methods @{#POINT_VEC3.GetX}(), @{#POINT_VEC3.GetY}(), @{#POINT_VEC3.GetZ}() respectively. +-- The methods @{#POINT_VEC3.SetX}(), @{#POINT_VEC3.SetY}(), @{#POINT_VEC3.SetZ}() change the respective axis with a new value. +-- The current axis values can be changed by using the methods @{#POINT_VEC3.AddX}(), @{#POINT_VEC3.AddY}(), @{#POINT_VEC3.AddZ}() +-- to add or substract a value from the current respective axis value. +-- Note that the Set and Add methods return the current POINT_VEC3 object, so these manipulation methods can be chained... For example: +-- +-- local Vec3 = PointVec3:AddX( 100 ):AddZ( 150 ):GetVec3() +-- +-- ## 1.3) Create waypoints for routes +-- +-- A POINT_VEC3 can prepare waypoints for Ground, Air and Naval groups to be embedded into a Route. +-- +-- +-- ## 1.5) Smoke, flare, explode, illuminate +-- +-- At the point a smoke, flare, explosion and illumination bomb can be triggered. Use the following methods: +-- +-- ### 1.5.1) Smoke +-- +-- * @{#POINT_VEC3.Smoke}(): To smoke the point in a certain color. +-- * @{#POINT_VEC3.SmokeBlue}(): To smoke the point in blue. +-- * @{#POINT_VEC3.SmokeRed}(): To smoke the point in red. +-- * @{#POINT_VEC3.SmokeOrange}(): To smoke the point in orange. +-- * @{#POINT_VEC3.SmokeWhite}(): To smoke the point in white. +-- * @{#POINT_VEC3.SmokeGreen}(): To smoke the point in green. +-- +-- ### 1.5.2) Flare +-- +-- * @{#POINT_VEC3.Flare}(): To flare the point in a certain color. +-- * @{#POINT_VEC3.FlareRed}(): To flare the point in red. +-- * @{#POINT_VEC3.FlareYellow}(): To flare the point in yellow. +-- * @{#POINT_VEC3.FlareWhite}(): To flare the point in white. +-- * @{#POINT_VEC3.FlareGreen}(): To flare the point in green. +-- +-- ### 1.5.3) Explode +-- +-- * @{#POINT_VEC3.Explosion}(): To explode the point with a certain intensity. +-- +-- ### 1.5.4) Illuminate +-- +-- * @{#POINT_VEC3.IlluminationBomb}(): To illuminate the point. +-- +-- +-- 2) @{Point#POINT_VEC2} class, extends @{Point#POINT_VEC3} +-- ========================================================= +-- The @{Point#POINT_VEC2} class defines a 2D point in the simulator. The height coordinate (if needed) will be the land height + an optional added height specified. +-- +-- 2.1) POINT_VEC2 constructor +-- --------------------------- +-- A new POINT_VEC2 instance can be created with: +-- +-- * @{Point#POINT_VEC2.New}(): a 2D point, taking an additional height parameter. +-- * @{Point#POINT_VEC2.NewFromVec2}(): a 2D point created from a @{DCSTypes#Vec2}. +-- +-- ## 1.2) Manupulate the X, Altitude, Y coordinates of the 2D point +-- +-- A POINT_VEC2 class works in 2D space, with an altitude setting. It contains internally an X, Altitude, Y coordinate. +-- Methods exist to manupulate these coordinates. +-- +-- The current X, Altitude, Y axis can be retrieved with the methods @{#POINT_VEC2.GetX}(), @{#POINT_VEC2.GetAlt}(), @{#POINT_VEC2.GetY}() respectively. +-- The methods @{#POINT_VEC2.SetX}(), @{#POINT_VEC2.SetAlt}(), @{#POINT_VEC2.SetY}() change the respective axis with a new value. +-- The current Lat(itude), Alt(itude), Lon(gitude) values can also be retrieved with the methods @{#POINT_VEC2.GetLat}(), @{#POINT_VEC2.GetAlt}(), @{#POINT_VEC2.GetLon}() respectively. +-- The current axis values can be changed by using the methods @{#POINT_VEC2.AddX}(), @{#POINT_VEC2.AddAlt}(), @{#POINT_VEC2.AddY}() +-- to add or substract a value from the current respective axis value. +-- Note that the Set and Add methods return the current POINT_VEC2 object, so these manipulation methods can be chained... For example: +-- +-- local Vec2 = PointVec2:AddX( 100 ):AddY( 2000 ):GetVec2() +-- +-- === +-- +-- **API CHANGE HISTORY** +-- ====================== +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-03-03: POINT\_VEC3:**Explosion( ExplosionIntensity )** added. +-- 2017-03-03: POINT\_VEC3:**IlluminationBomb()** added. +-- +-- 2017-02-18: POINT\_VEC3:**NewFromVec2( Vec2, LandHeightAdd )** added. +-- +-- 2016-08-12: POINT\_VEC3:**Translate( Distance, Angle )** added. +-- +-- 2016-08-06: Made PointVec3 and Vec3, PointVec2 and Vec2 terminology used in the code consistent. +-- +-- * Replaced method _Point_Vec3() to **Vec3**() where the code manages a Vec3. Replaced all references to the method. +-- * Replaced method _Point_Vec2() to **Vec2**() where the code manages a Vec2. Replaced all references to the method. +-- * Replaced method Random_Point_Vec3() to **RandomVec3**() where the code manages a Vec3. Replaced all references to the method. +-- . +-- === +-- +-- ### Authors: +-- +-- * FlightControl : Design & Programming +-- +-- ### Contributions: +-- +-- @module Point + +--- The POINT_VEC3 class +-- @type POINT_VEC3 +-- @field #number x The x coordinate in 3D space. +-- @field #number y The y coordinate in 3D space. +-- @field #number z The z coordiante in 3D space. +-- @field Utilities.Utils#SMOKECOLOR SmokeColor +-- @field Utilities.Utils#FLARECOLOR FlareColor +-- @field #POINT_VEC3.RoutePointAltType RoutePointAltType +-- @field #POINT_VEC3.RoutePointType RoutePointType +-- @field #POINT_VEC3.RoutePointAction RoutePointAction +-- @extends Core.Base#BASE +POINT_VEC3 = { + ClassName = "POINT_VEC3", + Metric = true, + RoutePointAltType = { + BARO = "BARO", + }, + RoutePointType = { + TakeOffParking = "TakeOffParking", + TurningPoint = "Turning Point", + }, + RoutePointAction = { + FromParkingArea = "From Parking Area", + TurningPoint = "Turning Point", + }, +} + +--- The POINT_VEC2 class +-- @type POINT_VEC2 +-- @field Dcs.DCSTypes#Distance x The x coordinate in meters. +-- @field Dcs.DCSTypes#Distance y the y coordinate in meters. +-- @extends Core.Point#POINT_VEC3 +POINT_VEC2 = { + ClassName = "POINT_VEC2", +} + + +do -- POINT_VEC3 + +--- RoutePoint AltTypes +-- @type POINT_VEC3.RoutePointAltType +-- @field BARO "BARO" + +--- RoutePoint Types +-- @type POINT_VEC3.RoutePointType +-- @field TakeOffParking "TakeOffParking" +-- @field TurningPoint "Turning Point" + +--- RoutePoint Actions +-- @type POINT_VEC3.RoutePointAction +-- @field FromParkingArea "From Parking Area" +-- @field TurningPoint "Turning Point" + +-- Constructor. + +--- Create a new POINT_VEC3 object. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Distance x The x coordinate of the Vec3 point, pointing to the North. +-- @param Dcs.DCSTypes#Distance y The y coordinate of the Vec3 point, pointing Upwards. +-- @param Dcs.DCSTypes#Distance z The z coordinate of the Vec3 point, pointing to the Right. +-- @return Core.Point#POINT_VEC3 self +function POINT_VEC3:New( x, y, z ) + + local self = BASE:Inherit( self, BASE:New() ) + self.x = x + self.y = y + self.z = z + + return self +end + +--- Create a new POINT_VEC3 object from Vec2 coordinates. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Vec2 Vec2 The Vec2 point. +-- @return Core.Point#POINT_VEC3 self +function POINT_VEC3:NewFromVec2( Vec2, LandHeightAdd ) + + local LandHeight = land.getHeight( Vec2 ) + + LandHeightAdd = LandHeightAdd or 0 + LandHeight = LandHeight + LandHeightAdd + + self = self:New( Vec2.x, LandHeight, Vec2.y ) + + self:F2( self ) + + return self +end + +--- Create a new POINT_VEC3 object from Vec3 coordinates. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Vec3 Vec3 The Vec3 point. +-- @return Core.Point#POINT_VEC3 self +function POINT_VEC3:NewFromVec3( Vec3 ) + + self = self:New( Vec3.x, Vec3.y, Vec3.z ) + self:F2( self ) + return self +end + + +--- Return the coordinates of the POINT_VEC3 in Vec3 format. +-- @param #POINT_VEC3 self +-- @return Dcs.DCSTypes#Vec3 The Vec3 coodinate. +function POINT_VEC3:GetVec3() + return { x = self.x, y = self.y, z = self.z } +end + +--- Return the coordinates of the POINT_VEC3 in Vec2 format. +-- @param #POINT_VEC3 self +-- @return Dcs.DCSTypes#Vec2 The Vec2 coodinate. +function POINT_VEC3:GetVec2() + return { x = self.x, y = self.z } +end + + +--- Return the x coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @return #number The x coodinate. +function POINT_VEC3:GetX() + return self.x +end + +--- Return the y coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @return #number The y coodinate. +function POINT_VEC3:GetY() + return self.y +end + +--- Return the z coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @return #number The z coodinate. +function POINT_VEC3:GetZ() + return self.z +end + +--- Set the x coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #number x The x coordinate. +-- @return #POINT_VEC3 +function POINT_VEC3:SetX( x ) + self.x = x + return self +end + +--- Set the y coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #number y The y coordinate. +-- @return #POINT_VEC3 +function POINT_VEC3:SetY( y ) + self.y = y + return self +end + +--- Set the z coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #number z The z coordinate. +-- @return #POINT_VEC3 +function POINT_VEC3:SetZ( z ) + self.z = z + return self +end + +--- Add to the x coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #number x The x coordinate value to add to the current x coodinate. +-- @return #POINT_VEC3 +function POINT_VEC3:AddX( x ) + self.x = self.x + x + return self +end + +--- Add to the y coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #number y The y coordinate value to add to the current y coodinate. +-- @return #POINT_VEC3 +function POINT_VEC3:AddY( y ) + self.y = self.y + y + return self +end + +--- Add to the z coordinate of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #number z The z coordinate value to add to the current z coodinate. +-- @return #POINT_VEC3 +function POINT_VEC3:AddZ( z ) + self.z = self.z +z + return self +end + +--- Return a random Vec2 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Distance OuterRadius +-- @param Dcs.DCSTypes#Distance InnerRadius +-- @return Dcs.DCSTypes#Vec2 Vec2 +function POINT_VEC3:GetRandomVec2InRadius( OuterRadius, InnerRadius ) + self:F2( { OuterRadius, InnerRadius } ) + + local Theta = 2 * math.pi * math.random() + local Radials = math.random() + math.random() + if Radials > 1 then + Radials = 2 - Radials + end + + local RadialMultiplier + if InnerRadius and InnerRadius <= OuterRadius then + RadialMultiplier = ( OuterRadius - InnerRadius ) * Radials + InnerRadius + else + RadialMultiplier = OuterRadius * Radials + end + + local RandomVec2 + if OuterRadius > 0 then + RandomVec2 = { x = math.cos( Theta ) * RadialMultiplier + self:GetX(), y = math.sin( Theta ) * RadialMultiplier + self:GetZ() } + else + RandomVec2 = { x = self:GetX(), y = self:GetZ() } + end + + return RandomVec2 +end + +--- Return a random POINT_VEC2 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Distance OuterRadius +-- @param Dcs.DCSTypes#Distance InnerRadius +-- @return #POINT_VEC2 +function POINT_VEC3:GetRandomPointVec2InRadius( OuterRadius, InnerRadius ) + self:F2( { OuterRadius, InnerRadius } ) + + return POINT_VEC2:NewFromVec2( self:GetRandomVec2InRadius( OuterRadius, InnerRadius ) ) +end + +--- Return a random Vec3 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Distance OuterRadius +-- @param Dcs.DCSTypes#Distance InnerRadius +-- @return Dcs.DCSTypes#Vec3 Vec3 +function POINT_VEC3:GetRandomVec3InRadius( OuterRadius, InnerRadius ) + + local RandomVec2 = self:GetRandomVec2InRadius( OuterRadius, InnerRadius ) + local y = self:GetY() + math.random( InnerRadius, OuterRadius ) + local RandomVec3 = { x = RandomVec2.x, y = y, z = RandomVec2.y } + + return RandomVec3 +end + +--- Return a random POINT_VEC3 within an Outer Radius and optionally NOT within an Inner Radius of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Distance OuterRadius +-- @param Dcs.DCSTypes#Distance InnerRadius +-- @return #POINT_VEC3 +function POINT_VEC3:GetRandomPointVec3InRadius( OuterRadius, InnerRadius ) + + return POINT_VEC3:NewFromVec3( self:GetRandomVec3InRadius( OuterRadius, InnerRadius ) ) +end + + +--- Return a direction vector Vec3 from POINT_VEC3 to the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #POINT_VEC3 TargetPointVec3 The target POINT_VEC3. +-- @return Dcs.DCSTypes#Vec3 DirectionVec3 The direction vector in Vec3 format. +function POINT_VEC3:GetDirectionVec3( TargetPointVec3 ) + return { x = TargetPointVec3:GetX() - self:GetX(), y = TargetPointVec3:GetY() - self:GetY(), z = TargetPointVec3:GetZ() - self:GetZ() } +end + +--- Get a correction in radians of the real magnetic north of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @return #number CorrectionRadians The correction in radians. +function POINT_VEC3:GetNorthCorrectionRadians() + local TargetVec3 = self:GetVec3() + local lat, lon = coord.LOtoLL(TargetVec3) + local north_posit = coord.LLtoLO(lat + 1, lon) + return math.atan2( north_posit.z - TargetVec3.z, north_posit.x - TargetVec3.x ) +end + + +--- Return a direction in radians from the POINT_VEC3 using a direction vector in Vec3 format. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Vec3 DirectionVec3 The direction vector in Vec3 format. +-- @return #number DirectionRadians The direction in radians. +function POINT_VEC3:GetDirectionRadians( DirectionVec3 ) + local DirectionRadians = math.atan2( DirectionVec3.z, DirectionVec3.x ) + --DirectionRadians = DirectionRadians + self:GetNorthCorrectionRadians() + if DirectionRadians < 0 then + DirectionRadians = DirectionRadians + 2 * math.pi -- put dir in range of 0 to 2*pi ( the full circle ) + end + return DirectionRadians +end + +--- Return the 2D distance in meters between the target POINT_VEC3 and the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #POINT_VEC3 TargetPointVec3 The target POINT_VEC3. +-- @return Dcs.DCSTypes#Distance Distance The distance in meters. +function POINT_VEC3:Get2DDistance( TargetPointVec3 ) + local TargetVec3 = TargetPointVec3:GetVec3() + local SourceVec3 = self:GetVec3() + return ( ( TargetVec3.x - SourceVec3.x ) ^ 2 + ( TargetVec3.z - SourceVec3.z ) ^ 2 ) ^ 0.5 +end + +--- Return the 3D distance in meters between the target POINT_VEC3 and the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #POINT_VEC3 TargetPointVec3 The target POINT_VEC3. +-- @return Dcs.DCSTypes#Distance Distance The distance in meters. +function POINT_VEC3:Get3DDistance( TargetPointVec3 ) + local TargetVec3 = TargetPointVec3:GetVec3() + local SourceVec3 = self:GetVec3() + return ( ( TargetVec3.x - SourceVec3.x ) ^ 2 + ( TargetVec3.y - SourceVec3.y ) ^ 2 + ( TargetVec3.z - SourceVec3.z ) ^ 2 ) ^ 0.5 +end + +--- Provides a Bearing / Range string +-- @param #POINT_VEC3 self +-- @param #number AngleRadians The angle in randians +-- @param #number Distance The distance +-- @return #string The BR Text +function POINT_VEC3:ToStringBR( AngleRadians, Distance ) + + AngleRadians = UTILS.Round( UTILS.ToDegree( AngleRadians ), 0 ) + if self:IsMetric() then + Distance = UTILS.Round( Distance / 1000, 2 ) + else + Distance = UTILS.Round( UTILS.MetersToNM( Distance ), 2 ) + end + + local s = string.format( '%03d', AngleRadians ) .. ' for ' .. Distance + + s = s .. self:GetAltitudeText() -- When the POINT is a VEC2, there will be no altitude shown. + + return s +end + +--- Provides a Bearing / Range string +-- @param #POINT_VEC3 self +-- @param #number AngleRadians The angle in randians +-- @param #number Distance The distance +-- @return #string The BR Text +function POINT_VEC3:ToStringLL( acc, DMS ) + + acc = acc or 3 + local lat, lon = coord.LOtoLL( self:GetVec3() ) + return UTILS.tostringLL(lat, lon, acc, DMS) +end + +--- Return the altitude text of the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @return #string Altitude text. +function POINT_VEC3:GetAltitudeText() + if self:IsMetric() then + return ' at ' .. UTILS.Round( self:GetY(), 0 ) + else + return ' at ' .. UTILS.Round( UTILS.MetersToFeet( self:GetY() ), 0 ) + end +end + +--- Return a BR string from a POINT_VEC3 to the POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param #POINT_VEC3 TargetPointVec3 The target POINT_VEC3. +-- @return #string The BR text. +function POINT_VEC3:GetBRText( TargetPointVec3 ) + local DirectionVec3 = self:GetDirectionVec3( TargetPointVec3 ) + local AngleRadians = self:GetDirectionRadians( DirectionVec3 ) + local Distance = self:Get2DDistance( TargetPointVec3 ) + return self:ToStringBR( AngleRadians, Distance ) +end + +--- Sets the POINT_VEC3 metric or NM. +-- @param #POINT_VEC3 self +-- @param #boolean Metric true means metric, false means NM. +function POINT_VEC3:SetMetric( Metric ) + self.Metric = Metric +end + +--- Gets if the POINT_VEC3 is metric or NM. +-- @param #POINT_VEC3 self +-- @return #boolean Metric true means metric, false means NM. +function POINT_VEC3:IsMetric() + return self.Metric +end + +--- Add a Distance in meters from the POINT_VEC3 horizontal plane, with the given angle, and calculate the new POINT_VEC3. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Distance Distance The Distance to be added in meters. +-- @param Dcs.DCSTypes#Angle Angle The Angle in degrees. +-- @return #POINT_VEC3 The new calculated POINT_VEC3. +function POINT_VEC3:Translate( Distance, Angle ) + local SX = self:GetX() + local SZ = self:GetZ() + local Radians = Angle / 180 * math.pi + local TX = Distance * math.cos( Radians ) + SX + local TZ = Distance * math.sin( Radians ) + SZ + + return POINT_VEC3:New( TX, self:GetY(), TZ ) +end + + + +--- Build an air type route point. +-- @param #POINT_VEC3 self +-- @param #POINT_VEC3.RoutePointAltType AltType The altitude type. +-- @param #POINT_VEC3.RoutePointType Type The route point type. +-- @param #POINT_VEC3.RoutePointAction Action The route point action. +-- @param Dcs.DCSTypes#Speed Speed Airspeed in km/h. +-- @param #boolean SpeedLocked true means the speed is locked. +-- @return #table The route point. +function POINT_VEC3:RoutePointAir( AltType, Type, Action, Speed, SpeedLocked ) + self:F2( { AltType, Type, Action, Speed, SpeedLocked } ) + + local RoutePoint = {} + RoutePoint.x = self.x + RoutePoint.y = self.z + RoutePoint.alt = self.y + RoutePoint.alt_type = AltType + + RoutePoint.type = Type + RoutePoint.action = Action + + RoutePoint.speed = Speed / 3.6 + RoutePoint.speed_locked = true + +-- ["task"] = +-- { +-- ["id"] = "ComboTask", +-- ["params"] = +-- { +-- ["tasks"] = +-- { +-- }, -- end of ["tasks"] +-- }, -- end of ["params"] +-- }, -- end of ["task"] + + + RoutePoint.task = {} + RoutePoint.task.id = "ComboTask" + RoutePoint.task.params = {} + RoutePoint.task.params.tasks = {} + + + return RoutePoint +end + +--- Build an ground type route point. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Speed Speed Speed in km/h. +-- @param #POINT_VEC3.RoutePointAction Formation The route point Formation. +-- @return #table The route point. +function POINT_VEC3:RoutePointGround( Speed, Formation ) + self:F2( { Formation, Speed } ) + + local RoutePoint = {} + RoutePoint.x = self.x + RoutePoint.y = self.z + + RoutePoint.action = Formation or "" + + + RoutePoint.speed = Speed / 3.6 + RoutePoint.speed_locked = true + +-- ["task"] = +-- { +-- ["id"] = "ComboTask", +-- ["params"] = +-- { +-- ["tasks"] = +-- { +-- }, -- end of ["tasks"] +-- }, -- end of ["params"] +-- }, -- end of ["task"] + + + RoutePoint.task = {} + RoutePoint.task.id = "ComboTask" + RoutePoint.task.params = {} + RoutePoint.task.params.tasks = {} + + + return RoutePoint +end + +--- Creates an explosion at the point of a certain intensity. +-- @param #POINT_VEC3 self +-- @param #number ExplosionIntensity +function POINT_VEC3:Explosion( ExplosionIntensity ) + self:F2( { ExplosionIntensity } ) + trigger.action.explosion( self:GetVec3(), ExplosionIntensity ) +end + +--- Creates an illumination bomb at the point. +-- @param #POINT_VEC3 self +function POINT_VEC3:IlluminationBomb() + self:F2() + trigger.action.illuminationBomb( self:GetVec3() ) +end + + +--- Smokes the point in a color. +-- @param #POINT_VEC3 self +-- @param Utilities.Utils#SMOKECOLOR SmokeColor +function POINT_VEC3:Smoke( SmokeColor ) + self:F2( { SmokeColor } ) + trigger.action.smoke( self:GetVec3(), SmokeColor ) +end + +--- Smoke the POINT_VEC3 Green. +-- @param #POINT_VEC3 self +function POINT_VEC3:SmokeGreen() + self:F2() + self:Smoke( SMOKECOLOR.Green ) +end + +--- Smoke the POINT_VEC3 Red. +-- @param #POINT_VEC3 self +function POINT_VEC3:SmokeRed() + self:F2() + self:Smoke( SMOKECOLOR.Red ) +end + +--- Smoke the POINT_VEC3 White. +-- @param #POINT_VEC3 self +function POINT_VEC3:SmokeWhite() + self:F2() + self:Smoke( SMOKECOLOR.White ) +end + +--- Smoke the POINT_VEC3 Orange. +-- @param #POINT_VEC3 self +function POINT_VEC3:SmokeOrange() + self:F2() + self:Smoke( SMOKECOLOR.Orange ) +end + +--- Smoke the POINT_VEC3 Blue. +-- @param #POINT_VEC3 self +function POINT_VEC3:SmokeBlue() + self:F2() + self:Smoke( SMOKECOLOR.Blue ) +end + +--- Flares the point in a color. +-- @param #POINT_VEC3 self +-- @param Utilities.Utils#FLARECOLOR FlareColor +-- @param Dcs.DCSTypes#Azimuth (optional) Azimuth The azimuth of the flare direction. The default azimuth is 0. +function POINT_VEC3:Flare( FlareColor, Azimuth ) + self:F2( { FlareColor } ) + trigger.action.signalFlare( self:GetVec3(), FlareColor, Azimuth and Azimuth or 0 ) +end + +--- Flare the POINT_VEC3 White. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Azimuth (optional) Azimuth The azimuth of the flare direction. The default azimuth is 0. +function POINT_VEC3:FlareWhite( Azimuth ) + self:F2( Azimuth ) + self:Flare( FLARECOLOR.White, Azimuth ) +end + +--- Flare the POINT_VEC3 Yellow. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Azimuth (optional) Azimuth The azimuth of the flare direction. The default azimuth is 0. +function POINT_VEC3:FlareYellow( Azimuth ) + self:F2( Azimuth ) + self:Flare( FLARECOLOR.Yellow, Azimuth ) +end + +--- Flare the POINT_VEC3 Green. +-- @param #POINT_VEC3 self +-- @param Dcs.DCSTypes#Azimuth (optional) Azimuth The azimuth of the flare direction. The default azimuth is 0. +function POINT_VEC3:FlareGreen( Azimuth ) + self:F2( Azimuth ) + self:Flare( FLARECOLOR.Green, Azimuth ) +end + +--- Flare the POINT_VEC3 Red. +-- @param #POINT_VEC3 self +function POINT_VEC3:FlareRed( Azimuth ) + self:F2( Azimuth ) + self:Flare( FLARECOLOR.Red, Azimuth ) +end + +end + +do -- POINT_VEC2 + + + +--- POINT_VEC2 constructor. +-- @param #POINT_VEC2 self +-- @param Dcs.DCSTypes#Distance x The x coordinate of the Vec3 point, pointing to the North. +-- @param Dcs.DCSTypes#Distance y The y coordinate of the Vec3 point, pointing to the Right. +-- @param Dcs.DCSTypes#Distance LandHeightAdd (optional) The default height if required to be evaluated will be the land height of the x, y coordinate. You can specify an extra height to be added to the land height. +-- @return Core.Point#POINT_VEC2 +function POINT_VEC2:New( x, y, LandHeightAdd ) + + local LandHeight = land.getHeight( { ["x"] = x, ["y"] = y } ) + + LandHeightAdd = LandHeightAdd or 0 + LandHeight = LandHeight + LandHeightAdd + + self = BASE:Inherit( self, POINT_VEC3:New( x, LandHeight, y ) ) + self:F2( self ) + + return self +end + +--- Create a new POINT_VEC2 object from Vec2 coordinates. +-- @param #POINT_VEC2 self +-- @param Dcs.DCSTypes#Vec2 Vec2 The Vec2 point. +-- @return Core.Point#POINT_VEC2 self +function POINT_VEC2:NewFromVec2( Vec2, LandHeightAdd ) + + local LandHeight = land.getHeight( Vec2 ) + + LandHeightAdd = LandHeightAdd or 0 + LandHeight = LandHeight + LandHeightAdd + + self = BASE:Inherit( self, POINT_VEC3:New( Vec2.x, LandHeight, Vec2.y ) ) + self:F2( self ) + + return self +end + +--- Create a new POINT_VEC2 object from Vec3 coordinates. +-- @param #POINT_VEC2 self +-- @param Dcs.DCSTypes#Vec3 Vec3 The Vec3 point. +-- @return Core.Point#POINT_VEC2 self +function POINT_VEC2:NewFromVec3( Vec3 ) + + local self = BASE:Inherit( self, BASE:New() ) + local Vec2 = { x = Vec3.x, y = Vec3.z } + + local LandHeight = land.getHeight( Vec2 ) + + self = BASE:Inherit( self, POINT_VEC3:New( Vec2.x, LandHeight, Vec2.y ) ) + self:F2( self ) + + return self +end + +--- Return the x coordinate of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @return #number The x coodinate. +function POINT_VEC2:GetX() + return self.x +end + +--- Return the y coordinate of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @return #number The y coodinate. +function POINT_VEC2:GetY() + return self.z +end + +--- Return the altitude (height) of the land at the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @return #number The land altitude. +function POINT_VEC2:GetAlt() + return land.getHeight( { x = self.x, y = self.z } ) +end + +--- Return Return the Lat(itude) coordinate of the POINT_VEC2 (ie: (parent)POINT_VEC3.x). +-- @param #POINT_VEC2 self +-- @return #number The x coodinate. +function POINT_VEC2:GetLat() + return self.x +end + +--- Return the Lon(gitude) coordinate of the POINT_VEC2 (ie: (parent)POINT_VEC3.z). +-- @param #POINT_VEC2 self +-- @return #number The y coodinate. +function POINT_VEC2:GetLon() + return self.z +end + +--- Set the x coordinate of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @param #number x The x coordinate. +-- @return #POINT_VEC2 +function POINT_VEC2:SetX( x ) + self.x = x + return self +end + +--- Set the y coordinate of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @param #number y The y coordinate. +-- @return #POINT_VEC2 +function POINT_VEC2:SetY( y ) + self.z = y + return self +end + +--- Set the Lat(itude) coordinate of the POINT_VEC2 (ie: POINT_VEC3.x). +-- @param #POINT_VEC2 self +-- @param #number x The x coordinate. +-- @return #POINT_VEC2 +function POINT_VEC2:SetLat( x ) + self.x = x + return self +end + +--- Set the altitude of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @param #number Altitude The land altitude. If nothing (nil) is given, then the current land altitude is set. +-- @return #POINT_VEC2 +function POINT_VEC2:SetAlt( Altitude ) + self.y = Altitude or land.getHeight( { x = self.x, y = self.z } ) + return self +end + +--- Set the Lon(gitude) coordinate of the POINT_VEC2 (ie: POINT_VEC3.z). +-- @param #POINT_VEC2 self +-- @param #number y The y coordinate. +-- @return #POINT_VEC2 +function POINT_VEC2:SetLon( z ) + self.z = z + return self +end + +--- Add to the x coordinate of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @param #number x The x coordinate. +-- @return #POINT_VEC2 +function POINT_VEC2:AddX( x ) + self.x = self.x + x + return self +end + +--- Add to the y coordinate of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @param #number y The y coordinate. +-- @return #POINT_VEC2 +function POINT_VEC2:AddY( y ) + self.z = self.z + y + return self +end + +--- Add to the current land height an altitude. +-- @param #POINT_VEC2 self +-- @param #number Altitude The Altitude to add. If nothing (nil) is given, then the current land altitude is set. +-- @return #POINT_VEC2 +function POINT_VEC2:AddAlt( Altitude ) + self.y = land.getHeight( { x = self.x, y = self.z } ) + Altitude or 0 + return self +end + + + +--- Calculate the distance from a reference @{#POINT_VEC2}. +-- @param #POINT_VEC2 self +-- @param #POINT_VEC2 PointVec2Reference The reference @{#POINT_VEC2}. +-- @return Dcs.DCSTypes#Distance The distance from the reference @{#POINT_VEC2} in meters. +function POINT_VEC2:DistanceFromPointVec2( PointVec2Reference ) + self:F2( PointVec2Reference ) + + local Distance = ( ( PointVec2Reference:GetX() - self:GetX() ) ^ 2 + ( PointVec2Reference:GetY() - self:GetY() ) ^2 ) ^0.5 + + self:T2( Distance ) + return Distance +end + +--- Calculate the distance from a reference @{DCSTypes#Vec2}. +-- @param #POINT_VEC2 self +-- @param Dcs.DCSTypes#Vec2 Vec2Reference The reference @{DCSTypes#Vec2}. +-- @return Dcs.DCSTypes#Distance The distance from the reference @{DCSTypes#Vec2} in meters. +function POINT_VEC2:DistanceFromVec2( Vec2Reference ) + self:F2( Vec2Reference ) + + local Distance = ( ( Vec2Reference.x - self:GetX() ) ^ 2 + ( Vec2Reference.y - self:GetY() ) ^2 ) ^0.5 + + self:T2( Distance ) + return Distance +end + + +--- Return no text for the altitude of the POINT_VEC2. +-- @param #POINT_VEC2 self +-- @return #string Empty string. +function POINT_VEC2:GetAltitudeText() + return '' +end + +--- Add a Distance in meters from the POINT_VEC2 orthonormal plane, with the given angle, and calculate the new POINT_VEC2. +-- @param #POINT_VEC2 self +-- @param Dcs.DCSTypes#Distance Distance The Distance to be added in meters. +-- @param Dcs.DCSTypes#Angle Angle The Angle in degrees. +-- @return #POINT_VEC2 The new calculated POINT_VEC2. +function POINT_VEC2:Translate( Distance, Angle ) + local SX = self:GetX() + local SY = self:GetY() + local Radians = Angle / 180 * math.pi + local TX = Distance * math.cos( Radians ) + SX + local TY = Distance * math.sin( Radians ) + SY + + return POINT_VEC2:New( TX, TY ) +end + +end + + +--- **Core** - MESSAGE class takes are of the **real-time notifications** and **messages to players** during a simulation. +-- +-- ![Banner Image](..\Presentations\MESSAGE\Dia1.JPG) +-- +-- === +-- +-- # 1) @{Message#MESSAGE} class, extends @{Base#BASE} +-- +-- Message System to display Messages to Clients, Coalitions or All. +-- Messages are shown on the display panel for an amount of seconds, and will then disappear. +-- Messages can contain a category which is indicating the category of the message. +-- +-- ## 1.1) MESSAGE construction +-- +-- Messages are created with @{Message#MESSAGE.New}. Note that when the MESSAGE object is created, no message is sent yet. +-- To send messages, you need to use the To functions. +-- +-- ## 1.2) Send messages to an audience +-- +-- Messages are sent: +-- +-- * To a @{Client} using @{Message#MESSAGE.ToClient}(). +-- * To a @{Group} using @{Message#MESSAGE.ToGroup}() +-- * To a coalition using @{Message#MESSAGE.ToCoalition}(). +-- * To the red coalition using @{Message#MESSAGE.ToRed}(). +-- * To the blue coalition using @{Message#MESSAGE.ToBlue}(). +-- * To all Players using @{Message#MESSAGE.ToAll}(). +-- +-- ## 1.3) Send conditionally to an audience +-- +-- Messages can be sent conditionally to an audience (when a condition is true): +-- +-- * To all players using @{Message#MESSAGE.ToAllIf}(). +-- * To a coalition using @{Message#MESSAGE.ToCoalitionIf}(). +-- +-- +-- @module Message + +--- The MESSAGE class +-- @type MESSAGE +-- @extends Core.Base#BASE +MESSAGE = { + ClassName = "MESSAGE", + MessageCategory = 0, + MessageID = 0, +} + + +--- Creates a new MESSAGE object. Note that these MESSAGE objects are not yet displayed on the display panel. You must use the functions @{ToClient} or @{ToCoalition} or @{ToAll} to send these Messages to the respective recipients. +-- @param self +-- @param #string MessageText is the text of the Message. +-- @param #number MessageDuration is a number in seconds of how long the MESSAGE should be shown on the display panel. +-- @param #string MessageCategory (optional) is a string expressing the "category" of the Message. The category will be shown as the first text in the message followed by a ": ". +-- @return #MESSAGE +-- @usage +-- -- Create a series of new Messages. +-- -- MessageAll is meant to be sent to all players, for 25 seconds, and is classified as "Score". +-- -- MessageRED is meant to be sent to the RED players only, for 10 seconds, and is classified as "End of Mission", with ID "Win". +-- -- MessageClient1 is meant to be sent to a Client, for 25 seconds, and is classified as "Score", with ID "Score". +-- -- MessageClient1 is meant to be sent to a Client, for 25 seconds, and is classified as "Score", with ID "Score". +-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", 25, "End of Mission" ) +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", 25, "Penalty" ) +-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", 25, "Score" ) +-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", 25, "Score") +function MESSAGE:New( MessageText, MessageDuration, MessageCategory ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { MessageText, MessageDuration, MessageCategory } ) + + -- When no MessageCategory is given, we don't show it as a title... + if MessageCategory and MessageCategory ~= "" then + if MessageCategory:sub(-1) ~= "\n" then + self.MessageCategory = MessageCategory .. ": " + else + self.MessageCategory = MessageCategory:sub( 1, -2 ) .. ":\n" + end + else + self.MessageCategory = "" + end + + self.MessageDuration = MessageDuration or 5 + self.MessageTime = timer.getTime() + self.MessageText = MessageText + + self.MessageSent = false + self.MessageGroup = false + self.MessageCoalition = false + + return self +end + +--- Sends a MESSAGE to a Client Group. Note that the Group needs to be defined within the ME with the skillset "Client" or "Player". +-- @param #MESSAGE self +-- @param Wrapper.Client#CLIENT Client is the Group of the Client. +-- @return #MESSAGE +-- @usage +-- -- Send the 2 messages created with the @{New} method to the Client Group. +-- -- Note that the Message of MessageClient2 is overwriting the Message of MessageClient1. +-- ClientGroup = Group.getByName( "ClientGroup" ) +-- +-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- or +-- MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- or +-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ) +-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ) +-- MessageClient1:ToClient( ClientGroup ) +-- MessageClient2:ToClient( ClientGroup ) +function MESSAGE:ToClient( Client ) + self:F( Client ) + + if Client and Client:GetClientGroupID() then + + local ClientGroupID = Client:GetClientGroupID() + self:T( self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$","") .. " / " .. self.MessageDuration ) + trigger.action.outTextForGroup( ClientGroupID, self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration ) + end + + return self +end + +--- Sends a MESSAGE to a Group. +-- @param #MESSAGE self +-- @param Wrapper.Group#GROUP Group is the Group. +-- @return #MESSAGE +function MESSAGE:ToGroup( Group ) + self:F( Group.GroupName ) + + if Group then + + self:T( self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$","") .. " / " .. self.MessageDuration ) + trigger.action.outTextForGroup( Group:GetID(), self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration ) + end + + return self +end +--- Sends a MESSAGE to the Blue coalition. +-- @param #MESSAGE self +-- @return #MESSAGE +-- @usage +-- -- Send a message created with the @{New} method to the BLUE coalition. +-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToBlue() +-- or +-- MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToBlue() +-- or +-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ) +-- MessageBLUE:ToBlue() +function MESSAGE:ToBlue() + self:F() + + self:ToCoalition( coalition.side.BLUE ) + + return self +end + +--- Sends a MESSAGE to the Red Coalition. +-- @param #MESSAGE self +-- @return #MESSAGE +-- @usage +-- -- Send a message created with the @{New} method to the RED coalition. +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToRed() +-- or +-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToRed() +-- or +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ) +-- MessageRED:ToRed() +function MESSAGE:ToRed( ) + self:F() + + self:ToCoalition( coalition.side.RED ) + + return self +end + +--- Sends a MESSAGE to a Coalition. +-- @param #MESSAGE self +-- @param CoalitionSide needs to be filled out by the defined structure of the standard scripting engine @{coalition.side}. +-- @return #MESSAGE +-- @usage +-- -- Send a message created with the @{New} method to the RED coalition. +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToCoalition( coalition.side.RED ) +-- or +-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToCoalition( coalition.side.RED ) +-- or +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ) +-- MessageRED:ToCoalition( coalition.side.RED ) +function MESSAGE:ToCoalition( CoalitionSide ) + self:F( CoalitionSide ) + + if CoalitionSide then + self:T( self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$","") .. " / " .. self.MessageDuration ) + trigger.action.outTextForCoalition( CoalitionSide, self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration ) + end + + return self +end + +--- Sends a MESSAGE to a Coalition if the given Condition is true. +-- @param #MESSAGE self +-- @param CoalitionSide needs to be filled out by the defined structure of the standard scripting engine @{coalition.side}. +-- @return #MESSAGE +function MESSAGE:ToCoalitionIf( CoalitionSide, Condition ) + self:F( CoalitionSide ) + + if Condition and Condition == true then + self:ToCoalition( CoalitionSide ) + end + + return self +end + +--- Sends a MESSAGE to all players. +-- @param #MESSAGE self +-- @return #MESSAGE +-- @usage +-- -- Send a message created to all players. +-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ):ToAll() +-- or +-- MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ):ToAll() +-- or +-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ) +-- MessageAll:ToAll() +function MESSAGE:ToAll() + self:F() + + self:ToCoalition( coalition.side.RED ) + self:ToCoalition( coalition.side.BLUE ) + + return self +end + + +--- Sends a MESSAGE to all players if the given Condition is true. +-- @param #MESSAGE self +-- @return #MESSAGE +function MESSAGE:ToAllIf( Condition ) + + if Condition and Condition == true then + self:ToCoalition( coalition.side.RED ) + self:ToCoalition( coalition.side.BLUE ) + end + + return self +end +--- **Core** - The **FSM** (**F**inite **S**tate **M**achine) class and derived **FSM\_** classes +-- are design patterns allowing efficient (long-lasting) processes and workflows. +-- +-- ![Banner Image](..\Presentations\FSM\Dia1.JPG) +-- +-- === +-- +-- A FSM can only be in one of a finite number of states. +-- The machine is in only one state at a time; the state it is in at any given time is called the **current state**. +-- It can change from one state to another when initiated by an **__internal__ or __external__ triggering event**, which is called a **transition**. +-- An **FSM implementation** is defined by **a list of its states**, **its initial state**, and **the triggering events** for **each possible transition**. +-- An FSM implementation is composed out of **two parts**, a set of **state transition rules**, and an implementation set of **state transition handlers**, implementing those transitions. +-- +-- The FSM class supports a **hierarchical implementation of a Finite State Machine**, +-- that is, it allows to **embed existing FSM implementations in a master FSM**. +-- FSM hierarchies allow for efficient FSM re-use, **not having to re-invent the wheel every time again** when designing complex processes. +-- +-- ![Workflow Example](..\Presentations\FSM\Dia2.JPG) +-- +-- The above diagram shows a graphical representation of a FSM implementation for a **Task**, which guides a Human towards a Zone, +-- orders him to destroy x targets and account the results. +-- Other examples of ready made FSM could be: +-- +-- * route a plane to a zone flown by a human +-- * detect targets by an AI and report to humans +-- * account for destroyed targets by human players +-- * handle AI infantry to deploy from or embark to a helicopter or airplane or vehicle +-- * let an AI patrol a zone +-- +-- The **MOOSE framework** uses extensively the FSM class and derived FSM\_ classes, +-- because **the goal of MOOSE is to simplify mission design complexity for mission building**. +-- By efficiently utilizing the FSM class and derived classes, MOOSE allows mission designers to quickly build processes. +-- **Ready made FSM-based implementations classes** exist within the MOOSE framework that **can easily be re-used, +-- and tailored** by mission designers through **the implementation of Transition Handlers**. +-- Each of these FSM implementation classes start either with: +-- +-- * an acronym **AI\_**, which indicates an FSM implementation directing **AI controlled** @{GROUP} and/or @{UNIT}. These AI\_ classes derive the @{#FSM_CONTROLLABLE} class. +-- * an acronym **TASK\_**, which indicates an FSM implementation executing a @{TASK} executed by Groups of players. These TASK\_ classes derive the @{#FSM_TASK} class. +-- * an acronym **ACT\_**, which indicates an Sub-FSM implementation, directing **Humans actions** that need to be done in a @{TASK}, seated in a @{CLIENT} (slot) or a @{UNIT} (CA join). These ACT\_ classes derive the @{#FSM_PROCESS} class. +-- +-- Detailed explanations and API specifics are further below clarified and FSM derived class specifics are described in those class documentation sections. +-- +-- ##__Dislaimer:__ +-- The FSM class development is based on a finite state machine implementation made by Conroy Kyle. +-- The state machine can be found on [github](https://github.com/kyleconroy/lua-state-machine) +-- I've reworked this development (taken the concept), and created a **hierarchical state machine** out of it, embedded within the DCS simulator. +-- Additionally, I've added extendability and created an API that allows seamless FSM implementation. +-- +-- The following derived classes are available in the MOOSE framework, that implement a specialised form of a FSM: +-- +-- * @{#FSM_TASK}: Models Finite State Machines for @{Task}s. +-- * @{#FSM_PROCESS}: Models Finite State Machines for @{Task} actions, which control @{Client}s. +-- * @{#FSM_CONTROLLABLE}: Models Finite State Machines for @{Controllable}s, which are @{Group}s, @{Unit}s, @{Client}s. +-- * @{#FSM_SET}: Models Finite State Machines for @{Set}s. Note that these FSMs control multiple objects!!! So State concerns here +-- for multiple objects or the position of the state machine in the process. +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- YYYY-MM-DD: CLASS:**NewFunction**( Params ) replaces CLASS:_OldFunction_( Params ) +-- YYYY-MM-DD: CLASS:**NewFunction( Params )** added +-- +-- Hereby the change log: +-- +-- * 2016-12-18: Released. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * [**Pikey**](https://forums.eagle.ru/member.php?u=62835): Review of documentation & advice for improvements. +-- +-- ### Authors: +-- +-- * [**FlightControl**](https://forums.eagle.ru/member.php?u=89536): Design & Programming & documentation. +-- +-- @module Fsm + +do -- FSM + + --- @type FSM + -- @extends Core.Base#BASE + + + --- # 1) FSM class, extends @{Base#BASE} + -- + -- ![Transition Rules and Transition Handlers and Event Triggers](..\Presentations\FSM\Dia3.JPG) + -- + -- The FSM class is the base class of all FSM\_ derived classes. It implements the main functionality to define and execute Finite State Machines. + -- The derived FSM\_ classes extend the Finite State Machine functionality to run a workflow process for a specific purpose or component. + -- + -- Finite State Machines have **Transition Rules**, **Transition Handlers** and **Event Triggers**. + -- + -- The **Transition Rules** define the "Process Flow Boundaries", that is, + -- the path that can be followed hopping from state to state upon triggered events. + -- If an event is triggered, and there is no valid path found for that event, + -- an error will be raised and the FSM will stop functioning. + -- + -- The **Transition Handlers** are special methods that can be defined by the mission designer, following a defined syntax. + -- If the FSM object finds a method of such a handler, then the method will be called by the FSM, passing specific parameters. + -- The method can then define its own custom logic to implement the FSM workflow, and to conduct other actions. + -- + -- The **Event Triggers** are methods that are defined by the FSM, which the mission designer can use to implement the workflow. + -- Most of the time, these Event Triggers are used within the Transition Handler methods, so that a workflow is created running through the state machine. + -- + -- As explained above, a FSM supports **Linear State Transitions** and **Hierarchical State Transitions**, and both can be mixed to make a comprehensive FSM implementation. + -- The below documentation has a seperate chapter explaining both transition modes, taking into account the **Transition Rules**, **Transition Handlers** and **Event Triggers**. + -- + -- ## 1.1) FSM Linear Transitions + -- + -- Linear Transitions are Transition Rules allowing an FSM to transition from one or multiple possible **From** state(s) towards a **To** state upon a Triggered **Event**. + -- The Lineair transition rule evaluation will always be done from the **current state** of the FSM. + -- If no valid Transition Rule can be found in the FSM, the FSM will log an error and stop. + -- + -- ### 1.1.1) FSM Transition Rules + -- + -- The FSM has transition rules that it follows and validates, as it walks the process. + -- These rules define when an FSM can transition from a specific state towards an other specific state upon a triggered event. + -- + -- The method @{#FSM.AddTransition}() specifies a new possible Transition Rule for the FSM. + -- + -- The initial state can be defined using the method @{#FSM.SetStartState}(). The default start state of an FSM is "None". + -- + -- Find below an example of a Linear Transition Rule definition for an FSM. + -- + -- local Fsm3Switch = FSM:New() -- #FsmDemo + -- FsmSwitch:SetStartState( "Off" ) + -- FsmSwitch:AddTransition( "Off", "SwitchOn", "On" ) + -- FsmSwitch:AddTransition( "Off", "SwitchMiddle", "Middle" ) + -- FsmSwitch:AddTransition( "On", "SwitchOff", "Off" ) + -- FsmSwitch:AddTransition( "Middle", "SwitchOff", "Off" ) + -- + -- The above code snippet models a 3-way switch Linear Transition: + -- + -- * It can be switched **On** by triggering event **SwitchOn**. + -- * It can be switched to the **Middle** position, by triggering event **SwitchMiddle**. + -- * It can be switched **Off** by triggering event **SwitchOff**. + -- * Note that once the Switch is **On** or **Middle**, it can only be switched **Off**. + -- + -- ### Some additional comments: + -- + -- Note that Linear Transition Rules **can be declared in a few variations**: + -- + -- * The From states can be **a table of strings**, indicating that the transition rule will be valid **if the current state** of the FSM will be **one of the given From states**. + -- * The From state can be a **"*"**, indicating that **the transition rule will always be valid**, regardless of the current state of the FSM. + -- + -- The below code snippet shows how the two last lines can be rewritten and consensed. + -- + -- FsmSwitch:AddTransition( { "On", "Middle" }, "SwitchOff", "Off" ) + -- + -- ### 1.1.2) Transition Handling + -- + -- ![Transition Handlers](..\Presentations\FSM\Dia4.JPG) + -- + -- An FSM transitions in **4 moments** when an Event is being triggered and processed. + -- The mission designer can define for each moment specific logic within methods implementations following a defined API syntax. + -- These methods define the flow of the FSM process; because in those methods the FSM Internal Events will be triggered. + -- + -- * To handle **State** transition moments, create methods starting with OnLeave or OnEnter concatenated with the State name. + -- * To handle **Event** transition moments, create methods starting with OnBefore or OnAfter concatenated with the Event name. + -- + -- **The OnLeave and OnBefore transition methods may return false, which will cancel the transition!** + -- + -- Transition Handler methods need to follow the above specified naming convention, but are also passed parameters from the FSM. + -- These parameters are on the correct order: From, Event, To: + -- + -- * From = A string containing the From state. + -- * Event = A string containing the Event name that was triggered. + -- * To = A string containing the To state. + -- + -- On top, each of these methods can have a variable amount of parameters passed. See the example in section [1.1.3](#1.1.3\)-event-triggers). + -- + -- ### 1.1.3) Event Triggers + -- + -- ![Event Triggers](..\Presentations\FSM\Dia5.JPG) + -- + -- The FSM creates for each Event two **Event Trigger methods**. + -- There are two modes how Events can be triggered, which is **synchronous** and **asynchronous**: + -- + -- * The method **FSM:Event()** triggers an Event that will be processed **synchronously** or **immediately**. + -- * The method **FSM:__Event( __seconds__ )** triggers an Event that will be processed **asynchronously** over time, waiting __x seconds__. + -- + -- The destinction between these 2 Event Trigger methods are important to understand. An asynchronous call will "log" the Event Trigger to be executed at a later time. + -- Processing will just continue. Synchronous Event Trigger methods are useful to change states of the FSM immediately, but may have a larger processing impact. + -- + -- The following example provides a little demonstration on the difference between synchronous and asynchronous Event Triggering. + -- + -- function FSM:OnAfterEvent( From, Event, To, Amount ) + -- self:T( { Amount = Amount } ) + -- end + -- + -- local Amount = 1 + -- FSM:__Event( 5, Amount ) + -- + -- Amount = Amount + 1 + -- FSM:Event( Text, Amount ) + -- + -- In this example, the **:OnAfterEvent**() Transition Handler implementation will get called when **Event** is being triggered. + -- Before we go into more detail, let's look at the last 4 lines of the example. + -- The last line triggers synchronously the **Event**, and passes Amount as a parameter. + -- The 3rd last line of the example triggers asynchronously **Event**. + -- Event will be processed after 5 seconds, and Amount is given as a parameter. + -- + -- The output of this little code fragment will be: + -- + -- * Amount = 2 + -- * Amount = 2 + -- + -- Because ... When Event was asynchronously processed after 5 seconds, Amount was set to 2. So be careful when processing and passing values and objects in asynchronous processing! + -- + -- ### 1.1.4) Linear Transition Example + -- + -- This example is fully implemented in the MOOSE test mission on GITHUB: [FSM-100 - Transition Explanation](https://github.com/FlightControl-Master/MOOSE/blob/master/Moose%20Test%20Missions/FSM%20-%20Finite%20State%20Machine/FSM-100%20-%20Transition%20Explanation/FSM-100%20-%20Transition%20Explanation.lua) + -- + -- It models a unit standing still near Batumi, and flaring every 5 seconds while switching between a Green flare and a Red flare. + -- The purpose of this example is not to show how exciting flaring is, but it demonstrates how a Linear Transition FSM can be build. + -- Have a look at the source code. The source code is also further explained below in this section. + -- + -- The example creates a new FsmDemo object from class FSM. + -- It will set the start state of FsmDemo to state **Green**. + -- Two Linear Transition Rules are created, where upon the event **Switch**, + -- the FsmDemo will transition from state **Green** to **Red** and from **Red** back to **Green**. + -- + -- ![Transition Example](..\Presentations\FSM\Dia6.JPG) + -- + -- local FsmDemo = FSM:New() -- #FsmDemo + -- FsmDemo:SetStartState( "Green" ) + -- FsmDemo:AddTransition( "Green", "Switch", "Red" ) + -- FsmDemo:AddTransition( "Red", "Switch", "Green" ) + -- + -- In the above example, the FsmDemo could flare every 5 seconds a Green or a Red flare into the air. + -- The next code implements this through the event handling method **OnAfterSwitch**. + -- + -- ![Transition Flow](..\Presentations\FSM\Dia7.JPG) + -- + -- function FsmDemo:OnAfterSwitch( From, Event, To, FsmUnit ) + -- self:T( { From, Event, To, FsmUnit } ) + -- + -- if From == "Green" then + -- FsmUnit:Flare(FLARECOLOR.Green) + -- else + -- if From == "Red" then + -- FsmUnit:Flare(FLARECOLOR.Red) + -- end + -- end + -- self:__Switch( 5, FsmUnit ) -- Trigger the next Switch event to happen in 5 seconds. + -- end + -- + -- FsmDemo:__Switch( 5, FsmUnit ) -- Trigger the first Switch event to happen in 5 seconds. + -- + -- The OnAfterSwitch implements a loop. The last line of the code fragment triggers the Switch Event within 5 seconds. + -- Upon the event execution (after 5 seconds), the OnAfterSwitch method is called of FsmDemo (cfr. the double point notation!!! ":"). + -- The OnAfterSwitch method receives from the FSM the 3 transition parameter details ( From, Event, To ), + -- and one additional parameter that was given when the event was triggered, which is in this case the Unit that is used within OnSwitchAfter. + -- + -- function FsmDemo:OnAfterSwitch( From, Event, To, FsmUnit ) + -- + -- For debugging reasons the received parameters are traced within the DCS.log. + -- + -- self:T( { From, Event, To, FsmUnit } ) + -- + -- The method will check if the From state received is either "Green" or "Red" and will flare the respective color from the FsmUnit. + -- + -- if From == "Green" then + -- FsmUnit:Flare(FLARECOLOR.Green) + -- else + -- if From == "Red" then + -- FsmUnit:Flare(FLARECOLOR.Red) + -- end + -- end + -- + -- It is important that the Switch event is again triggered, otherwise, the FsmDemo would stop working after having the first Event being handled. + -- + -- FsmDemo:__Switch( 5, FsmUnit ) -- Trigger the next Switch event to happen in 5 seconds. + -- + -- The below code fragment extends the FsmDemo, demonstrating multiple **From states declared as a table**, adding a **Linear Transition Rule**. + -- The new event **Stop** will cancel the Switching process. + -- The transition for event Stop can be executed if the current state of the FSM is either "Red" or "Green". + -- + -- local FsmDemo = FSM:New() -- #FsmDemo + -- FsmDemo:SetStartState( "Green" ) + -- FsmDemo:AddTransition( "Green", "Switch", "Red" ) + -- FsmDemo:AddTransition( "Red", "Switch", "Green" ) + -- FsmDemo:AddTransition( { "Red", "Green" }, "Stop", "Stopped" ) + -- + -- The transition for event Stop can also be simplified, as any current state of the FSM is valid. + -- + -- FsmDemo:AddTransition( "*", "Stop", "Stopped" ) + -- + -- So... When FsmDemo:Stop() is being triggered, the state of FsmDemo will transition from Red or Green to Stopped. + -- And there is no transition handling method defined for that transition, thus, no new event is being triggered causing the FsmDemo process flow to halt. + -- + -- ## 1.5) FSM Hierarchical Transitions + -- + -- Hierarchical Transitions allow to re-use readily available and implemented FSMs. + -- This becomes in very useful for mission building, where mission designers build complex processes and workflows, + -- combining smaller FSMs to one single FSM. + -- + -- The FSM can embed **Sub-FSMs** that will execute and return **multiple possible Return (End) States**. + -- Depending upon **which state is returned**, the main FSM can continue the flow **triggering specific events**. + -- + -- The method @{#FSM.AddProcess}() adds a new Sub-FSM to the FSM. + -- + -- === + -- + -- @field #FSM FSM + -- + FSM = { + ClassName = "FSM", + } + + --- Creates a new FSM object. + -- @param #FSM self + -- @return #FSM + function FSM:New( FsmT ) + + -- Inherits from BASE + self = BASE:Inherit( self, BASE:New() ) + + self.options = options or {} + self.options.subs = self.options.subs or {} + self.current = self.options.initial or 'none' + self.Events = {} + self.subs = {} + self.endstates = {} + + self.Scores = {} + + self._StartState = "none" + self._Transitions = {} + self._Processes = {} + self._EndStates = {} + self._Scores = {} + self._EventSchedules = {} + + self.CallScheduler = SCHEDULER:New( self ) + + + return self + end + + + --- Sets the start state of the FSM. + -- @param #FSM self + -- @param #string State A string defining the start state. + function FSM:SetStartState( State ) + + self._StartState = State + self.current = State + end + + + --- Returns the start state of the FSM. + -- @param #FSM self + -- @return #string A string containing the start state. + function FSM:GetStartState() + + return self._StartState or {} + end + + --- Add a new transition rule to the FSM. + -- A transition rule defines when and if the FSM can transition from a state towards another state upon a triggered event. + -- @param #FSM self + -- @param #table From Can contain a string indicating the From state or a table of strings containing multiple From states. + -- @param #string Event The Event name. + -- @param #string To The To state. + function FSM:AddTransition( From, Event, To ) + + local Transition = {} + Transition.From = From + Transition.Event = Event + Transition.To = To + + self:T( Transition ) + + self._Transitions[Transition] = Transition + self:_eventmap( self.Events, Transition ) + end + + + --- Returns a table of the transition rules defined within the FSM. + -- @return #table + function FSM:GetTransitions() + + return self._Transitions or {} + end + + --- Set the default @{Process} template with key ProcessName providing the ProcessClass and the process object when it is assigned to a @{Controllable} by the task. + -- @param #FSM self + -- @param #table From Can contain a string indicating the From state or a table of strings containing multiple From states. + -- @param #string Event The Event name. + -- @param Core.Fsm#FSM_PROCESS Process An sub-process FSM. + -- @param #table ReturnEvents A table indicating for which returned events of the SubFSM which Event must be triggered in the FSM. + -- @return Core.Fsm#FSM_PROCESS The SubFSM. + function FSM:AddProcess( From, Event, Process, ReturnEvents ) + self:T( { From, Event, Process, ReturnEvents } ) + + local Sub = {} + Sub.From = From + Sub.Event = Event + Sub.fsm = Process + Sub.StartEvent = "Start" + Sub.ReturnEvents = ReturnEvents + + self._Processes[Sub] = Sub + + self:_submap( self.subs, Sub, nil ) + + self:AddTransition( From, Event, From ) + + return Process + end + + + --- Returns a table of the SubFSM rules defined within the FSM. + -- @return #table + function FSM:GetProcesses() + + return self._Processes or {} + end + + function FSM:GetProcess( From, Event ) + + for ProcessID, Process in pairs( self:GetProcesses() ) do + if Process.From == From and Process.Event == Event then + return Process.fsm + end + end + + error( "Sub-Process from state " .. From .. " with event " .. Event .. " not found!" ) + end + + --- Adds an End state. + function FSM:AddEndState( State ) + + self._EndStates[State] = State + self.endstates[State] = State + end + + --- Returns the End states. + function FSM:GetEndStates() + + return self._EndStates or {} + end + + + --- Adds a score for the FSM to be achieved. + -- @param #FSM self + -- @param #string State is the state of the process when the score needs to be given. (See the relevant state descriptions of the process). + -- @param #string ScoreText is a text describing the score that is given according the status. + -- @param #number Score is a number providing the score of the status. + -- @return #FSM self + function FSM:AddScore( State, ScoreText, Score ) + self:F( { State, ScoreText, Score } ) + + self._Scores[State] = self._Scores[State] or {} + self._Scores[State].ScoreText = ScoreText + self._Scores[State].Score = Score + + return self + end + + --- Adds a score for the FSM_PROCESS to be achieved. + -- @param #FSM self + -- @param #string From is the From State of the main process. + -- @param #string Event is the Event of the main process. + -- @param #string State is the state of the process when the score needs to be given. (See the relevant state descriptions of the process). + -- @param #string ScoreText is a text describing the score that is given according the status. + -- @param #number Score is a number providing the score of the status. + -- @return #FSM self + function FSM:AddScoreProcess( From, Event, State, ScoreText, Score ) + self:F( { From, Event, State, ScoreText, Score } ) + + local Process = self:GetProcess( From, Event ) + + Process._Scores[State] = Process._Scores[State] or {} + Process._Scores[State].ScoreText = ScoreText + Process._Scores[State].Score = Score + + self:T( Process._Scores ) + + return Process + end + + --- Returns a table with the scores defined. + function FSM:GetScores() + + return self._Scores or {} + end + + --- Returns a table with the Subs defined. + function FSM:GetSubs() + + return self.options.subs + end + + + function FSM:LoadCallBacks( CallBackTable ) + + for name, callback in pairs( CallBackTable or {} ) do + self[name] = callback + end + + end + + function FSM:_eventmap( Events, EventStructure ) + + local Event = EventStructure.Event + local __Event = "__" .. EventStructure.Event + self[Event] = self[Event] or self:_create_transition(Event) + self[__Event] = self[__Event] or self:_delayed_transition(Event) + self:T( "Added methods: " .. Event .. ", " .. __Event ) + Events[Event] = self.Events[Event] or { map = {} } + self:_add_to_map( Events[Event].map, EventStructure ) + + end + + function FSM:_submap( subs, sub, name ) + self:F( { sub = sub, name = name } ) + subs[sub.From] = subs[sub.From] or {} + subs[sub.From][sub.Event] = subs[sub.From][sub.Event] or {} + + -- Make the reference table weak. + -- setmetatable( subs[sub.From][sub.Event], { __mode = "k" } ) + + subs[sub.From][sub.Event][sub] = {} + subs[sub.From][sub.Event][sub].fsm = sub.fsm + subs[sub.From][sub.Event][sub].StartEvent = sub.StartEvent + subs[sub.From][sub.Event][sub].ReturnEvents = sub.ReturnEvents or {} -- these events need to be given to find the correct continue event ... if none given, the processing will stop. + subs[sub.From][sub.Event][sub].name = name + subs[sub.From][sub.Event][sub].fsmparent = self + end + + + function FSM:_call_handler( handler, params, EventName ) + + local ErrorHandler = function( errmsg ) + + env.info( "Error in SCHEDULER function:" .. errmsg ) + if debug ~= nil then + env.info( debug.traceback() ) + end + + return errmsg + end + if self[handler] then + self:T( "Calling " .. handler ) + self._EventSchedules[EventName] = nil + local Result, Value = xpcall( function() return self[handler]( self, unpack( params ) ) end, ErrorHandler ) + return Value + end + end + + function FSM._handler( self, EventName, ... ) + + local Can, to = self:can( EventName ) + + if to == "*" then + to = self.current + end + + if Can then + local from = self.current + local params = { from, EventName, to, ... } + + if self.Controllable then + self:T( "FSM Transition for " .. self.Controllable.ControllableName .. " :" .. self.current .. " --> " .. EventName .. " --> " .. to ) + else + self:T( "FSM Transition:" .. self.current .. " --> " .. EventName .. " --> " .. to ) + end + + if ( self:_call_handler("onbefore" .. EventName, params, EventName ) == false ) + or ( self:_call_handler("OnBefore" .. EventName, params, EventName ) == false ) + or ( self:_call_handler("onleave" .. from, params, EventName ) == false ) + or ( self:_call_handler("OnLeave" .. from, params, EventName ) == false ) then + self:T( "Cancel Transition" ) + return false + end + + self.current = to + + local execute = true + + local subtable = self:_gosub( from, EventName ) + for _, sub in pairs( subtable ) do + --if sub.nextevent then + -- self:F2( "nextevent = " .. sub.nextevent ) + -- self[sub.nextevent]( self ) + --end + self:T( "calling sub start event: " .. sub.StartEvent ) + sub.fsm.fsmparent = self + sub.fsm.ReturnEvents = sub.ReturnEvents + sub.fsm[sub.StartEvent]( sub.fsm ) + execute = false + end + + local fsmparent, Event = self:_isendstate( to ) + if fsmparent and Event then + self:F2( { "end state: ", fsmparent, Event } ) + self:_call_handler("onenter" .. to, params, EventName ) + self:_call_handler("OnEnter" .. to, params, EventName ) + self:_call_handler("onafter" .. EventName, params, EventName ) + self:_call_handler("OnAfter" .. EventName, params, EventName ) + self:_call_handler("onstatechange", params, EventName ) + fsmparent[Event]( fsmparent ) + execute = false + end + + if execute then + -- only execute the call if the From state is not equal to the To state! Otherwise this function should never execute! + --if from ~= to then + self:_call_handler("onenter" .. to, params, EventName ) + self:_call_handler("OnEnter" .. to, params, EventName ) + --end + + self:_call_handler("onafter" .. EventName, params, EventName ) + self:_call_handler("OnAfter" .. EventName, params, EventName ) + + self:_call_handler("onstatechange", params, EventName ) + end + else + self:T( "Cannot execute transition." ) + self:T( { From = self.current, Event = EventName, To = to, Can = Can } ) + end + + return nil + end + + function FSM:_delayed_transition( EventName ) + return function( self, DelaySeconds, ... ) + self:T2( "Delayed Event: " .. EventName ) + local CallID = 0 + if DelaySeconds ~= nil then + if DelaySeconds < 0 then -- Only call the event ONCE! + DelaySeconds = math.abs( DelaySeconds ) + if not self._EventSchedules[EventName] then + CallID = self.CallScheduler:Schedule( self, self._handler, { EventName, ... }, DelaySeconds or 1 ) + self._EventSchedules[EventName] = CallID + else + -- reschedule + end + else + CallID = self.CallScheduler:Schedule( self, self._handler, { EventName, ... }, DelaySeconds or 1 ) + end + else + error( "FSM: An asynchronous event trigger requires a DelaySeconds parameter!!! This can be positive or negative! Sorry, but will not process this." ) + end + self:T2( { CallID = CallID } ) + end + end + + function FSM:_create_transition( EventName ) + return function( self, ... ) return self._handler( self, EventName , ... ) end + end + + function FSM:_gosub( ParentFrom, ParentEvent ) + local fsmtable = {} + if self.subs[ParentFrom] and self.subs[ParentFrom][ParentEvent] then + self:T( { ParentFrom, ParentEvent, self.subs[ParentFrom], self.subs[ParentFrom][ParentEvent] } ) + return self.subs[ParentFrom][ParentEvent] + else + return {} + end + end + + function FSM:_isendstate( Current ) + local FSMParent = self.fsmparent + if FSMParent and self.endstates[Current] then + self:T( { state = Current, endstates = self.endstates, endstate = self.endstates[Current] } ) + FSMParent.current = Current + local ParentFrom = FSMParent.current + self:T( ParentFrom ) + self:T( self.ReturnEvents ) + local Event = self.ReturnEvents[Current] + self:T( { ParentFrom, Event, self.ReturnEvents } ) + if Event then + return FSMParent, Event + else + self:T( { "Could not find parent event name for state ", ParentFrom } ) + end + end + + return nil + end + + function FSM:_add_to_map( Map, Event ) + self:F3( { Map, Event } ) + if type(Event.From) == 'string' then + Map[Event.From] = Event.To + else + for _, From in ipairs(Event.From) do + Map[From] = Event.To + end + end + self:T3( { Map, Event } ) + end + + function FSM:GetState() + return self.current + end + + + function FSM:Is( State ) + return self.current == State + end + + function FSM:is(state) + return self.current == state + end + + function FSM:can(e) + local Event = self.Events[e] + self:F3( { self.current, Event } ) + local To = Event and Event.map[self.current] or Event.map['*'] + return To ~= nil, To + end + + function FSM:cannot(e) + return not self:can(e) + end + +end + +do -- FSM_CONTROLLABLE + + --- @type FSM_CONTROLLABLE + -- @field Wrapper.Controllable#CONTROLLABLE Controllable + -- @extends Core.Fsm#FSM + + --- # FSM_CONTROLLABLE, extends @{#FSM} + -- + -- FSM_CONTROLLABLE class models Finite State Machines for @{Controllable}s, which are @{Group}s, @{Unit}s, @{Client}s. + -- + -- === + -- + -- @field #FSM_CONTROLLABLE FSM_CONTROLLABLE + -- + FSM_CONTROLLABLE = { + ClassName = "FSM_CONTROLLABLE", + } + + --- Creates a new FSM_CONTROLLABLE object. + -- @param #FSM_CONTROLLABLE self + -- @param #table FSMT Finite State Machine Table + -- @param Wrapper.Controllable#CONTROLLABLE Controllable (optional) The CONTROLLABLE object that the FSM_CONTROLLABLE governs. + -- @return #FSM_CONTROLLABLE + function FSM_CONTROLLABLE:New( FSMT, Controllable ) + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM:New( FSMT ) ) -- Core.Fsm#FSM_CONTROLLABLE + + if Controllable then + self:SetControllable( Controllable ) + end + + self:AddTransition( "*", "Stop", "Stopped" ) + + --- OnBefore Transition Handler for Event Stop. + -- @function [parent=#FSM_CONTROLLABLE] OnBeforeStop + -- @param #FSM_CONTROLLABLE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Stop. + -- @function [parent=#FSM_CONTROLLABLE] OnAfterStop + -- @param #FSM_CONTROLLABLE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Stop. + -- @function [parent=#FSM_CONTROLLABLE] Stop + -- @param #FSM_CONTROLLABLE self + + --- Asynchronous Event Trigger for Event Stop. + -- @function [parent=#FSM_CONTROLLABLE] __Stop + -- @param #FSM_CONTROLLABLE self + -- @param #number Delay The delay in seconds. + + --- OnLeave Transition Handler for State Stopped. + -- @function [parent=#FSM_CONTROLLABLE] OnLeaveStopped + -- @param #FSM_CONTROLLABLE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Stopped. + -- @function [parent=#FSM_CONTROLLABLE] OnEnterStopped + -- @param #FSM_CONTROLLABLE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + return self + end + + --- OnAfter Transition Handler for Event Stop. + -- @function [parent=#FSM_CONTROLLABLE] OnAfterStop + -- @param #FSM_CONTROLLABLE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + function FSM_CONTROLLABLE:OnAfterStop(Controllable,From,Event,To) + + -- Clear all pending schedules + self.CallScheduler:Clear() + end + + --- Sets the CONTROLLABLE object that the FSM_CONTROLLABLE governs. + -- @param #FSM_CONTROLLABLE self + -- @param Wrapper.Controllable#CONTROLLABLE FSMControllable + -- @return #FSM_CONTROLLABLE + function FSM_CONTROLLABLE:SetControllable( FSMControllable ) + self:F( FSMControllable ) + self.Controllable = FSMControllable + end + + --- Gets the CONTROLLABLE object that the FSM_CONTROLLABLE governs. + -- @param #FSM_CONTROLLABLE self + -- @return Wrapper.Controllable#CONTROLLABLE + function FSM_CONTROLLABLE:GetControllable() + return self.Controllable + end + + function FSM_CONTROLLABLE:_call_handler( handler, params, EventName ) + + local ErrorHandler = function( errmsg ) + + env.info( "Error in SCHEDULER function:" .. errmsg ) + if debug ~= nil then + env.info( debug.traceback() ) + end + + return errmsg + end + + if self[handler] then + self:F3( "Calling " .. handler ) + self._EventSchedules[EventName] = nil + local Result, Value = xpcall( function() return self[handler]( self, self.Controllable, unpack( params ) ) end, ErrorHandler ) + return Value + --return self[handler]( self, self.Controllable, unpack( params ) ) + end + end + +end + +do -- FSM_PROCESS + + --- @type FSM_PROCESS + -- @field Tasking.Task#TASK Task + -- @extends Core.Fsm#FSM_CONTROLLABLE + + + --- # FSM_PROCESS, extends @{#FSM} + -- + -- FSM_PROCESS class models Finite State Machines for @{Task} actions, which control @{Client}s. + -- + -- === + -- + -- @field #FSM_PROCESS FSM_PROCESS + -- + FSM_PROCESS = { + ClassName = "FSM_PROCESS", + } + + --- Creates a new FSM_PROCESS object. + -- @param #FSM_PROCESS self + -- @return #FSM_PROCESS + function FSM_PROCESS:New( Controllable, Task ) + + local self = BASE:Inherit( self, FSM_CONTROLLABLE:New() ) -- Core.Fsm#FSM_PROCESS + + self:F( Controllable, Task ) + + self:Assign( Controllable, Task ) + + return self + end + + function FSM_PROCESS:Init( FsmProcess ) + self:T( "No Initialisation" ) + end + + function FSM_PROCESS:_call_handler( handler, params, EventName ) + + local ErrorHandler = function( errmsg ) + + env.info( "Error in FSM_PROCESS call handler:" .. errmsg ) + if debug ~= nil then + env.info( debug.traceback() ) + end + + return errmsg + end + + if self[handler] then + self:F3( "Calling " .. handler ) + self._EventSchedules[EventName] = nil + local Result, Value = xpcall( function() return self[handler]( self, self.Controllable, self.Task, unpack( params ) ) end, ErrorHandler ) + return Value + --return self[handler]( self, self.Controllable, unpack( params ) ) + end + end + + --- Creates a new FSM_PROCESS object based on this FSM_PROCESS. + -- @param #FSM_PROCESS self + -- @return #FSM_PROCESS + function FSM_PROCESS:Copy( Controllable, Task ) + self:T( { self:GetClassNameAndID() } ) + + + local NewFsm = self:New( Controllable, Task ) -- Core.Fsm#FSM_PROCESS + + NewFsm:Assign( Controllable, Task ) + + -- Polymorphic call to initialize the new FSM_PROCESS based on self FSM_PROCESS + NewFsm:Init( self ) + + -- Set Start State + NewFsm:SetStartState( self:GetStartState() ) + + -- Copy Transitions + for TransitionID, Transition in pairs( self:GetTransitions() ) do + NewFsm:AddTransition( Transition.From, Transition.Event, Transition.To ) + end + + -- Copy Processes + for ProcessID, Process in pairs( self:GetProcesses() ) do + self:E( { Process} ) + local FsmProcess = NewFsm:AddProcess( Process.From, Process.Event, Process.fsm:Copy( Controllable, Task ), Process.ReturnEvents ) + end + + -- Copy End States + for EndStateID, EndState in pairs( self:GetEndStates() ) do + self:T( EndState ) + NewFsm:AddEndState( EndState ) + end + + -- Copy the score tables + for ScoreID, Score in pairs( self:GetScores() ) do + self:T( Score ) + NewFsm:AddScore( ScoreID, Score.ScoreText, Score.Score ) + end + + return NewFsm + end + + --- Removes an FSM_PROCESS object. + -- @param #FSM_PROCESS self + -- @return #FSM_PROCESS + function FSM_PROCESS:Remove() + self:T( { self:GetClassNameAndID() } ) + + -- Copy Processes + for ProcessID, Process in pairs( self:GetProcesses() ) do + self:E( { Process} ) + Process.fsm:Remove() + Process.fsm = nil + end + + return self + end + + --- Sets the task of the process. + -- @param #FSM_PROCESS self + -- @param Tasking.Task#TASK Task + -- @return #FSM_PROCESS + function FSM_PROCESS:SetTask( Task ) + + self.Task = Task + + return self + end + + --- Gets the task of the process. + -- @param #FSM_PROCESS self + -- @return Tasking.Task#TASK + function FSM_PROCESS:GetTask() + + return self.Task + end + + --- Gets the mission of the process. + -- @param #FSM_PROCESS self + -- @return Tasking.Mission#MISSION + function FSM_PROCESS:GetMission() + + return self.Task.Mission + end + + --- Gets the mission of the process. + -- @param #FSM_PROCESS self + -- @return Tasking.CommandCenter#COMMANDCENTER + function FSM_PROCESS:GetCommandCenter() + + return self:GetTask():GetMission():GetCommandCenter() + end + +-- TODO: Need to check and fix that an FSM_PROCESS is only for a UNIT. Not for a GROUP. + + --- Send a message of the @{Task} to the Group of the Unit. +-- @param #FSM_PROCESS self +function FSM_PROCESS:Message( Message ) + self:F( { Message = Message } ) + + local CC = self:GetCommandCenter() + local TaskGroup = self.Controllable:GetGroup() + + local PlayerName = self.Controllable:GetPlayerName() -- Only for a unit + PlayerName = PlayerName and " (" .. PlayerName .. ")" or "" -- If PlayerName is nil, then keep it nil, otherwise add brackets. + local Callsign = self.Controllable:GetCallsign() + local Prefix = Callsign and " @ " .. Callsign .. PlayerName or "" + + Message = Prefix .. ": " .. Message + CC:MessageToGroup( Message, TaskGroup ) +end + + + + + --- Assign the process to a @{Unit} and activate the process. + -- @param #FSM_PROCESS self + -- @param Task.Tasking#TASK Task + -- @param Wrapper.Unit#UNIT ProcessUnit + -- @return #FSM_PROCESS self + function FSM_PROCESS:Assign( ProcessUnit, Task ) + self:T( { Task, ProcessUnit } ) + + self:SetControllable( ProcessUnit ) + self:SetTask( Task ) + + --self.ProcessGroup = ProcessUnit:GetGroup() + + return self + end + + function FSM_PROCESS:onenterAssigned( ProcessUnit ) + self:T( "Assign" ) + + self.Task:Assign() + end + + function FSM_PROCESS:onenterFailed( ProcessUnit ) + self:T( "Failed" ) + + self.Task:Fail() + end + + function FSM_PROCESS:onenterSuccess( ProcessUnit ) + self:T( "Success" ) + + self.Task:Success() + end + + --- StateMachine callback function for a FSM_PROCESS + -- @param #FSM_PROCESS self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function FSM_PROCESS:onstatechange( ProcessUnit, Task, From, Event, To, Dummy ) + self:T( { ProcessUnit, From, Event, To, Dummy, self:IsTrace() } ) + + if self:IsTrace() then + MESSAGE:New( "@ Process " .. self:GetClassNameAndID() .. " : " .. Event .. " changed to state " .. To, 2 ):ToAll() + end + + self:T( { Scores = self._Scores, To = To } ) + -- TODO: This needs to be reworked with a callback functions allocated within Task, and set within the mission script from the Task Objects... + if self._Scores[To] then + + local Task = self.Task + local Scoring = Task:GetScoring() + if Scoring then + Scoring:_AddMissionTaskScore( Task.Mission, ProcessUnit, self._Scores[To].ScoreText, self._Scores[To].Score ) + end + end + end + +end + +do -- FSM_TASK + + --- FSM_TASK class + -- @type FSM_TASK + -- @field Tasking.Task#TASK Task + -- @extends #FSM + + --- # FSM_TASK, extends @{#FSM} + -- + -- FSM_TASK class models Finite State Machines for @{Task}s. + -- + -- === + -- + -- @field #FSM_TASK FSM_TASK + -- + FSM_TASK = { + ClassName = "FSM_TASK", + } + + --- Creates a new FSM_TASK object. + -- @param #FSM_TASK self + -- @param #table FSMT + -- @param Tasking.Task#TASK Task + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return #FSM_TASK + function FSM_TASK:New( FSMT ) + + local self = BASE:Inherit( self, FSM_CONTROLLABLE:New( FSMT ) ) -- Core.Fsm#FSM_TASK + + self["onstatechange"] = self.OnStateChange + + return self + end + + function FSM_TASK:_call_handler( handler, params, EventName ) + if self[handler] then + self:T( "Calling " .. handler ) + self._EventSchedules[EventName] = nil + return self[handler]( self, unpack( params ) ) + end + end + +end -- FSM_TASK + +do -- FSM_SET + + --- FSM_SET class + -- @type FSM_SET + -- @field Core.Set#SET_BASE Set + -- @extends Core.Fsm#FSM + + + --- # FSM_SET, extends @{#FSM} + -- + -- FSM_SET class models Finite State Machines for @{Set}s. Note that these FSMs control multiple objects!!! So State concerns here + -- for multiple objects or the position of the state machine in the process. + -- + -- === + -- + -- @field #FSM_SET FSM_SET + -- + FSM_SET = { + ClassName = "FSM_SET", + } + + --- Creates a new FSM_SET object. + -- @param #FSM_SET self + -- @param #table FSMT Finite State Machine Table + -- @param Set_SET_BASE FSMSet (optional) The Set object that the FSM_SET governs. + -- @return #FSM_SET + function FSM_SET:New( FSMSet ) + + -- Inherits from BASE + self = BASE:Inherit( self, FSM:New() ) -- Core.Fsm#FSM_SET + + if FSMSet then + self:Set( FSMSet ) + end + + return self + end + + --- Sets the SET_BASE object that the FSM_SET governs. + -- @param #FSM_SET self + -- @param Core.Set#SET_BASE FSMSet + -- @return #FSM_SET + function FSM_SET:Set( FSMSet ) + self:F( FSMSet ) + self.Set = FSMSet + end + + --- Gets the SET_BASE object that the FSM_SET governs. + -- @param #FSM_SET self + -- @return Core.Set#SET_BASE + function FSM_SET:Get() + return self.Controllable + end + + function FSM_SET:_call_handler( handler, params, EventName ) + if self[handler] then + self:T( "Calling " .. handler ) + self._EventSchedules[EventName] = nil + return self[handler]( self, self.Set, unpack( params ) ) + end + end + +end -- FSM_SET + +--- **Core** - The RADIO class is responsible for **transmitting radio communications**. +-- +-- --- bitmap +-- +-- === +-- +-- What are radio communications in DCS ? +-- +-- * Radio transmissions consist of **sound files** that are broadcasted on a specific **frequency** (e.g. 115MHz) and **modulation** (e.g. AM), +-- * They can be **subtitled** for a specific **duration**, the **power** in Watts of the transmiter's antenna can be set, and the transmission can be **looped**. +-- +-- How to supply DCS my own Sound Files ? +-- +-- * Your sound files need to be encoded in **.ogg** or .wav, +-- * Your sound files should be **as tiny as possible**. It is suggested you encode in .ogg with low bitrate and sampling settings, +-- * They need to be added in .\l10n\DEFAULT\ in you .miz file (wich can be decompressed like a .zip file), +-- * For simplicty sake, you can **let DCS' Mission Editor add the file** itself, by creating a new Trigger with the action "Sound to Country", and choosing your sound file and a country you don't use in your mission. +-- +-- Due to weird DCS quirks, **radio communications behave differently** if sent by a @{Unit#UNIT} or a @{Group#GROUP} or by any other @{Positionable#POSITIONABLE} +-- +-- * If the transmitter is a @{Unit#UNIT} or a @{Group#GROUP}, DCS will set the power of the transmission automatically, +-- * If the transmitter is any other @{Positionable#POSITIONABLE}, the transmisison can't be subtitled or looped. +-- +-- Note that obviously, the **frequency** and the **modulation** of the transmission are important only if the players are piloting an **Advanced System Modelling** enabled aircraft, +-- like the A10C or the Mirage 2000C. They will **hear the transmission** if they are tuned on the **right frequency and modulation** (and if they are close enough - more on that below). +-- If a FC3 airacraft is used, it will **hear every communication, whatever the frequency and the modulation** is set to. +-- +-- === +-- +-- ### Authors: Hugues "Grey_Echo" Bousquet +-- +-- @module Radio + +--- # 1) RADIO class, extends @{Base#BASE} +-- +-- ## 1.1) RADIO usage +-- +-- There are 3 steps to a successful radio transmission. +-- +-- * First, you need to **"add" a @{#RADIO} object** to your @{Positionable#POSITIONABLE}. This is done using the @{Positionable#POSITIONABLE.GetRadio}() function, +-- * Then, you will **set the relevant parameters** to the transmission (see below), +-- * When done, you can actually **broadcast the transmission** (i.e. play the sound) with the @{Positionable#POSITIONABLE.Broadcast}() function. +-- +-- Methods to set relevant parameters for both a @{Unit#UNIT} or a @{Group#GROUP} or any other @{Positionable#POSITIONABLE} +-- +-- * @{#RADIO.SetFileName}() : Sets the file name of your sound file (e.g. "Noise.ogg"), +-- * @{#RADIO.SetFrequency}() : Sets the frequency of your transmission, +-- * @{#RADIO.SetModulation}() : Sets the modulation of your transmission. +-- +-- Additional Methods to set relevant parameters if the transmiter is a @{Unit#UNIT} or a @{Group#GROUP} +-- +-- * @{#RADIO.SetLoop}() : Choose if you want the transmission to be looped, +-- * @{#RADIO.SetSubtitle}() : Set both the subtitle and its duration, +-- * @{#RADIO.NewUnitTransmission}() : Shortcut to set all the relevant parameters in one method call +-- +-- Additional Methods to set relevant parameters if the transmiter is any other @{Wrapper.Positionable#POSITIONABLE} +-- +-- * @{#RADIO.SetPower}() : Sets the power of the antenna in Watts +-- * @{#RADIO.NewGenericTransmission}() : Shortcut to set all the relevant parameters in one method call +-- +-- What is this power thing ? +-- +-- * If your transmission is sent by a @{Positionable#POSITIONABLE} other than a @{Unit#UNIT} or a @{Group#GROUP}, you can set the power of the antenna, +-- * Otherwise, DCS sets it automatically, depending on what's available on your Unit, +-- * If the player gets **too far** from the transmiter, or if the antenna is **too weak**, the transmission will **fade** and **become noisyer**, +-- * This an automated DCS calculation you have no say on, +-- * For reference, a standard VOR station has a 100W antenna, a standard AA TACAN has a 120W antenna, and civilian ATC's antenna usually range between 300 and 500W, +-- * Note that if the transmission has a subtitle, it will be readable, regardless of the quality of the transmission. +-- +-- @type RADIO +-- @field Wrapper.Positionable#POSITIONABLE Positionable The transmiter +-- @field #string FileName Name of the sound file +-- @field #number Frequency Frequency of the transmission in Hz +-- @field #number Modulation Modulation of the transmission (either radio.modulation.AM or radio.modulation.FM) +-- @field #string Subtitle Subtitle of the transmission +-- @field #number SubtitleDuration Duration of the Subtitle in seconds +-- @field #number Power Power of the antenna is Watts +-- @field #boolean Loop +-- @extends Core.Base#BASE +RADIO = { + ClassName = "RADIO", + FileName = "", + Frequency = 0, + Modulation = radio.modulation.AM, + Subtitle = "", + SubtitleDuration = 0, + Power = 100, + Loop = 0, +} + +--- Create a new RADIO Object. This doesn't broadcast a transmission, though, use @{#RADIO.Broadcast} to actually broadcast +-- @param #RADIO self +-- @param Wrapper.Positionable#POSITIONABLE Positionable The @{Positionable} that will receive radio capabilities. +-- @return #RADIO Radio +-- @return #nil If Positionable is invalid +-- @usage +-- -- If you want to create a RADIO, you probably should use @{Positionable#POSITIONABLE.GetRadio}() instead +function RADIO:New(Positionable) + local self = BASE:Inherit( self, BASE:New() ) -- Core.Radio#RADIO + + self:F(Positionable) + + if Positionable:GetPointVec2() then -- It's stupid, but the only way I found to make sure positionable is valid + self.Positionable = Positionable + return self + end + + self:E({"The passed positionable is invalid, no RADIO created", Positionable}) + return nil +end + +--- Check validity of the filename passed and sets RADIO.FileName +-- @param #RADIO self +-- @param #string FileName File name of the sound file (i.e. "Noise.ogg") +-- @return #RADIO self +function RADIO:SetFileName(FileName) + self:F2(FileName) + + if type(FileName) == "string" then + if FileName:find(".ogg") or FileName:find(".wav") then + if not FileName:find("l10n/DEFAULT/") then + FileName = "l10n/DEFAULT/" .. FileName + end + self.FileName = FileName + return self + end + end + + self:E({"File name invalid. Maybe something wrong with the extension ?", self.FileName}) + return self +end + +--- Check validity of the frequency passed and sets RADIO.Frequency +-- @param #RADIO self +-- @param #number Frequency in MHz (Ranges allowed for radio transmissions in DCS : 30-88 / 108-152 / 225-400MHz) +-- @return #RADIO self +function RADIO:SetFrequency(Frequency) + self:F2(Frequency) + if type(Frequency) == "number" then + -- If frequency is in range + if (Frequency >= 30 and Frequency < 88) or (Frequency >= 108 and Frequency < 152) or (Frequency >= 225 and Frequency < 400) then + self.Frequency = Frequency * 1000000 -- Conversion in Hz + -- If the RADIO is attached to a UNIT or a GROUP, we need to send the DCS Command "SetFrequency" to change the UNIT or GROUP frequency + if self.Positionable.ClassName == "UNIT" or self.Positionable.ClassName == "GROUP" then + self.Positionable:SetCommand({ + id = "SetFrequency", + params = { + frequency = self.Frequency, + modulation = self.Modulation, + } + }) + end + return self + end + end + self:E({"Frequency is outside of DCS Frequency ranges (30-80, 108-152, 225-400). Frequency unchanged.", self.Frequency}) + return self +end + +--- Check validity of the frequency passed and sets RADIO.Modulation +-- @param #RADIO self +-- @param #number Modulation either radio.modulation.AM or radio.modulation.FM +-- @return #RADIO self +function RADIO:SetModulation(Modulation) + self:F2(Modulation) + if type(Modulation) == "number" then + if Modulation == radio.modulation.AM or Modulation == radio.modulation.FM then --TODO Maybe make this future proof if ED decides to add an other modulation ? + self.Modulation = Modulation + return self + end + end + self:E({"Modulation is invalid. Use DCS's enum radio.modulation. Modulation unchanged.", self.Modulation}) + return self +end + +--- Check validity of the power passed and sets RADIO.Power +-- @param #RADIO self +-- @param #number Power in W +-- @return #RADIO self +function RADIO:SetPower(Power) + self:F2(Power) + if type(Power) == "number" then + self.Power = math.floor(math.abs(Power)) --TODO Find what is the maximum power allowed by DCS and limit power to that + return self + end + self:E({"Power is invalid. Power unchanged.", self.Power}) + return self +end + +--- Check validity of the loop passed and sets RADIO.Loop +-- @param #RADIO self +-- @param #boolean Loop +-- @return #RADIO self +-- @usage +function RADIO:SetLoop(Loop) + self:F2(Loop) + if type(Loop) == "boolean" then + self.Loop = Loop + return self + end + self:E({"Loop is invalid. Loop unchanged.", self.Loop}) + return self +end + +--- Check validity of the subtitle and the subtitleDuration passed and sets RADIO.subtitle and RADIO.subtitleDuration +-- @param #RADIO self +-- @param #string Subtitle +-- @param #number SubtitleDuration in s +-- @return #RADIO self +-- @usage +-- -- Both parameters are mandatory, since it wouldn't make much sense to change the Subtitle and not its duration +function RADIO:SetSubtitle(Subtitle, SubtitleDuration) + self:F2({Subtitle, SubtitleDuration}) + if type(Subtitle) == "string" then + self.Subtitle = Subtitle + else + self.Subtitle = "" + self:E({"Subtitle is invalid. Subtitle reset.", self.Subtitle}) + end + if type(SubtitleDuration) == "number" then + if math.floor(math.abs(SubtitleDuration)) == SubtitleDuration then + self.SubtitleDuration = SubtitleDuration + return self + end + end + self.SubtitleDuration = 0 + self:E({"SubtitleDuration is invalid. SubtitleDuration reset.", self.SubtitleDuration}) +end + +--- Create a new transmission, that is to say, populate the RADIO with relevant data +-- @param #RADIO self +-- @param #string FileName +-- @param #number Frequency in MHz +-- @param #number Modulation either radio.modulation.AM or radio.modulation.FM +-- @param #number Power in W +-- @return #RADIO self +-- @usage +-- -- In this function the data is especially relevant if the broadcaster is anything but a UNIT or a GROUP, +-- but it will work with a UNIT or a GROUP anyway +-- -- Only the RADIO and the Filename are mandatory +function RADIO:NewGenericTransmission(FileName, Frequency, Modulation, Power) + self:F({FileName, Frequency, Modulation, Power}) + + self:SetFileName(FileName) + if Frequency then self:SetFrequency(Frequency) end + if Modulation then self:SetModulation(Modulation) end + if Power then self:SetPower(Power) end + + return self +end + + +--- Create a new transmission, that is to say, populate the RADIO with relevant data +-- @param #RADIO self +-- @param #string FileName +-- @param #string Subtitle +-- @param #number SubtitleDuration in s +-- @param #number Frequency in MHz +-- @param #number Modulation either radio.modulation.AM or radio.modulation.FM +-- @param #boolean Loop +-- @return #RADIO self +-- @usage +-- -- In this function the data is especially relevant if the broadcaster is a UNIT or a GROUP, +-- but it will work for any POSITIONABLE +-- -- Only the RADIO and the Filename are mandatory +function RADIO:NewUnitTransmission(FileName, Subtitle, SubtitleDuration, Frequency, Modulation, Loop) + self:F({FileName, Subtitle, SubtitleDuration, Frequency, Modulation, Loop}) + + self:SetFileName(FileName) + if Subtitle then self:SetSubtitle(Subtitle) end + if SubtitleDuration then self:SetSubtitleDuration(SubtitleDuration) end + if Frequency then self:SetFrequency(Frequency) end + if Modulation then self:SetModulation(Modulation) end + if Loop then self:SetLoop(Loop) end + + return self +end + +--- Actually Broadcast the transmission +-- @param #RADIO self +-- @return #RADIO self +-- @usage +-- -- The Radio has to be populated with the new transmission before broadcasting. +-- -- Please use RADIO setters or either @{Radio#RADIO.NewGenericTransmission} or @{Radio#RADIO.NewUnitTransmission} +-- -- This class is in fact pretty smart, it determines the right DCS function to use depending on the type of POSITIONABLE +-- -- If the POSITIONABLE is not a UNIT or a GROUP, we use the generic (but limited) trigger.action.radioTransmission() +-- -- If the POSITIONABLE is a UNIT or a GROUP, we use the "TransmitMessage" Command +-- -- If your POSITIONABLE is a UNIT or a GROUP, the Power is ignored. +-- -- If your POSITIONABLE is not a UNIT or a GROUP, the Subtitle, SubtitleDuration and Loop are ignored +function RADIO:Broadcast() + self:F() + -- If the POSITIONABLE is actually a UNIT or a GROUP, use the more complicated DCS command system + if self.Positionable.ClassName == "UNIT" or self.Positionable.ClassName == "GROUP" then + self:T2("Broadcasting from a UNIT or a GROUP") + self.Positionable:SetCommand({ + id = "TransmitMessage", + params = { + file = self.FileName, + duration = self.SubtitleDuration, + subtitle = self.Subtitle, + loop = self.Loop, + } + }) + else + -- If the POSITIONABLE is anything else, we revert to the general singleton function + self:T2("Broadcasting from a POSITIONABLE") + trigger.action.radioTransmission(self.FileName, self.Positionable:GetPositionVec3(), self.Modulation, false, self.Frequency, self.Power) + end + return self +end + +--- Stops a transmission +-- @param #RADIO self +-- @return #RADIO self +-- @usage +-- -- Especially usefull to stop the broadcast of looped transmissions +-- -- Only works with broadcasts from UNIT or GROUP +function RADIO:StopBroadcast() + self:F() + -- If the POSITIONABLE is a UNIT or a GROUP, stop the transmission with the DCS "StopTransmission" command + if self.Positionable.ClassName == "UNIT" or self.Positionable.ClassName == "GROUP" then + self.Positionable:SetCommand({ + id = "StopTransmission", + params = {} + }) + else + self:E("This broadcast can't be stopped. It's not looped either, so please wait for the end of the sound file playback") + end + return self +end--- This module contains the OBJECT class. +-- +-- 1) @{Object#OBJECT} class, extends @{Base#BASE} +-- =========================================================== +-- The @{Object#OBJECT} class is a wrapper class to handle the DCS Object objects: +-- +-- * Support all DCS Object APIs. +-- * Enhance with Object specific APIs not in the DCS Object API set. +-- * Manage the "state" of the DCS Object. +-- +-- 1.1) OBJECT constructor: +-- ------------------------------ +-- The OBJECT class provides the following functions to construct a OBJECT instance: +-- +-- * @{Object#OBJECT.New}(): Create a OBJECT instance. +-- +-- 1.2) OBJECT methods: +-- -------------------------- +-- The following methods can be used to identify an Object object: +-- +-- * @{Object#OBJECT.GetID}(): Returns the ID of the Object object. +-- +-- === +-- +-- @module Object + +--- The OBJECT class +-- @type OBJECT +-- @extends Core.Base#BASE +-- @field #string ObjectName The name of the Object. +OBJECT = { + ClassName = "OBJECT", + ObjectName = "", +} + +--- A DCSObject +-- @type DCSObject +-- @field id_ The ID of the controllable in DCS + +--- Create a new OBJECT from a DCSObject +-- @param #OBJECT self +-- @param Dcs.DCSWrapper.Object#Object ObjectName The Object name +-- @return #OBJECT self +function OBJECT:New( ObjectName, Test ) + local self = BASE:Inherit( self, BASE:New() ) + self:F2( ObjectName ) + self.ObjectName = ObjectName + + return self +end + + +--- Returns the unit's unique identifier. +-- @param Wrapper.Object#OBJECT self +-- @return Dcs.DCSWrapper.Object#Object.ID ObjectID +-- @return #nil The DCS Object is not existing or alive. +function OBJECT:GetID() + self:F2( self.ObjectName ) + + local DCSObject = self:GetDCSObject() + + if DCSObject then + local ObjectID = DCSObject:getID() + return ObjectID + end + + return nil +end + +--- Destroys the OBJECT. +-- @param #OBJECT self +-- @return #nil The DCS Unit is not existing or alive. +function OBJECT:Destroy() + self:F2( self.ObjectName ) + + local DCSObject = self:GetDCSObject() + + if DCSObject then + + DCSObject:destroy() + end + + return nil +end + + + + +--- This module contains the IDENTIFIABLE class. +-- +-- 1) @{#IDENTIFIABLE} class, extends @{Object#OBJECT} +-- =============================================================== +-- The @{#IDENTIFIABLE} class is a wrapper class to handle the DCS Identifiable objects: +-- +-- * Support all DCS Identifiable APIs. +-- * Enhance with Identifiable specific APIs not in the DCS Identifiable API set. +-- * Manage the "state" of the DCS Identifiable. +-- +-- 1.1) IDENTIFIABLE constructor: +-- ------------------------------ +-- The IDENTIFIABLE class provides the following functions to construct a IDENTIFIABLE instance: +-- +-- * @{#IDENTIFIABLE.New}(): Create a IDENTIFIABLE instance. +-- +-- 1.2) IDENTIFIABLE methods: +-- -------------------------- +-- The following methods can be used to identify an identifiable object: +-- +-- * @{#IDENTIFIABLE.GetName}(): Returns the name of the Identifiable. +-- * @{#IDENTIFIABLE.IsAlive}(): Returns if the Identifiable is alive. +-- * @{#IDENTIFIABLE.GetTypeName}(): Returns the type name of the Identifiable. +-- * @{#IDENTIFIABLE.GetCoalition}(): Returns the coalition of the Identifiable. +-- * @{#IDENTIFIABLE.GetCountry}(): Returns the country of the Identifiable. +-- * @{#IDENTIFIABLE.GetDesc}(): Returns the descriptor structure of the Identifiable. +-- +-- +-- === +-- +-- @module Identifiable + +--- The IDENTIFIABLE class +-- @type IDENTIFIABLE +-- @extends Wrapper.Object#OBJECT +-- @field #string IdentifiableName The name of the identifiable. +IDENTIFIABLE = { + ClassName = "IDENTIFIABLE", + IdentifiableName = "", +} + +local _CategoryName = { + [Unit.Category.AIRPLANE] = "Airplane", + [Unit.Category.HELICOPTER] = "Helicoper", + [Unit.Category.GROUND_UNIT] = "Ground Identifiable", + [Unit.Category.SHIP] = "Ship", + [Unit.Category.STRUCTURE] = "Structure", + } + +--- Create a new IDENTIFIABLE from a DCSIdentifiable +-- @param #IDENTIFIABLE self +-- @param Dcs.DCSWrapper.Identifiable#Identifiable IdentifiableName The DCS Identifiable name +-- @return #IDENTIFIABLE self +function IDENTIFIABLE:New( IdentifiableName ) + local self = BASE:Inherit( self, OBJECT:New( IdentifiableName ) ) + self:F2( IdentifiableName ) + self.IdentifiableName = IdentifiableName + return self +end + +--- Returns if the Identifiable is alive. +-- If the Identifiable is not alive, nil is returned. +-- If the Identifiable is alive, true is returned. +-- @param #IDENTIFIABLE self +-- @return #boolean true if Identifiable is alive. +-- @return #nil if the Identifiable is not existing or is not alive. +function IDENTIFIABLE:IsAlive() + self:F3( self.IdentifiableName ) + + local DCSIdentifiable = self:GetDCSObject() -- Dcs.DCSObject#Object + + if DCSIdentifiable then + local IdentifiableIsAlive = DCSIdentifiable:isExist() + return IdentifiableIsAlive + end + + return false +end + + + + +--- Returns DCS Identifiable object name. +-- The function provides access to non-activated objects too. +-- @param #IDENTIFIABLE self +-- @return #string The name of the DCS Identifiable. +-- @return #nil The DCS Identifiable is not existing or alive. +function IDENTIFIABLE:GetName() + self:F2( self.IdentifiableName ) + + local DCSIdentifiable = self:GetDCSObject() + + if DCSIdentifiable then + local IdentifiableName = self.IdentifiableName + return IdentifiableName + end + + self:E( self.ClassName .. " " .. self.IdentifiableName .. " not found!" ) + return nil +end + + +--- Returns the type name of the DCS Identifiable. +-- @param #IDENTIFIABLE self +-- @return #string The type name of the DCS Identifiable. +-- @return #nil The DCS Identifiable is not existing or alive. +function IDENTIFIABLE:GetTypeName() + self:F2( self.IdentifiableName ) + + local DCSIdentifiable = self:GetDCSObject() + + if DCSIdentifiable then + local IdentifiableTypeName = DCSIdentifiable:getTypeName() + self:T3( IdentifiableTypeName ) + return IdentifiableTypeName + end + + self:E( self.ClassName .. " " .. self.IdentifiableName .. " not found!" ) + return nil +end + + +--- Returns category of the DCS Identifiable. +-- @param #IDENTIFIABLE self +-- @return Dcs.DCSWrapper.Object#Object.Category The category ID +function IDENTIFIABLE:GetCategory() + self:F2( self.ObjectName ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + local ObjectCategory = DCSObject:getCategory() + self:T3( ObjectCategory ) + return ObjectCategory + end + + return nil +end + + +--- Returns the DCS Identifiable category name as defined within the DCS Identifiable Descriptor. +-- @param #IDENTIFIABLE self +-- @return #string The DCS Identifiable Category Name +function IDENTIFIABLE:GetCategoryName() + local DCSIdentifiable = self:GetDCSObject() + + if DCSIdentifiable then + local IdentifiableCategoryName = _CategoryName[ self:GetDesc().category ] + return IdentifiableCategoryName + end + + self:E( self.ClassName .. " " .. self.IdentifiableName .. " not found!" ) + return nil +end + +--- Returns coalition of the Identifiable. +-- @param #IDENTIFIABLE self +-- @return Dcs.DCSCoalitionWrapper.Object#coalition.side The side of the coalition. +-- @return #nil The DCS Identifiable is not existing or alive. +function IDENTIFIABLE:GetCoalition() + self:F2( self.IdentifiableName ) + + local DCSIdentifiable = self:GetDCSObject() + + if DCSIdentifiable then + local IdentifiableCoalition = DCSIdentifiable:getCoalition() + self:T3( IdentifiableCoalition ) + return IdentifiableCoalition + end + + self:E( self.ClassName .. " " .. self.IdentifiableName .. " not found!" ) + return nil +end + +--- Returns country of the Identifiable. +-- @param #IDENTIFIABLE self +-- @return Dcs.DCScountry#country.id The country identifier. +-- @return #nil The DCS Identifiable is not existing or alive. +function IDENTIFIABLE:GetCountry() + self:F2( self.IdentifiableName ) + + local DCSIdentifiable = self:GetDCSObject() + + if DCSIdentifiable then + local IdentifiableCountry = DCSIdentifiable:getCountry() + self:T3( IdentifiableCountry ) + return IdentifiableCountry + end + + self:E( self.ClassName .. " " .. self.IdentifiableName .. " not found!" ) + return nil +end + + + +--- Returns Identifiable descriptor. Descriptor type depends on Identifiable category. +-- @param #IDENTIFIABLE self +-- @return Dcs.DCSWrapper.Identifiable#Identifiable.Desc The Identifiable descriptor. +-- @return #nil The DCS Identifiable is not existing or alive. +function IDENTIFIABLE:GetDesc() + self:F2( self.IdentifiableName ) + + local DCSIdentifiable = self:GetDCSObject() + + if DCSIdentifiable then + local IdentifiableDesc = DCSIdentifiable:getDesc() + self:T2( IdentifiableDesc ) + return IdentifiableDesc + end + + self:E( self.ClassName .. " " .. self.IdentifiableName .. " not found!" ) + return nil +end + +--- Gets the CallSign of the IDENTIFIABLE, which is a blank by default. +-- @param #IDENTIFIABLE self +-- @return #string The CallSign of the IDENTIFIABLE. +function IDENTIFIABLE:GetCallsign() + return '' +end + + +function IDENTIFIABLE:GetThreatLevel() + + return 0, "Scenery" +end +--- This module contains the POSITIONABLE class. +-- +-- 1) @{Positionable#POSITIONABLE} class, extends @{Identifiable#IDENTIFIABLE} +-- =========================================================== +-- The @{Positionable#POSITIONABLE} class is a wrapper class to handle the POSITIONABLE objects: +-- +-- * Support all DCS APIs. +-- * Enhance with POSITIONABLE specific APIs not in the DCS API set. +-- * Manage the "state" of the POSITIONABLE. +-- +-- 1.1) POSITIONABLE constructor: +-- ------------------------------ +-- The POSITIONABLE class provides the following functions to construct a POSITIONABLE instance: +-- +-- * @{Positionable#POSITIONABLE.New}(): Create a POSITIONABLE instance. +-- +-- 1.2) POSITIONABLE methods: +-- -------------------------- +-- The following methods can be used to identify an measurable object: +-- +-- * @{Positionable#POSITIONABLE.GetID}(): Returns the ID of the measurable object. +-- * @{Positionable#POSITIONABLE.GetName}(): Returns the name of the measurable object. +-- +-- === +-- +-- @module Positionable + +--- The POSITIONABLE class +-- @type POSITIONABLE +-- @extends Wrapper.Identifiable#IDENTIFIABLE +-- @field #string PositionableName The name of the measurable. +POSITIONABLE = { + ClassName = "POSITIONABLE", + PositionableName = "", +} + +--- A DCSPositionable +-- @type DCSPositionable +-- @field id_ The ID of the controllable in DCS + +--- Create a new POSITIONABLE from a DCSPositionable +-- @param #POSITIONABLE self +-- @param Dcs.DCSWrapper.Positionable#Positionable PositionableName The POSITIONABLE name +-- @return #POSITIONABLE self +function POSITIONABLE:New( PositionableName ) + local self = BASE:Inherit( self, IDENTIFIABLE:New( PositionableName ) ) + + self.PositionableName = PositionableName + return self +end + +--- Returns the @{DCSTypes#Position3} position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Dcs.DCSTypes#Position The 3D position vectors of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetPositionVec3() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionablePosition = DCSPositionable:getPosition().p + self:T3( PositionablePosition ) + return PositionablePosition + end + + return nil +end + +--- Returns the @{DCSTypes#Vec2} vector indicating the point in 2D of the POSITIONABLE within the mission. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Dcs.DCSTypes#Vec2 The 2D point vector of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetVec2() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionableVec3 = DCSPositionable:getPosition().p + + local PositionableVec2 = {} + PositionableVec2.x = PositionableVec3.x + PositionableVec2.y = PositionableVec3.z + + self:T2( PositionableVec2 ) + return PositionableVec2 + end + + return nil +end + +--- Returns a POINT_VEC2 object indicating the point in 2D of the POSITIONABLE within the mission. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Core.Point#POINT_VEC2 The 2D point vector of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetPointVec2() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionableVec3 = DCSPositionable:getPosition().p + + local PositionablePointVec2 = POINT_VEC2:NewFromVec3( PositionableVec3 ) + + self:T2( PositionablePointVec2 ) + return PositionablePointVec2 + end + + return nil +end + +--- Returns a POINT_VEC3 object indicating the point in 3D of the POSITIONABLE within the mission. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Core.Point#POINT_VEC3 The 3D point vector of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetPointVec3() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionableVec3 = self:GetPositionVec3() + + local PositionablePointVec3 = POINT_VEC3:NewFromVec3( PositionableVec3 ) + + self:T2( PositionablePointVec3 ) + return PositionablePointVec3 + end + + return nil +end + + +--- Returns a random @{DCSTypes#Vec3} vector within a range, indicating the point in 3D of the POSITIONABLE within the mission. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @param #number Radius +-- @return Dcs.DCSTypes#Vec3 The 3D point vector of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +-- @usage +-- -- If Radius is ignored, returns the Dcs.DCSTypes#Vec3 of first UNIT of the GROUP +function POSITIONABLE:GetRandomVec3( Radius ) + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionablePointVec3 = DCSPositionable:getPosition().p + + if Radius then + local PositionableRandomVec3 = {} + local angle = math.random() * math.pi*2; + PositionableRandomVec3.x = PositionablePointVec3.x + math.cos( angle ) * math.random() * Radius; + PositionableRandomVec3.y = PositionablePointVec3.y + PositionableRandomVec3.z = PositionablePointVec3.z + math.sin( angle ) * math.random() * Radius; + + self:T3( PositionableRandomVec3 ) + return PositionableRandomVec3 + else + self:E("Radius is nil, returning the PointVec3 of the POSITIONABLE", PositionablePointVec3) + return PositionablePointVec3 + end + end + + return nil +end + +--- Returns the @{DCSTypes#Vec3} vector indicating the 3D vector of the POSITIONABLE within the mission. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Dcs.DCSTypes#Vec3 The 3D point vector of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetVec3() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionableVec3 = DCSPositionable:getPosition().p + self:T3( PositionableVec3 ) + return PositionableVec3 + end + + return nil +end + +--- Returns the altitude of the POSITIONABLE. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Dcs.DCSTypes#Distance The altitude of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetAltitude() + self:F2() + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionablePointVec3 = DCSPositionable:getPoint() --Dcs.DCSTypes#Vec3 + return PositionablePointVec3.y + end + + return nil +end + +--- Returns if the Positionable is located above a runway. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return #boolean true if Positionable is above a runway. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:IsAboveRunway() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + + local Vec2 = self:GetVec2() + local SurfaceType = land.getSurfaceType( Vec2 ) + local IsAboveRunway = SurfaceType == land.SurfaceType.RUNWAY + + self:T2( IsAboveRunway ) + return IsAboveRunway + end + + return nil +end + + + +--- Returns the POSITIONABLE heading in degrees. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return #number The POSTIONABLE heading +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetHeading() + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + + local PositionablePosition = DCSPositionable:getPosition() + if PositionablePosition then + local PositionableHeading = math.atan2( PositionablePosition.x.z, PositionablePosition.x.x ) + if PositionableHeading < 0 then + PositionableHeading = PositionableHeading + 2 * math.pi + end + PositionableHeading = PositionableHeading * 180 / math.pi + self:T2( PositionableHeading ) + return PositionableHeading + end + end + + return nil +end + + +--- Returns true if the POSITIONABLE is in the air. +-- Polymorphic, is overridden in GROUP and UNIT. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return #boolean true if in the air. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:InAir() + self:F2( self.PositionableName ) + + return nil +end + + +--- Returns the POSITIONABLE velocity vector. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Dcs.DCSTypes#Vec3 The velocity vector +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetVelocity() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionableVelocityVec3 = DCSPositionable:getVelocity() + self:T3( PositionableVelocityVec3 ) + return PositionableVelocityVec3 + end + + return nil +end + +--- Returns the POSITIONABLE velocity in km/h. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return #number The velocity in km/h +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetVelocityKMH() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local VelocityVec3 = self:GetVelocity() + local Velocity = ( VelocityVec3.x ^ 2 + VelocityVec3.y ^ 2 + VelocityVec3.z ^ 2 ) ^ 0.5 -- in meters / sec + local Velocity = Velocity * 3.6 -- now it is in km/h. + self:T3( Velocity ) + return Velocity + end + + return nil +end + +--- Returns a message with the callsign embedded (if there is one). +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTypes#Duration Duration The duration of the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +-- @return Core.Message#MESSAGE +function POSITIONABLE:GetMessage( Message, Duration, Name ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + Name = Name or self:GetTypeName() + return MESSAGE:New( Message, Duration, self:GetCallsign() .. " (" .. Name .. ")" ) + end + + return nil +end + +--- Send a message to all coalitions. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTypes#Duration Duration The duration of the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +function POSITIONABLE:MessageToAll( Message, Duration, Name ) + self:F2( { Message, Duration } ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + self:GetMessage( Message, Duration, Name ):ToAll() + end + + return nil +end + +--- Send a message to a coalition. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTYpes#Duration Duration The duration of the message. +-- @param Dcs.DCScoalition#coalition MessageCoalition The Coalition receiving the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +function POSITIONABLE:MessageToCoalition( Message, Duration, MessageCoalition, Name ) + self:F2( { Message, Duration } ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + self:GetMessage( Message, Duration, Name ):ToCoalition( MessageCoalition ) + end + + return nil +end + + +--- Send a message to the red coalition. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTYpes#Duration Duration The duration of the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +function POSITIONABLE:MessageToRed( Message, Duration, Name ) + self:F2( { Message, Duration } ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + self:GetMessage( Message, Duration, Name ):ToRed() + end + + return nil +end + +--- Send a message to the blue coalition. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTypes#Duration Duration The duration of the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +function POSITIONABLE:MessageToBlue( Message, Duration, Name ) + self:F2( { Message, Duration } ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + self:GetMessage( Message, Duration, Name ):ToBlue() + end + + return nil +end + +--- Send a message to a client. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTypes#Duration Duration The duration of the message. +-- @param Wrapper.Client#CLIENT Client The client object receiving the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +function POSITIONABLE:MessageToClient( Message, Duration, Client, Name ) + self:F2( { Message, Duration } ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + self:GetMessage( Message, Duration, Name ):ToClient( Client ) + end + + return nil +end + +--- Send a message to a @{Group}. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTypes#Duration Duration The duration of the message. +-- @param Wrapper.Group#GROUP MessageGroup The GROUP object receiving the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +function POSITIONABLE:MessageToGroup( Message, Duration, MessageGroup, Name ) + self:F2( { Message, Duration } ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + if DCSObject:isExist() then + self:GetMessage( Message, Duration, Name ):ToGroup( MessageGroup ) + end + end + + return nil +end + +--- Send a message to the players in the @{Group}. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #POSITIONABLE self +-- @param #string Message The message text +-- @param Dcs.DCSTypes#Duration Duration The duration of the message. +-- @param #string Name (optional) The Name of the sender. If not provided, the Name is the type of the Positionable. +function POSITIONABLE:Message( Message, Duration, Name ) + self:F2( { Message, Duration } ) + + local DCSObject = self:GetDCSObject() + if DCSObject then + self:GetMessage( Message, Duration, Name ):ToGroup( self ) + end + + return nil +end + +--- Create a @{Radio#RADIO}, to allow radio transmission for this POSITIONABLE. +-- Set parameters with the methods provided, then use RADIO:Broadcast() to actually broadcast the message +-- @param #POSITIONABLE self +-- @return #RADIO Radio +function POSITIONABLE:GetRadio() + self:F2(self) + return RADIO:New(self) +end +--- This module contains the CONTROLLABLE class. +-- +-- 1) @{Controllable#CONTROLLABLE} class, extends @{Positionable#POSITIONABLE} +-- =========================================================== +-- The @{Controllable#CONTROLLABLE} class is a wrapper class to handle the DCS Controllable objects: +-- +-- * Support all DCS Controllable APIs. +-- * Enhance with Controllable specific APIs not in the DCS Controllable API set. +-- * Handle local Controllable Controller. +-- * Manage the "state" of the DCS Controllable. +-- +-- 1.1) CONTROLLABLE constructor +-- ----------------------------- +-- The CONTROLLABLE class provides the following functions to construct a CONTROLLABLE instance: +-- +-- * @{#CONTROLLABLE.New}(): Create a CONTROLLABLE instance. +-- +-- 1.2) CONTROLLABLE task methods +-- ------------------------------ +-- Several controllable task methods are available that help you to prepare tasks. +-- These methods return a string consisting of the task description, which can then be given to either a @{Controllable#CONTROLLABLE.PushTask} or @{Controllable#SetTask} method to assign the task to the CONTROLLABLE. +-- Tasks are specific for the category of the CONTROLLABLE, more specific, for AIR, GROUND or AIR and GROUND. +-- Each task description where applicable indicates for which controllable category the task is valid. +-- There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks. +-- +-- ### 1.2.1) Assigned task methods +-- +-- Assigned task methods make the controllable execute the task where the location of the (possible) targets of the task are known before being detected. +-- This is different from the EnRoute tasks, where the targets of the task need to be detected before the task can be executed. +-- +-- Find below a list of the **assigned task** methods: +-- +-- * @{#CONTROLLABLE.TaskAttackGroup}: (AIR) Attack a Controllable. +-- * @{#CONTROLLABLE.TaskAttackMapObject}: (AIR) Attacking the map object (building, structure, e.t.c). +-- * @{#CONTROLLABLE.TaskAttackUnit}: (AIR) Attack the Unit. +-- * @{#CONTROLLABLE.TaskBombing}: (AIR) Delivering weapon at the point on the ground. +-- * @{#CONTROLLABLE.TaskBombingRunway}: (AIR) Delivering weapon on the runway. +-- * @{#CONTROLLABLE.TaskEmbarking}: (AIR) Move the controllable to a Vec2 Point, wait for a defined duration and embark a controllable. +-- * @{#CONTROLLABLE.TaskEmbarkToTransport}: (GROUND) Embark to a Transport landed at a location. +-- * @{#CONTROLLABLE.TaskEscort}: (AIR) Escort another airborne controllable. +-- * @{#CONTROLLABLE.TaskFAC_AttackGroup}: (AIR + GROUND) The task makes the controllable/unit a FAC and orders the FAC to control the target (enemy ground controllable) destruction. +-- * @{#CONTROLLABLE.TaskFireAtPoint}: (GROUND) Fire some or all ammunition at a VEC2 point. +-- * @{#CONTROLLABLE.TaskFollow}: (AIR) Following another airborne controllable. +-- * @{#CONTROLLABLE.TaskHold}: (GROUND) Hold ground controllable from moving. +-- * @{#CONTROLLABLE.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the controllable. +-- * @{#CONTROLLABLE.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only. +-- * @{#CONTROLLABLE.TaskLandAtZone}: (AIR) Land the controllable at a @{Zone#ZONE_RADIUS). +-- * @{#CONTROLLABLE.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the controllable at a specified alititude. +-- * @{#CONTROLLABLE.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed. +-- * @{#CONTROLLABLE.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters. +-- * @{#CONTROLLABLE.TaskRoute}: (AIR + GROUND) Return a Misson task to follow a given route defined by Points. +-- * @{#CONTROLLABLE.TaskRouteToVec2}: (AIR + GROUND) Make the Controllable move to a given point. +-- * @{#CONTROLLABLE.TaskRouteToVec3}: (AIR + GROUND) Make the Controllable move to a given point. +-- * @{#CONTROLLABLE.TaskRouteToZone}: (AIR + GROUND) Route the controllable to a given zone. +-- * @{#CONTROLLABLE.TaskReturnToBase}: (AIR) Route the controllable to an airbase. +-- +-- ### 1.2.2) EnRoute task methods +-- +-- EnRoute tasks require the targets of the task need to be detected by the controllable (using its sensors) before the task can be executed: +-- +-- * @{#CONTROLLABLE.EnRouteTaskAWACS}: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters. +-- * @{#CONTROLLABLE.EnRouteTaskEngageControllable}: (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets. +-- * @{#CONTROLLABLE.EnRouteTaskEngageTargets}: (AIR) Engaging targets of defined types. +-- * @{#CONTROLLABLE.EnRouteTaskEWR}: (AIR) Attack the Unit. +-- * @{#CONTROLLABLE.EnRouteTaskFAC}: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose a targets (enemy ground controllable) around as well as other assigned targets. +-- * @{#CONTROLLABLE.EnRouteTaskFAC_EngageControllable}: (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose the target (enemy ground controllable) as well as other assigned targets. +-- * @{#CONTROLLABLE.EnRouteTaskTanker}: (AIR) Aircraft will act as a tanker for friendly units. No parameters. +-- +-- ### 1.2.3) Preparation task methods +-- +-- There are certain task methods that allow to tailor the task behaviour: +-- +-- * @{#CONTROLLABLE.TaskWrappedAction}: Return a WrappedAction Task taking a Command. +-- * @{#CONTROLLABLE.TaskCombo}: Return a Combo Task taking an array of Tasks. +-- * @{#CONTROLLABLE.TaskCondition}: Return a condition section for a controlled task. +-- * @{#CONTROLLABLE.TaskControlled}: Return a Controlled Task taking a Task and a TaskCondition. +-- +-- ### 1.2.4) Obtain the mission from controllable templates +-- +-- Controllable templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a controllable and assign it to another: +-- +-- * @{#CONTROLLABLE.TaskMission}: (AIR + GROUND) Return a mission task from a mission template. +-- +-- 1.3) CONTROLLABLE Command methods +-- -------------------------- +-- Controllable **command methods** prepare the execution of commands using the @{#CONTROLLABLE.SetCommand} method: +-- +-- * @{#CONTROLLABLE.CommandDoScript}: Do Script command. +-- * @{#CONTROLLABLE.CommandSwitchWayPoint}: Perform a switch waypoint command. +-- +-- 1.4) CONTROLLABLE Option methods +-- ------------------------- +-- Controllable **Option methods** change the behaviour of the Controllable while being alive. +-- +-- ### 1.4.1) Rule of Engagement: +-- +-- * @{#CONTROLLABLE.OptionROEWeaponFree} +-- * @{#CONTROLLABLE.OptionROEOpenFire} +-- * @{#CONTROLLABLE.OptionROEReturnFire} +-- * @{#CONTROLLABLE.OptionROEEvadeFire} +-- +-- To check whether an ROE option is valid for a specific controllable, use: +-- +-- * @{#CONTROLLABLE.OptionROEWeaponFreePossible} +-- * @{#CONTROLLABLE.OptionROEOpenFirePossible} +-- * @{#CONTROLLABLE.OptionROEReturnFirePossible} +-- * @{#CONTROLLABLE.OptionROEEvadeFirePossible} +-- +-- ### 1.4.2) Rule on thread: +-- +-- * @{#CONTROLLABLE.OptionROTNoReaction} +-- * @{#CONTROLLABLE.OptionROTPassiveDefense} +-- * @{#CONTROLLABLE.OptionROTEvadeFire} +-- * @{#CONTROLLABLE.OptionROTVertical} +-- +-- To test whether an ROT option is valid for a specific controllable, use: +-- +-- * @{#CONTROLLABLE.OptionROTNoReactionPossible} +-- * @{#CONTROLLABLE.OptionROTPassiveDefensePossible} +-- * @{#CONTROLLABLE.OptionROTEvadeFirePossible} +-- * @{#CONTROLLABLE.OptionROTVerticalPossible} +-- +-- === +-- +-- @module Controllable + +--- The CONTROLLABLE class +-- @type CONTROLLABLE +-- @extends Wrapper.Positionable#POSITIONABLE +-- @field Dcs.DCSWrapper.Controllable#Controllable DCSControllable The DCS controllable class. +-- @field #string ControllableName The name of the controllable. +CONTROLLABLE = { + ClassName = "CONTROLLABLE", + ControllableName = "", + WayPointFunctions = {}, +} + +--- Create a new CONTROLLABLE from a DCSControllable +-- @param #CONTROLLABLE self +-- @param Dcs.DCSWrapper.Controllable#Controllable ControllableName The DCS Controllable name +-- @return #CONTROLLABLE self +function CONTROLLABLE:New( ControllableName ) + local self = BASE:Inherit( self, POSITIONABLE:New( ControllableName ) ) + self:F2( ControllableName ) + self.ControllableName = ControllableName + + self.TaskScheduler = SCHEDULER:New( self ) + return self +end + +-- DCS Controllable methods support. + +--- Get the controller for the CONTROLLABLE. +-- @param #CONTROLLABLE self +-- @return Dcs.DCSController#Controller +function CONTROLLABLE:_GetController() + self:F2( { self.ControllableName } ) + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local ControllableController = DCSControllable:getController() + self:T3( ControllableController ) + return ControllableController + end + + return nil +end + +-- Get methods + +--- Returns the UNITs wrappers of the DCS Units of the Controllable (default is a GROUP). +-- @param #CONTROLLABLE self +-- @return #list The UNITs wrappers. +function CONTROLLABLE:GetUnits() + self:F2( { self.ControllableName } ) + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local DCSUnits = DCSControllable:getUnits() + local Units = {} + for Index, UnitData in pairs( DCSUnits ) do + Units[#Units+1] = UNIT:Find( UnitData ) + end + self:T3( Units ) + return Units + end + + return nil +end + + +--- Returns the health. Dead controllables have health <= 1.0. +-- @param #CONTROLLABLE self +-- @return #number The controllable health value (unit or group average). +-- @return #nil The controllable is not existing or alive. +function CONTROLLABLE:GetLife() + self:F2( self.ControllableName ) + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local UnitLife = 0 + local Units = self:GetUnits() + if #Units == 1 then + local Unit = Units[1] -- Wrapper.Unit#UNIT + UnitLife = Unit:GetLife() + else + local UnitLifeTotal = 0 + for UnitID, Unit in pairs( Units ) do + local Unit = Unit -- Wrapper.Unit#UNIT + UnitLifeTotal = UnitLifeTotal + Unit:GetLife() + end + UnitLife = UnitLifeTotal / #Units + end + return UnitLife + end + + return nil +end + + + +-- Tasks + +--- Clear all tasks from the controllable. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE +function CONTROLLABLE:ClearTasks() + self:F2() + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local Controller = self:_GetController() + Controller:resetTask() + return self + end + + return nil +end + + +--- Popping current Task from the controllable. +-- @param #CONTROLLABLE self +-- @return Wrapper.Controllable#CONTROLLABLE self +function CONTROLLABLE:PopCurrentTask() + self:F2() + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local Controller = self:_GetController() + Controller:popTask() + return self + end + + return nil +end + +--- Pushing Task on the queue from the controllable. +-- @param #CONTROLLABLE self +-- @return Wrapper.Controllable#CONTROLLABLE self +function CONTROLLABLE:PushTask( DCSTask, WaitTime ) + self:F2() + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local Controller = self:_GetController() + + -- When a controllable SPAWNs, it takes about a second to get the controllable in the simulator. Setting tasks to unspawned controllables provides unexpected results. + -- Therefore we schedule the functions to set the mission and options for the Controllable. + -- Controller:pushTask( DCSTask ) + + if WaitTime then + self.TaskScheduler:Schedule( Controller, Controller.pushTask, { DCSTask }, WaitTime ) + else + Controller:pushTask( DCSTask ) + end + + return self + end + + return nil +end + +--- Clearing the Task Queue and Setting the Task on the queue from the controllable. +-- @param #CONTROLLABLE self +-- @return Wrapper.Controllable#CONTROLLABLE self +function CONTROLLABLE:SetTask( DCSTask, WaitTime ) + self:F2( { DCSTask } ) + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + + local Controller = self:_GetController() + self:T3( Controller ) + + -- When a controllable SPAWNs, it takes about a second to get the controllable in the simulator. Setting tasks to unspawned controllables provides unexpected results. + -- Therefore we schedule the functions to set the mission and options for the Controllable. + -- Controller.setTask( Controller, DCSTask ) + + if not WaitTime then + Controller:setTask( DCSTask ) + else + self.TaskScheduler:Schedule( Controller, Controller.setTask, { DCSTask }, WaitTime ) + end + + return self + end + + return nil +end + + +--- Return a condition section for a controlled task. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTime#Time time +-- @param #string userFlag +-- @param #boolean userFlagValue +-- @param #string condition +-- @param Dcs.DCSTime#Time duration +-- @param #number lastWayPoint +-- return Dcs.DCSTasking.Task#Task +function CONTROLLABLE:TaskCondition( time, userFlag, userFlagValue, condition, duration, lastWayPoint ) + self:F2( { time, userFlag, userFlagValue, condition, duration, lastWayPoint } ) + + local DCSStopCondition = {} + DCSStopCondition.time = time + DCSStopCondition.userFlag = userFlag + DCSStopCondition.userFlagValue = userFlagValue + DCSStopCondition.condition = condition + DCSStopCondition.duration = duration + DCSStopCondition.lastWayPoint = lastWayPoint + + self:T3( { DCSStopCondition } ) + return DCSStopCondition +end + +--- Return a Controlled Task taking a Task and a TaskCondition. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTasking.Task#Task DCSTask +-- @param #DCSStopCondition DCSStopCondition +-- @return Dcs.DCSTasking.Task#Task +function CONTROLLABLE:TaskControlled( DCSTask, DCSStopCondition ) + self:F2( { DCSTask, DCSStopCondition } ) + + local DCSTaskControlled + + DCSTaskControlled = { + id = 'ControlledTask', + params = { + task = DCSTask, + stopCondition = DCSStopCondition + } + } + + self:T3( { DCSTaskControlled } ) + return DCSTaskControlled +end + +--- Return a Combo Task taking an array of Tasks. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTasking.Task#TaskArray DCSTasks Array of @{DCSTasking.Task#Task} +-- @return Dcs.DCSTasking.Task#Task +function CONTROLLABLE:TaskCombo( DCSTasks ) + self:F2( { DCSTasks } ) + + local DCSTaskCombo + + DCSTaskCombo = { + id = 'ComboTask', + params = { + tasks = DCSTasks + } + } + + for TaskID, Task in ipairs( DCSTasks ) do + self:E( Task ) + end + + self:T3( { DCSTaskCombo } ) + return DCSTaskCombo +end + +--- Return a WrappedAction Task taking a Command. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSCommand#Command DCSCommand +-- @return Dcs.DCSTasking.Task#Task +function CONTROLLABLE:TaskWrappedAction( DCSCommand, Index ) + self:F2( { DCSCommand } ) + + local DCSTaskWrappedAction + + DCSTaskWrappedAction = { + id = "WrappedAction", + enabled = true, + number = Index, + auto = false, + params = { + action = DCSCommand, + }, + } + + self:T3( { DCSTaskWrappedAction } ) + return DCSTaskWrappedAction +end + +--- Executes a command action +-- @param #CONTROLLABLE self +-- @param Dcs.DCSCommand#Command DCSCommand +-- @return #CONTROLLABLE self +function CONTROLLABLE:SetCommand( DCSCommand ) + self:F2( DCSCommand ) + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local Controller = self:_GetController() + Controller:setCommand( DCSCommand ) + return self + end + + return nil +end + +--- Perform a switch waypoint command +-- @param #CONTROLLABLE self +-- @param #number FromWayPoint +-- @param #number ToWayPoint +-- @return Dcs.DCSTasking.Task#Task +-- @usage +-- --- This test demonstrates the use(s) of the SwitchWayPoint method of the GROUP class. +-- HeliGroup = GROUP:FindByName( "Helicopter" ) +-- +-- --- Route the helicopter back to the FARP after 60 seconds. +-- -- We use the SCHEDULER class to do this. +-- SCHEDULER:New( nil, +-- function( HeliGroup ) +-- local CommandRTB = HeliGroup:CommandSwitchWayPoint( 2, 8 ) +-- HeliGroup:SetCommand( CommandRTB ) +-- end, { HeliGroup }, 90 +-- ) +function CONTROLLABLE:CommandSwitchWayPoint( FromWayPoint, ToWayPoint ) + self:F2( { FromWayPoint, ToWayPoint } ) + + local CommandSwitchWayPoint = { + id = 'SwitchWaypoint', + params = { + fromWaypointIndex = FromWayPoint, + goToWaypointIndex = ToWayPoint, + }, + } + + self:T3( { CommandSwitchWayPoint } ) + return CommandSwitchWayPoint +end + +--- Create a stop route command, which returns a string containing the command. +-- Use the result in the method @{#CONTROLLABLE.SetCommand}(). +-- A value of true will make the ground group stop, a value of false will make it continue. +-- Note that this can only work on GROUP level, although individual UNITs can be commanded, the whole GROUP will react. +-- +-- Example missions: +-- +-- * GRP-310 +-- +-- @param #CONTROLLABLE self +-- @param #boolean StopRoute true if the ground unit needs to stop, false if it needs to continue to move. +-- @return Dcs.DCSTasking.Task#Task +function CONTROLLABLE:CommandStopRoute( StopRoute ) + self:F2( { StopRoute } ) + + local CommandStopRoute = { + id = 'StopRoute', + params = { + value = StopRoute, + }, + } + + self:T3( { CommandStopRoute } ) + return CommandStopRoute +end + + +-- TASKS FOR AIR CONTROLLABLES + + +--- (AIR) Attack a Controllable. +-- @param #CONTROLLABLE self +-- @param Wrapper.Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked. +-- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. +-- @param Dcs.DCSTypes#Azimuth Direction (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +-- @param Dcs.DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude. +-- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackGroup" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskAttackGroup( AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) + + -- AttackGroup = { + -- id = 'AttackGroup', + -- params = { + -- groupId = Group.ID, + -- weaponType = number, + -- expend = enum AI.Task.WeaponExpend, + -- attackQty = number, + -- directionEnabled = boolean, + -- direction = Azimuth, + -- altitudeEnabled = boolean, + -- altitude = Distance, + -- attackQtyLimit = boolean, + -- } + -- } + + local DirectionEnabled = nil + if Direction then + DirectionEnabled = true + end + + local AltitudeEnabled = nil + if Altitude then + AltitudeEnabled = true + end + + local DCSTask + DCSTask = { id = 'AttackGroup', + params = { + groupId = AttackGroup:GetID(), + weaponType = WeaponType, + expend = WeaponExpend, + attackQty = AttackQty, + directionEnabled = DirectionEnabled, + direction = Direction, + altitudeEnabled = AltitudeEnabled, + altitude = Altitude, + attackQtyLimit = AttackQtyLimit, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + +--- (AIR) Attack the Unit. +-- @param #CONTROLLABLE self +-- @param Wrapper.Unit#UNIT AttackUnit The UNIT. +-- @param #boolean GroupAttack (optional) If true, all units in the group will attack the Unit when found. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. +-- @param Dcs.DCSTypes#Azimuth Direction (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +-- @param #number Altitude (optional) The altitude from where to attack. +-- @param #boolean Visible (optional) not a clue. +-- @param #number WeaponType (optional) The WeaponType. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskAttackUnit( AttackUnit, GroupAttack, WeaponExpend, AttackQty, Direction, Altitude, Visible, WeaponType ) + self:F2( { self.ControllableName, AttackUnit, GroupAttack, WeaponExpend, AttackQty, Direction, Altitude, Visible, WeaponType } ) + + local DCSTask + DCSTask = { + id = 'AttackUnit', + params = { + unitId = AttackUnit:GetID(), + groupAttack = GroupAttack or false, + visible = Visible or false, + expend = WeaponExpend or "Auto", + directionEnabled = Direction and true or false, + direction = Direction, + altitudeEnabled = Altitude and true or false, + altitude = Altitude or 30, + attackQtyLimit = AttackQty and true or false, + attackQty = AttackQty, + weaponType = WeaponType + } + } + + self:E( DCSTask ) + + return DCSTask +end + + +--- (AIR) Delivering weapon at the point on the ground. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Vec2 2D-coordinates of the point to deliver weapon at. +-- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number AttackQty (optional) Desired quantity of passes. The parameter is not the same in AttackGroup and AttackUnit tasks. +-- @param Dcs.DCSTypes#Azimuth Direction (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +-- @param #boolean ControllableAttack (optional) Flag indicates that the target must be engaged by all aircrafts of the controllable. Has effect only if the task is assigned to a controllable, not to a single aircraft. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskBombing( Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack ) + self:F2( { self.ControllableName, Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack } ) + +-- Bombing = { +-- id = 'Bombing', +-- params = { +-- point = Vec2, +-- weaponType = number, +-- expend = enum AI.Task.WeaponExpend, +-- attackQty = number, +-- direction = Azimuth, +-- controllableAttack = boolean, +-- } +-- } + + local DCSTask + DCSTask = { id = 'Bombing', + params = { + point = Vec2, + weaponType = WeaponType, + expend = WeaponExpend, + attackQty = AttackQty, + direction = Direction, + controllableAttack = ControllableAttack, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + +--- (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Point The point to hold the position. +-- @param #number Altitude The altitude to hold the position. +-- @param #number Speed The speed flying when holding the position. +-- @return #CONTROLLABLE self +function CONTROLLABLE:TaskOrbitCircleAtVec2( Point, Altitude, Speed ) + self:F2( { self.ControllableName, Point, Altitude, Speed } ) + + -- pattern = enum AI.Task.OribtPattern, + -- point = Vec2, + -- point2 = Vec2, + -- speed = Distance, + -- altitude = Distance + + local LandHeight = land.getHeight( Point ) + + self:T3( { LandHeight } ) + + local DCSTask = { id = 'Orbit', + params = { pattern = AI.Task.OrbitPattern.CIRCLE, + point = Point, + speed = Speed, + altitude = Altitude + LandHeight + } + } + + + -- local AITask = { id = 'ControlledTask', + -- params = { task = { id = 'Orbit', + -- params = { pattern = AI.Task.OrbitPattern.CIRCLE, + -- point = Point, + -- speed = Speed, + -- altitude = Altitude + LandHeight + -- } + -- }, + -- stopCondition = { duration = Duration + -- } + -- } + -- } + -- ) + + return DCSTask +end + +--- (AIR) Orbit at the current position of the first unit of the controllable at a specified alititude. +-- @param #CONTROLLABLE self +-- @param #number Altitude The altitude to hold the position. +-- @param #number Speed The speed flying when holding the position. +-- @return #CONTROLLABLE self +function CONTROLLABLE:TaskOrbitCircle( Altitude, Speed ) + self:F2( { self.ControllableName, Altitude, Speed } ) + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local ControllablePoint = self:GetVec2() + return self:TaskOrbitCircleAtVec2( ControllablePoint, Altitude, Speed ) + end + + return nil +end + + + +--- (AIR) Hold position at the current position of the first unit of the controllable. +-- @param #CONTROLLABLE self +-- @param #number Duration The maximum duration in seconds to hold the position. +-- @return #CONTROLLABLE self +function CONTROLLABLE:TaskHoldPosition() + self:F2( { self.ControllableName } ) + + return self:TaskOrbitCircle( 30, 10 ) +end + + + + +--- (AIR) Attacking the map object (building, structure, e.t.c). +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Vec2 2D-coordinates of the point the map object is closest to. The distance between the point and the map object must not be greater than 2000 meters. Object id is not used here because Mission Editor doesn't support map object identificators. +-- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. +-- @param Dcs.DCSTypes#Azimuth Direction (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +-- @param #boolean ControllableAttack (optional) Flag indicates that the target must be engaged by all aircrafts of the controllable. Has effect only if the task is assigned to a controllable, not to a single aircraft. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskAttackMapObject( Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack ) + self:F2( { self.ControllableName, Vec2, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack } ) + +-- AttackMapObject = { +-- id = 'AttackMapObject', +-- params = { +-- point = Vec2, +-- weaponType = number, +-- expend = enum AI.Task.WeaponExpend, +-- attackQty = number, +-- direction = Azimuth, +-- controllableAttack = boolean, +-- } +-- } + + local DCSTask + DCSTask = { id = 'AttackMapObject', + params = { + point = Vec2, + weaponType = WeaponType, + expend = WeaponExpend, + attackQty = AttackQty, + direction = Direction, + controllableAttack = ControllableAttack, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR) Delivering weapon on the runway. +-- @param #CONTROLLABLE self +-- @param Wrapper.Airbase#AIRBASE Airbase Airbase to attack. +-- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. +-- @param Dcs.DCSTypes#Azimuth Direction (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +-- @param #boolean ControllableAttack (optional) Flag indicates that the target must be engaged by all aircrafts of the controllable. Has effect only if the task is assigned to a controllable, not to a single aircraft. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskBombingRunway( Airbase, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack ) + self:F2( { self.ControllableName, Airbase, WeaponType, WeaponExpend, AttackQty, Direction, ControllableAttack } ) + +-- BombingRunway = { +-- id = 'BombingRunway', +-- params = { +-- runwayId = AirdromeId, +-- weaponType = number, +-- expend = enum AI.Task.WeaponExpend, +-- attackQty = number, +-- direction = Azimuth, +-- controllableAttack = boolean, +-- } +-- } + + local DCSTask + DCSTask = { id = 'BombingRunway', + params = { + point = Airbase:GetID(), + weaponType = WeaponType, + expend = WeaponExpend, + attackQty = AttackQty, + direction = Direction, + controllableAttack = ControllableAttack, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR) Refueling from the nearest tanker. No parameters. +-- @param #CONTROLLABLE self +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskRefueling() + self:F2( { self.ControllableName } ) + +-- Refueling = { +-- id = 'Refueling', +-- params = {} +-- } + + local DCSTask + DCSTask = { id = 'Refueling', + params = { + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR HELICOPTER) Landing at the ground. For helicopters only. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Point The point where to land. +-- @param #number Duration The duration in seconds to stay on the ground. +-- @return #CONTROLLABLE self +function CONTROLLABLE:TaskLandAtVec2( Point, Duration ) + self:F2( { self.ControllableName, Point, Duration } ) + +-- Land = { +-- id= 'Land', +-- params = { +-- point = Vec2, +-- durationFlag = boolean, +-- duration = Time +-- } +-- } + + local DCSTask + if Duration and Duration > 0 then + DCSTask = { id = 'Land', + params = { + point = Point, + durationFlag = true, + duration = Duration, + }, + } + else + DCSTask = { id = 'Land', + params = { + point = Point, + durationFlag = false, + }, + } + end + + self:T3( DCSTask ) + return DCSTask +end + +--- (AIR) Land the controllable at a @{Zone#ZONE_RADIUS). +-- @param #CONTROLLABLE self +-- @param Core.Zone#ZONE Zone The zone where to land. +-- @param #number Duration The duration in seconds to stay on the ground. +-- @return #CONTROLLABLE self +function CONTROLLABLE:TaskLandAtZone( Zone, Duration, RandomPoint ) + self:F2( { self.ControllableName, Zone, Duration, RandomPoint } ) + + local Point + if RandomPoint then + Point = Zone:GetRandomVec2() + else + Point = Zone:GetVec2() + end + + local DCSTask = self:TaskLandAtVec2( Point, Duration ) + + self:T3( DCSTask ) + return DCSTask +end + + + +--- (AIR) Following another airborne controllable. +-- The unit / controllable will follow lead unit of another controllable, wingmens of both controllables will continue following their leaders. +-- If another controllable is on land the unit / controllable will orbit around. +-- @param #CONTROLLABLE self +-- @param Wrapper.Controllable#CONTROLLABLE FollowControllable The controllable to be followed. +-- @param Dcs.DCSTypes#Vec3 Vec3 Position of the unit / lead unit of the controllable relative lead unit of another controllable in frame reference oriented by course of lead unit of another controllable. If another controllable is on land the unit / controllable will orbit around. +-- @param #number LastWaypointIndex Detach waypoint of another controllable. Once reached the unit / controllable Follow task is finished. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskFollow( FollowControllable, Vec3, LastWaypointIndex ) + self:F2( { self.ControllableName, FollowControllable, Vec3, LastWaypointIndex } ) + +-- Follow = { +-- id = 'Follow', +-- params = { +-- groupId = Group.ID, +-- pos = Vec3, +-- lastWptIndexFlag = boolean, +-- lastWptIndex = number +-- } +-- } + + local LastWaypointIndexFlag = false + if LastWaypointIndex then + LastWaypointIndexFlag = true + end + + local DCSTask + DCSTask = { + id = 'Follow', + params = { + groupId = FollowControllable:GetID(), + pos = Vec3, + lastWptIndexFlag = LastWaypointIndexFlag, + lastWptIndex = LastWaypointIndex + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR) Escort another airborne controllable. +-- The unit / controllable will follow lead unit of another controllable, wingmens of both controllables will continue following their leaders. +-- The unit / controllable will also protect that controllable from threats of specified types. +-- @param #CONTROLLABLE self +-- @param Wrapper.Controllable#CONTROLLABLE EscortControllable The controllable to be escorted. +-- @param Dcs.DCSTypes#Vec3 Vec3 Position of the unit / lead unit of the controllable relative lead unit of another controllable in frame reference oriented by course of lead unit of another controllable. If another controllable is on land the unit / controllable will orbit around. +-- @param #number LastWaypointIndex Detach waypoint of another controllable. Once reached the unit / controllable Follow task is finished. +-- @param #number EngagementDistanceMax Maximal distance from escorted controllable to threat. If the threat is already engaged by escort escort will disengage if the distance becomes greater than 1.5 * engagementDistMax. +-- @param Dcs.DCSTypes#AttributeNameArray TargetTypes Array of AttributeName that is contains threat categories allowed to engage. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskEscort( FollowControllable, Vec3, LastWaypointIndex, EngagementDistance, TargetTypes ) + self:F2( { self.ControllableName, FollowControllable, Vec3, LastWaypointIndex, EngagementDistance, TargetTypes } ) + +-- Escort = { +-- id = 'Escort', +-- params = { +-- groupId = Group.ID, +-- pos = Vec3, +-- lastWptIndexFlag = boolean, +-- lastWptIndex = number, +-- engagementDistMax = Distance, +-- targetTypes = array of AttributeName, +-- } +-- } + + local LastWaypointIndexFlag = false + if LastWaypointIndex then + LastWaypointIndexFlag = true + end + + local DCSTask + DCSTask = { id = 'Escort', + params = { + groupId = FollowControllable:GetID(), + pos = Vec3, + lastWptIndexFlag = LastWaypointIndexFlag, + lastWptIndex = LastWaypointIndex, + engagementDistMax = EngagementDistance, + targetTypes = TargetTypes, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + + +-- GROUND TASKS + +--- (GROUND) Fire at a VEC2 point until ammunition is finished. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Vec2 The point to fire at. +-- @param Dcs.DCSTypes#Distance Radius The radius of the zone to deploy the fire at. +-- @param #number AmmoCount (optional) Quantity of ammunition to expand (omit to fire until ammunition is depleted). +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskFireAtPoint( Vec2, Radius, AmmoCount ) + self:F2( { self.ControllableName, Vec2, Radius, AmmoCount } ) + + -- FireAtPoint = { + -- id = 'FireAtPoint', + -- params = { + -- point = Vec2, + -- radius = Distance, + -- expendQty = number, + -- expendQtyEnabled = boolean, + -- } + -- } + + local DCSTask + DCSTask = { id = 'FireAtPoint', + params = { + point = Vec2, + radius = Radius, + expendQty = 100, -- dummy value + expendQtyEnabled = false, + } + } + + if AmmoCount then + DCSTask.params.expendQty = AmmoCount + DCSTask.params.expendQtyEnabled = true + end + + self:T3( { DCSTask } ) + return DCSTask +end + +--- (GROUND) Hold ground controllable from moving. +-- @param #CONTROLLABLE self +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskHold() + self:F2( { self.ControllableName } ) + +-- Hold = { +-- id = 'Hold', +-- params = { +-- } +-- } + + local DCSTask + DCSTask = { id = 'Hold', + params = { + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + +-- TASKS FOR AIRBORNE AND GROUND UNITS/CONTROLLABLES + +--- (AIR + GROUND) The task makes the controllable/unit a FAC and orders the FAC to control the target (enemy ground controllable) destruction. +-- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC. +-- If the task is assigned to the controllable lead unit will be a FAC. +-- @param #CONTROLLABLE self +-- @param Wrapper.Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE. +-- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. +-- @param Dcs.DCSTypes#AI.Task.Designation Designation (optional) Designation type. +-- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskFAC_AttackGroup( AttackGroup, WeaponType, Designation, Datalink ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, Designation, Datalink } ) + +-- FAC_AttackGroup = { +-- id = 'FAC_AttackGroup', +-- params = { +-- groupId = Group.ID, +-- weaponType = number, +-- designation = enum AI.Task.Designation, +-- datalink = boolean +-- } +-- } + + local DCSTask + DCSTask = { id = 'FAC_AttackGroup', + params = { + groupId = AttackGroup:GetID(), + weaponType = WeaponType, + designation = Designation, + datalink = Datalink, + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + +-- EN-ACT_ROUTE TASKS FOR AIRBORNE CONTROLLABLES + +--- (AIR) Engaging targets of defined types. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Distance Distance Maximal distance from the target to a route leg. If the target is on a greater distance it will be ignored. +-- @param Dcs.DCSTypes#AttributeNameArray TargetTypes Array of target categories allowed to engage. +-- @param #number Priority All enroute tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskEngageTargets( Distance, TargetTypes, Priority ) + self:F2( { self.ControllableName, Distance, TargetTypes, Priority } ) + +-- EngageTargets ={ +-- id = 'EngageTargets', +-- params = { +-- maxDist = Distance, +-- targetTypes = array of AttributeName, +-- priority = number +-- } +-- } + + local DCSTask + DCSTask = { id = 'EngageTargets', + params = { + maxDist = Distance, + targetTypes = TargetTypes, + priority = Priority + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + + +--- (AIR) Engaging a targets of defined types at circle-shaped zone. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Vec2 2D-coordinates of the zone. +-- @param Dcs.DCSTypes#Distance Radius Radius of the zone. +-- @param Dcs.DCSTypes#AttributeNameArray TargetTypes Array of target categories allowed to engage. +-- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskEngageTargets( Vec2, Radius, TargetTypes, Priority ) + self:F2( { self.ControllableName, Vec2, Radius, TargetTypes, Priority } ) + +-- EngageTargetsInZone = { +-- id = 'EngageTargetsInZone', +-- params = { +-- point = Vec2, +-- zoneRadius = Distance, +-- targetTypes = array of AttributeName, +-- priority = number +-- } +-- } + + local DCSTask + DCSTask = { id = 'EngageTargetsInZone', + params = { + point = Vec2, + zoneRadius = Radius, + targetTypes = TargetTypes, + priority = Priority + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets. +-- @param #CONTROLLABLE self +-- @param Wrapper.Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked. +-- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. +-- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. +-- @param Dcs.DCSTypes#Azimuth Direction (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +-- @param Dcs.DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude. +-- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackGroup" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskEngageGroup( AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) + self:F2( { self.ControllableName, AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) + + -- EngageControllable = { + -- id = 'EngageControllable ', + -- params = { + -- groupId = Group.ID, + -- weaponType = number, + -- expend = enum AI.Task.WeaponExpend, + -- attackQty = number, + -- directionEnabled = boolean, + -- direction = Azimuth, + -- altitudeEnabled = boolean, + -- altitude = Distance, + -- attackQtyLimit = boolean, + -- priority = number, + -- } + -- } + + local DirectionEnabled = nil + if Direction then + DirectionEnabled = true + end + + local AltitudeEnabled = nil + if Altitude then + AltitudeEnabled = true + end + + local DCSTask + DCSTask = { id = 'EngageControllable', + params = { + groupId = AttackGroup:GetID(), + weaponType = WeaponType, + expend = WeaponExpend, + attackQty = AttackQty, + directionEnabled = DirectionEnabled, + direction = Direction, + altitudeEnabled = AltitudeEnabled, + altitude = Altitude, + attackQtyLimit = AttackQtyLimit, + priority = Priority, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR) Search and attack the Unit. +-- @param #CONTROLLABLE self +-- @param Wrapper.Unit#UNIT EngageUnit The UNIT. +-- @param #number Priority (optional) All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. +-- @param #boolean GroupAttack (optional) If true, all units in the group will attack the Unit when found. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. +-- @param Dcs.DCSTypes#Azimuth Direction (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +-- @param Dcs.DCSTypes#Distance Altitude (optional) Desired altitude to perform the unit engagement. +-- @param #boolean Visible (optional) Unit must be visible. +-- @param #boolean ControllableAttack (optional) Flag indicates that the target must be engaged by all aircrafts of the controllable. Has effect only if the task is assigned to a controllable, not to a single aircraft. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskEngageUnit( EngageUnit, Priority, GroupAttack, WeaponExpend, AttackQty, Direction, Altitude, Visible, ControllableAttack ) + self:F2( { self.ControllableName, EngageUnit, Priority, GroupAttack, WeaponExpend, AttackQty, Direction, Altitude, Visible, ControllableAttack } ) + + -- EngageUnit = { + -- id = 'EngageUnit', + -- params = { + -- unitId = Unit.ID, + -- weaponType = number, + -- expend = enum AI.Task.WeaponExpend + -- attackQty = number, + -- direction = Azimuth, + -- attackQtyLimit = boolean, + -- controllableAttack = boolean, + -- priority = number, + -- } + -- } + + local DCSTask + DCSTask = { id = 'EngageUnit', + params = { + unitId = EngageUnit:GetID(), + priority = Priority or 1, + groupAttack = GroupAttack or false, + visible = Visible or false, + expend = WeaponExpend or "Auto", + directionEnabled = Direction and true or false, + direction = Direction, + altitudeEnabled = Altitude and true or false, + altitude = Altitude, + attackQtyLimit = AttackQty and true or false, + attackQty = AttackQty, + controllableAttack = ControllableAttack, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + + + +--- (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters. +-- @param #CONTROLLABLE self +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskAWACS( ) + self:F2( { self.ControllableName } ) + +-- AWACS = { +-- id = 'AWACS', +-- params = { +-- } +-- } + + local DCSTask + DCSTask = { id = 'AWACS', + params = { + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR) Aircraft will act as a tanker for friendly units. No parameters. +-- @param #CONTROLLABLE self +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskTanker( ) + self:F2( { self.ControllableName } ) + +-- Tanker = { +-- id = 'Tanker', +-- params = { +-- } +-- } + + local DCSTask + DCSTask = { id = 'Tanker', + params = { + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + +-- En-route tasks for ground units/controllables + +--- (GROUND) Ground unit (EW-radar) will act as an EWR for friendly units (will provide them with information about contacts). No parameters. +-- @param #CONTROLLABLE self +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskEWR( ) + self:F2( { self.ControllableName } ) + +-- EWR = { +-- id = 'EWR', +-- params = { +-- } +-- } + + local DCSTask + DCSTask = { id = 'EWR', + params = { + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + +-- En-route tasks for airborne and ground units/controllables + +--- (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose the target (enemy ground controllable) as well as other assigned targets. +-- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC. +-- If the task is assigned to the controllable lead unit will be a FAC. +-- @param #CONTROLLABLE self +-- @param Wrapper.Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE. +-- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. +-- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. +-- @param Dcs.DCSTypes#AI.Task.Designation Designation (optional) Designation type. +-- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskFAC_EngageGroup( AttackGroup, Priority, WeaponType, Designation, Datalink ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, Priority, Designation, Datalink } ) + +-- FAC_EngageControllable = { +-- id = 'FAC_EngageControllable', +-- params = { +-- groupId = Group.ID, +-- weaponType = number, +-- designation = enum AI.Task.Designation, +-- datalink = boolean, +-- priority = number, +-- } +-- } + + local DCSTask + DCSTask = { id = 'FAC_EngageControllable', + params = { + groupId = AttackGroup:GetID(), + weaponType = WeaponType, + designation = Designation, + datalink = Datalink, + priority = Priority, + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + +--- (AIR + GROUND) The task makes the controllable/unit a FAC and lets the FAC to choose a targets (enemy ground controllable) around as well as other assigned targets. +-- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC. +-- If the task is assigned to the controllable lead unit will be a FAC. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Distance Radius The maximal distance from the FAC to a target. +-- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:EnRouteTaskFAC( Radius, Priority ) + self:F2( { self.ControllableName, Radius, Priority } ) + +-- FAC = { +-- id = 'FAC', +-- params = { +-- radius = Distance, +-- priority = number +-- } +-- } + + local DCSTask + DCSTask = { id = 'FAC', + params = { + radius = Radius, + priority = Priority + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + + + +--- (AIR) Move the controllable to a Vec2 Point, wait for a defined duration and embark a controllable. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Point The point where to wait. +-- @param #number Duration The duration in seconds to wait. +-- @param #CONTROLLABLE EmbarkingControllable The controllable to be embarked. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure +function CONTROLLABLE:TaskEmbarking( Point, Duration, EmbarkingControllable ) + self:F2( { self.ControllableName, Point, Duration, EmbarkingControllable.DCSControllable } ) + + local DCSTask + DCSTask = { id = 'Embarking', + params = { x = Point.x, + y = Point.y, + duration = Duration, + controllablesForEmbarking = { EmbarkingControllable.ControllableID }, + durationFlag = true, + distributionFlag = false, + distribution = {}, + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + +--- (GROUND) Embark to a Transport landed at a location. + +--- Move to a defined Vec2 Point, and embark to a controllable when arrived within a defined Radius. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec2 Point The point where to wait. +-- @param #number Radius The radius of the embarking zone around the Point. +-- @return Dcs.DCSTasking.Task#Task The DCS task structure. +function CONTROLLABLE:TaskEmbarkToTransport( Point, Radius ) + self:F2( { self.ControllableName, Point, Radius } ) + + local DCSTask --Dcs.DCSTasking.Task#Task + DCSTask = { id = 'EmbarkToTransport', + params = { x = Point.x, + y = Point.y, + zoneRadius = Radius, + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + + +--- (AIR + GROUND) Return a mission task from a mission template. +-- @param #CONTROLLABLE self +-- @param #table TaskMission A table containing the mission task. +-- @return Dcs.DCSTasking.Task#Task +function CONTROLLABLE:TaskMission( TaskMission ) + self:F2( Points ) + + local DCSTask + DCSTask = { id = 'Mission', params = { TaskMission, }, } + + self:T3( { DCSTask } ) + return DCSTask +end + +--- Return a Misson task to follow a given route defined by Points. +-- @param #CONTROLLABLE self +-- @param #table Points A table of route points. +-- @return Dcs.DCSTasking.Task#Task +function CONTROLLABLE:TaskRoute( Points ) + self:F2( Points ) + + local DCSTask + DCSTask = { id = 'Mission', params = { route = { points = Points, }, }, } + + self:T3( { DCSTask } ) + return DCSTask +end + +--- (AIR + GROUND) Make the Controllable move to fly to a given point. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec3 Point The destination point in Vec3 format. +-- @param #number Speed The speed to travel. +-- @return #CONTROLLABLE self +function CONTROLLABLE:RouteToVec2( Point, Speed ) + self:F2( { Point, Speed } ) + + local ControllablePoint = self:GetUnit( 1 ):GetVec2() + + local PointFrom = {} + PointFrom.x = ControllablePoint.x + PointFrom.y = ControllablePoint.y + PointFrom.type = "Turning Point" + PointFrom.action = "Turning Point" + PointFrom.speed = Speed + PointFrom.speed_locked = true + PointFrom.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local PointTo = {} + PointTo.x = Point.x + PointTo.y = Point.y + PointTo.type = "Turning Point" + PointTo.action = "Fly Over Point" + PointTo.speed = Speed + PointTo.speed_locked = true + PointTo.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local Points = { PointFrom, PointTo } + + self:T3( Points ) + + self:Route( Points ) + + return self +end + +--- (AIR + GROUND) Make the Controllable move to a given point. +-- @param #CONTROLLABLE self +-- @param Dcs.DCSTypes#Vec3 Point The destination point in Vec3 format. +-- @param #number Speed The speed to travel. +-- @return #CONTROLLABLE self +function CONTROLLABLE:RouteToVec3( Point, Speed ) + self:F2( { Point, Speed } ) + + local ControllableVec3 = self:GetUnit( 1 ):GetVec3() + + local PointFrom = {} + PointFrom.x = ControllableVec3.x + PointFrom.y = ControllableVec3.z + PointFrom.alt = ControllableVec3.y + PointFrom.alt_type = "BARO" + PointFrom.type = "Turning Point" + PointFrom.action = "Turning Point" + PointFrom.speed = Speed + PointFrom.speed_locked = true + PointFrom.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local PointTo = {} + PointTo.x = Point.x + PointTo.y = Point.z + PointTo.alt = Point.y + PointTo.alt_type = "BARO" + PointTo.type = "Turning Point" + PointTo.action = "Fly Over Point" + PointTo.speed = Speed + PointTo.speed_locked = true + PointTo.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local Points = { PointFrom, PointTo } + + self:T3( Points ) + + self:Route( Points ) + + return self +end + + + +--- Make the controllable to follow a given route. +-- @param #CONTROLLABLE self +-- @param #table GoPoints A table of Route Points. +-- @return #CONTROLLABLE self +function CONTROLLABLE:Route( GoPoints ) + self:F2( GoPoints ) + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + local Points = routines.utils.deepCopy( GoPoints ) + local MissionTask = { id = 'Mission', params = { route = { points = Points, }, }, } + local Controller = self:_GetController() + --Controller.setTask( Controller, MissionTask ) + self.TaskScheduler:Schedule( Controller, Controller.setTask, { MissionTask }, 1 ) + return self + end + + return nil +end + + + +--- (AIR + GROUND) Route the controllable to a given zone. +-- The controllable final destination point can be randomized. +-- A speed can be given in km/h. +-- A given formation can be given. +-- @param #CONTROLLABLE self +-- @param Core.Zone#ZONE Zone The zone where to route to. +-- @param #boolean Randomize Defines whether to target point gets randomized within the Zone. +-- @param #number Speed The speed. +-- @param Base#FORMATION Formation The formation string. +function CONTROLLABLE:TaskRouteToZone( Zone, Randomize, Speed, Formation ) + self:F2( Zone ) + + local DCSControllable = self:GetDCSObject() + + if DCSControllable then + + local ControllablePoint = self:GetVec2() + + local PointFrom = {} + PointFrom.x = ControllablePoint.x + PointFrom.y = ControllablePoint.y + PointFrom.type = "Turning Point" + PointFrom.action = Formation or "Cone" + PointFrom.speed = 20 / 1.6 + + + local PointTo = {} + local ZonePoint + + if Randomize then + ZonePoint = Zone:GetRandomVec2() + else + ZonePoint = Zone:GetVec2() + end + + PointTo.x = ZonePoint.x + PointTo.y = ZonePoint.y + PointTo.type = "Turning Point" + + if Formation then + PointTo.action = Formation + else + PointTo.action = "Cone" + end + + if Speed then + PointTo.speed = Speed + else + PointTo.speed = 20 / 1.6 + end + + local Points = { PointFrom, PointTo } + + self:T3( Points ) + + self:Route( Points ) + + return self + end + + return nil +end + + +-- Commands + +--- Do Script command +-- @param #CONTROLLABLE self +-- @param #string DoScript +-- @return #DCSCommand +function CONTROLLABLE:CommandDoScript( DoScript ) + + local DCSDoScript = { + id = "Script", + params = { + command = DoScript, + }, + } + + self:T3( DCSDoScript ) + return DCSDoScript +end + + +--- Return the mission template of the controllable. +-- @param #CONTROLLABLE self +-- @return #table The MissionTemplate +-- TODO: Rework the method how to retrieve a template ... +function CONTROLLABLE:GetTaskMission() + self:F2( self.ControllableName ) + + return routines.utils.deepCopy( _DATABASE.Templates.Controllables[self.ControllableName].Template ) +end + +--- Return the mission route of the controllable. +-- @param #CONTROLLABLE self +-- @return #table The mission route defined by points. +function CONTROLLABLE:GetTaskRoute() + self:F2( self.ControllableName ) + + return routines.utils.deepCopy( _DATABASE.Templates.Controllables[self.ControllableName].Template.route.points ) +end + + + +--- Return the route of a controllable by using the @{Database#DATABASE} class. +-- @param #CONTROLLABLE self +-- @param #number Begin The route point from where the copy will start. The base route point is 0. +-- @param #number End The route point where the copy will end. The End point is the last point - the End point. The last point has base 0. +-- @param #boolean Randomize Randomization of the route, when true. +-- @param #number Radius When randomization is on, the randomization is within the radius. +function CONTROLLABLE:CopyRoute( Begin, End, Randomize, Radius ) + self:F2( { Begin, End } ) + + local Points = {} + + -- Could be a Spawned Controllable + local ControllableName = string.match( self:GetName(), ".*#" ) + if ControllableName then + ControllableName = ControllableName:sub( 1, -2 ) + else + ControllableName = self:GetName() + end + + self:T3( { ControllableName } ) + + local Template = _DATABASE.Templates.Controllables[ControllableName].Template + + if Template then + if not Begin then + Begin = 0 + end + if not End then + End = 0 + end + + for TPointID = Begin + 1, #Template.route.points - End do + if Template.route.points[TPointID] then + Points[#Points+1] = routines.utils.deepCopy( Template.route.points[TPointID] ) + if Randomize then + if not Radius then + Radius = 500 + end + Points[#Points].x = Points[#Points].x + math.random( Radius * -1, Radius ) + Points[#Points].y = Points[#Points].y + math.random( Radius * -1, Radius ) + end + end + end + return Points + else + error( "Template not found for Controllable : " .. ControllableName ) + end + + return nil +end + + +--- Return the detected targets of the controllable. +-- The optional parametes specify the detection methods that can be applied. +-- If no detection method is given, the detection will use all the available methods by default. +-- @param Wrapper.Controllable#CONTROLLABLE self +-- @param #boolean DetectVisual (optional) +-- @param #boolean DetectOptical (optional) +-- @param #boolean DetectRadar (optional) +-- @param #boolean DetectIRST (optional) +-- @param #boolean DetectRWR (optional) +-- @param #boolean DetectDLINK (optional) +-- @return #table DetectedTargets +function CONTROLLABLE:GetDetectedTargets( DetectVisual, DetectOptical, DetectRadar, DetectIRST, DetectRWR, DetectDLINK ) + self:F2( self.ControllableName ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local DetectionVisual = ( DetectVisual and DetectVisual == true ) and Controller.Detection.VISUAL or nil + local DetectionOptical = ( DetectOptical and DetectOptical == true ) and Controller.Detection.OPTICAL or nil + local DetectionRadar = ( DetectRadar and DetectRadar == true ) and Controller.Detection.RADAR or nil + local DetectionIRST = ( DetectIRST and DetectIRST == true ) and Controller.Detection.IRST or nil + local DetectionRWR = ( DetectRWR and DetectRWR == true ) and Controller.Detection.RWR or nil + local DetectionDLINK = ( DetectDLINK and DetectDLINK == true ) and Controller.Detection.DLINK or nil + + + return self:_GetController():getDetectedTargets( DetectionVisual, DetectionOptical, DetectionRadar, DetectionIRST, DetectionRWR, DetectionDLINK ) + end + + return nil +end + +function CONTROLLABLE:IsTargetDetected( DCSObject ) + self:F2( self.ControllableName ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + + local TargetIsDetected, TargetIsVisible, TargetLastTime, TargetKnowType, TargetKnowDistance, TargetLastPos, TargetLastVelocity + = self:_GetController().isTargetDetected( self:_GetController(), DCSObject, + Controller.Detection.VISUAL, + Controller.Detection.OPTIC, + Controller.Detection.RADAR, + Controller.Detection.IRST, + Controller.Detection.RWR, + Controller.Detection.DLINK + ) + return TargetIsDetected, TargetIsVisible, TargetLastTime, TargetKnowType, TargetKnowDistance, TargetLastPos, TargetLastVelocity + end + + return nil +end + +-- Options + +--- Can the CONTROLLABLE hold their weapons? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROEHoldFirePossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() or self:IsGround() or self:IsShip() then + return true + end + + return false + end + + return nil +end + +--- Holding weapons. +-- @param Wrapper.Controllable#CONTROLLABLE self +-- @return Wrapper.Controllable#CONTROLLABLE self +function CONTROLLABLE:OptionROEHoldFire() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + elseif self:IsGround() then + Controller:setOption( AI.Option.Ground.id.ROE, AI.Option.Ground.val.ROE.WEAPON_HOLD ) + elseif self:IsShip() then + Controller:setOption( AI.Option.Naval.id.ROE, AI.Option.Naval.val.ROE.WEAPON_HOLD ) + end + + return self + end + + return nil +end + +--- Can the CONTROLLABLE attack returning on enemy fire? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROEReturnFirePossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() or self:IsGround() or self:IsShip() then + return true + end + + return false + end + + return nil +end + +--- Return fire. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE self +function CONTROLLABLE:OptionROEReturnFire() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.RETURN_FIRE ) + elseif self:IsGround() then + Controller:setOption( AI.Option.Ground.id.ROE, AI.Option.Ground.val.ROE.RETURN_FIRE ) + elseif self:IsShip() then + Controller:setOption( AI.Option.Naval.id.ROE, AI.Option.Naval.val.ROE.RETURN_FIRE ) + end + + return self + end + + return nil +end + +--- Can the CONTROLLABLE attack designated targets? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROEOpenFirePossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() or self:IsGround() or self:IsShip() then + return true + end + + return false + end + + return nil +end + +--- Openfire. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE self +function CONTROLLABLE:OptionROEOpenFire() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + elseif self:IsGround() then + Controller:setOption( AI.Option.Ground.id.ROE, AI.Option.Ground.val.ROE.OPEN_FIRE ) + elseif self:IsShip() then + Controller:setOption( AI.Option.Naval.id.ROE, AI.Option.Naval.val.ROE.OPEN_FIRE ) + end + + return self + end + + return nil +end + +--- Can the CONTROLLABLE attack targets of opportunity? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROEWeaponFreePossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + +--- Weapon free. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE self +function CONTROLLABLE:OptionROEWeaponFree() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_FREE ) + end + + return self + end + + return nil +end + +--- Can the CONTROLLABLE ignore enemy fire? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROTNoReactionPossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + + +--- No evasion on enemy threats. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE self +function CONTROLLABLE:OptionROTNoReaction() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.NO_REACTION ) + end + + return self + end + + return nil +end + +--- Can the CONTROLLABLE evade using passive defenses? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROTPassiveDefensePossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + +--- Evasion passive defense. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE self +function CONTROLLABLE:OptionROTPassiveDefense() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.PASSIVE_DEFENCE ) + end + + return self + end + + return nil +end + +--- Can the CONTROLLABLE evade on enemy fire? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROTEvadeFirePossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + + +--- Evade on fire. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE self +function CONTROLLABLE:OptionROTEvadeFire() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + end + + return self + end + + return nil +end + +--- Can the CONTROLLABLE evade on fire using vertical manoeuvres? +-- @param #CONTROLLABLE self +-- @return #boolean +function CONTROLLABLE:OptionROTVerticalPossible() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + + +--- Evade on fire using vertical manoeuvres. +-- @param #CONTROLLABLE self +-- @return #CONTROLLABLE self +function CONTROLLABLE:OptionROTVertical() + self:F2( { self.ControllableName } ) + + local DCSControllable = self:GetDCSObject() + if DCSControllable then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE ) + end + + return self + end + + return nil +end + +--- Retrieve the controllable mission and allow to place function hooks within the mission waypoint plan. +-- Use the method @{Controllable#CONTROLLABLE:WayPointFunction} to define the hook functions for specific waypoints. +-- Use the method @{Controllable@CONTROLLABLE:WayPointExecute) to start the execution of the new mission plan. +-- Note that when WayPointInitialize is called, the Mission of the controllable is RESTARTED! +-- @param #CONTROLLABLE self +-- @param #table WayPoints If WayPoints is given, then use the route. +-- @return #CONTROLLABLE +function CONTROLLABLE:WayPointInitialize( WayPoints ) + self:F( { WayPoints } ) + + if WayPoints then + self.WayPoints = WayPoints + else + self.WayPoints = self:GetTaskRoute() + end + + return self +end + +--- Get the current WayPoints set with the WayPoint functions( Note that the WayPoints can be nil, although there ARE waypoints). +-- @param #CONTROLLABLE self +-- @return #table WayPoints If WayPoints is given, then return the WayPoints structure. +function CONTROLLABLE:GetWayPoints() + self:F( ) + + if self.WayPoints then + return self.WayPoints + end + + return nil +end + +--- Registers a waypoint function that will be executed when the controllable moves over the WayPoint. +-- @param #CONTROLLABLE self +-- @param #number WayPoint The waypoint number. Note that the start waypoint on the route is WayPoint 1! +-- @param #number WayPointIndex When defining multiple WayPoint functions for one WayPoint, use WayPointIndex to set the sequence of actions. +-- @param #function WayPointFunction The waypoint function to be called when the controllable moves over the waypoint. The waypoint function takes variable parameters. +-- @return #CONTROLLABLE +function CONTROLLABLE:WayPointFunction( WayPoint, WayPointIndex, WayPointFunction, ... ) + self:F2( { WayPoint, WayPointIndex, WayPointFunction } ) + + table.insert( self.WayPoints[WayPoint].task.params.tasks, WayPointIndex ) + self.WayPoints[WayPoint].task.params.tasks[WayPointIndex] = self:TaskFunction( WayPoint, WayPointIndex, WayPointFunction, arg ) + return self +end + + +function CONTROLLABLE:TaskFunction( WayPoint, WayPointIndex, FunctionString, FunctionArguments ) + self:F2( { WayPoint, WayPointIndex, FunctionString, FunctionArguments } ) + + local DCSTask + + local DCSScript = {} + DCSScript[#DCSScript+1] = "local MissionControllable = GROUP:Find( ... ) " + + if FunctionArguments and #FunctionArguments > 0 then + DCSScript[#DCSScript+1] = FunctionString .. "( MissionControllable, " .. table.concat( FunctionArguments, "," ) .. ")" + else + DCSScript[#DCSScript+1] = FunctionString .. "( MissionControllable )" + end + + DCSTask = self:TaskWrappedAction( + self:CommandDoScript( + table.concat( DCSScript ) + ), WayPointIndex + ) + + self:T3( DCSTask ) + + return DCSTask + +end + +--- Executes the WayPoint plan. +-- The function gets a WayPoint parameter, that you can use to restart the mission at a specific WayPoint. +-- Note that when the WayPoint parameter is used, the new start mission waypoint of the controllable will be 1! +-- @param #CONTROLLABLE self +-- @param #number WayPoint The WayPoint from where to execute the mission. +-- @param #number WaitTime The amount seconds to wait before initiating the mission. +-- @return #CONTROLLABLE +function CONTROLLABLE:WayPointExecute( WayPoint, WaitTime ) + self:F( { WayPoint, WaitTime } ) + + if not WayPoint then + WayPoint = 1 + end + + -- When starting the mission from a certain point, the TaskPoints need to be deleted before the given WayPoint. + for TaskPointID = 1, WayPoint - 1 do + table.remove( self.WayPoints, 1 ) + end + + self:T3( self.WayPoints ) + + self:SetTask( self:TaskRoute( self.WayPoints ), WaitTime ) + + return self +end + +-- Message APIs--- **Wrapper** -- GROUP is a wrapper class for the DCS Class Group. +-- +-- === +-- +-- The @{#GROUP} class is a wrapper class to handle the DCS Group objects: +-- +-- * Support all DCS Group APIs. +-- * Enhance with Group specific APIs not in the DCS Group API set. +-- * Handle local Group Controller. +-- * Manage the "state" of the DCS Group. +-- +-- **IMPORTANT: ONE SHOULD NEVER SANATIZE these GROUP OBJECT REFERENCES! (make the GROUP object references nil).** +-- +-- See the detailed documentation on the GROUP class. +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-03-26: GROUP:**RouteRTB( RTBAirbase, Speed )** added. +-- +-- 2017-03-07: GROUP:**HandleEvent( Event, EventFunction )** added. +-- 2017-03-07: GROUP:**UnHandleEvent( Event )** added. +-- +-- 2017-01-24: GROUP:**SetAIOnOff( AIOnOff )** added. +-- +-- 2017-01-24: GROUP:**SetAIOn()** added. +-- +-- 2017-01-24: GROUP:**SetAIOff()** added. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * [**Entropy**](https://forums.eagle.ru/member.php?u=111471), **Afinegan**: Came up with the requirement for AIOnOff(). +-- +-- ### Authors: +-- +-- * **FlightControl**: Design & Programming +-- +-- @module Group +-- @author FlightControl + +--- @type GROUP +-- @extends Wrapper.Controllable#CONTROLLABLE +-- @field #string GroupName The name of the group. + +--- +-- # GROUP class, extends @{Controllable#CONTROLLABLE} +-- +-- For each DCS Group object alive within a running mission, a GROUP wrapper object (instance) will be created within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Group objects are spawned (using the @{SPAWN} class). +-- +-- The GROUP class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference +-- using the DCS Group or the DCS GroupName. +-- +-- Another thing to know is that GROUP objects do not "contain" the DCS Group object. +-- The GROUP methods will reference the DCS Group object by name when it is needed during API execution. +-- If the DCS Group object does not exist or is nil, the GROUP methods will return nil and log an exception in the DCS.log file. +-- +-- The GROUP class provides the following functions to retrieve quickly the relevant GROUP instance: +-- +-- * @{#GROUP.Find}(): Find a GROUP instance from the _DATABASE object using a DCS Group object. +-- * @{#GROUP.FindByName}(): Find a GROUP instance from the _DATABASE object using a DCS Group name. +-- +-- ## GROUP task methods +-- +-- A GROUP is a @{Controllable}. See the @{Controllable} task methods section for a description of the task methods. +-- +-- ### Obtain the mission from group templates +-- +-- Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another: +-- +-- * @{Controllable#CONTROLLABLE.TaskMission}: (AIR + GROUND) Return a mission task from a mission template. +-- +-- ## GROUP Command methods +-- +-- A GROUP is a @{Controllable}. See the @{Controllable} command methods section for a description of the command methods. +-- +-- ## GROUP option methods +-- +-- A GROUP is a @{Controllable}. See the @{Controllable} option methods section for a description of the option methods. +-- +-- ## GROUP Zone validation methods +-- +-- The group can be validated whether it is completely, partly or not within a @{Zone}. +-- Use the following Zone validation methods on the group: +-- +-- * @{#GROUP.IsCompletelyInZone}: Returns true if all units of the group are within a @{Zone}. +-- * @{#GROUP.IsPartlyInZone}: Returns true if some units of the group are within a @{Zone}. +-- * @{#GROUP.IsNotInZone}: Returns true if none of the group units of the group are within a @{Zone}. +-- +-- The zone can be of any @{Zone} class derived from @{Zone#ZONE_BASE}. So, these methods are polymorphic to the zones tested on. +-- +-- ## GROUP AI methods +-- +-- A GROUP has AI methods to control the AI activation. +-- +-- * @{#GROUP.SetAIOnOff}(): Turns the GROUP AI On or Off. +-- * @{#GROUP.SetAIOn}(): Turns the GROUP AI On. +-- * @{#GROUP.SetAIOff}(): Turns the GROUP AI Off. +-- +-- @field #GROUP GROUP +GROUP = { + ClassName = "GROUP", +} + +--- Create a new GROUP from a DCSGroup +-- @param #GROUP self +-- @param Dcs.DCSWrapper.Group#Group GroupName The DCS Group name +-- @return #GROUP self +function GROUP:Register( GroupName ) + self = BASE:Inherit( self, CONTROLLABLE:New( GroupName ) ) + self:F2( GroupName ) + self.GroupName = GroupName + + self:SetEventPriority( 4 ) + return self +end + +-- Reference methods. + +--- Find the GROUP wrapper class instance using the DCS Group. +-- @param #GROUP self +-- @param Dcs.DCSWrapper.Group#Group DCSGroup The DCS Group. +-- @return #GROUP The GROUP. +function GROUP:Find( DCSGroup ) + + local GroupName = DCSGroup:getName() -- Wrapper.Group#GROUP + local GroupFound = _DATABASE:FindGroup( GroupName ) + return GroupFound +end + +--- Find the created GROUP using the DCS Group Name. +-- @param #GROUP self +-- @param #string GroupName The DCS Group Name. +-- @return #GROUP The GROUP. +function GROUP:FindByName( GroupName ) + + local GroupFound = _DATABASE:FindGroup( GroupName ) + return GroupFound +end + +-- DCS Group methods support. + +--- Returns the DCS Group. +-- @param #GROUP self +-- @return Dcs.DCSWrapper.Group#Group The DCS Group. +function GROUP:GetDCSObject() + local DCSGroup = Group.getByName( self.GroupName ) + + if DCSGroup then + return DCSGroup + end + + return nil +end + +--- Returns the @{DCSTypes#Position3} position vectors indicating the point and direction vectors in 3D of the POSITIONABLE within the mission. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Dcs.DCSTypes#Position The 3D position vectors of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function GROUP:GetPositionVec3() -- Overridden from POSITIONABLE:GetPositionVec3() + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionablePosition = DCSPositionable:getUnits()[1]:getPosition().p + self:T3( PositionablePosition ) + return PositionablePosition + end + + return nil +end + +--- Returns if the Group is alive. +-- The Group must: +-- +-- * Exist at run-time. +-- * Has at least one unit. +-- +-- When the first @{Unit} of the Group is active, it will return true. +-- If the first @{Unit} of the Group is inactive, it will return false. +-- +-- @param #GROUP self +-- @return #boolean true if the Group is alive and active. +-- @return #boolean false if the Group is alive but inactive. +-- @return #nil if the group does not exist anymore. +function GROUP:IsAlive() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() -- Dcs.DCSGroup#Group + + if DCSGroup then + if DCSGroup:isExist() then + local DCSUnit = DCSGroup:getUnit(1) -- Dcs.DCSUnit#Unit + if DCSUnit then + local GroupIsAlive = DCSUnit:isActive() + self:T3( GroupIsAlive ) + return GroupIsAlive + end + end + end + + return nil +end + +--- Destroys the DCS Group and all of its DCS Units. +-- Note that this destroy method also raises a destroy event at run-time. +-- So all event listeners will catch the destroy event of this DCS Group. +-- @param #GROUP self +function GROUP:Destroy() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + for Index, UnitData in pairs( DCSGroup:getUnits() ) do + self:CreateEventCrash( timer.getTime(), UnitData ) + end + DCSGroup:destroy() + DCSGroup = nil + end + + return nil +end + +--- Returns category of the DCS Group. +-- @param #GROUP self +-- @return Dcs.DCSWrapper.Group#Group.Category The category ID +function GROUP:GetCategory() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T3( GroupCategory ) + return GroupCategory + end + + return nil +end + +--- Returns the category name of the #GROUP. +-- @param #GROUP self +-- @return #string Category name = Helicopter, Airplane, Ground Unit, Ship +function GROUP:GetCategoryName() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + if DCSGroup then + local CategoryNames = { + [Group.Category.AIRPLANE] = "Airplane", + [Group.Category.HELICOPTER] = "Helicopter", + [Group.Category.GROUND] = "Ground Unit", + [Group.Category.SHIP] = "Ship", + } + local GroupCategory = DCSGroup:getCategory() + self:T3( GroupCategory ) + + return CategoryNames[GroupCategory] + end + + return nil +end + + +--- Returns the coalition of the DCS Group. +-- @param #GROUP self +-- @return Dcs.DCSCoalitionWrapper.Object#coalition.side The coalition side of the DCS Group. +function GROUP:GetCoalition() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + if DCSGroup then + local GroupCoalition = DCSGroup:getCoalition() + self:T3( GroupCoalition ) + return GroupCoalition + end + + return nil +end + +--- Returns the country of the DCS Group. +-- @param #GROUP self +-- @return Dcs.DCScountry#country.id The country identifier. +-- @return #nil The DCS Group is not existing or alive. +function GROUP:GetCountry() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + if DCSGroup then + local GroupCountry = DCSGroup:getUnit(1):getCountry() + self:T3( GroupCountry ) + return GroupCountry + end + + return nil +end + +--- Returns the UNIT wrapper class with number UnitNumber. +-- If the underlying DCS Unit does not exist, the method will return nil. . +-- @param #GROUP self +-- @param #number UnitNumber The number of the UNIT wrapper class to be returned. +-- @return Wrapper.Unit#UNIT The UNIT wrapper class. +function GROUP:GetUnit( UnitNumber ) + self:F2( { self.GroupName, UnitNumber } ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local UnitFound = UNIT:Find( DCSGroup:getUnit( UnitNumber ) ) + self:T2( UnitFound ) + return UnitFound + end + + return nil +end + +--- Returns the DCS Unit with number UnitNumber. +-- If the underlying DCS Unit does not exist, the method will return nil. . +-- @param #GROUP self +-- @param #number UnitNumber The number of the DCS Unit to be returned. +-- @return Dcs.DCSWrapper.Unit#Unit The DCS Unit. +function GROUP:GetDCSUnit( UnitNumber ) + self:F2( { self.GroupName, UnitNumber } ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local DCSUnitFound = DCSGroup:getUnit( UnitNumber ) + self:T3( DCSUnitFound ) + return DCSUnitFound + end + + return nil +end + +--- Returns current size of the DCS Group. +-- If some of the DCS Units of the DCS Group are destroyed the size of the DCS Group is changed. +-- @param #GROUP self +-- @return #number The DCS Group size. +function GROUP:GetSize() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupSize = DCSGroup:getSize() + self:T3( GroupSize ) + return GroupSize + end + + return nil +end + +--- +--- Returns the initial size of the DCS Group. +-- If some of the DCS Units of the DCS Group are destroyed, the initial size of the DCS Group is unchanged. +-- @param #GROUP self +-- @return #number The DCS Group initial size. +function GROUP:GetInitialSize() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupInitialSize = DCSGroup:getInitialSize() + self:T3( GroupInitialSize ) + return GroupInitialSize + end + + return nil +end + + +--- Returns the DCS Units of the DCS Group. +-- @param #GROUP self +-- @return #table The DCS Units. +function GROUP:GetDCSUnits() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local DCSUnits = DCSGroup:getUnits() + self:T3( DCSUnits ) + return DCSUnits + end + + return nil +end + + +--- Activates a GROUP. +-- @param #GROUP self +function GROUP:Activate() + self:F2( { self.GroupName } ) + trigger.action.activateGroup( self:GetDCSObject() ) + return self:GetDCSObject() +end + + +--- Gets the type name of the group. +-- @param #GROUP self +-- @return #string The type name of the group. +function GROUP:GetTypeName() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupTypeName = DCSGroup:getUnit(1):getTypeName() + self:T3( GroupTypeName ) + return( GroupTypeName ) + end + + return nil +end + +--- Gets the CallSign of the first DCS Unit of the DCS Group. +-- @param #GROUP self +-- @return #string The CallSign of the first DCS Unit of the DCS Group. +function GROUP:GetCallsign() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupCallSign = DCSGroup:getUnit(1):getCallsign() + self:T3( GroupCallSign ) + return GroupCallSign + end + + return nil +end + +--- Returns the current point (Vec2 vector) of the first DCS Unit in the DCS Group. +-- @param #GROUP self +-- @return Dcs.DCSTypes#Vec2 Current Vec2 point of the first DCS Unit of the DCS Group. +function GROUP:GetVec2() + self:F2( self.GroupName ) + + local UnitPoint = self:GetUnit(1) + UnitPoint:GetVec2() + local GroupPointVec2 = UnitPoint:GetVec2() + self:T3( GroupPointVec2 ) + return GroupPointVec2 +end + +--- Returns the current Vec3 vector of the first DCS Unit in the GROUP. +-- @param #GROUP self +-- @return Dcs.DCSTypes#Vec3 Current Vec3 of the first DCS Unit of the GROUP. +function GROUP:GetVec3() + self:F2( self.GroupName ) + + local GroupVec3 = self:GetUnit(1):GetVec3() + self:T3( GroupVec3 ) + return GroupVec3 +end + +--- Returns a POINT_VEC2 object indicating the point in 2D of the first UNIT of the GROUP within the mission. +-- @param #GROUP self +-- @return Core.Point#POINT_VEC2 The 2D point vector of the first DCS Unit of the GROUP. +-- @return #nil The first UNIT is not existing or alive. +function GROUP:GetPointVec2() + self:F2(self.GroupName) + + local FirstUnit = self:GetUnit(1) + + if FirstUnit then + local FirstUnitPointVec2 = FirstUnit:GetPointVec2() + self:T3(FirstUnitPointVec2) + return FirstUnitPointVec2 + end + + return nil +end + +--- Returns a random @{DCSTypes#Vec3} vector (point in 3D of the UNIT within the mission) within a range around the first UNIT of the GROUP. +-- @param #GROUP self +-- @param #number Radius +-- @return Dcs.DCSTypes#Vec3 The random 3D point vector around the first UNIT of the GROUP. +-- @return #nil The GROUP is invalid or empty +-- @usage +-- -- If Radius is ignored, returns the Dcs.DCSTypes#Vec3 of first UNIT of the GROUP +function GROUP:GetRandomVec3(Radius) + self:F2(self.GroupName) + + local FirstUnit = self:GetUnit(1) + + if FirstUnit then + local FirstUnitRandomPointVec3 = FirstUnit:GetRandomVec3(Radius) + self:T3(FirstUnitRandomPointVec3) + return FirstUnitRandomPointVec3 + end + + return nil +end + +--- Returns the mean heading of every UNIT in the GROUP in degrees +-- @param #GROUP self +-- @return #number mean heading of the GROUP +-- @return #nil The first UNIT is not existing or alive. +function GROUP:GetHeading() + self:F2(self.GroupName) + + local GroupSize = self:GetSize() + local HeadingAccumulator = 0 + + if GroupSize then + for i = 1, GroupSize do + HeadingAccumulator = HeadingAccumulator + self:GetUnit(i):GetHeading() + end + return math.floor(HeadingAccumulator / GroupSize) + end + + return nil + +end + +do -- Is Zone methods + +--- Returns true if all units of the group are within a @{Zone}. +-- @param #GROUP self +-- @param Core.Zone#ZONE_BASE Zone The zone to test. +-- @return #boolean Returns true if the Group is completely within the @{Zone#ZONE_BASE} +function GROUP:IsCompletelyInZone( Zone ) + self:F2( { self.GroupName, Zone } ) + + for UnitID, UnitData in pairs( self:GetUnits() ) do + local Unit = UnitData -- Wrapper.Unit#UNIT + if Zone:IsVec3InZone( Unit:GetVec3() ) then + else + return false + end + end + + return true +end + +--- Returns true if some units of the group are within a @{Zone}. +-- @param #GROUP self +-- @param Core.Zone#ZONE_BASE Zone The zone to test. +-- @return #boolean Returns true if the Group is partially within the @{Zone#ZONE_BASE} +function GROUP:IsPartlyInZone( Zone ) + self:F2( { self.GroupName, Zone } ) + + local PartlyInZone = false + + for UnitID, UnitData in pairs( self:GetUnits() ) do + local Unit = UnitData -- Wrapper.Unit#UNIT + if Zone:IsVec3InZone( Unit:GetVec3() ) then + PartlyInZone = true + else + -- So, if there were groups in the zone found, and suddenly one NOT in the zone, + -- then the group is partialy in the zone :-) + if PartlyInZone == true then + return true + end + end + end + + return false +end + +--- Returns true if none of the group units of the group are within a @{Zone}. +-- @param #GROUP self +-- @param Core.Zone#ZONE_BASE Zone The zone to test. +-- @return #boolean Returns true if the Group is not within the @{Zone#ZONE_BASE} +function GROUP:IsNotInZone( Zone ) + self:F2( { self.GroupName, Zone } ) + + for UnitID, UnitData in pairs( self:GetUnits() ) do + local Unit = UnitData -- Wrapper.Unit#UNIT + if Zone:IsVec3InZone( Unit:GetVec3() ) then + return false + end + end + + return true +end + +--- Returns if the group is of an air category. +-- If the group is a helicopter or a plane, then this method will return true, otherwise false. +-- @param #GROUP self +-- @return #boolean Air category evaluation result. +function GROUP:IsAir() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local IsAirResult = DCSGroup:getCategory() == Group.Category.AIRPLANE or DCSGroup:getCategory() == Group.Category.HELICOPTER + self:T3( IsAirResult ) + return IsAirResult + end + + return nil +end + +--- Returns if the DCS Group contains Helicopters. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains Helicopters. +function GROUP:IsHelicopter() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.HELICOPTER + end + + return nil +end + +--- Returns if the DCS Group contains AirPlanes. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains AirPlanes. +function GROUP:IsAirPlane() + self:F2() + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.AIRPLANE + end + + return nil +end + +--- Returns if the DCS Group contains Ground troops. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains Ground troops. +function GROUP:IsGround() + self:F2() + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.GROUND + end + + return nil +end + +--- Returns if the DCS Group contains Ships. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains Ships. +function GROUP:IsShip() + self:F2() + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.SHIP + end + + return nil +end + +--- Returns if all units of the group are on the ground or landed. +-- If all units of this group are on the ground, this function will return true, otherwise false. +-- @param #GROUP self +-- @return #boolean All units on the ground result. +function GROUP:AllOnGround() + self:F2() + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local AllOnGroundResult = true + + for Index, UnitData in pairs( DCSGroup:getUnits() ) do + if UnitData:inAir() then + AllOnGroundResult = false + end + end + + self:T3( AllOnGroundResult ) + return AllOnGroundResult + end + + return nil +end + +end + +do -- AI methods + + --- Turns the AI On or Off for the GROUP. + -- @param #GROUP self + -- @param #boolean AIOnOff The value true turns the AI On, the value false turns the AI Off. + -- @return #GROUP The GROUP. + function GROUP:SetAIOnOff( AIOnOff ) + + local DCSGroup = self:GetDCSObject() -- Dcs.DCSGroup#Group + + if DCSGroup then + local DCSController = DCSGroup:getController() -- Dcs.DCSController#Controller + if DCSController then + DCSController:setOnOff( AIOnOff ) + return self + end + end + + return nil + end + + --- Turns the AI On for the GROUP. + -- @param #GROUP self + -- @return #GROUP The GROUP. + function GROUP:SetAIOn() + + return self:SetAIOnOff( true ) + end + + --- Turns the AI Off for the GROUP. + -- @param #GROUP self + -- @return #GROUP The GROUP. + function GROUP:SetAIOff() + + return self:SetAIOnOff( false ) + end + +end + + + +--- Returns the current maximum velocity of the group. +-- Each unit within the group gets evaluated, and the maximum velocity (= the unit which is going the fastest) is returned. +-- @param #GROUP self +-- @return #number Maximum velocity found. +function GROUP:GetMaxVelocity() + self:F2() + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local GroupVelocityMax = 0 + + for Index, UnitData in pairs( DCSGroup:getUnits() ) do + + local UnitVelocityVec3 = UnitData:getVelocity() + local UnitVelocity = math.abs( UnitVelocityVec3.x ) + math.abs( UnitVelocityVec3.y ) + math.abs( UnitVelocityVec3.z ) + + if UnitVelocity > GroupVelocityMax then + GroupVelocityMax = UnitVelocity + end + end + + return GroupVelocityMax + end + + return nil +end + +--- Returns the current minimum height of the group. +-- Each unit within the group gets evaluated, and the minimum height (= the unit which is the lowest elevated) is returned. +-- @param #GROUP self +-- @return #number Minimum height found. +function GROUP:GetMinHeight() + self:F2() + +end + +--- Returns the current maximum height of the group. +-- Each unit within the group gets evaluated, and the maximum height (= the unit which is the highest elevated) is returned. +-- @param #GROUP self +-- @return #number Maximum height found. +function GROUP:GetMaxHeight() + self:F2() + +end + +-- SPAWNING + +--- Respawn the @{GROUP} using a (tweaked) template of the Group. +-- The template must be retrieved with the @{Group#GROUP.GetTemplate}() function. +-- The template contains all the definitions as declared within the mission file. +-- To understand templates, do the following: +-- +-- * unpack your .miz file into a directory using 7-zip. +-- * browse in the directory created to the file **mission**. +-- * open the file and search for the country group definitions. +-- +-- Your group template will contain the fields as described within the mission file. +-- +-- This function will: +-- +-- * Get the current position and heading of the group. +-- * When the group is alive, it will tweak the template x, y and heading coordinates of the group and the embedded units to the current units positions. +-- * Then it will destroy the current alive group. +-- * And it will respawn the group using your new template definition. +-- @param Wrapper.Group#GROUP self +-- @param #table Template The template of the Group retrieved with GROUP:GetTemplate() +function GROUP:Respawn( Template ) + + local Vec3 = self:GetVec3() + Template.x = Vec3.x + Template.y = Vec3.z + --Template.x = nil + --Template.y = nil + + self:E( #Template.units ) + for UnitID, UnitData in pairs( self:GetUnits() ) do + local GroupUnit = UnitData -- Wrapper.Unit#UNIT + self:E( GroupUnit:GetName() ) + if GroupUnit:IsAlive() then + local GroupUnitVec3 = GroupUnit:GetVec3() + local GroupUnitHeading = GroupUnit:GetHeading() + Template.units[UnitID].alt = GroupUnitVec3.y + Template.units[UnitID].x = GroupUnitVec3.x + Template.units[UnitID].y = GroupUnitVec3.z + Template.units[UnitID].heading = GroupUnitHeading + self:E( { UnitID, Template.units[UnitID], Template.units[UnitID] } ) + end + end + + self:Destroy() + _DATABASE:Spawn( Template ) +end + +--- Returns the group template from the @{DATABASE} (_DATABASE object). +-- @param #GROUP self +-- @return #table +function GROUP:GetTemplate() + local GroupName = self:GetName() + self:E( GroupName ) + return _DATABASE:GetGroupTemplate( GroupName ) +end + +--- Sets the controlled status in a Template. +-- @param #GROUP self +-- @param #boolean Controlled true is controlled, false is uncontrolled. +-- @return #table +function GROUP:SetTemplateControlled( Template, Controlled ) + Template.uncontrolled = not Controlled + return Template +end + +--- Sets the CountryID of the group in a Template. +-- @param #GROUP self +-- @param Dcs.DCScountry#country.id CountryID The country ID. +-- @return #table +function GROUP:SetTemplateCountry( Template, CountryID ) + Template.CountryID = CountryID + return Template +end + +--- Sets the CoalitionID of the group in a Template. +-- @param #GROUP self +-- @param Dcs.DCSCoalitionWrapper.Object#coalition.side CoalitionID The coalition ID. +-- @return #table +function GROUP:SetTemplateCoalition( Template, CoalitionID ) + Template.CoalitionID = CoalitionID + return Template +end + + + + +--- Return the mission template of the group. +-- @param #GROUP self +-- @return #table The MissionTemplate +function GROUP:GetTaskMission() + self:F2( self.GroupName ) + + return routines.utils.deepCopy( _DATABASE.Templates.Groups[self.GroupName].Template ) +end + +--- Return the mission route of the group. +-- @param #GROUP self +-- @return #table The mission route defined by points. +function GROUP:GetTaskRoute() + self:F2( self.GroupName ) + + return routines.utils.deepCopy( _DATABASE.Templates.Groups[self.GroupName].Template.route.points ) +end + +--- Return the route of a group by using the @{Database#DATABASE} class. +-- @param #GROUP self +-- @param #number Begin The route point from where the copy will start. The base route point is 0. +-- @param #number End The route point where the copy will end. The End point is the last point - the End point. The last point has base 0. +-- @param #boolean Randomize Randomization of the route, when true. +-- @param #number Radius When randomization is on, the randomization is within the radius. +function GROUP:CopyRoute( Begin, End, Randomize, Radius ) + self:F2( { Begin, End } ) + + local Points = {} + + -- Could be a Spawned Group + local GroupName = string.match( self:GetName(), ".*#" ) + if GroupName then + GroupName = GroupName:sub( 1, -2 ) + else + GroupName = self:GetName() + end + + self:T3( { GroupName } ) + + local Template = _DATABASE.Templates.Groups[GroupName].Template + + if Template then + if not Begin then + Begin = 0 + end + if not End then + End = 0 + end + + for TPointID = Begin + 1, #Template.route.points - End do + if Template.route.points[TPointID] then + Points[#Points+1] = routines.utils.deepCopy( Template.route.points[TPointID] ) + if Randomize then + if not Radius then + Radius = 500 + end + Points[#Points].x = Points[#Points].x + math.random( Radius * -1, Radius ) + Points[#Points].y = Points[#Points].y + math.random( Radius * -1, Radius ) + end + end + end + return Points + else + error( "Template not found for Group : " .. GroupName ) + end + + return nil +end + +--- Calculate the maxium A2G threat level of the Group. +-- @param #GROUP self +function GROUP:CalculateThreatLevelA2G() + + local MaxThreatLevelA2G = 0 + for UnitName, UnitData in pairs( self:GetUnits() ) do + local ThreatUnit = UnitData -- Wrapper.Unit#UNIT + local ThreatLevelA2G = ThreatUnit:GetThreatLevel() + if ThreatLevelA2G > MaxThreatLevelA2G then + MaxThreatLevelA2G = ThreatLevelA2G + end + end + + self:T3( MaxThreatLevelA2G ) + return MaxThreatLevelA2G +end + +--- Returns true if the first unit of the GROUP is in the air. +-- @param Wrapper.Group#GROUP self +-- @return #boolean true if in the first unit of the group is in the air. +-- @return #nil The GROUP is not existing or not alive. +function GROUP:InAir() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + local DCSUnit = DCSGroup:getUnit(1) + if DCSUnit then + local GroupInAir = DCSGroup:getUnit(1):inAir() + self:T3( GroupInAir ) + return GroupInAir + end + end + + return nil +end + +do -- Route methods + + --- (AIR) Return the Group to an @{Airbase#AIRBASE}. + -- The following things are to be taken into account: + -- + -- * The group is respawned to achieve the RTB, there may be side artefacts as a result of this. (Like weapons suddenly come back). + -- * A group consisting out of more than one unit, may rejoin formation when respawned. + -- * A speed can be given in km/h. If no speed is specified, the maximum speed of the first unit will be taken to return to base. + -- * When there is no @{Airbase} object specified, the group will return to the home base if the route of the group is pinned at take-off or at landing to a base. + -- * When there is no @{Airbase} object specified and the group route is not pinned to any airbase, it will return to the nearest airbase. + -- + -- @param #GROUP self + -- @param Wrapper.Airbase#AIRBASE RTBAirbase (optional) The @{Airbase} to return to. If blank, the controllable will return to the nearest friendly airbase. + -- @param #number Speed (optional) The Speed, if no Speed is given, the maximum Speed of the first unit is selected. + -- @return #GROUP + function GROUP:RouteRTB( RTBAirbase, Speed ) + self:F2( { RTBAirbase, Speed } ) + + local DCSGroup = self:GetDCSObject() + + if DCSGroup then + + if RTBAirbase then + + local GroupPoint = self:GetVec2() + local GroupVelocity = self:GetUnit(1):GetDesc().speedMax + + local PointFrom = {} + PointFrom.x = GroupPoint.x + PointFrom.y = GroupPoint.y + PointFrom.type = "Turning Point" + PointFrom.action = "Turning Point" + PointFrom.speed = GroupVelocity + + + local PointTo = {} + local AirbasePointVec2 = RTBAirbase:GetPointVec2() + local AirbaseAirPoint = AirbasePointVec2:RoutePointAir( + POINT_VEC3.RoutePointAltType.BARO, + "Land", + "Landing", + Speed or self:GetUnit(1):GetDesc().speedMax + ) + + AirbaseAirPoint["airdromeId"] = RTBAirbase:GetID() + AirbaseAirPoint["speed_locked"] = true, + + self:E(AirbaseAirPoint ) + + local Points = { PointFrom, AirbaseAirPoint } + + self:T3( Points ) + + local Template = self:GetTemplate() + Template.route.points = Points + self:Respawn( Template ) + + self:Route( Points ) + + self:Respawn(Template) + else + self:ClearTasks() + end + end + + return self + end + +end + +function GROUP:OnReSpawn( ReSpawnFunction ) + + self.ReSpawnFunction = ReSpawnFunction +end + +do -- Event Handling + + --- Subscribe to a DCS Event. + -- @param #GROUP self + -- @param Core.Event#EVENTS Event + -- @param #function EventFunction (optional) The function to be called when the event occurs for the GROUP. + -- @return #GROUP + function GROUP:HandleEvent( Event, EventFunction ) + + self:EventDispatcher():OnEventForGroup( self:GetName(), EventFunction, self, Event ) + + return self + end + + --- UnSubscribe to a DCS event. + -- @param #GROUP self + -- @param Core.Event#EVENTS Event + -- @return #GROUP + function GROUP:UnHandleEvent( Event ) + + self:EventDispatcher():RemoveForGroup( self:GetName(), self, Event ) + + return self + end + +end + +do -- Players + + --- Get player names + -- @param #GROUP self + -- @return #table The group has players, an array of player names is returned. + -- @return #nil The group has no players + function GROUP:GetPlayerNames() + + local PlayerNames = nil + + local Units = self:GetUnits() + for UnitID, UnitData in pairs( Units ) do + local Unit = UnitData -- Wrapper.Unit#UNIT + local PlayerName = Unit:GetPlayerName() + if PlayerName and PlayerName ~= "" then + PlayerNames = PlayerNames or {} + table.insert( PlayerNames, PlayerName ) + end + end + + self:F( PlayerNames ) + return PlayerNames + end + +end--- **Wrapper** - UNIT is a wrapper class for the DCS Class Unit. +-- +-- === +-- +-- The @{#UNIT} class is a wrapper class to handle the DCS Unit objects: +-- +-- * Support all DCS Unit APIs. +-- * Enhance with Unit specific APIs not in the DCS Unit API set. +-- * Handle local Unit Controller. +-- * Manage the "state" of the DCS Unit. +-- +-- @module Unit + +--- @type UNIT +-- @extends Wrapper.Controllable#CONTROLLABLE + +--- +-- # UNIT class, extends @{Controllable#CONTROLLABLE} +-- +-- For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the @{SPAWN} class). +-- +-- The UNIT class **does not contain a :New()** method, rather it provides **:Find()** methods to retrieve the object reference +-- using the DCS Unit or the DCS UnitName. +-- +-- Another thing to know is that UNIT objects do not "contain" the DCS Unit object. +-- The UNIT methods will reference the DCS Unit object by name when it is needed during API execution. +-- If the DCS Unit object does not exist or is nil, the UNIT methods will return nil and log an exception in the DCS.log file. +-- +-- The UNIT class provides the following functions to retrieve quickly the relevant UNIT instance: +-- +-- * @{#UNIT.Find}(): Find a UNIT instance from the _DATABASE object using a DCS Unit object. +-- * @{#UNIT.FindByName}(): Find a UNIT instance from the _DATABASE object using a DCS Unit name. +-- +-- IMPORTANT: ONE SHOULD NEVER SANATIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil). +-- +-- ## DCS UNIT APIs +-- +-- The DCS Unit APIs are used extensively within MOOSE. The UNIT class has for each DCS Unit API a corresponding method. +-- To be able to distinguish easily in your code the difference between a UNIT API call and a DCS Unit API call, +-- the first letter of the method is also capitalized. So, by example, the DCS Unit method @{DCSWrapper.Unit#Unit.getName}() +-- is implemented in the UNIT class as @{#UNIT.GetName}(). +-- +-- ## Smoke, Flare Units +-- +-- The UNIT class provides methods to smoke or flare units easily. +-- The @{#UNIT.SmokeBlue}(), @{#UNIT.SmokeGreen}(),@{#UNIT.SmokeOrange}(), @{#UNIT.SmokeRed}(), @{#UNIT.SmokeRed}() methods +-- will smoke the unit in the corresponding color. Note that smoking a unit is done at the current position of the DCS Unit. +-- When the DCS Unit moves for whatever reason, the smoking will still continue! +-- The @{#UNIT.FlareGreen}(), @{#UNIT.FlareRed}(), @{#UNIT.FlareWhite}(), @{#UNIT.FlareYellow}() +-- methods will fire off a flare in the air with the corresponding color. Note that a flare is a one-off shot and its effect is of very short duration. +-- +-- ## Location Position, Point +-- +-- The UNIT class provides methods to obtain the current point or position of the DCS Unit. +-- The @{#UNIT.GetPointVec2}(), @{#UNIT.GetVec3}() will obtain the current **location** of the DCS Unit in a Vec2 (2D) or a **point** in a Vec3 (3D) vector respectively. +-- If you want to obtain the complete **3D position** including ori�ntation and direction vectors, consult the @{#UNIT.GetPositionVec3}() method respectively. +-- +-- ## Test if alive +-- +-- The @{#UNIT.IsAlive}(), @{#UNIT.IsActive}() methods determines if the DCS Unit is alive, meaning, it is existing and active. +-- +-- ## Test for proximity +-- +-- The UNIT class contains methods to test the location or proximity against zones or other objects. +-- +-- ### Zones +-- +-- To test whether the Unit is within a **zone**, use the @{#UNIT.IsInZone}() or the @{#UNIT.IsNotInZone}() methods. Any zone can be tested on, but the zone must be derived from @{Zone#ZONE_BASE}. +-- +-- ### Units +-- +-- Test if another DCS Unit is within a given radius of the current DCS Unit, use the @{#UNIT.OtherUnitInRadius}() method. +-- +-- @field #UNIT UNIT +UNIT = { + ClassName="UNIT", +} + + +--- Unit.SensorType +-- @type Unit.SensorType +-- @field OPTIC +-- @field RADAR +-- @field IRST +-- @field RWR + + +-- Registration. + +--- Create a new UNIT from DCSUnit. +-- @param #UNIT self +-- @param #string UnitName The name of the DCS unit. +-- @return #UNIT +function UNIT:Register( UnitName ) + local self = BASE:Inherit( self, CONTROLLABLE:New( UnitName ) ) + self.UnitName = UnitName + + self:SetEventPriority( 3 ) + return self +end + +-- Reference methods. + +--- Finds a UNIT from the _DATABASE using a DCSUnit object. +-- @param #UNIT self +-- @param Dcs.DCSWrapper.Unit#Unit DCSUnit An existing DCS Unit object reference. +-- @return #UNIT self +function UNIT:Find( DCSUnit ) + + local UnitName = DCSUnit:getName() + local UnitFound = _DATABASE:FindUnit( UnitName ) + return UnitFound +end + +--- Find a UNIT in the _DATABASE using the name of an existing DCS Unit. +-- @param #UNIT self +-- @param #string UnitName The Unit Name. +-- @return #UNIT self +function UNIT:FindByName( UnitName ) + + local UnitFound = _DATABASE:FindUnit( UnitName ) + return UnitFound +end + +--- Return the name of the UNIT. +-- @param #UNIT self +-- @return #string The UNIT name. +function UNIT:Name() + + return self.UnitName +end + + +--- @param #UNIT self +-- @return Dcs.DCSWrapper.Unit#Unit +function UNIT:GetDCSObject() + + local DCSUnit = Unit.getByName( self.UnitName ) + + if DCSUnit then + return DCSUnit + end + + return nil +end + +--- Respawn the @{Unit} using a (tweaked) template of the parent Group. +-- +-- This function will: +-- +-- * Get the current position and heading of the group. +-- * When the unit is alive, it will tweak the template x, y and heading coordinates of the group and the embedded units to the current units positions. +-- * Then it will respawn the re-modelled group. +-- +-- @param #UNIT self +-- @param Dcs.DCSTypes#Vec3 SpawnVec3 The position where to Spawn the new Unit at. +-- @param #number Heading The heading of the unit respawn. +function UNIT:ReSpawn( SpawnVec3, Heading ) + + local SpawnGroupTemplate = UTILS.DeepCopy( _DATABASE:GetGroupTemplateFromUnitName( self:Name() ) ) + self:T( SpawnGroupTemplate ) + + local SpawnGroup = self:GetGroup() + + if SpawnGroup then + + local Vec3 = SpawnGroup:GetVec3() + SpawnGroupTemplate.x = SpawnVec3.x + SpawnGroupTemplate.y = SpawnVec3.z + + self:E( #SpawnGroupTemplate.units ) + for UnitID, UnitData in pairs( SpawnGroup:GetUnits() ) do + local GroupUnit = UnitData -- #UNIT + self:E( GroupUnit:GetName() ) + if GroupUnit:IsAlive() then + local GroupUnitVec3 = GroupUnit:GetVec3() + local GroupUnitHeading = GroupUnit:GetHeading() + SpawnGroupTemplate.units[UnitID].alt = GroupUnitVec3.y + SpawnGroupTemplate.units[UnitID].x = GroupUnitVec3.x + SpawnGroupTemplate.units[UnitID].y = GroupUnitVec3.z + SpawnGroupTemplate.units[UnitID].heading = GroupUnitHeading + self:E( { UnitID, SpawnGroupTemplate.units[UnitID], SpawnGroupTemplate.units[UnitID] } ) + end + end + end + + for UnitTemplateID, UnitTemplateData in pairs( SpawnGroupTemplate.units ) do + self:T( UnitTemplateData.name ) + if UnitTemplateData.name == self:Name() then + self:T("Adjusting") + SpawnGroupTemplate.units[UnitTemplateID].alt = SpawnVec3.y + SpawnGroupTemplate.units[UnitTemplateID].x = SpawnVec3.x + SpawnGroupTemplate.units[UnitTemplateID].y = SpawnVec3.z + SpawnGroupTemplate.units[UnitTemplateID].heading = Heading + self:E( { UnitTemplateID, SpawnGroupTemplate.units[UnitTemplateID], SpawnGroupTemplate.units[UnitTemplateID] } ) + else + self:E( SpawnGroupTemplate.units[UnitTemplateID].name ) + local GroupUnit = UNIT:FindByName( SpawnGroupTemplate.units[UnitTemplateID].name ) -- #UNIT + if GroupUnit and GroupUnit:IsAlive() then + local GroupUnitVec3 = GroupUnit:GetVec3() + local GroupUnitHeading = GroupUnit:GetHeading() + UnitTemplateData.alt = GroupUnitVec3.y + UnitTemplateData.x = GroupUnitVec3.x + UnitTemplateData.y = GroupUnitVec3.z + UnitTemplateData.heading = GroupUnitHeading + else + if SpawnGroupTemplate.units[UnitTemplateID].name ~= self:Name() then + self:T("nilling") + SpawnGroupTemplate.units[UnitTemplateID].delete = true + end + end + end + end + + -- Remove obscolete units from the group structure + local i = 1 + while i <= #SpawnGroupTemplate.units do + + local UnitTemplateData = SpawnGroupTemplate.units[i] + self:T( UnitTemplateData.name ) + + if UnitTemplateData.delete then + table.remove( SpawnGroupTemplate.units, i ) + else + i = i + 1 + end + end + + _DATABASE:Spawn( SpawnGroupTemplate ) +end + + + +--- Returns if the unit is activated. +-- @param #UNIT self +-- @return #boolean true if Unit is activated. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:IsActive() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + + local UnitIsActive = DCSUnit:isActive() + return UnitIsActive + end + + return nil +end + +--- Returns if the Unit is alive. +-- If the Unit is not alive, nil is returned. +-- If the Unit is alive and active, true is returned. +-- If the Unit is alive but not active, false is returned. +-- @param #UNIT self +-- @return #boolean true if Unit is alive and active. +-- @return #boolean false if Unit is alive but not active. +-- @return #nil if the Unit is not existing or is not alive. +function UNIT:IsAlive() + self:F3( self.UnitName ) + + local DCSUnit = self:GetDCSObject() -- Dcs.DCSUnit#Unit + + if DCSUnit then + local UnitIsAlive = DCSUnit:isExist() and DCSUnit:isActive() + return UnitIsAlive + end + + return nil +end + + + +--- Returns the Unit's callsign - the localized string. +-- @param #UNIT self +-- @return #string The Callsign of the Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetCallsign() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitCallSign = DCSUnit:getCallsign() + return UnitCallSign + end + + self:E( self.ClassName .. " " .. self.UnitName .. " not found!" ) + return nil +end + + +--- Returns name of the player that control the unit or nil if the unit is controlled by A.I. +-- @param #UNIT self +-- @return #string Player Name +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetPlayerName() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + + local PlayerName = DCSUnit:getPlayerName() + if PlayerName == nil then + PlayerName = "" + end + return PlayerName + end + + return nil +end + +--- Returns the unit's number in the group. +-- The number is the same number the unit has in ME. +-- It may not be changed during the mission. +-- If any unit in the group is destroyed, the numbers of another units will not be changed. +-- @param #UNIT self +-- @return #number The Unit number. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetNumber() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitNumber = DCSUnit:getNumber() + return UnitNumber + end + + return nil +end + +--- Returns the unit's group if it exist and nil otherwise. +-- @param Wrapper.Unit#UNIT self +-- @return Wrapper.Group#GROUP The Group of the Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetGroup() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitGroup = GROUP:Find( DCSUnit:getGroup() ) + return UnitGroup + end + + return nil +end + + +-- Need to add here functions to check if radar is on and which object etc. + +--- Returns the prefix name of the DCS Unit. A prefix name is a part of the name before a '#'-sign. +-- DCS Units spawned with the @{SPAWN} class contain a '#'-sign to indicate the end of the (base) DCS Unit name. +-- The spawn sequence number and unit number are contained within the name after the '#' sign. +-- @param #UNIT self +-- @return #string The name of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetPrefix() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitPrefix = string.match( self.UnitName, ".*#" ):sub( 1, -2 ) + self:T3( UnitPrefix ) + return UnitPrefix + end + + return nil +end + +--- Returns the Unit's ammunition. +-- @param #UNIT self +-- @return Dcs.DCSWrapper.Unit#Unit.Ammo +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetAmmo() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitAmmo = DCSUnit:getAmmo() + return UnitAmmo + end + + return nil +end + +--- Returns the unit sensors. +-- @param #UNIT self +-- @return Dcs.DCSWrapper.Unit#Unit.Sensors +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetSensors() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitSensors = DCSUnit:getSensors() + return UnitSensors + end + + return nil +end + +-- Need to add here a function per sensortype +-- unit:hasSensors(Unit.SensorType.RADAR, Unit.RadarType.AS) + +--- Returns if the unit has sensors of a certain type. +-- @param #UNIT self +-- @return #boolean returns true if the unit has specified types of sensors. This function is more preferable than Unit.getSensors() if you don't want to get information about all the unit's sensors, and just want to check if the unit has specified types of sensors. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:HasSensors( ... ) + self:F2( arg ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local HasSensors = DCSUnit:hasSensors( unpack( arg ) ) + return HasSensors + end + + return nil +end + +--- Returns if the unit is SEADable. +-- @param #UNIT self +-- @return #boolean returns true if the unit is SEADable. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:HasSEAD() + self:F2() + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitSEADAttributes = DCSUnit:getDesc().attributes + + local HasSEAD = false + if UnitSEADAttributes["RADAR_BAND1_FOR_ARM"] and UnitSEADAttributes["RADAR_BAND1_FOR_ARM"] == true or + UnitSEADAttributes["RADAR_BAND2_FOR_ARM"] and UnitSEADAttributes["RADAR_BAND2_FOR_ARM"] == true then + HasSEAD = true + end + return HasSEAD + end + + return nil +end + +--- Returns two values: +-- +-- * First value indicates if at least one of the unit's radar(s) is on. +-- * Second value is the object of the radar's interest. Not nil only if at least one radar of the unit is tracking a target. +-- @param #UNIT self +-- @return #boolean Indicates if at least one of the unit's radar(s) is on. +-- @return Dcs.DCSWrapper.Object#Object The object of the radar's interest. Not nil only if at least one radar of the unit is tracking a target. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetRadar() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitRadarOn, UnitRadarObject = DCSUnit:getRadar() + return UnitRadarOn, UnitRadarObject + end + + return nil, nil +end + +--- Returns relative amount of fuel (from 0.0 to 1.0) the unit has in its internal tanks. If there are additional fuel tanks the value may be greater than 1.0. +-- @param #UNIT self +-- @return #number The relative amount of fuel (from 0.0 to 1.0). +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetFuel() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitFuel = DCSUnit:getFuel() + return UnitFuel + end + + return nil +end + +--- Returns the UNIT in a UNIT list of one element. +-- @param #UNIT self +-- @return #list The UNITs wrappers. +function UNIT:GetUnits() + self:F2( { self.UnitName } ) + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local DCSUnits = DCSUnit:getUnits() + local Units = {} + Units[1] = UNIT:Find( DCSUnit ) + self:T3( Units ) + return Units + end + + return nil +end + + +--- Returns the unit's health. Dead units has health <= 1.0. +-- @param #UNIT self +-- @return #number The Unit's health value. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetLife() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitLife = DCSUnit:getLife() + return UnitLife + end + + return nil +end + +--- Returns the Unit's initial health. +-- @param #UNIT self +-- @return #number The Unit's initial health value. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetLife0() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitLife0 = DCSUnit:getLife0() + return UnitLife0 + end + + return nil +end + +--- Returns the category name of the #UNIT. +-- @param #UNIT self +-- @return #string Category name = Helicopter, Airplane, Ground Unit, Ship +function UNIT:GetCategoryName() + self:F3( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + if DCSUnit then + local CategoryNames = { + [Unit.Category.AIRPLANE] = "Airplane", + [Unit.Category.HELICOPTER] = "Helicopter", + [Unit.Category.GROUND_UNIT] = "Ground Unit", + [Unit.Category.SHIP] = "Ship", + [Unit.Category.STRUCTURE] = "Structure", + } + local UnitCategory = DCSUnit:getDesc().category + self:T3( UnitCategory ) + + return CategoryNames[UnitCategory] + end + + return nil +end + + +--- Returns the Unit's A2G threat level on a scale from 1 to 10 ... +-- The following threat levels are foreseen: +-- +-- * Threat level 0: Unit is unarmed. +-- * Threat level 1: Unit is infantry. +-- * Threat level 2: Unit is an infantry vehicle. +-- * Threat level 3: Unit is ground artillery. +-- * Threat level 4: Unit is a tank. +-- * Threat level 5: Unit is a modern tank or ifv with ATGM. +-- * Threat level 6: Unit is a AAA. +-- * Threat level 7: Unit is a SAM or manpad, IR guided. +-- * Threat level 8: Unit is a Short Range SAM, radar guided. +-- * Threat level 9: Unit is a Medium Range SAM, radar guided. +-- * Threat level 10: Unit is a Long Range SAM, radar guided. +-- @param #UNIT self +function UNIT:GetThreatLevel() + + local Attributes = self:GetDesc().attributes + self:T( Attributes ) + + local ThreatLevel = 0 + local ThreatText = "" + + if self:IsGround() then + + self:T( "Ground" ) + + local ThreatLevels = { + "Unarmed", + "Infantry", + "Old Tanks & APCs", + "Tanks & IFVs without ATGM", + "Tanks & IFV with ATGM", + "Modern Tanks", + "AAA", + "IR Guided SAMs", + "SR SAMs", + "MR SAMs", + "LR SAMs" + } + + + if Attributes["LR SAM"] then ThreatLevel = 10 + elseif Attributes["MR SAM"] then ThreatLevel = 9 + elseif Attributes["SR SAM"] and + not Attributes["IR Guided SAM"] then ThreatLevel = 8 + elseif ( Attributes["SR SAM"] or Attributes["MANPADS"] ) and + Attributes["IR Guided SAM"] then ThreatLevel = 7 + elseif Attributes["AAA"] then ThreatLevel = 6 + elseif Attributes["Modern Tanks"] then ThreatLevel = 5 + elseif ( Attributes["Tanks"] or Attributes["IFV"] ) and + Attributes["ATGM"] then ThreatLevel = 4 + elseif ( Attributes["Tanks"] or Attributes["IFV"] ) and + not Attributes["ATGM"] then ThreatLevel = 3 + elseif Attributes["Old Tanks"] or Attributes["APC"] or Attributes["Artillery"] then ThreatLevel = 2 + elseif Attributes["Infantry"] then ThreatLevel = 1 + end + + ThreatText = ThreatLevels[ThreatLevel+1] + end + + if self:IsAir() then + + self:T( "Air" ) + + local ThreatLevels = { + "Unarmed", + "Tanker", + "AWACS", + "Transport Helicpter", + "UAV", + "Bomber", + "Strategic Bomber", + "Attack Helicopter", + "Interceptor", + "Multirole Fighter", + "Fighter" + } + + + if Attributes["Fighters"] then ThreatLevel = 10 + elseif Attributes["Multirole fighters"] then ThreatLevel = 9 + elseif Attributes["Battleplanes"] then ThreatLevel = 8 + elseif Attributes["Attack helicopters"] then ThreatLevel = 7 + elseif Attributes["Strategic bombers"] then ThreatLevel = 6 + elseif Attributes["Bombers"] then ThreatLevel = 5 + elseif Attributes["UAVs"] then ThreatLevel = 4 + elseif Attributes["Transport helicopters"] then ThreatLevel = 3 + elseif Attributes["AWACS"] then ThreatLevel = 2 + elseif Attributes["Tankers"] then ThreatLevel = 1 + end + + ThreatText = ThreatLevels[ThreatLevel+1] + end + + if self:IsShip() then + + self:T( "Ship" ) + +--["Aircraft Carriers"] = {"Heavy armed ships",}, +--["Cruisers"] = {"Heavy armed ships",}, +--["Destroyers"] = {"Heavy armed ships",}, +--["Frigates"] = {"Heavy armed ships",}, +--["Corvettes"] = {"Heavy armed ships",}, +--["Heavy armed ships"] = {"Armed ships", "Armed Air Defence", "HeavyArmoredUnits",}, +--["Light armed ships"] = {"Armed ships","NonArmoredUnits"}, +--["Armed ships"] = {"Ships"}, +--["Unarmed ships"] = {"Ships","HeavyArmoredUnits",}, + + local ThreatLevels = { + "Unarmed ship", + "Light armed ships", + "Corvettes", + "", + "Frigates", + "", + "Cruiser", + "", + "Destroyer", + "", + "Aircraft Carrier" + } + + + if Attributes["Aircraft Carriers"] then ThreatLevel = 10 + elseif Attributes["Destroyers"] then ThreatLevel = 8 + elseif Attributes["Cruisers"] then ThreatLevel = 6 + elseif Attributes["Frigates"] then ThreatLevel = 4 + elseif Attributes["Corvettes"] then ThreatLevel = 2 + elseif Attributes["Light armed ships"] then ThreatLevel = 1 + end + + ThreatText = ThreatLevels[ThreatLevel+1] + end + + self:T2( ThreatLevel ) + return ThreatLevel, ThreatText + +end + + +-- Is functions + +--- Returns true if the unit is within a @{Zone}. +-- @param #UNIT self +-- @param Core.Zone#ZONE_BASE Zone The zone to test. +-- @return #boolean Returns true if the unit is within the @{Zone#ZONE_BASE} +function UNIT:IsInZone( Zone ) + self:F2( { self.UnitName, Zone } ) + + if self:IsAlive() then + local IsInZone = Zone:IsVec3InZone( self:GetVec3() ) + + self:T( { IsInZone } ) + return IsInZone + end + + return false +end + +--- Returns true if the unit is not within a @{Zone}. +-- @param #UNIT self +-- @param Core.Zone#ZONE_BASE Zone The zone to test. +-- @return #boolean Returns true if the unit is not within the @{Zone#ZONE_BASE} +function UNIT:IsNotInZone( Zone ) + self:F2( { self.UnitName, Zone } ) + + if self:IsAlive() then + local IsInZone = not Zone:IsVec3InZone( self:GetVec3() ) + + self:T( { IsInZone } ) + return IsInZone + else + return false + end +end + + +--- Returns true if there is an **other** DCS Unit within a radius of the current 2D point of the DCS Unit. +-- @param #UNIT self +-- @param #UNIT AwaitUnit The other UNIT wrapper object. +-- @param Radius The radius in meters with the DCS Unit in the centre. +-- @return true If the other DCS Unit is within the radius of the 2D point of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:OtherUnitInRadius( AwaitUnit, Radius ) + self:F2( { self.UnitName, AwaitUnit.UnitName, Radius } ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitVec3 = self:GetVec3() + local AwaitUnitVec3 = AwaitUnit:GetVec3() + + if (((UnitVec3.x - AwaitUnitVec3.x)^2 + (UnitVec3.z - AwaitUnitVec3.z)^2)^0.5 <= Radius) then + self:T3( "true" ) + return true + else + self:T3( "false" ) + return false + end + end + + return nil +end + + + +--- Signal a flare at the position of the UNIT. +-- @param #UNIT self +-- @param Utilities.Utils#FLARECOLOR FlareColor +function UNIT:Flare( FlareColor ) + self:F2() + trigger.action.signalFlare( self:GetVec3(), FlareColor , 0 ) +end + +--- Signal a white flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareWhite() + self:F2() + trigger.action.signalFlare( self:GetVec3(), trigger.flareColor.White , 0 ) +end + +--- Signal a yellow flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareYellow() + self:F2() + trigger.action.signalFlare( self:GetVec3(), trigger.flareColor.Yellow , 0 ) +end + +--- Signal a green flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareGreen() + self:F2() + trigger.action.signalFlare( self:GetVec3(), trigger.flareColor.Green , 0 ) +end + +--- Signal a red flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareRed() + self:F2() + local Vec3 = self:GetVec3() + if Vec3 then + trigger.action.signalFlare( Vec3, trigger.flareColor.Red, 0 ) + end +end + +--- Smoke the UNIT. +-- @param #UNIT self +function UNIT:Smoke( SmokeColor, Range ) + self:F2() + if Range then + trigger.action.smoke( self:GetRandomVec3( Range ), SmokeColor ) + else + trigger.action.smoke( self:GetVec3(), SmokeColor ) + end + +end + +--- Smoke the UNIT Green. +-- @param #UNIT self +function UNIT:SmokeGreen() + self:F2() + trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Green ) +end + +--- Smoke the UNIT Red. +-- @param #UNIT self +function UNIT:SmokeRed() + self:F2() + trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Red ) +end + +--- Smoke the UNIT White. +-- @param #UNIT self +function UNIT:SmokeWhite() + self:F2() + trigger.action.smoke( self:GetVec3(), trigger.smokeColor.White ) +end + +--- Smoke the UNIT Orange. +-- @param #UNIT self +function UNIT:SmokeOrange() + self:F2() + trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Orange ) +end + +--- Smoke the UNIT Blue. +-- @param #UNIT self +function UNIT:SmokeBlue() + self:F2() + trigger.action.smoke( self:GetVec3(), trigger.smokeColor.Blue ) +end + +-- Is methods + +--- Returns if the unit is of an air category. +-- If the unit is a helicopter or a plane, then this method will return true, otherwise false. +-- @param #UNIT self +-- @return #boolean Air category evaluation result. +function UNIT:IsAir() + self:F2() + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitDescriptor = DCSUnit:getDesc() + self:T3( { UnitDescriptor.category, Unit.Category.AIRPLANE, Unit.Category.HELICOPTER } ) + + local IsAirResult = ( UnitDescriptor.category == Unit.Category.AIRPLANE ) or ( UnitDescriptor.category == Unit.Category.HELICOPTER ) + + self:T3( IsAirResult ) + return IsAirResult + end + + return nil +end + +--- Returns if the unit is of an ground category. +-- If the unit is a ground vehicle or infantry, this method will return true, otherwise false. +-- @param #UNIT self +-- @return #boolean Ground category evaluation result. +function UNIT:IsGround() + self:F2() + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitDescriptor = DCSUnit:getDesc() + self:T3( { UnitDescriptor.category, Unit.Category.GROUND_UNIT } ) + + local IsGroundResult = ( UnitDescriptor.category == Unit.Category.GROUND_UNIT ) + + self:T3( IsGroundResult ) + return IsGroundResult + end + + return nil +end + +--- Returns if the unit is a friendly unit. +-- @param #UNIT self +-- @return #boolean IsFriendly evaluation result. +function UNIT:IsFriendly( FriendlyCoalition ) + self:F2() + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitCoalition = DCSUnit:getCoalition() + self:T3( { UnitCoalition, FriendlyCoalition } ) + + local IsFriendlyResult = ( UnitCoalition == FriendlyCoalition ) + + self:E( IsFriendlyResult ) + return IsFriendlyResult + end + + return nil +end + +--- Returns if the unit is of a ship category. +-- If the unit is a ship, this method will return true, otherwise false. +-- @param #UNIT self +-- @return #boolean Ship category evaluation result. +function UNIT:IsShip() + self:F2() + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitDescriptor = DCSUnit:getDesc() + self:T3( { UnitDescriptor.category, Unit.Category.SHIP } ) + + local IsShipResult = ( UnitDescriptor.category == Unit.Category.SHIP ) + + self:T3( IsShipResult ) + return IsShipResult + end + + return nil +end + +--- Returns true if the UNIT is in the air. +-- @param Wrapper.Positionable#UNIT self +-- @return #boolean true if in the air. +-- @return #nil The UNIT is not existing or alive. +function UNIT:InAir() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSObject() + + if DCSUnit then + local UnitInAir = DCSUnit:inAir() + self:T3( UnitInAir ) + return UnitInAir + end + + return nil +end + +do -- Event Handling + + --- Subscribe to a DCS Event. + -- @param #UNIT self + -- @param Core.Event#EVENTS Event + -- @param #function EventFunction (optional) The function to be called when the event occurs for the unit. + -- @return #UNIT + function UNIT:HandleEvent( Event, EventFunction ) + + self:EventDispatcher():OnEventForUnit( self:GetName(), EventFunction, self, Event ) + + return self + end + + --- UnSubscribe to a DCS event. + -- @param #UNIT self + -- @param Core.Event#EVENTS Event + -- @return #UNIT + function UNIT:UnHandleEvent( Event ) + + self:EventDispatcher():RemoveForUnit( self:GetName(), self, Event ) + + return self + end + +end--- This module contains the CLIENT class. +-- +-- 1) @{Client#CLIENT} class, extends @{Unit#UNIT} +-- =============================================== +-- Clients are those **Units** defined within the Mission Editor that have the skillset defined as __Client__ or __Player__. +-- Note that clients are NOT the same as Units, they are NOT necessarily alive. +-- The @{Client#CLIENT} class is a wrapper class to handle the DCS Unit objects that have the skillset defined as __Client__ or __Player__: +-- +-- * Wraps the DCS Unit objects with skill level set to Player or Client. +-- * Support all DCS Unit APIs. +-- * Enhance with Unit specific APIs not in the DCS Group API set. +-- * When player joins Unit, execute alive init logic. +-- * Handles messages to players. +-- * Manage the "state" of the DCS Unit. +-- +-- Clients are being used by the @{MISSION} class to follow players and register their successes. +-- +-- 1.1) CLIENT reference methods +-- ----------------------------- +-- For each DCS Unit having skill level Player or Client, a CLIENT wrapper object (instance) will be created within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts). +-- +-- The CLIENT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference +-- using the DCS Unit or the DCS UnitName. +-- +-- Another thing to know is that CLIENT objects do not "contain" the DCS Unit object. +-- The CLIENT methods will reference the DCS Unit object by name when it is needed during API execution. +-- If the DCS Unit object does not exist or is nil, the CLIENT methods will return nil and log an exception in the DCS.log file. +-- +-- The CLIENT class provides the following functions to retrieve quickly the relevant CLIENT instance: +-- +-- * @{#CLIENT.Find}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object. +-- * @{#CLIENT.FindByName}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name. +-- +-- IMPORTANT: ONE SHOULD NEVER SANATIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil). +-- +-- @module Client + +--- The CLIENT class +-- @type CLIENT +-- @extends Wrapper.Unit#UNIT +CLIENT = { + ONBOARDSIDE = { + NONE = 0, + LEFT = 1, + RIGHT = 2, + BACK = 3, + FRONT = 4 + }, + ClassName = "CLIENT", + ClientName = nil, + ClientAlive = false, + ClientTransport = false, + ClientBriefingShown = false, + _Menus = {}, + _Tasks = {}, + Messages = { + } +} + + +--- Finds a CLIENT from the _DATABASE using the relevant DCS Unit. +-- @param #CLIENT self +-- @param #string ClientName Name of the DCS **Unit** as defined within the Mission Editor. +-- @param #string ClientBriefing Text that describes the briefing of the mission when a Player logs into the Client. +-- @return #CLIENT +-- @usage +-- -- Create new Clients. +-- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' ) +-- Mission:AddGoal( DeploySA6TroopsGoal ) +-- +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() ) +function CLIENT:Find( DCSUnit, Error ) + local ClientName = DCSUnit:getName() + local ClientFound = _DATABASE:FindClient( ClientName ) + + if ClientFound then + ClientFound:F( ClientName ) + return ClientFound + end + + if not Error then + error( "CLIENT not found for: " .. ClientName ) + end +end + + +--- Finds a CLIENT from the _DATABASE using the relevant Client Unit Name. +-- As an optional parameter, a briefing text can be given also. +-- @param #CLIENT self +-- @param #string ClientName Name of the DCS **Unit** as defined within the Mission Editor. +-- @param #string ClientBriefing Text that describes the briefing of the mission when a Player logs into the Client. +-- @param #boolean Error A flag that indicates whether an error should be raised if the CLIENT cannot be found. By default an error will be raised. +-- @return #CLIENT +-- @usage +-- -- Create new Clients. +-- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' ) +-- Mission:AddGoal( DeploySA6TroopsGoal ) +-- +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() ) +function CLIENT:FindByName( ClientName, ClientBriefing, Error ) + local ClientFound = _DATABASE:FindClient( ClientName ) + + if ClientFound then + ClientFound:F( { ClientName, ClientBriefing } ) + ClientFound:AddBriefing( ClientBriefing ) + ClientFound.MessageSwitch = true + + return ClientFound + end + + if not Error then + error( "CLIENT not found for: " .. ClientName ) + end +end + +function CLIENT:Register( ClientName ) + local self = BASE:Inherit( self, UNIT:Register( ClientName ) ) + + self:F( ClientName ) + self.ClientName = ClientName + self.MessageSwitch = true + self.ClientAlive2 = false + + --self.AliveCheckScheduler = routines.scheduleFunction( self._AliveCheckScheduler, { self }, timer.getTime() + 1, 5 ) + self.AliveCheckScheduler = SCHEDULER:New( self, self._AliveCheckScheduler, { "Client Alive " .. ClientName }, 1, 5 ) + + self:E( self ) + return self +end + + +--- Transport defines that the Client is a Transport. Transports show cargo. +-- @param #CLIENT self +-- @return #CLIENT +function CLIENT:Transport() + self:F() + + self.ClientTransport = true + return self +end + +--- AddBriefing adds a briefing to a CLIENT when a player joins a mission. +-- @param #CLIENT self +-- @param #string ClientBriefing is the text defining the Mission briefing. +-- @return #CLIENT self +function CLIENT:AddBriefing( ClientBriefing ) + self:F( ClientBriefing ) + self.ClientBriefing = ClientBriefing + self.ClientBriefingShown = false + + return self +end + +--- Show the briefing of a CLIENT. +-- @param #CLIENT self +-- @return #CLIENT self +function CLIENT:ShowBriefing() + self:F( { self.ClientName, self.ClientBriefingShown } ) + + if not self.ClientBriefingShown then + self.ClientBriefingShown = true + local Briefing = "" + if self.ClientBriefing then + Briefing = Briefing .. self.ClientBriefing + end + Briefing = Briefing .. " Press [LEFT ALT]+[B] to view the complete mission briefing." + self:Message( Briefing, 60, "Briefing" ) + end + + return self +end + +--- Show the mission briefing of a MISSION to the CLIENT. +-- @param #CLIENT self +-- @param #string MissionBriefing +-- @return #CLIENT self +function CLIENT:ShowMissionBriefing( MissionBriefing ) + self:F( { self.ClientName } ) + + if MissionBriefing then + self:Message( MissionBriefing, 60, "Mission Briefing" ) + end + + return self +end + + + +--- Resets a CLIENT. +-- @param #CLIENT self +-- @param #string ClientName Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client. +function CLIENT:Reset( ClientName ) + self:F() + self._Menus = {} +end + +-- Is Functions + +--- Checks if the CLIENT is a multi-seated UNIT. +-- @param #CLIENT self +-- @return #boolean true if multi-seated. +function CLIENT:IsMultiSeated() + self:F( self.ClientName ) + + local ClientMultiSeatedTypes = { + ["Mi-8MT"] = "Mi-8MT", + ["UH-1H"] = "UH-1H", + ["P-51B"] = "P-51B" + } + + if self:IsAlive() then + local ClientTypeName = self:GetClientGroupUnit():GetTypeName() + if ClientMultiSeatedTypes[ClientTypeName] then + return true + end + end + + return false +end + +--- Checks for a client alive event and calls a function on a continuous basis. +-- @param #CLIENT self +-- @param #function CallBackFunction Create a function that will be called when a player joins the slot. +-- @return #CLIENT +function CLIENT:Alive( CallBackFunction, ... ) + self:F() + + self.ClientCallBack = CallBackFunction + self.ClientParameters = arg + + return self +end + +--- @param #CLIENT self +function CLIENT:_AliveCheckScheduler( SchedulerName ) + self:F3( { SchedulerName, self.ClientName, self.ClientAlive2, self.ClientBriefingShown, self.ClientCallBack } ) + + if self:IsAlive() then + if self.ClientAlive2 == false then + self:ShowBriefing() + if self.ClientCallBack then + self:T("Calling Callback function") + self.ClientCallBack( self, unpack( self.ClientParameters ) ) + end + self.ClientAlive2 = true + end + else + if self.ClientAlive2 == true then + self.ClientAlive2 = false + end + end + + return true +end + +--- Return the DCSGroup of a Client. +-- This function is modified to deal with a couple of bugs in DCS 1.5.3 +-- @param #CLIENT self +-- @return Dcs.DCSWrapper.Group#Group +function CLIENT:GetDCSGroup() + self:F3() + +-- local ClientData = Group.getByName( self.ClientName ) +-- if ClientData and ClientData:isExist() then +-- self:T( self.ClientName .. " : group found!" ) +-- return ClientData +-- else +-- return nil +-- end + + local ClientUnit = Unit.getByName( self.ClientName ) + + local CoalitionsData = { AlivePlayersRed = coalition.getPlayers( coalition.side.RED ), AlivePlayersBlue = coalition.getPlayers( coalition.side.BLUE ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + self:T3( { "CoalitionData:", CoalitionData } ) + for UnitId, UnitData in pairs( CoalitionData ) do + self:T3( { "UnitData:", UnitData } ) + if UnitData and UnitData:isExist() then + + --self:E(self.ClientName) + if ClientUnit then + local ClientGroup = ClientUnit:getGroup() + if ClientGroup then + self:T3( "ClientGroup = " .. self.ClientName ) + if ClientGroup:isExist() and UnitData:getGroup():isExist() then + if ClientGroup:getID() == UnitData:getGroup():getID() then + self:T3( "Normal logic" ) + self:T3( self.ClientName .. " : group found!" ) + self.ClientGroupID = ClientGroup:getID() + self.ClientGroupName = ClientGroup:getName() + return ClientGroup + end + else + -- Now we need to resolve the bugs in DCS 1.5 ... + -- Consult the database for the units of the Client Group. (ClientGroup:getUnits() returns nil) + self:T3( "Bug 1.5 logic" ) + local ClientGroupTemplate = _DATABASE.Templates.Units[self.ClientName].GroupTemplate + self.ClientGroupID = ClientGroupTemplate.groupId + self.ClientGroupName = _DATABASE.Templates.Units[self.ClientName].GroupName + self:T3( self.ClientName .. " : group found in bug 1.5 resolvement logic!" ) + return ClientGroup + end + -- else + -- error( "Client " .. self.ClientName .. " not found!" ) + end + else + --self:E( { "Client not found!", self.ClientName } ) + end + end + end + end + + -- For non player clients + if ClientUnit then + local ClientGroup = ClientUnit:getGroup() + if ClientGroup then + self:T3( "ClientGroup = " .. self.ClientName ) + if ClientGroup:isExist() then + self:T3( "Normal logic" ) + self:T3( self.ClientName .. " : group found!" ) + return ClientGroup + end + end + end + + self.ClientGroupID = nil + self.ClientGroupUnit = nil + + return nil +end + + +-- TODO: Check Dcs.DCSTypes#Group.ID +--- Get the group ID of the client. +-- @param #CLIENT self +-- @return Dcs.DCSTypes#Group.ID +function CLIENT:GetClientGroupID() + + local ClientGroup = self:GetDCSGroup() + + --self:E( self.ClientGroupID ) -- Determined in GetDCSGroup() + return self.ClientGroupID +end + + +--- Get the name of the group of the client. +-- @param #CLIENT self +-- @return #string +function CLIENT:GetClientGroupName() + + local ClientGroup = self:GetDCSGroup() + + self:T( self.ClientGroupName ) -- Determined in GetDCSGroup() + return self.ClientGroupName +end + +--- Returns the UNIT of the CLIENT. +-- @param #CLIENT self +-- @return Wrapper.Unit#UNIT +function CLIENT:GetClientGroupUnit() + self:F2() + + local ClientDCSUnit = Unit.getByName( self.ClientName ) + + self:T( self.ClientDCSUnit ) + if ClientDCSUnit and ClientDCSUnit:isExist() then + local ClientUnit = _DATABASE:FindUnit( self.ClientName ) + self:T2( ClientUnit ) + return ClientUnit + end +end + +--- Returns the DCSUnit of the CLIENT. +-- @param #CLIENT self +-- @return Dcs.DCSTypes#Unit +function CLIENT:GetClientGroupDCSUnit() + self:F2() + + local ClientDCSUnit = Unit.getByName( self.ClientName ) + + if ClientDCSUnit and ClientDCSUnit:isExist() then + self:T2( ClientDCSUnit ) + return ClientDCSUnit + end +end + + +--- Evaluates if the CLIENT is a transport. +-- @param #CLIENT self +-- @return #boolean true is a transport. +function CLIENT:IsTransport() + self:F() + return self.ClientTransport +end + +--- Shows the @{AI_Cargo#CARGO} contained within the CLIENT to the player as a message. +-- The @{AI_Cargo#CARGO} is shown using the @{Message#MESSAGE} distribution system. +-- @param #CLIENT self +function CLIENT:ShowCargo() + self:F() + + local CargoMsg = "" + + for CargoName, Cargo in pairs( CARGOS ) do + if self == Cargo:IsLoadedInClient() then + CargoMsg = CargoMsg .. Cargo.CargoName .. " Type:" .. Cargo.CargoType .. " Weight: " .. Cargo.CargoWeight .. "\n" + end + end + + if CargoMsg == "" then + CargoMsg = "empty" + end + + self:Message( CargoMsg, 15, "Co-Pilot: Cargo Status", 30 ) + +end + +-- TODO (1) I urgently need to revise this. +--- A local function called by the DCS World Menu system to switch off messages. +function CLIENT.SwitchMessages( PrmTable ) + PrmTable[1].MessageSwitch = PrmTable[2] +end + +--- The main message driver for the CLIENT. +-- This function displays various messages to the Player logged into the CLIENT through the DCS World Messaging system. +-- @param #CLIENT self +-- @param #string Message is the text describing the message. +-- @param #number MessageDuration is the duration in seconds that the Message should be displayed. +-- @param #string MessageCategory is the category of the message (the title). +-- @param #number MessageInterval is the interval in seconds between the display of the @{Message#MESSAGE} when the CLIENT is in the air. +-- @param #string MessageID is the identifier of the message when displayed with intervals. +function CLIENT:Message( Message, MessageDuration, MessageCategory, MessageInterval, MessageID ) + self:F( { Message, MessageDuration, MessageCategory, MessageInterval } ) + + if self.MessageSwitch == true then + if MessageCategory == nil then + MessageCategory = "Messages" + end + if MessageID ~= nil then + if self.Messages[MessageID] == nil then + self.Messages[MessageID] = {} + self.Messages[MessageID].MessageId = MessageID + self.Messages[MessageID].MessageTime = timer.getTime() + self.Messages[MessageID].MessageDuration = MessageDuration + if MessageInterval == nil then + self.Messages[MessageID].MessageInterval = 600 + else + self.Messages[MessageID].MessageInterval = MessageInterval + end + MESSAGE:New( Message, MessageDuration, MessageCategory ):ToClient( self ) + else + if self:GetClientGroupDCSUnit() and not self:GetClientGroupDCSUnit():inAir() then + if timer.getTime() - self.Messages[MessageID].MessageTime >= self.Messages[MessageID].MessageDuration + 10 then + MESSAGE:New( Message, MessageDuration , MessageCategory):ToClient( self ) + self.Messages[MessageID].MessageTime = timer.getTime() + end + else + if timer.getTime() - self.Messages[MessageID].MessageTime >= self.Messages[MessageID].MessageDuration + self.Messages[MessageID].MessageInterval then + MESSAGE:New( Message, MessageDuration, MessageCategory ):ToClient( self ) + self.Messages[MessageID].MessageTime = timer.getTime() + end + end + end + else + MESSAGE:New( Message, MessageDuration, MessageCategory ):ToClient( self ) + end + end +end +--- This module contains the STATIC class. +-- +-- 1) @{Static#STATIC} class, extends @{Positionable#POSITIONABLE} +-- =============================================================== +-- Statics are **Static Units** defined within the Mission Editor. +-- Note that Statics are almost the same as Units, but they don't have a controller. +-- The @{Static#STATIC} class is a wrapper class to handle the DCS Static objects: +-- +-- * Wraps the DCS Static objects. +-- * Support all DCS Static APIs. +-- * Enhance with Static specific APIs not in the DCS API set. +-- +-- 1.1) STATIC reference methods +-- ----------------------------- +-- For each DCS Static will have a STATIC wrapper object (instance) within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts). +-- +-- The STATIC class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference +-- using the Static Name. +-- +-- Another thing to know is that STATIC objects do not "contain" the DCS Static object. +-- The STATIc methods will reference the DCS Static object by name when it is needed during API execution. +-- If the DCS Static object does not exist or is nil, the STATIC methods will return nil and log an exception in the DCS.log file. +-- +-- The STATIc class provides the following functions to retrieve quickly the relevant STATIC instance: +-- +-- * @{#STATIC.FindByName}(): Find a STATIC instance from the _DATABASE object using a DCS Static name. +-- +-- IMPORTANT: ONE SHOULD NEVER SANATIZE these STATIC OBJECT REFERENCES! (make the STATIC object references nil). +-- +-- @module Static +-- @author FlightControl + + + + + + +--- The STATIC class +-- @type STATIC +-- @extends Wrapper.Positionable#POSITIONABLE +STATIC = { + ClassName = "STATIC", +} + + +--- Finds a STATIC from the _DATABASE using the relevant Static Name. +-- As an optional parameter, a briefing text can be given also. +-- @param #STATIC self +-- @param #string StaticName Name of the DCS **Static** as defined within the Mission Editor. +-- @param #boolean RaiseError Raise an error if not found. +-- @return #STATIC +function STATIC:FindByName( StaticName, RaiseError ) + local StaticFound = _DATABASE:FindStatic( StaticName ) + + self.StaticName = StaticName + + if StaticFound then + StaticFound:F3( { StaticName } ) + + return StaticFound + end + + if RaiseError == nil or RaiseError == true then + error( "STATIC not found for: " .. StaticName ) + end + + return nil +end + +function STATIC:Register( StaticName ) + local self = BASE:Inherit( self, POSITIONABLE:New( StaticName ) ) + self.StaticName = StaticName + return self +end + + +function STATIC:GetDCSObject() + local DCSStatic = StaticObject.getByName( self.StaticName ) + + if DCSStatic then + return DCSStatic + end + + return nil +end + +function STATIC:GetThreatLevel() + + return 1, "Static" +end--- This module contains the AIRBASE classes. +-- +-- === +-- +-- 1) @{Airbase#AIRBASE} class, extends @{Positionable#POSITIONABLE} +-- ================================================================= +-- The @{AIRBASE} class is a wrapper class to handle the DCS Airbase objects: +-- +-- * Support all DCS Airbase APIs. +-- * Enhance with Airbase specific APIs not in the DCS Airbase API set. +-- +-- +-- 1.1) AIRBASE reference methods +-- ------------------------------ +-- For each DCS Airbase object alive within a running mission, a AIRBASE wrapper object (instance) will be created within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts). +-- +-- The AIRBASE class **does not contain a :New()** method, rather it provides **:Find()** methods to retrieve the object reference +-- using the DCS Airbase or the DCS AirbaseName. +-- +-- Another thing to know is that AIRBASE objects do not "contain" the DCS Airbase object. +-- The AIRBASE methods will reference the DCS Airbase object by name when it is needed during API execution. +-- If the DCS Airbase object does not exist or is nil, the AIRBASE methods will return nil and log an exception in the DCS.log file. +-- +-- The AIRBASE class provides the following functions to retrieve quickly the relevant AIRBASE instance: +-- +-- * @{#AIRBASE.Find}(): Find a AIRBASE instance from the _DATABASE object using a DCS Airbase object. +-- * @{#AIRBASE.FindByName}(): Find a AIRBASE instance from the _DATABASE object using a DCS Airbase name. +-- +-- IMPORTANT: ONE SHOULD NEVER SANATIZE these AIRBASE OBJECT REFERENCES! (make the AIRBASE object references nil). +-- +-- 1.2) DCS AIRBASE APIs +-- --------------------- +-- The DCS Airbase APIs are used extensively within MOOSE. The AIRBASE class has for each DCS Airbase API a corresponding method. +-- To be able to distinguish easily in your code the difference between a AIRBASE API call and a DCS Airbase API call, +-- the first letter of the method is also capitalized. So, by example, the DCS Airbase method @{DCSWrapper.Airbase#Airbase.getName}() +-- is implemented in the AIRBASE class as @{#AIRBASE.GetName}(). +-- +-- More functions will be added +-- ---------------------------- +-- During the MOOSE development, more functions will be added. +-- +-- @module Airbase +-- @author FlightControl + + + + + +--- The AIRBASE class +-- @type AIRBASE +-- @extends Wrapper.Positionable#POSITIONABLE +AIRBASE = { + ClassName="AIRBASE", + CategoryName = { + [Airbase.Category.AIRDROME] = "Airdrome", + [Airbase.Category.HELIPAD] = "Helipad", + [Airbase.Category.SHIP] = "Ship", + }, + } + +-- Registration. + +--- Create a new AIRBASE from DCSAirbase. +-- @param #AIRBASE self +-- @param #string AirbaseName The name of the airbase. +-- @return Wrapper.Airbase#AIRBASE +function AIRBASE:Register( AirbaseName ) + + local self = BASE:Inherit( self, POSITIONABLE:New( AirbaseName ) ) + self.AirbaseName = AirbaseName + return self +end + +-- Reference methods. + +--- Finds a AIRBASE from the _DATABASE using a DCSAirbase object. +-- @param #AIRBASE self +-- @param Dcs.DCSWrapper.Airbase#Airbase DCSAirbase An existing DCS Airbase object reference. +-- @return Wrapper.Airbase#AIRBASE self +function AIRBASE:Find( DCSAirbase ) + + local AirbaseName = DCSAirbase:getName() + local AirbaseFound = _DATABASE:FindAirbase( AirbaseName ) + return AirbaseFound +end + +--- Find a AIRBASE in the _DATABASE using the name of an existing DCS Airbase. +-- @param #AIRBASE self +-- @param #string AirbaseName The Airbase Name. +-- @return Wrapper.Airbase#AIRBASE self +function AIRBASE:FindByName( AirbaseName ) + + local AirbaseFound = _DATABASE:FindAirbase( AirbaseName ) + return AirbaseFound +end + +function AIRBASE:GetDCSObject() + local DCSAirbase = Airbase.getByName( self.AirbaseName ) + + if DCSAirbase then + return DCSAirbase + end + + return nil +end + + + +--- This module contains the SCENERY class. +-- +-- 1) @{Scenery#SCENERY} class, extends @{Positionable#POSITIONABLE} +-- =============================================================== +-- Scenery objects are defined on the map. +-- The @{Scenery#SCENERY} class is a wrapper class to handle the DCS Scenery objects: +-- +-- * Wraps the DCS Scenery objects. +-- * Support all DCS Scenery APIs. +-- * Enhance with Scenery specific APIs not in the DCS API set. +-- +-- @module Scenery +-- @author FlightControl + + + +--- The SCENERY class +-- @type SCENERY +-- @extends Wrapper.Positionable#POSITIONABLE +SCENERY = { + ClassName = "SCENERY", +} + + +function SCENERY:Register( SceneryName, SceneryObject ) + local self = BASE:Inherit( self, POSITIONABLE:New( SceneryName ) ) + self.SceneryName = SceneryName + self.SceneryObject = SceneryObject + return self +end + +function SCENERY:GetDCSObject() + return self.SceneryObject +end + +function SCENERY:GetThreatLevel() + + return 0, "Scenery" +end +--- Single-Player:**Yes** / Multi-Player:**Yes** / Core:**Yes** -- **Administer the scoring of player achievements, +-- and create a CSV file logging the scoring events for use at team or squadron websites.** +-- +-- ![Banner Image](..\Presentations\SCORING\Dia1.JPG) +-- +-- === +-- +-- The @{#SCORING} class administers the scoring of player achievements, +-- and creates a CSV file logging the scoring events and results for use at team or squadron websites. +-- +-- SCORING automatically calculates the threat level of the objects hit and destroyed by players, +-- which can be @{Unit}, @{Static) and @{Scenery} objects. +-- +-- Positive score points are granted when enemy or neutral targets are destroyed. +-- Negative score points or penalties are given when a friendly target is hit or destroyed. +-- This brings a lot of dynamism in the scoring, where players need to take care to inflict damage on the right target. +-- By default, penalties weight heavier in the scoring, to ensure that players don't commit fratricide. +-- The total score of the player is calculated by **adding the scores minus the penalties**. +-- +-- ![Banner Image](..\Presentations\SCORING\Dia4.JPG) +-- +-- The score value is calculated based on the **threat level of the player** and the **threat level of the target**. +-- A calculated score takes the threat level of the target divided by a balanced threat level of the player unit. +-- As such, if the threat level of the target is high, and the player threat level is low, a higher score will be given than +-- if the threat level of the player would be high too. +-- +-- ![Banner Image](..\Presentations\SCORING\Dia5.JPG) +-- +-- When multiple players hit the same target, and finally succeed in destroying the target, then each player who contributed to the target +-- destruction, will receive a score. This is important for targets that require significant damage before it can be destroyed, like +-- ships or heavy planes. +-- +-- ![Banner Image](..\Presentations\SCORING\Dia13.JPG) +-- +-- Optionally, the score values can be **scaled** by a **scale**. Specific scales can be set for positive cores or negative penalties. +-- The default range of the scores granted is a value between 0 and 10. The default range of penalties given is a value between 0 and 30. +-- +-- ![Banner Image](..\Presentations\SCORING\Dia7.JPG) +-- +-- **Additional scores** can be granted to **specific objects**, when the player(s) destroy these objects. +-- +-- ![Banner Image](..\Presentations\SCORING\Dia9.JPG) +-- +-- Various @{Zone}s can be defined for which scores are also granted when objects in that @{Zone} are destroyed. +-- This is **specifically useful** to designate **scenery targets on the map** that will generate points when destroyed. +-- +-- With a small change in MissionScripting.lua, the scoring results can also be logged in a **CSV file**. +-- These CSV files can be used to: +-- +-- * Upload scoring to a database or a BI tool to publish the scoring results to the player community. +-- * Upload scoring in an (online) Excel like tool, using pivot tables and pivot charts to show mission results. +-- * Share scoring amoung players after the mission to discuss mission results. +-- +-- Scores can be **reported**. **Menu options** are automatically added to **each player group** when a player joins a client slot or a CA unit. +-- Use the radio menu F10 to consult the scores while running the mission. +-- Scores can be reported for your user, or an overall score can be reported of all players currently active in the mission. +-- +-- # 1) @{Scoring#SCORING} class, extends @{Base#BASE} +-- +-- ## 1.1) Set the destroy score or penalty scale +-- +-- Score scales can be set for scores granted when enemies or friendlies are destroyed. +-- Use the method @{#SCORING.SetScaleDestroyScore}() to set the scale of enemy destroys (positive destroys). +-- Use the method @{#SCORING.SetScaleDestroyPenalty}() to set the scale of friendly destroys (negative destroys). +-- +-- local Scoring = SCORING:New( "Scoring File" ) +-- Scoring:SetScaleDestroyScore( 10 ) +-- Scoring:SetScaleDestroyPenalty( 40 ) +-- +-- The above sets the scale for valid scores to 10. So scores will be given in a scale from 0 to 10. +-- The penalties will be given in a scale from 0 to 40. +-- +-- ## 1.2) Define special targets that will give extra scores. +-- +-- Special targets can be set that will give extra scores to the players when these are destroyed. +-- Use the methods @{#SCORING.AddUnitScore}() and @{#SCORING.RemoveUnitScore}() to specify a special additional score for a specific @{Unit}s. +-- Use the methods @{#SCORING.AddStaticScore}() and @{#SCORING.RemoveStaticScore}() to specify a special additional score for a specific @{Static}s. +-- Use the method @{#SCORING.SetGroupGroup}() to specify a special additional score for a specific @{Group}s. +-- +-- local Scoring = SCORING:New( "Scoring File" ) +-- Scoring:AddUnitScore( UNIT:FindByName( "Unit #001" ), 200 ) +-- Scoring:AddStaticScore( STATIC:FindByName( "Static #1" ), 100 ) +-- +-- The above grants an additional score of 200 points for Unit #001 and an additional 100 points of Static #1 if these are destroyed. +-- Note that later in the mission, one can remove these scores set, for example, when the a goal achievement time limit is over. +-- For example, this can be done as follows: +-- +-- Scoring:RemoveUnitScore( UNIT:FindByName( "Unit #001" ) ) +-- +-- ## 1.3) Define destruction zones that will give extra scores. +-- +-- Define zones of destruction. Any object destroyed within the zone of the given category will give extra points. +-- Use the method @{#SCORING.AddZoneScore}() to add a @{Zone} for additional scoring. +-- Use the method @{#SCORING.RemoveZoneScore}() to remove a @{Zone} for additional scoring. +-- There are interesting variations that can be achieved with this functionality. For example, if the @{Zone} is a @{Zone#ZONE_UNIT}, +-- then the zone is a moving zone, and anything destroyed within that @{Zone} will generate points. +-- The other implementation could be to designate a scenery target (a building) in the mission editor surrounded by a @{Zone}, +-- just large enough around that building. +-- +-- ## 1.4) Add extra Goal scores upon an event or a condition. +-- +-- A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens. +-- Use the method @{#SCORING.AddGoalScore}() to add a score for a Player at any time in your mission. +-- +-- ## 1.5) Configure fratricide level. +-- +-- When a player commits too much damage to friendlies, his penalty score will reach a certain level. +-- Use the method @{#SCORING.SetFratricide}() to define the level when a player gets kicked. +-- By default, the fratricide level is the default penalty mutiplier * 2 for the penalty score. +-- +-- ## 1.6) Penalty score when a player changes the coalition. +-- +-- When a player changes the coalition, he can receive a penalty score. +-- Use the method @{#SCORING.SetCoalitionChangePenalty}() to define the penalty when a player changes coalition. +-- By default, the penalty for changing coalition is the default penalty scale. +-- +-- ## 1.8) Define output CSV files. +-- +-- The CSV file is given the name of the string given in the @{#SCORING.New}{} constructor, followed by the .csv extension. +-- The file is incrementally saved in the **\\Saved Games\\DCS\\Logs** folder, and has a time stamp indicating each mission run. +-- See the following example: +-- +-- local ScoringFirstMission = SCORING:New( "FirstMission" ) +-- local ScoringSecondMission = SCORING:New( "SecondMission" ) +-- +-- The above documents that 2 Scoring objects are created, ScoringFirstMission and ScoringSecondMission. +-- +-- ## 1.9) Configure messages. +-- +-- When players hit or destroy targets, messages are sent. +-- Various methods exist to configure: +-- +-- * Which messages are sent upon the event. +-- * Which audience receives the message. +-- +-- ### 1.9.1) Configure the messages sent upon the event. +-- +-- Use the following methods to configure when to send messages. By default, all messages are sent. +-- +-- * @{#SCORING.SetMessagesHit}(): Configure to send messages after a target has been hit. +-- * @{#SCORING.SetMessagesDestroy}(): Configure to send messages after a target has been destroyed. +-- * @{#SCORING.SetMessagesAddon}(): Configure to send messages for additional score, after a target has been destroyed. +-- * @{#SCORING.SetMessagesZone}(): Configure to send messages for additional score, after a target has been destroyed within a given zone. +-- +-- ### 1.9.2) Configure the audience of the messages. +-- +-- Use the following methods to configure the audience of the messages. By default, the messages are sent to all players in the mission. +-- +-- * @{#SCORING.SetMessagesToAll}(): Configure to send messages to all players. +-- * @{#SCORING.SetMessagesToCoalition}(): Configure to send messages to only those players within the same coalition as the player. +-- +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-02-26: Initial class and API. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * **Wingthor (TAW)**: Testing & Advice. +-- * **Dutch-Baron (TAW)**: Testing & Advice. +-- * **[Whisper](http://forums.eagle.ru/member.php?u=3829): Testing and Advice. +-- +-- ### Authors: +-- +-- * **FlightControl**: Concept, Design & Programming. +-- +-- @module Scoring + + +--- The Scoring class +-- @type SCORING +-- @field Players A collection of the current players that have joined the game. +-- @extends Core.Base#BASE +SCORING = { + ClassName = "SCORING", + ClassID = 0, + Players = {}, +} + +local _SCORINGCoalition = + { + [1] = "Red", + [2] = "Blue", + } + +local _SCORINGCategory = + { + [Unit.Category.AIRPLANE] = "Plane", + [Unit.Category.HELICOPTER] = "Helicopter", + [Unit.Category.GROUND_UNIT] = "Vehicle", + [Unit.Category.SHIP] = "Ship", + [Unit.Category.STRUCTURE] = "Structure", + } + +--- Creates a new SCORING object to administer the scoring achieved by players. +-- @param #SCORING self +-- @param #string GameName The name of the game. This name is also logged in the CSV score file. +-- @return #SCORING self +-- @usage +-- -- Define a new scoring object for the mission Gori Valley. +-- ScoringObject = SCORING:New( "Gori Valley" ) +function SCORING:New( GameName ) + + -- Inherits from BASE + local self = BASE:Inherit( self, BASE:New() ) -- #SCORING + + if GameName then + self.GameName = GameName + else + error( "A game name must be given to register the scoring results" ) + end + + + -- Additional Object scores + self.ScoringObjects = {} + + -- Additional Zone scores. + self.ScoringZones = {} + + -- Configure Messages + self:SetMessagesToAll() + self:SetMessagesHit( true ) + self:SetMessagesDestroy( true ) + self:SetMessagesScore( true ) + self:SetMessagesZone( true ) + + -- Scales + self:SetScaleDestroyScore( 10 ) + self:SetScaleDestroyPenalty( 30 ) + + -- Default fratricide penalty level (maximum penalty that can be assigned to a player before he gets kicked). + self:SetFratricide( self.ScaleDestroyPenalty * 3 ) + + -- Default penalty when a player changes coalition. + self:SetCoalitionChangePenalty( self.ScaleDestroyPenalty ) + + -- Event handlers + self:HandleEvent( EVENTS.Dead, self._EventOnDeadOrCrash ) + self:HandleEvent( EVENTS.Crash, self._EventOnDeadOrCrash ) + self:HandleEvent( EVENTS.Hit, self._EventOnHit ) + self:HandleEvent( EVENTS.PlayerEnterUnit ) + self:HandleEvent( EVENTS.PlayerLeaveUnit ) + + -- Create the CSV file. + self:OpenCSV( GameName ) + + return self + +end + +--- Set the scale for scoring valid destroys (enemy destroys). +-- A default calculated score is a value between 1 and 10. +-- The scale magnifies the scores given to the players. +-- @param #SCORING self +-- @param #number Scale The scale of the score given. +function SCORING:SetScaleDestroyScore( Scale ) + + self.ScaleDestroyScore = Scale + + return self +end + +--- Set the scale for scoring penalty destroys (friendly destroys). +-- A default calculated penalty is a value between 1 and 10. +-- The scale magnifies the scores given to the players. +-- @param #SCORING self +-- @param #number Scale The scale of the score given. +-- @return #SCORING +function SCORING:SetScaleDestroyPenalty( Scale ) + + self.ScaleDestroyPenalty = Scale + + return self +end + +--- Add a @{Unit} for additional scoring when the @{Unit} is destroyed. +-- Note that if there was already a @{Unit} declared within the scoring with the same name, +-- then the old @{Unit} will be replaced with the new @{Unit}. +-- @param #SCORING self +-- @param Wrapper.Unit#UNIT ScoreUnit The @{Unit} for which the Score needs to be given. +-- @param #number Score The Score value. +-- @return #SCORING +function SCORING:AddUnitScore( ScoreUnit, Score ) + + local UnitName = ScoreUnit:GetName() + + self.ScoringObjects[UnitName] = Score + + return self +end + +--- Removes a @{Unit} for additional scoring when the @{Unit} is destroyed. +-- @param #SCORING self +-- @param Wrapper.Unit#UNIT ScoreUnit The @{Unit} for which the Score needs to be given. +-- @return #SCORING +function SCORING:RemoveUnitScore( ScoreUnit ) + + local UnitName = ScoreUnit:GetName() + + self.ScoringObjects[UnitName] = nil + + return self +end + +--- Add a @{Static} for additional scoring when the @{Static} is destroyed. +-- Note that if there was already a @{Static} declared within the scoring with the same name, +-- then the old @{Static} will be replaced with the new @{Static}. +-- @param #SCORING self +-- @param Wrapper.Static#UNIT ScoreStatic The @{Static} for which the Score needs to be given. +-- @param #number Score The Score value. +-- @return #SCORING +function SCORING:AddStaticScore( ScoreStatic, Score ) + + local StaticName = ScoreStatic:GetName() + + self.ScoringObjects[StaticName] = Score + + return self +end + +--- Removes a @{Static} for additional scoring when the @{Static} is destroyed. +-- @param #SCORING self +-- @param Wrapper.Static#UNIT ScoreStatic The @{Static} for which the Score needs to be given. +-- @return #SCORING +function SCORING:RemoveStaticScore( ScoreStatic ) + + local StaticName = ScoreStatic:GetName() + + self.ScoringObjects[StaticName] = nil + + return self +end + + +--- Specify a special additional score for a @{Group}. +-- @param #SCORING self +-- @param Wrapper.Group#GROUP ScoreGroup The @{Group} for which each @{Unit} a Score is given. +-- @param #number Score The Score value. +-- @return #SCORING +function SCORING:AddScoreGroup( ScoreGroup, Score ) + + local ScoreUnits = ScoreGroup:GetUnits() + + for ScoreUnitID, ScoreUnit in pairs( ScoreUnits ) do + local UnitName = ScoreUnit:GetName() + self.ScoringObjects[UnitName] = Score + end + + return self +end + +--- Add a @{Zone} to define additional scoring when any object is destroyed in that zone. +-- Note that if a @{Zone} with the same name is already within the scoring added, the @{Zone} (type) and Score will be replaced! +-- This allows for a dynamic destruction zone evolution within your mission. +-- @param #SCORING self +-- @param Core.Zone#ZONE_BASE ScoreZone The @{Zone} which defines the destruction score perimeters. +-- Note that a zone can be a polygon or a moving zone. +-- @param #number Score The Score value. +-- @return #SCORING +function SCORING:AddZoneScore( ScoreZone, Score ) + + local ZoneName = ScoreZone:GetName() + + self.ScoringZones[ZoneName] = {} + self.ScoringZones[ZoneName].ScoreZone = ScoreZone + self.ScoringZones[ZoneName].Score = Score + + return self +end + +--- Remove a @{Zone} for additional scoring. +-- The scoring will search if any @{Zone} is added with the given name, and will remove that zone from the scoring. +-- This allows for a dynamic destruction zone evolution within your mission. +-- @param #SCORING self +-- @param Core.Zone#ZONE_BASE ScoreZone The @{Zone} which defines the destruction score perimeters. +-- Note that a zone can be a polygon or a moving zone. +-- @return #SCORING +function SCORING:RemoveZoneScore( ScoreZone ) + + local ZoneName = ScoreZone:GetName() + + self.ScoringZones[ZoneName] = nil + + return self +end + + +--- Configure to send messages after a target has been hit. +-- @param #SCORING self +-- @param #boolean OnOff If true is given, the messages are sent. +-- @return #SCORING +function SCORING:SetMessagesHit( OnOff ) + + self.MessagesHit = OnOff + return self +end + +--- If to send messages after a target has been hit. +-- @param #SCORING self +-- @return #boolean +function SCORING:IfMessagesHit() + + return self.MessagesHit +end + +--- Configure to send messages after a target has been destroyed. +-- @param #SCORING self +-- @param #boolean OnOff If true is given, the messages are sent. +-- @return #SCORING +function SCORING:SetMessagesDestroy( OnOff ) + + self.MessagesDestroy = OnOff + return self +end + +--- If to send messages after a target has been destroyed. +-- @param #SCORING self +-- @return #boolean +function SCORING:IfMessagesDestroy() + + return self.MessagesDestroy +end + +--- Configure to send messages after a target has been destroyed and receives additional scores. +-- @param #SCORING self +-- @param #boolean OnOff If true is given, the messages are sent. +-- @return #SCORING +function SCORING:SetMessagesScore( OnOff ) + + self.MessagesScore = OnOff + return self +end + +--- If to send messages after a target has been destroyed and receives additional scores. +-- @param #SCORING self +-- @return #boolean +function SCORING:IfMessagesScore() + + return self.MessagesScore +end + +--- Configure to send messages after a target has been hit in a zone, and additional score is received. +-- @param #SCORING self +-- @param #boolean OnOff If true is given, the messages are sent. +-- @return #SCORING +function SCORING:SetMessagesZone( OnOff ) + + self.MessagesZone = OnOff + return self +end + +--- If to send messages after a target has been hit in a zone, and additional score is received. +-- @param #SCORING self +-- @return #boolean +function SCORING:IfMessagesZone() + + return self.MessagesZone +end + +--- Configure to send messages to all players. +-- @param #SCORING self +-- @return #SCORING +function SCORING:SetMessagesToAll() + + self.MessagesAudience = 1 + return self +end + +--- If to send messages to all players. +-- @param #SCORING self +-- @return #boolean +function SCORING:IfMessagesToAll() + + return self.MessagesAudience == 1 +end + +--- Configure to send messages to only those players within the same coalition as the player. +-- @param #SCORING self +-- @return #SCORING +function SCORING:SetMessagesToCoalition() + + self.MessagesAudience = 2 + return self +end + +--- If to send messages to only those players within the same coalition as the player. +-- @param #SCORING self +-- @return #boolean +function SCORING:IfMessagesToCoalition() + + return self.MessagesAudience == 2 +end + + +--- When a player commits too much damage to friendlies, his penalty score will reach a certain level. +-- Use this method to define the level when a player gets kicked. +-- By default, the fratricide level is the default penalty mutiplier * 2 for the penalty score. +-- @param #SCORING self +-- @param #number Fratricide The amount of maximum penalty that may be inflicted by a friendly player before he gets kicked. +-- @return #SCORING +function SCORING:SetFratricide( Fratricide ) + + self.Fratricide = Fratricide + return self +end + + +--- When a player changes the coalition, he can receive a penalty score. +-- Use the method @{#SCORING.SetCoalitionChangePenalty}() to define the penalty when a player changes coalition. +-- By default, the penalty for changing coalition is the default penalty scale. +-- @param #SCORING self +-- @param #number CoalitionChangePenalty The amount of penalty that is given. +-- @return #SCORING +function SCORING:SetCoalitionChangePenalty( CoalitionChangePenalty ) + + self.CoalitionChangePenalty = CoalitionChangePenalty + return self +end + + +--- Add a new player entering a Unit. +-- @param #SCORING self +-- @param Wrapper.Unit#UNIT UnitData +function SCORING:_AddPlayerFromUnit( UnitData ) + self:F( UnitData ) + + if UnitData:IsAlive() then + local UnitName = UnitData:GetName() + local PlayerName = UnitData:GetPlayerName() + local UnitDesc = UnitData:GetDesc() + local UnitCategory = UnitDesc.category + local UnitCoalition = UnitData:GetCoalition() + local UnitTypeName = UnitData:GetTypeName() + local UnitThreatLevel, UnitThreatType = UnitData:GetThreatLevel() + + self:T( { PlayerName, UnitName, UnitCategory, UnitCoalition, UnitTypeName } ) + + if self.Players[PlayerName] == nil then -- I believe this is the place where a Player gets a life in a mission when he enters a unit ... + self.Players[PlayerName] = {} + self.Players[PlayerName].Hit = {} + self.Players[PlayerName].Destroy = {} + self.Players[PlayerName].Goals = {} + self.Players[PlayerName].Mission = {} + + -- for CategoryID, CategoryName in pairs( SCORINGCategory ) do + -- self.Players[PlayerName].Hit[CategoryID] = {} + -- self.Players[PlayerName].Destroy[CategoryID] = {} + -- end + self.Players[PlayerName].HitPlayers = {} + self.Players[PlayerName].Score = 0 + self.Players[PlayerName].Penalty = 0 + self.Players[PlayerName].PenaltyCoalition = 0 + self.Players[PlayerName].PenaltyWarning = 0 + end + + if not self.Players[PlayerName].UnitCoalition then + self.Players[PlayerName].UnitCoalition = UnitCoalition + else + if self.Players[PlayerName].UnitCoalition ~= UnitCoalition then + self.Players[PlayerName].Penalty = self.Players[PlayerName].Penalty + 50 + self.Players[PlayerName].PenaltyCoalition = self.Players[PlayerName].PenaltyCoalition + 1 + MESSAGE:New( "Player '" .. PlayerName .. "' changed coalition from " .. _SCORINGCoalition[self.Players[PlayerName].UnitCoalition] .. " to " .. _SCORINGCoalition[UnitCoalition] .. + "(changed " .. self.Players[PlayerName].PenaltyCoalition .. " times the coalition). 50 Penalty points added.", + 2 + ):ToAll() + self:ScoreCSV( PlayerName, "", "COALITION_PENALTY", 1, -50, self.Players[PlayerName].UnitName, _SCORINGCoalition[self.Players[PlayerName].UnitCoalition], _SCORINGCategory[self.Players[PlayerName].UnitCategory], self.Players[PlayerName].UnitType, + UnitName, _SCORINGCoalition[UnitCoalition], _SCORINGCategory[UnitCategory], UnitData:GetTypeName() ) + end + end + self.Players[PlayerName].UnitName = UnitName + self.Players[PlayerName].UnitCoalition = UnitCoalition + self.Players[PlayerName].UnitCategory = UnitCategory + self.Players[PlayerName].UnitType = UnitTypeName + self.Players[PlayerName].UNIT = UnitData + self.Players[PlayerName].ThreatLevel = UnitThreatLevel + self.Players[PlayerName].ThreatType = UnitThreatType + + if self.Players[PlayerName].Penalty > self.Fratricide * 0.50 then + if self.Players[PlayerName].PenaltyWarning < 1 then + MESSAGE:New( "Player '" .. PlayerName .. "': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than " .. self.Fratricide .. ", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: " .. self.Players[PlayerName].Penalty, + 30 + ):ToAll() + self.Players[PlayerName].PenaltyWarning = self.Players[PlayerName].PenaltyWarning + 1 + end + end + + if self.Players[PlayerName].Penalty > self.Fratricide then + UnitData:Destroy() + MESSAGE:New( "Player '" .. PlayerName .. "' committed FRATRICIDE, he will be COURT MARTIALED and is DISMISSED from this mission!", + 10 + ):ToAll() + end + + end +end + + +--- Add a goal score for a player. +-- The method takes the PlayerUnit for which the Goal score needs to be set. +-- The GoalTag is a string or identifier that is taken into the CSV file scoring log to identify the goal. +-- A free text can be given that is shown to the players. +-- The Score can be both positive and negative. +-- @param #SCORING self +-- @param Wrapper.Unit#UNIT PlayerUnit The @{Unit} of the Player. Other Properties for the scoring are taken from this PlayerUnit, like coalition, type etc. +-- @param #string GoalTag The string or identifier that is used in the CSV file to identify the goal (sort or group later in Excel). +-- @param #string Text A free text that is shown to the players. +-- @param #number Score The score can be both positive or negative ( Penalty ). +function SCORING:AddGoalScore( PlayerUnit, GoalTag, Text, Score ) + + local PlayerName = PlayerUnit:GetPlayerName() + + self:E( { PlayerUnit.UnitName, PlayerName, GoalTag, Text, Score } ) + + -- PlayerName can be nil, if the Unit with the player crashed or due to another reason. + if PlayerName then + local PlayerData = self.Players[PlayerName] + + PlayerData.Goals[GoalTag] = PlayerData.Goals[GoalTag] or { Score = 0 } + PlayerData.Goals[GoalTag].Score = PlayerData.Goals[GoalTag].Score + Score + PlayerData.Score = PlayerData.Score + Score + + MESSAGE:New( Text, 30 ):ToAll() + + self:ScoreCSV( PlayerName, "", "GOAL_" .. string.upper( GoalTag ), 1, Score, PlayerUnit:GetName() ) + end +end + + +--- Registers Scores the players completing a Mission Task. +-- @param #SCORING self +-- @param Tasking.Mission#MISSION Mission +-- @param Wrapper.Unit#UNIT PlayerUnit +-- @param #string Text +-- @param #number Score +function SCORING:_AddMissionTaskScore( Mission, PlayerUnit, Text, Score ) + + local PlayerName = PlayerUnit:GetPlayerName() + local MissionName = Mission:GetName() + + self:E( { Mission:GetName(), PlayerUnit.UnitName, PlayerName, Text, Score } ) + + -- PlayerName can be nil, if the Unit with the player crashed or due to another reason. + if PlayerName then + local PlayerData = self.Players[PlayerName] + + if not PlayerData.Mission[MissionName] then + PlayerData.Mission[MissionName] = {} + PlayerData.Mission[MissionName].ScoreTask = 0 + PlayerData.Mission[MissionName].ScoreMission = 0 + end + + self:T( PlayerName ) + self:T( PlayerData.Mission[MissionName] ) + + PlayerData.Score = self.Players[PlayerName].Score + Score + PlayerData.Mission[MissionName].ScoreTask = self.Players[PlayerName].Mission[MissionName].ScoreTask + Score + + MESSAGE:New( "Player '" .. PlayerName .. "' has " .. Text .. " in Mission '" .. MissionName .. "'. " .. + Score .. " task score!", + 30 ):ToAll() + + self:ScoreCSV( PlayerName, "", "TASK_" .. MissionName:gsub( ' ', '_' ), 1, Score, PlayerUnit:GetName() ) + end +end + + +--- Registers Mission Scores for possible multiple players that contributed in the Mission. +-- @param #SCORING self +-- @param Tasking.Mission#MISSION Mission +-- @param Wrapper.Unit#UNIT PlayerUnit +-- @param #string Text +-- @param #number Score +function SCORING:_AddMissionScore( Mission, Text, Score ) + + local MissionName = Mission:GetName() + + self:E( { Mission, Text, Score } ) + self:E( self.Players ) + + for PlayerName, PlayerData in pairs( self.Players ) do + + self:E( PlayerData ) + if PlayerData.Mission[MissionName] then + + PlayerData.Score = PlayerData.Score + Score + PlayerData.Mission[MissionName].ScoreMission = PlayerData.Mission[MissionName].ScoreMission + Score + + MESSAGE:New( "Player '" .. PlayerName .. "' has " .. Text .. " in Mission '" .. MissionName .. "'. " .. + Score .. " mission score!", + 60 ):ToAll() + + self:ScoreCSV( PlayerName, "", "MISSION_" .. MissionName:gsub( ' ', '_' ), 1, Score ) + end + end +end + + +--- Handles the OnPlayerEnterUnit event for the scoring. +-- @param #SCORING self +-- @param Core.Event#EVENTDATA Event +function SCORING:OnEventPlayerEnterUnit( Event ) + if Event.IniUnit then + self:_AddPlayerFromUnit( Event.IniUnit ) + local Menu = MENU_GROUP:New( Event.IniGroup, 'Scoring' ) + local ReportGroupSummary = MENU_GROUP_COMMAND:New( Event.IniGroup, 'Summary report players in group', Menu, SCORING.ReportScoreGroupSummary, self, Event.IniGroup ) + local ReportGroupDetailed = MENU_GROUP_COMMAND:New( Event.IniGroup, 'Detailed report players in group', Menu, SCORING.ReportScoreGroupDetailed, self, Event.IniGroup ) + local ReportToAllSummary = MENU_GROUP_COMMAND:New( Event.IniGroup, 'Summary report all players', Menu, SCORING.ReportScoreAllSummary, self, Event.IniGroup ) + self:SetState( Event.IniUnit, "ScoringMenu", Menu ) + end +end + +--- Handles the OnPlayerLeaveUnit event for the scoring. +-- @param #SCORING self +-- @param Core.Event#EVENTDATA Event +function SCORING:OnEventPlayerLeaveUnit( Event ) + if Event.IniUnit then + local Menu = self:GetState( Event.IniUnit, "ScoringMenu" ) -- Core.Menu#MENU_GROUP + if Menu then + -- TODO: Check if this fixes #281. + --Menu:Remove() + end + end +end + + +--- Handles the OnHit event for the scoring. +-- @param #SCORING self +-- @param Core.Event#EVENTDATA Event +function SCORING:_EventOnHit( Event ) + self:F( { Event } ) + + local InitUnit = nil + local InitUNIT = nil + local InitUnitName = "" + local InitGroup = nil + local InitGroupName = "" + local InitPlayerName = nil + + local InitCoalition = nil + local InitCategory = nil + local InitType = nil + local InitUnitCoalition = nil + local InitUnitCategory = nil + local InitUnitType = nil + + local TargetUnit = nil + local TargetUNIT = nil + local TargetUnitName = "" + local TargetGroup = nil + local TargetGroupName = "" + local TargetPlayerName = nil + + local TargetCoalition = nil + local TargetCategory = nil + local TargetType = nil + local TargetUnitCoalition = nil + local TargetUnitCategory = nil + local TargetUnitType = nil + + if Event.IniDCSUnit then + + InitUnit = Event.IniDCSUnit + InitUNIT = Event.IniUnit + InitUnitName = Event.IniDCSUnitName + InitGroup = Event.IniDCSGroup + InitGroupName = Event.IniDCSGroupName + InitPlayerName = Event.IniPlayerName + + InitCoalition = Event.IniCoalition + --TODO: Workaround Client DCS Bug + --InitCategory = InitUnit:getCategory() + --InitCategory = InitUnit:getDesc().category + InitCategory = Event.IniCategory + InitType = Event.IniTypeName + + InitUnitCoalition = _SCORINGCoalition[InitCoalition] + InitUnitCategory = _SCORINGCategory[InitCategory] + InitUnitType = InitType + + self:T( { InitUnitName, InitGroupName, InitPlayerName, InitCoalition, InitCategory, InitType , InitUnitCoalition, InitUnitCategory, InitUnitType } ) + end + + + if Event.TgtDCSUnit then + + TargetUnit = Event.TgtDCSUnit + TargetUNIT = Event.TgtUnit + TargetUnitName = Event.TgtDCSUnitName + TargetGroup = Event.TgtDCSGroup + TargetGroupName = Event.TgtDCSGroupName + TargetPlayerName = Event.TgtPlayerName + + TargetCoalition = Event.TgtCoalition + --TODO: Workaround Client DCS Bug + --TargetCategory = TargetUnit:getCategory() + --TargetCategory = TargetUnit:getDesc().category + TargetCategory = Event.TgtCategory + TargetType = Event.TgtTypeName + + TargetUnitCoalition = _SCORINGCoalition[TargetCoalition] + TargetUnitCategory = _SCORINGCategory[TargetCategory] + TargetUnitType = TargetType + + self:T( { TargetUnitName, TargetGroupName, TargetPlayerName, TargetCoalition, TargetCategory, TargetType, TargetUnitCoalition, TargetUnitCategory, TargetUnitType } ) + end + + if InitPlayerName ~= nil then -- It is a player that is hitting something + self:_AddPlayerFromUnit( InitUNIT ) + if self.Players[InitPlayerName] then -- This should normally not happen, but i'll test it anyway. + if TargetPlayerName ~= nil then -- It is a player hitting another player ... + self:_AddPlayerFromUnit( TargetUNIT ) + end + + self:T( "Hitting Something" ) + + -- What is he hitting? + if TargetCategory then + + -- A target got hit, score it. + -- Player contains the score data from self.Players[InitPlayerName] + local Player = self.Players[InitPlayerName] + + -- Ensure there is a hit table per TargetCategory and TargetUnitName. + Player.Hit[TargetCategory] = Player.Hit[TargetCategory] or {} + Player.Hit[TargetCategory][TargetUnitName] = Player.Hit[TargetCategory][TargetUnitName] or {} + + -- PlayerHit contains the score counters and data per unit that was hit. + local PlayerHit = Player.Hit[TargetCategory][TargetUnitName] + + PlayerHit.Score = PlayerHit.Score or 0 + PlayerHit.Penalty = PlayerHit.Penalty or 0 + PlayerHit.ScoreHit = PlayerHit.ScoreHit or 0 + PlayerHit.PenaltyHit = PlayerHit.PenaltyHit or 0 + PlayerHit.TimeStamp = PlayerHit.TimeStamp or 0 + PlayerHit.UNIT = PlayerHit.UNIT or TargetUNIT + PlayerHit.ThreatLevel, PlayerHit.ThreatType = PlayerHit.UNIT:GetThreatLevel() + + -- Only grant hit scores if there was more than one second between the last hit. + if timer.getTime() - PlayerHit.TimeStamp > 1 then + PlayerHit.TimeStamp = timer.getTime() + + if TargetPlayerName ~= nil then -- It is a player hitting another player ... + + -- Ensure there is a Player to Player hit reference table. + Player.HitPlayers[TargetPlayerName] = true + end + + local Score = 0 + + if InitCoalition then -- A coalition object was hit. + if InitCoalition == TargetCoalition then + Player.Penalty = Player.Penalty + 10 + PlayerHit.Penalty = PlayerHit.Penalty + 10 + PlayerHit.PenaltyHit = PlayerHit.PenaltyHit + 1 + + if TargetPlayerName ~= nil then -- It is a player hitting another player ... + MESSAGE + :New( "Player '" .. InitPlayerName .. "' hit friendly player '" .. TargetPlayerName .. "' " .. + TargetUnitCategory .. " ( " .. TargetType .. " ) " .. PlayerHit.PenaltyHit .. " times. " .. + "Penalty: -" .. PlayerHit.Penalty .. ". Score Total:" .. Player.Score - Player.Penalty, + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + else + MESSAGE + :New( "Player '" .. InitPlayerName .. "' hit a friendly target " .. + TargetUnitCategory .. " ( " .. TargetType .. " ) " .. PlayerHit.PenaltyHit .. " times. " .. + "Penalty: -" .. PlayerHit.Penalty .. ". Score Total:" .. Player.Score - Player.Penalty, + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + end + self:ScoreCSV( InitPlayerName, TargetPlayerName, "HIT_PENALTY", 1, -10, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + else + Player.Score = Player.Score + 1 + PlayerHit.Score = PlayerHit.Score + 1 + PlayerHit.ScoreHit = PlayerHit.ScoreHit + 1 + if TargetPlayerName ~= nil then -- It is a player hitting another player ... + MESSAGE + :New( "Player '" .. InitPlayerName .. "' hit enemy player '" .. TargetPlayerName .. "' " .. + TargetUnitCategory .. " ( " .. TargetType .. " ) " .. PlayerHit.ScoreHit .. " times. " .. + "Score: " .. PlayerHit.Score .. ". Score Total:" .. Player.Score - Player.Penalty, + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + else + MESSAGE + :New( "Player '" .. InitPlayerName .. "' hit an enemy target " .. + TargetUnitCategory .. " ( " .. TargetType .. " ) " .. PlayerHit.ScoreHit .. " times. " .. + "Score: " .. PlayerHit.Score .. ". Score Total:" .. Player.Score - Player.Penalty, + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + end + self:ScoreCSV( InitPlayerName, TargetPlayerName, "HIT_SCORE", 1, 1, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + end + else -- A scenery object was hit. + MESSAGE + :New( "Player '" .. InitPlayerName .. "' hit a scenery object.", + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + self:ScoreCSV( InitPlayerName, "", "HIT_SCORE", 1, 0, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, "", "Scenery", TargetUnitType ) + end + end + end + end + elseif InitPlayerName == nil then -- It is an AI hitting a player??? + + end + + -- It is a weapon initiated by a player, that is hitting something + -- This seems to occur only with scenery and static objects. + if Event.WeaponPlayerName ~= nil then + self:_AddPlayerFromUnit( Event.WeaponUNIT ) + if self.Players[Event.WeaponPlayerName] then -- This should normally not happen, but i'll test it anyway. + if TargetPlayerName ~= nil then -- It is a player hitting another player ... + self:_AddPlayerFromUnit( TargetUNIT ) + end + + self:T( "Hitting Scenery" ) + + -- What is he hitting? + if TargetCategory then + + -- A scenery or static got hit, score it. + -- Player contains the score data from self.Players[WeaponPlayerName] + local Player = self.Players[Event.WeaponPlayerName] + + -- Ensure there is a hit table per TargetCategory and TargetUnitName. + Player.Hit[TargetCategory] = Player.Hit[TargetCategory] or {} + Player.Hit[TargetCategory][TargetUnitName] = Player.Hit[TargetCategory][TargetUnitName] or {} + + -- PlayerHit contains the score counters and data per unit that was hit. + local PlayerHit = Player.Hit[TargetCategory][TargetUnitName] + + PlayerHit.Score = PlayerHit.Score or 0 + PlayerHit.Penalty = PlayerHit.Penalty or 0 + PlayerHit.ScoreHit = PlayerHit.ScoreHit or 0 + PlayerHit.PenaltyHit = PlayerHit.PenaltyHit or 0 + PlayerHit.TimeStamp = PlayerHit.TimeStamp or 0 + PlayerHit.UNIT = PlayerHit.UNIT or TargetUNIT + PlayerHit.ThreatLevel, PlayerHit.ThreatType = PlayerHit.UNIT:GetThreatLevel() + + -- Only grant hit scores if there was more than one second between the last hit. + if timer.getTime() - PlayerHit.TimeStamp > 1 then + PlayerHit.TimeStamp = timer.getTime() + + local Score = 0 + + if InitCoalition then -- A coalition object was hit, probably a static. + if InitCoalition == TargetCoalition then + -- TODO: Penalty according scale + Player.Penalty = Player.Penalty + 10 + PlayerHit.Penalty = PlayerHit.Penalty + 10 + PlayerHit.PenaltyHit = PlayerHit.PenaltyHit + 1 + + MESSAGE + :New( "Player '" .. Event.WeaponPlayerName .. "' hit a friendly target " .. + TargetUnitCategory .. " ( " .. TargetType .. " ) " .. PlayerHit.PenaltyHit .. " times. " .. + "Penalty: -" .. PlayerHit.Penalty .. ". Score Total:" .. Player.Score - Player.Penalty, + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( Event.WeaponCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + self:ScoreCSV( Event.WeaponPlayerName, TargetPlayerName, "HIT_PENALTY", 1, -10, Event.WeaponName, Event.WeaponCoalition, Event.WeaponCategory, Event.WeaponTypeName, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + else + Player.Score = Player.Score + 1 + PlayerHit.Score = PlayerHit.Score + 1 + PlayerHit.ScoreHit = PlayerHit.ScoreHit + 1 + MESSAGE + :New( "Player '" .. Event.WeaponPlayerName .. "' hit an enemy target " .. + TargetUnitCategory .. " ( " .. TargetType .. " ) " .. PlayerHit.ScoreHit .. " times. " .. + "Score: " .. PlayerHit.Score .. ". Score Total:" .. Player.Score - Player.Penalty, + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( Event.WeaponCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + self:ScoreCSV( Event.WeaponPlayerName, TargetPlayerName, "HIT_SCORE", 1, 1, Event.WeaponName, Event.WeaponCoalition, Event.WeaponCategory, Event.WeaponTypeName, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + end + else -- A scenery object was hit. + MESSAGE + :New( "Player '" .. Event.WeaponPlayerName .. "' hit a scenery object.", + 2 + ) + :ToAllIf( self:IfMessagesHit() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesHit() and self:IfMessagesToCoalition() ) + self:ScoreCSV( Event.WeaponPlayerName, "", "HIT_SCORE", 1, 0, Event.WeaponName, Event.WeaponCoalition, Event.WeaponCategory, Event.WeaponTypeName, TargetUnitName, "", "Scenery", TargetUnitType ) + end + end + end + end + end +end + +--- Track DEAD or CRASH events for the scoring. +-- @param #SCORING self +-- @param Core.Event#EVENTDATA Event +function SCORING:_EventOnDeadOrCrash( Event ) + self:F( { Event } ) + + local TargetUnit = nil + local TargetGroup = nil + local TargetUnitName = "" + local TargetGroupName = "" + local TargetPlayerName = "" + local TargetCoalition = nil + local TargetCategory = nil + local TargetType = nil + local TargetUnitCoalition = nil + local TargetUnitCategory = nil + local TargetUnitType = nil + + if Event.IniDCSUnit then + + TargetUnit = Event.IniUnit + TargetUnitName = Event.IniDCSUnitName + TargetGroup = Event.IniDCSGroup + TargetGroupName = Event.IniDCSGroupName + TargetPlayerName = Event.IniPlayerName + + TargetCoalition = Event.IniCoalition + --TargetCategory = TargetUnit:getCategory() + --TargetCategory = TargetUnit:getDesc().category -- Workaround + TargetCategory = Event.IniCategory + TargetType = Event.IniTypeName + + TargetUnitCoalition = _SCORINGCoalition[TargetCoalition] + TargetUnitCategory = _SCORINGCategory[TargetCategory] + TargetUnitType = TargetType + + self:T( { TargetUnitName, TargetGroupName, TargetPlayerName, TargetCoalition, TargetCategory, TargetType } ) + end + + -- Player contains the score and reference data for the player. + for PlayerName, Player in pairs( self.Players ) do + if Player then -- This should normally not happen, but i'll test it anyway. + self:T( "Something got destroyed" ) + + -- Some variables + local InitUnitName = Player.UnitName + local InitUnitType = Player.UnitType + local InitCoalition = Player.UnitCoalition + local InitCategory = Player.UnitCategory + local InitUnitCoalition = _SCORINGCoalition[InitCoalition] + local InitUnitCategory = _SCORINGCategory[InitCategory] + + self:T( { InitUnitName, InitUnitType, InitUnitCoalition, InitCoalition, InitUnitCategory, InitCategory } ) + + local Destroyed = false + + -- What is the player destroying? + if Player and Player.Hit and Player.Hit[TargetCategory] and Player.Hit[TargetCategory][TargetUnitName] and Player.Hit[TargetCategory][TargetUnitName].TimeStamp ~= 0 then -- Was there a hit for this unit for this player before registered??? + + local TargetThreatLevel = Player.Hit[TargetCategory][TargetUnitName].ThreatLevel + local TargetThreatType = Player.Hit[TargetCategory][TargetUnitName].ThreatType + + Player.Destroy[TargetCategory] = Player.Destroy[TargetCategory] or {} + Player.Destroy[TargetCategory][TargetType] = Player.Destroy[TargetCategory][TargetType] or {} + + -- PlayerDestroy contains the destroy score data per category and target type of the player. + local TargetDestroy = Player.Destroy[TargetCategory][TargetType] + TargetDestroy.Score = TargetDestroy.Score or 0 + TargetDestroy.ScoreDestroy = TargetDestroy.ScoreDestroy or 0 + TargetDestroy.Penalty = TargetDestroy.Penalty or 0 + TargetDestroy.PenaltyDestroy = TargetDestroy.PenaltyDestroy or 0 + + if TargetCoalition then + if InitCoalition == TargetCoalition then + local ThreatLevelTarget = TargetThreatLevel + local ThreatTypeTarget = TargetThreatType + local ThreatLevelPlayer = Player.ThreatLevel / 10 + 1 + local ThreatPenalty = math.ceil( ( ThreatLevelTarget / ThreatLevelPlayer ) * self.ScaleDestroyPenalty / 10 ) + self:E( { ThreatLevel = ThreatPenalty, ThreatLevelTarget = ThreatLevelTarget, ThreatTypeTarget = ThreatTypeTarget, ThreatLevelPlayer = ThreatLevelPlayer } ) + + Player.Penalty = Player.Penalty + ThreatPenalty + TargetDestroy.Penalty = TargetDestroy.Penalty + ThreatPenalty + TargetDestroy.PenaltyDestroy = TargetDestroy.PenaltyDestroy + 1 + + if Player.HitPlayers[TargetPlayerName] then -- A player destroyed another player + MESSAGE + :New( "Player '" .. PlayerName .. "' destroyed friendly player '" .. TargetPlayerName .. "' " .. + TargetUnitCategory .. " ( " .. ThreatTypeTarget .. " ) " .. TargetDestroy.PenaltyDestroy .. " times. " .. + "Penalty: -" .. TargetDestroy.Penalty .. ". Score Total:" .. Player.Score - Player.Penalty, + 15 + ) + :ToAllIf( self:IfMessagesDestroy() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesDestroy() and self:IfMessagesToCoalition() ) + else + MESSAGE + :New( "Player '" .. PlayerName .. "' destroyed a friendly target " .. + TargetUnitCategory .. " ( " .. ThreatTypeTarget .. " ) " .. TargetDestroy.PenaltyDestroy .. " times. " .. + "Penalty: -" .. TargetDestroy.Penalty .. ". Score Total:" .. Player.Score - Player.Penalty, + 15 + ) + :ToAllIf( self:IfMessagesDestroy() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesDestroy() and self:IfMessagesToCoalition() ) + end + + Destroyed = true + self:ScoreCSV( PlayerName, TargetPlayerName, "DESTROY_PENALTY", 1, ThreatPenalty, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + else + + local ThreatLevelTarget = TargetThreatLevel + local ThreatTypeTarget = TargetThreatType + local ThreatLevelPlayer = Player.ThreatLevel / 10 + 1 + local ThreatScore = math.ceil( ( ThreatLevelTarget / ThreatLevelPlayer ) * self.ScaleDestroyScore / 10 ) + + self:E( { ThreatLevel = ThreatScore, ThreatLevelTarget = ThreatLevelTarget, ThreatTypeTarget = ThreatTypeTarget, ThreatLevelPlayer = ThreatLevelPlayer } ) + + Player.Score = Player.Score + ThreatScore + TargetDestroy.Score = TargetDestroy.Score + ThreatScore + TargetDestroy.ScoreDestroy = TargetDestroy.ScoreDestroy + 1 + if Player.HitPlayers[TargetPlayerName] then -- A player destroyed another player + MESSAGE + :New( "Player '" .. PlayerName .. "' destroyed enemy player '" .. TargetPlayerName .. "' " .. + TargetUnitCategory .. " ( " .. ThreatTypeTarget .. " ) " .. TargetDestroy.ScoreDestroy .. " times. " .. + "Score: " .. TargetDestroy.Score .. ". Score Total:" .. Player.Score - Player.Penalty, + 15 + ) + :ToAllIf( self:IfMessagesDestroy() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesDestroy() and self:IfMessagesToCoalition() ) + else + MESSAGE + :New( "Player '" .. PlayerName .. "' destroyed an enemy " .. + TargetUnitCategory .. " ( " .. ThreatTypeTarget .. " ) " .. TargetDestroy.ScoreDestroy .. " times. " .. + "Score: " .. TargetDestroy.Score .. ". Total:" .. Player.Score - Player.Penalty, + 15 + ) + :ToAllIf( self:IfMessagesDestroy() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesDestroy() and self:IfMessagesToCoalition() ) + end + Destroyed = true + self:ScoreCSV( PlayerName, TargetPlayerName, "DESTROY_SCORE", 1, ThreatScore, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + + local UnitName = TargetUnit:GetName() + local Score = self.ScoringObjects[UnitName] + if Score then + Player.Score = Player.Score + Score + TargetDestroy.Score = TargetDestroy.Score + Score + MESSAGE + :New( "Special target '" .. TargetUnitCategory .. " ( " .. ThreatTypeTarget .. " ) " .. " destroyed! " .. + "Player '" .. PlayerName .. "' receives an extra " .. Score .. " points! Total: " .. Player.Score - Player.Penalty, + 15 + ) + :ToAllIf( self:IfMessagesScore() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesScore() and self:IfMessagesToCoalition() ) + self:ScoreCSV( PlayerName, TargetPlayerName, "DESTROY_SCORE", 1, Score, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + Destroyed = true + end + + -- Check if there are Zones where the destruction happened. + for ZoneName, ScoreZoneData in pairs( self.ScoringZones ) do + self:E( { ScoringZone = ScoreZoneData } ) + local ScoreZone = ScoreZoneData.ScoreZone -- Core.Zone#ZONE_BASE + local Score = ScoreZoneData.Score + if ScoreZone:IsVec2InZone( TargetUnit:GetVec2() ) then + Player.Score = Player.Score + Score + TargetDestroy.Score = TargetDestroy.Score + Score + MESSAGE + :New( "Target destroyed in zone '" .. ScoreZone:GetName() .. "'." .. + "Player '" .. PlayerName .. "' receives an extra " .. Score .. " points! " .. + "Total: " .. Player.Score - Player.Penalty, + 15 ) + :ToAllIf( self:IfMessagesZone() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesZone() and self:IfMessagesToCoalition() ) + self:ScoreCSV( PlayerName, TargetPlayerName, "DESTROY_SCORE", 1, Score, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + Destroyed = true + end + end + + end + else + -- Check if there are Zones where the destruction happened. + for ZoneName, ScoreZoneData in pairs( self.ScoringZones ) do + self:E( { ScoringZone = ScoreZoneData } ) + local ScoreZone = ScoreZoneData.ScoreZone -- Core.Zone#ZONE_BASE + local Score = ScoreZoneData.Score + if ScoreZone:IsVec2InZone( TargetUnit:GetVec2() ) then + Player.Score = Player.Score + Score + TargetDestroy.Score = TargetDestroy.Score + Score + MESSAGE + :New( "Scenery destroyed in zone '" .. ScoreZone:GetName() .. "'." .. + "Player '" .. PlayerName .. "' receives an extra " .. Score .. " points! " .. + "Total: " .. Player.Score - Player.Penalty, + 15 + ) + :ToAllIf( self:IfMessagesZone() and self:IfMessagesToAll() ) + :ToCoalitionIf( InitCoalition, self:IfMessagesZone() and self:IfMessagesToCoalition() ) + Destroyed = true + self:ScoreCSV( PlayerName, "", "DESTROY_SCORE", 1, Score, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, "", "Scenery", TargetUnitType ) + end + end + end + + -- Delete now the hit cache if the target was destroyed. + -- Otherwise points will be granted every time a target gets killed by the players that hit that target. + -- This is only relevant for player to player destroys. + if Destroyed then + Player.Hit[TargetCategory][TargetUnitName].TimeStamp = 0 + end + end + end + end +end + + +--- Produce detailed report of player hit scores. +-- @param #SCORING self +-- @param #string PlayerName The name of the player. +-- @return #string The report. +function SCORING:ReportDetailedPlayerHits( PlayerName ) + + local ScoreMessage = "" + local PlayerScore = 0 + local PlayerPenalty = 0 + + local PlayerData = self.Players[PlayerName] + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Score Player: " .. PlayerName ) + + -- Some variables + local InitUnitCoalition = _SCORINGCoalition[PlayerData.UnitCoalition] + local InitUnitCategory = _SCORINGCategory[PlayerData.UnitCategory] + local InitUnitType = PlayerData.UnitType + local InitUnitName = PlayerData.UnitName + + local ScoreMessageHits = "" + for CategoryID, CategoryName in pairs( _SCORINGCategory ) do + self:T( CategoryName ) + if PlayerData.Hit[CategoryID] then + self:T( "Hit scores exist for player " .. PlayerName ) + local Score = 0 + local ScoreHit = 0 + local Penalty = 0 + local PenaltyHit = 0 + for UnitName, UnitData in pairs( PlayerData.Hit[CategoryID] ) do + Score = Score + UnitData.Score + ScoreHit = ScoreHit + UnitData.ScoreHit + Penalty = Penalty + UnitData.Penalty + PenaltyHit = UnitData.PenaltyHit + end + local ScoreMessageHit = string.format( "%s:%d ", CategoryName, Score - Penalty ) + self:T( ScoreMessageHit ) + ScoreMessageHits = ScoreMessageHits .. ScoreMessageHit + PlayerScore = PlayerScore + Score + PlayerPenalty = PlayerPenalty + Penalty + else + --ScoreMessageHits = ScoreMessageHits .. string.format( "%s:%d ", string.format(CategoryName, 1, 1), 0 ) + end + end + if ScoreMessageHits ~= "" then + ScoreMessage = "Hits: " .. ScoreMessageHits + end + end + + return ScoreMessage, PlayerScore, PlayerPenalty +end + + +--- Produce detailed report of player destroy scores. +-- @param #SCORING self +-- @param #string PlayerName The name of the player. +-- @return #string The report. +function SCORING:ReportDetailedPlayerDestroys( PlayerName ) + + local ScoreMessage = "" + local PlayerScore = 0 + local PlayerPenalty = 0 + + local PlayerData = self.Players[PlayerName] + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Score Player: " .. PlayerName ) + + -- Some variables + local InitUnitCoalition = _SCORINGCoalition[PlayerData.UnitCoalition] + local InitUnitCategory = _SCORINGCategory[PlayerData.UnitCategory] + local InitUnitType = PlayerData.UnitType + local InitUnitName = PlayerData.UnitName + + local ScoreMessageDestroys = "" + for CategoryID, CategoryName in pairs( _SCORINGCategory ) do + if PlayerData.Destroy[CategoryID] then + self:T( "Destroy scores exist for player " .. PlayerName ) + local Score = 0 + local ScoreDestroy = 0 + local Penalty = 0 + local PenaltyDestroy = 0 + + for UnitName, UnitData in pairs( PlayerData.Destroy[CategoryID] ) do + self:E( { UnitData = UnitData } ) + if UnitData ~= {} then + Score = Score + UnitData.Score + ScoreDestroy = ScoreDestroy + UnitData.ScoreDestroy + Penalty = Penalty + UnitData.Penalty + PenaltyDestroy = PenaltyDestroy + UnitData.PenaltyDestroy + end + end + + local ScoreMessageDestroy = string.format( " %s:%d ", CategoryName, Score - Penalty ) + self:T( ScoreMessageDestroy ) + ScoreMessageDestroys = ScoreMessageDestroys .. ScoreMessageDestroy + + PlayerScore = PlayerScore + Score + PlayerPenalty = PlayerPenalty + Penalty + else + --ScoreMessageDestroys = ScoreMessageDestroys .. string.format( "%s:%d ", string.format(CategoryName, 1, 1), 0 ) + end + end + if ScoreMessageDestroys ~= "" then + ScoreMessage = "Destroys: " .. ScoreMessageDestroys + end + end + + return ScoreMessage, PlayerScore, PlayerPenalty +end + +--- Produce detailed report of player penalty scores because of changing the coalition. +-- @param #SCORING self +-- @param #string PlayerName The name of the player. +-- @return #string The report. +function SCORING:ReportDetailedPlayerCoalitionChanges( PlayerName ) + + local ScoreMessage = "" + local PlayerScore = 0 + local PlayerPenalty = 0 + + local PlayerData = self.Players[PlayerName] + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Score Player: " .. PlayerName ) + + -- Some variables + local InitUnitCoalition = _SCORINGCoalition[PlayerData.UnitCoalition] + local InitUnitCategory = _SCORINGCategory[PlayerData.UnitCategory] + local InitUnitType = PlayerData.UnitType + local InitUnitName = PlayerData.UnitName + + local ScoreMessageCoalitionChangePenalties = "" + if PlayerData.PenaltyCoalition ~= 0 then + ScoreMessageCoalitionChangePenalties = ScoreMessageCoalitionChangePenalties .. string.format( " -%d (%d changed)", PlayerData.Penalty, PlayerData.PenaltyCoalition ) + PlayerPenalty = PlayerPenalty + PlayerData.Penalty + end + if ScoreMessageCoalitionChangePenalties ~= "" then + ScoreMessage = ScoreMessage .. "Coalition Penalties: " .. ScoreMessageCoalitionChangePenalties + end + end + + return ScoreMessage, PlayerScore, PlayerPenalty +end + +--- Produce detailed report of player goal scores. +-- @param #SCORING self +-- @param #string PlayerName The name of the player. +-- @return #string The report. +function SCORING:ReportDetailedPlayerGoals( PlayerName ) + + local ScoreMessage = "" + local PlayerScore = 0 + local PlayerPenalty = 0 + + local PlayerData = self.Players[PlayerName] + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Score Player: " .. PlayerName ) + + -- Some variables + local InitUnitCoalition = _SCORINGCoalition[PlayerData.UnitCoalition] + local InitUnitCategory = _SCORINGCategory[PlayerData.UnitCategory] + local InitUnitType = PlayerData.UnitType + local InitUnitName = PlayerData.UnitName + + local ScoreMessageGoal = "" + local ScoreGoal = 0 + local ScoreTask = 0 + for GoalName, GoalData in pairs( PlayerData.Goals ) do + ScoreGoal = ScoreGoal + GoalData.Score + ScoreMessageGoal = ScoreMessageGoal .. "'" .. GoalName .. "':" .. GoalData.Score .. "; " + end + PlayerScore = PlayerScore + ScoreGoal + + if ScoreMessageGoal ~= "" then + ScoreMessage = "Goals: " .. ScoreMessageGoal + end + end + + return ScoreMessage, PlayerScore, PlayerPenalty +end + +--- Produce detailed report of player penalty scores because of changing the coalition. +-- @param #SCORING self +-- @param #string PlayerName The name of the player. +-- @return #string The report. +function SCORING:ReportDetailedPlayerMissions( PlayerName ) + + local ScoreMessage = "" + local PlayerScore = 0 + local PlayerPenalty = 0 + + local PlayerData = self.Players[PlayerName] + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Score Player: " .. PlayerName ) + + -- Some variables + local InitUnitCoalition = _SCORINGCoalition[PlayerData.UnitCoalition] + local InitUnitCategory = _SCORINGCategory[PlayerData.UnitCategory] + local InitUnitType = PlayerData.UnitType + local InitUnitName = PlayerData.UnitName + + local ScoreMessageMission = "" + local ScoreMission = 0 + local ScoreTask = 0 + for MissionName, MissionData in pairs( PlayerData.Mission ) do + ScoreMission = ScoreMission + MissionData.ScoreMission + ScoreTask = ScoreTask + MissionData.ScoreTask + ScoreMessageMission = ScoreMessageMission .. "'" .. MissionName .. "'; " + end + PlayerScore = PlayerScore + ScoreMission + ScoreTask + + if ScoreMessageMission ~= "" then + ScoreMessage = "Tasks: " .. ScoreTask .. " Mission: " .. ScoreMission .. " ( " .. ScoreMessageMission .. ")" + end + end + + return ScoreMessage, PlayerScore, PlayerPenalty +end + + +--- Report Group Score Summary +-- @param #SCORING self +-- @param Wrapper.Group#GROUP PlayerGroup The player group. +function SCORING:ReportScoreGroupSummary( PlayerGroup ) + + local PlayerMessage = "" + + self:T( "Report Score Group Summary" ) + + local PlayerUnits = PlayerGroup:GetUnits() + for UnitID, PlayerUnit in pairs( PlayerUnits ) do + local PlayerUnit = PlayerUnit -- Wrapper.Unit#UNIT + local PlayerName = PlayerUnit:GetPlayerName() + + if PlayerName then + + local ReportHits, ScoreHits, PenaltyHits = self:ReportDetailedPlayerHits( PlayerName ) + ReportHits = ReportHits ~= "" and "\n- " .. ReportHits or ReportHits + self:E( { ReportHits, ScoreHits, PenaltyHits } ) + + local ReportDestroys, ScoreDestroys, PenaltyDestroys = self:ReportDetailedPlayerDestroys( PlayerName ) + ReportDestroys = ReportDestroys ~= "" and "\n- " .. ReportDestroys or ReportDestroys + self:E( { ReportDestroys, ScoreDestroys, PenaltyDestroys } ) + + local ReportCoalitionChanges, ScoreCoalitionChanges, PenaltyCoalitionChanges = self:ReportDetailedPlayerCoalitionChanges( PlayerName ) + ReportCoalitionChanges = ReportCoalitionChanges ~= "" and "\n- " .. ReportCoalitionChanges or ReportCoalitionChanges + self:E( { ReportCoalitionChanges, ScoreCoalitionChanges, PenaltyCoalitionChanges } ) + + local ReportGoals, ScoreGoals, PenaltyGoals = self:ReportDetailedPlayerGoals( PlayerName ) + ReportGoals = ReportGoals ~= "" and "\n- " .. ReportGoals or ReportGoals + self:E( { ReportGoals, ScoreGoals, PenaltyGoals } ) + + local ReportMissions, ScoreMissions, PenaltyMissions = self:ReportDetailedPlayerMissions( PlayerName ) + ReportMissions = ReportMissions ~= "" and "\n- " .. ReportMissions or ReportMissions + self:E( { ReportMissions, ScoreMissions, PenaltyMissions } ) + + local PlayerScore = ScoreHits + ScoreDestroys + ScoreCoalitionChanges + ScoreGoals + ScoreMissions + local PlayerPenalty = PenaltyHits + PenaltyDestroys + PenaltyCoalitionChanges + ScoreGoals + PenaltyMissions + + PlayerMessage = + string.format( "Player '%s' Score = %d ( %d Score, -%d Penalties )", + PlayerName, + PlayerScore - PlayerPenalty, + PlayerScore, + PlayerPenalty + ) + MESSAGE:New( PlayerMessage, 30, "Player '" .. PlayerName .. "'" ):ToGroup( PlayerGroup ) + end + end + +end + +--- Report Group Score Detailed +-- @param #SCORING self +-- @param Wrapper.Group#GROUP PlayerGroup The player group. +function SCORING:ReportScoreGroupDetailed( PlayerGroup ) + + local PlayerMessage = "" + + self:T( "Report Score Group Detailed" ) + + local PlayerUnits = PlayerGroup:GetUnits() + for UnitID, PlayerUnit in pairs( PlayerUnits ) do + local PlayerUnit = PlayerUnit -- Wrapper.Unit#UNIT + local PlayerName = PlayerUnit:GetPlayerName() + + if PlayerName then + + local ReportHits, ScoreHits, PenaltyHits = self:ReportDetailedPlayerHits( PlayerName ) + ReportHits = ReportHits ~= "" and "\n- " .. ReportHits or ReportHits + self:E( { ReportHits, ScoreHits, PenaltyHits } ) + + local ReportDestroys, ScoreDestroys, PenaltyDestroys = self:ReportDetailedPlayerDestroys( PlayerName ) + ReportDestroys = ReportDestroys ~= "" and "\n- " .. ReportDestroys or ReportDestroys + self:E( { ReportDestroys, ScoreDestroys, PenaltyDestroys } ) + + local ReportCoalitionChanges, ScoreCoalitionChanges, PenaltyCoalitionChanges = self:ReportDetailedPlayerCoalitionChanges( PlayerName ) + ReportCoalitionChanges = ReportCoalitionChanges ~= "" and "\n- " .. ReportCoalitionChanges or ReportCoalitionChanges + self:E( { ReportCoalitionChanges, ScoreCoalitionChanges, PenaltyCoalitionChanges } ) + + local ReportGoals, ScoreGoals, PenaltyGoals = self:ReportDetailedPlayerGoals( PlayerName ) + ReportGoals = ReportGoals ~= "" and "\n- " .. ReportGoals or ReportGoals + self:E( { ReportGoals, ScoreGoals, PenaltyGoals } ) + + local ReportMissions, ScoreMissions, PenaltyMissions = self:ReportDetailedPlayerMissions( PlayerName ) + ReportMissions = ReportMissions ~= "" and "\n- " .. ReportMissions or ReportMissions + self:E( { ReportMissions, ScoreMissions, PenaltyMissions } ) + + local PlayerScore = ScoreHits + ScoreDestroys + ScoreCoalitionChanges + ScoreGoals + ScoreMissions + local PlayerPenalty = PenaltyHits + PenaltyDestroys + PenaltyCoalitionChanges + ScoreGoals + PenaltyMissions + + PlayerMessage = + string.format( "Player '%s' Score = %d ( %d Score, -%d Penalties )%s%s%s%s%s", + PlayerName, + PlayerScore - PlayerPenalty, + PlayerScore, + PlayerPenalty, + ReportHits, + ReportDestroys, + ReportCoalitionChanges, + ReportGoals, + ReportMissions + ) + MESSAGE:New( PlayerMessage, 30, "Player '" .. PlayerName .. "'" ):ToGroup( PlayerGroup ) + end + end + +end + +--- Report all players score +-- @param #SCORING self +-- @param Wrapper.Group#GROUP PlayerGroup The player group. +function SCORING:ReportScoreAllSummary( PlayerGroup ) + + local PlayerMessage = "" + + self:T( "Report Score All Players" ) + + for PlayerName, PlayerData in pairs( self.Players ) do + + if PlayerName then + + local ReportHits, ScoreHits, PenaltyHits = self:ReportDetailedPlayerHits( PlayerName ) + ReportHits = ReportHits ~= "" and "\n- " .. ReportHits or ReportHits + self:E( { ReportHits, ScoreHits, PenaltyHits } ) + + local ReportDestroys, ScoreDestroys, PenaltyDestroys = self:ReportDetailedPlayerDestroys( PlayerName ) + ReportDestroys = ReportDestroys ~= "" and "\n- " .. ReportDestroys or ReportDestroys + self:E( { ReportDestroys, ScoreDestroys, PenaltyDestroys } ) + + local ReportCoalitionChanges, ScoreCoalitionChanges, PenaltyCoalitionChanges = self:ReportDetailedPlayerCoalitionChanges( PlayerName ) + ReportCoalitionChanges = ReportCoalitionChanges ~= "" and "\n- " .. ReportCoalitionChanges or ReportCoalitionChanges + self:E( { ReportCoalitionChanges, ScoreCoalitionChanges, PenaltyCoalitionChanges } ) + + local ReportGoals, ScoreGoals, PenaltyGoals = self:ReportDetailedPlayerGoals( PlayerName ) + ReportGoals = ReportGoals ~= "" and "\n- " .. ReportGoals or ReportGoals + self:E( { ReportGoals, ScoreGoals, PenaltyGoals } ) + + local ReportMissions, ScoreMissions, PenaltyMissions = self:ReportDetailedPlayerMissions( PlayerName ) + ReportMissions = ReportMissions ~= "" and "\n- " .. ReportMissions or ReportMissions + self:E( { ReportMissions, ScoreMissions, PenaltyMissions } ) + + local PlayerScore = ScoreHits + ScoreDestroys + ScoreCoalitionChanges + ScoreGoals + ScoreMissions + local PlayerPenalty = PenaltyHits + PenaltyDestroys + PenaltyCoalitionChanges + ScoreGoals + PenaltyMissions + + PlayerMessage = + string.format( "Player '%s' Score = %d ( %d Score, -%d Penalties )", + PlayerName, + PlayerScore - PlayerPenalty, + PlayerScore, + PlayerPenalty + ) + MESSAGE:New( PlayerMessage, 30, "Player '" .. PlayerName .. "'" ):ToGroup( PlayerGroup ) + end + end + +end + + +function SCORING:SecondsToClock(sSeconds) + local nSeconds = sSeconds + if nSeconds == 0 then + --return nil; + return "00:00:00"; + else + nHours = string.format("%02.f", math.floor(nSeconds/3600)); + nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); + nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); + return nHours..":"..nMins..":"..nSecs + end +end + +--- Opens a score CSV file to log the scores. +-- @param #SCORING self +-- @param #string ScoringCSV +-- @return #SCORING self +-- @usage +-- -- Open a new CSV file to log the scores of the game Gori Valley. Let the name of the CSV file begin with "Player Scores". +-- ScoringObject = SCORING:New( "Gori Valley" ) +-- ScoringObject:OpenCSV( "Player Scores" ) +function SCORING:OpenCSV( ScoringCSV ) + self:F( ScoringCSV ) + + if lfs and io and os then + if ScoringCSV then + self.ScoringCSV = ScoringCSV + local fdir = lfs.writedir() .. [[Logs\]] .. self.ScoringCSV .. " " .. os.date( "%Y-%m-%d %H-%M-%S" ) .. ".csv" + + self.CSVFile, self.err = io.open( fdir, "w+" ) + if not self.CSVFile then + error( "Error: Cannot open CSV file in " .. lfs.writedir() ) + end + + self.CSVFile:write( '"GameName","RunTime","Time","PlayerName","TargetPlayerName","ScoreType","PlayerUnitCoaltion","PlayerUnitCategory","PlayerUnitType","PlayerUnitName","TargetUnitCoalition","TargetUnitCategory","TargetUnitType","TargetUnitName","Times","Score"\n' ) + + self.RunTime = os.date("%y-%m-%d_%H-%M-%S") + else + error( "A string containing the CSV file name must be given." ) + end + else + self:E( "The MissionScripting.lua file has not been changed to allow lfs, io and os modules to be used..." ) + end + return self +end + + +--- Registers a score for a player. +-- @param #SCORING self +-- @param #string PlayerName The name of the player. +-- @param #string TargetPlayerName The name of the target player. +-- @param #string ScoreType The type of the score. +-- @param #string ScoreTimes The amount of scores achieved. +-- @param #string ScoreAmount The score given. +-- @param #string PlayerUnitName The unit name of the player. +-- @param #string PlayerUnitCoalition The coalition of the player unit. +-- @param #string PlayerUnitCategory The category of the player unit. +-- @param #string PlayerUnitType The type of the player unit. +-- @param #string TargetUnitName The name of the target unit. +-- @param #string TargetUnitCoalition The coalition of the target unit. +-- @param #string TargetUnitCategory The category of the target unit. +-- @param #string TargetUnitType The type of the target unit. +-- @return #SCORING self +function SCORING:ScoreCSV( PlayerName, TargetPlayerName, ScoreType, ScoreTimes, ScoreAmount, PlayerUnitName, PlayerUnitCoalition, PlayerUnitCategory, PlayerUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + --write statistic information to file + local ScoreTime = self:SecondsToClock( timer.getTime() ) + PlayerName = PlayerName:gsub( '"', '_' ) + + TargetPlayerName = TargetPlayerName or "" + TargetPlayerName = TargetPlayerName:gsub( '"', '_' ) + + if PlayerUnitName and PlayerUnitName ~= '' then + local PlayerUnit = Unit.getByName( PlayerUnitName ) + + if PlayerUnit then + if not PlayerUnitCategory then + --PlayerUnitCategory = SCORINGCategory[PlayerUnit:getCategory()] + PlayerUnitCategory = _SCORINGCategory[PlayerUnit:getDesc().category] + end + + if not PlayerUnitCoalition then + PlayerUnitCoalition = _SCORINGCoalition[PlayerUnit:getCoalition()] + end + + if not PlayerUnitType then + PlayerUnitType = PlayerUnit:getTypeName() + end + else + PlayerUnitName = '' + PlayerUnitCategory = '' + PlayerUnitCoalition = '' + PlayerUnitType = '' + end + else + PlayerUnitName = '' + PlayerUnitCategory = '' + PlayerUnitCoalition = '' + PlayerUnitType = '' + end + + TargetUnitCoalition = TargetUnitCoalition or "" + TargetUnitCategory = TargetUnitCategory or "" + TargetUnitType = TargetUnitType or "" + TargetUnitName = TargetUnitName or "" + + if lfs and io and os then + self.CSVFile:write( + '"' .. self.GameName .. '"' .. ',' .. + '"' .. self.RunTime .. '"' .. ',' .. + '' .. ScoreTime .. '' .. ',' .. + '"' .. PlayerName .. '"' .. ',' .. + '"' .. TargetPlayerName .. '"' .. ',' .. + '"' .. ScoreType .. '"' .. ',' .. + '"' .. PlayerUnitCoalition .. '"' .. ',' .. + '"' .. PlayerUnitCategory .. '"' .. ',' .. + '"' .. PlayerUnitType .. '"' .. ',' .. + '"' .. PlayerUnitName .. '"' .. ',' .. + '"' .. TargetUnitCoalition .. '"' .. ',' .. + '"' .. TargetUnitCategory .. '"' .. ',' .. + '"' .. TargetUnitType .. '"' .. ',' .. + '"' .. TargetUnitName .. '"' .. ',' .. + '' .. ScoreTimes .. '' .. ',' .. + '' .. ScoreAmount + ) + + self.CSVFile:write( "\n" ) + end +end + + +function SCORING:CloseCSV() + if lfs and io and os then + self.CSVFile:close() + end +end + +--- The CLEANUP class keeps an area clean of crashing or colliding airplanes. It also prevents airplanes from firing within this area. +-- @module CleanUp +-- @author Flightcontrol + + + + + + + +--- The CLEANUP class. +-- @type CLEANUP +-- @extends Core.Base#BASE +CLEANUP = { + ClassName = "CLEANUP", + ZoneNames = {}, + TimeInterval = 300, + CleanUpList = {}, +} + +--- Creates the main object which is handling the cleaning of the debris within the given Zone Names. +-- @param #CLEANUP self +-- @param #table ZoneNames Is a table of zone names where the debris should be cleaned. Also a single string can be passed with one zone name. +-- @param #number TimeInterval The interval in seconds when the clean activity takes place. The default is 300 seconds, thus every 5 minutes. +-- @return #CLEANUP +-- @usage +-- -- Clean these Zones. +-- CleanUpAirports = CLEANUP:New( { 'CLEAN Tbilisi', 'CLEAN Kutaisi' }, 150 ) +-- or +-- CleanUpTbilisi = CLEANUP:New( 'CLEAN Tbilisi', 150 ) +-- CleanUpKutaisi = CLEANUP:New( 'CLEAN Kutaisi', 600 ) +function CLEANUP:New( ZoneNames, TimeInterval ) + + local self = BASE:Inherit( self, BASE:New() ) -- #CLEANUP + self:F( { ZoneNames, TimeInterval } ) + + if type( ZoneNames ) == 'table' then + self.ZoneNames = ZoneNames + else + self.ZoneNames = { ZoneNames } + end + if TimeInterval then + self.TimeInterval = TimeInterval + end + + self:HandleEvent( EVENTS.Birth ) + + self.CleanUpScheduler = SCHEDULER:New( self, self._CleanUpScheduler, {}, 1, TimeInterval ) + + return self +end + + +--- Destroys a group from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param Dcs.DCSWrapper.Group#Group GroupObject The object to be destroyed. +-- @param #string CleanUpGroupName The groupname... +function CLEANUP:_DestroyGroup( GroupObject, CleanUpGroupName ) + self:F( { GroupObject, CleanUpGroupName } ) + + if GroupObject then -- and GroupObject:isExist() then + trigger.action.deactivateGroup(GroupObject) + self:T( { "GroupObject Destroyed", GroupObject } ) + end +end + +--- Destroys a @{DCSWrapper.Unit#Unit} from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param Dcs.DCSWrapper.Unit#Unit CleanUpUnit The object to be destroyed. +-- @param #string CleanUpUnitName The Unit name ... +function CLEANUP:_DestroyUnit( CleanUpUnit, CleanUpUnitName ) + self:F( { CleanUpUnit, CleanUpUnitName } ) + + if CleanUpUnit then + local CleanUpGroup = Unit.getGroup(CleanUpUnit) + -- TODO Client bug in 1.5.3 + if CleanUpGroup and CleanUpGroup:isExist() then + local CleanUpGroupUnits = CleanUpGroup:getUnits() + if #CleanUpGroupUnits == 1 then + local CleanUpGroupName = CleanUpGroup:getName() + --self:CreateEventCrash( timer.getTime(), CleanUpUnit ) + CleanUpGroup:destroy() + self:T( { "Destroyed Group:", CleanUpGroupName } ) + else + CleanUpUnit:destroy() + self:T( { "Destroyed Unit:", CleanUpUnitName } ) + end + self.CleanUpList[CleanUpUnitName] = nil -- Cleaning from the list + CleanUpUnit = nil + end + end +end + +-- TODO check Dcs.DCSTypes#Weapon +--- Destroys a missile from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param Dcs.DCSTypes#Weapon MissileObject +function CLEANUP:_DestroyMissile( MissileObject ) + self:F( { MissileObject } ) + + if MissileObject and MissileObject:isExist() then + MissileObject:destroy() + self:T( "MissileObject Destroyed") + end +end + +--- @param #CLEANUP self +-- @param Core.Event#EVENTDATA EventData +function CLEANUP:_OnEventBirth( EventData ) + self:F( { EventData } ) + + self.CleanUpList[EventData.IniDCSUnitName] = {} + self.CleanUpList[EventData.IniDCSUnitName].CleanUpUnit = EventData.IniDCSUnit + self.CleanUpList[EventData.IniDCSUnitName].CleanUpGroup = EventData.IniDCSGroup + self.CleanUpList[EventData.IniDCSUnitName].CleanUpGroupName = EventData.IniDCSGroupName + self.CleanUpList[EventData.IniDCSUnitName].CleanUpUnitName = EventData.IniDCSUnitName + + EventData.IniUnit:HandleEvent( EVENTS.EngineShutdown , self._EventAddForCleanUp ) + EventData.IniUnit:HandleEvent( EVENTS.EngineStartup, self._EventAddForCleanUp ) + EventData.IniUnit:HandleEvent( EVENTS.Hit, self._EventAddForCleanUp ) + EventData.IniUnit:HandleEvent( EVENTS.PilotDead, self._EventCrash ) + EventData.IniUnit:HandleEvent( EVENTS.Dead, self._EventCrash ) + EventData.IniUnit:HandleEvent( EVENTS.Crash, self._EventCrash ) + EventData.IniUnit:HandleEvent( EVENTS.Shot, self._EventShot ) + +end + +--- Detects if a crash event occurs. +-- Crashed units go into a CleanUpList for removal. +-- @param #CLEANUP self +-- @param Dcs.DCSTypes#Event event +function CLEANUP:_EventCrash( Event ) + self:F( { Event } ) + + --TODO: This stuff is not working due to a DCS bug. Burning units cannot be destroyed. + -- self:T("before getGroup") + -- local _grp = Unit.getGroup(event.initiator)-- Identify the group that fired + -- self:T("after getGroup") + -- _grp:destroy() + -- self:T("after deactivateGroup") + -- event.initiator:destroy() + + self.CleanUpList[Event.IniDCSUnitName] = {} + self.CleanUpList[Event.IniDCSUnitName].CleanUpUnit = Event.IniDCSUnit + self.CleanUpList[Event.IniDCSUnitName].CleanUpGroup = Event.IniDCSGroup + self.CleanUpList[Event.IniDCSUnitName].CleanUpGroupName = Event.IniDCSGroupName + self.CleanUpList[Event.IniDCSUnitName].CleanUpUnitName = Event.IniDCSUnitName + +end + +--- Detects if a unit shoots a missile. +-- If this occurs within one of the zones, then the weapon used must be destroyed. +-- @param #CLEANUP self +-- @param Dcs.DCSTypes#Event event +function CLEANUP:_EventShot( Event ) + self:F( { Event } ) + + -- Test if the missile was fired within one of the CLEANUP.ZoneNames. + local CurrentLandingZoneID = 0 + CurrentLandingZoneID = routines.IsUnitInZones( Event.IniDCSUnit, self.ZoneNames ) + if ( CurrentLandingZoneID ) then + -- Okay, the missile was fired within the CLEANUP.ZoneNames, destroy the fired weapon. + --_SEADmissile:destroy() + SCHEDULER:New( self, CLEANUP._DestroyMissile, { Event.Weapon }, 0.1 ) + end +end + + +--- Detects if the Unit has an S_EVENT_HIT within the given ZoneNames. If this is the case, destroy the unit. +-- @param #CLEANUP self +-- @param Dcs.DCSTypes#Event event +function CLEANUP:_EventHitCleanUp( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + if routines.IsUnitInZones( Event.IniDCSUnit, self.ZoneNames ) ~= nil then + self:T( { "Life: ", Event.IniDCSUnitName, ' = ', Event.IniDCSUnit:getLife(), "/", Event.IniDCSUnit:getLife0() } ) + if Event.IniDCSUnit:getLife() < Event.IniDCSUnit:getLife0() then + self:T( "CleanUp: Destroy: " .. Event.IniDCSUnitName ) + SCHEDULER:New( self, CLEANUP._DestroyUnit, { Event.IniDCSUnit }, 0.1 ) + end + end + end + + if Event.TgtDCSUnit then + if routines.IsUnitInZones( Event.TgtDCSUnit, self.ZoneNames ) ~= nil then + self:T( { "Life: ", Event.TgtDCSUnitName, ' = ', Event.TgtDCSUnit:getLife(), "/", Event.TgtDCSUnit:getLife0() } ) + if Event.TgtDCSUnit:getLife() < Event.TgtDCSUnit:getLife0() then + self:T( "CleanUp: Destroy: " .. Event.TgtDCSUnitName ) + SCHEDULER:New( self, CLEANUP._DestroyUnit, { Event.TgtDCSUnit }, 0.1 ) + end + end + end +end + +--- Add the @{DCSWrapper.Unit#Unit} to the CleanUpList for CleanUp. +function CLEANUP:_AddForCleanUp( CleanUpUnit, CleanUpUnitName ) + self:F( { CleanUpUnit, CleanUpUnitName } ) + + self.CleanUpList[CleanUpUnitName] = {} + self.CleanUpList[CleanUpUnitName].CleanUpUnit = CleanUpUnit + self.CleanUpList[CleanUpUnitName].CleanUpUnitName = CleanUpUnitName + self.CleanUpList[CleanUpUnitName].CleanUpGroup = Unit.getGroup(CleanUpUnit) + self.CleanUpList[CleanUpUnitName].CleanUpGroupName = Unit.getGroup(CleanUpUnit):getName() + self.CleanUpList[CleanUpUnitName].CleanUpTime = timer.getTime() + self.CleanUpList[CleanUpUnitName].CleanUpMoved = false + + self:T( { "CleanUp: Add to CleanUpList: ", Unit.getGroup(CleanUpUnit):getName(), CleanUpUnitName } ) + +end + +--- Detects if the Unit has an S_EVENT_ENGINE_SHUTDOWN or an S_EVENT_HIT within the given ZoneNames. If this is the case, add the Group to the CLEANUP List. +-- @param #CLEANUP self +-- @param Dcs.DCSTypes#Event event +function CLEANUP:_EventAddForCleanUp( Event ) + + if Event.IniDCSUnit then + if self.CleanUpList[Event.IniDCSUnitName] == nil then + if routines.IsUnitInZones( Event.IniDCSUnit, self.ZoneNames ) ~= nil then + self:_AddForCleanUp( Event.IniDCSUnit, Event.IniDCSUnitName ) + end + end + end + + if Event.TgtDCSUnit then + if self.CleanUpList[Event.TgtDCSUnitName] == nil then + if routines.IsUnitInZones( Event.TgtDCSUnit, self.ZoneNames ) ~= nil then + self:_AddForCleanUp( Event.TgtDCSUnit, Event.TgtDCSUnitName ) + end + end + end + +end + +local CleanUpSurfaceTypeText = { + "LAND", + "SHALLOW_WATER", + "WATER", + "ROAD", + "RUNWAY" + } + +--- At the defined time interval, CleanUp the Groups within the CleanUpList. +-- @param #CLEANUP self +function CLEANUP:_CleanUpScheduler() + self:F( { "CleanUp Scheduler" } ) + + local CleanUpCount = 0 + for CleanUpUnitName, UnitData in pairs( self.CleanUpList ) do + CleanUpCount = CleanUpCount + 1 + + self:T( { CleanUpUnitName, UnitData } ) + local CleanUpUnit = Unit.getByName(UnitData.CleanUpUnitName) + local CleanUpGroupName = UnitData.CleanUpGroupName + local CleanUpUnitName = UnitData.CleanUpUnitName + if CleanUpUnit then + self:T( { "CleanUp Scheduler", "Checking:", CleanUpUnitName } ) + if _DATABASE:GetStatusGroup( CleanUpGroupName ) ~= "ReSpawn" then + local CleanUpUnitVec3 = CleanUpUnit:getPoint() + --self:T( CleanUpUnitVec3 ) + local CleanUpUnitVec2 = {} + CleanUpUnitVec2.x = CleanUpUnitVec3.x + CleanUpUnitVec2.y = CleanUpUnitVec3.z + --self:T( CleanUpUnitVec2 ) + local CleanUpSurfaceType = land.getSurfaceType(CleanUpUnitVec2) + --self:T( CleanUpSurfaceType ) + + if CleanUpUnit and CleanUpUnit:getLife() <= CleanUpUnit:getLife0() * 0.95 then + if CleanUpSurfaceType == land.SurfaceType.RUNWAY then + if CleanUpUnit:inAir() then + local CleanUpLandHeight = land.getHeight(CleanUpUnitVec2) + local CleanUpUnitHeight = CleanUpUnitVec3.y - CleanUpLandHeight + self:T( { "CleanUp Scheduler", "Height = " .. CleanUpUnitHeight } ) + if CleanUpUnitHeight < 30 then + self:T( { "CleanUp Scheduler", "Destroy " .. CleanUpUnitName .. " because below safe height and damaged." } ) + self:_DestroyUnit(CleanUpUnit, CleanUpUnitName) + end + else + self:T( { "CleanUp Scheduler", "Destroy " .. CleanUpUnitName .. " because on runway and damaged." } ) + self:_DestroyUnit(CleanUpUnit, CleanUpUnitName) + end + end + end + -- Clean Units which are waiting for a very long time in the CleanUpZone. + if CleanUpUnit then + local CleanUpUnitVelocity = CleanUpUnit:getVelocity() + local CleanUpUnitVelocityTotal = math.abs(CleanUpUnitVelocity.x) + math.abs(CleanUpUnitVelocity.y) + math.abs(CleanUpUnitVelocity.z) + if CleanUpUnitVelocityTotal < 1 then + if UnitData.CleanUpMoved then + if UnitData.CleanUpTime + 180 <= timer.getTime() then + self:T( { "CleanUp Scheduler", "Destroy due to not moving anymore " .. CleanUpUnitName } ) + self:_DestroyUnit(CleanUpUnit, CleanUpUnitName) + end + end + else + UnitData.CleanUpTime = timer.getTime() + UnitData.CleanUpMoved = true + end + end + + else + -- Do nothing ... + self.CleanUpList[CleanUpUnitName] = nil -- Not anymore in the DCSRTE + end + else + self:T( "CleanUp: Group " .. CleanUpUnitName .. " cannot be found in DCS RTE, removing ..." ) + self.CleanUpList[CleanUpUnitName] = nil -- Not anymore in the DCSRTE + end + end + self:T(CleanUpCount) + + return true +end + +--- Single-Player:**Yes** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**All** -- +-- **Spawn groups of units dynamically in your missions.** +-- +-- ![Banner Image](..\Presentations\SPAWN\SPAWN.JPG) +-- +-- === +-- +-- # 1) @{#SPAWN} class, extends @{Base#BASE} +-- +-- The @{#SPAWN} class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned. +-- For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the *"Spawn Template"* of the SPAWN object. +-- A reference to this Spawn Template needs to be provided when constructing the SPAWN object, by indicating the name of the group within the mission editor in the constructor methods. +-- +-- Within the SPAWN object, there is an internal index that keeps track of which group from the internal group list was spawned. +-- When new groups get spawned by using the SPAWN methods (see below), it will be validated whether the Limits (@{#SPAWN.Limit}) of the SPAWN object are not reached. +-- When all is valid, a new group will be created by the spawning methods, and the internal index will be increased with 1. +-- +-- Regarding the name of new spawned groups, a _SpawnPrefix_ will be assigned for each new group created. +-- If you want to have the Spawn Template name to be used as the _SpawnPrefix_ name, use the @{#SPAWN.New} constructor. +-- However, when the @{#SPAWN.NewWithAlias} constructor was used, the Alias name will define the _SpawnPrefix_ name. +-- Groups will follow the following naming structure when spawned at run-time: +-- +-- 1. Spawned groups will have the name _SpawnPrefix_#ggg, where ggg is a counter from 0 to 999. +-- 2. Spawned units will have the name _SpawnPrefix_#ggg-uu, where uu is a counter from 0 to 99 for each new spawned unit belonging to the group. +-- +-- Some additional notes that need to be remembered: +-- +-- * Templates are actually groups defined within the mission editor, with the flag "Late Activation" set. As such, these groups are never used within the mission, but are used by the @{#SPAWN} module. +-- * It is important to defined BEFORE you spawn new groups, a proper initialization of the SPAWN instance is done with the options you want to use. +-- * When designing a mission, NEVER name groups using a "#" within the name of the group Spawn Template(s), or the SPAWN module logic won't work anymore. +-- +-- ## 1.1) SPAWN construction methods +-- +-- Create a new SPAWN object with the @{#SPAWN.New}() or the @{#SPAWN.NewWithAlias}() methods: +-- +-- * @{#SPAWN.New}(): Creates a new SPAWN object taking the name of the group that represents the GROUP Template (definition). +-- * @{#SPAWN.NewWithAlias}(): Creates a new SPAWN object taking the name of the group that represents the GROUP Template (definition), and gives each spawned @{Group} an different name. +-- +-- It is important to understand how the SPAWN class works internally. The SPAWN object created will contain internally a list of groups that will be spawned and that are already spawned. +-- The initialization methods will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons. +-- So in principle, the group list will contain all parameters and configurations after initialization, and when groups get actually spawned, this spawning can be done quickly and efficient. +-- +-- ## 1.2) SPAWN initialization methods +-- +-- A spawn object will behave differently based on the usage of **initialization** methods, which all start with the **Init** prefix: +-- +-- * @{#SPAWN.InitKeepUnitNames}(): Keeps the unit names as defined within the mission editor, but note that anything after a # mark is ignored, and any spaces before and after the resulting name are removed. IMPORTANT! This method MUST be the first used after :New !!! +-- * @{#SPAWN.InitLimit}(): Limits the amount of groups that can be alive at the same time and that can be dynamically spawned. +-- * @{#SPAWN.InitRandomizeRoute}(): Randomize the routes of spawned groups, and for air groups also optionally the height. +-- * @{#SPAWN.InitRandomizeTemplate}(): Randomize the group templates so that when a new group is spawned, a random group template is selected from one of the templates defined. +-- * @{#SPAWN.InitUnControlled}(): Spawn plane groups uncontrolled. +-- * @{#SPAWN.InitArray}(): Make groups visible before they are actually activated, and order these groups like a batallion in an array. +-- * @{#SPAWN.InitRepeat}(): Re-spawn groups when they land at the home base. Similar methods are @{#SPAWN.InitRepeatOnLanding} and @{#SPAWN.InitRepeatOnEngineShutDown}. +-- * @{#SPAWN.InitRandomizePosition}(): Randomizes the position of @{Group}s that are spawned within a **radius band**, given an Outer and Inner radius, from the point that the spawn happens. +-- * @{#SPAWN.InitRandomizeUnits}(): Randomizes the @{Unit}s in the @{Group} that is spawned within a **radius band**, given an Outer and Inner radius. +-- * @{#SPAWN.InitRandomizeZones}(): Randomizes the spawning between a predefined list of @{Zone}s that are declared using this function. Each zone can be given a probability factor. +-- * @{#SPAWN.InitAIOn}(): Turns the AI On when spawning the new @{Group} object. +-- * @{#SPAWN.InitAIOff}(): Turns the AI Off when spawning the new @{Group} object. +-- * @{#SPAWN.InitAIOnOff}(): Turns the AI On or Off when spawning the new @{Group} object. +-- +-- ## 1.3) SPAWN spawning methods +-- +-- Groups can be spawned at different times and methods: +-- +-- * @{#SPAWN.Spawn}(): Spawn one new group based on the last spawned index. +-- * @{#SPAWN.ReSpawn}(): Re-spawn a group based on a given index. +-- * @{#SPAWN.SpawnScheduled}(): Spawn groups at scheduled but randomized intervals. You can use @{#SPAWN.SpawnScheduleStart}() and @{#SPAWN.SpawnScheduleStop}() to start and stop the schedule respectively. +-- * @{#SPAWN.SpawnFromVec3}(): Spawn a new group from a Vec3 coordinate. (The group will can be spawned at a point in the air). +-- * @{#SPAWN.SpawnFromVec2}(): Spawn a new group from a Vec2 coordinate. (The group will be spawned at land height ). +-- * @{#SPAWN.SpawnFromStatic}(): Spawn a new group from a structure, taking the position of a @{Static}. +-- * @{#SPAWN.SpawnFromUnit}(): Spawn a new group taking the position of a @{Unit}. +-- * @{#SPAWN.SpawnInZone}(): Spawn a new group in a @{Zone}. +-- +-- Note that @{#SPAWN.Spawn} and @{#SPAWN.ReSpawn} return a @{GROUP#GROUP.New} object, that contains a reference to the DCSGroup object. +-- You can use the @{GROUP} object to do further actions with the DCSGroup. +-- +-- ## 1.4) Retrieve alive GROUPs spawned by the SPAWN object +-- +-- The SPAWN class administers which GROUPS it has reserved (in stock) or has created during mission execution. +-- Every time a SPAWN object spawns a new GROUP object, a reference to the GROUP object is added to an internal table of GROUPS. +-- SPAWN provides methods to iterate through that internal GROUP object reference table: +-- +-- * @{#SPAWN.GetFirstAliveGroup}(): Will find the first alive GROUP it has spawned, and return the alive GROUP object and the first Index where the first alive GROUP object has been found. +-- * @{#SPAWN.GetNextAliveGroup}(): Will find the next alive GROUP object from a given Index, and return a reference to the alive GROUP object and the next Index where the alive GROUP has been found. +-- * @{#SPAWN.GetLastAliveGroup}(): Will find the last alive GROUP object, and will return a reference to the last live GROUP object and the last Index where the last alive GROUP object has been found. +-- +-- You can use the methods @{#SPAWN.GetFirstAliveGroup}() and sequently @{#SPAWN.GetNextAliveGroup}() to iterate through the alive GROUPS within the SPAWN object, and to actions... See the respective methods for an example. +-- The method @{#SPAWN.GetGroupFromIndex}() will return the GROUP object reference from the given Index, dead or alive... +-- +-- ## 1.5) SPAWN object cleaning +-- +-- Sometimes, it will occur during a mission run-time, that ground or especially air objects get damaged, and will while being damged stop their activities, while remaining alive. +-- In such cases, the SPAWN object will just sit there and wait until that group gets destroyed, but most of the time it won't, +-- and it may occur that no new groups are or can be spawned as limits are reached. +-- To prevent this, a @{#SPAWN.InitCleanUp}() initialization method has been defined that will silently monitor the status of each spawned group. +-- Once a group has a velocity = 0, and has been waiting for a defined interval, that group will be cleaned or removed from run-time. +-- There is a catch however :-) If a damaged group has returned to an airbase within the coalition, that group will not be considered as "lost"... +-- In such a case, when the inactive group is cleaned, a new group will Re-spawned automatically. +-- This models AI that has succesfully returned to their airbase, to restart their combat activities. +-- Check the @{#SPAWN.InitCleanUp}() for further info. +-- +-- ## 1.6) Catch the @{Group} spawn event in a callback function! +-- +-- When using the SpawnScheduled method, new @{Group}s are created following the schedule timing parameters. +-- When a new @{Group} is spawned, you maybe want to execute actions with that group spawned at the spawn event. +-- To SPAWN class supports this functionality through the @{#SPAWN.OnSpawnGroup}( **function( SpawnedGroup ) end ** ) method, which takes a function as a parameter that you can define locally. +-- Whenever a new @{Group} is spawned, the given function is called, and the @{Group} that was just spawned, is given as a parameter. +-- As a result, your spawn event handling function requires one parameter to be declared, which will contain the spawned @{Group} object. +-- A coding example is provided at the description of the @{#SPAWN.OnSpawnGroup}( **function( SpawnedGroup ) end ** ) method. +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-03-14: SPAWN:**InitKeepUnitNames()** added. +-- 2017-03-14: SPAWN:**InitRandomizePosition( RandomizePosition, OuterRadious, InnerRadius )** added. +-- +-- 2017-02-04: SPAWN:InitUnControlled( **UnControlled** ) replaces SPAWN:InitUnControlled(). +-- +-- 2017-01-24: SPAWN:**InitAIOnOff( AIOnOff )** added. +-- +-- 2017-01-24: SPAWN:**InitAIOn()** added. +-- +-- 2017-01-24: SPAWN:**InitAIOff()** added. +-- +-- 2016-08-15: SPAWN:**InitCleanUp**( SpawnCleanUpInterval ) replaces SPAWN:_CleanUp_( SpawnCleanUpInterval ). +-- +-- 2016-08-15: SPAWN:**InitRandomizeZones( SpawnZones )** added. +-- +-- 2016-08-14: SPAWN:**OnSpawnGroup**( SpawnCallBackFunction, ... ) replaces SPAWN:_SpawnFunction_( SpawnCallBackFunction, ... ). +-- +-- 2016-08-14: SPAWN.SpawnInZone( Zone, __RandomizeGroup__, SpawnIndex ) replaces SpawnInZone( Zone, _RandomizeUnits, OuterRadius, InnerRadius,_ SpawnIndex ). +-- +-- 2016-08-14: SPAWN.SpawnFromVec3( Vec3, SpawnIndex ) replaces SpawnFromVec3( Vec3, _RandomizeUnits, OuterRadius, InnerRadius,_ SpawnIndex ): +-- +-- 2016-08-14: SPAWN.SpawnFromVec2( Vec2, SpawnIndex ) replaces SpawnFromVec2( Vec2, _RandomizeUnits, OuterRadius, InnerRadius,_ SpawnIndex ): +-- +-- 2016-08-14: SPAWN.SpawnFromUnit( SpawnUnit, SpawnIndex ) replaces SpawnFromUnit( SpawnUnit, _RandomizeUnits, OuterRadius, InnerRadius,_ SpawnIndex ): +-- +-- 2016-08-14: SPAWN.SpawnFromUnit( SpawnUnit, SpawnIndex ) replaces SpawnFromStatic( SpawnStatic, _RandomizeUnits, OuterRadius, InnerRadius,_ SpawnIndex ): +-- +-- 2016-08-14: SPAWN.**InitRandomizeUnits( RandomizeUnits, OuterRadius, InnerRadius )** added: +-- +-- 2016-08-14: SPAWN.**Init**Limit( SpawnMaxUnitsAlive, SpawnMaxGroups ) replaces SPAWN._Limit_( SpawnMaxUnitsAlive, SpawnMaxGroups ): +-- +-- 2016-08-14: SPAWN.**Init**Array( SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY ) replaces SPAWN._Array_( SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY ). +-- +-- 2016-08-14: SPAWN.**Init**RandomizeRoute( SpawnStartPoint, SpawnEndPoint, SpawnRadius, SpawnHeight ) replaces SPAWN._RandomizeRoute_( SpawnStartPoint, SpawnEndPoint, SpawnRadius, SpawnHeight ). +-- +-- 2016-08-14: SPAWN.**Init**RandomizeTemplate( SpawnTemplatePrefixTable ) replaces SPAWN._RandomizeTemplate_( SpawnTemplatePrefixTable ). +-- +-- 2016-08-14: SPAWN.**Init**UnControlled() replaces SPAWN._UnControlled_(). +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * **Aaron**: Posed the idea for Group position randomization at SpawnInZone and make the Unit randomization separate from the Group randomization. +-- * [**Entropy**](https://forums.eagle.ru/member.php?u=111471), **Afinegan**: Came up with the requirement for AIOnOff(). +-- +-- ### Authors: +-- +-- * **FlightControl**: Design & Programming +-- +-- @module Spawn + + + +--- SPAWN Class +-- @type SPAWN +-- @extends Core.Base#BASE +-- @field ClassName +-- @field #string SpawnTemplatePrefix +-- @field #string SpawnAliasPrefix +-- @field #number AliveUnits +-- @field #number MaxAliveUnits +-- @field #number SpawnIndex +-- @field #number MaxAliveGroups +-- @field #SPAWN.SpawnZoneTable SpawnZoneTable +SPAWN = { + ClassName = "SPAWN", + SpawnTemplatePrefix = nil, + SpawnAliasPrefix = nil, +} + + +--- @type SPAWN.SpawnZoneTable +-- @list SpawnZone + + +--- Creates the main object to spawn a @{Group} defined in the DCS ME. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix is the name of the Group in the ME that defines the Template. Each new group will have the name starting with SpawnTemplatePrefix. +-- @return #SPAWN +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ) +-- @usage local Plane = SPAWN:New( "Plane" ) -- Creates a new local variable that can initiate new planes with the name "Plane#ddd" using the template "Plane" as defined within the ME. +function SPAWN:New( SpawnTemplatePrefix ) + local self = BASE:Inherit( self, BASE:New() ) -- #SPAWN + self:F( { SpawnTemplatePrefix } ) + + local TemplateGroup = Group.getByName( SpawnTemplatePrefix ) + if TemplateGroup then + self.SpawnTemplatePrefix = SpawnTemplatePrefix + self.SpawnIndex = 0 + self.SpawnCount = 0 -- The internal counter of the amount of spawning the has happened since SpawnStart. + self.AliveUnits = 0 -- Contains the counter how many units are currently alive + self.SpawnIsScheduled = false -- Reflects if the spawning for this SpawnTemplatePrefix is going to be scheduled or not. + self.SpawnTemplate = self._GetTemplate( self, SpawnTemplatePrefix ) -- Contains the template structure for a Group Spawn from the Mission Editor. Note that this group must have lateActivation always on!!! + self.Repeat = false -- Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning. + self.UnControlled = false -- When working in UnControlled mode, all planes are Spawned in UnControlled mode before the scheduler starts. + self.SpawnInitLimit = false -- By default, no InitLimit + self.SpawnMaxUnitsAlive = 0 -- The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time. + self.SpawnMaxGroups = 0 -- The maximum amount of groups that can be spawned. + self.SpawnRandomize = false -- Sets the randomization flag of new Spawned units to false. + self.SpawnVisible = false -- Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned. + self.AIOnOff = true -- The AI is on by default when spawning a group. + self.SpawnUnControlled = false + self.SpawnInitKeepUnitNames = false -- Overwrite unit names by default with group name. + + self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned. + else + error( "SPAWN:New: There is no group declared in the mission editor with SpawnTemplatePrefix = '" .. SpawnTemplatePrefix .. "'" ) + end + + self:SetEventPriority( 5 ) + + return self +end + +--- Creates a new SPAWN instance to create new groups based on the defined template and using a new alias for each new group. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix is the name of the Group in the ME that defines the Template. +-- @param #string SpawnAliasPrefix is the name that will be given to the Group at runtime. +-- @return #SPAWN +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- Spawn_BE_KA50 = SPAWN:NewWithAlias( 'BE KA-50@RAMP-Ground Defense', 'Helicopter Attacking a City' ) +-- @usage local PlaneWithAlias = SPAWN:NewWithAlias( "Plane", "Bomber" ) -- Creates a new local variable that can instantiate new planes with the name "Bomber#ddd" using the template "Plane" as defined within the ME. +function SPAWN:NewWithAlias( SpawnTemplatePrefix, SpawnAliasPrefix ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { SpawnTemplatePrefix, SpawnAliasPrefix } ) + + local TemplateGroup = Group.getByName( SpawnTemplatePrefix ) + if TemplateGroup then + self.SpawnTemplatePrefix = SpawnTemplatePrefix + self.SpawnAliasPrefix = SpawnAliasPrefix + self.SpawnIndex = 0 + self.SpawnCount = 0 -- The internal counter of the amount of spawning the has happened since SpawnStart. + self.AliveUnits = 0 -- Contains the counter how many units are currently alive + self.SpawnIsScheduled = false -- Reflects if the spawning for this SpawnTemplatePrefix is going to be scheduled or not. + self.SpawnTemplate = self._GetTemplate( self, SpawnTemplatePrefix ) -- Contains the template structure for a Group Spawn from the Mission Editor. Note that this group must have lateActivation always on!!! + self.Repeat = false -- Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning. + self.UnControlled = false -- When working in UnControlled mode, all planes are Spawned in UnControlled mode before the scheduler starts. + self.SpawnInitLimit = false -- By default, no InitLimit + self.SpawnMaxUnitsAlive = 0 -- The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time. + self.SpawnMaxGroups = 0 -- The maximum amount of groups that can be spawned. + self.SpawnRandomize = false -- Sets the randomization flag of new Spawned units to false. + self.SpawnVisible = false -- Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned. + self.AIOnOff = true -- The AI is on by default when spawning a group. + self.SpawnUnControlled = false + self.SpawnInitKeepUnitNames = false -- Overwrite unit names by default with group name. + + self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned. + else + error( "SPAWN:New: There is no group declared in the mission editor with SpawnTemplatePrefix = '" .. SpawnTemplatePrefix .. "'" ) + end + + self:SetEventPriority( 5 ) + + return self +end + + +--- Limits the Maximum amount of Units that can be alive at the same time, and the maximum amount of groups that can be spawned. +-- Note that this method is exceptionally important to balance the performance of the mission. Depending on the machine etc, a mission can only process a maximum amount of units. +-- If the time interval must be short, but there should not be more Units or Groups alive than a maximum amount of units, then this method should be used... +-- When a @{#SPAWN.New} is executed and the limit of the amount of units alive is reached, then no new spawn will happen of the group, until some of these units of the spawn object will be destroyed. +-- @param #SPAWN self +-- @param #number SpawnMaxUnitsAlive The maximum amount of units that can be alive at runtime. +-- @param #number SpawnMaxGroups The maximum amount of groups that can be spawned. When the limit is reached, then no more actual spawns will happen of the group. +-- This parameter is useful to define a maximum amount of airplanes, ground troops, helicopters, ships etc within a supply area. +-- This parameter accepts the value 0, which defines that there are no maximum group limits, but there are limits on the maximum of units that can be alive at the same time. +-- @return #SPAWN self +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- -- This helicopter group consists of one Unit. So, this group will SPAWN maximum 2 groups simultaneously within the DCSRTE. +-- -- There will be maximum 24 groups spawned during the whole mission lifetime. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):InitLimit( 2, 24 ) +function SPAWN:InitLimit( SpawnMaxUnitsAlive, SpawnMaxGroups ) + self:F( { self.SpawnTemplatePrefix, SpawnMaxUnitsAlive, SpawnMaxGroups } ) + + self.SpawnInitLimit = true + self.SpawnMaxUnitsAlive = SpawnMaxUnitsAlive -- The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time. + self.SpawnMaxGroups = SpawnMaxGroups -- The maximum amount of groups that can be spawned. + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self:_InitializeSpawnGroups( SpawnGroupID ) + end + + return self +end + +--- Keeps the unit names as defined within the mission editor, +-- but note that anything after a # mark is ignored, +-- and any spaces before and after the resulting name are removed. +-- IMPORTANT! This method MUST be the first used after :New !!! +-- @param #SPAWN self +-- @return #SPAWN self +function SPAWN:InitKeepUnitNames() + self:F( ) + + self.SpawnInitKeepUnitNames = true + + return self +end + + +--- Randomizes the defined route of the SpawnTemplatePrefix group in the ME. This is very useful to define extra variation of the behaviour of groups. +-- @param #SPAWN self +-- @param #number SpawnStartPoint is the waypoint where the randomization begins. +-- Note that the StartPoint = 0 equaling the point where the group is spawned. +-- @param #number SpawnEndPoint is the waypoint where the randomization ends counting backwards. +-- This parameter is useful to avoid randomization to end at a waypoint earlier than the last waypoint on the route. +-- @param #number SpawnRadius is the radius in meters in which the randomization of the new waypoints, with the original waypoint of the original template located in the middle ... +-- @param #number SpawnHeight (optional) Specifies the **additional** height in meters that can be added to the base height specified at each waypoint in the ME. +-- @return #SPAWN +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- -- The KA-50 has waypoints Start point ( =0 or SP ), 1, 2, 3, 4, End point (= 5 or DP). +-- -- Waypoints 2 and 3 will only be randomized. The others will remain on their original position with each new spawn of the helicopter. +-- -- The randomization of waypoint 2 and 3 will take place within a radius of 2000 meters. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):InitRandomizeRoute( 2, 2, 2000 ) +function SPAWN:InitRandomizeRoute( SpawnStartPoint, SpawnEndPoint, SpawnRadius, SpawnHeight ) + self:F( { self.SpawnTemplatePrefix, SpawnStartPoint, SpawnEndPoint, SpawnRadius, SpawnHeight } ) + + self.SpawnRandomizeRoute = true + self.SpawnRandomizeRouteStartPoint = SpawnStartPoint + self.SpawnRandomizeRouteEndPoint = SpawnEndPoint + self.SpawnRandomizeRouteRadius = SpawnRadius + self.SpawnRandomizeRouteHeight = SpawnHeight + + for GroupID = 1, self.SpawnMaxGroups do + self:_RandomizeRoute( GroupID ) + end + + return self +end + +--- Randomizes the position of @{Group}s that are spawned within a **radius band**, given an Outer and Inner radius, from the point that the spawn happens. +-- @param #SPAWN self +-- @param #boolean RandomizePosition If true, SPAWN will perform the randomization of the @{Group}s position between a given outer and inner radius. +-- @param Dcs.DCSTypes#Distance OuterRadius (optional) The outer radius in meters where the new group will be spawned. +-- @param Dcs.DCSTypes#Distance InnerRadius (optional) The inner radius in meters where the new group will NOT be spawned. +-- @return #SPAWN +function SPAWN:InitRandomizePosition( RandomizePosition, OuterRadius, InnerRadius ) + self:F( { self.SpawnTemplatePrefix, RandomizePosition, OuterRadius, InnerRadius } ) + + self.SpawnRandomizePosition = RandomizePosition or false + self.SpawnRandomizePositionOuterRadius = OuterRadius or 0 + self.SpawnRandomizePositionInnerRadius = InnerRadius or 0 + + for GroupID = 1, self.SpawnMaxGroups do + self:_RandomizeRoute( GroupID ) + end + + return self +end + + +--- Randomizes the UNITs that are spawned within a radius band given an Outer and Inner radius. +-- @param #SPAWN self +-- @param #boolean RandomizeUnits If true, SPAWN will perform the randomization of the @{UNIT}s position within the group between a given outer and inner radius. +-- @param Dcs.DCSTypes#Distance OuterRadius (optional) The outer radius in meters where the new group will be spawned. +-- @param Dcs.DCSTypes#Distance InnerRadius (optional) The inner radius in meters where the new group will NOT be spawned. +-- @return #SPAWN +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- -- The KA-50 has waypoints Start point ( =0 or SP ), 1, 2, 3, 4, End point (= 5 or DP). +-- -- Waypoints 2 and 3 will only be randomized. The others will remain on their original position with each new spawn of the helicopter. +-- -- The randomization of waypoint 2 and 3 will take place within a radius of 2000 meters. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):InitRandomizeRoute( 2, 2, 2000 ) +function SPAWN:InitRandomizeUnits( RandomizeUnits, OuterRadius, InnerRadius ) + self:F( { self.SpawnTemplatePrefix, RandomizeUnits, OuterRadius, InnerRadius } ) + + self.SpawnRandomizeUnits = RandomizeUnits or false + self.SpawnOuterRadius = OuterRadius or 0 + self.SpawnInnerRadius = InnerRadius or 0 + + for GroupID = 1, self.SpawnMaxGroups do + self:_RandomizeRoute( GroupID ) + end + + return self +end + +--- This method is rather complicated to understand. But I'll try to explain. +-- This method becomes useful when you need to spawn groups with random templates of groups defined within the mission editor, +-- but they will all follow the same Template route and have the same prefix name. +-- In other words, this method randomizes between a defined set of groups the template to be used for each new spawn of a group. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefixTable A table with the names of the groups defined within the mission editor, from which one will be choosen when a new group will be spawned. +-- @return #SPAWN +-- @usage +-- -- NATO Tank Platoons invading Gori. +-- -- Choose between 13 different 'US Tank Platoon' configurations for each new SPAWN the Group to be spawned for the +-- -- 'US Tank Platoon Left', 'US Tank Platoon Middle' and 'US Tank Platoon Right' SpawnTemplatePrefixes. +-- -- Each new SPAWN will randomize the route, with a defined time interval of 200 seconds with 40% time variation (randomization) and +-- -- with a limit set of maximum 12 Units alive simulteneously and 150 Groups to be spawned during the whole mission. +-- Spawn_US_Platoon = { 'US Tank Platoon 1', 'US Tank Platoon 2', 'US Tank Platoon 3', 'US Tank Platoon 4', 'US Tank Platoon 5', +-- 'US Tank Platoon 6', 'US Tank Platoon 7', 'US Tank Platoon 8', 'US Tank Platoon 9', 'US Tank Platoon 10', +-- 'US Tank Platoon 11', 'US Tank Platoon 12', 'US Tank Platoon 13' } +-- Spawn_US_Platoon_Left = SPAWN:New( 'US Tank Platoon Left' ):InitLimit( 12, 150 ):Schedule( 200, 0.4 ):InitRandomizeTemplate( Spawn_US_Platoon ):InitRandomizeRoute( 3, 3, 2000 ) +-- Spawn_US_Platoon_Middle = SPAWN:New( 'US Tank Platoon Middle' ):InitLimit( 12, 150 ):Schedule( 200, 0.4 ):InitRandomizeTemplate( Spawn_US_Platoon ):InitRandomizeRoute( 3, 3, 2000 ) +-- Spawn_US_Platoon_Right = SPAWN:New( 'US Tank Platoon Right' ):InitLimit( 12, 150 ):Schedule( 200, 0.4 ):InitRandomizeTemplate( Spawn_US_Platoon ):InitRandomizeRoute( 3, 3, 2000 ) +function SPAWN:InitRandomizeTemplate( SpawnTemplatePrefixTable ) + self:F( { self.SpawnTemplatePrefix, SpawnTemplatePrefixTable } ) + + self.SpawnTemplatePrefixTable = SpawnTemplatePrefixTable + self.SpawnRandomizeTemplate = true + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self:_RandomizeTemplate( SpawnGroupID ) + end + + return self +end + +--TODO: Add example. +--- This method provides the functionality to randomize the spawning of the Groups at a given list of zones of different types. +-- @param #SPAWN self +-- @param #table SpawnZoneTable A table with @{Zone} objects. If this table is given, then each spawn will be executed within the given list of @{Zone}s objects. +-- @return #SPAWN +-- @usage +-- -- NATO Tank Platoons invading Gori. +-- -- Choose between 3 different zones for each new SPAWN the Group to be executed, regardless of the zone type. +function SPAWN:InitRandomizeZones( SpawnZoneTable ) + self:F( { self.SpawnTemplatePrefix, SpawnZoneTable } ) + + self.SpawnZoneTable = SpawnZoneTable + self.SpawnRandomizeZones = true + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self:_RandomizeZones( SpawnGroupID ) + end + + return self +end + + + + + +--- For planes and helicopters, when these groups go home and land on their home airbases and farps, they normally would taxi to the parking spot, shut-down their engines and wait forever until the Group is removed by the runtime environment. +-- This method is used to re-spawn automatically (so no extra call is needed anymore) the same group after it has landed. +-- This will enable a spawned group to be re-spawned after it lands, until it is destroyed... +-- Note: When the group is respawned, it will re-spawn from the original airbase where it took off. +-- So ensure that the routes for groups that respawn, always return to the original airbase, or players may get confused ... +-- @param #SPAWN self +-- @return #SPAWN self +-- @usage +-- -- RU Su-34 - AI Ship Attack +-- -- Re-SPAWN the Group(s) after each landing and Engine Shut-Down automatically. +-- SpawnRU_SU34 = SPAWN:New( 'TF1 RU Su-34 Krymsk@AI - Attack Ships' ):Schedule( 2, 3, 1800, 0.4 ):SpawnUncontrolled():InitRandomizeRoute( 1, 1, 3000 ):RepeatOnEngineShutDown() +function SPAWN:InitRepeat() + self:F( { self.SpawnTemplatePrefix, self.SpawnIndex } ) + + self.Repeat = true + self.RepeatOnEngineShutDown = false + self.RepeatOnLanding = true + + return self +end + +--- Respawn group after landing. +-- @param #SPAWN self +-- @return #SPAWN self +function SPAWN:InitRepeatOnLanding() + self:F( { self.SpawnTemplatePrefix } ) + + self:InitRepeat() + self.RepeatOnEngineShutDown = false + self.RepeatOnLanding = true + + return self +end + + +--- Respawn after landing when its engines have shut down. +-- @param #SPAWN self +-- @return #SPAWN self +function SPAWN:InitRepeatOnEngineShutDown() + self:F( { self.SpawnTemplatePrefix } ) + + self:InitRepeat() + self.RepeatOnEngineShutDown = true + self.RepeatOnLanding = false + + return self +end + + +--- CleanUp groups when they are still alive, but inactive. +-- When groups are still alive and have become inactive due to damage and are unable to contribute anything, then this group will be removed at defined intervals in seconds. +-- @param #SPAWN self +-- @param #string SpawnCleanUpInterval The interval to check for inactive groups within seconds. +-- @return #SPAWN self +-- @usage Spawn_Helicopter:CleanUp( 20 ) -- CleanUp the spawning of the helicopters every 20 seconds when they become inactive. +function SPAWN:InitCleanUp( SpawnCleanUpInterval ) + self:F( { self.SpawnTemplatePrefix, SpawnCleanUpInterval } ) + + self.SpawnCleanUpInterval = SpawnCleanUpInterval + self.SpawnCleanUpTimeStamps = {} + + local SpawnGroup, SpawnCursor = self:GetFirstAliveGroup() + self:T( { "CleanUp Scheduler:", SpawnGroup } ) + + --self.CleanUpFunction = routines.scheduleFunction( self._SpawnCleanUpScheduler, { self }, timer.getTime() + 1, SpawnCleanUpInterval ) + self.CleanUpScheduler = SCHEDULER:New( self, self._SpawnCleanUpScheduler, {}, 1, SpawnCleanUpInterval, 0.2 ) + return self +end + + + +--- Makes the groups visible before start (like a batallion). +-- The method will take the position of the group as the first position in the array. +-- @param #SPAWN self +-- @param #number SpawnAngle The angle in degrees how the groups and each unit of the group will be positioned. +-- @param #number SpawnWidth The amount of Groups that will be positioned on the X axis. +-- @param #number SpawnDeltaX The space between each Group on the X-axis. +-- @param #number SpawnDeltaY The space between each Group on the Y-axis. +-- @return #SPAWN self +-- @usage +-- -- Define an array of Groups. +-- Spawn_BE_Ground = SPAWN:New( 'BE Ground' ):InitLimit( 2, 24 ):InitArray( 90, "Diamond", 10, 100, 50 ) +function SPAWN:InitArray( SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY ) + self:F( { self.SpawnTemplatePrefix, SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY } ) + + self.SpawnVisible = true -- When the first Spawn executes, all the Groups need to be made visible before start. + + local SpawnX = 0 + local SpawnY = 0 + local SpawnXIndex = 0 + local SpawnYIndex = 0 + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self:T( { SpawnX, SpawnY, SpawnXIndex, SpawnYIndex } ) + + self.SpawnGroups[SpawnGroupID].Visible = true + self.SpawnGroups[SpawnGroupID].Spawned = false + + SpawnXIndex = SpawnXIndex + 1 + if SpawnWidth and SpawnWidth ~= 0 then + if SpawnXIndex >= SpawnWidth then + SpawnXIndex = 0 + SpawnYIndex = SpawnYIndex + 1 + end + end + + local SpawnRootX = self.SpawnGroups[SpawnGroupID].SpawnTemplate.x + local SpawnRootY = self.SpawnGroups[SpawnGroupID].SpawnTemplate.y + + self:_TranslateRotate( SpawnGroupID, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle ) + + self.SpawnGroups[SpawnGroupID].SpawnTemplate.lateActivation = true + self.SpawnGroups[SpawnGroupID].SpawnTemplate.visible = true + + self.SpawnGroups[SpawnGroupID].Visible = true + + self:HandleEvent( EVENTS.Birth, self._OnBirth ) + self:HandleEvent( EVENTS.Dead, self._OnDeadOrCrash ) + self:HandleEvent( EVENTS.Crash, self._OnDeadOrCrash ) + if self.Repeat then + self:HandleEvent( EVENTS.Takeoff, self._OnTakeOff ) + self:HandleEvent( EVENTS.Land, self._OnLand ) + end + if self.RepeatOnEngineShutDown then + self:HandleEvent( EVENTS.EngineShutdown, self._OnEngineShutDown ) + end + + self.SpawnGroups[SpawnGroupID].Group = _DATABASE:Spawn( self.SpawnGroups[SpawnGroupID].SpawnTemplate ) + + SpawnX = SpawnXIndex * SpawnDeltaX + SpawnY = SpawnYIndex * SpawnDeltaY + end + + return self +end + +do -- AI methods + --- Turns the AI On or Off for the @{Group} when spawning. + -- @param #SPAWN self + -- @param #boolean AIOnOff A value of true sets the AI On, a value of false sets the AI Off. + -- @return #SPAWN The SPAWN object + function SPAWN:InitAIOnOff( AIOnOff ) + + self.AIOnOff = AIOnOff + return self + end + + --- Turns the AI On for the @{Group} when spawning. + -- @param #SPAWN self + -- @return #SPAWN The SPAWN object + function SPAWN:InitAIOn() + + return self:InitAIOnOff( true ) + end + + --- Turns the AI Off for the @{Group} when spawning. + -- @param #SPAWN self + -- @return #SPAWN The SPAWN object + function SPAWN:InitAIOff() + + return self:InitAIOnOff( false ) + end + +end -- AI methods + +--- Will spawn a group based on the internal index. +-- Note: Uses @{DATABASE} module defined in MOOSE. +-- @param #SPAWN self +-- @return Wrapper.Group#GROUP The group that was spawned. You can use this group for further actions. +function SPAWN:Spawn() + self:F( { self.SpawnTemplatePrefix, self.SpawnIndex, self.AliveUnits } ) + + return self:SpawnWithIndex( self.SpawnIndex + 1 ) +end + +--- Will re-spawn a group based on a given index. +-- Note: Uses @{DATABASE} module defined in MOOSE. +-- @param #SPAWN self +-- @param #string SpawnIndex The index of the group to be spawned. +-- @return Wrapper.Group#GROUP The group that was spawned. You can use this group for further actions. +function SPAWN:ReSpawn( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex } ) + + if not SpawnIndex then + SpawnIndex = 1 + end + +-- TODO: This logic makes DCS crash and i don't know why (yet). + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + local WayPoints = SpawnGroup and SpawnGroup.WayPoints or nil + if SpawnGroup then + local SpawnDCSGroup = SpawnGroup:GetDCSObject() + if SpawnDCSGroup then + SpawnGroup:Destroy() + end + end + + local SpawnGroup = self:SpawnWithIndex( SpawnIndex ) + if SpawnGroup and WayPoints then + -- If there were WayPoints set, then Re-Execute those WayPoints! + SpawnGroup:WayPointInitialize( WayPoints ) + SpawnGroup:WayPointExecute( 1, 5 ) + end + + if SpawnGroup.ReSpawnFunction then + SpawnGroup:ReSpawnFunction() + end + + return SpawnGroup +end + +--- Will spawn a group with a specified index number. +-- Uses @{DATABASE} global object defined in MOOSE. +-- @param #SPAWN self +-- @param #string SpawnIndex The index of the group to be spawned. +-- @return Wrapper.Group#GROUP The group that was spawned. You can use this group for further actions. +function SPAWN:SpawnWithIndex( SpawnIndex ) + self:F2( { SpawnTemplatePrefix = self.SpawnTemplatePrefix, SpawnIndex = SpawnIndex, AliveUnits = self.AliveUnits, SpawnMaxGroups = self.SpawnMaxGroups } ) + + if self:_GetSpawnIndex( SpawnIndex ) then + + if self.SpawnGroups[self.SpawnIndex].Visible then + self.SpawnGroups[self.SpawnIndex].Group:Activate() + else + + local SpawnTemplate = self.SpawnGroups[self.SpawnIndex].SpawnTemplate + self:T( SpawnTemplate.name ) + + if SpawnTemplate then + + local PointVec3 = POINT_VEC3:New( SpawnTemplate.route.points[1].x, SpawnTemplate.route.points[1].alt, SpawnTemplate.route.points[1].y ) + self:T( { "Current point of ", self.SpawnTemplatePrefix, PointVec3 } ) + + -- If RandomizePosition, then Randomize the formation in the zone band, keeping the template. + if self.SpawnRandomizePosition then + local RandomVec2 = PointVec3:GetRandomVec2InRadius( self.SpawnRandomizePositionOuterRadius, self.SpawnRandomizePositionInnerRadius ) + local CurrentX = SpawnTemplate.units[1].x + local CurrentY = SpawnTemplate.units[1].y + SpawnTemplate.x = RandomVec2.x + SpawnTemplate.y = RandomVec2.y + for UnitID = 1, #SpawnTemplate.units do + SpawnTemplate.units[UnitID].x = SpawnTemplate.units[UnitID].x + ( RandomVec2.x - CurrentX ) + SpawnTemplate.units[UnitID].y = SpawnTemplate.units[UnitID].y + ( RandomVec2.y - CurrentY ) + self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) + end + end + + -- If RandomizeUnits, then Randomize the formation at the start point. + if self.SpawnRandomizeUnits then + for UnitID = 1, #SpawnTemplate.units do + local RandomVec2 = PointVec3:GetRandomVec2InRadius( self.SpawnOuterRadius, self.SpawnInnerRadius ) + SpawnTemplate.units[UnitID].x = RandomVec2.x + SpawnTemplate.units[UnitID].y = RandomVec2.y + self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) + end + end + + if SpawnTemplate.CategoryID == Group.Category.HELICOPTER or SpawnTemplate.CategoryID == Group.Category.AIRPLANE then + if SpawnTemplate.route.points[1].type == "TakeOffParking" then + SpawnTemplate.uncontrolled = self.SpawnUnControlled + end + end + end + + self:HandleEvent( EVENTS.Birth, self._OnBirth ) + self:HandleEvent( EVENTS.Dead, self._OnDeadOrCrash ) + self:HandleEvent( EVENTS.Crash, self._OnDeadOrCrash ) + if self.Repeat then + self:HandleEvent( EVENTS.Takeoff, self._OnTakeOff ) + self:HandleEvent( EVENTS.Land, self._OnLand ) + end + if self.RepeatOnEngineShutDown then + self:HandleEvent( EVENTS.EngineShutdown, self._OnEngineShutDown ) + end + + self.SpawnGroups[self.SpawnIndex].Group = _DATABASE:Spawn( SpawnTemplate ) + + local SpawnGroup = self.SpawnGroups[self.SpawnIndex].Group -- Wrapper.Group#GROUP + + --TODO: Need to check if this function doesn't need to be scheduled, as the group may not be immediately there! + if SpawnGroup then + + SpawnGroup:SetAIOnOff( self.AIOnOff ) + end + + self:T3( SpawnTemplate.name ) + + -- If there is a SpawnFunction hook defined, call it. + if self.SpawnFunctionHook then + self.SpawnFunctionHook( self.SpawnGroups[self.SpawnIndex].Group, unpack( self.SpawnFunctionArguments ) ) + end + -- TODO: Need to fix this by putting an "R" in the name of the group when the group repeats. + --if self.Repeat then + -- _DATABASE:SetStatusGroup( SpawnTemplate.name, "ReSpawn" ) + --end + end + + self.SpawnGroups[self.SpawnIndex].Spawned = true + return self.SpawnGroups[self.SpawnIndex].Group + else + --self:E( { self.SpawnTemplatePrefix, "No more Groups to Spawn:", SpawnIndex, self.SpawnMaxGroups } ) + end + + return nil +end + +--- Spawns new groups at varying time intervals. +-- This is useful if you want to have continuity within your missions of certain (AI) groups to be present (alive) within your missions. +-- @param #SPAWN self +-- @param #number SpawnTime The time interval defined in seconds between each new spawn of new groups. +-- @param #number SpawnTimeVariation The variation to be applied on the defined time interval between each new spawn. +-- The variation is a number between 0 and 1, representing the %-tage of variation to be applied on the time interval. +-- @return #SPAWN self +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- -- The time interval is set to SPAWN new helicopters between each 600 seconds, with a time variation of 50%. +-- -- The time variation in this case will be between 450 seconds and 750 seconds. +-- -- This is calculated as follows: +-- -- Low limit: 600 * ( 1 - 0.5 / 2 ) = 450 +-- -- High limit: 600 * ( 1 + 0.5 / 2 ) = 750 +-- -- Between these two values, a random amount of seconds will be choosen for each new spawn of the helicopters. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 ) +function SPAWN:SpawnScheduled( SpawnTime, SpawnTimeVariation ) + self:F( { SpawnTime, SpawnTimeVariation } ) + + if SpawnTime ~= nil and SpawnTimeVariation ~= nil then + self.SpawnScheduler = SCHEDULER:New( self, self._Scheduler, {}, 1, SpawnTime, SpawnTimeVariation ) + end + + return self +end + +--- Will re-start the spawning scheduler. +-- Note: This method is only required to be called when the schedule was stopped. +function SPAWN:SpawnScheduleStart() + self:F( { self.SpawnTemplatePrefix } ) + + self.SpawnScheduler:Start() +end + +--- Will stop the scheduled spawning scheduler. +function SPAWN:SpawnScheduleStop() + self:F( { self.SpawnTemplatePrefix } ) + + self.SpawnScheduler:Stop() +end + + +--- Allows to place a CallFunction hook when a new group spawns. +-- The provided method will be called when a new group is spawned, including its given parameters. +-- The first parameter of the SpawnFunction is the @{Group#GROUP} that was spawned. +-- @param #SPAWN self +-- @param #function SpawnCallBackFunction The function to be called when a group spawns. +-- @param SpawnFunctionArguments A random amount of arguments to be provided to the function when the group spawns. +-- @return #SPAWN +-- @usage +-- -- Declare SpawnObject and call a function when a new Group is spawned. +-- local SpawnObject = SPAWN +-- :New( "SpawnObject" ) +-- :InitLimit( 2, 10 ) +-- :OnSpawnGroup( +-- function( SpawnGroup ) +-- SpawnGroup:E( "I am spawned" ) +-- end +-- ) +-- :SpawnScheduled( 300, 0.3 ) +function SPAWN:OnSpawnGroup( SpawnCallBackFunction, ... ) + self:F( "OnSpawnGroup" ) + + self.SpawnFunctionHook = SpawnCallBackFunction + self.SpawnFunctionArguments = {} + if arg then + self.SpawnFunctionArguments = arg + end + + return self +end + + +--- Will spawn a group from a Vec3 in 3D space. +-- This method is mostly advisable to be used if you want to simulate spawning units in the air, like helicopters or airplanes. +-- Note that each point in the route assigned to the spawning group is reset to the point of the spawn. +-- You can use the returned group to further define the route to be followed. +-- @param #SPAWN self +-- @param Dcs.DCSTypes#Vec3 Vec3 The Vec3 coordinates where to spawn the group. +-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. +-- @return Wrapper.Group#GROUP that was spawned. +-- @return #nil Nothing was spawned. +function SPAWN:SpawnFromVec3( Vec3, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, Vec3, SpawnIndex } ) + + local PointVec3 = POINT_VEC3:NewFromVec3( Vec3 ) + self:T2(PointVec3) + + if SpawnIndex then + else + SpawnIndex = self.SpawnIndex + 1 + end + + if self:_GetSpawnIndex( SpawnIndex ) then + + local SpawnTemplate = self.SpawnGroups[self.SpawnIndex].SpawnTemplate + + if SpawnTemplate then + + self:T( { "Current point of ", self.SpawnTemplatePrefix, Vec3 } ) + + -- Translate the position of the Group Template to the Vec3. + for UnitID = 1, #SpawnTemplate.units do + self:T( 'Before Translation SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) + local UnitTemplate = SpawnTemplate.units[UnitID] + local SX = UnitTemplate.x + local SY = UnitTemplate.y + local BX = SpawnTemplate.route.points[1].x + local BY = SpawnTemplate.route.points[1].y + local TX = Vec3.x + ( SX - BX ) + local TY = Vec3.z + ( SY - BY ) + SpawnTemplate.units[UnitID].x = TX + SpawnTemplate.units[UnitID].y = TY + SpawnTemplate.units[UnitID].alt = Vec3.y + self:T( 'After Translation SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) + end + + SpawnTemplate.route.points[1].x = Vec3.x + SpawnTemplate.route.points[1].y = Vec3.z + SpawnTemplate.route.points[1].alt = Vec3.y + + SpawnTemplate.x = Vec3.x + SpawnTemplate.y = Vec3.z + + return self:SpawnWithIndex( self.SpawnIndex ) + end + end + + return nil +end + +--- Will spawn a group from a Vec2 in 3D space. +-- This method is mostly advisable to be used if you want to simulate spawning groups on the ground from air units, like vehicles. +-- Note that each point in the route assigned to the spawning group is reset to the point of the spawn. +-- You can use the returned group to further define the route to be followed. +-- @param #SPAWN self +-- @param Dcs.DCSTypes#Vec2 Vec2 The Vec2 coordinates where to spawn the group. +-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. +-- @return Wrapper.Group#GROUP that was spawned. +-- @return #nil Nothing was spawned. +function SPAWN:SpawnFromVec2( Vec2, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, Vec2, SpawnIndex } ) + + local PointVec2 = POINT_VEC2:NewFromVec2( Vec2 ) + return self:SpawnFromVec3( PointVec2:GetVec3(), SpawnIndex ) +end + + +--- Will spawn a group from a hosting unit. This method is mostly advisable to be used if you want to simulate spawning from air units, like helicopters, which are dropping infantry into a defined Landing Zone. +-- Note that each point in the route assigned to the spawning group is reset to the point of the spawn. +-- You can use the returned group to further define the route to be followed. +-- @param #SPAWN self +-- @param Wrapper.Unit#UNIT HostUnit The air or ground unit dropping or unloading the group. +-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. +-- @return Wrapper.Group#GROUP that was spawned. +-- @return #nil Nothing was spawned. +function SPAWN:SpawnFromUnit( HostUnit, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, HostUnit, SpawnIndex } ) + + if HostUnit and HostUnit:IsAlive() then -- and HostUnit:getUnit(1):inAir() == false then + return self:SpawnFromVec3( HostUnit:GetVec3(), SpawnIndex ) + end + + return nil +end + +--- Will spawn a group from a hosting static. This method is mostly advisable to be used if you want to simulate spawning from buldings and structures (static buildings). +-- You can use the returned group to further define the route to be followed. +-- @param #SPAWN self +-- @param Wrapper.Static#STATIC HostStatic The static dropping or unloading the group. +-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. +-- @return Wrapper.Group#GROUP that was spawned. +-- @return #nil Nothing was spawned. +function SPAWN:SpawnFromStatic( HostStatic, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, HostStatic, SpawnIndex } ) + + if HostStatic and HostStatic:IsAlive() then + return self:SpawnFromVec3( HostStatic:GetVec3(), SpawnIndex ) + end + + return nil +end + +--- Will spawn a Group within a given @{Zone}. +-- The @{Zone} can be of any type derived from @{Zone#ZONE_BASE}. +-- Once the @{Group} is spawned within the zone, the @{Group} will continue on its route. +-- The **first waypoint** (where the group is spawned) is replaced with the zone location coordinates. +-- @param #SPAWN self +-- @param Core.Zone#ZONE Zone The zone where the group is to be spawned. +-- @param #boolean RandomizeGroup (optional) Randomization of the @{Group} position in the zone. +-- @param #number SpawnIndex (optional) The index which group to spawn within the given zone. +-- @return Wrapper.Group#GROUP that was spawned. +-- @return #nil when nothing was spawned. +function SPAWN:SpawnInZone( Zone, RandomizeGroup, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, Zone, RandomizeGroup, SpawnIndex } ) + + if Zone then + if RandomizeGroup then + return self:SpawnFromVec2( Zone:GetRandomVec2(), SpawnIndex ) + else + return self:SpawnFromVec2( Zone:GetVec2(), SpawnIndex ) + end + end + + return nil +end + +--- (**AIR**) Will spawn a plane group in UnControlled or Controlled mode... +-- This will be similar to the uncontrolled flag setting in the ME. +-- You can use UnControlled mode to simulate planes startup and ready for take-off but aren't moving (yet). +-- ReSpawn the plane in Controlled mode, and the plane will move... +-- @param #SPAWN self +-- @param #boolean UnControlled true if UnControlled, false if Controlled. +-- @return #SPAWN self +function SPAWN:InitUnControlled( UnControlled ) + self:F2( { self.SpawnTemplatePrefix, UnControlled } ) + + self.SpawnUnControlled = UnControlled + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self.SpawnGroups[SpawnGroupID].UnControlled = UnControlled + end + + return self +end + + + +--- Will return the SpawnGroupName either with with a specific count number or without any count. +-- @param #SPAWN self +-- @param #number SpawnIndex Is the number of the Group that is to be spawned. +-- @return #string SpawnGroupName +function SPAWN:SpawnGroupName( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex } ) + + local SpawnPrefix = self.SpawnTemplatePrefix + if self.SpawnAliasPrefix then + SpawnPrefix = self.SpawnAliasPrefix + end + + if SpawnIndex then + local SpawnName = string.format( '%s#%03d', SpawnPrefix, SpawnIndex ) + self:T( SpawnName ) + return SpawnName + else + self:T( SpawnPrefix ) + return SpawnPrefix + end + +end + +--- Will find the first alive @{Group} it has spawned, and return the alive @{Group} object and the first Index where the first alive @{Group} object has been found. +-- @param #SPAWN self +-- @return Wrapper.Group#GROUP, #number The @{Group} object found, the new Index where the group was found. +-- @return #nil, #nil When no group is found, #nil is returned. +-- @usage +-- -- Find the first alive @{Group} object of the SpawnPlanes SPAWN object @{Group} collection that it has spawned during the mission. +-- local GroupPlane, Index = SpawnPlanes:GetFirstAliveGroup() +-- while GroupPlane ~= nil do +-- -- Do actions with the GroupPlane object. +-- GroupPlane, Index = SpawnPlanes:GetNextAliveGroup( Index ) +-- end +function SPAWN:GetFirstAliveGroup() + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix } ) + + for SpawnIndex = 1, self.SpawnCount do + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + if SpawnGroup and SpawnGroup:IsAlive() then + return SpawnGroup, SpawnIndex + end + end + + return nil, nil +end + + +--- Will find the next alive @{Group} object from a given Index, and return a reference to the alive @{Group} object and the next Index where the alive @{Group} has been found. +-- @param #SPAWN self +-- @param #number SpawnIndexStart A Index holding the start position to search from. This method can also be used to find the first alive @{Group} object from the given Index. +-- @return Wrapper.Group#GROUP, #number The next alive @{Group} object found, the next Index where the next alive @{Group} object was found. +-- @return #nil, #nil When no alive @{Group} object is found from the start Index position, #nil is returned. +-- @usage +-- -- Find the first alive @{Group} object of the SpawnPlanes SPAWN object @{Group} collection that it has spawned during the mission. +-- local GroupPlane, Index = SpawnPlanes:GetFirstAliveGroup() +-- while GroupPlane ~= nil do +-- -- Do actions with the GroupPlane object. +-- GroupPlane, Index = SpawnPlanes:GetNextAliveGroup( Index ) +-- end +function SPAWN:GetNextAliveGroup( SpawnIndexStart ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnIndexStart } ) + + SpawnIndexStart = SpawnIndexStart + 1 + for SpawnIndex = SpawnIndexStart, self.SpawnCount do + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + if SpawnGroup and SpawnGroup:IsAlive() then + return SpawnGroup, SpawnIndex + end + end + + return nil, nil +end + +--- Will find the last alive @{Group} object, and will return a reference to the last live @{Group} object and the last Index where the last alive @{Group} object has been found. +-- @param #SPAWN self +-- @return Wrapper.Group#GROUP, #number The last alive @{Group} object found, the last Index where the last alive @{Group} object was found. +-- @return #nil, #nil When no alive @{Group} object is found, #nil is returned. +-- @usage +-- -- Find the last alive @{Group} object of the SpawnPlanes SPAWN object @{Group} collection that it has spawned during the mission. +-- local GroupPlane, Index = SpawnPlanes:GetLastAliveGroup() +-- if GroupPlane then -- GroupPlane can be nil!!! +-- -- Do actions with the GroupPlane object. +-- end +function SPAWN:GetLastAliveGroup() + self:F( { self.SpawnTemplatePrefixself.SpawnAliasPrefix } ) + + self.SpawnIndex = self:_GetLastIndex() + for SpawnIndex = self.SpawnIndex, 1, -1 do + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + if SpawnGroup and SpawnGroup:IsAlive() then + self.SpawnIndex = SpawnIndex + return SpawnGroup + end + end + + self.SpawnIndex = nil + return nil +end + + + +--- Get the group from an index. +-- Returns the group from the SpawnGroups list. +-- If no index is given, it will return the first group in the list. +-- @param #SPAWN self +-- @param #number SpawnIndex The index of the group to return. +-- @return Wrapper.Group#GROUP self +function SPAWN:GetGroupFromIndex( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnIndex } ) + + if not SpawnIndex then + SpawnIndex = 1 + end + + if self.SpawnGroups and self.SpawnGroups[SpawnIndex] then + local SpawnGroup = self.SpawnGroups[SpawnIndex].Group + return SpawnGroup + else + return nil + end +end + + +--- Return the prefix of a SpawnUnit. +-- The method will search for a #-mark, and will return the text before the #-mark. +-- It will return nil of no prefix was found. +-- @param #SPAWN self +-- @param Dcs.DCSWrapper.Unit#UNIT DCSUnit The @{DCSUnit} to be searched. +-- @return #string The prefix +-- @return #nil Nothing found +function SPAWN:_GetPrefixFromGroup( SpawnGroup ) + self:F3( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnGroup } ) + + local GroupName = SpawnGroup:GetName() + if GroupName then + local SpawnPrefix = string.match( GroupName, ".*#" ) + if SpawnPrefix then + SpawnPrefix = SpawnPrefix:sub( 1, -2 ) + end + return SpawnPrefix + end + + return nil +end + + +--- Get the index from a given group. +-- The function will search the name of the group for a #, and will return the number behind the #-mark. +function SPAWN:GetSpawnIndexFromGroup( SpawnGroup ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnGroup } ) + + local IndexString = string.match( SpawnGroup:GetName(), "#(%d*)$" ):sub( 2 ) + local Index = tonumber( IndexString ) + + self:T3( IndexString, Index ) + return Index + +end + +--- Return the last maximum index that can be used. +function SPAWN:_GetLastIndex() + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix } ) + + return self.SpawnMaxGroups +end + +--- Initalize the SpawnGroups collection. +-- @param #SPAWN self +function SPAWN:_InitializeSpawnGroups( SpawnIndex ) + self:F3( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnIndex } ) + + if not self.SpawnGroups[SpawnIndex] then + self.SpawnGroups[SpawnIndex] = {} + self.SpawnGroups[SpawnIndex].Visible = false + self.SpawnGroups[SpawnIndex].Spawned = false + self.SpawnGroups[SpawnIndex].UnControlled = false + self.SpawnGroups[SpawnIndex].SpawnTime = 0 + + self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix = self.SpawnTemplatePrefix + self.SpawnGroups[SpawnIndex].SpawnTemplate = self:_Prepare( self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix, SpawnIndex ) + end + + self:_RandomizeTemplate( SpawnIndex ) + self:_RandomizeRoute( SpawnIndex ) + --self:_TranslateRotate( SpawnIndex ) + + return self.SpawnGroups[SpawnIndex] +end + + + +--- Gets the CategoryID of the Group with the given SpawnPrefix +function SPAWN:_GetGroupCategoryID( SpawnPrefix ) + local TemplateGroup = Group.getByName( SpawnPrefix ) + + if TemplateGroup then + return TemplateGroup:getCategory() + else + return nil + end +end + +--- Gets the CoalitionID of the Group with the given SpawnPrefix +function SPAWN:_GetGroupCoalitionID( SpawnPrefix ) + local TemplateGroup = Group.getByName( SpawnPrefix ) + + if TemplateGroup then + return TemplateGroup:getCoalition() + else + return nil + end +end + +--- Gets the CountryID of the Group with the given SpawnPrefix +function SPAWN:_GetGroupCountryID( SpawnPrefix ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnPrefix } ) + + local TemplateGroup = Group.getByName( SpawnPrefix ) + + if TemplateGroup then + local TemplateUnits = TemplateGroup:getUnits() + return TemplateUnits[1]:getCountry() + else + return nil + end +end + +--- Gets the Group Template from the ME environment definition. +-- This method used the @{DATABASE} object, which contains ALL initial and new spawned object in MOOSE. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix +-- @return @SPAWN self +function SPAWN:_GetTemplate( SpawnTemplatePrefix ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnTemplatePrefix } ) + + local SpawnTemplate = nil + + SpawnTemplate = routines.utils.deepCopy( _DATABASE.Templates.Groups[SpawnTemplatePrefix].Template ) + + if SpawnTemplate == nil then + error( 'No Template returned for SpawnTemplatePrefix = ' .. SpawnTemplatePrefix ) + end + + --SpawnTemplate.SpawnCoalitionID = self:_GetGroupCoalitionID( SpawnTemplatePrefix ) + --SpawnTemplate.SpawnCategoryID = self:_GetGroupCategoryID( SpawnTemplatePrefix ) + --SpawnTemplate.SpawnCountryID = self:_GetGroupCountryID( SpawnTemplatePrefix ) + + self:T3( { SpawnTemplate } ) + return SpawnTemplate +end + +--- Prepares the new Group Template. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix +-- @param #number SpawnIndex +-- @return #SPAWN self +function SPAWN:_Prepare( SpawnTemplatePrefix, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix } ) + + local SpawnTemplate = self:_GetTemplate( SpawnTemplatePrefix ) + SpawnTemplate.name = self:SpawnGroupName( SpawnIndex ) + + SpawnTemplate.groupId = nil + --SpawnTemplate.lateActivation = false + SpawnTemplate.lateActivation = false + + if SpawnTemplate.CategoryID == Group.Category.GROUND then + self:T3( "For ground units, visible needs to be false..." ) + SpawnTemplate.visible = false + end + + if self.SpawnInitKeepUnitNames == false then + for UnitID = 1, #SpawnTemplate.units do + SpawnTemplate.units[UnitID].name = string.format( SpawnTemplate.name .. '-%02d', UnitID ) + SpawnTemplate.units[UnitID].unitId = nil + end + else + for UnitID = 1, #SpawnTemplate.units do + local UnitPrefix, Rest = string.match( SpawnTemplate.units[UnitID].name, "^([^#]+)#?" ):gsub( "^%s*(.-)%s*$", "%1" ) + self:T( { UnitPrefix, Rest } ) + + SpawnTemplate.units[UnitID].name = string.format( '%s#%03d-%02d', UnitPrefix, SpawnIndex, UnitID ) + SpawnTemplate.units[UnitID].unitId = nil + end + end + + self:T3( { "Template:", SpawnTemplate } ) + return SpawnTemplate + +end + +--- Private method randomizing the routes. +-- @param #SPAWN self +-- @param #number SpawnIndex The index of the group to be spawned. +-- @return #SPAWN +function SPAWN:_RandomizeRoute( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, self.SpawnRandomizeRoute, self.SpawnRandomizeRouteStartPoint, self.SpawnRandomizeRouteEndPoint, self.SpawnRandomizeRouteRadius } ) + + if self.SpawnRandomizeRoute then + local SpawnTemplate = self.SpawnGroups[SpawnIndex].SpawnTemplate + local RouteCount = #SpawnTemplate.route.points + + for t = self.SpawnRandomizeRouteStartPoint + 1, ( RouteCount - self.SpawnRandomizeRouteEndPoint ) do + + SpawnTemplate.route.points[t].x = SpawnTemplate.route.points[t].x + math.random( self.SpawnRandomizeRouteRadius * -1, self.SpawnRandomizeRouteRadius ) + SpawnTemplate.route.points[t].y = SpawnTemplate.route.points[t].y + math.random( self.SpawnRandomizeRouteRadius * -1, self.SpawnRandomizeRouteRadius ) + + -- Manage randomization of altitude for airborne units ... + if SpawnTemplate.CategoryID == Group.Category.AIRPLANE or SpawnTemplate.CategoryID == Group.Category.HELICOPTER then + if SpawnTemplate.route.points[t].alt and self.SpawnRandomizeRouteHeight then + SpawnTemplate.route.points[t].alt = SpawnTemplate.route.points[t].alt + math.random( 1, self.SpawnRandomizeRouteHeight ) + end + else + SpawnTemplate.route.points[t].alt = nil + end + + self:T( 'SpawnTemplate.route.points[' .. t .. '].x = ' .. SpawnTemplate.route.points[t].x .. ', SpawnTemplate.route.points[' .. t .. '].y = ' .. SpawnTemplate.route.points[t].y ) + end + end + + self:_RandomizeZones( SpawnIndex ) + + return self +end + +--- Private method that randomizes the template of the group. +-- @param #SPAWN self +-- @param #number SpawnIndex +-- @return #SPAWN self +function SPAWN:_RandomizeTemplate( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, self.SpawnRandomizeTemplate } ) + + if self.SpawnRandomizeTemplate then + self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix = self.SpawnTemplatePrefixTable[ math.random( 1, #self.SpawnTemplatePrefixTable ) ] + self.SpawnGroups[SpawnIndex].SpawnTemplate = self:_Prepare( self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix, SpawnIndex ) + self.SpawnGroups[SpawnIndex].SpawnTemplate.route = routines.utils.deepCopy( self.SpawnTemplate.route ) + self.SpawnGroups[SpawnIndex].SpawnTemplate.x = self.SpawnTemplate.x + self.SpawnGroups[SpawnIndex].SpawnTemplate.y = self.SpawnTemplate.y + self.SpawnGroups[SpawnIndex].SpawnTemplate.start_time = self.SpawnTemplate.start_time + local OldX = self.SpawnGroups[SpawnIndex].SpawnTemplate.units[1].x + local OldY = self.SpawnGroups[SpawnIndex].SpawnTemplate.units[1].y + for UnitID = 1, #self.SpawnGroups[SpawnIndex].SpawnTemplate.units do + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].heading = self.SpawnTemplate.units[1].heading + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].x = self.SpawnTemplate.units[1].x + ( self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].x - OldX ) + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].y = self.SpawnTemplate.units[1].y + ( self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].y - OldY ) + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].alt = self.SpawnTemplate.units[1].alt + end + end + + self:_RandomizeRoute( SpawnIndex ) + + return self +end + +--- Private method that randomizes the @{Zone}s where the Group will be spawned. +-- @param #SPAWN self +-- @param #number SpawnIndex +-- @return #SPAWN self +function SPAWN:_RandomizeZones( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, self.SpawnRandomizeZones } ) + + if self.SpawnRandomizeZones then + local SpawnZone = nil -- Core.Zone#ZONE_BASE + while not SpawnZone do + self:T( { SpawnZoneTableCount = #self.SpawnZoneTable, self.SpawnZoneTable } ) + local ZoneID = math.random( #self.SpawnZoneTable ) + self:T( ZoneID ) + SpawnZone = self.SpawnZoneTable[ ZoneID ]:GetZoneMaybe() + end + + self:T( "Preparing Spawn in Zone", SpawnZone:GetName() ) + + local SpawnVec2 = SpawnZone:GetRandomVec2() + + self:T( { SpawnVec2 = SpawnVec2 } ) + + local SpawnTemplate = self.SpawnGroups[SpawnIndex].SpawnTemplate + + self:T( { Route = SpawnTemplate.route } ) + + for UnitID = 1, #SpawnTemplate.units do + local UnitTemplate = SpawnTemplate.units[UnitID] + self:T( 'Before Translation SpawnTemplate.units['..UnitID..'].x = ' .. UnitTemplate.x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. UnitTemplate.y ) + local SX = UnitTemplate.x + local SY = UnitTemplate.y + local BX = SpawnTemplate.route.points[1].x + local BY = SpawnTemplate.route.points[1].y + local TX = SpawnVec2.x + ( SX - BX ) + local TY = SpawnVec2.y + ( SY - BY ) + UnitTemplate.x = TX + UnitTemplate.y = TY + -- TODO: Manage altitude based on landheight... + --SpawnTemplate.units[UnitID].alt = SpawnVec2: + self:T( 'After Translation SpawnTemplate.units['..UnitID..'].x = ' .. UnitTemplate.x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. UnitTemplate.y ) + end + SpawnTemplate.x = SpawnVec2.x + SpawnTemplate.y = SpawnVec2.y + SpawnTemplate.route.points[1].x = SpawnVec2.x + SpawnTemplate.route.points[1].y = SpawnVec2.y + end + + return self + +end + +function SPAWN:_TranslateRotate( SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle } ) + + -- Translate + local TranslatedX = SpawnX + local TranslatedY = SpawnY + + -- Rotate + -- From Wikipedia: https://en.wikipedia.org/wiki/Rotation_matrix#Common_rotations + -- x' = x \cos \theta - y \sin \theta\ + -- y' = x \sin \theta + y \cos \theta\ + local RotatedX = - TranslatedX * math.cos( math.rad( SpawnAngle ) ) + + TranslatedY * math.sin( math.rad( SpawnAngle ) ) + local RotatedY = TranslatedX * math.sin( math.rad( SpawnAngle ) ) + + TranslatedY * math.cos( math.rad( SpawnAngle ) ) + + -- Assign + self.SpawnGroups[SpawnIndex].SpawnTemplate.x = SpawnRootX - RotatedX + self.SpawnGroups[SpawnIndex].SpawnTemplate.y = SpawnRootY + RotatedY + + + local SpawnUnitCount = table.getn( self.SpawnGroups[SpawnIndex].SpawnTemplate.units ) + for u = 1, SpawnUnitCount do + + -- Translate + local TranslatedX = SpawnX + local TranslatedY = SpawnY - 10 * ( u - 1 ) + + -- Rotate + local RotatedX = - TranslatedX * math.cos( math.rad( SpawnAngle ) ) + + TranslatedY * math.sin( math.rad( SpawnAngle ) ) + local RotatedY = TranslatedX * math.sin( math.rad( SpawnAngle ) ) + + TranslatedY * math.cos( math.rad( SpawnAngle ) ) + + -- Assign + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].x = SpawnRootX - RotatedX + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].y = SpawnRootY + RotatedY + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].heading = self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].heading + math.rad( SpawnAngle ) + end + + return self +end + +--- Get the next index of the groups to be spawned. This method is complicated, as it is used at several spaces. +function SPAWN:_GetSpawnIndex( SpawnIndex ) + self:F2( { self.SpawnTemplatePrefix, SpawnIndex, self.SpawnMaxGroups, self.SpawnMaxUnitsAlive, self.AliveUnits, #self.SpawnTemplate.units } ) + + if ( self.SpawnMaxGroups == 0 ) or ( SpawnIndex <= self.SpawnMaxGroups ) then + if ( self.SpawnMaxUnitsAlive == 0 ) or ( self.AliveUnits + #self.SpawnTemplate.units <= self.SpawnMaxUnitsAlive ) or self.UnControlled == true then + if SpawnIndex and SpawnIndex >= self.SpawnCount + 1 then + self.SpawnCount = self.SpawnCount + 1 + SpawnIndex = self.SpawnCount + end + self.SpawnIndex = SpawnIndex + if not self.SpawnGroups[self.SpawnIndex] then + self:_InitializeSpawnGroups( self.SpawnIndex ) + end + else + return nil + end + else + return nil + end + + return self.SpawnIndex +end + + +-- TODO Need to delete this... _DATABASE does this now ... + +--- @param #SPAWN self +-- @param Core.Event#EVENTDATA EventData +function SPAWN:_OnBirth( EventData ) + self:F( self.SpawnTemplatePrefix ) + + local SpawnGroup = EventData.IniGroup + + if SpawnGroup then + local EventPrefix = self:_GetPrefixFromGroup( SpawnGroup ) + self:T( { "Birth Event:", EventPrefix, self.SpawnTemplatePrefix } ) + if EventPrefix == self.SpawnTemplatePrefix or ( self.SpawnAliasPrefix and EventPrefix == self.SpawnAliasPrefix ) then + self.AliveUnits = self.AliveUnits + 1 + self:T( "Alive Units: " .. self.AliveUnits ) + end + end + +end + +--- Obscolete +-- @todo Need to delete this... _DATABASE does this now ... + +--- @param #SPAWN self +-- @param Core.Event#EVENTDATA EventData +function SPAWN:_OnDeadOrCrash( EventData ) + self:F( self.SpawnTemplatePrefix ) + + local SpawnGroup = EventData.IniGroup + + if SpawnGroup then + local EventPrefix = self:_GetPrefixFromGroup( SpawnGroup ) + self:T( { "Dead event: " .. EventPrefix } ) + if EventPrefix == self.SpawnTemplatePrefix or ( self.SpawnAliasPrefix and EventPrefix == self.SpawnAliasPrefix ) then + self.AliveUnits = self.AliveUnits - 1 + self:T( "Alive Units: " .. self.AliveUnits ) + end + end +end + +--- Will detect AIR Units taking off... When the event takes place, the spawned Group is registered as airborne... +-- This is needed to ensure that Re-SPAWNing only is done for landed AIR Groups. +-- @param #SPAWN self +-- @param Core.Event#EVENTDATA EventData +function SPAWN:_OnTakeOff( EventData ) + self:F( self.SpawnTemplatePrefix ) + + local SpawnGroup = EventData.IniGroup + if SpawnGroup then + local EventPrefix = self:_GetPrefixFromGroup( SpawnGroup ) + self:T( { "TakeOff event: " .. EventPrefix } ) + if EventPrefix == self.SpawnTemplatePrefix or ( self.SpawnAliasPrefix and EventPrefix == self.SpawnAliasPrefix ) then + self:T( "self.Landed = false" ) + SpawnGroup:SetState( SpawnGroup, "Spawn_Landed", false ) + end + end +end + +--- Will detect AIR Units landing... When the event takes place, the spawned Group is registered as landed. +-- This is needed to ensure that Re-SPAWNing is only done for landed AIR Groups. +-- @param #SPAWN self +-- @param Core.Event#EVENTDATA EventData +function SPAWN:_OnLand( EventData ) + self:F( self.SpawnTemplatePrefix ) + + local SpawnGroup = EventData.IniGroup + if SpawnGroup then + local EventPrefix = self:_GetPrefixFromGroup( SpawnGroup ) + self:T( { "Land event: " .. EventPrefix } ) + if EventPrefix == self.SpawnTemplatePrefix or ( self.SpawnAliasPrefix and EventPrefix == self.SpawnAliasPrefix ) then + -- TODO: Check if this is the last unit of the group that lands. + SpawnGroup:SetState( SpawnGroup, "Spawn_Landed", true ) + if self.RepeatOnLanding then + local SpawnGroupIndex = self:GetSpawnIndexFromGroup( SpawnGroup ) + self:T( { "Landed:", "ReSpawn:", SpawnGroup:GetName(), SpawnGroupIndex } ) + self:ReSpawn( SpawnGroupIndex ) + end + end + end +end + +--- Will detect AIR Units shutting down their engines ... +-- When the event takes place, and the method @{RepeatOnEngineShutDown} was called, the spawned Group will Re-SPAWN. +-- But only when the Unit was registered to have landed. +-- @param #SPAWN self +-- @param Core.Event#EVENTDATA EventData +function SPAWN:_OnEngineShutDown( EventData ) + self:F( self.SpawnTemplatePrefix ) + + local SpawnGroup = EventData.IniGroup + if SpawnGroup then + local EventPrefix = self:_GetPrefixFromGroup( SpawnGroup ) + self:T( { "EngineShutdown event: " .. EventPrefix } ) + if EventPrefix == self.SpawnTemplatePrefix or ( self.SpawnAliasPrefix and EventPrefix == self.SpawnAliasPrefix ) then + -- todo: test if on the runway + local Landed = SpawnGroup:GetState( SpawnGroup, "Spawn_Landed" ) + if Landed and self.RepeatOnEngineShutDown then + local SpawnGroupIndex = self:GetSpawnIndexFromGroup( SpawnGroup ) + self:T( { "EngineShutDown: ", "ReSpawn:", SpawnGroup:GetName(), SpawnGroupIndex } ) + self:ReSpawn( SpawnGroupIndex ) + end + end + end +end + +--- This function is called automatically by the Spawning scheduler. +-- It is the internal worker method SPAWNing new Groups on the defined time intervals. +function SPAWN:_Scheduler() + self:F2( { "_Scheduler", self.SpawnTemplatePrefix, self.SpawnAliasPrefix, self.SpawnIndex, self.SpawnMaxGroups, self.SpawnMaxUnitsAlive } ) + + -- Validate if there are still groups left in the batch... + self:Spawn() + + return true +end + +--- Schedules the CleanUp of Groups +-- @param #SPAWN self +-- @return #boolean True = Continue Scheduler +function SPAWN:_SpawnCleanUpScheduler() + self:F( { "CleanUp Scheduler:", self.SpawnTemplatePrefix } ) + + local SpawnGroup, SpawnCursor = self:GetFirstAliveGroup() + self:T( { "CleanUp Scheduler:", SpawnGroup, SpawnCursor } ) + + while SpawnGroup do + + local SpawnUnits = SpawnGroup:GetUnits() + + for UnitID, UnitData in pairs( SpawnUnits ) do + + local SpawnUnit = UnitData -- Wrapper.Unit#UNIT + local SpawnUnitName = SpawnUnit:GetName() + + + self.SpawnCleanUpTimeStamps[SpawnUnitName] = self.SpawnCleanUpTimeStamps[SpawnUnitName] or {} + local Stamp = self.SpawnCleanUpTimeStamps[SpawnUnitName] + self:T( { SpawnUnitName, Stamp } ) + + if Stamp.Vec2 then + if SpawnUnit:InAir() == false and SpawnUnit:GetVelocityKMH() < 1 then + local NewVec2 = SpawnUnit:GetVec2() + if Stamp.Vec2.x == NewVec2.x and Stamp.Vec2.y == NewVec2.y then + -- If the plane is not moving, and is on the ground, assign it with a timestamp... + if Stamp.Time + self.SpawnCleanUpInterval < timer.getTime() then + self:T( { "CleanUp Scheduler:", "ReSpawning:", SpawnGroup:GetName() } ) + self:ReSpawn( SpawnCursor ) + Stamp.Vec2 = nil + Stamp.Time = nil + end + else + Stamp.Time = timer.getTime() + Stamp.Vec2 = SpawnUnit:GetVec2() + end + else + Stamp.Vec2 = nil + Stamp.Time = nil + end + else + if SpawnUnit:InAir() == false then + Stamp.Vec2 = SpawnUnit:GetVec2() + if SpawnUnit:GetVelocityKMH() < 1 then + Stamp.Time = timer.getTime() + end + else + Stamp.Time = nil + Stamp.Vec2 = nil + end + end + end + + SpawnGroup, SpawnCursor = self:GetNextAliveGroup( SpawnCursor ) + + self:T( { "CleanUp Scheduler:", SpawnGroup, SpawnCursor } ) + + end + + return true -- Repeat + +end +--- Limit the simultaneous movement of Groups within a running Mission. +-- This module is defined to improve the performance in missions, and to bring additional realism for GROUND vehicles. +-- Performance: If in a DCSRTE there are a lot of moving GROUND units, then in a multi player mission, this WILL create lag if +-- the main DCS execution core of your CPU is fully utilized. So, this class will limit the amount of simultaneous moving GROUND units +-- on defined intervals (currently every minute). +-- @module Movement + +--- the MOVEMENT class +-- @type MOVEMENT +-- @extends Core.Base#BASE +MOVEMENT = { + ClassName = "MOVEMENT", +} + +--- Creates the main object which is handling the GROUND forces movement. +-- @param table{string,...}|string MovePrefixes is a table of the Prefixes (names) of the GROUND Groups that need to be controlled by the MOVEMENT Object. +-- @param number MoveMaximum is a number that defines the maximum amount of GROUND Units to be moving during one minute. +-- @return MOVEMENT +-- @usage +-- -- Limit the amount of simultaneous moving units on the ground to prevent lag. +-- Movement_US_Platoons = MOVEMENT:New( { 'US Tank Platoon Left', 'US Tank Platoon Middle', 'US Tank Platoon Right', 'US CH-47D Troops' }, 15 ) + +function MOVEMENT:New( MovePrefixes, MoveMaximum ) + local self = BASE:Inherit( self, BASE:New() ) -- #MOVEMENT + self:F( { MovePrefixes, MoveMaximum } ) + + if type( MovePrefixes ) == 'table' then + self.MovePrefixes = MovePrefixes + else + self.MovePrefixes = { MovePrefixes } + end + self.MoveCount = 0 -- The internal counter of the amount of Moveing the has happened since MoveStart. + self.MoveMaximum = MoveMaximum -- Contains the Maximum amount of units that are allowed to move... + self.AliveUnits = 0 -- Contains the counter how many units are currently alive + self.MoveUnits = {} -- Reflects if the Moving for this MovePrefixes is going to be scheduled or not. + + self:HandleEvent( EVENTS.Birth ) + +-- self:AddEvent( world.event.S_EVENT_BIRTH, self.OnBirth ) +-- +-- self:EnableEvents() + + self:ScheduleStart() + + return self +end + +--- Call this function to start the MOVEMENT scheduling. +function MOVEMENT:ScheduleStart() + self:F() + --self.MoveFunction = routines.scheduleFunction( self._Scheduler, { self }, timer.getTime() + 1, 120 ) + self.MoveFunction = SCHEDULER:New( self, self._Scheduler, {}, 1, 120 ) +end + +--- Call this function to stop the MOVEMENT scheduling. +-- @todo need to implement it ... Forgot. +function MOVEMENT:ScheduleStop() + self:F() + +end + +--- Captures the birth events when new Units were spawned. +-- @todo This method should become obsolete. The new @{DATABASE} class will handle the collection administration. +-- @param #MOVEMENT self +-- @param Core.Event#EVENTDATA self +function MOVEMENT:OnEventBirth( EventData ) + self:F( { EventData } ) + + if timer.getTime0() < timer.getAbsTime() then -- dont need to add units spawned in at the start of the mission if mist is loaded in init line + if EventData.IniDCSUnit then + self:T( "Birth object : " .. EventData.IniDCSUnitName ) + if EventData.IniDCSGroup and EventData.IniDCSGroup:isExist() then + for MovePrefixID, MovePrefix in pairs( self.MovePrefixes ) do + if string.find( EventData.IniDCSUnitName, MovePrefix, 1, true ) then + self.AliveUnits = self.AliveUnits + 1 + self.MoveUnits[EventData.IniDCSUnitName] = EventData.IniDCSGroupName + self:T( self.AliveUnits ) + end + end + end + end + + EventData.IniUnit:HandleEvent( EVENTS.DEAD, self.OnDeadOrCrash ) + end + +end + +--- Captures the Dead or Crash events when Units crash or are destroyed. +-- @todo This method should become obsolete. The new @{DATABASE} class will handle the collection administration. +function MOVEMENT:OnDeadOrCrash( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + self:T( "Dead object : " .. Event.IniDCSUnitName ) + for MovePrefixID, MovePrefix in pairs( self.MovePrefixes ) do + if string.find( Event.IniDCSUnitName, MovePrefix, 1, true ) then + self.AliveUnits = self.AliveUnits - 1 + self.MoveUnits[Event.IniDCSUnitName] = nil + self:T( self.AliveUnits ) + end + end + end +end + +--- This function is called automatically by the MOVEMENT scheduler. A new function is scheduled when MoveScheduled is true. +function MOVEMENT:_Scheduler() + self:F( { self.MovePrefixes, self.MoveMaximum, self.AliveUnits, self.MovementGroups } ) + + if self.AliveUnits > 0 then + local MoveProbability = ( self.MoveMaximum * 100 ) / self.AliveUnits + self:T( 'Move Probability = ' .. MoveProbability ) + + for MovementUnitName, MovementGroupName in pairs( self.MoveUnits ) do + local MovementGroup = Group.getByName( MovementGroupName ) + if MovementGroup and MovementGroup:isExist() then + local MoveOrStop = math.random( 1, 100 ) + self:T( 'MoveOrStop = ' .. MoveOrStop ) + if MoveOrStop <= MoveProbability then + self:T( 'Group continues moving = ' .. MovementGroupName ) + trigger.action.groupContinueMoving( MovementGroup ) + else + self:T( 'Group stops moving = ' .. MovementGroupName ) + trigger.action.groupStopMoving( MovementGroup ) + end + else + self.MoveUnits[MovementUnitName] = nil + end + end + end + return true +end +--- Provides defensive behaviour to a set of SAM sites within a running Mission. +-- @module Sead +-- @author to be searched on the forum +-- @author (co) Flightcontrol (Modified and enriched with functionality) + +--- The SEAD class +-- @type SEAD +-- @extends Core.Base#BASE +SEAD = { + ClassName = "SEAD", + TargetSkill = { + Average = { Evade = 50, DelayOff = { 10, 25 }, DelayOn = { 10, 30 } } , + Good = { Evade = 30, DelayOff = { 8, 20 }, DelayOn = { 20, 40 } } , + High = { Evade = 15, DelayOff = { 5, 17 }, DelayOn = { 30, 50 } } , + Excellent = { Evade = 10, DelayOff = { 3, 10 }, DelayOn = { 30, 60 } } + }, + SEADGroupPrefixes = {} +} + +--- Creates the main object which is handling defensive actions for SA sites or moving SA vehicles. +-- When an anti radiation missile is fired (KH-58, KH-31P, KH-31A, KH-25MPU, HARM missiles), the SA will shut down their radars and will take evasive actions... +-- Chances are big that the missile will miss. +-- @param table{string,...}|string SEADGroupPrefixes which is a table of Prefixes of the SA Groups in the DCSRTE on which evasive actions need to be taken. +-- @return SEAD +-- @usage +-- -- CCCP SEAD Defenses +-- -- Defends the Russian SA installations from SEAD attacks. +-- SEAD_RU_SAM_Defenses = SEAD:New( { 'RU SA-6 Kub', 'RU SA-6 Defenses', 'RU MI-26 Troops', 'RU Attack Gori' } ) +function SEAD:New( SEADGroupPrefixes ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( SEADGroupPrefixes ) + if type( SEADGroupPrefixes ) == 'table' then + for SEADGroupPrefixID, SEADGroupPrefix in pairs( SEADGroupPrefixes ) do + self.SEADGroupPrefixes[SEADGroupPrefix] = SEADGroupPrefix + end + else + self.SEADGroupNames[SEADGroupPrefixes] = SEADGroupPrefixes + end + + self:HandleEvent( EVENTS.Shot ) + + return self +end + +--- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. +-- @see SEAD +-- @param #SEAD +-- @param Core.Event#EVENTDATA EventData +function SEAD:OnEventShot( EventData ) + self:F( { EventData } ) + + local SEADUnit = EventData.IniDCSUnit + local SEADUnitName = EventData.IniDCSUnitName + local SEADWeapon = EventData.Weapon -- Identify the weapon fired + local SEADWeaponName = EventData.WeaponName -- return weapon type + -- Start of the 2nd loop + self:T( "Missile Launched = " .. SEADWeaponName ) + if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD + local _evade = math.random (1,100) -- random number for chance of evading action + local _targetMim = EventData.Weapon:getTarget() -- Identify target + local _targetMimname = Unit.getName(_targetMim) + local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon)) + local _targetMimgroupName = _targetMimgroup:getName() + local _targetMimcont= _targetMimgroup:getController() + local _targetskill = _DATABASE.Templates.Units[_targetMimname].Template.skill + self:T( self.SEADGroupPrefixes ) + self:T( _targetMimgroupName ) + local SEADGroupFound = false + for SEADGroupPrefixID, SEADGroupPrefix in pairs( self.SEADGroupPrefixes ) do + if string.find( _targetMimgroupName, SEADGroupPrefix, 1, true ) then + SEADGroupFound = true + self:T( 'Group Found' ) + break + end + end + if SEADGroupFound == true then + if _targetskill == "Random" then -- when skill is random, choose a skill + local Skills = { "Average", "Good", "High", "Excellent" } + _targetskill = Skills[ math.random(1,4) ] + end + self:T( _targetskill ) + if self.TargetSkill[_targetskill] then + if (_evade > self.TargetSkill[_targetskill].Evade) then + self:T( string.format("Evading, target skill " ..string.format(_targetskill)) ) + local _targetMim = Weapon.getTarget(SEADWeapon) + local _targetMimname = Unit.getName(_targetMim) + local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon)) + local _targetMimcont= _targetMimgroup:getController() + routines.groupRandomDistSelf(_targetMimgroup,300,'Diamond',250,20) -- move randomly + local SuppressedGroups1 = {} -- unit suppressed radar off for a random time + local function SuppressionEnd1(id) + id.ctrl:setOption(AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.GREEN) + SuppressedGroups1[id.groupName] = nil + end + local id = { + groupName = _targetMimgroup, + ctrl = _targetMimcont + } + local delay1 = math.random(self.TargetSkill[_targetskill].DelayOff[1], self.TargetSkill[_targetskill].DelayOff[2]) + if SuppressedGroups1[id.groupName] == nil then + SuppressedGroups1[id.groupName] = { + SuppressionEndTime1 = timer.getTime() + delay1, + SuppressionEndN1 = SuppressionEndCounter1 --Store instance of SuppressionEnd() scheduled function + } + Controller.setOption(_targetMimcont, AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.GREEN) + timer.scheduleFunction(SuppressionEnd1, id, SuppressedGroups1[id.groupName].SuppressionEndTime1) --Schedule the SuppressionEnd() function + --trigger.action.outText( string.format("Radar Off " ..string.format(delay1)), 20) + end + + local SuppressedGroups = {} + local function SuppressionEnd(id) + id.ctrl:setOption(AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.RED) + SuppressedGroups[id.groupName] = nil + end + local id = { + groupName = _targetMimgroup, + ctrl = _targetMimcont + } + local delay = math.random(self.TargetSkill[_targetskill].DelayOn[1], self.TargetSkill[_targetskill].DelayOn[2]) + if SuppressedGroups[id.groupName] == nil then + SuppressedGroups[id.groupName] = { + SuppressionEndTime = timer.getTime() + delay, + SuppressionEndN = SuppressionEndCounter --Store instance of SuppressionEnd() scheduled function + } + timer.scheduleFunction(SuppressionEnd, id, SuppressedGroups[id.groupName].SuppressionEndTime) --Schedule the SuppressionEnd() function + --trigger.action.outText( string.format("Radar On " ..string.format(delay)), 20) + end + end + end + end + end +end +--- Taking the lead of AI escorting your flight. +-- +-- @{#ESCORT} class +-- ================ +-- The @{#ESCORT} class allows you to interact with escorting AI on your flight and take the lead. +-- Each escorting group can be commanded with a whole set of radio commands (radio menu in your flight, and then F10). +-- +-- The radio commands will vary according the category of the group. The richest set of commands are with Helicopters and AirPlanes. +-- Ships and Ground troops will have a more limited set, but they can provide support through the bombing of targets designated by the other escorts. +-- +-- RADIO MENUs that can be created: +-- ================================ +-- Find a summary below of the current available commands: +-- +-- Navigation ...: +-- --------------- +-- Escort group navigation functions: +-- +-- * **"Join-Up and Follow at x meters":** The escort group fill follow you at about x meters, and they will follow you. +-- * **"Flare":** Provides menu commands to let the escort group shoot a flare in the air in a color. +-- * **"Smoke":** Provides menu commands to let the escort group smoke the air in a color. Note that smoking is only available for ground and naval troops. +-- +-- Hold position ...: +-- ------------------ +-- Escort group navigation functions: +-- +-- * **"At current location":** Stops the escort group and they will hover 30 meters above the ground at the position they stopped. +-- * **"At client location":** Stops the escort group and they will hover 30 meters above the ground at the position they stopped. +-- +-- Report targets ...: +-- ------------------- +-- Report targets will make the escort group to report any target that it identifies within a 8km range. Any detected target can be attacked using the 4. Attack nearby targets function. (see below). +-- +-- * **"Report now":** Will report the current detected targets. +-- * **"Report targets on":** Will make the escort group to report detected targets and will fill the "Attack nearby targets" menu list. +-- * **"Report targets off":** Will stop detecting targets. +-- +-- Scan targets ...: +-- ----------------- +-- Menu items to pop-up the escort group for target scanning. After scanning, the escort group will resume with the mission or defined task. +-- +-- * **"Scan targets 30 seconds":** Scan 30 seconds for targets. +-- * **"Scan targets 60 seconds":** Scan 60 seconds for targets. +-- +-- Attack targets ...: +-- ------------------- +-- This menu item will list all detected targets within a 15km range. Depending on the level of detection (known/unknown) and visuality, the targets type will also be listed. +-- +-- Request assistance from ...: +-- ---------------------------- +-- This menu item will list all detected targets within a 15km range, as with the menu item **Attack Targets**. +-- This menu item allows to request attack support from other escorts supporting the current client group. +-- eg. the function allows a player to request support from the Ship escort to attack a target identified by the Plane escort with its Tomahawk missiles. +-- eg. the function allows a player to request support from other Planes escorting to bomb the unit with illumination missiles or bombs, so that the main plane escort can attack the area. +-- +-- ROE ...: +-- -------- +-- Sets the Rules of Engagement (ROE) of the escort group when in flight. +-- +-- * **"Hold Fire":** The escort group will hold fire. +-- * **"Return Fire":** The escort group will return fire. +-- * **"Open Fire":** The escort group will open fire on designated targets. +-- * **"Weapon Free":** The escort group will engage with any target. +-- +-- Evasion ...: +-- ------------ +-- Will define the evasion techniques that the escort group will perform during flight or combat. +-- +-- * **"Fight until death":** The escort group will have no reaction to threats. +-- * **"Use flares, chaff and jammers":** The escort group will use passive defense using flares and jammers. No evasive manoeuvres are executed. +-- * **"Evade enemy fire":** The rescort group will evade enemy fire before firing. +-- * **"Go below radar and evade fire":** The escort group will perform evasive vertical manoeuvres. +-- +-- Resume Mission ...: +-- ------------------- +-- Escort groups can have their own mission. This menu item will allow the escort group to resume their Mission from a given waypoint. +-- Note that this is really fantastic, as you now have the dynamic of taking control of the escort groups, and allowing them to resume their path or mission. +-- +-- ESCORT construction methods. +-- ============================ +-- Create a new SPAWN object with the @{#ESCORT.New} method: +-- +-- * @{#ESCORT.New}: Creates a new ESCORT object from a @{Group#GROUP} for a @{Client#CLIENT}, with an optional briefing text. +-- +-- ESCORT initialization methods. +-- ============================== +-- The following menus are created within the RADIO MENU (F10) of an active unit hosted by a player: +-- +-- * @{#ESCORT.MenuFollowAt}: Creates a menu to make the escort follow the client. +-- * @{#ESCORT.MenuHoldAtEscortPosition}: Creates a menu to hold the escort at its current position. +-- * @{#ESCORT.MenuHoldAtLeaderPosition}: Creates a menu to hold the escort at the client position. +-- * @{#ESCORT.MenuScanForTargets}: Creates a menu so that the escort scans targets. +-- * @{#ESCORT.MenuFlare}: Creates a menu to disperse flares. +-- * @{#ESCORT.MenuSmoke}: Creates a menu to disparse smoke. +-- * @{#ESCORT.MenuReportTargets}: Creates a menu so that the escort reports targets. +-- * @{#ESCORT.MenuReportPosition}: Creates a menu so that the escort reports its current position from bullseye. +-- * @{#ESCORT.MenuAssistedAttack: Creates a menu so that the escort supportes assisted attack from other escorts with the client. +-- * @{#ESCORT.MenuROE: Creates a menu structure to set the rules of engagement of the escort. +-- * @{#ESCORT.MenuEvasion: Creates a menu structure to set the evasion techniques when the escort is under threat. +-- * @{#ESCORT.MenuResumeMission}: Creates a menu structure so that the escort can resume from a waypoint. +-- +-- +-- @usage +-- -- Declare a new EscortPlanes object as follows: +-- +-- -- First find the GROUP object and the CLIENT object. +-- local EscortClient = CLIENT:FindByName( "Unit Name" ) -- The Unit Name is the name of the unit flagged with the skill Client in the mission editor. +-- local EscortGroup = GROUP:FindByName( "Group Name" ) -- The Group Name is the name of the group that will escort the Escort Client. +-- +-- -- Now use these 2 objects to construct the new EscortPlanes object. +-- EscortPlanes = ESCORT:New( EscortClient, EscortGroup, "Desert", "Welcome to the mission. You are escorted by a plane with code name 'Desert', which can be instructed through the F10 radio menu." ) +-- +-- +-- +-- @module Escort +-- @author FlightControl + +--- ESCORT class +-- @type ESCORT +-- @extends Core.Base#BASE +-- @field Wrapper.Client#CLIENT EscortClient +-- @field Wrapper.Group#GROUP EscortGroup +-- @field #string EscortName +-- @field #ESCORT.MODE EscortMode The mode the escort is in. +-- @field Core.Scheduler#SCHEDULER FollowScheduler The instance of the SCHEDULER class. +-- @field #number FollowDistance The current follow distance. +-- @field #boolean ReportTargets If true, nearby targets are reported. +-- @Field Dcs.DCSTypes#AI.Option.Air.val.ROE OptionROE Which ROE is set to the EscortGroup. +-- @field Dcs.DCSTypes#AI.Option.Air.val.REACTION_ON_THREAT OptionReactionOnThreat Which REACTION_ON_THREAT is set to the EscortGroup. +-- @field Core.Menu#MENU_CLIENT EscortMenuResumeMission +-- @field Functional.Detection#DETECTION_BASE Detection +ESCORT = { + ClassName = "ESCORT", + EscortName = nil, -- The Escort Name + EscortClient = nil, + EscortGroup = nil, + EscortMode = 1, + MODE = { + FOLLOW = 1, + MISSION = 2, + }, + Targets = {}, -- The identified targets + FollowScheduler = nil, + ReportTargets = true, + OptionROE = AI.Option.Air.val.ROE.OPEN_FIRE, + OptionReactionOnThreat = AI.Option.Air.val.REACTION_ON_THREAT.ALLOW_ABORT_MISSION, + SmokeDirectionVector = false, + TaskPoints = {} +} + +--- ESCORT.Mode class +-- @type ESCORT.MODE +-- @field #number FOLLOW +-- @field #number MISSION + +--- MENUPARAM type +-- @type MENUPARAM +-- @field #ESCORT ParamSelf +-- @field #Distance ParamDistance +-- @field #function ParamFunction +-- @field #string ParamMessage + +--- ESCORT class constructor for an AI group +-- @param #ESCORT self +-- @param Wrapper.Client#CLIENT EscortClient The client escorted by the EscortGroup. +-- @param Wrapper.Group#GROUP EscortGroup The group AI escorting the EscortClient. +-- @param #string EscortName Name of the escort. +-- @param #string EscortBriefing A text showing the ESCORT briefing to the player. Note that if no EscortBriefing is provided, the default briefing will be shown. +-- @return #ESCORT self +-- @usage +-- -- Declare a new EscortPlanes object as follows: +-- +-- -- First find the GROUP object and the CLIENT object. +-- local EscortClient = CLIENT:FindByName( "Unit Name" ) -- The Unit Name is the name of the unit flagged with the skill Client in the mission editor. +-- local EscortGroup = GROUP:FindByName( "Group Name" ) -- The Group Name is the name of the group that will escort the Escort Client. +-- +-- -- Now use these 2 objects to construct the new EscortPlanes object. +-- EscortPlanes = ESCORT:New( EscortClient, EscortGroup, "Desert", "Welcome to the mission. You are escorted by a plane with code name 'Desert', which can be instructed through the F10 radio menu." ) +function ESCORT:New( EscortClient, EscortGroup, EscortName, EscortBriefing ) + + local self = BASE:Inherit( self, BASE:New() ) -- #ESCORT + self:F( { EscortClient, EscortGroup, EscortName } ) + + self.EscortClient = EscortClient -- Wrapper.Client#CLIENT + self.EscortGroup = EscortGroup -- Wrapper.Group#GROUP + self.EscortName = EscortName + self.EscortBriefing = EscortBriefing + + self.EscortSetGroup = SET_GROUP:New() + self.EscortSetGroup:AddObject( self.EscortGroup ) + self.EscortSetGroup:Flush() + self.Detection = DETECTION_UNITS:New( self.EscortSetGroup, 15000 ) + + self.EscortGroup.Detection = self.Detection + + -- Set EscortGroup known at EscortClient. + if not self.EscortClient._EscortGroups then + self.EscortClient._EscortGroups = {} + end + + if not self.EscortClient._EscortGroups[EscortGroup:GetName()] then + self.EscortClient._EscortGroups[EscortGroup:GetName()] = {} + self.EscortClient._EscortGroups[EscortGroup:GetName()].EscortGroup = self.EscortGroup + self.EscortClient._EscortGroups[EscortGroup:GetName()].EscortName = self.EscortName + self.EscortClient._EscortGroups[EscortGroup:GetName()].Detection = self.EscortGroup.Detection + end + + self.EscortMenu = MENU_CLIENT:New( self.EscortClient, self.EscortName ) + + self.EscortGroup:WayPointInitialize(1) + + self.EscortGroup:OptionROTVertical() + self.EscortGroup:OptionROEOpenFire() + + if not EscortBriefing then + EscortGroup:MessageToClient( EscortGroup:GetCategoryName() .. " '" .. EscortName .. "' (" .. EscortGroup:GetCallsign() .. ") reporting! " .. + "We're escorting your flight. " .. + "Use the Radio Menu and F10 and use the options under + " .. EscortName .. "\n", + 60, EscortClient + ) + else + EscortGroup:MessageToClient( EscortGroup:GetCategoryName() .. " '" .. EscortName .. "' (" .. EscortGroup:GetCallsign() .. ") " .. EscortBriefing, + 60, EscortClient + ) + end + + self.FollowDistance = 100 + self.CT1 = 0 + self.GT1 = 0 + + self.FollowScheduler, self.FollowSchedule = SCHEDULER:New( self, self._FollowScheduler, {}, 1, .5, .01 ) + self.FollowScheduler:Stop( self.FollowSchedule ) + + self.EscortMode = ESCORT.MODE.MISSION + + + return self +end + +--- Set a Detection method for the EscortClient to be reported upon. +-- Detection methods are based on the derived classes from DETECTION_BASE. +-- @param #ESCORT self +-- @param Function.Detection#DETECTION_BASE Detection +function ESCORT:SetDetection( Detection ) + + self.Detection = Detection + self.EscortGroup.Detection = self.Detection + self.EscortClient._EscortGroups[self.EscortGroup:GetName()].Detection = self.EscortGroup.Detection + + Detection:__Start( 1 ) + +end + +--- This function is for test, it will put on the frequency of the FollowScheduler a red smoke at the direction vector calculated for the escort to fly to. +-- This allows to visualize where the escort is flying to. +-- @param #ESCORT self +-- @param #boolean SmokeDirection If true, then the direction vector will be smoked. +function ESCORT:TestSmokeDirectionVector( SmokeDirection ) + self.SmokeDirectionVector = ( SmokeDirection == true ) and true or false +end + + +--- Defines the default menus +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:Menus() + self:F() + + self:MenuFollowAt( 100 ) + self:MenuFollowAt( 200 ) + self:MenuFollowAt( 300 ) + self:MenuFollowAt( 400 ) + + self:MenuScanForTargets( 100, 60 ) + + self:MenuHoldAtEscortPosition( 30 ) + self:MenuHoldAtLeaderPosition( 30 ) + + self:MenuFlare() + self:MenuSmoke() + + self:MenuReportTargets( 60 ) + self:MenuAssistedAttack() + self:MenuROE() + self:MenuEvasion() + self:MenuResumeMission() + + + return self +end + + + +--- Defines a menu slot to let the escort Join and Follow you at a certain distance. +-- This menu will appear under **Navigation**. +-- @param #ESCORT self +-- @param Dcs.DCSTypes#Distance Distance The distance in meters that the escort needs to follow the client. +-- @return #ESCORT +function ESCORT:MenuFollowAt( Distance ) + self:F(Distance) + + if self.EscortGroup:IsAir() then + if not self.EscortMenuReportNavigation then + self.EscortMenuReportNavigation = MENU_CLIENT:New( self.EscortClient, "Navigation", self.EscortMenu ) + end + + if not self.EscortMenuJoinUpAndFollow then + self.EscortMenuJoinUpAndFollow = {} + end + + self.EscortMenuJoinUpAndFollow[#self.EscortMenuJoinUpAndFollow+1] = MENU_CLIENT_COMMAND:New( self.EscortClient, "Join-Up and Follow at " .. Distance, self.EscortMenuReportNavigation, ESCORT._JoinUpAndFollow, self, Distance ) + + self.EscortMode = ESCORT.MODE.FOLLOW + end + + return self +end + +--- Defines a menu slot to let the escort hold at their current position and stay low with a specified height during a specified time in seconds. +-- This menu will appear under **Hold position**. +-- @param #ESCORT self +-- @param Dcs.DCSTypes#Distance Height Optional parameter that sets the height in meters to let the escort orbit at the current location. The default value is 30 meters. +-- @param Dcs.DCSTypes#Time Seconds Optional parameter that lets the escort orbit at the current position for a specified time. (not implemented yet). The default value is 0 seconds, meaning, that the escort will orbit forever until a sequent command is given. +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. The text string is formatted, and should contain two %d tokens in the string. The first for the Height, the second for the Time (if given). If no text is given, the default text will be displayed. +-- @return #ESCORT +-- TODO: Implement Seconds parameter. Challenge is to first develop the "continue from last activity" function. +function ESCORT:MenuHoldAtEscortPosition( Height, Seconds, MenuTextFormat ) + self:F( { Height, Seconds, MenuTextFormat } ) + + if self.EscortGroup:IsAir() then + + if not self.EscortMenuHold then + self.EscortMenuHold = MENU_CLIENT:New( self.EscortClient, "Hold position", self.EscortMenu ) + end + + if not Height then + Height = 30 + end + + if not Seconds then + Seconds = 0 + end + + local MenuText = "" + if not MenuTextFormat then + if Seconds == 0 then + MenuText = string.format( "Hold at %d meter", Height ) + else + MenuText = string.format( "Hold at %d meter for %d seconds", Height, Seconds ) + end + else + if Seconds == 0 then + MenuText = string.format( MenuTextFormat, Height ) + else + MenuText = string.format( MenuTextFormat, Height, Seconds ) + end + end + + if not self.EscortMenuHoldPosition then + self.EscortMenuHoldPosition = {} + end + + self.EscortMenuHoldPosition[#self.EscortMenuHoldPosition+1] = MENU_CLIENT_COMMAND + :New( + self.EscortClient, + MenuText, + self.EscortMenuHold, + ESCORT._HoldPosition, + self, + self.EscortGroup, + Height, + Seconds + ) + end + + return self +end + + +--- Defines a menu slot to let the escort hold at the client position and stay low with a specified height during a specified time in seconds. +-- This menu will appear under **Navigation**. +-- @param #ESCORT self +-- @param Dcs.DCSTypes#Distance Height Optional parameter that sets the height in meters to let the escort orbit at the current location. The default value is 30 meters. +-- @param Dcs.DCSTypes#Time Seconds Optional parameter that lets the escort orbit at the current position for a specified time. (not implemented yet). The default value is 0 seconds, meaning, that the escort will orbit forever until a sequent command is given. +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. The text string is formatted, and should contain one or two %d tokens in the string. The first for the Height, the second for the Time (if given). If no text is given, the default text will be displayed. +-- @return #ESCORT +-- TODO: Implement Seconds parameter. Challenge is to first develop the "continue from last activity" function. +function ESCORT:MenuHoldAtLeaderPosition( Height, Seconds, MenuTextFormat ) + self:F( { Height, Seconds, MenuTextFormat } ) + + if self.EscortGroup:IsAir() then + + if not self.EscortMenuHold then + self.EscortMenuHold = MENU_CLIENT:New( self.EscortClient, "Hold position", self.EscortMenu ) + end + + if not Height then + Height = 30 + end + + if not Seconds then + Seconds = 0 + end + + local MenuText = "" + if not MenuTextFormat then + if Seconds == 0 then + MenuText = string.format( "Rejoin and hold at %d meter", Height ) + else + MenuText = string.format( "Rejoin and hold at %d meter for %d seconds", Height, Seconds ) + end + else + if Seconds == 0 then + MenuText = string.format( MenuTextFormat, Height ) + else + MenuText = string.format( MenuTextFormat, Height, Seconds ) + end + end + + if not self.EscortMenuHoldAtLeaderPosition then + self.EscortMenuHoldAtLeaderPosition = {} + end + + self.EscortMenuHoldAtLeaderPosition[#self.EscortMenuHoldAtLeaderPosition+1] = MENU_CLIENT_COMMAND + :New( + self.EscortClient, + MenuText, + self.EscortMenuHold, + ESCORT._HoldPosition, + { ParamSelf = self, + ParamOrbitGroup = self.EscortClient, + ParamHeight = Height, + ParamSeconds = Seconds + } + ) + end + + return self +end + +--- Defines a menu slot to let the escort scan for targets at a certain height for a certain time in seconds. +-- This menu will appear under **Scan targets**. +-- @param #ESCORT self +-- @param Dcs.DCSTypes#Distance Height Optional parameter that sets the height in meters to let the escort orbit at the current location. The default value is 30 meters. +-- @param Dcs.DCSTypes#Time Seconds Optional parameter that lets the escort orbit at the current position for a specified time. (not implemented yet). The default value is 0 seconds, meaning, that the escort will orbit forever until a sequent command is given. +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. The text string is formatted, and should contain one or two %d tokens in the string. The first for the Height, the second for the Time (if given). If no text is given, the default text will be displayed. +-- @return #ESCORT +function ESCORT:MenuScanForTargets( Height, Seconds, MenuTextFormat ) + self:F( { Height, Seconds, MenuTextFormat } ) + + if self.EscortGroup:IsAir() then + if not self.EscortMenuScan then + self.EscortMenuScan = MENU_CLIENT:New( self.EscortClient, "Scan for targets", self.EscortMenu ) + end + + if not Height then + Height = 100 + end + + if not Seconds then + Seconds = 30 + end + + local MenuText = "" + if not MenuTextFormat then + if Seconds == 0 then + MenuText = string.format( "At %d meter", Height ) + else + MenuText = string.format( "At %d meter for %d seconds", Height, Seconds ) + end + else + if Seconds == 0 then + MenuText = string.format( MenuTextFormat, Height ) + else + MenuText = string.format( MenuTextFormat, Height, Seconds ) + end + end + + if not self.EscortMenuScanForTargets then + self.EscortMenuScanForTargets = {} + end + + self.EscortMenuScanForTargets[#self.EscortMenuScanForTargets+1] = MENU_CLIENT_COMMAND + :New( + self.EscortClient, + MenuText, + self.EscortMenuScan, + ESCORT._ScanTargets, + self, + 30 + ) + end + + return self +end + + + +--- Defines a menu slot to let the escort disperse a flare in a certain color. +-- This menu will appear under **Navigation**. +-- The flare will be fired from the first unit in the group. +-- @param #ESCORT self +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. If no text is given, the default text will be displayed. +-- @return #ESCORT +function ESCORT:MenuFlare( MenuTextFormat ) + self:F() + + if not self.EscortMenuReportNavigation then + self.EscortMenuReportNavigation = MENU_CLIENT:New( self.EscortClient, "Navigation", self.EscortMenu ) + end + + local MenuText = "" + if not MenuTextFormat then + MenuText = "Flare" + else + MenuText = MenuTextFormat + end + + if not self.EscortMenuFlare then + self.EscortMenuFlare = MENU_CLIENT:New( self.EscortClient, MenuText, self.EscortMenuReportNavigation, ESCORT._Flare, self ) + self.EscortMenuFlareGreen = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release green flare", self.EscortMenuFlare, ESCORT._Flare, self, FLARECOLOR.Green, "Released a green flare!" ) + self.EscortMenuFlareRed = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release red flare", self.EscortMenuFlare, ESCORT._Flare, self, FLARECOLOR.Red, "Released a red flare!" ) + self.EscortMenuFlareWhite = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release white flare", self.EscortMenuFlare, ESCORT._Flare, self, FLARECOLOR.White, "Released a white flare!" ) + self.EscortMenuFlareYellow = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release yellow flare", self.EscortMenuFlare, ESCORT._Flare, self, FLARECOLOR.Yellow, "Released a yellow flare!" ) + end + + return self +end + +--- Defines a menu slot to let the escort disperse a smoke in a certain color. +-- This menu will appear under **Navigation**. +-- Note that smoke menu options will only be displayed for ships and ground units. Not for air units. +-- The smoke will be fired from the first unit in the group. +-- @param #ESCORT self +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. If no text is given, the default text will be displayed. +-- @return #ESCORT +function ESCORT:MenuSmoke( MenuTextFormat ) + self:F() + + if not self.EscortGroup:IsAir() then + if not self.EscortMenuReportNavigation then + self.EscortMenuReportNavigation = MENU_CLIENT:New( self.EscortClient, "Navigation", self.EscortMenu ) + end + + local MenuText = "" + if not MenuTextFormat then + MenuText = "Smoke" + else + MenuText = MenuTextFormat + end + + if not self.EscortMenuSmoke then + self.EscortMenuSmoke = MENU_CLIENT:New( self.EscortClient, "Smoke", self.EscortMenuReportNavigation, ESCORT._Smoke, self ) + self.EscortMenuSmokeGreen = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release green smoke", self.EscortMenuSmoke, ESCORT._Smoke, self, SMOKECOLOR.Green, "Releasing green smoke!" ) + self.EscortMenuSmokeRed = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release red smoke", self.EscortMenuSmoke, ESCORT._Smoke, self, SMOKECOLOR.Red, "Releasing red smoke!" ) + self.EscortMenuSmokeWhite = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release white smoke", self.EscortMenuSmoke, ESCORT._Smoke, self, SMOKECOLOR.White, "Releasing white smoke!" ) + self.EscortMenuSmokeOrange = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release orange smoke", self.EscortMenuSmoke, ESCORT._Smoke, self, SMOKECOLOR.Orange, "Releasing orange smoke!" ) + self.EscortMenuSmokeBlue = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release blue smoke", self.EscortMenuSmoke, ESCORT._Smoke, self, SMOKECOLOR.Blue, "Releasing blue smoke!" ) + end + end + + return self +end + +--- Defines a menu slot to let the escort report their current detected targets with a specified time interval in seconds. +-- This menu will appear under **Report targets**. +-- Note that if a report targets menu is not specified, no targets will be detected by the escort, and the attack and assisted attack menus will not be displayed. +-- @param #ESCORT self +-- @param Dcs.DCSTypes#Time Seconds Optional parameter that lets the escort report their current detected targets after specified time interval in seconds. The default time is 30 seconds. +-- @return #ESCORT +function ESCORT:MenuReportTargets( Seconds ) + self:F( { Seconds } ) + + if not self.EscortMenuReportNearbyTargets then + self.EscortMenuReportNearbyTargets = MENU_CLIENT:New( self.EscortClient, "Report targets", self.EscortMenu ) + end + + if not Seconds then + Seconds = 30 + end + + -- Report Targets + self.EscortMenuReportNearbyTargetsNow = MENU_CLIENT_COMMAND:New( self.EscortClient, "Report targets now!", self.EscortMenuReportNearbyTargets, ESCORT._ReportNearbyTargetsNow, self ) + self.EscortMenuReportNearbyTargetsOn = MENU_CLIENT_COMMAND:New( self.EscortClient, "Report targets on", self.EscortMenuReportNearbyTargets, ESCORT._SwitchReportNearbyTargets, self, true ) + self.EscortMenuReportNearbyTargetsOff = MENU_CLIENT_COMMAND:New( self.EscortClient, "Report targets off", self.EscortMenuReportNearbyTargets, ESCORT._SwitchReportNearbyTargets, self, false ) + + -- Attack Targets + self.EscortMenuAttackNearbyTargets = MENU_CLIENT:New( self.EscortClient, "Attack targets", self.EscortMenu ) + + + self.ReportTargetsScheduler = SCHEDULER:New( self, self._ReportTargetsScheduler, {}, 1, Seconds ) + + return self +end + +--- Defines a menu slot to let the escort attack its detected targets using assisted attack from another escort joined also with the client. +-- This menu will appear under **Request assistance from**. +-- Note that this method needs to be preceded with the method MenuReportTargets. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuAssistedAttack() + self:F() + + -- Request assistance from other escorts. + -- This is very useful to let f.e. an escorting ship attack a target detected by an escorting plane... + self.EscortMenuTargetAssistance = MENU_CLIENT:New( self.EscortClient, "Request assistance from", self.EscortMenu ) + + return self +end + +--- Defines a menu to let the escort set its rules of engagement. +-- All rules of engagement will appear under the menu **ROE**. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuROE( MenuTextFormat ) + self:F( MenuTextFormat ) + + if not self.EscortMenuROE then + -- Rules of Engagement + self.EscortMenuROE = MENU_CLIENT:New( self.EscortClient, "ROE", self.EscortMenu ) + if self.EscortGroup:OptionROEHoldFirePossible() then + self.EscortMenuROEHoldFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Hold Fire", self.EscortMenuROE, ESCORT._ROE, self, self.EscortGroup:OptionROEHoldFire(), "Holding weapons!" ) + end + if self.EscortGroup:OptionROEReturnFirePossible() then + self.EscortMenuROEReturnFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Return Fire", self.EscortMenuROE, ESCORT._ROE, self, self.EscortGroup:OptionROEReturnFire(), "Returning fire!" ) + end + if self.EscortGroup:OptionROEOpenFirePossible() then + self.EscortMenuROEOpenFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Open Fire", self.EscortMenuROE, ESCORT._ROE, self, self.EscortGroup:OptionROEOpenFire(), "Opening fire on designated targets!!" ) + end + if self.EscortGroup:OptionROEWeaponFreePossible() then + self.EscortMenuROEWeaponFree = MENU_CLIENT_COMMAND:New( self.EscortClient, "Weapon Free", self.EscortMenuROE, ESCORT._ROE, self, self.EscortGroup:OptionROEWeaponFree(), "Opening fire on targets of opportunity!" ) + end + end + + return self +end + + +--- Defines a menu to let the escort set its evasion when under threat. +-- All rules of engagement will appear under the menu **Evasion**. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuEvasion( MenuTextFormat ) + self:F( MenuTextFormat ) + + if self.EscortGroup:IsAir() then + if not self.EscortMenuEvasion then + -- Reaction to Threats + self.EscortMenuEvasion = MENU_CLIENT:New( self.EscortClient, "Evasion", self.EscortMenu ) + if self.EscortGroup:OptionROTNoReactionPossible() then + self.EscortMenuEvasionNoReaction = MENU_CLIENT_COMMAND:New( self.EscortClient, "Fight until death", self.EscortMenuEvasion, ESCORT._ROT, self, self.EscortGroup:OptionROTNoReaction(), "Fighting until death!" ) + end + if self.EscortGroup:OptionROTPassiveDefensePossible() then + self.EscortMenuEvasionPassiveDefense = MENU_CLIENT_COMMAND:New( self.EscortClient, "Use flares, chaff and jammers", self.EscortMenuEvasion, ESCORT._ROT, self, self.EscortGroup:OptionROTPassiveDefense(), "Defending using jammers, chaff and flares!" ) + end + if self.EscortGroup:OptionROTEvadeFirePossible() then + self.EscortMenuEvasionEvadeFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Evade enemy fire", self.EscortMenuEvasion, ESCORT._ROT, self, self.EscortGroup:OptionROTEvadeFire(), "Evading on enemy fire!" ) + end + if self.EscortGroup:OptionROTVerticalPossible() then + self.EscortMenuOptionEvasionVertical = MENU_CLIENT_COMMAND:New( self.EscortClient, "Go below radar and evade fire", self.EscortMenuEvasion, ESCORT._ROT, self, self.EscortGroup:OptionROTVertical(), "Evading on enemy fire with vertical manoeuvres!" ) + end + end + end + + return self +end + +--- Defines a menu to let the escort resume its mission from a waypoint on its route. +-- All rules of engagement will appear under the menu **Resume mission from**. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuResumeMission() + self:F() + + if not self.EscortMenuResumeMission then + -- Mission Resume Menu Root + self.EscortMenuResumeMission = MENU_CLIENT:New( self.EscortClient, "Resume mission from", self.EscortMenu ) + end + + return self +end + + +--- @param #MENUPARAM MenuParam +function ESCORT:_HoldPosition( OrbitGroup, OrbitHeight, OrbitSeconds ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local OrbitUnit = OrbitGroup:GetUnit(1) -- Wrapper.Unit#UNIT + + self.FollowScheduler:Stop( self.FollowSchedule ) + + local PointFrom = {} + local GroupVec3 = EscortGroup:GetUnit(1):GetVec3() + PointFrom = {} + PointFrom.x = GroupVec3.x + PointFrom.y = GroupVec3.z + PointFrom.speed = 250 + PointFrom.type = AI.Task.WaypointType.TURNING_POINT + PointFrom.alt = GroupVec3.y + PointFrom.alt_type = AI.Task.AltitudeType.BARO + + local OrbitPoint = OrbitUnit:GetVec2() + local PointTo = {} + PointTo.x = OrbitPoint.x + PointTo.y = OrbitPoint.y + PointTo.speed = 250 + PointTo.type = AI.Task.WaypointType.TURNING_POINT + PointTo.alt = OrbitHeight + PointTo.alt_type = AI.Task.AltitudeType.BARO + PointTo.task = EscortGroup:TaskOrbitCircleAtVec2( OrbitPoint, OrbitHeight, 0 ) + + local Points = { PointFrom, PointTo } + + EscortGroup:OptionROEHoldFire() + EscortGroup:OptionROTPassiveDefense() + + EscortGroup:SetTask( EscortGroup:TaskRoute( Points ) ) + EscortGroup:MessageToClient( "Orbiting at location.", 10, EscortClient ) + +end + +--- @param #MENUPARAM MenuParam +function ESCORT:_JoinUpAndFollow( Distance ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self.Distance = Distance + + self:JoinUpAndFollow( EscortGroup, EscortClient, self.Distance ) +end + +--- JoinsUp and Follows a CLIENT. +-- @param Functional.Escort#ESCORT self +-- @param Wrapper.Group#GROUP EscortGroup +-- @param Wrapper.Client#CLIENT EscortClient +-- @param Dcs.DCSTypes#Distance Distance +function ESCORT:JoinUpAndFollow( EscortGroup, EscortClient, Distance ) + self:F( { EscortGroup, EscortClient, Distance } ) + + self.FollowScheduler:Stop( self.FollowSchedule ) + + EscortGroup:OptionROEHoldFire() + EscortGroup:OptionROTPassiveDefense() + + self.EscortMode = ESCORT.MODE.FOLLOW + + self.CT1 = 0 + self.GT1 = 0 + self.FollowScheduler:Start( self.FollowSchedule ) + + EscortGroup:MessageToClient( "Rejoining and Following at " .. Distance .. "!", 30, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT:_Flare( Color, Message ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + EscortGroup:GetUnit(1):Flare( Color ) + EscortGroup:MessageToClient( Message, 10, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT:_Smoke( Color, Message ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + EscortGroup:GetUnit(1):Smoke( Color ) + EscortGroup:MessageToClient( Message, 10, EscortClient ) +end + + +--- @param #MENUPARAM MenuParam +function ESCORT:_ReportNearbyTargetsNow() + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self:_ReportTargetsScheduler() + +end + +function ESCORT:_SwitchReportNearbyTargets( ReportTargets ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self.ReportTargets = ReportTargets + + if self.ReportTargets then + if not self.ReportTargetsScheduler then + self.ReportTargetsScheduler:Schedule( self, self._ReportTargetsScheduler, {}, 1, 30 ) + end + else + routines.removeFunction( self.ReportTargetsScheduler ) + self.ReportTargetsScheduler = nil + end +end + +--- @param #MENUPARAM MenuParam +function ESCORT:_ScanTargets( ScanDuration ) + + local EscortGroup = self.EscortGroup -- Wrapper.Group#GROUP + local EscortClient = self.EscortClient + + self.FollowScheduler:Stop( self.FollowSchedule ) + + if EscortGroup:IsHelicopter() then + EscortGroup:PushTask( + EscortGroup:TaskControlled( + EscortGroup:TaskOrbitCircle( 200, 20 ), + EscortGroup:TaskCondition( nil, nil, nil, nil, ScanDuration, nil ) + ), 1 ) + elseif EscortGroup:IsAirPlane() then + EscortGroup:PushTask( + EscortGroup:TaskControlled( + EscortGroup:TaskOrbitCircle( 1000, 500 ), + EscortGroup:TaskCondition( nil, nil, nil, nil, ScanDuration, nil ) + ), 1 ) + end + + EscortGroup:MessageToClient( "Scanning targets for " .. ScanDuration .. " seconds.", ScanDuration, EscortClient ) + + if self.EscortMode == ESCORT.MODE.FOLLOW then + self.FollowScheduler:Start( self.FollowSchedule ) + end + +end + +--- @param Wrapper.Group#GROUP EscortGroup +function _Resume( EscortGroup ) + env.info( '_Resume' ) + + local Escort = EscortGroup:GetState( EscortGroup, "Escort" ) + env.info( "EscortMode = " .. Escort.EscortMode ) + if Escort.EscortMode == ESCORT.MODE.FOLLOW then + Escort:JoinUpAndFollow( EscortGroup, Escort.EscortClient, Escort.Distance ) + end + +end + +--- @param #ESCORT self +-- @param #number DetectedItemID +function ESCORT:_AttackTarget( DetectedItemID ) + + local EscortGroup = self.EscortGroup -- Wrapper.Group#GROUP + self:E( EscortGroup ) + + local EscortClient = self.EscortClient + + self.FollowScheduler:Stop( self.FollowSchedule ) + + if EscortGroup:IsAir() then + EscortGroup:OptionROEOpenFire() + EscortGroup:OptionROTPassiveDefense() + EscortGroup:SetState( EscortGroup, "Escort", self ) + + local DetectedSet = self.Detection:GetDetectedSet( DetectedItemID ) + + local Tasks = {} + + DetectedSet:ForEachUnit( + --- @param Wrapper.Unit#UNIT DetectedUnit + function( DetectedUnit, Tasks ) + if DetectedUnit:IsAlive() then + Tasks[#Tasks+1] = EscortGroup:TaskAttackUnit( DetectedUnit ) + end + end, Tasks + ) + + Tasks[#Tasks+1] = EscortGroup:TaskFunction( 1, 2, "_Resume", { "''" } ) + + EscortGroup:SetTask( + EscortGroup:TaskCombo( + Tasks + ), 1 + ) + + else + + local DetectedSet = self.Detection:GetDetectedSet( DetectedItemID ) + + local Tasks = {} + + DetectedSet:ForEachUnit( + --- @param Wrapper.Unit#UNIT DetectedUnit + function( DetectedUnit, Tasks ) + if DetectedUnit:IsAlive() then + Tasks[#Tasks+1] = EscortGroup:TaskFireAtPoint( DetectedUnit:GetVec2(), 50 ) + end + end, Tasks + ) + + EscortGroup:SetTask( + EscortGroup:TaskCombo( + Tasks + ), 1 + ) + + end + + EscortGroup:MessageToClient( "Engaging Designated Unit!", 10, EscortClient ) + +end + +--- +-- @param #number DetectedItemID +function ESCORT:_AssistTarget( EscortGroupAttack, DetectedItemID ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self.FollowScheduler:Stop( self.FollowSchedule ) + + if EscortGroupAttack:IsAir() then + EscortGroupAttack:OptionROEOpenFire() + EscortGroupAttack:OptionROTVertical() + + local DetectedSet = self.Detection:GetDetectedSet( DetectedItemID ) + + local Tasks = {} + + DetectedSet:ForEachUnit( + --- @param Wrapper.Unit#UNIT DetectedUnit + function( DetectedUnit, Tasks ) + if DetectedUnit:IsAlive() then + Tasks[#Tasks+1] = EscortGroupAttack:TaskAttackUnit( DetectedUnit ) + end + end, Tasks + ) + + Tasks[#Tasks+1] = EscortGroupAttack:TaskOrbitCircle( 500, 350 ) + + EscortGroupAttack:SetTask( + EscortGroupAttack:TaskCombo( + Tasks + ), 1 + ) + + else + local DetectedSet = self.Detection:GetDetectedSet( DetectedItemID ) + + local Tasks = {} + + DetectedSet:ForEachUnit( + --- @param Wrapper.Unit#UNIT DetectedUnit + function( DetectedUnit, Tasks ) + if DetectedUnit:IsAlive() then + Tasks[#Tasks+1] = EscortGroupAttack:TaskFireAtPoint( DetectedUnit:GetVec2(), 50 ) + end + end, Tasks + ) + + EscortGroupAttack:SetTask( + EscortGroupAttack:TaskCombo( + Tasks + ), 1 + ) + + end + + EscortGroupAttack:MessageToClient( "Assisting with the destroying the enemy unit!", 10, EscortClient ) + +end + +--- @param #MENUPARAM MenuParam +function ESCORT:_ROE( EscortROEFunction, EscortROEMessage ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + pcall( function() EscortROEFunction() end ) + EscortGroup:MessageToClient( EscortROEMessage, 10, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT:_ROT( EscortROTFunction, EscortROTMessage ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + pcall( function() EscortROTFunction() end ) + EscortGroup:MessageToClient( EscortROTMessage, 10, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT:_ResumeMission( WayPoint ) + + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self.FollowScheduler:Stop( self.FollowSchedule ) + + local WayPoints = EscortGroup:GetTaskRoute() + self:T( WayPoint, WayPoints ) + + for WayPointIgnore = 1, WayPoint do + table.remove( WayPoints, 1 ) + end + + SCHEDULER:New( EscortGroup, EscortGroup.SetTask, { EscortGroup:TaskRoute( WayPoints ) }, 1 ) + + EscortGroup:MessageToClient( "Resuming mission from waypoint " .. WayPoint .. ".", 10, EscortClient ) +end + +--- Registers the waypoints +-- @param #ESCORT self +-- @return #table +function ESCORT:RegisterRoute() + self:F() + + local EscortGroup = self.EscortGroup -- Wrapper.Group#GROUP + + local TaskPoints = EscortGroup:GetTaskRoute() + + self:T( TaskPoints ) + + return TaskPoints +end + +--- @param Functional.Escort#ESCORT self +function ESCORT:_FollowScheduler() + self:F( { self.FollowDistance } ) + + self:T( {self.EscortClient.UnitName, self.EscortGroup.GroupName } ) + if self.EscortGroup:IsAlive() and self.EscortClient:IsAlive() then + + local ClientUnit = self.EscortClient:GetClientGroupUnit() + local GroupUnit = self.EscortGroup:GetUnit( 1 ) + local FollowDistance = self.FollowDistance + + self:T( {ClientUnit.UnitName, GroupUnit.UnitName } ) + + if self.CT1 == 0 and self.GT1 == 0 then + self.CV1 = ClientUnit:GetVec3() + self:T( { "self.CV1", self.CV1 } ) + self.CT1 = timer.getTime() + self.GV1 = GroupUnit:GetVec3() + self.GT1 = timer.getTime() + else + local CT1 = self.CT1 + local CT2 = timer.getTime() + local CV1 = self.CV1 + local CV2 = ClientUnit:GetVec3() + self.CT1 = CT2 + self.CV1 = CV2 + + local CD = ( ( CV2.x - CV1.x )^2 + ( CV2.y - CV1.y )^2 + ( CV2.z - CV1.z )^2 ) ^ 0.5 + local CT = CT2 - CT1 + + local CS = ( 3600 / CT ) * ( CD / 1000 ) + + self:T2( { "Client:", CS, CD, CT, CV2, CV1, CT2, CT1 } ) + + local GT1 = self.GT1 + local GT2 = timer.getTime() + local GV1 = self.GV1 + local GV2 = GroupUnit:GetVec3() + self.GT1 = GT2 + self.GV1 = GV2 + + local GD = ( ( GV2.x - GV1.x )^2 + ( GV2.y - GV1.y )^2 + ( GV2.z - GV1.z )^2 ) ^ 0.5 + local GT = GT2 - GT1 + + local GS = ( 3600 / GT ) * ( GD / 1000 ) + + self:T2( { "Group:", GS, GD, GT, GV2, GV1, GT2, GT1 } ) + + -- Calculate the group direction vector + local GV = { x = GV2.x - CV2.x, y = GV2.y - CV2.y, z = GV2.z - CV2.z } + + -- Calculate GH2, GH2 with the same height as CV2. + local GH2 = { x = GV2.x, y = CV2.y, z = GV2.z } + + -- Calculate the angle of GV to the orthonormal plane + local alpha = math.atan2( GV.z, GV.x ) + + -- Now we calculate the intersecting vector between the circle around CV2 with radius FollowDistance and GH2. + -- From the GeoGebra model: CVI = (x(CV2) + FollowDistance cos(alpha), y(GH2) + FollowDistance sin(alpha), z(CV2)) + local CVI = { x = CV2.x + FollowDistance * math.cos(alpha), + y = GH2.y, + z = CV2.z + FollowDistance * math.sin(alpha), + } + + -- Calculate the direction vector DV of the escort group. We use CVI as the base and CV2 as the direction. + local DV = { x = CV2.x - CVI.x, y = CV2.y - CVI.y, z = CV2.z - CVI.z } + + -- We now calculate the unary direction vector DVu, so that we can multiply DVu with the speed, which is expressed in meters / s. + -- We need to calculate this vector to predict the point the escort group needs to fly to according its speed. + -- The distance of the destination point should be far enough not to have the aircraft starting to swipe left to right... + local DVu = { x = DV.x / FollowDistance, y = DV.y / FollowDistance, z = DV.z / FollowDistance } + + -- Now we can calculate the group destination vector GDV. + local GDV = { x = DVu.x * CS * 8 + CVI.x, y = CVI.y, z = DVu.z * CS * 8 + CVI.z } + + if self.SmokeDirectionVector == true then + trigger.action.smoke( GDV, trigger.smokeColor.Red ) + end + + self:T2( { "CV2:", CV2 } ) + self:T2( { "CVI:", CVI } ) + self:T2( { "GDV:", GDV } ) + + -- Measure distance between client and group + local CatchUpDistance = ( ( GDV.x - GV2.x )^2 + ( GDV.y - GV2.y )^2 + ( GDV.z - GV2.z )^2 ) ^ 0.5 + + -- The calculation of the Speed would simulate that the group would take 30 seconds to overcome + -- the requested Distance). + local Time = 10 + local CatchUpSpeed = ( CatchUpDistance - ( CS * 8.4 ) ) / Time + + local Speed = CS + CatchUpSpeed + if Speed < 0 then + Speed = 0 + end + + self:T( { "Client Speed, Escort Speed, Speed, FollowDistance, Time:", CS, GS, Speed, FollowDistance, Time } ) + + -- Now route the escort to the desired point with the desired speed. + self.EscortGroup:RouteToVec3( GDV, Speed / 3.6 ) -- DCS models speed in Mps (Miles per second) + end + + return true + end + + return false +end + + +--- Report Targets Scheduler. +-- @param #ESCORT self +function ESCORT:_ReportTargetsScheduler() + self:F( self.EscortGroup:GetName() ) + + if self.EscortGroup:IsAlive() and self.EscortClient:IsAlive() then + + if true then + + local EscortGroupName = self.EscortGroup:GetName() + + self.EscortMenuAttackNearbyTargets:RemoveSubMenus() + + if self.EscortMenuTargetAssistance then + self.EscortMenuTargetAssistance:RemoveSubMenus() + end + + local DetectedItems = self.Detection:GetDetectedItems() + self:E( DetectedItems ) + + local DetectedTargets = false + + local DetectedMsgs = {} + + for ClientEscortGroupName, EscortGroupData in pairs( self.EscortClient._EscortGroups ) do + + local ClientEscortTargets = EscortGroupData.Detection + + for DetectedItemID, DetectedItem in ipairs( DetectedItems ) do + self:E( { DetectedItemID, DetectedItem } ) + -- Remove the sub menus of the Attack menu of the Escort for the EscortGroup. + + local DetectedItemReportSummary = self.Detection:DetectedItemReportSummary( DetectedItemID ) + + if ClientEscortGroupName == EscortGroupName then + + DetectedMsgs[#DetectedMsgs+1] = DetectedItemReportSummary + + MENU_CLIENT_COMMAND:New( self.EscortClient, + DetectedItemReportSummary, + self.EscortMenuAttackNearbyTargets, + ESCORT._AttackTarget, + self, + DetectedItemID + ) + else + if self.EscortMenuTargetAssistance then + + self:T( DetectedItemReportSummary ) + local MenuTargetAssistance = MENU_CLIENT:New( self.EscortClient, EscortGroupData.EscortName, self.EscortMenuTargetAssistance ) + MENU_CLIENT_COMMAND:New( self.EscortClient, + DetectedItemReportSummary, + MenuTargetAssistance, + ESCORT._AssistTarget, + self, + EscortGroupData.EscortGroup, + DetectedItemID + ) + end + end + + DetectedTargets = true + + end + end + self:E( DetectedMsgs ) + if DetectedTargets then + self.EscortGroup:MessageToClient( "Detected targets:\n" .. table.concat( DetectedMsgs, "\n" ), 20, self.EscortClient ) + else + self.EscortGroup:MessageToClient( "No targets detected.", 10, self.EscortClient ) + end + + return true + else +-- local EscortGroupName = self.EscortGroup:GetName() +-- local EscortTargets = self.EscortGroup:GetDetectedTargets() +-- +-- local ClientEscortTargets = self.EscortClient._EscortGroups[EscortGroupName].Targets +-- +-- local EscortTargetMessages = "" +-- for EscortTargetID, EscortTarget in pairs( EscortTargets ) do +-- local EscortObject = EscortTarget.object +-- self:T( EscortObject ) +-- if EscortObject and EscortObject:isExist() and EscortObject.id_ < 50000000 then +-- +-- local EscortTargetUnit = UNIT:Find( EscortObject ) +-- local EscortTargetUnitName = EscortTargetUnit:GetName() +-- +-- +-- +-- -- local EscortTargetIsDetected, +-- -- EscortTargetIsVisible, +-- -- EscortTargetLastTime, +-- -- EscortTargetKnowType, +-- -- EscortTargetKnowDistance, +-- -- EscortTargetLastPos, +-- -- EscortTargetLastVelocity +-- -- = self.EscortGroup:IsTargetDetected( EscortObject ) +-- -- +-- -- self:T( { EscortTargetIsDetected, +-- -- EscortTargetIsVisible, +-- -- EscortTargetLastTime, +-- -- EscortTargetKnowType, +-- -- EscortTargetKnowDistance, +-- -- EscortTargetLastPos, +-- -- EscortTargetLastVelocity } ) +-- +-- +-- local EscortTargetUnitVec3 = EscortTargetUnit:GetVec3() +-- local EscortVec3 = self.EscortGroup:GetVec3() +-- local Distance = ( ( EscortTargetUnitVec3.x - EscortVec3.x )^2 + +-- ( EscortTargetUnitVec3.y - EscortVec3.y )^2 + +-- ( EscortTargetUnitVec3.z - EscortVec3.z )^2 +-- ) ^ 0.5 / 1000 +-- +-- self:T( { self.EscortGroup:GetName(), EscortTargetUnit:GetName(), Distance, EscortTarget } ) +-- +-- if Distance <= 15 then +-- +-- if not ClientEscortTargets[EscortTargetUnitName] then +-- ClientEscortTargets[EscortTargetUnitName] = {} +-- end +-- ClientEscortTargets[EscortTargetUnitName].AttackUnit = EscortTargetUnit +-- ClientEscortTargets[EscortTargetUnitName].visible = EscortTarget.visible +-- ClientEscortTargets[EscortTargetUnitName].type = EscortTarget.type +-- ClientEscortTargets[EscortTargetUnitName].distance = EscortTarget.distance +-- else +-- if ClientEscortTargets[EscortTargetUnitName] then +-- ClientEscortTargets[EscortTargetUnitName] = nil +-- end +-- end +-- end +-- end +-- +-- self:T( { "Sorting Targets Table:", ClientEscortTargets } ) +-- table.sort( ClientEscortTargets, function( a, b ) return a.Distance < b.Distance end ) +-- self:T( { "Sorted Targets Table:", ClientEscortTargets } ) +-- +-- -- Remove the sub menus of the Attack menu of the Escort for the EscortGroup. +-- self.EscortMenuAttackNearbyTargets:RemoveSubMenus() +-- +-- if self.EscortMenuTargetAssistance then +-- self.EscortMenuTargetAssistance:RemoveSubMenus() +-- end +-- +-- --for MenuIndex = 1, #self.EscortMenuAttackTargets do +-- -- self:T( { "Remove Menu:", self.EscortMenuAttackTargets[MenuIndex] } ) +-- -- self.EscortMenuAttackTargets[MenuIndex] = self.EscortMenuAttackTargets[MenuIndex]:Remove() +-- --end +-- +-- +-- if ClientEscortTargets then +-- for ClientEscortTargetUnitName, ClientEscortTargetData in pairs( ClientEscortTargets ) do +-- +-- for ClientEscortGroupName, EscortGroupData in pairs( self.EscortClient._EscortGroups ) do +-- +-- if ClientEscortTargetData and ClientEscortTargetData.AttackUnit:IsAlive() then +-- +-- local EscortTargetMessage = "" +-- local EscortTargetCategoryName = ClientEscortTargetData.AttackUnit:GetCategoryName() +-- local EscortTargetCategoryType = ClientEscortTargetData.AttackUnit:GetTypeName() +-- if ClientEscortTargetData.type then +-- EscortTargetMessage = EscortTargetMessage .. EscortTargetCategoryName .. " (" .. EscortTargetCategoryType .. ") at " +-- else +-- EscortTargetMessage = EscortTargetMessage .. "Unknown target at " +-- end +-- +-- local EscortTargetUnitVec3 = ClientEscortTargetData.AttackUnit:GetVec3() +-- local EscortVec3 = self.EscortGroup:GetVec3() +-- local Distance = ( ( EscortTargetUnitVec3.x - EscortVec3.x )^2 + +-- ( EscortTargetUnitVec3.y - EscortVec3.y )^2 + +-- ( EscortTargetUnitVec3.z - EscortVec3.z )^2 +-- ) ^ 0.5 / 1000 +-- +-- self:T( { self.EscortGroup:GetName(), ClientEscortTargetData.AttackUnit:GetName(), Distance, ClientEscortTargetData.AttackUnit } ) +-- if ClientEscortTargetData.visible == false then +-- EscortTargetMessage = EscortTargetMessage .. string.format( "%.2f", Distance ) .. " estimated km" +-- else +-- EscortTargetMessage = EscortTargetMessage .. string.format( "%.2f", Distance ) .. " km" +-- end +-- +-- if ClientEscortTargetData.visible then +-- EscortTargetMessage = EscortTargetMessage .. ", visual" +-- end +-- +-- if ClientEscortGroupName == EscortGroupName then +-- +-- MENU_CLIENT_COMMAND:New( self.EscortClient, +-- EscortTargetMessage, +-- self.EscortMenuAttackNearbyTargets, +-- ESCORT._AttackTarget, +-- { ParamSelf = self, +-- ParamUnit = ClientEscortTargetData.AttackUnit +-- } +-- ) +-- EscortTargetMessages = EscortTargetMessages .. "\n - " .. EscortTargetMessage +-- else +-- if self.EscortMenuTargetAssistance then +-- local MenuTargetAssistance = MENU_CLIENT:New( self.EscortClient, EscortGroupData.EscortName, self.EscortMenuTargetAssistance ) +-- MENU_CLIENT_COMMAND:New( self.EscortClient, +-- EscortTargetMessage, +-- MenuTargetAssistance, +-- ESCORT._AssistTarget, +-- self, +-- EscortGroupData.EscortGroup, +-- ClientEscortTargetData.AttackUnit +-- ) +-- end +-- end +-- else +-- ClientEscortTargetData = nil +-- end +-- end +-- end +-- +-- if EscortTargetMessages ~= "" and self.ReportTargets == true then +-- self.EscortGroup:MessageToClient( "Detected targets within 15 km range:" .. EscortTargetMessages:gsub("\n$",""), 20, self.EscortClient ) +-- else +-- self.EscortGroup:MessageToClient( "No targets detected!", 20, self.EscortClient ) +-- end +-- end +-- +-- if self.EscortMenuResumeMission then +-- self.EscortMenuResumeMission:RemoveSubMenus() +-- +-- -- if self.EscortMenuResumeWayPoints then +-- -- for MenuIndex = 1, #self.EscortMenuResumeWayPoints do +-- -- self:T( { "Remove Menu:", self.EscortMenuResumeWayPoints[MenuIndex] } ) +-- -- self.EscortMenuResumeWayPoints[MenuIndex] = self.EscortMenuResumeWayPoints[MenuIndex]:Remove() +-- -- end +-- -- end +-- +-- local TaskPoints = self:RegisterRoute() +-- for WayPointID, WayPoint in pairs( TaskPoints ) do +-- local EscortVec3 = self.EscortGroup:GetVec3() +-- local Distance = ( ( WayPoint.x - EscortVec3.x )^2 + +-- ( WayPoint.y - EscortVec3.z )^2 +-- ) ^ 0.5 / 1000 +-- MENU_CLIENT_COMMAND:New( self.EscortClient, "Waypoint " .. WayPointID .. " at " .. string.format( "%.2f", Distance ).. "km", self.EscortMenuResumeMission, ESCORT._ResumeMission, { ParamSelf = self, ParamWayPoint = WayPointID } ) +-- end +-- end +-- +-- return true + end + end + + return false +end +--- This module contains the MISSILETRAINER class. +-- +-- === +-- +-- 1) @{MissileTrainer#MISSILETRAINER} class, extends @{Base#BASE} +-- =============================================================== +-- The @{#MISSILETRAINER} class uses the DCS world messaging system to be alerted of any missiles fired, and when a missile would hit your aircraft, +-- the class will destroy the missile within a certain range, to avoid damage to your aircraft. +-- It suports the following functionality: +-- +-- * Track the missiles fired at you and other players, providing bearing and range information of the missiles towards the airplanes. +-- * Provide alerts of missile launches, including detailed information of the units launching, including bearing, range � +-- * Provide alerts when a missile would have killed your aircraft. +-- * Provide alerts when the missile self destructs. +-- * Enable / Disable and Configure the Missile Trainer using the various menu options. +-- +-- When running a mission where MISSILETRAINER is used, the following radio menu structure ( 'Radio Menu' -> 'Other (F10)' -> 'MissileTrainer' ) options are available for the players: +-- +-- * **Messages**: Menu to configure all messages. +-- * **Messages On**: Show all messages. +-- * **Messages Off**: Disable all messages. +-- * **Tracking**: Menu to configure missile tracking messages. +-- * **To All**: Shows missile tracking messages to all players. +-- * **To Target**: Shows missile tracking messages only to the player where the missile is targetted at. +-- * **Tracking On**: Show missile tracking messages. +-- * **Tracking Off**: Disable missile tracking messages. +-- * **Frequency Increase**: Increases the missile tracking message frequency with one second. +-- * **Frequency Decrease**: Decreases the missile tracking message frequency with one second. +-- * **Alerts**: Menu to configure alert messages. +-- * **To All**: Shows alert messages to all players. +-- * **To Target**: Shows alert messages only to the player where the missile is (was) targetted at. +-- * **Hits On**: Show missile hit alert messages. +-- * **Hits Off**: Disable missile hit alert messages. +-- * **Launches On**: Show missile launch messages. +-- * **Launches Off**: Disable missile launch messages. +-- * **Details**: Menu to configure message details. +-- * **Range On**: Shows range information when a missile is fired to a target. +-- * **Range Off**: Disable range information when a missile is fired to a target. +-- * **Bearing On**: Shows bearing information when a missile is fired to a target. +-- * **Bearing Off**: Disable bearing information when a missile is fired to a target. +-- * **Distance**: Menu to configure the distance when a missile needs to be destroyed when near to a player, during tracking. This will improve/influence hit calculation accuracy, but has the risk of damaging the aircraft when the missile reaches the aircraft before the distance is measured. +-- * **50 meter**: Destroys the missile when the distance to the aircraft is below or equal to 50 meter. +-- * **100 meter**: Destroys the missile when the distance to the aircraft is below or equal to 100 meter. +-- * **150 meter**: Destroys the missile when the distance to the aircraft is below or equal to 150 meter. +-- * **200 meter**: Destroys the missile when the distance to the aircraft is below or equal to 200 meter. +-- +-- +-- 1.1) MISSILETRAINER construction methods: +-- ----------------------------------------- +-- Create a new MISSILETRAINER object with the @{#MISSILETRAINER.New} method: +-- +-- * @{#MISSILETRAINER.New}: Creates a new MISSILETRAINER object taking the maximum distance to your aircraft to evaluate when a missile needs to be destroyed. +-- +-- MISSILETRAINER will collect each unit declared in the mission with a skill level "Client" and "Player", and will monitor the missiles shot at those. +-- +-- 1.2) MISSILETRAINER initialization methods: +-- ------------------------------------------- +-- A MISSILETRAINER object will behave differently based on the usage of initialization methods: +-- +-- * @{#MISSILETRAINER.InitMessagesOnOff}: Sets by default the display of any message to be ON or OFF. +-- * @{#MISSILETRAINER.InitTrackingToAll}: Sets by default the missile tracking report for all players or only for those missiles targetted to you. +-- * @{#MISSILETRAINER.InitTrackingOnOff}: Sets by default the display of missile tracking report to be ON or OFF. +-- * @{#MISSILETRAINER.InitTrackingFrequency}: Increases, decreases the missile tracking message display frequency with the provided time interval in seconds. +-- * @{#MISSILETRAINER.InitAlertsToAll}: Sets by default the display of alerts to be shown to all players or only to you. +-- * @{#MISSILETRAINER.InitAlertsHitsOnOff}: Sets by default the display of hit alerts ON or OFF. +-- * @{#MISSILETRAINER.InitAlertsLaunchesOnOff}: Sets by default the display of launch alerts ON or OFF. +-- * @{#MISSILETRAINER.InitRangeOnOff}: Sets by default the display of range information of missiles ON of OFF. +-- * @{#MISSILETRAINER.InitBearingOnOff}: Sets by default the display of bearing information of missiles ON of OFF. +-- * @{#MISSILETRAINER.InitMenusOnOff}: Allows to configure the options through the radio menu. +-- +-- === +-- +-- CREDITS +-- ======= +-- **Stuka (Danny)** Who you can search on the Eagle Dynamics Forums. +-- Working together with Danny has resulted in the MISSILETRAINER class. +-- Danny has shared his ideas and together we made a design. +-- Together with the **476 virtual team**, we tested the MISSILETRAINER class, and got much positive feedback! +-- +-- @module MissileTrainer +-- @author FlightControl + + +--- The MISSILETRAINER class +-- @type MISSILETRAINER +-- @field Core.Set#SET_CLIENT DBClients +-- @extends Core.Base#BASE +MISSILETRAINER = { + ClassName = "MISSILETRAINER", + TrackingMissiles = {}, +} + +function MISSILETRAINER._Alive( Client, self ) + + if self.Briefing then + Client:Message( self.Briefing, 15, "Trainer" ) + end + + if self.MenusOnOff == true then + Client:Message( "Use the 'Radio Menu' -> 'Other (F10)' -> 'Missile Trainer' menu options to change the Missile Trainer settings (for all players).", 15, "Trainer" ) + + Client.MainMenu = MENU_CLIENT:New( Client, "Missile Trainer", nil ) -- Menu#MENU_CLIENT + + Client.MenuMessages = MENU_CLIENT:New( Client, "Messages", Client.MainMenu ) + Client.MenuOn = MENU_CLIENT_COMMAND:New( Client, "Messages On", Client.MenuMessages, self._MenuMessages, { MenuSelf = self, MessagesOnOff = true } ) + Client.MenuOff = MENU_CLIENT_COMMAND:New( Client, "Messages Off", Client.MenuMessages, self._MenuMessages, { MenuSelf = self, MessagesOnOff = false } ) + + Client.MenuTracking = MENU_CLIENT:New( Client, "Tracking", Client.MainMenu ) + Client.MenuTrackingToAll = MENU_CLIENT_COMMAND:New( Client, "To All", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingToAll = true } ) + Client.MenuTrackingToTarget = MENU_CLIENT_COMMAND:New( Client, "To Target", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingToAll = false } ) + Client.MenuTrackOn = MENU_CLIENT_COMMAND:New( Client, "Tracking On", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingOnOff = true } ) + Client.MenuTrackOff = MENU_CLIENT_COMMAND:New( Client, "Tracking Off", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingOnOff = false } ) + Client.MenuTrackIncrease = MENU_CLIENT_COMMAND:New( Client, "Frequency Increase", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingFrequency = -1 } ) + Client.MenuTrackDecrease = MENU_CLIENT_COMMAND:New( Client, "Frequency Decrease", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingFrequency = 1 } ) + + Client.MenuAlerts = MENU_CLIENT:New( Client, "Alerts", Client.MainMenu ) + Client.MenuAlertsToAll = MENU_CLIENT_COMMAND:New( Client, "To All", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsToAll = true } ) + Client.MenuAlertsToTarget = MENU_CLIENT_COMMAND:New( Client, "To Target", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsToAll = false } ) + Client.MenuHitsOn = MENU_CLIENT_COMMAND:New( Client, "Hits On", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsHitsOnOff = true } ) + Client.MenuHitsOff = MENU_CLIENT_COMMAND:New( Client, "Hits Off", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsHitsOnOff = false } ) + Client.MenuLaunchesOn = MENU_CLIENT_COMMAND:New( Client, "Launches On", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsLaunchesOnOff = true } ) + Client.MenuLaunchesOff = MENU_CLIENT_COMMAND:New( Client, "Launches Off", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsLaunchesOnOff = false } ) + + Client.MenuDetails = MENU_CLIENT:New( Client, "Details", Client.MainMenu ) + Client.MenuDetailsDistanceOn = MENU_CLIENT_COMMAND:New( Client, "Range On", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsRangeOnOff = true } ) + Client.MenuDetailsDistanceOff = MENU_CLIENT_COMMAND:New( Client, "Range Off", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsRangeOnOff = false } ) + Client.MenuDetailsBearingOn = MENU_CLIENT_COMMAND:New( Client, "Bearing On", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsBearingOnOff = true } ) + Client.MenuDetailsBearingOff = MENU_CLIENT_COMMAND:New( Client, "Bearing Off", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsBearingOnOff = false } ) + + Client.MenuDistance = MENU_CLIENT:New( Client, "Set distance to plane", Client.MainMenu ) + Client.MenuDistance50 = MENU_CLIENT_COMMAND:New( Client, "50 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 50 / 1000 } ) + Client.MenuDistance100 = MENU_CLIENT_COMMAND:New( Client, "100 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 100 / 1000 } ) + Client.MenuDistance150 = MENU_CLIENT_COMMAND:New( Client, "150 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 150 / 1000 } ) + Client.MenuDistance200 = MENU_CLIENT_COMMAND:New( Client, "200 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 200 / 1000 } ) + else + if Client.MainMenu then + Client.MainMenu:Remove() + end + end + + local ClientID = Client:GetID() + self:T( ClientID ) + if not self.TrackingMissiles[ClientID] then + self.TrackingMissiles[ClientID] = {} + end + self.TrackingMissiles[ClientID].Client = Client + if not self.TrackingMissiles[ClientID].MissileData then + self.TrackingMissiles[ClientID].MissileData = {} + end +end + +--- Creates the main object which is handling missile tracking. +-- When a missile is fired a SCHEDULER is set off that follows the missile. When near a certain a client player, the missile will be destroyed. +-- @param #MISSILETRAINER self +-- @param #number Distance The distance in meters when a tracked missile needs to be destroyed when close to a player. +-- @param #string Briefing (Optional) Will show a text to the players when starting their mission. Can be used for briefing purposes. +-- @return #MISSILETRAINER +function MISSILETRAINER:New( Distance, Briefing ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( Distance ) + + if Briefing then + self.Briefing = Briefing + end + + self.Schedulers = {} + self.SchedulerID = 0 + + self.MessageInterval = 2 + self.MessageLastTime = timer.getTime() + + self.Distance = Distance / 1000 + + self:HandleEvent( EVENTS.Shot ) + + self.DBClients = SET_CLIENT:New():FilterStart() + + +-- for ClientID, Client in pairs( self.DBClients.Database ) do +-- self:E( "ForEach:" .. Client.UnitName ) +-- Client:Alive( self._Alive, self ) +-- end +-- + self.DBClients:ForEachClient( + function( Client ) + self:E( "ForEach:" .. Client.UnitName ) + Client:Alive( self._Alive, self ) + end + ) + + + +-- self.DB:ForEachClient( +-- --- @param Wrapper.Client#CLIENT Client +-- function( Client ) +-- +-- ... actions ... +-- +-- end +-- ) + + self.MessagesOnOff = true + + self.TrackingToAll = false + self.TrackingOnOff = true + self.TrackingFrequency = 3 + + self.AlertsToAll = true + self.AlertsHitsOnOff = true + self.AlertsLaunchesOnOff = true + + self.DetailsRangeOnOff = true + self.DetailsBearingOnOff = true + + self.MenusOnOff = true + + self.TrackingMissiles = {} + + self.TrackingScheduler = SCHEDULER:New( self, self._TrackMissiles, {}, 0.5, 0.05, 0 ) + + return self +end + +-- Initialization methods. + + + +--- Sets by default the display of any message to be ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean MessagesOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitMessagesOnOff( MessagesOnOff ) + self:F( MessagesOnOff ) + + self.MessagesOnOff = MessagesOnOff + if self.MessagesOnOff == true then + MESSAGE:New( "Messages ON", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Messages OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Sets by default the missile tracking report for all players or only for those missiles targetted to you. +-- @param #MISSILETRAINER self +-- @param #boolean TrackingToAll true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitTrackingToAll( TrackingToAll ) + self:F( TrackingToAll ) + + self.TrackingToAll = TrackingToAll + if self.TrackingToAll == true then + MESSAGE:New( "Missile tracking to all players ON", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Missile tracking to all players OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Sets by default the display of missile tracking report to be ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean TrackingOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitTrackingOnOff( TrackingOnOff ) + self:F( TrackingOnOff ) + + self.TrackingOnOff = TrackingOnOff + if self.TrackingOnOff == true then + MESSAGE:New( "Missile tracking ON", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Missile tracking OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Increases, decreases the missile tracking message display frequency with the provided time interval in seconds. +-- The default frequency is a 3 second interval, so the Tracking Frequency parameter specifies the increase or decrease from the default 3 seconds or the last frequency update. +-- @param #MISSILETRAINER self +-- @param #number TrackingFrequency Provide a negative or positive value in seconds to incraese or decrease the display frequency. +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitTrackingFrequency( TrackingFrequency ) + self:F( TrackingFrequency ) + + self.TrackingFrequency = self.TrackingFrequency + TrackingFrequency + if self.TrackingFrequency < 0.5 then + self.TrackingFrequency = 0.5 + end + if self.TrackingFrequency then + MESSAGE:New( "Missile tracking frequency is " .. self.TrackingFrequency .. " seconds.", 15, "Menu" ):ToAll() + end + + return self +end + +--- Sets by default the display of alerts to be shown to all players or only to you. +-- @param #MISSILETRAINER self +-- @param #boolean AlertsToAll true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitAlertsToAll( AlertsToAll ) + self:F( AlertsToAll ) + + self.AlertsToAll = AlertsToAll + if self.AlertsToAll == true then + MESSAGE:New( "Alerts to all players ON", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Alerts to all players OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Sets by default the display of hit alerts ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean AlertsHitsOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitAlertsHitsOnOff( AlertsHitsOnOff ) + self:F( AlertsHitsOnOff ) + + self.AlertsHitsOnOff = AlertsHitsOnOff + if self.AlertsHitsOnOff == true then + MESSAGE:New( "Alerts Hits ON", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Alerts Hits OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Sets by default the display of launch alerts ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean AlertsLaunchesOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitAlertsLaunchesOnOff( AlertsLaunchesOnOff ) + self:F( AlertsLaunchesOnOff ) + + self.AlertsLaunchesOnOff = AlertsLaunchesOnOff + if self.AlertsLaunchesOnOff == true then + MESSAGE:New( "Alerts Launches ON", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Alerts Launches OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Sets by default the display of range information of missiles ON of OFF. +-- @param #MISSILETRAINER self +-- @param #boolean DetailsRangeOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitRangeOnOff( DetailsRangeOnOff ) + self:F( DetailsRangeOnOff ) + + self.DetailsRangeOnOff = DetailsRangeOnOff + if self.DetailsRangeOnOff == true then + MESSAGE:New( "Range display ON", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Range display OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Sets by default the display of bearing information of missiles ON of OFF. +-- @param #MISSILETRAINER self +-- @param #boolean DetailsBearingOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitBearingOnOff( DetailsBearingOnOff ) + self:F( DetailsBearingOnOff ) + + self.DetailsBearingOnOff = DetailsBearingOnOff + if self.DetailsBearingOnOff == true then + MESSAGE:New( "Bearing display OFF", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Bearing display OFF", 15, "Menu" ):ToAll() + end + + return self +end + +--- Enables / Disables the menus. +-- @param #MISSILETRAINER self +-- @param #boolean MenusOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitMenusOnOff( MenusOnOff ) + self:F( MenusOnOff ) + + self.MenusOnOff = MenusOnOff + if self.MenusOnOff == true then + MESSAGE:New( "Menus are ENABLED (only when a player rejoins a slot)", 15, "Menu" ):ToAll() + else + MESSAGE:New( "Menus are DISABLED", 15, "Menu" ):ToAll() + end + + return self +end + + +-- Menu functions + +function MISSILETRAINER._MenuMessages( MenuParameters ) + + local self = MenuParameters.MenuSelf + + if MenuParameters.MessagesOnOff ~= nil then + self:InitMessagesOnOff( MenuParameters.MessagesOnOff ) + end + + if MenuParameters.TrackingToAll ~= nil then + self:InitTrackingToAll( MenuParameters.TrackingToAll ) + end + + if MenuParameters.TrackingOnOff ~= nil then + self:InitTrackingOnOff( MenuParameters.TrackingOnOff ) + end + + if MenuParameters.TrackingFrequency ~= nil then + self:InitTrackingFrequency( MenuParameters.TrackingFrequency ) + end + + if MenuParameters.AlertsToAll ~= nil then + self:InitAlertsToAll( MenuParameters.AlertsToAll ) + end + + if MenuParameters.AlertsHitsOnOff ~= nil then + self:InitAlertsHitsOnOff( MenuParameters.AlertsHitsOnOff ) + end + + if MenuParameters.AlertsLaunchesOnOff ~= nil then + self:InitAlertsLaunchesOnOff( MenuParameters.AlertsLaunchesOnOff ) + end + + if MenuParameters.DetailsRangeOnOff ~= nil then + self:InitRangeOnOff( MenuParameters.DetailsRangeOnOff ) + end + + if MenuParameters.DetailsBearingOnOff ~= nil then + self:InitBearingOnOff( MenuParameters.DetailsBearingOnOff ) + end + + if MenuParameters.Distance ~= nil then + self.Distance = MenuParameters.Distance + MESSAGE:New( "Hit detection distance set to " .. self.Distance .. " meters", 15, "Menu" ):ToAll() + end + +end + +--- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. +-- @param #MISSILETRAINER self +-- @param Core.Event#EVENTDATA EventData +function MISSILETRAINER:OnEventShot( EVentData ) + self:F( { EVentData } ) + + local TrainerSourceDCSUnit = EVentData.IniDCSUnit + local TrainerSourceDCSUnitName = EVentData.IniDCSUnitName + local TrainerWeapon = EVentData.Weapon -- Identify the weapon fired + local TrainerWeaponName = EVentData.WeaponName -- return weapon type + + self:T( "Missile Launched = " .. TrainerWeaponName ) + + local TrainerTargetDCSUnit = TrainerWeapon:getTarget() -- Identify target + if TrainerTargetDCSUnit then + local TrainerTargetDCSUnitName = Unit.getName( TrainerTargetDCSUnit ) + local TrainerTargetSkill = _DATABASE.Templates.Units[TrainerTargetDCSUnitName].Template.skill + + self:T(TrainerTargetDCSUnitName ) + + local Client = self.DBClients:FindClient( TrainerTargetDCSUnitName ) + if Client then + + local TrainerSourceUnit = UNIT:Find( TrainerSourceDCSUnit ) + local TrainerTargetUnit = UNIT:Find( TrainerTargetDCSUnit ) + + if self.MessagesOnOff == true and self.AlertsLaunchesOnOff == true then + + local Message = MESSAGE:New( + string.format( "%s launched a %s", + TrainerSourceUnit:GetTypeName(), + TrainerWeaponName + ) .. self:_AddRange( Client, TrainerWeapon ) .. self:_AddBearing( Client, TrainerWeapon ), 5, "Launch Alert" ) + + if self.AlertsToAll then + Message:ToAll() + else + Message:ToClient( Client ) + end + end + + local ClientID = Client:GetID() + self:T( ClientID ) + local MissileData = {} + MissileData.TrainerSourceUnit = TrainerSourceUnit + MissileData.TrainerWeapon = TrainerWeapon + MissileData.TrainerTargetUnit = TrainerTargetUnit + MissileData.TrainerWeaponTypeName = TrainerWeapon:getTypeName() + MissileData.TrainerWeaponLaunched = true + table.insert( self.TrackingMissiles[ClientID].MissileData, MissileData ) + --self:T( self.TrackingMissiles ) + end + else + -- TODO: some weapons don't know the target unit... Need to develop a workaround for this. + if ( TrainerWeapon:getTypeName() == "9M311" ) then + SCHEDULER:New( TrainerWeapon, TrainerWeapon.destroy, {}, 1 ) + else + end + end +end + +function MISSILETRAINER:_AddRange( Client, TrainerWeapon ) + + local RangeText = "" + + if self.DetailsRangeOnOff then + + local PositionMissile = TrainerWeapon:getPoint() + local TargetVec3 = Client:GetVec3() + + local Range = ( ( PositionMissile.x - TargetVec3.x )^2 + + ( PositionMissile.y - TargetVec3.y )^2 + + ( PositionMissile.z - TargetVec3.z )^2 + ) ^ 0.5 / 1000 + + RangeText = string.format( ", at %4.2fkm", Range ) + end + + return RangeText +end + +function MISSILETRAINER:_AddBearing( Client, TrainerWeapon ) + + local BearingText = "" + + if self.DetailsBearingOnOff then + + local PositionMissile = TrainerWeapon:getPoint() + local TargetVec3 = Client:GetVec3() + + self:T2( { TargetVec3, PositionMissile }) + + local DirectionVector = { x = PositionMissile.x - TargetVec3.x, y = PositionMissile.y - TargetVec3.y, z = PositionMissile.z - TargetVec3.z } + local DirectionRadians = math.atan2( DirectionVector.z, DirectionVector.x ) + --DirectionRadians = DirectionRadians + routines.getNorthCorrection( PositionTarget ) + if DirectionRadians < 0 then + DirectionRadians = DirectionRadians + 2 * math.pi + end + local DirectionDegrees = DirectionRadians * 180 / math.pi + + BearingText = string.format( ", %d degrees", DirectionDegrees ) + end + + return BearingText +end + + +function MISSILETRAINER:_TrackMissiles() + self:F2() + + + local ShowMessages = false + if self.MessagesOnOff and self.MessageLastTime + self.TrackingFrequency <= timer.getTime() then + self.MessageLastTime = timer.getTime() + ShowMessages = true + end + + -- ALERTS PART + + -- Loop for all Player Clients to check the alerts and deletion of missiles. + for ClientDataID, ClientData in pairs( self.TrackingMissiles ) do + + local Client = ClientData.Client + self:T2( { Client:GetName() } ) + + for MissileDataID, MissileData in pairs( ClientData.MissileData ) do + self:T3( MissileDataID ) + + local TrainerSourceUnit = MissileData.TrainerSourceUnit + local TrainerWeapon = MissileData.TrainerWeapon + local TrainerTargetUnit = MissileData.TrainerTargetUnit + local TrainerWeaponTypeName = MissileData.TrainerWeaponTypeName + local TrainerWeaponLaunched = MissileData.TrainerWeaponLaunched + + if Client and Client:IsAlive() and TrainerSourceUnit and TrainerSourceUnit:IsAlive() and TrainerWeapon and TrainerWeapon:isExist() and TrainerTargetUnit and TrainerTargetUnit:IsAlive() then + local PositionMissile = TrainerWeapon:getPosition().p + local TargetVec3 = Client:GetVec3() + + local Distance = ( ( PositionMissile.x - TargetVec3.x )^2 + + ( PositionMissile.y - TargetVec3.y )^2 + + ( PositionMissile.z - TargetVec3.z )^2 + ) ^ 0.5 / 1000 + + if Distance <= self.Distance then + -- Hit alert + TrainerWeapon:destroy() + if self.MessagesOnOff == true and self.AlertsHitsOnOff == true then + + self:T( "killed" ) + + local Message = MESSAGE:New( + string.format( "%s launched by %s killed %s", + TrainerWeapon:getTypeName(), + TrainerSourceUnit:GetTypeName(), + TrainerTargetUnit:GetPlayerName() + ), 15, "Hit Alert" ) + + if self.AlertsToAll == true then + Message:ToAll() + else + Message:ToClient( Client ) + end + + MissileData = nil + table.remove( ClientData.MissileData, MissileDataID ) + self:T(ClientData.MissileData) + end + end + else + if not ( TrainerWeapon and TrainerWeapon:isExist() ) then + if self.MessagesOnOff == true and self.AlertsLaunchesOnOff == true then + -- Weapon does not exist anymore. Delete from Table + local Message = MESSAGE:New( + string.format( "%s launched by %s self destructed!", + TrainerWeaponTypeName, + TrainerSourceUnit:GetTypeName() + ), 5, "Tracking" ) + + if self.AlertsToAll == true then + Message:ToAll() + else + Message:ToClient( Client ) + end + end + MissileData = nil + table.remove( ClientData.MissileData, MissileDataID ) + self:T( ClientData.MissileData ) + end + end + end + end + + if ShowMessages == true and self.MessagesOnOff == true and self.TrackingOnOff == true then -- Only do this when tracking information needs to be displayed. + + -- TRACKING PART + + -- For the current client, the missile range and bearing details are displayed To the Player Client. + -- For the other clients, the missile range and bearing details are displayed To the other Player Clients. + -- To achieve this, a cross loop is done for each Player Client <-> Other Player Client missile information. + + -- Main Player Client loop + for ClientDataID, ClientData in pairs( self.TrackingMissiles ) do + + local Client = ClientData.Client + self:T2( { Client:GetName() } ) + + + ClientData.MessageToClient = "" + ClientData.MessageToAll = "" + + -- Other Players Client loop + for TrackingDataID, TrackingData in pairs( self.TrackingMissiles ) do + + for MissileDataID, MissileData in pairs( TrackingData.MissileData ) do + self:T3( MissileDataID ) + + local TrainerSourceUnit = MissileData.TrainerSourceUnit + local TrainerWeapon = MissileData.TrainerWeapon + local TrainerTargetUnit = MissileData.TrainerTargetUnit + local TrainerWeaponTypeName = MissileData.TrainerWeaponTypeName + local TrainerWeaponLaunched = MissileData.TrainerWeaponLaunched + + if Client and Client:IsAlive() and TrainerSourceUnit and TrainerSourceUnit:IsAlive() and TrainerWeapon and TrainerWeapon:isExist() and TrainerTargetUnit and TrainerTargetUnit:IsAlive() then + + if ShowMessages == true then + local TrackingTo + TrackingTo = string.format( " -> %s", + TrainerWeaponTypeName + ) + + if ClientDataID == TrackingDataID then + if ClientData.MessageToClient == "" then + ClientData.MessageToClient = "Missiles to You:\n" + end + ClientData.MessageToClient = ClientData.MessageToClient .. TrackingTo .. self:_AddRange( ClientData.Client, TrainerWeapon ) .. self:_AddBearing( ClientData.Client, TrainerWeapon ) .. "\n" + else + if self.TrackingToAll == true then + if ClientData.MessageToAll == "" then + ClientData.MessageToAll = "Missiles to other Players:\n" + end + ClientData.MessageToAll = ClientData.MessageToAll .. TrackingTo .. self:_AddRange( ClientData.Client, TrainerWeapon ) .. self:_AddBearing( ClientData.Client, TrainerWeapon ) .. " ( " .. TrainerTargetUnit:GetPlayerName() .. " )\n" + end + end + end + end + end + end + + -- Once the Player Client and the Other Player Client tracking messages are prepared, show them. + if ClientData.MessageToClient ~= "" or ClientData.MessageToAll ~= "" then + local Message = MESSAGE:New( ClientData.MessageToClient .. ClientData.MessageToAll, 1, "Tracking" ):ToClient( Client ) + end + end + end + + return true +end +--- This module contains the AIRBASEPOLICE classes. +-- +-- === +-- +-- 1) @{AirbasePolice#AIRBASEPOLICE_BASE} class, extends @{Base#BASE} +-- ================================================================== +-- The @{AirbasePolice#AIRBASEPOLICE_BASE} class provides the main methods to monitor CLIENT behaviour at airbases. +-- CLIENTS should not be allowed to: +-- +-- * Don't taxi faster than 40 km/h. +-- * Don't take-off on taxiways. +-- * Avoid to hit other planes on the airbase. +-- * Obey ground control orders. +-- +-- 2) @{AirbasePolice#AIRBASEPOLICE_CAUCASUS} class, extends @{AirbasePolice#AIRBASEPOLICE_BASE} +-- ============================================================================================= +-- All the airbases on the caucasus map can be monitored using this class. +-- If you want to monitor specific airbases, you need to use the @{#AIRBASEPOLICE_BASE.Monitor}() method, which takes a table or airbase names. +-- The following names can be given: +-- * AnapaVityazevo +-- * Batumi +-- * Beslan +-- * Gelendzhik +-- * Gudauta +-- * Kobuleti +-- * KrasnodarCenter +-- * KrasnodarPashkovsky +-- * Krymsk +-- * Kutaisi +-- * MaykopKhanskaya +-- * MineralnyeVody +-- * Mozdok +-- * Nalchik +-- * Novorossiysk +-- * SenakiKolkhi +-- * SochiAdler +-- * Soganlug +-- * SukhumiBabushara +-- * TbilisiLochini +-- * Vaziani +-- +-- 3) @{AirbasePolice#AIRBASEPOLICE_NEVADA} class, extends @{AirbasePolice#AIRBASEPOLICE_BASE} +-- ============================================================================================= +-- All the airbases on the NEVADA map can be monitored using this class. +-- If you want to monitor specific airbases, you need to use the @{#AIRBASEPOLICE_BASE.Monitor}() method, which takes a table or airbase names. +-- The following names can be given: +-- * Nellis +-- * McCarran +-- * Creech +-- * Groom Lake +-- +-- ### Contributions: Dutch Baron - Concept & Testing +-- ### Author: FlightControl - Framework Design & Programming +-- +-- @module AirbasePolice + + + + + +--- @type AIRBASEPOLICE_BASE +-- @field Core.Set#SET_CLIENT SetClient +-- @extends Core.Base#BASE + +AIRBASEPOLICE_BASE = { + ClassName = "AIRBASEPOLICE_BASE", + SetClient = nil, + Airbases = nil, + AirbaseNames = nil, +} + + +--- Creates a new AIRBASEPOLICE_BASE object. +-- @param #AIRBASEPOLICE_BASE self +-- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase. +-- @param Airbases A table of Airbase Names. +-- @return #AIRBASEPOLICE_BASE self +function AIRBASEPOLICE_BASE:New( SetClient, Airbases ) + + -- Inherits from BASE + local self = BASE:Inherit( self, BASE:New() ) + self:E( { self.ClassName, SetClient, Airbases } ) + + self.SetClient = SetClient + self.Airbases = Airbases + + for AirbaseID, Airbase in pairs( self.Airbases ) do + Airbase.ZoneBoundary = ZONE_POLYGON_BASE:New( "Boundary", Airbase.PointsBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + for PointsRunwayID, PointsRunway in pairs( Airbase.PointsRunways ) do + Airbase.ZoneRunways[PointsRunwayID] = ZONE_POLYGON_BASE:New( "Runway " .. PointsRunwayID, PointsRunway ):SmokeZone(SMOKECOLOR.Red):Flush() + end + end + +-- -- Template +-- local TemplateBoundary = GROUP:FindByName( "Template Boundary" ) +-- self.Airbases.Template.ZoneBoundary = ZONE_POLYGON:New( "Template Boundary", TemplateBoundary ):SmokeZone(SMOKECOLOR.White):Flush() +-- +-- local TemplateRunway1 = GROUP:FindByName( "Template Runway 1" ) +-- self.Airbases.Template.ZoneRunways[1] = ZONE_POLYGON:New( "Template Runway 1", TemplateRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + + self.SetClient:ForEachClient( + --- @param Wrapper.Client#CLIENT Client + function( Client ) + Client:SetState( self, "Speeding", false ) + Client:SetState( self, "Warnings", 0) + Client:SetState( self, "Taxi", false ) + end + ) + + self.AirbaseMonitor = SCHEDULER:New( self, self._AirbaseMonitor, {}, 0, 2, 0.05 ) + + return self +end + +--- @type AIRBASEPOLICE_BASE.AirbaseNames +-- @list <#string> + +--- Monitor a table of airbase names. +-- @param #AIRBASEPOLICE_BASE self +-- @param #AIRBASEPOLICE_BASE.AirbaseNames AirbaseNames A list of AirbaseNames to monitor. If this parameters is nil, then all airbases will be monitored. +-- @return #AIRBASEPOLICE_BASE self +function AIRBASEPOLICE_BASE:Monitor( AirbaseNames ) + + if AirbaseNames then + if type( AirbaseNames ) == "table" then + self.AirbaseNames = AirbaseNames + else + self.AirbaseNames = { AirbaseNames } + end + end +end + +--- @param #AIRBASEPOLICE_BASE self +function AIRBASEPOLICE_BASE:_AirbaseMonitor() + + for AirbaseID, Airbase in pairs( self.Airbases ) do + + if not self.AirbaseNames or self.AirbaseNames[AirbaseID] then + + self:E( AirbaseID ) + + self.SetClient:ForEachClientInZone( Airbase.ZoneBoundary, + + --- @param Wrapper.Client#CLIENT Client + function( Client ) + + self:E( Client.UnitName ) + if Client:IsAlive() then + local NotInRunwayZone = true + for ZoneRunwayID, ZoneRunway in pairs( Airbase.ZoneRunways ) do + NotInRunwayZone = ( Client:IsNotInZone( ZoneRunway ) == true ) and NotInRunwayZone or false + end + + if NotInRunwayZone then + local Taxi = self:GetState( self, "Taxi" ) + self:E( Taxi ) + if Taxi == false then + Client:Message( "Welcome at " .. AirbaseID .. ". The maximum taxiing speed is " .. Airbase.MaximumSpeed " km/h.", 20, "ATC" ) + self:SetState( self, "Taxi", true ) + end + + -- TODO: GetVelocityKMH function usage + local VelocityVec3 = Client:GetVelocity() + local Velocity = ( VelocityVec3.x ^ 2 + VelocityVec3.y ^ 2 + VelocityVec3.z ^ 2 ) ^ 0.5 -- in meters / sec + local Velocity = Velocity * 3.6 -- now it is in km/h. + -- MESSAGE:New( "Velocity = " .. Velocity, 1 ):ToAll() + local IsAboveRunway = Client:IsAboveRunway() + local IsOnGround = Client:InAir() == false + self:T( IsAboveRunway, IsOnGround ) + + if IsAboveRunway and IsOnGround then + + if Velocity > Airbase.MaximumSpeed then + local IsSpeeding = Client:GetState( self, "Speeding" ) + + if IsSpeeding == true then + local SpeedingWarnings = Client:GetState( self, "Warnings" ) + self:T( SpeedingWarnings ) + + if SpeedingWarnings <= 3 then + Client:Message( "You are speeding on the taxiway! Slow down or you will be removed from this airbase! Your current velocity is " .. string.format( "%2.0f km/h", Velocity ), 5, "Warning " .. SpeedingWarnings .. " / 3" ) + Client:SetState( self, "Warnings", SpeedingWarnings + 1 ) + else + MESSAGE:New( "Player " .. Client:GetPlayerName() .. " has been removed from the airbase, due to a speeding violation ...", 10, "Airbase Police" ):ToAll() + Client:Destroy() + trigger.action.setUserFlag( "AIRCRAFT_"..Client:GetID(), 100) + Client:SetState( self, "Speeding", false ) + Client:SetState( self, "Warnings", 0 ) + end + + else + Client:Message( "You are speeding on the taxiway, slow down now! Your current velocity is " .. string.format( "%2.0f km/h", Velocity ), 5, "Attention! " ) + Client:SetState( self, "Speeding", true ) + Client:SetState( self, "Warnings", 1 ) + end + + else + Client:SetState( self, "Speeding", false ) + Client:SetState( self, "Warnings", 0 ) + end + end + + else + Client:SetState( self, "Speeding", false ) + Client:SetState( self, "Warnings", 0 ) + local Taxi = self:GetState( self, "Taxi" ) + if Taxi == true then + Client:Message( "You have progressed to the runway ... Await take-off clearance ...", 20, "ATC" ) + self:SetState( self, "Taxi", false ) + end + end + end + end + ) + end + end + + return true +end + + +--- @type AIRBASEPOLICE_CAUCASUS +-- @field Core.Set#SET_CLIENT SetClient +-- @extends #AIRBASEPOLICE_BASE + +AIRBASEPOLICE_CAUCASUS = { + ClassName = "AIRBASEPOLICE_CAUCASUS", + Airbases = { + AnapaVityazevo = { + PointsBoundary = { + [1]={["y"]=242234.85714287,["x"]=-6616.5714285726,}, + [2]={["y"]=241060.57142858,["x"]=-5585.142857144,}, + [3]={["y"]=243806.2857143,["x"]=-3962.2857142868,}, + [4]={["y"]=245240.57142858,["x"]=-4816.5714285726,}, + [5]={["y"]=244783.42857144,["x"]=-5630.8571428583,}, + [6]={["y"]=243800.57142858,["x"]=-5065.142857144,}, + [7]={["y"]=242232.00000001,["x"]=-6622.2857142868,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=242140.57142858,["x"]=-6478.8571428583,}, + [2]={["y"]=242188.57142858,["x"]=-6522.0000000011,}, + [3]={["y"]=244124.2857143,["x"]=-4344.0000000011,}, + [4]={["y"]=244068.2857143,["x"]=-4296.5714285726,}, + [5]={["y"]=242140.57142858,["x"]=-6480.0000000011,} + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Batumi = { + PointsBoundary = { + [1]={["y"]=617567.14285714,["x"]=-355313.14285715,}, + [2]={["y"]=616181.42857142,["x"]=-354800.28571429,}, + [3]={["y"]=616007.14285714,["x"]=-355128.85714286,}, + [4]={["y"]=618230,["x"]=-356914.57142858,}, + [5]={["y"]=618727.14285714,["x"]=-356166,}, + [6]={["y"]=617572.85714285,["x"]=-355308.85714286,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=616442.28571429,["x"]=-355090.28571429,}, + [2]={["y"]=618450.57142857,["x"]=-356522,}, + [3]={["y"]=618407.71428571,["x"]=-356584.85714286,}, + [4]={["y"]=618361.99999999,["x"]=-356554.85714286,}, + [5]={["y"]=618324.85714285,["x"]=-356599.14285715,}, + [6]={["y"]=618250.57142856,["x"]=-356543.42857143,}, + [7]={["y"]=618257.7142857,["x"]=-356496.28571429,}, + [8]={["y"]=618237.7142857,["x"]=-356459.14285715,}, + [9]={["y"]=616555.71428571,["x"]=-355258.85714286,}, + [10]={["y"]=616486.28571428,["x"]=-355280.57142858,}, + [11]={["y"]=616410.57142856,["x"]=-355227.71428572,}, + [12]={["y"]=616441.99999999,["x"]=-355179.14285715,}, + [13]={["y"]=616401.99999999,["x"]=-355147.71428572,}, + [14]={["y"]=616441.42857142,["x"]=-355092.57142858,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Beslan = { + PointsBoundary = { + [1]={["y"]=842082.57142857,["x"]=-148445.14285715,}, + [2]={["y"]=845237.71428572,["x"]=-148639.71428572,}, + [3]={["y"]=845232,["x"]=-148765.42857143,}, + [4]={["y"]=844220.57142857,["x"]=-149168.28571429,}, + [5]={["y"]=843274.85714286,["x"]=-149125.42857143,}, + [6]={["y"]=842077.71428572,["x"]=-148554,}, + [7]={["y"]=842083.42857143,["x"]=-148445.42857143,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=842104.57142857,["x"]=-148460.57142857,}, + [2]={["y"]=845225.71428572,["x"]=-148656,}, + [3]={["y"]=845220.57142858,["x"]=-148750,}, + [4]={["y"]=842098.85714286,["x"]=-148556.28571429,}, + [5]={["y"]=842104,["x"]=-148460.28571429,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Gelendzhik = { + PointsBoundary = { + [1]={["y"]=297856.00000001,["x"]=-51151.428571429,}, + [2]={["y"]=299044.57142858,["x"]=-49720.000000001,}, + [3]={["y"]=298861.71428572,["x"]=-49580.000000001,}, + [4]={["y"]=298198.85714286,["x"]=-49842.857142858,}, + [5]={["y"]=297990.28571429,["x"]=-50151.428571429,}, + [6]={["y"]=297696.00000001,["x"]=-51054.285714286,}, + [7]={["y"]=297850.28571429,["x"]=-51160.000000001,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=297834.00000001,["x"]=-51107.428571429,}, + [2]={["y"]=297786.57142858,["x"]=-51068.857142858,}, + [3]={["y"]=298946.57142858,["x"]=-49686.000000001,}, + [4]={["y"]=298993.14285715,["x"]=-49725.714285715,}, + [5]={["y"]=297835.14285715,["x"]=-51107.714285715,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Gudauta = { + PointsBoundary = { + [1]={["y"]=517246.57142857,["x"]=-197850.28571429,}, + [2]={["y"]=516749.42857142,["x"]=-198070.28571429,}, + [3]={["y"]=515755.14285714,["x"]=-197598.85714286,}, + [4]={["y"]=515369.42857142,["x"]=-196538.85714286,}, + [5]={["y"]=515623.71428571,["x"]=-195618.85714286,}, + [6]={["y"]=515946.57142857,["x"]=-195510.28571429,}, + [7]={["y"]=517243.71428571,["x"]=-197858.85714286,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=517096.57142857,["x"]=-197804.57142857,}, + [2]={["y"]=515880.85714285,["x"]=-195590.28571429,}, + [3]={["y"]=515812.28571428,["x"]=-195628.85714286,}, + [4]={["y"]=517036.57142857,["x"]=-197834.57142857,}, + [5]={["y"]=517097.99999999,["x"]=-197807.42857143,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Kobuleti = { + PointsBoundary = { + [1]={["y"]=634427.71428571,["x"]=-318290.28571429,}, + [2]={["y"]=635033.42857143,["x"]=-317550.2857143,}, + [3]={["y"]=635864.85714286,["x"]=-317333.14285715,}, + [4]={["y"]=636967.71428571,["x"]=-317261.71428572,}, + [5]={["y"]=637144.85714286,["x"]=-317913.14285715,}, + [6]={["y"]=634630.57142857,["x"]=-318687.42857144,}, + [7]={["y"]=634424.85714286,["x"]=-318290.2857143,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=634509.71428571,["x"]=-318339.42857144,}, + [2]={["y"]=636767.42857143,["x"]=-317516.57142858,}, + [3]={["y"]=636790,["x"]=-317575.71428572,}, + [4]={["y"]=634531.42857143,["x"]=-318398.00000001,}, + [5]={["y"]=634510.28571429,["x"]=-318339.71428572,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + KrasnodarCenter = { + PointsBoundary = { + [1]={["y"]=366680.28571429,["x"]=11699.142857142,}, + [2]={["y"]=366654.28571429,["x"]=11225.142857142,}, + [3]={["y"]=367497.14285715,["x"]=11082.285714285,}, + [4]={["y"]=368025.71428572,["x"]=10396.57142857,}, + [5]={["y"]=369854.28571429,["x"]=11367.999999999,}, + [6]={["y"]=369840.00000001,["x"]=11910.857142856,}, + [7]={["y"]=366682.57142858,["x"]=11697.999999999,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=369205.42857144,["x"]=11789.142857142,}, + [2]={["y"]=369209.71428572,["x"]=11714.857142856,}, + [3]={["y"]=366699.71428572,["x"]=11581.714285713,}, + [4]={["y"]=366698.28571429,["x"]=11659.142857142,}, + [5]={["y"]=369208.85714286,["x"]=11788.57142857,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + KrasnodarPashkovsky = { + PointsBoundary = { + [1]={["y"]=386754,["x"]=6476.5714285703,}, + [2]={["y"]=389182.57142858,["x"]=8722.2857142846,}, + [3]={["y"]=388832.57142858,["x"]=9086.5714285703,}, + [4]={["y"]=386961.14285715,["x"]=7707.9999999989,}, + [5]={["y"]=385404,["x"]=9179.4285714274,}, + [6]={["y"]=383239.71428572,["x"]=7386.5714285703,}, + [7]={["y"]=383954,["x"]=6486.5714285703,}, + [8]={["y"]=385775.42857143,["x"]=8097.9999999989,}, + [9]={["y"]=386804,["x"]=7319.4285714274,}, + [10]={["y"]=386375.42857143,["x"]=6797.9999999989,}, + [11]={["y"]=386746.85714286,["x"]=6472.2857142846,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=385891.14285715,["x"]=8416.5714285703,}, + [2]={["y"]=385842.28571429,["x"]=8467.9999999989,}, + [3]={["y"]=384180.85714286,["x"]=6917.1428571417,}, + [4]={["y"]=384228.57142858,["x"]=6867.7142857132,}, + [5]={["y"]=385891.14285715,["x"]=8416.5714285703,}, + }, + [2] = { + [1]={["y"]=386714.85714286,["x"]=6674.857142856,}, + [2]={["y"]=386757.71428572,["x"]=6627.7142857132,}, + [3]={["y"]=389028.57142858,["x"]=8741.4285714275,}, + [4]={["y"]=388981.71428572,["x"]=8790.5714285703,}, + [5]={["y"]=386714.57142858,["x"]=6674.5714285703,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Krymsk = { + PointsBoundary = { + [1]={["y"]=293338.00000001,["x"]=-7575.4285714297,}, + [2]={["y"]=295199.42857144,["x"]=-5434.0000000011,}, + [3]={["y"]=295595.14285715,["x"]=-6239.7142857154,}, + [4]={["y"]=294152.2857143,["x"]=-8325.4285714297,}, + [5]={["y"]=293345.14285715,["x"]=-7596.8571428582,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=293522.00000001,["x"]=-7567.4285714297,}, + [2]={["y"]=293578.57142858,["x"]=-7616.0000000011,}, + [3]={["y"]=295246.00000001,["x"]=-5591.142857144,}, + [4]={["y"]=295187.71428573,["x"]=-5546.0000000011,}, + [5]={["y"]=293523.14285715,["x"]=-7568.2857142868,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Kutaisi = { + PointsBoundary = { + [1]={["y"]=682087.42857143,["x"]=-284512.85714286,}, + [2]={["y"]=685387.42857143,["x"]=-283662.85714286,}, + [3]={["y"]=685294.57142857,["x"]=-284977.14285715,}, + [4]={["y"]=682744.57142857,["x"]=-286505.71428572,}, + [5]={["y"]=682094.57142857,["x"]=-284527.14285715,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=682638,["x"]=-285202.28571429,}, + [2]={["y"]=685050.28571429,["x"]=-284507.42857144,}, + [3]={["y"]=685068.85714286,["x"]=-284578.85714286,}, + [4]={["y"]=682657.42857143,["x"]=-285264.28571429,}, + [5]={["y"]=682638.28571429,["x"]=-285202.85714286,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + MaykopKhanskaya = { + PointsBoundary = { + [1]={["y"]=456876.28571429,["x"]=-27665.42857143,}, + [2]={["y"]=457800,["x"]=-28392.857142858,}, + [3]={["y"]=459368.57142857,["x"]=-26378.571428573,}, + [4]={["y"]=459425.71428572,["x"]=-25242.857142858,}, + [5]={["y"]=458961.42857143,["x"]=-24964.285714287,}, + [6]={["y"]=456878.57142857,["x"]=-27667.714285715,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=457005.42857143,["x"]=-27668.000000001,}, + [2]={["y"]=459028.85714286,["x"]=-25168.857142858,}, + [3]={["y"]=459082.57142857,["x"]=-25216.857142858,}, + [4]={["y"]=457060,["x"]=-27714.285714287,}, + [5]={["y"]=457004.57142857,["x"]=-27669.714285715,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + MineralnyeVody = { + PointsBoundary = { + [1]={["y"]=703857.14285714,["x"]=-50226.000000002,}, + [2]={["y"]=707385.71428571,["x"]=-51911.714285716,}, + [3]={["y"]=707595.71428571,["x"]=-51434.857142859,}, + [4]={["y"]=707900,["x"]=-51568.857142859,}, + [5]={["y"]=707542.85714286,["x"]=-52326.000000002,}, + [6]={["y"]=706628.57142857,["x"]=-52568.857142859,}, + [7]={["y"]=705142.85714286,["x"]=-51790.285714288,}, + [8]={["y"]=703678.57142857,["x"]=-50611.714285716,}, + [9]={["y"]=703857.42857143,["x"]=-50226.857142859,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=703904,["x"]=-50352.571428573,}, + [2]={["y"]=707596.28571429,["x"]=-52094.571428573,}, + [3]={["y"]=707560.57142858,["x"]=-52161.714285716,}, + [4]={["y"]=703871.71428572,["x"]=-50420.571428573,}, + [5]={["y"]=703902,["x"]=-50352.000000002,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Mozdok = { + PointsBoundary = { + [1]={["y"]=832123.42857143,["x"]=-83608.571428573,}, + [2]={["y"]=835916.28571429,["x"]=-83144.285714288,}, + [3]={["y"]=835474.28571429,["x"]=-84170.571428573,}, + [4]={["y"]=832911.42857143,["x"]=-84470.571428573,}, + [5]={["y"]=832487.71428572,["x"]=-85565.714285716,}, + [6]={["y"]=831573.42857143,["x"]=-85351.42857143,}, + [7]={["y"]=832123.71428572,["x"]=-83610.285714288,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=832201.14285715,["x"]=-83699.428571431,}, + [2]={["y"]=832212.57142857,["x"]=-83780.571428574,}, + [3]={["y"]=835730.28571429,["x"]=-83335.714285717,}, + [4]={["y"]=835718.85714286,["x"]=-83246.571428574,}, + [5]={["y"]=832200.57142857,["x"]=-83700.000000002,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Nalchik = { + PointsBoundary = { + [1]={["y"]=759370,["x"]=-125502.85714286,}, + [2]={["y"]=761384.28571429,["x"]=-124177.14285714,}, + [3]={["y"]=761472.85714286,["x"]=-124325.71428572,}, + [4]={["y"]=761092.85714286,["x"]=-125048.57142857,}, + [5]={["y"]=760295.71428572,["x"]=-125685.71428572,}, + [6]={["y"]=759444.28571429,["x"]=-125734.28571429,}, + [7]={["y"]=759375.71428572,["x"]=-125511.42857143,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=759454.28571429,["x"]=-125551.42857143,}, + [2]={["y"]=759492.85714286,["x"]=-125610.85714286,}, + [3]={["y"]=761406.28571429,["x"]=-124304.28571429,}, + [4]={["y"]=761361.14285714,["x"]=-124239.71428572,}, + [5]={["y"]=759456,["x"]=-125552.57142857,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Novorossiysk = { + PointsBoundary = { + [1]={["y"]=278677.71428573,["x"]=-41656.571428572,}, + [2]={["y"]=278446.2857143,["x"]=-41453.714285715,}, + [3]={["y"]=278989.14285716,["x"]=-40188.000000001,}, + [4]={["y"]=279717.71428573,["x"]=-39968.000000001,}, + [5]={["y"]=280020.57142859,["x"]=-40208.000000001,}, + [6]={["y"]=278674.85714287,["x"]=-41660.857142858,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=278673.14285716,["x"]=-41615.142857144,}, + [2]={["y"]=278625.42857144,["x"]=-41570.571428572,}, + [3]={["y"]=279835.42857144,["x"]=-40226.000000001,}, + [4]={["y"]=279882.2857143,["x"]=-40270.000000001,}, + [5]={["y"]=278672.00000001,["x"]=-41614.857142858,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + SenakiKolkhi = { + PointsBoundary = { + [1]={["y"]=646036.57142857,["x"]=-281778.85714286,}, + [2]={["y"]=646045.14285714,["x"]=-281191.71428571,}, + [3]={["y"]=647032.28571429,["x"]=-280598.85714285,}, + [4]={["y"]=647669.42857143,["x"]=-281273.14285714,}, + [5]={["y"]=648323.71428571,["x"]=-281370.28571428,}, + [6]={["y"]=648520.85714286,["x"]=-281978.85714285,}, + [7]={["y"]=646039.42857143,["x"]=-281783.14285714,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=646060.85714285,["x"]=-281736,}, + [2]={["y"]=646056.57142857,["x"]=-281631.71428571,}, + [3]={["y"]=648442.28571428,["x"]=-281840.28571428,}, + [4]={["y"]=648432.28571428,["x"]=-281918.85714286,}, + [5]={["y"]=646063.71428571,["x"]=-281738.85714286,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + SochiAdler = { + PointsBoundary = { + [1]={["y"]=460642.28571428,["x"]=-164861.71428571,}, + [2]={["y"]=462820.85714285,["x"]=-163368.85714286,}, + [3]={["y"]=463649.42857142,["x"]=-163340.28571429,}, + [4]={["y"]=463835.14285714,["x"]=-164040.28571429,}, + [5]={["y"]=462535.14285714,["x"]=-165654.57142857,}, + [6]={["y"]=460678,["x"]=-165247.42857143,}, + [7]={["y"]=460635.14285714,["x"]=-164876,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=460831.42857143,["x"]=-165180,}, + [2]={["y"]=460878.57142857,["x"]=-165257.14285714,}, + [3]={["y"]=463663.71428571,["x"]=-163793.14285714,}, + [4]={["y"]=463612.28571428,["x"]=-163697.42857143,}, + [5]={["y"]=460831.42857143,["x"]=-165177.14285714,}, + }, + [2] = { + [1]={["y"]=460831.42857143,["x"]=-165180,}, + [2]={["y"]=460878.57142857,["x"]=-165257.14285714,}, + [3]={["y"]=463663.71428571,["x"]=-163793.14285714,}, + [4]={["y"]=463612.28571428,["x"]=-163697.42857143,}, + [5]={["y"]=460831.42857143,["x"]=-165177.14285714,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Soganlug = { + PointsBoundary = { + [1]={["y"]=894530.85714286,["x"]=-316928.28571428,}, + [2]={["y"]=896422.28571428,["x"]=-318622.57142857,}, + [3]={["y"]=896090.85714286,["x"]=-318934,}, + [4]={["y"]=894019.42857143,["x"]=-317119.71428571,}, + [5]={["y"]=894533.71428571,["x"]=-316925.42857143,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=894525.71428571,["x"]=-316964,}, + [2]={["y"]=896363.14285714,["x"]=-318634.28571428,}, + [3]={["y"]=896299.14285714,["x"]=-318702.85714286,}, + [4]={["y"]=894464,["x"]=-317031.71428571,}, + [5]={["y"]=894524.57142857,["x"]=-316963.71428571,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + SukhumiBabushara = { + PointsBoundary = { + [1]={["y"]=562541.14285714,["x"]=-219852.28571429,}, + [2]={["y"]=562691.14285714,["x"]=-219395.14285714,}, + [3]={["y"]=564326.85714286,["x"]=-219523.71428571,}, + [4]={["y"]=566262.57142857,["x"]=-221166.57142857,}, + [5]={["y"]=566069.71428571,["x"]=-221580.85714286,}, + [6]={["y"]=562534,["x"]=-219873.71428571,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=562684,["x"]=-219779.71428571,}, + [2]={["y"]=562717.71428571,["x"]=-219718,}, + [3]={["y"]=566046.85714286,["x"]=-221376.57142857,}, + [4]={["y"]=566012.28571428,["x"]=-221446.57142857,}, + [5]={["y"]=562684.57142857,["x"]=-219782.57142857,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + TbilisiLochini = { + PointsBoundary = { + [1]={["y"]=895172.85714286,["x"]=-314667.42857143,}, + [2]={["y"]=895337.42857143,["x"]=-314143.14285714,}, + [3]={["y"]=895990.28571429,["x"]=-314036,}, + [4]={["y"]=897730.28571429,["x"]=-315284.57142857,}, + [5]={["y"]=897901.71428571,["x"]=-316284.57142857,}, + [6]={["y"]=897684.57142857,["x"]=-316618.85714286,}, + [7]={["y"]=895173.14285714,["x"]=-314667.42857143,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=895261.14285715,["x"]=-314652.28571428,}, + [2]={["y"]=897654.57142857,["x"]=-316523.14285714,}, + [3]={["y"]=897711.71428571,["x"]=-316450.28571429,}, + [4]={["y"]=895327.42857143,["x"]=-314568.85714286,}, + [5]={["y"]=895261.71428572,["x"]=-314656,}, + }, + [2] = { + [1]={["y"]=895605.71428572,["x"]=-314724.57142857,}, + [2]={["y"]=897639.71428572,["x"]=-316148,}, + [3]={["y"]=897683.42857143,["x"]=-316087.14285714,}, + [4]={["y"]=895650,["x"]=-314660,}, + [5]={["y"]=895606,["x"]=-314724.85714286,} + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Vaziani = { + PointsBoundary = { + [1]={["y"]=902122,["x"]=-318163.71428572,}, + [2]={["y"]=902678.57142857,["x"]=-317594,}, + [3]={["y"]=903275.71428571,["x"]=-317405.42857143,}, + [4]={["y"]=903418.57142857,["x"]=-317891.14285714,}, + [5]={["y"]=904292.85714286,["x"]=-318748.28571429,}, + [6]={["y"]=904542,["x"]=-319740.85714286,}, + [7]={["y"]=904042,["x"]=-320166.57142857,}, + [8]={["y"]=902121.42857143,["x"]=-318164.85714286,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=902239.14285714,["x"]=-318190.85714286,}, + [2]={["y"]=904014.28571428,["x"]=-319994.57142857,}, + [3]={["y"]=904064.85714285,["x"]=-319945.14285715,}, + [4]={["y"]=902294.57142857,["x"]=-318146,}, + [5]={["y"]=902247.71428571,["x"]=-318190.85714286,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + }, +} + +--- Creates a new AIRBASEPOLICE_CAUCASUS object. +-- @param #AIRBASEPOLICE_CAUCASUS self +-- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase. +-- @return #AIRBASEPOLICE_CAUCASUS self +function AIRBASEPOLICE_CAUCASUS:New( SetClient ) + + -- Inherits from BASE + local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( SetClient, self.Airbases ) ) + + -- -- AnapaVityazevo + -- local AnapaVityazevoBoundary = GROUP:FindByName( "AnapaVityazevo Boundary" ) + -- self.Airbases.AnapaVityazevo.ZoneBoundary = ZONE_POLYGON:New( "AnapaVityazevo Boundary", AnapaVityazevoBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local AnapaVityazevoRunway1 = GROUP:FindByName( "AnapaVityazevo Runway 1" ) + -- self.Airbases.AnapaVityazevo.ZoneRunways[1] = ZONE_POLYGON:New( "AnapaVityazevo Runway 1", AnapaVityazevoRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Batumi + -- local BatumiBoundary = GROUP:FindByName( "Batumi Boundary" ) + -- self.Airbases.Batumi.ZoneBoundary = ZONE_POLYGON:New( "Batumi Boundary", BatumiBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local BatumiRunway1 = GROUP:FindByName( "Batumi Runway 1" ) + -- self.Airbases.Batumi.ZoneRunways[1] = ZONE_POLYGON:New( "Batumi Runway 1", BatumiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Beslan + -- local BeslanBoundary = GROUP:FindByName( "Beslan Boundary" ) + -- self.Airbases.Beslan.ZoneBoundary = ZONE_POLYGON:New( "Beslan Boundary", BeslanBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local BeslanRunway1 = GROUP:FindByName( "Beslan Runway 1" ) + -- self.Airbases.Beslan.ZoneRunways[1] = ZONE_POLYGON:New( "Beslan Runway 1", BeslanRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Gelendzhik + -- local GelendzhikBoundary = GROUP:FindByName( "Gelendzhik Boundary" ) + -- self.Airbases.Gelendzhik.ZoneBoundary = ZONE_POLYGON:New( "Gelendzhik Boundary", GelendzhikBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local GelendzhikRunway1 = GROUP:FindByName( "Gelendzhik Runway 1" ) + -- self.Airbases.Gelendzhik.ZoneRunways[1] = ZONE_POLYGON:New( "Gelendzhik Runway 1", GelendzhikRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Gudauta + -- local GudautaBoundary = GROUP:FindByName( "Gudauta Boundary" ) + -- self.Airbases.Gudauta.ZoneBoundary = ZONE_POLYGON:New( "Gudauta Boundary", GudautaBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local GudautaRunway1 = GROUP:FindByName( "Gudauta Runway 1" ) + -- self.Airbases.Gudauta.ZoneRunways[1] = ZONE_POLYGON:New( "Gudauta Runway 1", GudautaRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Kobuleti + -- local KobuletiBoundary = GROUP:FindByName( "Kobuleti Boundary" ) + -- self.Airbases.Kobuleti.ZoneBoundary = ZONE_POLYGON:New( "Kobuleti Boundary", KobuletiBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local KobuletiRunway1 = GROUP:FindByName( "Kobuleti Runway 1" ) + -- self.Airbases.Kobuleti.ZoneRunways[1] = ZONE_POLYGON:New( "Kobuleti Runway 1", KobuletiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- KrasnodarCenter + -- local KrasnodarCenterBoundary = GROUP:FindByName( "KrasnodarCenter Boundary" ) + -- self.Airbases.KrasnodarCenter.ZoneBoundary = ZONE_POLYGON:New( "KrasnodarCenter Boundary", KrasnodarCenterBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local KrasnodarCenterRunway1 = GROUP:FindByName( "KrasnodarCenter Runway 1" ) + -- self.Airbases.KrasnodarCenter.ZoneRunways[1] = ZONE_POLYGON:New( "KrasnodarCenter Runway 1", KrasnodarCenterRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- KrasnodarPashkovsky + -- local KrasnodarPashkovskyBoundary = GROUP:FindByName( "KrasnodarPashkovsky Boundary" ) + -- self.Airbases.KrasnodarPashkovsky.ZoneBoundary = ZONE_POLYGON:New( "KrasnodarPashkovsky Boundary", KrasnodarPashkovskyBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local KrasnodarPashkovskyRunway1 = GROUP:FindByName( "KrasnodarPashkovsky Runway 1" ) + -- self.Airbases.KrasnodarPashkovsky.ZoneRunways[1] = ZONE_POLYGON:New( "KrasnodarPashkovsky Runway 1", KrasnodarPashkovskyRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- local KrasnodarPashkovskyRunway2 = GROUP:FindByName( "KrasnodarPashkovsky Runway 2" ) + -- self.Airbases.KrasnodarPashkovsky.ZoneRunways[2] = ZONE_POLYGON:New( "KrasnodarPashkovsky Runway 2", KrasnodarPashkovskyRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Krymsk + -- local KrymskBoundary = GROUP:FindByName( "Krymsk Boundary" ) + -- self.Airbases.Krymsk.ZoneBoundary = ZONE_POLYGON:New( "Krymsk Boundary", KrymskBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local KrymskRunway1 = GROUP:FindByName( "Krymsk Runway 1" ) + -- self.Airbases.Krymsk.ZoneRunways[1] = ZONE_POLYGON:New( "Krymsk Runway 1", KrymskRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Kutaisi + -- local KutaisiBoundary = GROUP:FindByName( "Kutaisi Boundary" ) + -- self.Airbases.Kutaisi.ZoneBoundary = ZONE_POLYGON:New( "Kutaisi Boundary", KutaisiBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local KutaisiRunway1 = GROUP:FindByName( "Kutaisi Runway 1" ) + -- self.Airbases.Kutaisi.ZoneRunways[1] = ZONE_POLYGON:New( "Kutaisi Runway 1", KutaisiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- MaykopKhanskaya + -- local MaykopKhanskayaBoundary = GROUP:FindByName( "MaykopKhanskaya Boundary" ) + -- self.Airbases.MaykopKhanskaya.ZoneBoundary = ZONE_POLYGON:New( "MaykopKhanskaya Boundary", MaykopKhanskayaBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local MaykopKhanskayaRunway1 = GROUP:FindByName( "MaykopKhanskaya Runway 1" ) + -- self.Airbases.MaykopKhanskaya.ZoneRunways[1] = ZONE_POLYGON:New( "MaykopKhanskaya Runway 1", MaykopKhanskayaRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- MineralnyeVody + -- local MineralnyeVodyBoundary = GROUP:FindByName( "MineralnyeVody Boundary" ) + -- self.Airbases.MineralnyeVody.ZoneBoundary = ZONE_POLYGON:New( "MineralnyeVody Boundary", MineralnyeVodyBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local MineralnyeVodyRunway1 = GROUP:FindByName( "MineralnyeVody Runway 1" ) + -- self.Airbases.MineralnyeVody.ZoneRunways[1] = ZONE_POLYGON:New( "MineralnyeVody Runway 1", MineralnyeVodyRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Mozdok + -- local MozdokBoundary = GROUP:FindByName( "Mozdok Boundary" ) + -- self.Airbases.Mozdok.ZoneBoundary = ZONE_POLYGON:New( "Mozdok Boundary", MozdokBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local MozdokRunway1 = GROUP:FindByName( "Mozdok Runway 1" ) + -- self.Airbases.Mozdok.ZoneRunways[1] = ZONE_POLYGON:New( "Mozdok Runway 1", MozdokRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Nalchik + -- local NalchikBoundary = GROUP:FindByName( "Nalchik Boundary" ) + -- self.Airbases.Nalchik.ZoneBoundary = ZONE_POLYGON:New( "Nalchik Boundary", NalchikBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local NalchikRunway1 = GROUP:FindByName( "Nalchik Runway 1" ) + -- self.Airbases.Nalchik.ZoneRunways[1] = ZONE_POLYGON:New( "Nalchik Runway 1", NalchikRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Novorossiysk + -- local NovorossiyskBoundary = GROUP:FindByName( "Novorossiysk Boundary" ) + -- self.Airbases.Novorossiysk.ZoneBoundary = ZONE_POLYGON:New( "Novorossiysk Boundary", NovorossiyskBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local NovorossiyskRunway1 = GROUP:FindByName( "Novorossiysk Runway 1" ) + -- self.Airbases.Novorossiysk.ZoneRunways[1] = ZONE_POLYGON:New( "Novorossiysk Runway 1", NovorossiyskRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- SenakiKolkhi + -- local SenakiKolkhiBoundary = GROUP:FindByName( "SenakiKolkhi Boundary" ) + -- self.Airbases.SenakiKolkhi.ZoneBoundary = ZONE_POLYGON:New( "SenakiKolkhi Boundary", SenakiKolkhiBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local SenakiKolkhiRunway1 = GROUP:FindByName( "SenakiKolkhi Runway 1" ) + -- self.Airbases.SenakiKolkhi.ZoneRunways[1] = ZONE_POLYGON:New( "SenakiKolkhi Runway 1", SenakiKolkhiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- SochiAdler + -- local SochiAdlerBoundary = GROUP:FindByName( "SochiAdler Boundary" ) + -- self.Airbases.SochiAdler.ZoneBoundary = ZONE_POLYGON:New( "SochiAdler Boundary", SochiAdlerBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local SochiAdlerRunway1 = GROUP:FindByName( "SochiAdler Runway 1" ) + -- self.Airbases.SochiAdler.ZoneRunways[1] = ZONE_POLYGON:New( "SochiAdler Runway 1", SochiAdlerRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- local SochiAdlerRunway2 = GROUP:FindByName( "SochiAdler Runway 2" ) + -- self.Airbases.SochiAdler.ZoneRunways[2] = ZONE_POLYGON:New( "SochiAdler Runway 2", SochiAdlerRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Soganlug + -- local SoganlugBoundary = GROUP:FindByName( "Soganlug Boundary" ) + -- self.Airbases.Soganlug.ZoneBoundary = ZONE_POLYGON:New( "Soganlug Boundary", SoganlugBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local SoganlugRunway1 = GROUP:FindByName( "Soganlug Runway 1" ) + -- self.Airbases.Soganlug.ZoneRunways[1] = ZONE_POLYGON:New( "Soganlug Runway 1", SoganlugRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- SukhumiBabushara + -- local SukhumiBabusharaBoundary = GROUP:FindByName( "SukhumiBabushara Boundary" ) + -- self.Airbases.SukhumiBabushara.ZoneBoundary = ZONE_POLYGON:New( "SukhumiBabushara Boundary", SukhumiBabusharaBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local SukhumiBabusharaRunway1 = GROUP:FindByName( "SukhumiBabushara Runway 1" ) + -- self.Airbases.SukhumiBabushara.ZoneRunways[1] = ZONE_POLYGON:New( "SukhumiBabushara Runway 1", SukhumiBabusharaRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- TbilisiLochini + -- local TbilisiLochiniBoundary = GROUP:FindByName( "TbilisiLochini Boundary" ) + -- self.Airbases.TbilisiLochini.ZoneBoundary = ZONE_POLYGON:New( "TbilisiLochini Boundary", TbilisiLochiniBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local TbilisiLochiniRunway1 = GROUP:FindByName( "TbilisiLochini Runway 1" ) + -- self.Airbases.TbilisiLochini.ZoneRunways[1] = ZONE_POLYGON:New( "TbilisiLochini Runway 1", TbilisiLochiniRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- local TbilisiLochiniRunway2 = GROUP:FindByName( "TbilisiLochini Runway 2" ) + -- self.Airbases.TbilisiLochini.ZoneRunways[2] = ZONE_POLYGON:New( "TbilisiLochini Runway 2", TbilisiLochiniRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + -- -- Vaziani + -- local VazianiBoundary = GROUP:FindByName( "Vaziani Boundary" ) + -- self.Airbases.Vaziani.ZoneBoundary = ZONE_POLYGON:New( "Vaziani Boundary", VazianiBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local VazianiRunway1 = GROUP:FindByName( "Vaziani Runway 1" ) + -- self.Airbases.Vaziani.ZoneRunways[1] = ZONE_POLYGON:New( "Vaziani Runway 1", VazianiRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + -- + -- + -- + + + -- Template + -- local TemplateBoundary = GROUP:FindByName( "Template Boundary" ) + -- self.Airbases.Template.ZoneBoundary = ZONE_POLYGON:New( "Template Boundary", TemplateBoundary ):SmokeZone(SMOKECOLOR.White):Flush() + -- + -- local TemplateRunway1 = GROUP:FindByName( "Template Runway 1" ) + -- self.Airbases.Template.ZoneRunways[1] = ZONE_POLYGON:New( "Template Runway 1", TemplateRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() + + return self + +end + + + + +--- @type AIRBASEPOLICE_NEVADA +-- @extends Functional.AirbasePolice#AIRBASEPOLICE_BASE +AIRBASEPOLICE_NEVADA = { + ClassName = "AIRBASEPOLICE_NEVADA", + Airbases = { + Nellis = { + PointsBoundary = { + [1]={["y"]=-17814.714285714,["x"]=-399823.14285714,}, + [2]={["y"]=-16875.857142857,["x"]=-398763.14285714,}, + [3]={["y"]=-16251.571428571,["x"]=-398988.85714286,}, + [4]={["y"]=-16163,["x"]=-398693.14285714,}, + [5]={["y"]=-16328.714285714,["x"]=-398034.57142857,}, + [6]={["y"]=-15943,["x"]=-397571.71428571,}, + [7]={["y"]=-15711.571428571,["x"]=-397551.71428571,}, + [8]={["y"]=-15748.714285714,["x"]=-396806,}, + [9]={["y"]=-16288.714285714,["x"]=-396517.42857143,}, + [10]={["y"]=-16751.571428571,["x"]=-396308.85714286,}, + [11]={["y"]=-17263,["x"]=-396234.57142857,}, + [12]={["y"]=-17577.285714286,["x"]=-396640.28571429,}, + [13]={["y"]=-17614.428571429,["x"]=-397400.28571429,}, + [14]={["y"]=-19405.857142857,["x"]=-399428.85714286,}, + [15]={["y"]=-19234.428571429,["x"]=-399683.14285714,}, + [16]={["y"]=-18708.714285714,["x"]=-399408.85714286,}, + [17]={["y"]=-18397.285714286,["x"]=-399657.42857143,}, + [18]={["y"]=-17814.428571429,["x"]=-399823.42857143,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=-18687,["x"]=-399380.28571429,}, + [2]={["y"]=-18620.714285714,["x"]=-399436.85714286,}, + [3]={["y"]=-16217.857142857,["x"]=-396596.85714286,}, + [4]={["y"]=-16300.142857143,["x"]=-396530,}, + [5]={["y"]=-18687,["x"]=-399380.85714286,}, + }, + [2] = { + [1]={["y"]=-18451.571428572,["x"]=-399580.57142857,}, + [2]={["y"]=-18392.142857143,["x"]=-399628.57142857,}, + [3]={["y"]=-16011,["x"]=-396806.85714286,}, + [4]={["y"]=-16074.714285714,["x"]=-396751.71428572,}, + [5]={["y"]=-18451.571428572,["x"]=-399580.85714285,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + McCarran = { + PointsBoundary = { + [1]={["y"]=-29455.285714286,["x"]=-416277.42857142,}, + [2]={["y"]=-28860.142857143,["x"]=-416492,}, + [3]={["y"]=-25044.428571429,["x"]=-416344.85714285,}, + [4]={["y"]=-24580.142857143,["x"]=-415959.14285714,}, + [5]={["y"]=-25073,["x"]=-415630.57142857,}, + [6]={["y"]=-25087.285714286,["x"]=-415130.57142857,}, + [7]={["y"]=-25830.142857143,["x"]=-414866.28571428,}, + [8]={["y"]=-26658.714285715,["x"]=-414880.57142857,}, + [9]={["y"]=-26973,["x"]=-415273.42857142,}, + [10]={["y"]=-27380.142857143,["x"]=-415187.71428571,}, + [11]={["y"]=-27715.857142857,["x"]=-414144.85714285,}, + [12]={["y"]=-27551.571428572,["x"]=-413473.42857142,}, + [13]={["y"]=-28630.142857143,["x"]=-413201.99999999,}, + [14]={["y"]=-29494.428571429,["x"]=-415437.71428571,}, + [15]={["y"]=-29455.571428572,["x"]=-416277.71428571,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=-29408.428571429,["x"]=-416016.28571428,}, + [2]={["y"]=-29408.142857144,["x"]=-416105.42857142,}, + [3]={["y"]=-24680.714285715,["x"]=-416003.14285713,}, + [4]={["y"]=-24681.857142858,["x"]=-415926.57142856,}, + [5]={["y"]=-29408.42857143,["x"]=-416016.57142856,}, + }, + [2] = { + [1]={["y"]=-28575.571428572,["x"]=-416303.14285713,}, + [2]={["y"]=-28575.571428572,["x"]=-416382.57142856,}, + [3]={["y"]=-25111.000000001,["x"]=-416309.7142857,}, + [4]={["y"]=-25111.000000001,["x"]=-416249.14285713,}, + [5]={["y"]=-28575.571428572,["x"]=-416303.7142857,}, + }, + [3] = { + [1]={["y"]=-29331.000000001,["x"]=-416275.42857141,}, + [2]={["y"]=-29259.000000001,["x"]=-416306.85714284,}, + [3]={["y"]=-28005.571428572,["x"]=-413449.7142857,}, + [4]={["y"]=-28068.714285715,["x"]=-413422.85714284,}, + [5]={["y"]=-29331.000000001,["x"]=-416275.7142857,}, + }, + [4] = { + [1]={["y"]=-29073.285714286,["x"]=-416386.57142856,}, + [2]={["y"]=-28997.285714286,["x"]=-416417.42857141,}, + [3]={["y"]=-27697.571428572,["x"]=-413464.57142856,}, + [4]={["y"]=-27767.857142858,["x"]=-413434.28571427,}, + [5]={["y"]=-29073.000000001,["x"]=-416386.85714284,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + Creech = { + PointsBoundary = { + [1]={["y"]=-74522.714285715,["x"]=-360887.99999998,}, + [2]={["y"]=-74197,["x"]=-360556.57142855,}, + [3]={["y"]=-74402.714285715,["x"]=-359639.42857141,}, + [4]={["y"]=-74637,["x"]=-359279.42857141,}, + [5]={["y"]=-75759.857142857,["x"]=-359005.14285712,}, + [6]={["y"]=-75834.142857143,["x"]=-359045.14285712,}, + [7]={["y"]=-75902.714285714,["x"]=-359782.28571427,}, + [8]={["y"]=-76099.857142857,["x"]=-360399.42857141,}, + [9]={["y"]=-77314.142857143,["x"]=-360219.42857141,}, + [10]={["y"]=-77728.428571429,["x"]=-360445.14285713,}, + [11]={["y"]=-77585.571428571,["x"]=-360585.14285713,}, + [12]={["y"]=-76471.285714286,["x"]=-360819.42857141,}, + [13]={["y"]=-76325.571428571,["x"]=-360942.28571427,}, + [14]={["y"]=-74671.857142857,["x"]=-360927.7142857,}, + [15]={["y"]=-74522.714285714,["x"]=-360888.85714284,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=-74237.571428571,["x"]=-360591.7142857,}, + [2]={["y"]=-74234.428571429,["x"]=-360493.71428571,}, + [3]={["y"]=-77605.285714286,["x"]=-360399.14285713,}, + [4]={["y"]=-77608.714285715,["x"]=-360498.85714285,}, + [5]={["y"]=-74237.857142857,["x"]=-360591.7142857,}, + }, + [2] = { + [1]={["y"]=-75807.571428572,["x"]=-359073.42857142,}, + [2]={["y"]=-74770.142857144,["x"]=-360581.71428571,}, + [3]={["y"]=-74641.285714287,["x"]=-360585.42857142,}, + [4]={["y"]=-75734.142857144,["x"]=-359023.14285714,}, + [5]={["y"]=-75807.285714287,["x"]=-359073.42857142,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + GroomLake = { + PointsBoundary = { + [1]={["y"]=-88916.714285714,["x"]=-289102.28571425,}, + [2]={["y"]=-87023.571428572,["x"]=-290388.57142857,}, + [3]={["y"]=-85916.428571429,["x"]=-290674.28571428,}, + [4]={["y"]=-87645.000000001,["x"]=-286567.14285714,}, + [5]={["y"]=-88380.714285715,["x"]=-286388.57142857,}, + [6]={["y"]=-89670.714285715,["x"]=-283524.28571428,}, + [7]={["y"]=-89797.857142858,["x"]=-283567.14285714,}, + [8]={["y"]=-88635.000000001,["x"]=-286749.99999999,}, + [9]={["y"]=-89177.857142858,["x"]=-287207.14285714,}, + [10]={["y"]=-89092.142857144,["x"]=-288892.85714285,}, + [11]={["y"]=-88917.000000001,["x"]=-289102.85714285,}, + }, + PointsRunways = { + [1] = { + [1]={["y"]=-86039.000000001,["x"]=-290606.28571428,}, + [2]={["y"]=-85965.285714287,["x"]=-290573.99999999,}, + [3]={["y"]=-87692.714285715,["x"]=-286634.85714285,}, + [4]={["y"]=-87756.714285715,["x"]=-286663.99999999,}, + [5]={["y"]=-86038.714285715,["x"]=-290606.85714285,}, + }, + [2] = { + [1]={["y"]=-86808.428571429,["x"]=-290375.7142857,}, + [2]={["y"]=-86732.714285715,["x"]=-290344.28571427,}, + [3]={["y"]=-89672.714285714,["x"]=-283546.57142855,}, + [4]={["y"]=-89772.142857143,["x"]=-283587.71428569,}, + [5]={["y"]=-86808.142857143,["x"]=-290375.7142857,}, + }, + }, + ZoneBoundary = {}, + ZoneRunways = {}, + MaximumSpeed = 50, + }, + }, +} + +--- Creates a new AIRBASEPOLICE_NEVADA object. +-- @param #AIRBASEPOLICE_NEVADA self +-- @param SetClient A SET_CLIENT object that will contain the CLIENT objects to be monitored if they follow the rules of the airbase. +-- @return #AIRBASEPOLICE_NEVADA self +function AIRBASEPOLICE_NEVADA:New( SetClient ) + + -- Inherits from BASE + local self = BASE:Inherit( self, AIRBASEPOLICE_BASE:New( SetClient, self.Airbases ) ) + +-- -- Nellis +-- local NellisBoundary = GROUP:FindByName( "Nellis Boundary" ) +-- self.Airbases.Nellis.ZoneBoundary = ZONE_POLYGON:New( "Nellis Boundary", NellisBoundary ):SmokeZone(SMOKECOLOR.White):Flush() +-- +-- local NellisRunway1 = GROUP:FindByName( "Nellis Runway 1" ) +-- self.Airbases.Nellis.ZoneRunways[1] = ZONE_POLYGON:New( "Nellis Runway 1", NellisRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- local NellisRunway2 = GROUP:FindByName( "Nellis Runway 2" ) +-- self.Airbases.Nellis.ZoneRunways[2] = ZONE_POLYGON:New( "Nellis Runway 2", NellisRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- -- McCarran +-- local McCarranBoundary = GROUP:FindByName( "McCarran Boundary" ) +-- self.Airbases.McCarran.ZoneBoundary = ZONE_POLYGON:New( "McCarran Boundary", McCarranBoundary ):SmokeZone(SMOKECOLOR.White):Flush() +-- +-- local McCarranRunway1 = GROUP:FindByName( "McCarran Runway 1" ) +-- self.Airbases.McCarran.ZoneRunways[1] = ZONE_POLYGON:New( "McCarran Runway 1", McCarranRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- local McCarranRunway2 = GROUP:FindByName( "McCarran Runway 2" ) +-- self.Airbases.McCarran.ZoneRunways[2] = ZONE_POLYGON:New( "McCarran Runway 2", McCarranRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- local McCarranRunway3 = GROUP:FindByName( "McCarran Runway 3" ) +-- self.Airbases.McCarran.ZoneRunways[3] = ZONE_POLYGON:New( "McCarran Runway 3", McCarranRunway3 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- local McCarranRunway4 = GROUP:FindByName( "McCarran Runway 4" ) +-- self.Airbases.McCarran.ZoneRunways[4] = ZONE_POLYGON:New( "McCarran Runway 4", McCarranRunway4 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- -- Creech +-- local CreechBoundary = GROUP:FindByName( "Creech Boundary" ) +-- self.Airbases.Creech.ZoneBoundary = ZONE_POLYGON:New( "Creech Boundary", CreechBoundary ):SmokeZone(SMOKECOLOR.White):Flush() +-- +-- local CreechRunway1 = GROUP:FindByName( "Creech Runway 1" ) +-- self.Airbases.Creech.ZoneRunways[1] = ZONE_POLYGON:New( "Creech Runway 1", CreechRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- local CreechRunway2 = GROUP:FindByName( "Creech Runway 2" ) +-- self.Airbases.Creech.ZoneRunways[2] = ZONE_POLYGON:New( "Creech Runway 2", CreechRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- -- Groom Lake +-- local GroomLakeBoundary = GROUP:FindByName( "GroomLake Boundary" ) +-- self.Airbases.GroomLake.ZoneBoundary = ZONE_POLYGON:New( "GroomLake Boundary", GroomLakeBoundary ):SmokeZone(SMOKECOLOR.White):Flush() +-- +-- local GroomLakeRunway1 = GROUP:FindByName( "GroomLake Runway 1" ) +-- self.Airbases.GroomLake.ZoneRunways[1] = ZONE_POLYGON:New( "GroomLake Runway 1", GroomLakeRunway1 ):SmokeZone(SMOKECOLOR.Red):Flush() +-- +-- local GroomLakeRunway2 = GROUP:FindByName( "GroomLake Runway 2" ) +-- self.Airbases.GroomLake.ZoneRunways[2] = ZONE_POLYGON:New( "GroomLake Runway 2", GroomLakeRunway2 ):SmokeZone(SMOKECOLOR.Red):Flush() + +end + + + + + + --- **Functional** - DETECTION_ classes model the detection of enemy units by FACs or RECCEs and group them according various methods. +-- +-- ![Banner Image](..\Presentations\DETECTION\Dia1.JPG) +-- +-- === +-- +-- DETECTION classes facilitate the detection of enemy units within the battle zone executed by FACs (Forward Air Controllers) or RECCEs (Reconnassance Units). +-- DETECTION uses the in-built detection capabilities of DCS World, but adds new functionalities. +-- +-- Please watch this [youtube video](https://youtu.be/C7p81dUwP-E) that explains the detection concepts. +-- +-- +-- ### Contributions: +-- +-- * Mechanist : Early concept of DETECTION_AREAS. +-- +-- ### Authors: +-- +-- * FlightControl : Analysis, Design, Programming, Testing +-- +-- @module Detection + + +do -- DETECTION_BASE + + --- # 1) DETECTION_BASE class, extends @{Fsm#FSM} + -- + -- The DETECTION_BASE class defines the core functions to administer detected objects. + -- The DETECTION_BASE class will detect objects within the battle zone for a list of @{Group}s detecting targets following (a) detection method(s). + -- + -- ## 1.1) DETECTION_BASE constructor + -- + -- Construct a new DETECTION_BASE instance using the @{#DETECTION_BASE.New}() method. + -- + -- ## 1.2) DETECTION_BASE initialization + -- + -- By default, detection will return detected objects with all the detection sensors available. + -- However, you can ask how the objects were found with specific detection methods. + -- If you use one of the below methods, the detection will work with the detection method specified. + -- You can specify to apply multiple detection methods. + -- + -- Use the following functions to report the objects it detected using the methods Visual, Optical, Radar, IRST, RWR, DLINK: + -- + -- * @{#DETECTION_BASE.InitDetectVisual}(): Detected using Visual. + -- * @{#DETECTION_BASE.InitDetectOptical}(): Detected using Optical. + -- * @{#DETECTION_BASE.InitDetectRadar}(): Detected using Radar. + -- * @{#DETECTION_BASE.InitDetectIRST}(): Detected using IRST. + -- * @{#DETECTION_BASE.InitDetectRWR}(): Detected using RWR. + -- * @{#DETECTION_BASE.InitDetectDLINK}(): Detected using DLINK. + -- + -- ## 1.3) DETECTION_BASE derived classes group the detected units into a DetectedItems[] list + -- + -- DETECTION_BASE derived classes build a list called DetectedItems[], which is essentially a first later + -- of grouping of detected units. Each DetectedItem within the DetectedItems[] list contains + -- a SET_UNIT object that contains the detected units that belong to that group. + -- + -- Derived classes will apply different methods to group the detected units. + -- Examples are per area, per quadrant, per distance, per type. + -- See further the derived DETECTION classes on which grouping methods are currently supported. + -- + -- Various methods exist how to retrieve the grouped items from a DETECTION_BASE derived class: + -- + -- * The method @{Detection#DETECTION_BASE.GetDetectedItems}() retrieves the DetectedItems[] list. + -- * A DetectedItem from the DetectedItems[] list can be retrieved using the method @{Detection#DETECTION_BASE.GetDetectedItem}( DetectedItemIndex ). + -- Note that this method returns a DetectedItem element from the list, that contains a Set variable and further information + -- about the DetectedItem that is set by the DETECTION_BASE derived classes, used to group the DetectedItem. + -- * A DetectedSet from the DetectedItems[] list can be retrieved using the method @{Detection#DETECTION_BASE.GetDetectedSet}( DetectedItemIndex ). + -- This method retrieves the Set from a DetectedItem element from the DetectedItem list (DetectedItems[ DetectedItemIndex ].Set ). + -- + -- ## 1.4) Apply additional Filters to fine-tune the detected objects + -- + -- By default, DCS World will return any object that is in LOS and within "visual reach", or detectable through one of the electronic detection means. + -- That being said, the DCS World detection algorithm can sometimes be unrealistic. + -- Especially for a visual detection, DCS World is able to report within 1 second a detailed detection of a group of 20 units (including types of the units) that are 10 kilometers away, using only visual capabilities. + -- Additionally, trees and other obstacles are not accounted during the DCS World detection. + -- + -- Therefore, an additional (optional) filtering has been built into the DETECTION_BASE class, that can be set for visual detected units. + -- For electronic detection, this filtering is not applied, only for visually detected targets. + -- + -- The following additional filtering can be applied for visual filtering: + -- + -- * A probability factor per kilometer distance. + -- * A probability factor based on the alpha angle between the detected object and the unit detecting. + -- A detection from a higher altitude allows for better detection than when on the ground. + -- * Define a probability factor for "cloudy zones", which are zones where forests or villages are located. In these zones, detection will be much more difficult. + -- The mission designer needs to define these cloudy zones within the mission, and needs to register these zones in the DETECTION_ objects additing a probability factor per zone. + -- + -- I advise however, that, when you first use the DETECTION derived classes, that you don't use these filters. + -- Only when you experience unrealistic behaviour in your missions, these filters could be applied. + -- + -- ### 1.4.1 ) Distance visual detection probability + -- + -- Upon a **visual** detection, the further away a detected object is, the less likely it is to be detected properly. + -- Also, the speed of accurate detection plays a role. + -- + -- A distance probability factor between 0 and 1 can be given, that will model a linear extrapolated probability over 10 km distance. + -- + -- For example, if a probability factor of 0.6 (60%) is given, the extrapolated probabilities over 15 kilometers would like like: + -- 1 km: 96%, 2 km: 92%, 3 km: 88%, 4 km: 84%, 5 km: 80%, 6 km: 76%, 7 km: 72%, 8 km: 68%, 9 km: 64%, 10 km: 60%, 11 km: 56%, 12 km: 52%, 13 km: 48%, 14 km: 44%, 15 km: 40%. + -- + -- Note that based on this probability factor, not only the detection but also the **type** of the unit will be applied! + -- + -- Use the method @{Detection#DETECTION_BASE.SetDistanceProbability}() to set the probability factor upon a 10 km distance. + -- + -- ### 1.4.2 ) Alpha Angle visual detection probability + -- + -- Upon a **visual** detection, the higher the unit is during the detecting process, the more likely the detected unit is to be detected properly. + -- A detection at a 90% alpha angle is the most optimal, a detection at 10% is less and a detection at 0% is less likely to be correct. + -- + -- A probability factor between 0 and 1 can be given, that will model a progressive extrapolated probability if the target would be detected at a 0° angle. + -- + -- For example, if a alpha angle probability factor of 0.7 is given, the extrapolated probabilities of the different angles would look like: + -- 0°: 70%, 10°: 75,21%, 20°: 80,26%, 30°: 85%, 40°: 89,28%, 50°: 92,98%, 60°: 95,98%, 70°: 98,19%, 80°: 99,54%, 90°: 100% + -- + -- Use the method @{Detection#DETECTION_BASE.SetAlphaAngleProbability}() to set the probability factor if 0°. + -- + -- ### 1.4.3 ) Cloudy Zones detection probability + -- + -- Upon a **visual** detection, the more a detected unit is within a cloudy zone, the less likely the detected unit is to be detected successfully. + -- The Cloudy Zones work with the ZONE_BASE derived classes. The mission designer can define within the mission + -- zones that reflect cloudy areas where detected units may not be so easily visually detected. + -- + -- Use the method @{Detection#DETECTION_BASE.SetZoneProbability}() to set for a defined number of zones, the probability factors. + -- + -- Note however, that the more zones are defined to be "cloudy" within a detection, the more performance it will take + -- from the DETECTION_BASE to calculate the presence of the detected unit within each zone. + -- Expecially for ZONE_POLYGON, try to limit the amount of nodes of the polygon! + -- + -- Typically, this kind of filter would be applied for very specific areas were a detection needs to be very realisting for + -- AI not to detect so easily targets within a forrest or village rich area. + -- + -- ## 1.5 ) Accept / Reject detected units + -- + -- DETECTION_BASE can accept or reject successful detections based on the location of the detected object, + -- if it is located in range or located inside or outside of specific zones. + -- + -- ### 1.5.1 ) Detection acceptance of within range limit + -- + -- A range can be set that will limit a successful detection for a unit. + -- Use the method @{Detection#DETECTION_BASE.SetAcceptRange}() to apply a range in meters till where detected units will be accepted. + -- + -- local SetGroup = SET_GROUP:New():FilterPrefixes( "FAC" ):FilterStart() -- Build a SetGroup of Forward Air Controllers. + -- + -- -- Build a detect object. + -- local Detection = DETECTION_BASE:New( SetGroup ) + -- + -- -- This will accept detected units if the range is below 5000 meters. + -- Detection:SetAcceptRange( 5000 ) + -- + -- -- Start the Detection. + -- Detection:Start() + -- + -- + -- ### 1.5.2 ) Detection acceptance if within zone(s). + -- + -- Specific ZONE_BASE object(s) can be given as a parameter, which will only accept a detection if the unit is within the specified ZONE_BASE object(s). + -- Use the method @{Detection#DETECTION_BASE.SetAcceptZones}() will accept detected units if they are within the specified zones. + -- + -- local SetGroup = SET_GROUP:New():FilterPrefixes( "FAC" ):FilterStart() -- Build a SetGroup of Forward Air Controllers. + -- + -- -- Search fo the zones where units are to be accepted. + -- local ZoneAccept1 = ZONE:New( "AcceptZone1" ) + -- local ZoneAccept2 = ZONE:New( "AcceptZone2" ) + -- + -- -- Build a detect object. + -- local Detection = DETECTION_BASE:New( SetGroup ) + -- + -- -- This will accept detected units by Detection when the unit is within ZoneAccept1 OR ZoneAccept2. + -- Detection:SetAcceptZones( { ZoneAccept1, ZoneAccept2 } ) + -- + -- -- Start the Detection. + -- Detection:Start() + -- + -- ### 1.5.3 ) Detection rejectance if within zone(s). + -- + -- Specific ZONE_BASE object(s) can be given as a parameter, which will reject detection if the unit is within the specified ZONE_BASE object(s). + -- Use the method @{Detection#DETECTION_BASE.SetRejectZones}() will reject detected units if they are within the specified zones. + -- An example of how to use the method is shown below. + -- + -- local SetGroup = SET_GROUP:New():FilterPrefixes( "FAC" ):FilterStart() -- Build a SetGroup of Forward Air Controllers. + -- + -- -- Search fo the zones where units are to be rejected. + -- local ZoneReject1 = ZONE:New( "RejectZone1" ) + -- local ZoneReject2 = ZONE:New( "RejectZone2" ) + -- + -- -- Build a detect object. + -- local Detection = DETECTION_BASE:New( SetGroup ) + -- + -- -- This will reject detected units by Detection when the unit is within ZoneReject1 OR ZoneReject2. + -- Detection:SetRejectZones( { ZoneReject1, ZoneReject2 } ) + -- + -- -- Start the Detection. + -- Detection:Start() + -- + -- ## 1.6) DETECTION_BASE is a Finite State Machine + -- + -- Various Events and State Transitions can be tailored using DETECTION_BASE. + -- + -- ### 1.6.1) DETECTION_BASE States + -- + -- * **Detecting**: The detection is running. + -- * **Stopped**: The detection is stopped. + -- + -- ### 1.6.2) DETECTION_BASE Events + -- + -- * **Start**: Start the detection process. + -- * **Detect**: Detect new units. + -- * **Detected**: New units have been detected. + -- * **Stop**: Stop the detection process. + -- + -- @type DETECTION_BASE + -- @field Core.Set#SET_GROUP DetectionSetGroup The @{Set} of GROUPs in the Forward Air Controller role. + -- @field Dcs.DCSTypes#Distance DetectionRange The range till which targets are accepted to be detected. + -- @field #DETECTION_BASE.DetectedObjects DetectedObjects The list of detected objects. + -- @field #table DetectedObjectsIdentified Map of the DetectedObjects identified. + -- @field #number DetectionRun + -- @extends Core.Fsm#FSM + DETECTION_BASE = { + ClassName = "DETECTION_BASE", + DetectionSetGroup = nil, + DetectionRange = nil, + DetectedObjects = {}, + DetectionRun = 0, + DetectedObjectsIdentified = {}, + DetectedItems = {}, + } + + --- @type DETECTION_BASE.DetectedObjects + -- @list <#DETECTION_BASE.DetectedObject> + + --- @type DETECTION_BASE.DetectedObject + -- @field #string Name + -- @field #boolean Visible + -- @field #string Type + -- @field #number Distance + -- @field #boolean Identified + + --- @type DETECTION_BASE.DetectedItems + -- @list <#DETECTION_BASE.DetectedItem> + + --- @type DETECTION_BASE.DetectedItem + -- @field Core.Set#SET_UNIT Set + -- @field Core.Set#SET_UNIT Set -- The Set of Units in the detected area. + -- @field Core.Zone#ZONE_UNIT Zone -- The Zone of the detected area. + -- @field #boolean Changed Documents if the detected area has changes. + -- @field #table Changes A list of the changes reported on the detected area. (It is up to the user of the detected area to consume those changes). + -- @field #number ItemID -- The identifier of the detected area. + -- @field #boolean FriendliesNearBy Indicates if there are friendlies within the detected area. + -- @field Wrapper.Unit#UNIT NearestFAC The nearest FAC near the Area. + + + --- DETECTION constructor. + -- @param #DETECTION_BASE self + -- @param Core.Set#SET_GROUP DetectionSetGroup The @{Set} of GROUPs in the Forward Air Controller role. + -- @return #DETECTION_BASE self + function DETECTION_BASE:New( DetectionSetGroup ) + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM:New() ) -- #DETECTION_BASE + + self.DetectedItemCount = 0 + self.DetectedItemMax = 0 + self.DetectedItems = {} + + self.DetectionSetGroup = DetectionSetGroup + + self.DetectionInterval = 30 + + self:InitDetectVisual( true ) + self:InitDetectOptical( false ) + self:InitDetectRadar( false ) + self:InitDetectRWR( false ) + self:InitDetectIRST( false ) + self:InitDetectDLINK( false ) + + -- Create FSM transitions. + + self:SetStartState( "Stopped" ) + self.CountryID = DetectionSetGroup:GetFirst():GetCountry() + + self:AddTransition( "Stopped", "Start", "Detecting") + + --- OnLeave Transition Handler for State Stopped. + -- @function [parent=#DETECTION_BASE] OnLeaveStopped + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Stopped. + -- @function [parent=#DETECTION_BASE] OnEnterStopped + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- OnBefore Transition Handler for Event Start. + -- @function [parent=#DETECTION_BASE] OnBeforeStart + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Start. + -- @function [parent=#DETECTION_BASE] OnAfterStart + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Start. + -- @function [parent=#DETECTION_BASE] Start + -- @param #DETECTION_BASE self + + --- Asynchronous Event Trigger for Event Start. + -- @function [parent=#DETECTION_BASE] __Start + -- @param #DETECTION_BASE self + -- @param #number Delay The delay in seconds. + + --- OnLeave Transition Handler for State Detecting. + -- @function [parent=#DETECTION_BASE] OnLeaveDetecting + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Detecting. + -- @function [parent=#DETECTION_BASE] OnEnterDetecting + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + self:AddTransition( "Detecting", "Detect", "Detecting" ) + self:AddTransition( "Detecting", "DetectionGroup", "Detecting" ) + + --- OnBefore Transition Handler for Event Detect. + -- @function [parent=#DETECTION_BASE] OnBeforeDetect + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Detect. + -- @function [parent=#DETECTION_BASE] OnAfterDetect + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Detect. + -- @function [parent=#DETECTION_BASE] Detect + -- @param #DETECTION_BASE self + + --- Asynchronous Event Trigger for Event Detect. + -- @function [parent=#DETECTION_BASE] __Detect + -- @param #DETECTION_BASE self + -- @param #number Delay The delay in seconds. + + + self:AddTransition( "Detecting", "Detected", "Detecting" ) + + --- OnBefore Transition Handler for Event Detected. + -- @function [parent=#DETECTION_BASE] OnBeforeDetected + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Detected. + -- @function [parent=#DETECTION_BASE] OnAfterDetected + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Detected. + -- @function [parent=#DETECTION_BASE] Detected + -- @param #DETECTION_BASE self + + --- Asynchronous Event Trigger for Event Detected. + -- @function [parent=#DETECTION_BASE] __Detected + -- @param #DETECTION_BASE self + -- @param #number Delay The delay in seconds. + + + self:AddTransition( "*", "Stop", "Stopped" ) + + --- OnBefore Transition Handler for Event Stop. + -- @function [parent=#DETECTION_BASE] OnBeforeStop + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Stop. + -- @function [parent=#DETECTION_BASE] OnAfterStop + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Stop. + -- @function [parent=#DETECTION_BASE] Stop + -- @param #DETECTION_BASE self + + --- Asynchronous Event Trigger for Event Stop. + -- @function [parent=#DETECTION_BASE] __Stop + -- @param #DETECTION_BASE self + -- @param #number Delay The delay in seconds. + + --- OnLeave Transition Handler for State Stopped. + -- @function [parent=#DETECTION_BASE] OnLeaveStopped + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Stopped. + -- @function [parent=#DETECTION_BASE] OnEnterStopped + -- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + return self + end + + do -- State Transition Handling + + --- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + function DETECTION_BASE:onafterStart(From,Event,To) + self:__Detect(0.1) + end + + --- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + function DETECTION_BASE:onafterDetect(From,Event,To) + self:E( {From,Event,To}) + + local DetectDelay = 0.1 + self.DetectionCount = 0 + self.DetectionRun = 0 + self:UnIdentifyAllDetectedObjects() -- Resets the DetectedObjectsIdentified table + + self.DetectionSetGroup:Flush() + + for DetectionGroupID, DetectionGroupData in pairs( self.DetectionSetGroup:GetSet() ) do + self:E( {DetectionGroupData}) + self:__DetectionGroup( DetectDelay, DetectionGroupData ) -- Process each detection asynchronously. + self.DetectionCount = self.DetectionCount + 1 + DetectDelay = DetectDelay + 0.1 + end + end + + --- @param #DETECTION_BASE self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @param Wrapper.Group#GROUP DetectionGroup The Group detecting. + function DETECTION_BASE:onafterDetectionGroup( From, Event, To, DetectionGroup ) + self:E( {From,Event,To}) + + self.DetectionRun = self.DetectionRun + 1 + + local HasDetectedObjects = false + + if DetectionGroup:IsAlive() then + + self:T( { "DetectionGroup is Alive", DetectionGroup:GetName() } ) + + local DetectionGroupName = DetectionGroup:GetName() + + local DetectedUnits = {} + + local DetectedTargets = DetectionGroup:GetDetectedTargets( + self.DetectVisual, + self.DetectOptical, + self.DetectRadar, + self.DetectIRST, + self.DetectRWR, + self.DetectDLINK + ) + + self:T( DetectedTargets ) + + for DetectionObjectID, Detection in pairs( DetectedTargets ) do + local DetectedObject = Detection.object -- Dcs.DCSWrapper.Object#Object + self:T2( DetectedObject ) + + if DetectedObject and DetectedObject:isExist() and DetectedObject.id_ < 50000000 then + + local DetectionAccepted = true + + local DetectedObjectName = DetectedObject:getName() + + local DetectedObjectVec3 = DetectedObject:getPoint() + local DetectedObjectVec2 = { x = DetectedObjectVec3.x, y = DetectedObjectVec3.z } + local DetectionGroupVec3 = DetectionGroup:GetVec3() + local DetectionGroupVec2 = { x = DetectionGroupVec3.x, y = DetectionGroupVec3.z } + + local Distance = ( ( DetectedObjectVec3.x - DetectionGroupVec3.x )^2 + + ( DetectedObjectVec3.y - DetectionGroupVec3.y )^2 + + ( DetectedObjectVec3.z - DetectionGroupVec3.z )^2 + ) ^ 0.5 / 1000 + + self:T( { "Detected Target", DetectionGroupName, DetectedObjectName, Distance } ) + + -- Calculate Acceptance + + if self.AcceptRange and Distance > self.AcceptRange then + DetectionAccepted = false + end + + if self.AcceptZones then + for AcceptZoneID, AcceptZone in pairs( self.AcceptZones ) do + local AcceptZone = AcceptZone -- Core.Zone#ZONE_BASE + if AcceptZone:IsPointVec2InZone( DetectedObjectVec2 ) == false then + DetectionAccepted = false + end + end + end + + if self.RejectZones then + for RejectZoneID, RejectZone in pairs( self.RejectZones ) do + local RejectZone = RejectZone -- Core.Zone#ZONE_BASE + if RejectZone:IsPointVec2InZone( DetectedObjectVec2 ) == true then + DetectionAccepted = false + end + end + end + + -- Calculate additional probabilities + + if not self.DetectedObjects[DetectedObjectName] and Detection.visible and self.DistanceProbability then + local DistanceFactor = Distance / 4 + local DistanceProbabilityReversed = ( 1 - self.DistanceProbability ) * DistanceFactor + local DistanceProbability = 1 - DistanceProbabilityReversed + DistanceProbability = DistanceProbability * 30 / 300 + local Probability = math.random() -- Selects a number between 0 and 1 + self:T( { Probability, DistanceProbability } ) + if Probability > DistanceProbability then + DetectionAccepted = false + end + end + + if not self.DetectedObjects[DetectedObjectName] and Detection.visible and self.AlphaAngleProbability then + local NormalVec2 = { x = DetectedObjectVec2.x - DetectionGroupVec2.x, y = DetectedObjectVec2.y - DetectionGroupVec2.y } + local AlphaAngle = math.atan2( NormalVec2.y, NormalVec2.x ) + local Sinus = math.sin( AlphaAngle ) + local AlphaAngleProbabilityReversed = ( 1 - self.AlphaAngleProbability ) * ( 1 - Sinus ) + local AlphaAngleProbability = 1 - AlphaAngleProbabilityReversed + + AlphaAngleProbability = AlphaAngleProbability * 30 / 300 + + local Probability = math.random() -- Selects a number between 0 and 1 + self:T( { Probability, AlphaAngleProbability } ) + if Probability > AlphaAngleProbability then + DetectionAccepted = false + end + + end + + if not self.DetectedObjects[DetectedObjectName] and Detection.visible and self.ZoneProbability then + + for ZoneDataID, ZoneData in pairs( self.ZoneProbability ) do + self:E({ZoneData}) + local ZoneObject = ZoneData[1] -- Core.Zone#ZONE_BASE + local ZoneProbability = ZoneData[2] -- #number + ZoneProbability = ZoneProbability * 30 / 300 + + if ZoneObject:IsPointVec2InZone( DetectedObjectVec2 ) == true then + local Probability = math.random() -- Selects a number between 0 and 1 + self:T( { Probability, ZoneProbability } ) + if Probability > ZoneProbability then + DetectionAccepted = false + break + end + end + end + end + + if DetectionAccepted then + + HasDetectedObjects = true + + if not self.DetectedObjects[DetectedObjectName] then + self.DetectedObjects[DetectedObjectName] = {} + end + self.DetectedObjects[DetectedObjectName].Name = DetectedObjectName + self.DetectedObjects[DetectedObjectName].Visible = Detection.visible + self.DetectedObjects[DetectedObjectName].Type = Detection.type + self.DetectedObjects[DetectedObjectName].Distance = Distance + + local DetectedUnit = UNIT:FindByName( DetectedObjectName ) + + DetectedUnits[DetectedObjectName] = DetectedUnit + else + -- if beyond the DetectionRange then nullify... + if self.DetectedObjects[DetectedObjectName] then + self.DetectedObjects[DetectedObjectName] = nil + end + end + end + + self:T2( self.DetectedObjects ) + end + + if HasDetectedObjects then + self:__Detected( 0.1, DetectedUnits ) + end + + end + + if self.DetectionCount > 0 and self.DetectionRun == self.DetectionCount then + self:__Detect( self.DetectionInterval ) + + self:T( "--> Create Detection Sets" ) + self:CreateDetectionSets() + end + + end + + + end + + do -- Initialization methods + + --- Detect Visual. + -- @param #DETECTION_BASE self + -- @param #boolean DetectVisual + -- @return #DETECTION_BASE self + function DETECTION_BASE:InitDetectVisual( DetectVisual ) + + self.DetectVisual = DetectVisual + end + + --- Detect Optical. + -- @param #DETECTION_BASE self + -- @param #boolean DetectOptical + -- @return #DETECTION_BASE self + function DETECTION_BASE:InitDetectOptical( DetectOptical ) + self:F2() + + self.DetectOptical = DetectOptical + end + + --- Detect Radar. + -- @param #DETECTION_BASE self + -- @param #boolean DetectRadar + -- @return #DETECTION_BASE self + function DETECTION_BASE:InitDetectRadar( DetectRadar ) + self:F2() + + self.DetectRadar = DetectRadar + end + + --- Detect IRST. + -- @param #DETECTION_BASE self + -- @param #boolean DetectIRST + -- @return #DETECTION_BASE self + function DETECTION_BASE:InitDetectIRST( DetectIRST ) + self:F2() + + self.DetectIRST = DetectIRST + end + + --- Detect RWR. + -- @param #DETECTION_BASE self + -- @param #boolean DetectRWR + -- @return #DETECTION_BASE self + function DETECTION_BASE:InitDetectRWR( DetectRWR ) + self:F2() + + self.DetectRWR = DetectRWR + end + + --- Detect DLINK. + -- @param #DETECTION_BASE self + -- @param #boolean DetectDLINK + -- @return #DETECTION_BASE self + function DETECTION_BASE:InitDetectDLINK( DetectDLINK ) + self:F2() + + self.DetectDLINK = DetectDLINK + end + + end + + do + + --- Set the detection interval time in seconds. + -- @param #DETECTION_BASE self + -- @param #number DetectionInterval Interval in seconds. + -- @return #DETECTION_BASE self + function DETECTION_BASE:SetDetectionInterval( DetectionInterval ) + self:F2() + + self.DetectionInterval = DetectionInterval + + return self + end + + end + + do -- Accept / Reject detected units + + --- Accept detections if within a range in meters. + -- @param #DETECTION_BASE self + -- @param #number AcceptRange Accept a detection if the unit is within the AcceptRange in meters. + -- @return #DETECTION_BASE self + function DETECTION_BASE:SetAcceptRange( AcceptRange ) + self:F2() + + self.AcceptRange = AcceptRange + + return self + end + + --- Accept detections if within the specified zone(s). + -- @param #DETECTION_BASE self + -- @param AcceptZones Can be a list or ZONE_BASE objects, or a single ZONE_BASE object. + -- @return #DETECTION_BASE self + function DETECTION_BASE:SetAcceptZones( AcceptZones ) + self:F2() + + if type( AcceptZones ) == "table" then + self.AcceptZones = AcceptZones + else + self.AcceptZones = { AcceptZones } + end + + return self + end + + --- Reject detections if within the specified zone(s). + -- @param #DETECTION_BASE self + -- @param RejectZones Can be a list or ZONE_BASE objects, or a single ZONE_BASE object. + -- @return #DETECTION_BASE self + function DETECTION_BASE:SetRejectZones( RejectZones ) + self:F2() + + if type( RejectZones ) == "table" then + self.RejectZones = RejectZones + else + self.RejectZones = { RejectZones } + end + + return self + end + + end + + do -- Probability methods + + --- Upon a **visual** detection, the further away a detected object is, the less likely it is to be detected properly. + -- Also, the speed of accurate detection plays a role. + -- A distance probability factor between 0 and 1 can be given, that will model a linear extrapolated probability over 10 km distance. + -- For example, if a probability factor of 0.6 (60%) is given, the extrapolated probabilities over 15 kilometers would like like: + -- 1 km: 96%, 2 km: 92%, 3 km: 88%, 4 km: 84%, 5 km: 80%, 6 km: 76%, 7 km: 72%, 8 km: 68%, 9 km: 64%, 10 km: 60%, 11 km: 56%, 12 km: 52%, 13 km: 48%, 14 km: 44%, 15 km: 40%. + -- @param #DETECTION_BASE self + -- @param DistanceProbability The probability factor. + -- @return #DETECTION_BASE self + function DETECTION_BASE:SetDistanceProbability( DistanceProbability ) + self:F2() + + self.DistanceProbability = DistanceProbability + + return self + end + + + --- Upon a **visual** detection, the higher the unit is during the detecting process, the more likely the detected unit is to be detected properly. + -- A detection at a 90% alpha angle is the most optimal, a detection at 10% is less and a detection at 0% is less likely to be correct. + -- + -- A probability factor between 0 and 1 can be given, that will model a progressive extrapolated probability if the target would be detected at a 0° angle. + -- + -- For example, if a alpha angle probability factor of 0.7 is given, the extrapolated probabilities of the different angles would look like: + -- 0°: 70%, 10°: 75,21%, 20°: 80,26%, 30°: 85%, 40°: 89,28%, 50°: 92,98%, 60°: 95,98%, 70°: 98,19%, 80°: 99,54%, 90°: 100% + -- @param #DETECTION_BASE self + -- @param AlphaAngleProbability The probability factor. + -- @return #DETECTION_BASE self + function DETECTION_BASE:SetAlphaAngleProbability( AlphaAngleProbability ) + self:F2() + + self.AlphaAngleProbability = AlphaAngleProbability + + return self + end + + --- Upon a **visual** detection, the more a detected unit is within a cloudy zone, the less likely the detected unit is to be detected successfully. + -- The Cloudy Zones work with the ZONE_BASE derived classes. The mission designer can define within the mission + -- zones that reflect cloudy areas where detected units may not be so easily visually detected. + -- @param #DETECTION_BASE self + -- @param ZoneArray Aray of a The ZONE_BASE object and a ZoneProbability pair.. + -- @return #DETECTION_BASE self + function DETECTION_BASE:SetZoneProbability( ZoneArray ) + self:F2() + + self.ZoneProbability = ZoneArray + + return self + end + + + end + + do -- Change processing + + --- Accepts changes from the detected item. + -- @param #DETECTION_BASE self + -- @param #DETECTION_BASE.DetectedItem DetectedItem + -- @return #DETECTION_BASE self + function DETECTION_BASE:AcceptChanges( DetectedItem ) + + DetectedItem.Changed = false + DetectedItem.Changes = {} + + return self + end + + --- Add a change to the detected zone. + -- @param #DETECTION_BASE self + -- @param #DETECTION_BASE.DetectedItem DetectedItem + -- @param #string ChangeCode + -- @return #DETECTION_BASE self + function DETECTION_BASE:AddChangeItem( DetectedItem, ChangeCode, ItemUnitType ) + + DetectedItem.Changed = true + local ItemID = DetectedItem.ItemID + + DetectedItem.Changes = DetectedItem.Changes or {} + DetectedItem.Changes[ChangeCode] = DetectedItem.Changes[ChangeCode] or {} + DetectedItem.Changes[ChangeCode].ItemID = ItemID + DetectedItem.Changes[ChangeCode].ItemUnitType = ItemUnitType + + self:T( { "Change on Detection Item:", DetectedItem.ItemID, ChangeCode, ItemUnitType } ) + + return self + end + + + --- Add a change to the detected zone. + -- @param #DETECTION_BASE self + -- @param #DETECTION_BASE.DetectedItem DetectedItem + -- @param #string ChangeCode + -- @param #string ChangeUnitType + -- @return #DETECTION_BASE self + function DETECTION_BASE:AddChangeUnit( DetectedItem, ChangeCode, ChangeUnitType ) + + DetectedItem.Changed = true + local ItemID = DetectedItem.ItemID + + DetectedItem.Changes = DetectedItem.Changes or {} + DetectedItem.Changes[ChangeCode] = DetectedItem.Changes[ChangeCode] or {} + DetectedItem.Changes[ChangeCode][ChangeUnitType] = DetectedItem.Changes[ChangeCode][ChangeUnitType] or 0 + DetectedItem.Changes[ChangeCode][ChangeUnitType] = DetectedItem.Changes[ChangeCode][ChangeUnitType] + 1 + DetectedItem.Changes[ChangeCode].ItemID = ItemID + + self:T( { "Change on Detection Item:", DetectedItem.ItemID, ChangeCode, ChangeUnitType } ) + + return self + end + + + end + + do -- Threat + + --- Returns if there are friendlies nearby the FAC units ... + -- @param #DETECTION_BASE self + -- @return #boolean trhe if there are friendlies nearby + function DETECTION_BASE:IsFriendliesNearBy( DetectedItem ) + + self:T3( DetectedItem.FriendliesNearBy ) + return DetectedItem.FriendliesNearBy or false + end + + --- Background worker function to determine if there are friendlies nearby ... + -- @param #DETECTION_BASE self + function DETECTION_BASE:ReportFriendliesNearBy( ReportGroupData ) + self:F2() + + local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem + local DetectedSet = ReportGroupData.DetectedItem.Set + local DetectedUnit = DetectedSet:GetFirst() + + DetectedItem.FriendliesNearBy = false + + if DetectedUnit then + + + local SphereSearch = { + id = world.VolumeType.SPHERE, + params = { + point = DetectedUnit:GetVec3(), + radius = 6000, + } + + } + + --- @param Dcs.DCSWrapper.Unit#Unit FoundDCSUnit + -- @param Wrapper.Group#GROUP ReportGroup + -- @param Set#SET_GROUP ReportSetGroup + local FindNearByFriendlies = function( FoundDCSUnit, ReportGroupData ) + + local DetectedItem = ReportGroupData.DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem + local DetectedSet = ReportGroupData.DetectedItem.Set + local DetectedUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT + local ReportSetGroup = ReportGroupData.ReportSetGroup + + local EnemyCoalition = DetectedUnit:GetCoalition() + + local FoundUnitCoalition = FoundDCSUnit:getCoalition() + local FoundUnitName = FoundDCSUnit:getName() + local FoundUnitGroupName = FoundDCSUnit:getGroup():getName() + local EnemyUnitName = DetectedUnit:GetName() + local FoundUnitInReportSetGroup = ReportSetGroup:FindGroup( FoundUnitGroupName ) ~= nil + + self:T3( { "Friendlies search:", FoundUnitName, FoundUnitCoalition, EnemyUnitName, EnemyCoalition, FoundUnitInReportSetGroup } ) + + if FoundUnitCoalition ~= EnemyCoalition and FoundUnitInReportSetGroup == false then + DetectedItem.FriendliesNearBy = true + return false + end + + return true + end + + world.searchObjects( Object.Category.UNIT, SphereSearch, FindNearByFriendlies, ReportGroupData ) + end + end + + end + + --- Determines if a detected object has already been identified during detection processing. + -- @param #DETECTION_BASE self + -- @param #DETECTION_BASE.DetectedObject DetectedObject + -- @return #boolean true if already identified. + function DETECTION_BASE:IsDetectedObjectIdentified( DetectedObject ) + self:F3( DetectedObject.Name ) + + local DetectedObjectName = DetectedObject.Name + local DetectedObjectIdentified = self.DetectedObjectsIdentified[DetectedObjectName] == true + self:T3( DetectedObjectIdentified ) + return DetectedObjectIdentified + end + + --- Identifies a detected object during detection processing. + -- @param #DETECTION_BASE self + -- @param #DETECTION_BASE.DetectedObject DetectedObject + function DETECTION_BASE:IdentifyDetectedObject( DetectedObject ) + self:F( { "Identified:", DetectedObject.Name } ) + + local DetectedObjectName = DetectedObject.Name + self.DetectedObjectsIdentified[DetectedObjectName] = true + end + + --- UnIdentify a detected object during detection processing. + -- @param #DETECTION_BASE self + -- @param #DETECTION_BASE.DetectedObject DetectedObject + function DETECTION_BASE:UnIdentifyDetectedObject( DetectedObject ) + + local DetectedObjectName = DetectedObject.Name + self.DetectedObjectsIdentified[DetectedObjectName] = false + end + + --- UnIdentify all detected objects during detection processing. + -- @param #DETECTION_BASE self + function DETECTION_BASE:UnIdentifyAllDetectedObjects() + + self.DetectedObjectsIdentified = {} -- Table will be garbage collected. + end + + --- Gets a detected object with a given name. + -- @param #DETECTION_BASE self + -- @param #string ObjectName + -- @return #DETECTION_BASE.DetectedObject + function DETECTION_BASE:GetDetectedObject( ObjectName ) + self:F( ObjectName ) + + if ObjectName then + local DetectedObject = self.DetectedObjects[ObjectName] + + -- Only return detected objects that are alive! + local DetectedUnit = UNIT:FindByName( ObjectName ) + if DetectedUnit and DetectedUnit:IsAlive() then + if self:IsDetectedObjectIdentified( DetectedObject ) == false then + return DetectedObject + end + end + end + + return nil + end + + + --- Adds a new DetectedItem to the DetectedItems list. + -- The DetectedItem is a table and contains a SET_UNIT in the field Set. + -- @param #DETECTION_BASE self + -- @param #string DetectedItemIndex The index of the DetectedItem. + -- @param Core.Set#SET_UNIT Set (optional) The Set of Units to be added. + -- @return #DETECTION_BASE.DetectedItem + function DETECTION_BASE:AddDetectedItem( DetectedItemIndex, Set ) + + local DetectedItem = {} + self.DetectedItemCount = self.DetectedItemCount + 1 + self.DetectedItemMax = self.DetectedItemMax + 1 + + if DetectedItemIndex then + self.DetectedItems[DetectedItemIndex] = DetectedItem + else + self.DetectedItems[self.DetectedItemCount] = DetectedItem + end + + DetectedItem.Set = Set or SET_UNIT:New() + DetectedItem.ItemID = self.DetectedItemMax + DetectedItem.Removed = false + + return DetectedItem + end + + --- Adds a new DetectedItem to the DetectedItems list. + -- The DetectedItem is a table and contains a SET_UNIT in the field Set. + -- @param #DETECTION_BASE self + -- @param #string DetectedItemIndex The index of the DetectedItem. + -- @param Core.Set#SET_UNIT Set (optional) The Set of Units to be added. + -- @param Core.Zone#ZONE_UNIT Zone (optional) The Zone to be added where the Units are located. + -- @return #DETECTION_BASE.DetectedItem + function DETECTION_BASE:AddDetectedItemZone( DetectedItemIndex, Set, Zone ) + + local DetectedItem = self:AddDetectedItem( DetectedItemIndex, Set ) + + DetectedItem.Zone = Zone + + return DetectedItem + end + + --- Removes an existing DetectedItem from the DetectedItems list. + -- The DetectedItem is a table and contains a SET_UNIT in the field Set. + -- @param #DETECTION_BASE self + -- @param #number DetectedItemIndex The index or position in the DetectedItems list where the item needs to be removed. + function DETECTION_BASE:RemoveDetectedItem( DetectedItemIndex ) + + self.DetectedItemCount = self.DetectedItemCount - 1 + self.DetectedItems[DetectedItemIndex] = nil + end + + + --- Get the detected @{Set#SET_BASE}s. + -- @param #DETECTION_BASE self + -- @return #DETECTION_BASE.DetectedItems + function DETECTION_BASE:GetDetectedItems() + + return self.DetectedItems + end + + --- Get the amount of SETs with detected objects. + -- @param #DETECTION_BASE self + -- @return #number Count + function DETECTION_BASE:GetDetectedItemsCount() + + local DetectedCount = self.DetectedItemCount + return DetectedCount + end + + --- Get a detected item using a given numeric index. + -- @param #DETECTION_BASE self + -- @param #number Index + -- @return #DETECTION_BASE.DetectedItem + function DETECTION_BASE:GetDetectedItem( Index ) + + local DetectedItem = self.DetectedItems[Index] + if DetectedItem then + return DetectedItem + end + + return nil + end + + --- Get the @{Set#SET_UNIT} of a detecttion area using a given numeric index. + -- @param #DETECTION_BASE self + -- @param #number Index + -- @return Core.Set#SET_UNIT DetectedSet + function DETECTION_BASE:GetDetectedSet( Index ) + + local DetectedItem = self:GetDetectedItem( Index ) + local DetectedSetUnit = DetectedItem.Set + if DetectedSetUnit then + return DetectedSetUnit + end + + return nil + end + + do -- Zones + + --- Get the @{Zone#ZONE_UNIT} of a detection area using a given numeric index. + -- @param #DETECTION_BASE self + -- @param #number Index + -- @return Core.Zone#ZONE_UNIT DetectedZone + function DETECTION_BASE:GetDetectedZone( Index ) + + local DetectedZone = self.DetectedItems[Index].Zone + if DetectedZone then + return DetectedZone + end + + return nil + end + + end + + + --- Report summary of a detected item using a given numeric index. + -- @param #DETECTION_BASE self + -- @param Index + -- @return #string + function DETECTION_BASE:DetectedItemReportSummary( Index ) + self:F( Index ) + return nil + end + + --- Report detailed of a detectedion result. + -- @param #DETECTION_BASE self + -- @return #string + function DETECTION_BASE:DetectedReportDetailed() + self:F() + return nil + end + + --- Get the detection Groups. + -- @param #DETECTION_BASE self + -- @return Wrapper.Group#GROUP + function DETECTION_BASE:GetDetectionSetGroup() + + local DetectionSetGroup = self.DetectionSetGroup + return DetectionSetGroup + end + + --- Make a DetectionSet table. This function will be overridden in the derived clsses. + -- @param #DETECTION_BASE self + -- @return #DETECTION_BASE self + function DETECTION_BASE:CreateDetectionSets() + self:F2() + + self:E( "Error, in DETECTION_BASE class..." ) + + end + + + --- Schedule the DETECTION construction. + -- @param #DETECTION_BASE self + -- @param #number DelayTime The delay in seconds to wait the reporting. + -- @param #number RepeatInterval The repeat interval in seconds for the reporting to happen repeatedly. + -- @return #DETECTION_BASE self + function DETECTION_BASE:Schedule( DelayTime, RepeatInterval ) + self:F2() + + self.ScheduleDelayTime = DelayTime + self.ScheduleRepeatInterval = RepeatInterval + + self.DetectionScheduler = SCHEDULER:New( self, self._DetectionScheduler, { self, "Detection" }, DelayTime, RepeatInterval ) + return self + end + +end + +do -- DETECTION_UNITS + + --- # 2) DETECTION_UNITS class, extends @{Detection#DETECTION_BASE} + -- + -- The DETECTION_UNITS class will detect units within the battle zone. + -- It will build a DetectedItems list filled with DetectedItems. Each DetectedItem will contain a field Set, which contains a @{Set#SET_UNIT} containing ONE @{UNIT} object reference. + -- Beware that when the amount of units detected is large, the DetectedItems list will be large also. + -- + -- @type DETECTION_UNITS + -- @field Dcs.DCSTypes#Distance DetectionRange The range till which targets are detected. + -- @extends #DETECTION_BASE + DETECTION_UNITS = { + ClassName = "DETECTION_UNITS", + DetectionRange = nil, + } + + --- DETECTION_UNITS constructor. + -- @param Functional.Detection#DETECTION_UNITS self + -- @param Core.Set#SET_GROUP DetectionSetGroup The @{Set} of GROUPs in the Forward Air Controller role. + -- @return Functional.Detection#DETECTION_UNITS self + function DETECTION_UNITS:New( DetectionSetGroup ) + + -- Inherits from DETECTION_BASE + local self = BASE:Inherit( self, DETECTION_BASE:New( DetectionSetGroup ) ) -- #DETECTION_UNITS + + self._SmokeDetectedUnits = false + self._FlareDetectedUnits = false + self._SmokeDetectedZones = false + self._FlareDetectedZones = false + self._BoundDetectedZones = false + + return self + end + + --- Make text documenting the changes of the detected zone. + -- @param #DETECTION_UNITS self + -- @param #DETECTION_UNITS.DetectedItem DetectedItem + -- @return #string The Changes text + function DETECTION_UNITS:GetChangeText( DetectedItem ) + self:F( DetectedItem ) + + local MT = {} + + for ChangeCode, ChangeData in pairs( DetectedItem.Changes ) do + + if ChangeCode == "AU" then + local MTUT = {} + for ChangeUnitType, ChangeUnitCount in pairs( ChangeData ) do + if ChangeUnitType ~= "ItemID" then + MTUT[#MTUT+1] = ChangeUnitCount .. " of " .. ChangeUnitType + end + end + MT[#MT+1] = " New target(s) detected: " .. table.concat( MTUT, ", " ) .. "." + end + + if ChangeCode == "RU" then + local MTUT = {} + for ChangeUnitType, ChangeUnitCount in pairs( ChangeData ) do + if ChangeUnitType ~= "ItemID" then + MTUT[#MTUT+1] = ChangeUnitCount .. " of " .. ChangeUnitType + end + end + MT[#MT+1] = " Invisible or destroyed target(s): " .. table.concat( MTUT, ", " ) .. "." + end + + end + + return table.concat( MT, "\n" ) + + end + + + --- Create the DetectedItems list from the DetectedObjects table. + -- For each DetectedItem, a one field array is created containing the Unit detected. + -- @param #DETECTION_UNITS self + -- @return #DETECTION_UNITS self + function DETECTION_UNITS:CreateDetectionSets() + self:F2( #self.DetectedObjects ) + + -- Loop the current detected items, and check if each object still exists and is detected. + + for DetectedItemID, DetectedItem in pairs( self.DetectedItems ) do + + local DetectedItemSet = DetectedItem.Set -- Core.Set#SET_UNIT + local DetectedTypeName = DetectedItem.Type + + for DetectedUnitName, DetectedUnitData in pairs( DetectedItemSet:GetSet() ) do + local DetectedUnit = DetectedUnitData -- Wrapper.Unit#UNIT + + local DetectedObject = nil + self:E( DetectedUnit ) + if DetectedUnit:IsAlive() then + --self:E(DetectedUnit:GetName()) + DetectedObject = self:GetDetectedObject( DetectedUnit:GetName() ) + end + if DetectedObject then + + -- Yes, the DetectedUnit is still detected or exists. Flag as identified. + self:IdentifyDetectedObject( DetectedObject ) + else + -- There was no DetectedObject, remove DetectedUnit from the Set. + self:AddChangeUnit( DetectedItem, "RU", DetectedUnitName ) + DetectedItemSet:Remove( DetectedUnitName ) + end + end + end + + + -- Now we need to loop through the unidentified detected units and add these... These are all new items. + for DetectedUnitName, DetectedObjectData in pairs( self.DetectedObjects ) do + + local DetectedObject = self:GetDetectedObject( DetectedUnitName ) + if DetectedObject then + self:T( { "Detected Unit #", DetectedUnitName } ) + + local DetectedUnit = UNIT:FindByName( DetectedUnitName ) -- Wrapper.Unit#UNIT + + if DetectedUnit then + local DetectedTypeName = DetectedUnit:GetTypeName() + local DetectedItem = self:GetDetectedItem( DetectedUnitName ) + if not DetectedItem then + self:T( "Added new DetectedItem" ) + DetectedItem = self:AddDetectedItem( DetectedUnitName ) + DetectedItem.Type = DetectedUnit:GetTypeName() + DetectedItem.Name = DetectedObjectData.Name + DetectedItem.Visible = DetectedObjectData.Visible + DetectedItem.Distance = DetectedObjectData.Distance + end + + DetectedItem.Set:AddUnit( DetectedUnit ) + self:AddChangeUnit( DetectedItem, "AU", DetectedTypeName ) + end + end + end + + for DetectedItemID, DetectedItemData in pairs( self.DetectedItems ) do + + local DetectedItem = DetectedItemData -- #DETECTION_BASE.DetectedItem + local DetectedSet = DetectedItem.Set + + self:ReportFriendliesNearBy( { DetectedItem = DetectedItem, ReportSetGroup = self.DetectionSetGroup } ) -- Fill the Friendlies table + --self:NearestFAC( DetectedItem ) + end + + end + + --- Report summary of a DetectedItem using a given numeric index. + -- @param #DETECTION_UNITS self + -- @param Index + -- @return #string + function DETECTION_UNITS:DetectedItemReportSummary( Index ) + self:F( Index ) + + local DetectedItem = self:GetDetectedItem( Index ) + local DetectedSet = self:GetDetectedSet( Index ) + + self:T( DetectedSet ) + if DetectedSet then + local ReportSummary = "" + local UnitDistanceText = "" + local UnitCategoryText = "" + + local DetectedItemUnit = DetectedSet:GetFirst() -- Wrapper.Unit#UNIT + + if DetectedItemUnit and DetectedItemUnit:IsAlive() then + self:T(DetectedItemUnit) + + local UnitCategoryName = DetectedItemUnit:GetCategoryName() or "" + local UnitCategoryType = DetectedItemUnit:GetTypeName() or "" + + if DetectedItem.Type and UnitCategoryName and UnitCategoryType then + UnitCategoryText = UnitCategoryName .. " (" .. UnitCategoryType .. ") at " + else + UnitCategoryText = "Unknown target at " + end + + if DetectedItem.Visible == false then + UnitDistanceText = string.format( "%.2f", DetectedItem.Distance ) .. " estimated km" + else + UnitDistanceText = string.format( "%.2f", DetectedItem.Distance ) .. " km, visual contact" + end + + local DetectedItemPointVec3 = DetectedItemUnit:GetPointVec3() + local DetectedItemPointLL = DetectedItemPointVec3:ToStringLL( 3, true ) + + local ThreatLevelA2G = DetectedItemUnit:GetThreatLevel( DetectedItem ) + + ReportSummary = string.format( + "%s - Threat [%s] (%2d) - %s%s", + DetectedItemPointLL, + string.rep( "■", ThreatLevelA2G ), + ThreatLevelA2G, + UnitCategoryText, + UnitDistanceText + ) + end + + self:T( ReportSummary ) + + return ReportSummary + end + end + + --- Report detailed of a detection result. + -- @param #DETECTION_UNITS self + -- @return #string + function DETECTION_UNITS:DetectedReportDetailed() + self:F() + + local Report = REPORT:New( "Detected units:" ) + for DetectedItemID, DetectedItem in pairs( self.DetectedItems ) do + local DetectedItem = DetectedItem -- #DETECTION_BASE.DetectedItem + local ReportSummary = self:DetectedItemReportSummary( DetectedItemID ) + Report:Add( ReportSummary ) + end + + local ReportText = Report:Text() + + return ReportText + end + +end + +do -- DETECTION_TYPES + + --- # 3) DETECTION_TYPES class, extends @{Detection#DETECTION_BASE} + -- + -- The DETECTION_TYPES class will detect units within the battle zone. + -- It will build a DetectedItems[] list filled with DetectedItems, grouped by the type of units detected. + -- Each DetectedItem will contain a field Set, which contains a @{Set#SET_UNIT} containing ONE @{UNIT} object reference. + -- Beware that when the amount of different types detected is large, the DetectedItems[] list will be large also. + -- + -- @type DETECTION_TYPES + -- @extends #DETECTION_BASE + DETECTION_TYPES = { + ClassName = "DETECTION_TYPES", + DetectionRange = nil, + } + + --- DETECTION_TYPES constructor. + -- @param Functional.Detection#DETECTION_TYPES self + -- @param Core.Set#SET_GROUP DetectionSetGroup The @{Set} of GROUPs in the Recce role. + -- @return Functional.Detection#DETECTION_TYPES self + function DETECTION_TYPES:New( DetectionSetGroup ) + + -- Inherits from DETECTION_BASE + local self = BASE:Inherit( self, DETECTION_BASE:New( DetectionSetGroup ) ) -- #DETECTION_TYPES + + self._SmokeDetectedUnits = false + self._FlareDetectedUnits = false + self._SmokeDetectedZones = false + self._FlareDetectedZones = false + self._BoundDetectedZones = false + + return self + end + + --- Make text documenting the changes of the detected zone. + -- @param #DETECTION_TYPES self + -- @param #DETECTION_TYPES.DetectedItem DetectedItem + -- @return #string The Changes text + function DETECTION_TYPES:GetChangeText( DetectedItem ) + self:F( DetectedItem ) + + local MT = {} + + for ChangeCode, ChangeData in pairs( DetectedItem.Changes ) do + + if ChangeCode == "AU" then + local MTUT = {} + for ChangeUnitType, ChangeUnitCount in pairs( ChangeData ) do + if ChangeUnitType ~= "ItemID" then + MTUT[#MTUT+1] = ChangeUnitCount .. " of " .. ChangeUnitType + end + end + MT[#MT+1] = " New target(s) detected: " .. table.concat( MTUT, ", " ) .. "." + end + + if ChangeCode == "RU" then + local MTUT = {} + for ChangeUnitType, ChangeUnitCount in pairs( ChangeData ) do + if ChangeUnitType ~= "ItemID" then + MTUT[#MTUT+1] = ChangeUnitCount .. " of " .. ChangeUnitType + end + end + MT[#MT+1] = " Invisible or destroyed target(s): " .. table.concat( MTUT, ", " ) .. "." + end + + end + + return table.concat( MT, "\n" ) + + end + + + --- Create the DetectedItems list from the DetectedObjects table. + -- For each DetectedItem, a one field array is created containing the Unit detected. + -- @param #DETECTION_TYPES self + -- @return #DETECTION_TYPES self + function DETECTION_TYPES:CreateDetectionSets() + self:F2( #self.DetectedObjects ) + + -- Loop the current detected items, and check if each object still exists and is detected. + + for DetectedItemID, DetectedItem in pairs( self.DetectedItems ) do + + local DetectedItemSet = DetectedItem.Set -- Core.Set#SET_UNIT + local DetectedTypeName = DetectedItem.Type + + for DetectedUnitName, DetectedUnitData in pairs( DetectedItemSet:GetSet() ) do + local DetectedUnit = DetectedUnitData -- Wrapper.Unit#UNIT + + local DetectedObject = nil + if DetectedUnit:IsAlive() then + --self:E(DetectedUnit:GetName()) + DetectedObject = self:GetDetectedObject( DetectedUnit:GetName() ) + end + if DetectedObject then + + -- Yes, the DetectedUnit is still detected or exists. Flag as identified. + self:IdentifyDetectedObject( DetectedObject ) + else + -- There was no DetectedObject, remove DetectedUnit from the Set. + self:AddChangeUnit( DetectedItem, "RU", DetectedUnitName ) + DetectedItemSet:Remove( DetectedUnitName ) + end + end + end + + + -- Now we need to loop through the unidentified detected units and add these... These are all new items. + for DetectedUnitName, DetectedObjectData in pairs( self.DetectedObjects ) do + + local DetectedObject = self:GetDetectedObject( DetectedUnitName ) + if DetectedObject then + self:T( { "Detected Unit #", DetectedUnitName } ) + + local DetectedUnit = UNIT:FindByName( DetectedUnitName ) -- Wrapper.Unit#UNIT + + if DetectedUnit then + local DetectedTypeName = DetectedUnit:GetTypeName() + local DetectedItem = self:GetDetectedItem( DetectedTypeName ) + if not DetectedItem then + DetectedItem = self:AddDetectedItem( DetectedTypeName ) + DetectedItem.Type = DetectedUnit:GetTypeName() + end + + DetectedItem.Set:AddUnit( DetectedUnit ) + self:AddChangeUnit( DetectedItem, "AU", DetectedTypeName ) + end + end + end + + for DetectedItemID, DetectedItemData in pairs( self.DetectedItems ) do + + local DetectedItem = DetectedItemData -- #DETECTION_BASE.DetectedItem + local DetectedSet = DetectedItem.Set + + self:ReportFriendliesNearBy( { DetectedItem = DetectedItem, ReportSetGroup = self.DetectionSetGroup } ) -- Fill the Friendlies table + --self:NearestFAC( DetectedItem ) + end + + end + + --- Report summary of a DetectedItem using a given numeric index. + -- @param #DETECTION_TYPES self + -- @param Index + -- @return #string + function DETECTION_TYPES:DetectedItemReportSummary( DetectedTypeName ) + self:F( DetectedTypeName ) + + local DetectedItem = self:GetDetectedItem( DetectedTypeName ) + local DetectedSet = self:GetDetectedSet( DetectedTypeName ) + + self:T( DetectedItem ) + if DetectedItem then + + local ThreatLevelA2G = DetectedSet:CalculateThreatLevelA2G() + local DetectedItemsCount = DetectedSet:Count() + local DetectedItemType = DetectedItem.Type + + local ReportSummary = string.format( + "Threat [%s] (%2d) - %2d of %s", + string.rep( "■", ThreatLevelA2G ), + ThreatLevelA2G, + DetectedItemsCount, + DetectedItemType + ) + self:T( ReportSummary ) + + return ReportSummary + end + end + + --- Report detailed of a detection result. + -- @param #DETECTION_TYPES self + -- @return #string + function DETECTION_TYPES:DetectedReportDetailed() + self:F() + + local Report = REPORT:New( "Detected types:" ) + for DetectedItemTypeName, DetectedItem in pairs( self.DetectedItems ) do + local DetectedItem = DetectedItem -- #DETECTION_BASE.DetectedItem + local ReportSummary = self:DetectedItemReportSummary( DetectedItemTypeName ) + Report:Add( ReportSummary ) + end + + local ReportText = Report:Text() + + return ReportText + end + +end + + +do -- DETECTION_AREAS + + --- # 4) DETECTION_AREAS class, extends @{Detection#DETECTION_BASE} + -- + -- The DETECTION_AREAS class will detect units within the battle zone for a list of @{Group}s detecting targets following (a) detection method(s), + -- and will build a list (table) of @{Set#SET_UNIT}s containing the @{Unit#UNIT}s detected. + -- The class is group the detected units within zones given a DetectedZoneRange parameter. + -- A set with multiple detected zones will be created as there are groups of units detected. + -- + -- ## 4.1) Retrieve the Detected Unit Sets and Detected Zones + -- + -- The methods to manage the DetectedItems[].Set(s) are implemented in @{Detection#DECTECTION_BASE} and + -- the methods to manage the DetectedItems[].Zone(s) is implemented in @{Detection#DETECTION_AREAS}. + -- + -- Retrieve the DetectedItems[].Set with the method @{Detection#DETECTION_BASE.GetDetectedSet}(). A @{Set#SET_UNIT} object will be returned. + -- + -- Retrieve the formed @{Zone@ZONE_UNIT}s as a result of the grouping the detected units within the DetectionZoneRange, use the method @{Detection#DETECTION_BASE.GetDetectionZones}(). + -- To understand the amount of zones created, use the method @{Detection#DETECTION_BASE.GetDetectionZoneCount}(). + -- If you want to obtain a specific zone from the DetectedZones, use the method @{Detection#DETECTION_BASE.GetDetectionZone}() with a given index. + -- + -- ## 4.4) Flare or Smoke detected units + -- + -- Use the methods @{Detection#DETECTION_AREAS.FlareDetectedUnits}() or @{Detection#DETECTION_AREAS.SmokeDetectedUnits}() to flare or smoke the detected units when a new detection has taken place. + -- + -- ## 4.5) Flare or Smoke or Bound detected zones + -- + -- Use the methods: + -- + -- * @{Detection#DETECTION_AREAS.FlareDetectedZones}() to flare in a color + -- * @{Detection#DETECTION_AREAS.SmokeDetectedZones}() to smoke in a color + -- * @{Detection#DETECTION_AREAS.SmokeDetectedZones}() to bound with a tire with a white flag + -- + -- the detected zones when a new detection has taken place. + -- + -- @type DETECTION_AREAS + -- @field Dcs.DCSTypes#Distance DetectionZoneRange The range till which targets are grouped upon the first detected target. + -- @field #DETECTION_BASE.DetectedItems DetectedItems A list of areas containing the set of @{Unit}s, @{Zone}s, the center @{Unit} within the zone, and ID of each area that was detected within a DetectionZoneRange. + -- @extends #DETECTION_BASE + DETECTION_AREAS = { + ClassName = "DETECTION_AREAS", + DetectionZoneRange = nil, + } + + + --- DETECTION_AREAS constructor. + -- @param #DETECTION_AREAS self + -- @param Core.Set#SET_GROUP DetectionSetGroup The @{Set} of GROUPs in the Forward Air Controller role. + -- @param Dcs.DCSTypes#Distance DetectionZoneRange The range till which targets are grouped upon the first detected target. + -- @return #DETECTION_AREAS + function DETECTION_AREAS:New( DetectionSetGroup, DetectionZoneRange ) + + -- Inherits from DETECTION_BASE + local self = BASE:Inherit( self, DETECTION_BASE:New( DetectionSetGroup ) ) + + self.DetectionZoneRange = DetectionZoneRange + + self._SmokeDetectedUnits = false + self._FlareDetectedUnits = false + self._SmokeDetectedZones = false + self._FlareDetectedZones = false + self._BoundDetectedZones = false + + return self + end + + --- Report summary of a detected item using a given numeric index. + -- @param #DETECTION_AREAS self + -- @param Index + -- @return #string + function DETECTION_AREAS:DetectedItemReportSummary( Index ) + self:F( Index ) + + local DetectedItem = self:GetDetectedItem( Index ) + if DetectedItem then + local DetectedSet = self:GetDetectedSet( Index ) + local ReportSummaryItem + + local DetectedZone = self:GetDetectedZone( Index ) + local DetectedItemPointVec3 = DetectedZone:GetPointVec3() + local DetectedItemPointLL = DetectedItemPointVec3:ToStringLL( 3, true ) + + local ThreatLevelA2G = self:GetTreatLevelA2G( DetectedItem ) + local DetectedItemsCount = DetectedSet:Count() + local DetectedItemsTypes = DetectedSet:GetTypeNames() + + local ReportSummary = string.format( + "%s - Threat [%s] (%2d) - %2d of %s", + DetectedItemPointLL, + string.rep( "■", ThreatLevelA2G ), + ThreatLevelA2G, + DetectedItemsCount, + DetectedItemsTypes + ) + + return ReportSummary + end + + return nil + end + + + --- Returns if there are friendlies nearby the FAC units ... + -- @param #DETECTION_AREAS self + -- @return #boolean trhe if there are friendlies nearby + function DETECTION_AREAS:IsFriendliesNearBy( DetectedItem ) + + self:T3( DetectedItem.FriendliesNearBy ) + return DetectedItem.FriendliesNearBy or false + end + + --- Calculate the maxium A2G threat level of the DetectedItem. + -- @param #DETECTION_AREAS self + -- @param #DETECTION_BASE.DetectedItem DetectedItem + function DETECTION_AREAS:CalculateThreatLevelA2G( DetectedItem ) + + local MaxThreatLevelA2G = 0 + for UnitName, UnitData in pairs( DetectedItem.Set:GetSet() ) do + local ThreatUnit = UnitData -- Wrapper.Unit#UNIT + local ThreatLevelA2G = ThreatUnit:GetThreatLevel() + if ThreatLevelA2G > MaxThreatLevelA2G then + MaxThreatLevelA2G = ThreatLevelA2G + end + end + + self:T3( MaxThreatLevelA2G ) + DetectedItem.MaxThreatLevelA2G = MaxThreatLevelA2G + + end + + --- Find the nearest FAC of the DetectedItem. + -- @param #DETECTION_AREAS self + -- @param #DETECTION_BASE.DetectedItem DetectedItem + -- @return Wrapper.Unit#UNIT The nearest FAC unit + function DETECTION_AREAS:NearestFAC( DetectedItem ) + + local NearestFAC = nil + local MinDistance = 1000000000 -- Units are not further than 1000000 km away from an area :-) + + for FACGroupName, FACGroupData in pairs( self.DetectionSetGroup:GetSet() ) do + for FACUnit, FACUnitData in pairs( FACGroupData:GetUnits() ) do + local FACUnit = FACUnitData -- Wrapper.Unit#UNIT + if FACUnit:IsActive() then + local Vec3 = FACUnit:GetVec3() + local PointVec3 = POINT_VEC3:NewFromVec3( Vec3 ) + local Distance = PointVec3:Get2DDistance(POINT_VEC3:NewFromVec3( FACUnit:GetVec3() ) ) + if Distance < MinDistance then + MinDistance = Distance + NearestFAC = FACUnit + end + end + end + end + + DetectedItem.NearestFAC = NearestFAC + + end + + --- Returns the A2G threat level of the units in the DetectedItem + -- @param #DETECTION_AREAS self + -- @param #DETECTION_BASE.DetectedItem DetectedItem + -- @return #number a scale from 0 to 10. + function DETECTION_AREAS:GetTreatLevelA2G( DetectedItem ) + + self:T3( DetectedItem.MaxThreatLevelA2G ) + return DetectedItem.MaxThreatLevelA2G + end + + + + --- Smoke the detected units + -- @param #DETECTION_AREAS self + -- @return #DETECTION_AREAS self + function DETECTION_AREAS:SmokeDetectedUnits() + self:F2() + + self._SmokeDetectedUnits = true + return self + end + + --- Flare the detected units + -- @param #DETECTION_AREAS self + -- @return #DETECTION_AREAS self + function DETECTION_AREAS:FlareDetectedUnits() + self:F2() + + self._FlareDetectedUnits = true + return self + end + + --- Smoke the detected zones + -- @param #DETECTION_AREAS self + -- @return #DETECTION_AREAS self + function DETECTION_AREAS:SmokeDetectedZones() + self:F2() + + self._SmokeDetectedZones = true + return self + end + + --- Flare the detected zones + -- @param #DETECTION_AREAS self + -- @return #DETECTION_AREAS self + function DETECTION_AREAS:FlareDetectedZones() + self:F2() + + self._FlareDetectedZones = true + return self + end + + --- Bound the detected zones + -- @param #DETECTION_AREAS self + -- @return #DETECTION_AREAS self + function DETECTION_AREAS:BoundDetectedZones() + self:F2() + + self._BoundDetectedZones = true + return self + end + + --- Make text documenting the changes of the detected zone. + -- @param #DETECTION_AREAS self + -- @param #DETECTION_BASE.DetectedItem DetectedItem + -- @return #string The Changes text + function DETECTION_AREAS:GetChangeText( DetectedItem ) + self:F( DetectedItem ) + + local MT = {} + + for ChangeCode, ChangeData in pairs( DetectedItem.Changes ) do + + if ChangeCode == "AA" then + MT[#MT+1] = "Detected new area " .. ChangeData.ItemID .. ". The center target is a " .. ChangeData.ItemUnitType .. "." + end + + if ChangeCode == "RAU" then + MT[#MT+1] = "Changed area " .. ChangeData.ItemID .. ". Removed the center target." + end + + if ChangeCode == "AAU" then + MT[#MT+1] = "Changed area " .. ChangeData.ItemID .. ". The new center target is a " .. ChangeData.ItemUnitType .. "." + end + + if ChangeCode == "RA" then + MT[#MT+1] = "Removed old area " .. ChangeData.ItemID .. ". No more targets in this area." + end + + if ChangeCode == "AU" then + local MTUT = {} + for ChangeUnitType, ChangeUnitCount in pairs( ChangeData ) do + if ChangeUnitType ~= "ItemID" then + MTUT[#MTUT+1] = ChangeUnitCount .. " of " .. ChangeUnitType + end + end + MT[#MT+1] = "Detected for area " .. ChangeData.ItemID .. " new target(s) " .. table.concat( MTUT, ", " ) .. "." + end + + if ChangeCode == "RU" then + local MTUT = {} + for ChangeUnitType, ChangeUnitCount in pairs( ChangeData ) do + if ChangeUnitType ~= "ItemID" then + MTUT[#MTUT+1] = ChangeUnitCount .. " of " .. ChangeUnitType + end + end + MT[#MT+1] = "Removed for area " .. ChangeData.ItemID .. " invisible or destroyed target(s) " .. table.concat( MTUT, ", " ) .. "." + end + + end + + return table.concat( MT, "\n" ) + + end + + + --- Make a DetectionSet table. This function will be overridden in the derived clsses. + -- @param #DETECTION_AREAS self + -- @return #DETECTION_AREAS self + function DETECTION_AREAS:CreateDetectionSets() + self:F2() + + + self:T( "Checking Detected Items for new Detected Units ..." ) + -- First go through all detected sets, and check if there are new detected units, match all existing detected units and identify undetected units. + -- Regroup when needed, split groups when needed. + for DetectedItemID, DetectedItemData in pairs( self.DetectedItems ) do + + local DetectedItem = DetectedItemData -- #DETECTION_BASE.DetectedItem + if DetectedItem then + + self:T( { "Detected Item ID:", DetectedItemID } ) + + + local DetectedSet = DetectedItem.Set + + local AreaExists = false -- This flag will determine of the detected area is still existing. + + -- First test if the center unit is detected in the detection area. + self:T3( { "Zone Center Unit:", DetectedItem.Zone.ZoneUNIT.UnitName } ) + local DetectedZoneObject = self:GetDetectedObject( DetectedItem.Zone.ZoneUNIT.UnitName ) + self:T3( { "Detected Zone Object:", DetectedItem.Zone:GetName(), DetectedZoneObject } ) + + if DetectedZoneObject then + + --self:IdentifyDetectedObject( DetectedZoneObject ) + AreaExists = true + + + + else + -- The center object of the detected area has not been detected. Find an other unit of the set to become the center of the area. + -- First remove the center unit from the set. + DetectedSet:RemoveUnitsByName( DetectedItem.Zone.ZoneUNIT.UnitName ) + + self:AddChangeItem( DetectedItem, 'RAU', "Dummy" ) + + -- Then search for a new center area unit within the set. Note that the new area unit candidate must be within the area range. + for DetectedUnitName, DetectedUnitData in pairs( DetectedSet:GetSet() ) do + + local DetectedUnit = DetectedUnitData -- Wrapper.Unit#UNIT + local DetectedObject = self:GetDetectedObject( DetectedUnit.UnitName ) + + -- The DetectedObject can be nil when the DetectedUnit is not alive anymore or it is not in the DetectedObjects map. + -- If the DetectedUnit was already identified, DetectedObject will be nil. + if DetectedObject then + self:IdentifyDetectedObject( DetectedObject ) + AreaExists = true + + DetectedItem.Zone:BoundZone( 12, self.CountryID, true) + + -- Assign the Unit as the new center unit of the detected area. + DetectedItem.Zone = ZONE_UNIT:New( DetectedUnit:GetName(), DetectedUnit, self.DetectionZoneRange ) + + self:AddChangeItem( DetectedItem, "AAU", DetectedItem.Zone.ZoneUNIT:GetTypeName() ) + + -- We don't need to add the DetectedObject to the area set, because it is already there ... + break + end + end + end + + -- Now we've determined the center unit of the area, now we can iterate the units in the detected area. + -- Note that the position of the area may have moved due to the center unit repositioning. + -- If no center unit was identified, then the detected area does not exist anymore and should be deleted, as there are no valid units that can be the center unit. + if AreaExists then + + -- ok, we found the center unit of the area, now iterate through the detected area set and see which units are still within the center unit zone ... + -- Those units within the zone are flagged as Identified. + -- If a unit was not found in the set, remove it from the set. This may be added later to other existing or new sets. + for DetectedUnitName, DetectedUnitData in pairs( DetectedSet:GetSet() ) do + + local DetectedUnit = DetectedUnitData -- Wrapper.Unit#UNIT + local DetectedObject = nil + if DetectedUnit:IsAlive() then + --self:E(DetectedUnit:GetName()) + DetectedObject = self:GetDetectedObject( DetectedUnit:GetName() ) + end + if DetectedObject then + + -- Check if the DetectedUnit is within the DetectedItem.Zone + if DetectedUnit:IsInZone( DetectedItem.Zone ) then + + -- Yes, the DetectedUnit is within the DetectedItem.Zone, no changes, DetectedUnit can be kept within the Set. + self:IdentifyDetectedObject( DetectedObject ) + + else + -- No, the DetectedUnit is not within the DetectedItem.Zone, remove DetectedUnit from the Set. + DetectedSet:Remove( DetectedUnitName ) + self:AddChangeUnit( DetectedItem, "RU", DetectedUnit:GetTypeName() ) + end + + else + -- There was no DetectedObject, remove DetectedUnit from the Set. + self:AddChangeUnit( DetectedItem, "RU", "destroyed target" ) + DetectedSet:Remove( DetectedUnitName ) + + -- The DetectedObject has been identified, because it does not exist ... + -- self:IdentifyDetectedObject( DetectedObject ) + end + end + else + DetectedItem.Zone:BoundZone( 12, self.CountryID, true) + self:RemoveDetectedItem( DetectedItemID ) + self:AddChangeItem( DetectedItem, "RA" ) + end + end + end + + -- We iterated through the existing detection areas and: + -- - We checked which units are still detected in each detection area. Those units were flagged as Identified. + -- - We recentered the detection area to new center units where it was needed. + -- + -- Now we need to loop through the unidentified detected units and see where they belong: + -- - They can be added to a new detection area and become the new center unit. + -- - They can be added to a new detection area. + for DetectedUnitName, DetectedObjectData in pairs( self.DetectedObjects ) do + + local DetectedObject = self:GetDetectedObject( DetectedUnitName ) + + if DetectedObject then + + -- We found an unidentified unit outside of any existing detection area. + local DetectedUnit = UNIT:FindByName( DetectedUnitName ) -- Wrapper.Unit#UNIT + + local AddedToDetectionArea = false + + for DetectedItemID, DetectedItemData in pairs( self.DetectedItems ) do + + local DetectedItem = DetectedItemData -- #DETECTION_BASE.DetectedItem + if DetectedItem then + self:T( "Detection Area #" .. DetectedItem.ItemID ) + local DetectedSet = DetectedItem.Set + if not self:IsDetectedObjectIdentified( DetectedObject ) and DetectedUnit:IsInZone( DetectedItem.Zone ) then + self:IdentifyDetectedObject( DetectedObject ) + DetectedSet:AddUnit( DetectedUnit ) + AddedToDetectionArea = true + self:AddChangeUnit( DetectedItem, "AU", DetectedUnit:GetTypeName() ) + end + end + end + + if AddedToDetectionArea == false then + + -- New detection area + local DetectedItem = self:AddDetectedItemZone( nil, + SET_UNIT:New(), + ZONE_UNIT:New( DetectedUnitName, DetectedUnit, self.DetectionZoneRange ) + ) + --self:E( DetectedItem.Zone.ZoneUNIT.UnitName ) + DetectedItem.Set:AddUnit( DetectedUnit ) + self:AddChangeItem( DetectedItem, "AA", DetectedUnit:GetTypeName() ) + end + end + end + + -- Now all the tests should have been build, now make some smoke and flares... + -- We also report here the friendlies within the detected areas. + + for DetectedItemID, DetectedItemData in pairs( self.DetectedItems ) do + + local DetectedItem = DetectedItemData -- #DETECTION_BASE.DetectedItem + local DetectedSet = DetectedItem.Set + local DetectedZone = DetectedItem.Zone + + self:ReportFriendliesNearBy( { DetectedItem = DetectedItem, ReportSetGroup = self.DetectionSetGroup } ) -- Fill the Friendlies table + self:CalculateThreatLevelA2G( DetectedItem ) -- Calculate A2G threat level + self:NearestFAC( DetectedItem ) + + if DETECTION_AREAS._SmokeDetectedUnits or self._SmokeDetectedUnits then + DetectedZone.ZoneUNIT:SmokeRed() + end + DetectedSet:ForEachUnit( + --- @param Wrapper.Unit#UNIT DetectedUnit + function( DetectedUnit ) + if DetectedUnit:IsAlive() then + self:T( "Detected Set #" .. DetectedItem.ItemID .. ":" .. DetectedUnit:GetName() ) + if DETECTION_AREAS._FlareDetectedUnits or self._FlareDetectedUnits then + DetectedUnit:FlareGreen() + end + if DETECTION_AREAS._SmokeDetectedUnits or self._SmokeDetectedUnits then + DetectedUnit:SmokeGreen() + end + end + end + ) + if DETECTION_AREAS._FlareDetectedZones or self._FlareDetectedZones then + DetectedZone:FlareZone( SMOKECOLOR.White, 30, math.random( 0,90 ) ) + end + if DETECTION_AREAS._SmokeDetectedZones or self._SmokeDetectedZones then + DetectedZone:SmokeZone( SMOKECOLOR.White, 30 ) + end + + if DETECTION_AREAS._BoundDetectedZones or self._BoundDetectedZones then + DetectedZone:BoundZone( 12, self.CountryID ) + end + end + + end + +end +--- Single-Player:**No** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**All** -- **AI Balancing will replace in multi player missions +-- non-occupied human slots with AI groups, in order to provide an engaging simulation environment, +-- even when there are hardly any players in the mission.** +-- +-- ![Banner Image](..\Presentations\AI_Balancer\Dia1.JPG) +-- +-- === +-- +-- # 1) @{AI_Balancer#AI_BALANCER} class, extends @{Fsm#FSM_SET} +-- +-- The @{AI_Balancer#AI_BALANCER} class monitors and manages as many replacement AI groups as there are +-- CLIENTS in a SET_CLIENT collection, which are not occupied by human players. +-- In other words, use AI_BALANCER to simulate human behaviour by spawning in replacement AI in multi player missions. +-- +-- The parent class @{Fsm#FSM_SET} manages the functionality to control the Finite State Machine (FSM). +-- The mission designer can tailor the behaviour of the AI_BALANCER, by defining event and state transition methods. +-- An explanation about state and event transition methods can be found in the @{FSM} module documentation. +-- +-- The mission designer can tailor the AI_BALANCER behaviour, by implementing a state or event handling method for the following: +-- +-- * **@{#AI_BALANCER.OnAfterSpawned}**( AISet, From, Event, To, AIGroup ): Define to add extra logic when an AI is spawned. +-- +-- ## 1.1) AI_BALANCER construction +-- +-- Create a new AI_BALANCER object with the @{#AI_BALANCER.New}() method: +-- +-- ## 1.2) AI_BALANCER is a FSM +-- +-- ![Process](..\Presentations\AI_Balancer\Dia13.JPG) +-- +-- ### 1.2.1) AI_BALANCER States +-- +-- * **Monitoring** ( Set ): Monitoring the Set if all AI is spawned for the Clients. +-- * **Spawning** ( Set, ClientName ): There is a new AI group spawned with ClientName as the name of reference. +-- * **Spawned** ( Set, AIGroup ): A new AI has been spawned. You can handle this event to customize the AI behaviour with other AI FSMs or own processes. +-- * **Destroying** ( Set, AIGroup ): The AI is being destroyed. +-- * **Returning** ( Set, AIGroup ): The AI is returning to the airbase specified by the ReturnToAirbase methods. Handle this state to customize the return behaviour of the AI, if any. +-- +-- ### 1.2.2) AI_BALANCER Events +-- +-- * **Monitor** ( Set ): Every 10 seconds, the Monitor event is triggered to monitor the Set. +-- * **Spawn** ( Set, ClientName ): Triggers when there is a new AI group to be spawned with ClientName as the name of reference. +-- * **Spawned** ( Set, AIGroup ): Triggers when a new AI has been spawned. You can handle this event to customize the AI behaviour with other AI FSMs or own processes. +-- * **Destroy** ( Set, AIGroup ): The AI is being destroyed. +-- * **Return** ( Set, AIGroup ): The AI is returning to the airbase specified by the ReturnToAirbase methods. +-- +-- ## 1.3) AI_BALANCER spawn interval for replacement AI +-- +-- Use the method @{#AI_BALANCER.InitSpawnInterval}() to set the earliest and latest interval in seconds that is waited until a new replacement AI is spawned. +-- +-- ## 1.4) AI_BALANCER returns AI to Airbases +-- +-- By default, When a human player joins a slot that is AI_BALANCED, the AI group will be destroyed by default. +-- However, there are 2 additional options that you can use to customize the destroy behaviour. +-- When a human player joins a slot, you can configure to let the AI return to: +-- +-- * @{#AI_BALANCER.ReturnToHomeAirbase}: Returns the AI to the **home** @{Airbase#AIRBASE}. +-- * @{#AI_BALANCER.ReturnToNearestAirbases}: Returns the AI to the **nearest friendly** @{Airbase#AIRBASE}. +-- +-- Note that when AI returns to an airbase, the AI_BALANCER will trigger the **Return** event and the AI will return, +-- otherwise the AI_BALANCER will trigger a **Destroy** event, and the AI will be destroyed. +-- +-- === +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-01-17: There is still a problem with AI being destroyed, but not respawned. Need to check further upon that. +-- +-- 2017-01-08: AI_BALANCER:**InitSpawnInterval( Earliest, Latest )** added. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * **[Dutch_Baron](https://forums.eagle.ru/member.php?u=112075)**: Working together with James has resulted in the creation of the AI_BALANCER class. James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-) +-- * **SNAFU**: Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE. None of the script code has been used however within the new AI_BALANCER moose class. +-- +-- ### Authors: +-- +-- * FlightControl: Framework Design & Programming and Documentation. +-- +-- @module AI_Balancer + +--- AI_BALANCER class +-- @type AI_BALANCER +-- @field Core.Set#SET_CLIENT SetClient +-- @field Functional.Spawn#SPAWN SpawnAI +-- @field Wrapper.Group#GROUP Test +-- @extends Core.Fsm#FSM_SET +AI_BALANCER = { + ClassName = "AI_BALANCER", + PatrolZones = {}, + AIGroups = {}, + Earliest = 5, -- Earliest a new AI can be spawned is in 5 seconds. + Latest = 60, -- Latest a new AI can be spawned is in 60 seconds. +} + + + +--- Creates a new AI_BALANCER object +-- @param #AI_BALANCER self +-- @param Core.Set#SET_CLIENT SetClient A SET\_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player). +-- @param Functional.Spawn#SPAWN SpawnAI The default Spawn object to spawn new AI Groups when needed. +-- @return #AI_BALANCER +function AI_BALANCER:New( SetClient, SpawnAI ) + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM_SET:New( SET_GROUP:New() ) ) -- AI.AI_Balancer#AI_BALANCER + + -- TODO: Define the OnAfterSpawned event + self:SetStartState( "None" ) + self:AddTransition( "*", "Monitor", "Monitoring" ) + self:AddTransition( "*", "Spawn", "Spawning" ) + self:AddTransition( "Spawning", "Spawned", "Spawned" ) + self:AddTransition( "*", "Destroy", "Destroying" ) + self:AddTransition( "*", "Return", "Returning" ) + + self.SetClient = SetClient + self.SetClient:FilterOnce() + self.SpawnAI = SpawnAI + + self.SpawnQueue = {} + + self.ToNearestAirbase = false + self.ToHomeAirbase = false + + self:__Monitor( 1 ) + + return self +end + +--- Sets the earliest to the latest interval in seconds how long AI_BALANCER will wait to spawn a new AI. +-- Provide 2 identical seconds if the interval should be a fixed amount of seconds. +-- @param #AI_BALANCER self +-- @param #number Earliest The earliest a new AI can be spawned in seconds. +-- @param #number Latest The latest a new AI can be spawned in seconds. +-- @return self +function AI_BALANCER:InitSpawnInterval( Earliest, Latest ) + + self.Earliest = Earliest + self.Latest = Latest + + return self +end + +--- Returns the AI to the nearest friendly @{Airbase#AIRBASE}. +-- @param #AI_BALANCER self +-- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Airbase#AIRBASE}. +-- @param Core.Set#SET_AIRBASE ReturnAirbaseSet The SET of @{Set#SET_AIRBASE}s to evaluate where to return to. +function AI_BALANCER:ReturnToNearestAirbases( ReturnTresholdRange, ReturnAirbaseSet ) + + self.ToNearestAirbase = true + self.ReturnTresholdRange = ReturnTresholdRange + self.ReturnAirbaseSet = ReturnAirbaseSet +end + +--- Returns the AI to the home @{Airbase#AIRBASE}. +-- @param #AI_BALANCER self +-- @param Dcs.DCSTypes#Distance ReturnTresholdRange If there is an enemy @{Client#CLIENT} within the ReturnTresholdRange given in meters, the AI will not return to the nearest @{Airbase#AIRBASE}. +function AI_BALANCER:ReturnToHomeAirbase( ReturnTresholdRange ) + + self.ToHomeAirbase = true + self.ReturnTresholdRange = ReturnTresholdRange +end + +--- @param #AI_BALANCER self +-- @param Core.Set#SET_GROUP SetGroup +-- @param #string ClientName +-- @param Wrapper.Group#GROUP AIGroup +function AI_BALANCER:onenterSpawning( SetGroup, From, Event, To, ClientName ) + + -- OK, Spawn a new group from the default SpawnAI object provided. + local AIGroup = self.SpawnAI:Spawn() -- Wrapper.Group#GROUP + if AIGroup then + AIGroup:E( "Spawning new AIGroup" ) + --TODO: need to rework UnitName thing ... + + SetGroup:Add( ClientName, AIGroup ) + self.SpawnQueue[ClientName] = nil + + -- Fire the Spawned event. The first parameter is the AIGroup just Spawned. + -- Mission designers can catch this event to bind further actions to the AIGroup. + self:Spawned( AIGroup ) + end +end + +--- @param #AI_BALANCER self +-- @param Core.Set#SET_GROUP SetGroup +-- @param Wrapper.Group#GROUP AIGroup +function AI_BALANCER:onenterDestroying( SetGroup, From, Event, To, ClientName, AIGroup ) + + AIGroup:Destroy() + SetGroup:Flush() + SetGroup:Remove( ClientName ) + SetGroup:Flush() +end + +--- @param #AI_BALANCER self +-- @param Core.Set#SET_GROUP SetGroup +-- @param Wrapper.Group#GROUP AIGroup +function AI_BALANCER:onenterReturning( SetGroup, From, Event, To, AIGroup ) + + local AIGroupTemplate = AIGroup:GetTemplate() + if self.ToHomeAirbase == true then + local WayPointCount = #AIGroupTemplate.route.points + local SwitchWayPointCommand = AIGroup:CommandSwitchWayPoint( 1, WayPointCount, 1 ) + AIGroup:SetCommand( SwitchWayPointCommand ) + AIGroup:MessageToRed( "Returning to home base ...", 30 ) + else + -- Okay, we need to send this Group back to the nearest base of the Coalition of the AI. + --TODO: i need to rework the POINT_VEC2 thing. + local PointVec2 = POINT_VEC2:New( AIGroup:GetVec2().x, AIGroup:GetVec2().y ) + local ClosestAirbase = self.ReturnAirbaseSet:FindNearestAirbaseFromPointVec2( PointVec2 ) + self:T( ClosestAirbase.AirbaseName ) + AIGroup:MessageToRed( "Returning to " .. ClosestAirbase:GetName().. " ...", 30 ) + local RTBRoute = AIGroup:RouteReturnToAirbase( ClosestAirbase ) + AIGroupTemplate.route = RTBRoute + AIGroup:Respawn( AIGroupTemplate ) + end + +end + + +--- @param #AI_BALANCER self +function AI_BALANCER:onenterMonitoring( SetGroup ) + + self:T2( { self.SetClient:Count() } ) + --self.SetClient:Flush() + + self.SetClient:ForEachClient( + --- @param Wrapper.Client#CLIENT Client + function( Client ) + self:T3(Client.ClientName) + + local AIGroup = self.Set:Get( Client.UnitName ) -- Wrapper.Group#GROUP + if Client:IsAlive() then + + if AIGroup and AIGroup:IsAlive() == true then + + if self.ToNearestAirbase == false and self.ToHomeAirbase == false then + self:Destroy( Client.UnitName, AIGroup ) + else + -- We test if there is no other CLIENT within the self.ReturnTresholdRange of the first unit of the AI group. + -- If there is a CLIENT, the AI stays engaged and will not return. + -- If there is no CLIENT within the self.ReturnTresholdRange, then the unit will return to the Airbase return method selected. + + local PlayerInRange = { Value = false } + local RangeZone = ZONE_RADIUS:New( 'RangeZone', AIGroup:GetVec2(), self.ReturnTresholdRange ) + + self:T2( RangeZone ) + + _DATABASE:ForEachPlayer( + --- @param Wrapper.Unit#UNIT RangeTestUnit + function( RangeTestUnit, RangeZone, AIGroup, PlayerInRange ) + self:T2( { PlayerInRange, RangeTestUnit.UnitName, RangeZone.ZoneName } ) + if RangeTestUnit:IsInZone( RangeZone ) == true then + self:T2( "in zone" ) + if RangeTestUnit:GetCoalition() ~= AIGroup:GetCoalition() then + self:T2( "in range" ) + PlayerInRange.Value = true + end + end + end, + + --- @param Core.Zone#ZONE_RADIUS RangeZone + -- @param Wrapper.Group#GROUP AIGroup + function( RangeZone, AIGroup, PlayerInRange ) + if PlayerInRange.Value == false then + self:Return( AIGroup ) + end + end + , RangeZone, AIGroup, PlayerInRange + ) + + end + self.Set:Remove( Client.UnitName ) + end + else + if not AIGroup or not AIGroup:IsAlive() == true then + self:T( "Client " .. Client.UnitName .. " not alive." ) + if not self.SpawnQueue[Client.UnitName] then + -- Spawn a new AI taking into account the spawn interval Earliest, Latest + self:__Spawn( math.random( self.Earliest, self.Latest ), Client.UnitName ) + self.SpawnQueue[Client.UnitName] = true + self:E( "New AI Spawned for Client " .. Client.UnitName ) + end + end + end + return true + end + ) + + self:__Monitor( 10 ) +end + + + +--- **AI** -- **Air Patrolling or Staging.** +-- +-- ![Banner Image](..\Presentations\AI_PATROL\Dia1.JPG) +-- +-- === +-- +-- AI PATROL classes makes AI Controllables execute an Patrol. +-- +-- There are the following types of PATROL classes defined: +-- +-- * @{#AI_PATROL_ZONE}: Perform a PATROL in a zone. +-- +-- ==== +-- +-- # **OPEN ISSUES** +-- +-- 2017-01-17: When Spawned AI is located at an airbase, it will be routed first back to the airbase after take-off. +-- +-- 2016-01-17: +-- -- Fixed problem with AI returning to base too early and unexpected. +-- -- ReSpawning of AI will reset the AI_PATROL and derived classes. +-- -- Checked the correct workings of SCHEDULER, and it DOES work correctly. +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-01-17: Rename of class: **AI\_PATROL\_ZONE** is the new name for the old _AI\_PATROLZONE_. +-- +-- 2017-01-15: Complete revision. AI_PATROL_ZONE is the base class for other AI_PATROL like classes. +-- +-- 2016-09-01: Initial class and API. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * **[Dutch_Baron](https://forums.eagle.ru/member.php?u=112075)**: Working together with James has resulted in the creation of the AI_BALANCER class. James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-) +-- * **[Pikey](https://forums.eagle.ru/member.php?u=62835)**: Testing and API concept review. +-- +-- ### Authors: +-- +-- * **FlightControl**: Design & Programming. +-- +-- @module AI_Patrol + +--- AI_PATROL_ZONE class +-- @type AI_PATROL_ZONE +-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. +-- @field Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. +-- @field Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. +-- @field Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. +-- @field Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. +-- @field Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. +-- @field Functional.Spawn#SPAWN CoordTest +-- @extends Core.Fsm#FSM_CONTROLLABLE + +--- # 1) @{#AI_PATROL_ZONE} class, extends @{Fsm#FSM_CONTROLLABLE} +-- +-- The @{#AI_PATROL_ZONE} class implements the core functions to patrol a @{Zone} by an AI @{Controllable} or @{Group}. +-- +-- ![Process](..\Presentations\AI_PATROL\Dia3.JPG) +-- +-- The AI_PATROL_ZONE is assigned a @{Group} and this must be done before the AI_PATROL_ZONE process can be started using the **Start** event. +-- +-- ![Process](..\Presentations\AI_PATROL\Dia4.JPG) +-- +-- The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. +-- Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits. +-- +-- ![Process](..\Presentations\AI_PATROL\Dia5.JPG) +-- +-- This cycle will continue. +-- +-- ![Process](..\Presentations\AI_PATROL\Dia6.JPG) +-- +-- During the patrol, the AI will detect enemy targets, which are reported through the **Detected** event. +-- +-- ![Process](..\Presentations\AI_PATROL\Dia9.JPG) +-- +---- Note that the enemy is not engaged! To model enemy engagement, either tailor the **Detected** event, or +-- use derived AI_ classes to model AI offensive or defensive behaviour. +-- +-- ![Process](..\Presentations\AI_PATROL\Dia10.JPG) +-- +-- Until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB. +-- When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land. +-- +-- ![Process](..\Presentations\AI_PATROL\Dia11.JPG) +-- +-- ## 1.1) AI_PATROL_ZONE constructor +-- +-- * @{#AI_PATROL_ZONE.New}(): Creates a new AI_PATROL_ZONE object. +-- +-- ## 1.2) AI_PATROL_ZONE is a FSM +-- +-- ![Process](..\Presentations\AI_PATROL\Dia2.JPG) +-- +-- ### 1.2.1) AI_PATROL_ZONE States +-- +-- * **None** ( Group ): The process is not started yet. +-- * **Patrolling** ( Group ): The AI is patrolling the Patrol Zone. +-- * **Returning** ( Group ): The AI is returning to Base. +-- * **Stopped** ( Group ): The process is stopped. +-- * **Crashed** ( Group ): The AI has crashed or is dead. +-- +-- ### 1.2.2) AI_PATROL_ZONE Events +-- +-- * **Start** ( Group ): Start the process. +-- * **Stop** ( Group ): Stop the process. +-- * **Route** ( Group ): Route the AI to a new random 3D point within the Patrol Zone. +-- * **RTB** ( Group ): Route the AI to the home base. +-- * **Detect** ( Group ): The AI is detecting targets. +-- * **Detected** ( Group ): The AI has detected new targets. +-- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. +-- +-- ## 1.3) Set or Get the AI controllable +-- +-- * @{#AI_PATROL_ZONE.SetControllable}(): Set the AIControllable. +-- * @{#AI_PATROL_ZONE.GetControllable}(): Get the AIControllable. +-- +-- ## 1.4) Set the Speed and Altitude boundaries of the AI controllable +-- +-- * @{#AI_PATROL_ZONE.SetSpeed}(): Set the patrol speed boundaries of the AI, for the next patrol. +-- * @{#AI_PATROL_ZONE.SetAltitude}(): Set altitude boundaries of the AI, for the next patrol. +-- +-- ## 1.5) Manage the detection process of the AI controllable +-- +-- The detection process of the AI controllable can be manipulated. +-- Detection requires an amount of CPU power, which has an impact on your mission performance. +-- Only put detection on when absolutely necessary, and the frequency of the detection can also be set. +-- +-- * @{#AI_PATROL_ZONE.SetDetectionOn}(): Set the detection on. The AI will detect for targets. +-- * @{#AI_PATROL_ZONE.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased. +-- +-- The detection frequency can be set with @{#AI_PATROL_ZONE.SetDetectionInterval}( seconds ), where the amount of seconds specify how much seconds will be waited before the next detection. +-- Use the method @{#AI_PATROL_ZONE.GetDetectedUnits}() to obtain a list of the @{Unit}s detected by the AI. +-- +-- The detection can be filtered to potential targets in a specific zone. +-- Use the method @{#AI_PATROL_ZONE.SetDetectionZone}() to set the zone where targets need to be detected. +-- Note that when the zone is too far away, or the AI is not heading towards the zone, or the AI is too high, no targets may be detected +-- according the weather conditions. +-- +-- ## 1.6) Manage the "out of fuel" in the AI_PATROL_ZONE +-- +-- When the AI is out of fuel, it is required that a new AI is started, before the old AI can return to the home base. +-- Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. +-- When the fuel treshold is reached, the AI will continue for a given time its patrol task in orbit, +-- while a new AI is targetted to the AI_PATROL_ZONE. +-- Once the time is finished, the old AI will return to the base. +-- Use the method @{#AI_PATROL_ZONE.ManageFuel}() to have this proces in place. +-- +-- ## 1.7) Manage "damage" behaviour of the AI in the AI_PATROL_ZONE +-- +-- When the AI is damaged, it is required that a new AIControllable is started. However, damage cannon be foreseen early on. +-- Therefore, when the damage treshold is reached, the AI will return immediately to the home base (RTB). +-- Use the method @{#AI_PATROL_ZONE.ManageDamage}() to have this proces in place. +-- +-- === +-- +-- @field #AI_PATROL_ZONE AI_PATROL_ZONE +-- +AI_PATROL_ZONE = { + ClassName = "AI_PATROL_ZONE", +} + +--- Creates a new AI_PATROL_ZONE object +-- @param #AI_PATROL_ZONE self +-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. +-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. +-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. +-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. +-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. +-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO +-- @return #AI_PATROL_ZONE self +-- @usage +-- -- Define a new AI_PATROL_ZONE Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h. +-- PatrolZone = ZONE:New( 'PatrolZone' ) +-- PatrolSpawn = SPAWN:New( 'Patrol Group' ) +-- PatrolArea = AI_PATROL_ZONE:New( PatrolZone, 3000, 6000, 600, 900 ) +function AI_PATROL_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM_CONTROLLABLE:New() ) -- #AI_PATROL_ZONE + + + self.PatrolZone = PatrolZone + self.PatrolFloorAltitude = PatrolFloorAltitude + self.PatrolCeilingAltitude = PatrolCeilingAltitude + self.PatrolMinSpeed = PatrolMinSpeed + self.PatrolMaxSpeed = PatrolMaxSpeed + + -- defafult PatrolAltType to "RADIO" if not specified + self.PatrolAltType = PatrolAltType or "RADIO" + + self:SetDetectionInterval( 30 ) + + self.CheckStatus = true + + self:ManageFuel( .2, 60 ) + self:ManageDamage( 1 ) + + + self.DetectedUnits = {} -- This table contains the targets detected during patrol. + + self:SetStartState( "None" ) + + self:AddTransition( "*", "Stop", "Stopped" ) + +--- OnLeave Transition Handler for State Stopped. +-- @function [parent=#AI_PATROL_ZONE] OnLeaveStopped +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnEnter Transition Handler for State Stopped. +-- @function [parent=#AI_PATROL_ZONE] OnEnterStopped +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- OnBefore Transition Handler for Event Stop. +-- @function [parent=#AI_PATROL_ZONE] OnBeforeStop +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnAfter Transition Handler for Event Stop. +-- @function [parent=#AI_PATROL_ZONE] OnAfterStop +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- Synchronous Event Trigger for Event Stop. +-- @function [parent=#AI_PATROL_ZONE] Stop +-- @param #AI_PATROL_ZONE self + +--- Asynchronous Event Trigger for Event Stop. +-- @function [parent=#AI_PATROL_ZONE] __Stop +-- @param #AI_PATROL_ZONE self +-- @param #number Delay The delay in seconds. + + self:AddTransition( "None", "Start", "Patrolling" ) + +--- OnBefore Transition Handler for Event Start. +-- @function [parent=#AI_PATROL_ZONE] OnBeforeStart +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnAfter Transition Handler for Event Start. +-- @function [parent=#AI_PATROL_ZONE] OnAfterStart +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- Synchronous Event Trigger for Event Start. +-- @function [parent=#AI_PATROL_ZONE] Start +-- @param #AI_PATROL_ZONE self + +--- Asynchronous Event Trigger for Event Start. +-- @function [parent=#AI_PATROL_ZONE] __Start +-- @param #AI_PATROL_ZONE self +-- @param #number Delay The delay in seconds. + +--- OnLeave Transition Handler for State Patrolling. +-- @function [parent=#AI_PATROL_ZONE] OnLeavePatrolling +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnEnter Transition Handler for State Patrolling. +-- @function [parent=#AI_PATROL_ZONE] OnEnterPatrolling +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + + self:AddTransition( "Patrolling", "Route", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_PATROL_ZONE. + +--- OnBefore Transition Handler for Event Route. +-- @function [parent=#AI_PATROL_ZONE] OnBeforeRoute +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnAfter Transition Handler for Event Route. +-- @function [parent=#AI_PATROL_ZONE] OnAfterRoute +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- Synchronous Event Trigger for Event Route. +-- @function [parent=#AI_PATROL_ZONE] Route +-- @param #AI_PATROL_ZONE self + +--- Asynchronous Event Trigger for Event Route. +-- @function [parent=#AI_PATROL_ZONE] __Route +-- @param #AI_PATROL_ZONE self +-- @param #number Delay The delay in seconds. + + self:AddTransition( "*", "Status", "*" ) -- FSM_CONTROLLABLE Transition for type #AI_PATROL_ZONE. + +--- OnBefore Transition Handler for Event Status. +-- @function [parent=#AI_PATROL_ZONE] OnBeforeStatus +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnAfter Transition Handler for Event Status. +-- @function [parent=#AI_PATROL_ZONE] OnAfterStatus +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- Synchronous Event Trigger for Event Status. +-- @function [parent=#AI_PATROL_ZONE] Status +-- @param #AI_PATROL_ZONE self + +--- Asynchronous Event Trigger for Event Status. +-- @function [parent=#AI_PATROL_ZONE] __Status +-- @param #AI_PATROL_ZONE self +-- @param #number Delay The delay in seconds. + + self:AddTransition( "*", "Detect", "*" ) -- FSM_CONTROLLABLE Transition for type #AI_PATROL_ZONE. + +--- OnBefore Transition Handler for Event Detect. +-- @function [parent=#AI_PATROL_ZONE] OnBeforeDetect +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnAfter Transition Handler for Event Detect. +-- @function [parent=#AI_PATROL_ZONE] OnAfterDetect +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- Synchronous Event Trigger for Event Detect. +-- @function [parent=#AI_PATROL_ZONE] Detect +-- @param #AI_PATROL_ZONE self + +--- Asynchronous Event Trigger for Event Detect. +-- @function [parent=#AI_PATROL_ZONE] __Detect +-- @param #AI_PATROL_ZONE self +-- @param #number Delay The delay in seconds. + + self:AddTransition( "*", "Detected", "*" ) -- FSM_CONTROLLABLE Transition for type #AI_PATROL_ZONE. + +--- OnBefore Transition Handler for Event Detected. +-- @function [parent=#AI_PATROL_ZONE] OnBeforeDetected +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnAfter Transition Handler for Event Detected. +-- @function [parent=#AI_PATROL_ZONE] OnAfterDetected +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- Synchronous Event Trigger for Event Detected. +-- @function [parent=#AI_PATROL_ZONE] Detected +-- @param #AI_PATROL_ZONE self + +--- Asynchronous Event Trigger for Event Detected. +-- @function [parent=#AI_PATROL_ZONE] __Detected +-- @param #AI_PATROL_ZONE self +-- @param #number Delay The delay in seconds. + + self:AddTransition( "*", "RTB", "Returning" ) -- FSM_CONTROLLABLE Transition for type #AI_PATROL_ZONE. + +--- OnBefore Transition Handler for Event RTB. +-- @function [parent=#AI_PATROL_ZONE] OnBeforeRTB +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnAfter Transition Handler for Event RTB. +-- @function [parent=#AI_PATROL_ZONE] OnAfterRTB +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + +--- Synchronous Event Trigger for Event RTB. +-- @function [parent=#AI_PATROL_ZONE] RTB +-- @param #AI_PATROL_ZONE self + +--- Asynchronous Event Trigger for Event RTB. +-- @function [parent=#AI_PATROL_ZONE] __RTB +-- @param #AI_PATROL_ZONE self +-- @param #number Delay The delay in seconds. + +--- OnLeave Transition Handler for State Returning. +-- @function [parent=#AI_PATROL_ZONE] OnLeaveReturning +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnEnter Transition Handler for State Returning. +-- @function [parent=#AI_PATROL_ZONE] OnEnterReturning +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + + self:AddTransition( "*", "Reset", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_PATROL_ZONE. + + self:AddTransition( "*", "Eject", "*" ) + self:AddTransition( "*", "Crash", "Crashed" ) + self:AddTransition( "*", "PilotDead", "*" ) + + return self +end + + + + +--- Sets (modifies) the minimum and maximum speed of the patrol. +-- @param #AI_PATROL_ZONE self +-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. +-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetSpeed( PatrolMinSpeed, PatrolMaxSpeed ) + self:F2( { PatrolMinSpeed, PatrolMaxSpeed } ) + + self.PatrolMinSpeed = PatrolMinSpeed + self.PatrolMaxSpeed = PatrolMaxSpeed +end + + + +--- Sets the floor and ceiling altitude of the patrol. +-- @param #AI_PATROL_ZONE self +-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. +-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetAltitude( PatrolFloorAltitude, PatrolCeilingAltitude ) + self:F2( { PatrolFloorAltitude, PatrolCeilingAltitude } ) + + self.PatrolFloorAltitude = PatrolFloorAltitude + self.PatrolCeilingAltitude = PatrolCeilingAltitude +end + +-- * @{#AI_PATROL_ZONE.SetDetectionOn}(): Set the detection on. The AI will detect for targets. +-- * @{#AI_PATROL_ZONE.SetDetectionOff}(): Set the detection off, the AI will not detect for targets. The existing target list will NOT be erased. + +--- Set the detection on. The AI will detect for targets. +-- @param #AI_PATROL_ZONE self +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetDetectionOn() + self:F2() + + self.DetectOn = true +end + +--- Set the detection off. The AI will NOT detect for targets. +-- However, the list of already detected targets will be kept and can be enquired! +-- @param #AI_PATROL_ZONE self +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetDetectionOff() + self:F2() + + self.DetectOn = false +end + +--- Set the status checking off. +-- @param #AI_PATROL_ZONE self +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetStatusOff() + self:F2() + + self.CheckStatus = false +end + +--- Activate the detection. The AI will detect for targets if the Detection is switched On. +-- @param #AI_PATROL_ZONE self +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetDetectionActivated() + self:F2() + + self:ClearDetectedUnits() + self.DetectActivated = true + self:__Detect( -self.DetectInterval ) +end + +--- Deactivate the detection. The AI will NOT detect for targets. +-- @param #AI_PATROL_ZONE self +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetDetectionDeactivated() + self:F2() + + self:ClearDetectedUnits() + self.DetectActivated = false +end + +--- Set the interval in seconds between each detection executed by the AI. +-- The list of already detected targets will be kept and updated. +-- Newly detected targets will be added, but already detected targets that were +-- not detected in this cycle, will NOT be removed! +-- The default interval is 30 seconds. +-- @param #AI_PATROL_ZONE self +-- @param #number Seconds The interval in seconds. +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetDetectionInterval( Seconds ) + self:F2() + + if Seconds then + self.DetectInterval = Seconds + else + self.DetectInterval = 30 + end +end + +--- Set the detection zone where the AI is detecting targets. +-- @param #AI_PATROL_ZONE self +-- @param Core.Zone#ZONE DetectionZone The zone where to detect targets. +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:SetDetectionZone( DetectionZone ) + self:F2() + + if DetectionZone then + self.DetectZone = DetectionZone + else + self.DetectZone = nil + end +end + +--- Gets a list of @{Unit#UNIT}s that were detected by the AI. +-- No filtering is applied, so, ANY detected UNIT can be in this list. +-- It is up to the mission designer to use the @{Unit} class and methods to filter the targets. +-- @param #AI_PATROL_ZONE self +-- @return #table The list of @{Unit#UNIT}s +function AI_PATROL_ZONE:GetDetectedUnits() + self:F2() + + return self.DetectedUnits +end + +--- Clears the list of @{Unit#UNIT}s that were detected by the AI. +-- @param #AI_PATROL_ZONE self +function AI_PATROL_ZONE:ClearDetectedUnits() + self:F2() + self.DetectedUnits = {} +end + +--- When the AI is out of fuel, it is required that a new AI is started, before the old AI can return to the home base. +-- Therefore, with a parameter and a calculation of the distance to the home base, the fuel treshold is calculated. +-- When the fuel treshold is reached, the AI will continue for a given time its patrol task in orbit, while a new AIControllable is targetted to the AI_PATROL_ZONE. +-- Once the time is finished, the old AI will return to the base. +-- @param #AI_PATROL_ZONE self +-- @param #number PatrolFuelTresholdPercentage The treshold in percentage (between 0 and 1) when the AIControllable is considered to get out of fuel. +-- @param #number PatrolOutOfFuelOrbitTime The amount of seconds the out of fuel AIControllable will orbit before returning to the base. +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:ManageFuel( PatrolFuelTresholdPercentage, PatrolOutOfFuelOrbitTime ) + + self.PatrolManageFuel = true + self.PatrolFuelTresholdPercentage = PatrolFuelTresholdPercentage + self.PatrolOutOfFuelOrbitTime = PatrolOutOfFuelOrbitTime + + return self +end + +--- When the AI is damaged beyond a certain treshold, it is required that the AI returns to the home base. +-- However, damage cannot be foreseen early on. +-- Therefore, when the damage treshold is reached, +-- the AI will return immediately to the home base (RTB). +-- Note that for groups, the average damage of the complete group will be calculated. +-- So, in a group of 4 airplanes, 2 lost and 2 with damage 0.2, the damage treshold will be 0.25. +-- @param #AI_PATROL_ZONE self +-- @param #number PatrolDamageTreshold The treshold in percentage (between 0 and 1) when the AI is considered to be damaged. +-- @return #AI_PATROL_ZONE self +function AI_PATROL_ZONE:ManageDamage( PatrolDamageTreshold ) + + self.PatrolManageDamage = true + self.PatrolDamageTreshold = PatrolDamageTreshold + + return self +end + +--- Defines a new patrol route using the @{Process_PatrolZone} parameters and settings. +-- @param #AI_PATROL_ZONE self +-- @return #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_PATROL_ZONE:onafterStart( Controllable, From, Event, To ) + self:F2() + + self:__Route( 1 ) -- Route to the patrol point. The asynchronous trigger is important, because a spawned group and units takes at least one second to come live. + self:__Status( 60 ) -- Check status status every 30 seconds. + self:SetDetectionActivated() + + self:HandleEvent( EVENTS.PilotDead, self.OnPilotDead ) + self:HandleEvent( EVENTS.Crash, self.OnCrash ) + self:HandleEvent( EVENTS.Ejection, self.OnEjection ) + + Controllable:OptionROEHoldFire() + Controllable:OptionROTVertical() + + self.Controllable:OnReSpawn( + function( PatrolGroup ) + self:E( "ReSpawn" ) + self:__Reset( 1 ) + self:__Route( 5 ) + end + ) + + self:SetDetectionOn() + +end + + +--- @param #AI_PATROL_ZONE self +--- @param Wrapper.Controllable#CONTROLLABLE Controllable +function AI_PATROL_ZONE:onbeforeDetect( Controllable, From, Event, To ) + + return self.DetectOn and self.DetectActivated +end + +--- @param #AI_PATROL_ZONE self +--- @param Wrapper.Controllable#CONTROLLABLE Controllable +function AI_PATROL_ZONE:onafterDetect( Controllable, From, Event, To ) + + local Detected = false + + local DetectedTargets = Controllable:GetDetectedTargets() + for TargetID, Target in pairs( DetectedTargets or {} ) do + local TargetObject = Target.object + + if TargetObject and TargetObject:isExist() and TargetObject.id_ < 50000000 then + + local TargetUnit = UNIT:Find( TargetObject ) + local TargetUnitName = TargetUnit:GetName() + + if self.DetectionZone then + if TargetUnit:IsInZone( self.DetectionZone ) then + self:T( {"Detected ", TargetUnit } ) + if self.DetectedUnits[TargetUnit] == nil then + self.DetectedUnits[TargetUnit] = true + end + Detected = true + end + else + if self.DetectedUnits[TargetUnit] == nil then + self.DetectedUnits[TargetUnit] = true + end + Detected = true + end + end + end + + self:__Detect( -self.DetectInterval ) + + if Detected == true then + self:__Detected( 1.5 ) + end + +end + +--- @param Wrapper.Controllable#CONTROLLABLE AIControllable +-- This statis method is called from the route path within the last task at the last waaypoint of the Controllable. +-- Note that this method is required, as triggers the next route when patrolling for the Controllable. +function AI_PATROL_ZONE:_NewPatrolRoute( AIControllable ) + + local PatrolZone = AIControllable:GetState( AIControllable, "PatrolZone" ) -- PatrolCore.Zone#AI_PATROL_ZONE + PatrolZone:__Route( 1 ) +end + + +--- Defines a new patrol route using the @{Process_PatrolZone} parameters and settings. +-- @param #AI_PATROL_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_PATROL_ZONE:onafterRoute( Controllable, From, Event, To ) + + self:F2() + + -- When RTB, don't allow anymore the routing. + if From == "RTB" then + return + end + + + if self.Controllable:IsAlive() then + -- Determine if the AIControllable is within the PatrolZone. + -- If not, make a waypoint within the to that the AIControllable will fly at maximum speed to that point. + + local PatrolRoute = {} + + -- Calculate the current route point of the controllable as the start point of the route. + -- However, when the controllable is not in the air, + -- the controllable current waypoint is probably the airbase... + -- Thus, if we would take the current waypoint as the startpoint, upon take-off, the controllable flies + -- immediately back to the airbase, and this is not correct. + -- Therefore, when on a runway, get as the current route point a random point within the PatrolZone. + -- This will make the plane fly immediately to the patrol zone. + + if self.Controllable:InAir() == false then + self:E( "Not in the air, finding route path within PatrolZone" ) + local CurrentVec2 = self.Controllable:GetVec2() + --TODO: Create GetAltitude function for GROUP, and delete GetUnit(1). + local CurrentAltitude = self.Controllable:GetUnit(1):GetAltitude() + local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y ) + local ToPatrolZoneSpeed = self.PatrolMaxSpeed + local CurrentRoutePoint = CurrentPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TakeOffParking, + POINT_VEC3.RoutePointAction.FromParkingArea, + ToPatrolZoneSpeed, + true + ) + PatrolRoute[#PatrolRoute+1] = CurrentRoutePoint + else + self:E( "In the air, finding route path within PatrolZone" ) + local CurrentVec2 = self.Controllable:GetVec2() + --TODO: Create GetAltitude function for GROUP, and delete GetUnit(1). + local CurrentAltitude = self.Controllable:GetUnit(1):GetAltitude() + local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y ) + local ToPatrolZoneSpeed = self.PatrolMaxSpeed + local CurrentRoutePoint = CurrentPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TurningPoint, + POINT_VEC3.RoutePointAction.TurningPoint, + ToPatrolZoneSpeed, + true + ) + PatrolRoute[#PatrolRoute+1] = CurrentRoutePoint + end + + + --- Define a random point in the @{Zone}. The AI will fly to that point within the zone. + + --- Find a random 2D point in PatrolZone. + local ToTargetVec2 = self.PatrolZone:GetRandomVec2() + self:T2( ToTargetVec2 ) + + --- Define Speed and Altitude. + local ToTargetAltitude = math.random( self.PatrolFloorAltitude, self.PatrolCeilingAltitude ) + local ToTargetSpeed = math.random( self.PatrolMinSpeed, self.PatrolMaxSpeed ) + self:T2( { self.PatrolMinSpeed, self.PatrolMaxSpeed, ToTargetSpeed } ) + + --- Obtain a 3D @{Point} from the 2D point + altitude. + local ToTargetPointVec3 = POINT_VEC3:New( ToTargetVec2.x, ToTargetAltitude, ToTargetVec2.y ) + + --- Create a route point of type air. + local ToTargetRoutePoint = ToTargetPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TurningPoint, + POINT_VEC3.RoutePointAction.TurningPoint, + ToTargetSpeed, + true + ) + + --self.CoordTest:SpawnFromVec3( ToTargetPointVec3:GetVec3() ) + + --ToTargetPointVec3:SmokeRed() + + PatrolRoute[#PatrolRoute+1] = ToTargetRoutePoint + + --- Now we're going to do something special, we're going to call a function from a waypoint action at the AIControllable... + self.Controllable:WayPointInitialize( PatrolRoute ) + + --- Do a trick, link the NewPatrolRoute function of the PATROLGROUP object to the AIControllable in a temporary variable ... + self.Controllable:SetState( self.Controllable, "PatrolZone", self ) + self.Controllable:WayPointFunction( #PatrolRoute, 1, "AI_PATROL_ZONE:_NewPatrolRoute" ) + + --- NOW ROUTE THE GROUP! + self.Controllable:WayPointExecute( 1, 2 ) + end + +end + +--- @param #AI_PATROL_ZONE self +function AI_PATROL_ZONE:onbeforeStatus() + + return self.CheckStatus +end + +--- @param #AI_PATROL_ZONE self +function AI_PATROL_ZONE:onafterStatus() + self:F2() + + if self.Controllable and self.Controllable:IsAlive() then + + local RTB = false + + local Fuel = self.Controllable:GetUnit(1):GetFuel() + if Fuel < self.PatrolFuelTresholdPercentage then + self:E( self.Controllable:GetName() .. " is out of fuel:" .. Fuel .. ", RTB!" ) + local OldAIControllable = self.Controllable + local AIControllableTemplate = self.Controllable:GetTemplate() + + local OrbitTask = OldAIControllable:TaskOrbitCircle( math.random( self.PatrolFloorAltitude, self.PatrolCeilingAltitude ), self.PatrolMinSpeed ) + local TimedOrbitTask = OldAIControllable:TaskControlled( OrbitTask, OldAIControllable:TaskCondition(nil,nil,nil,nil,self.PatrolOutOfFuelOrbitTime,nil ) ) + OldAIControllable:SetTask( TimedOrbitTask, 10 ) + + RTB = true + else + end + + -- TODO: Check GROUP damage function. + local Damage = self.Controllable:GetLife() + if Damage <= self.PatrolDamageTreshold then + self:E( self.Controllable:GetName() .. " is damaged:" .. Damage .. ", RTB!" ) + RTB = true + end + + if RTB == true then + self:RTB() + else + self:__Status( 60 ) -- Execute the Patrol event after 30 seconds. + end + end +end + +--- @param #AI_PATROL_ZONE self +function AI_PATROL_ZONE:onafterRTB() + self:F2() + + if self.Controllable and self.Controllable:IsAlive() then + + self:SetDetectionOff() + self.CheckStatus = false + + local PatrolRoute = {} + + --- Calculate the current route point. + local CurrentVec2 = self.Controllable:GetVec2() + + --TODO: Create GetAltitude function for GROUP, and delete GetUnit(1). + local CurrentAltitude = self.Controllable:GetUnit(1):GetAltitude() + local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y ) + local ToPatrolZoneSpeed = self.PatrolMaxSpeed + local CurrentRoutePoint = CurrentPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TurningPoint, + POINT_VEC3.RoutePointAction.TurningPoint, + ToPatrolZoneSpeed, + true + ) + + PatrolRoute[#PatrolRoute+1] = CurrentRoutePoint + + --- Now we're going to do something special, we're going to call a function from a waypoint action at the AIControllable... + self.Controllable:WayPointInitialize( PatrolRoute ) + + --- NOW ROUTE THE GROUP! + self.Controllable:WayPointExecute( 1, 1 ) + + end + +end + +--- @param #AI_PATROL_ZONE self +function AI_PATROL_ZONE:onafterDead() + self:SetDetectionOff() + self:SetStatusOff() +end + +--- @param #AI_PATROL_ZONE self +-- @param Core.Event#EVENTDATA EventData +function AI_PATROL_ZONE:OnCrash( EventData ) + + if self.Controllable:IsAlive() and EventData.IniDCSGroupName == self.Controllable:GetName() then + self:E( self.Controllable:GetUnits() ) + if #self.Controllable:GetUnits() == 1 then + self:__Crash( 1, EventData ) + end + end +end + +--- @param #AI_PATROL_ZONE self +-- @param Core.Event#EVENTDATA EventData +function AI_PATROL_ZONE:OnEjection( EventData ) + + if self.Controllable:IsAlive() and EventData.IniDCSGroupName == self.Controllable:GetName() then + self:__Eject( 1, EventData ) + end +end + +--- @param #AI_PATROL_ZONE self +-- @param Core.Event#EVENTDATA EventData +function AI_PATROL_ZONE:OnPilotDead( EventData ) + + if self.Controllable:IsAlive() and EventData.IniDCSGroupName == self.Controllable:GetName() then + self:__PilotDead( 1, EventData ) + end +end +--- **AI** - **Execute Combat Air Patrol (CAP).** +-- +-- ![Banner Image](..\Presentations\AI_CAP\Dia1.JPG) +-- +-- === +-- +-- AI CAP classes makes AI Controllables execute a Combat Air Patrol. +-- +-- There are the following types of CAP classes defined: +-- +-- * @{#AI_CAP_ZONE}: Perform a CAP in a zone. +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-01-15: Initial class and API. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * **[Quax](https://forums.eagle.ru/member.php?u=90530)**: Concept, Advice & Testing. +-- * **[Pikey](https://forums.eagle.ru/member.php?u=62835)**: Concept, Advice & Testing. +-- * **[Gunterlund](http://forums.eagle.ru:8080/member.php?u=75036)**: Test case revision. +-- * **[Whisper](http://forums.eagle.ru/member.php?u=3829): Testing. +-- * **[Delta99](https://forums.eagle.ru/member.php?u=125166): Testing. +-- +-- ### Authors: +-- +-- * **FlightControl**: Concept, Design & Programming. +-- +-- @module AI_Cap + + +--- @type AI_CAP_ZONE +-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. +-- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed. +-- @extends AI.AI_Patrol#AI_PATROL_ZONE + + +--- # 1) @{#AI_CAP_ZONE} class, extends @{AI_CAP#AI_PATROL_ZONE} +-- +-- The @{#AI_CAP_ZONE} class implements the core functions to patrol a @{Zone} by an AI @{Controllable} or @{Group} +-- and automatically engage any airborne enemies that are within a certain range or within a certain zone. +-- +-- ![Process](..\Presentations\AI_CAP\Dia3.JPG) +-- +-- The AI_CAP_ZONE is assigned a @{Group} and this must be done before the AI_CAP_ZONE process can be started using the **Start** event. +-- +-- ![Process](..\Presentations\AI_CAP\Dia4.JPG) +-- +-- The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. +-- Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits. +-- +-- ![Process](..\Presentations\AI_CAP\Dia5.JPG) +-- +-- This cycle will continue. +-- +-- ![Process](..\Presentations\AI_CAP\Dia6.JPG) +-- +-- During the patrol, the AI will detect enemy targets, which are reported through the **Detected** event. +-- +-- ![Process](..\Presentations\AI_CAP\Dia9.JPG) +-- +-- When enemies are detected, the AI will automatically engage the enemy. +-- +-- ![Process](..\Presentations\AI_CAP\Dia10.JPG) +-- +-- Until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB. +-- When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land. +-- +-- ![Process](..\Presentations\AI_CAP\Dia13.JPG) +-- +-- ## 1.1) AI_CAP_ZONE constructor +-- +-- * @{#AI_CAP_ZONE.New}(): Creates a new AI_CAP_ZONE object. +-- +-- ## 1.2) AI_CAP_ZONE is a FSM +-- +-- ![Process](..\Presentations\AI_CAP\Dia2.JPG) +-- +-- ### 1.2.1) AI_CAP_ZONE States +-- +-- * **None** ( Group ): The process is not started yet. +-- * **Patrolling** ( Group ): The AI is patrolling the Patrol Zone. +-- * **Engaging** ( Group ): The AI is engaging the bogeys. +-- * **Returning** ( Group ): The AI is returning to Base.. +-- +-- ### 1.2.2) AI_CAP_ZONE Events +-- +-- * **@{AI_Patrol#AI_PATROL_ZONE.Start}**: Start the process. +-- * **@{AI_Patrol#AI_PATROL_ZONE.Route}**: Route the AI to a new random 3D point within the Patrol Zone. +-- * **@{#AI_CAP_ZONE.Engage}**: Let the AI engage the bogeys. +-- * **@{#AI_CAP_ZONE.Abort}**: Aborts the engagement and return patrolling in the patrol zone. +-- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. +-- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. +-- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. +-- * **@{#AI_CAP_ZONE.Destroy}**: The AI has destroyed a bogey @{Unit}. +-- * **@{#AI_CAP_ZONE.Destroyed}**: The AI has destroyed all bogeys @{Unit}s assigned in the CAS task. +-- * **Status** ( Group ): The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. +-- +-- ## 1.3) Set the Range of Engagement +-- +-- ![Range](..\Presentations\AI_CAP\Dia11.JPG) +-- +-- An optional range can be set in meters, +-- that will define when the AI will engage with the detected airborne enemy targets. +-- The range can be beyond or smaller than the range of the Patrol Zone. +-- The range is applied at the position of the AI. +-- Use the method @{AI_CAP#AI_CAP_ZONE.SetEngageRange}() to define that range. +-- +-- ## 1.4) Set the Zone of Engagement +-- +-- ![Zone](..\Presentations\AI_CAP\Dia12.JPG) +-- +-- An optional @{Zone} can be set, +-- that will define when the AI will engage with the detected airborne enemy targets. +-- Use the method @{AI_Cap#AI_CAP_ZONE.SetEngageZone}() to define that Zone. +-- +-- === +-- +-- @field #AI_CAP_ZONE AI_CAP_ZONE +-- +AI_CAP_ZONE = { + ClassName = "AI_CAP_ZONE", +} + + + +--- Creates a new AI_CAP_ZONE object +-- @param #AI_CAP_ZONE self +-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. +-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. +-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. +-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. +-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. +-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO +-- @return #AI_CAP_ZONE self +function AI_CAP_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) + + -- Inherits from BASE + local self = BASE:Inherit( self, AI_PATROL_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) ) -- #AI_CAP_ZONE + + self.Accomplished = false + self.Engaging = false + + self:AddTransition( { "Patrolling", "Engaging" }, "Engage", "Engaging" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. + + --- OnBefore Transition Handler for Event Engage. + -- @function [parent=#AI_CAP_ZONE] OnBeforeEngage + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Engage. + -- @function [parent=#AI_CAP_ZONE] OnAfterEngage + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Engage. + -- @function [parent=#AI_CAP_ZONE] Engage + -- @param #AI_CAP_ZONE self + + --- Asynchronous Event Trigger for Event Engage. + -- @function [parent=#AI_CAP_ZONE] __Engage + -- @param #AI_CAP_ZONE self + -- @param #number Delay The delay in seconds. + +--- OnLeave Transition Handler for State Engaging. +-- @function [parent=#AI_CAP_ZONE] OnLeaveEngaging +-- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnEnter Transition Handler for State Engaging. +-- @function [parent=#AI_CAP_ZONE] OnEnterEngaging +-- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + + self:AddTransition( "Engaging", "Fired", "Engaging" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. + + --- OnBefore Transition Handler for Event Fired. + -- @function [parent=#AI_CAP_ZONE] OnBeforeFired + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Fired. + -- @function [parent=#AI_CAP_ZONE] OnAfterFired + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Fired. + -- @function [parent=#AI_CAP_ZONE] Fired + -- @param #AI_CAP_ZONE self + + --- Asynchronous Event Trigger for Event Fired. + -- @function [parent=#AI_CAP_ZONE] __Fired + -- @param #AI_CAP_ZONE self + -- @param #number Delay The delay in seconds. + + self:AddTransition( "*", "Destroy", "*" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. + + --- OnBefore Transition Handler for Event Destroy. + -- @function [parent=#AI_CAP_ZONE] OnBeforeDestroy + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Destroy. + -- @function [parent=#AI_CAP_ZONE] OnAfterDestroy + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Destroy. + -- @function [parent=#AI_CAP_ZONE] Destroy + -- @param #AI_CAP_ZONE self + + --- Asynchronous Event Trigger for Event Destroy. + -- @function [parent=#AI_CAP_ZONE] __Destroy + -- @param #AI_CAP_ZONE self + -- @param #number Delay The delay in seconds. + + + self:AddTransition( "Engaging", "Abort", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. + + --- OnBefore Transition Handler for Event Abort. + -- @function [parent=#AI_CAP_ZONE] OnBeforeAbort + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Abort. + -- @function [parent=#AI_CAP_ZONE] OnAfterAbort + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Abort. + -- @function [parent=#AI_CAP_ZONE] Abort + -- @param #AI_CAP_ZONE self + + --- Asynchronous Event Trigger for Event Abort. + -- @function [parent=#AI_CAP_ZONE] __Abort + -- @param #AI_CAP_ZONE self + -- @param #number Delay The delay in seconds. + + self:AddTransition( "Engaging", "Accomplish", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_CAP_ZONE. + + --- OnBefore Transition Handler for Event Accomplish. + -- @function [parent=#AI_CAP_ZONE] OnBeforeAccomplish + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Accomplish. + -- @function [parent=#AI_CAP_ZONE] OnAfterAccomplish + -- @param #AI_CAP_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Accomplish. + -- @function [parent=#AI_CAP_ZONE] Accomplish + -- @param #AI_CAP_ZONE self + + --- Asynchronous Event Trigger for Event Accomplish. + -- @function [parent=#AI_CAP_ZONE] __Accomplish + -- @param #AI_CAP_ZONE self + -- @param #number Delay The delay in seconds. + + return self +end + + +--- Set the Engage Zone which defines where the AI will engage bogies. +-- @param #AI_CAP_ZONE self +-- @param Core.Zone#ZONE EngageZone The zone where the AI is performing CAP. +-- @return #AI_CAP_ZONE self +function AI_CAP_ZONE:SetEngageZone( EngageZone ) + self:F2() + + if EngageZone then + self.EngageZone = EngageZone + else + self.EngageZone = nil + end +end + +--- Set the Engage Range when the AI will engage with airborne enemies. +-- @param #AI_CAP_ZONE self +-- @param #number EngageRange The Engage Range. +-- @return #AI_CAP_ZONE self +function AI_CAP_ZONE:SetEngageRange( EngageRange ) + self:F2() + + if EngageRange then + self.EngageRange = EngageRange + else + self.EngageRange = nil + end +end + +--- onafter State Transition for Event Start. +-- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAP_ZONE:onafterStart( Controllable, From, Event, To ) + + -- Call the parent Start event handler + self:GetParent(self).onafterStart( self, Controllable, From, Event, To ) + self:HandleEvent( EVENTS.Dead ) + +end + +-- todo: need to fix this global function + +--- @param Wrapper.Controllable#CONTROLLABLE AIControllable +function _NewEngageCapRoute( AIControllable ) + + AIControllable:T( "NewEngageRoute" ) + local EngageZone = AIControllable:GetState( AIControllable, "EngageZone" ) -- AI.AI_Cap#AI_CAP_ZONE + EngageZone:__Engage( 1 ) +end + +--- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAP_ZONE:onbeforeEngage( Controllable, From, Event, To ) + + if self.Accomplished == true then + return false + end +end + +--- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAP_ZONE:onafterDetected( Controllable, From, Event, To ) + + if From ~= "Engaging" then + + local Engage = false + + for DetectedUnit, Detected in pairs( self.DetectedUnits ) do + + local DetectedUnit = DetectedUnit -- Wrapper.Unit#UNIT + self:T( DetectedUnit ) + if DetectedUnit:IsAlive() and DetectedUnit:IsAir() then + Engage = true + break + end + end + + if Engage == true then + self:E( 'Detected -> Engaging' ) + self:__Engage( 1 ) + end + end +end + + +--- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAP_ZONE:onafterAbort( Controllable, From, Event, To ) + Controllable:ClearTasks() + self:__Route( 1 ) +end + + + + +--- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAP_ZONE:onafterEngage( Controllable, From, Event, To ) + + if Controllable:IsAlive() then + + local EngageRoute = {} + + --- Calculate the current route point. + local CurrentVec2 = self.Controllable:GetVec2() + + --TODO: Create GetAltitude function for GROUP, and delete GetUnit(1). + local CurrentAltitude = self.Controllable:GetUnit(1):GetAltitude() + local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y ) + local ToEngageZoneSpeed = self.PatrolMaxSpeed + local CurrentRoutePoint = CurrentPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TurningPoint, + POINT_VEC3.RoutePointAction.TurningPoint, + ToEngageZoneSpeed, + true + ) + + EngageRoute[#EngageRoute+1] = CurrentRoutePoint + + + --- Find a random 2D point in PatrolZone. + local ToTargetVec2 = self.PatrolZone:GetRandomVec2() + self:T2( ToTargetVec2 ) + + --- Define Speed and Altitude. + local ToTargetAltitude = math.random( self.EngageFloorAltitude, self.EngageCeilingAltitude ) + local ToTargetSpeed = math.random( self.PatrolMinSpeed, self.PatrolMaxSpeed ) + self:T2( { self.PatrolMinSpeed, self.PatrolMaxSpeed, ToTargetSpeed } ) + + --- Obtain a 3D @{Point} from the 2D point + altitude. + local ToTargetPointVec3 = POINT_VEC3:New( ToTargetVec2.x, ToTargetAltitude, ToTargetVec2.y ) + + --- Create a route point of type air. + local ToPatrolRoutePoint = ToTargetPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TurningPoint, + POINT_VEC3.RoutePointAction.TurningPoint, + ToTargetSpeed, + true + ) + + EngageRoute[#EngageRoute+1] = ToPatrolRoutePoint + + Controllable:OptionROEOpenFire() + Controllable:OptionROTPassiveDefense() + + local AttackTasks = {} + + for DetectedUnit, Detected in pairs( self.DetectedUnits ) do + local DetectedUnit = DetectedUnit -- Wrapper.Unit#UNIT + self:T( { DetectedUnit, DetectedUnit:IsAlive(), DetectedUnit:IsAir() } ) + if DetectedUnit:IsAlive() and DetectedUnit:IsAir() then + if self.EngageZone then + if DetectedUnit:IsInZone( self.EngageZone ) then + self:E( {"Within Zone and Engaging ", DetectedUnit } ) + AttackTasks[#AttackTasks+1] = Controllable:TaskAttackUnit( DetectedUnit ) + end + else + if self.EngageRange then + if DetectedUnit:GetPointVec3():Get2DDistance(Controllable:GetPointVec3() ) <= self.EngageRange then + self:E( {"Within Range and Engaging", DetectedUnit } ) + AttackTasks[#AttackTasks+1] = Controllable:TaskAttackUnit( DetectedUnit ) + end + else + AttackTasks[#AttackTasks+1] = Controllable:TaskAttackUnit( DetectedUnit ) + end + end + else + self.DetectedUnits[DetectedUnit] = nil + end + end + + --- Now we're going to do something special, we're going to call a function from a waypoint action at the AIControllable... + self.Controllable:WayPointInitialize( EngageRoute ) + + + if #AttackTasks == 0 then + self:E("No targets found -> Going back to Patrolling") + self:__Abort( 1 ) + self:__Route( 1 ) + self:SetDetectionActivated() + else + EngageRoute[1].task = Controllable:TaskCombo( AttackTasks ) + + --- Do a trick, link the NewEngageRoute function of the object to the AIControllable in a temporary variable ... + self.Controllable:SetState( self.Controllable, "EngageZone", self ) + + self.Controllable:WayPointFunction( #EngageRoute, 1, "_NewEngageCapRoute" ) + + self:SetDetectionDeactivated() + end + + --- NOW ROUTE THE GROUP! + self.Controllable:WayPointExecute( 1, 2 ) + + end +end + +--- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAP_ZONE:onafterAccomplish( Controllable, From, Event, To ) + self.Accomplished = true + self:SetDetectionOff() +end + +--- @param #AI_CAP_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @param Core.Event#EVENTDATA EventData +function AI_CAP_ZONE:onafterDestroy( Controllable, From, Event, To, EventData ) + + if EventData.IniUnit then + self.DetectedUnits[EventData.IniUnit] = nil + end +end + +--- @param #AI_CAP_ZONE self +-- @param Core.Event#EVENTDATA EventData +function AI_CAP_ZONE:OnEventDead( EventData ) + self:F( { "EventDead", EventData } ) + + if EventData.IniDCSUnit then + if self.DetectedUnits and self.DetectedUnits[EventData.IniUnit] then + self:__Destroy( 1, EventData ) + end + end +end +--- **AI** -- **Provide Close Air Support to friendly ground troops.** +-- +-- ![Banner Image](..\Presentations\AI_CAS\Dia1.JPG) +-- +-- === +-- +-- AI CAS classes makes AI Controllables execute a Close Air Support. +-- +-- There are the following types of CAS classes defined: +-- +-- * @{#AI_CAS_ZONE}: Perform a CAS in a zone. +-- +-- === +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-01-15: Initial class and API. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * **[Quax](https://forums.eagle.ru/member.php?u=90530)**: Concept, Advice & Testing. +-- * **[Pikey](https://forums.eagle.ru/member.php?u=62835)**: Concept, Advice & Testing. +-- * **[Gunterlund](http://forums.eagle.ru:8080/member.php?u=75036)**: Test case revision. +-- +-- ### Authors: +-- +-- * **FlightControl**: Concept, Design & Programming. +-- +-- @module AI_Cas + + +--- AI_CAS_ZONE class +-- @type AI_CAS_ZONE +-- @field Wrapper.Controllable#CONTROLLABLE AIControllable The @{Controllable} patrolling. +-- @field Core.Zone#ZONE_BASE TargetZone The @{Zone} where the patrol needs to be executed. +-- @extends AI.AI_Patrol#AI_PATROL_ZONE + +--- # 1) @{#AI_CAS_ZONE} class, extends @{AI_Patrol#AI_PATROL_ZONE} +-- +-- @{#AI_CAS_ZONE} derives from the @{AI_Patrol#AI_PATROL_ZONE}, inheriting its methods and behaviour. +-- +-- The @{#AI_CAS_ZONE} class implements the core functions to provide Close Air Support in an Engage @{Zone} by an AIR @{Controllable} or @{Group}. +-- The AI_CAS_ZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone. +-- +-- ![HoldAndEngage](..\Presentations\AI_CAS\Dia3.JPG) +-- +-- The AI_CAS_ZONE is assigned a @{Group} and this must be done before the AI_CAS_ZONE process can be started through the **Start** event. +-- +-- ![Start Event](..\Presentations\AI_CAS\Dia4.JPG) +-- +-- Upon started, The AI will **Route** itself towards the random 3D point within a patrol zone, +-- using a random speed within the given altitude and speed limits. +-- Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits. +-- This cycle will continue until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB. +-- +-- ![Route Event](..\Presentations\AI_CAS\Dia5.JPG) +-- +-- When the AI is commanded to provide Close Air Support (through the event **Engage**), the AI will fly towards the Engage Zone. +-- Any target that is detected in the Engage Zone will be reported and will be destroyed by the AI. +-- +-- ![Engage Event](..\Presentations\AI_CAS\Dia6.JPG) +-- +-- The AI will detect the targets and will only destroy the targets within the Engage Zone. +-- +-- ![Engage Event](..\Presentations\AI_CAS\Dia7.JPG) +-- +-- Every target that is destroyed, is reported< by the AI. +-- +-- ![Engage Event](..\Presentations\AI_CAS\Dia8.JPG) +-- +-- Note that the AI does not know when the Engage Zone is cleared, and therefore will keep circling in the zone. +-- +-- ![Engage Event](..\Presentations\AI_CAS\Dia9.JPG) +-- +-- Until it is notified through the event **Accomplish**, which is to be triggered by an observing party: +-- +-- * a FAC +-- * a timed event +-- * a menu option selected by a human +-- * a condition +-- * others ... +-- +-- ![Engage Event](..\Presentations\AI_CAS\Dia10.JPG) +-- +-- When the AI has accomplished the CAS, it will fly back to the Patrol Zone. +-- +-- ![Engage Event](..\Presentations\AI_CAS\Dia11.JPG) +-- +-- It will keep patrolling there, until it is notified to RTB or move to another CAS Zone. +-- It can be notified to go RTB through the **RTB** event. +-- +-- When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land. +-- +-- ![Engage Event](..\Presentations\AI_CAS\Dia12.JPG) +-- +-- # 1.1) AI_CAS_ZONE constructor +-- +-- * @{#AI_CAS_ZONE.New}(): Creates a new AI_CAS_ZONE object. +-- +-- ## 1.2) AI_CAS_ZONE is a FSM +-- +-- ![Process](..\Presentations\AI_CAS\Dia2.JPG) +-- +-- ### 1.2.1) AI_CAS_ZONE States +-- +-- * **None** ( Group ): The process is not started yet. +-- * **Patrolling** ( Group ): The AI is patrolling the Patrol Zone. +-- * **Engaging** ( Group ): The AI is engaging the targets in the Engage Zone, executing CAS. +-- * **Returning** ( Group ): The AI is returning to Base.. +-- +-- ### 1.2.2) AI_CAS_ZONE Events +-- +-- * **@{AI_Patrol#AI_PATROL_ZONE.Start}**: Start the process. +-- * **@{AI_Patrol#AI_PATROL_ZONE.Route}**: Route the AI to a new random 3D point within the Patrol Zone. +-- * **@{#AI_CAS_ZONE.Engage}**: Engage the AI to provide CAS in the Engage Zone, destroying any target it finds. +-- * **@{#AI_CAS_ZONE.Abort}**: Aborts the engagement and return patrolling in the patrol zone. +-- * **@{AI_Patrol#AI_PATROL_ZONE.RTB}**: Route the AI to the home base. +-- * **@{AI_Patrol#AI_PATROL_ZONE.Detect}**: The AI is detecting targets. +-- * **@{AI_Patrol#AI_PATROL_ZONE.Detected}**: The AI has detected new targets. +-- * **@{#AI_CAS_ZONE.Destroy}**: The AI has destroyed a target @{Unit}. +-- * **@{#AI_CAS_ZONE.Destroyed}**: The AI has destroyed all target @{Unit}s assigned in the CAS task. +-- * **Status**: The AI is checking status (fuel and damage). When the tresholds have been reached, the AI will RTB. +-- +-- === +-- +-- @field #AI_CAS_ZONE AI_CAS_ZONE +-- +AI_CAS_ZONE = { + ClassName = "AI_CAS_ZONE", +} + + + +--- Creates a new AI_CAS_ZONE object +-- @param #AI_CAS_ZONE self +-- @param Core.Zone#ZONE_BASE PatrolZone The @{Zone} where the patrol needs to be executed. +-- @param Dcs.DCSTypes#Altitude PatrolFloorAltitude The lowest altitude in meters where to execute the patrol. +-- @param Dcs.DCSTypes#Altitude PatrolCeilingAltitude The highest altitude in meters where to execute the patrol. +-- @param Dcs.DCSTypes#Speed PatrolMinSpeed The minimum speed of the @{Controllable} in km/h. +-- @param Dcs.DCSTypes#Speed PatrolMaxSpeed The maximum speed of the @{Controllable} in km/h. +-- @param Core.Zone#ZONE_BASE EngageZone The zone where the engage will happen. +-- @param Dcs.DCSTypes#AltitudeType PatrolAltType The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO +-- @return #AI_CAS_ZONE self +function AI_CAS_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageZone, PatrolAltType ) + + -- Inherits from BASE + local self = BASE:Inherit( self, AI_PATROL_ZONE:New( PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType ) ) -- #AI_CAS_ZONE + + self.EngageZone = EngageZone + self.Accomplished = false + + self:SetDetectionZone( self.EngageZone ) + + self:AddTransition( { "Patrolling", "Engaging" }, "Engage", "Engaging" ) -- FSM_CONTROLLABLE Transition for type #AI_CAS_ZONE. + + --- OnBefore Transition Handler for Event Engage. + -- @function [parent=#AI_CAS_ZONE] OnBeforeEngage + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Engage. + -- @function [parent=#AI_CAS_ZONE] OnAfterEngage + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Engage. + -- @function [parent=#AI_CAS_ZONE] Engage + -- @param #AI_CAS_ZONE self + -- @param #number EngageSpeed (optional) The speed the Group will hold when engaging to the target zone. + -- @param Dcs.DCSTypes#Distance EngageAltitude (optional) Desired altitude to perform the unit engagement. + -- @param Dcs.DCSTypes#AI.Task.WeaponExpend EngageWeaponExpend (optional) Determines how much weapon will be released at each attack. + -- If parameter is not defined the unit / controllable will choose expend on its own discretion. + -- Use the structure @{DCSTypes#AI.Task.WeaponExpend} to define the amount of weapons to be release at each attack. + -- @param #number EngageAttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. + -- @param Dcs.DCSTypes#Azimuth EngageDirection (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. + + --- Asynchronous Event Trigger for Event Engage. + -- @function [parent=#AI_CAS_ZONE] __Engage + -- @param #AI_CAS_ZONE self + -- @param #number Delay The delay in seconds. + -- @param #number EngageSpeed (optional) The speed the Group will hold when engaging to the target zone. + -- @param Dcs.DCSTypes#Distance EngageAltitude (optional) Desired altitude to perform the unit engagement. + -- @param Dcs.DCSTypes#AI.Task.WeaponExpend EngageWeaponExpend (optional) Determines how much weapon will be released at each attack. + -- If parameter is not defined the unit / controllable will choose expend on its own discretion. + -- Use the structure @{DCSTypes#AI.Task.WeaponExpend} to define the amount of weapons to be release at each attack. + -- @param #number EngageAttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. + -- @param Dcs.DCSTypes#Azimuth EngageDirection (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. + +--- OnLeave Transition Handler for State Engaging. +-- @function [parent=#AI_CAS_ZONE] OnLeaveEngaging +-- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @return #boolean Return false to cancel Transition. + +--- OnEnter Transition Handler for State Engaging. +-- @function [parent=#AI_CAS_ZONE] OnEnterEngaging +-- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. + + self:AddTransition( "Engaging", "Target", "Engaging" ) -- FSM_CONTROLLABLE Transition for type #AI_CAS_ZONE. + + self:AddTransition( "Engaging", "Fired", "Engaging" ) -- FSM_CONTROLLABLE Transition for type #AI_CAS_ZONE. + + --- OnBefore Transition Handler for Event Fired. + -- @function [parent=#AI_CAS_ZONE] OnBeforeFired + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Fired. + -- @function [parent=#AI_CAS_ZONE] OnAfterFired + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Fired. + -- @function [parent=#AI_CAS_ZONE] Fired + -- @param #AI_CAS_ZONE self + + --- Asynchronous Event Trigger for Event Fired. + -- @function [parent=#AI_CAS_ZONE] __Fired + -- @param #AI_CAS_ZONE self + -- @param #number Delay The delay in seconds. + + self:AddTransition( "*", "Destroy", "*" ) -- FSM_CONTROLLABLE Transition for type #AI_CAS_ZONE. + + --- OnBefore Transition Handler for Event Destroy. + -- @function [parent=#AI_CAS_ZONE] OnBeforeDestroy + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Destroy. + -- @function [parent=#AI_CAS_ZONE] OnAfterDestroy + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Destroy. + -- @function [parent=#AI_CAS_ZONE] Destroy + -- @param #AI_CAS_ZONE self + + --- Asynchronous Event Trigger for Event Destroy. + -- @function [parent=#AI_CAS_ZONE] __Destroy + -- @param #AI_CAS_ZONE self + -- @param #number Delay The delay in seconds. + + + self:AddTransition( "Engaging", "Abort", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_CAS_ZONE. + + --- OnBefore Transition Handler for Event Abort. + -- @function [parent=#AI_CAS_ZONE] OnBeforeAbort + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Abort. + -- @function [parent=#AI_CAS_ZONE] OnAfterAbort + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Abort. + -- @function [parent=#AI_CAS_ZONE] Abort + -- @param #AI_CAS_ZONE self + + --- Asynchronous Event Trigger for Event Abort. + -- @function [parent=#AI_CAS_ZONE] __Abort + -- @param #AI_CAS_ZONE self + -- @param #number Delay The delay in seconds. + + self:AddTransition( "Engaging", "Accomplish", "Patrolling" ) -- FSM_CONTROLLABLE Transition for type #AI_CAS_ZONE. + + --- OnBefore Transition Handler for Event Accomplish. + -- @function [parent=#AI_CAS_ZONE] OnBeforeAccomplish + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Accomplish. + -- @function [parent=#AI_CAS_ZONE] OnAfterAccomplish + -- @param #AI_CAS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Accomplish. + -- @function [parent=#AI_CAS_ZONE] Accomplish + -- @param #AI_CAS_ZONE self + + --- Asynchronous Event Trigger for Event Accomplish. + -- @function [parent=#AI_CAS_ZONE] __Accomplish + -- @param #AI_CAS_ZONE self + -- @param #number Delay The delay in seconds. + + return self +end + + +--- Set the Engage Zone where the AI is performing CAS. Note that if the EngageZone is changed, the AI needs to re-detect targets. +-- @param #AI_CAS_ZONE self +-- @param Core.Zone#ZONE EngageZone The zone where the AI is performing CAS. +-- @return #AI_CAS_ZONE self +function AI_CAS_ZONE:SetEngageZone( EngageZone ) + self:F2() + + if EngageZone then + self.EngageZone = EngageZone + else + self.EngageZone = nil + end +end + + + +--- onafter State Transition for Event Start. +-- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAS_ZONE:onafterStart( Controllable, From, Event, To ) + + -- Call the parent Start event handler + self:GetParent(self).onafterStart( self, Controllable, From, Event, To ) + self:HandleEvent( EVENTS.Dead ) + + self:SetDetectionDeactivated() -- When not engaging, set the detection off. +end + +--- @param Wrapper.Controllable#CONTROLLABLE AIControllable +function _NewEngageRoute( AIControllable ) + + AIControllable:T( "NewEngageRoute" ) + local EngageZone = AIControllable:GetState( AIControllable, "EngageZone" ) -- AI.AI_Cas#AI_CAS_ZONE + EngageZone:__Engage( 1, EngageZone.EngageSpeed, EngageZone.EngageAltitude, EngageZone.EngageWeaponExpend, EngageZone.EngageAttackQty, EngageZone.EngageDirection ) +end + + +--- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAS_ZONE:onbeforeEngage( Controllable, From, Event, To ) + + if self.Accomplished == true then + return false + end +end + +--- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAS_ZONE:onafterTarget( Controllable, From, Event, To ) + self:E("onafterTarget") + + if Controllable:IsAlive() then + + local AttackTasks = {} + + for DetectedUnit, Detected in pairs( self.DetectedUnits ) do + local DetectedUnit = DetectedUnit -- Wrapper.Unit#UNIT + if DetectedUnit:IsAlive() then + if DetectedUnit:IsInZone( self.EngageZone ) then + if Detected == true then + self:E( {"Target: ", DetectedUnit } ) + self.DetectedUnits[DetectedUnit] = false + local AttackTask = Controllable:TaskAttackUnit( DetectedUnit, false, self.EngageWeaponExpend, self.EngageAttackQty, self.EngageDirection, self.EngageAltitude, nil ) + self.Controllable:PushTask( AttackTask, 1 ) + end + end + else + self.DetectedUnits[DetectedUnit] = nil + end + end + + self:__Target( -10 ) + + end +end + + +--- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAS_ZONE:onafterAbort( Controllable, From, Event, To ) + Controllable:ClearTasks() + self:__Route( 1 ) +end + +--- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @param #number EngageSpeed (optional) The speed the Group will hold when engaging to the target zone. +-- @param Dcs.DCSTypes#Distance EngageAltitude (optional) Desired altitude to perform the unit engagement. +-- @param Dcs.DCSTypes#AI.Task.WeaponExpend EngageWeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. +-- @param #number EngageAttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. +-- @param Dcs.DCSTypes#Azimuth EngageDirection (optional) Desired ingress direction from the target to the attacking aircraft. Controllable/aircraft will make its attacks from the direction. Of course if there is no way to attack from the direction due the terrain controllable/aircraft will choose another direction. +function AI_CAS_ZONE:onafterEngage( Controllable, From, Event, To, + EngageSpeed, + EngageAltitude, + EngageWeaponExpend, + EngageAttackQty, + EngageDirection ) + self:F("onafterEngage") + + self.EngageSpeed = EngageSpeed or 400 + self.EngageAltitude = EngageAltitude or 2000 + self.EngageWeaponExpend = EngageWeaponExpend + self.EngageAttackQty = EngageAttackQty + self.EngageDirection = EngageDirection + + if Controllable:IsAlive() then + + local EngageRoute = {} + + --- Calculate the current route point. + local CurrentVec2 = self.Controllable:GetVec2() + + --TODO: Create GetAltitude function for GROUP, and delete GetUnit(1). + local CurrentAltitude = self.Controllable:GetUnit(1):GetAltitude() + local CurrentPointVec3 = POINT_VEC3:New( CurrentVec2.x, CurrentAltitude, CurrentVec2.y ) + local ToEngageZoneSpeed = self.PatrolMaxSpeed + local CurrentRoutePoint = CurrentPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TurningPoint, + POINT_VEC3.RoutePointAction.TurningPoint, + self.EngageSpeed, + true + ) + + EngageRoute[#EngageRoute+1] = CurrentRoutePoint + + local AttackTasks = {} + + for DetectedUnitID, DetectedUnit in pairs( self.DetectedUnits ) do + local DetectedUnit = DetectedUnit -- Wrapper.Unit#UNIT + self:T( DetectedUnit ) + if DetectedUnit:IsAlive() then + if DetectedUnit:IsInZone( self.EngageZone ) then + self:E( {"Engaging ", DetectedUnit } ) + AttackTasks[#AttackTasks+1] = Controllable:TaskAttackUnit( DetectedUnit, + true, + EngageWeaponExpend, + EngageAttackQty, + EngageDirection + ) + end + else + self.DetectedUnits[DetectedUnit] = nil + end + end + + EngageRoute[1].task = Controllable:TaskCombo( AttackTasks ) + + --- Define a random point in the @{Zone}. The AI will fly to that point within the zone. + + --- Find a random 2D point in EngageZone. + local ToTargetVec2 = self.EngageZone:GetRandomVec2() + self:T2( ToTargetVec2 ) + + --- Obtain a 3D @{Point} from the 2D point + altitude. + local ToTargetPointVec3 = POINT_VEC3:New( ToTargetVec2.x, self.EngageAltitude, ToTargetVec2.y ) + + --- Create a route point of type air. + local ToTargetRoutePoint = ToTargetPointVec3:RoutePointAir( + self.PatrolAltType, + POINT_VEC3.RoutePointType.TurningPoint, + POINT_VEC3.RoutePointAction.TurningPoint, + self.EngageSpeed, + true + ) + + EngageRoute[#EngageRoute+1] = ToTargetRoutePoint + + --- Now we're going to do something special, we're going to call a function from a waypoint action at the AIControllable... + Controllable:WayPointInitialize( EngageRoute ) + + --- Do a trick, link the NewEngageRoute function of the object to the AIControllable in a temporary variable ... + Controllable:SetState( Controllable, "EngageZone", self ) + + Controllable:WayPointFunction( #EngageRoute, 1, "_NewEngageRoute" ) + + --- NOW ROUTE THE GROUP! + Controllable:WayPointExecute( 1 ) + + Controllable:OptionROEOpenFire() + Controllable:OptionROTVertical() + + self:SetDetectionInterval( 2 ) + self:SetDetectionActivated() + self:__Target( -2 ) -- Start Targetting + end +end + + +--- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +function AI_CAS_ZONE:onafterAccomplish( Controllable, From, Event, To ) + self.Accomplished = true + self:SetDetectionDeactivated() +end + + +--- @param #AI_CAS_ZONE self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable The Controllable Object managed by the FSM. +-- @param #string From The From State string. +-- @param #string Event The Event string. +-- @param #string To The To State string. +-- @param Core.Event#EVENTDATA EventData +function AI_CAS_ZONE:onafterDestroy( Controllable, From, Event, To, EventData ) + + if EventData.IniUnit then + self.DetectedUnits[EventData.IniUnit] = nil + end +end + + +--- @param #AI_CAS_ZONE self +-- @param Core.Event#EVENTDATA EventData +function AI_CAS_ZONE:OnEventDead( EventData ) + self:F( { "EventDead", EventData } ) + + if EventData.IniDCSUnit then + if self.DetectedUnits and self.DetectedUnits[EventData.IniUnit] then + self:__Destroy( 1, EventData ) + end + end +end + + +---Single-Player:**Yes** / Multi-Player:**Yes** / AI:**Yes** / Human:**No** / Types:**Ground** -- +-- **Management of logical cargo objects, that can be transported from and to transportation carriers.** +-- +-- ![Banner Image](..\Presentations\AI_CARGO\CARGO.JPG) +-- +-- === +-- +-- Cargo can be of various forms, always are composed out of ONE object ( one unit or one static or one slingload crate ): +-- +-- * AI_CARGO_UNIT, represented by a @{Unit} in a @{Group}: Cargo can be represented by a Unit in a Group. Destruction of the Unit will mean that the cargo is lost. +-- * CARGO_STATIC, represented by a @{Static}: Cargo can be represented by a Static. Destruction of the Static will mean that the cargo is lost. +-- * AI_CARGO_PACKAGE, contained in a @{Unit} of a @{Group}: Cargo can be contained within a Unit of a Group. The cargo can be **delivered** by the @{Unit}. If the Unit is destroyed, the cargo will be destroyed also. +-- * AI_CARGO_PACKAGE, Contained in a @{Static}: Cargo can be contained within a Static. The cargo can be **collected** from the @Static. If the @{Static} is destroyed, the cargo will be destroyed. +-- * CARGO_SLINGLOAD, represented by a @{Cargo} that is transportable: Cargo can be represented by a Cargo object that is transportable. Destruction of the Cargo will mean that the cargo is lost. +-- +-- * AI_CARGO_GROUPED, represented by a Group of CARGO_UNITs. +-- +-- # 1) @{#AI_CARGO} class, extends @{Fsm#FSM_PROCESS} +-- +-- The @{#AI_CARGO} class defines the core functions that defines a cargo object within MOOSE. +-- A cargo is a logical object defined that is available for transport, and has a life status within a simulation. +-- +-- The AI_CARGO is a state machine: it manages the different events and states of the cargo. +-- All derived classes from AI_CARGO follow the same state machine, expose the same cargo event functions, and provide the same cargo states. +-- +-- ## 1.2.1) AI_CARGO Events: +-- +-- * @{#AI_CARGO.Board}( ToCarrier ): Boards the cargo to a carrier. +-- * @{#AI_CARGO.Load}( ToCarrier ): Loads the cargo into a carrier, regardless of its position. +-- * @{#AI_CARGO.UnBoard}( ToPointVec2 ): UnBoard the cargo from a carrier. This will trigger a movement of the cargo to the option ToPointVec2. +-- * @{#AI_CARGO.UnLoad}( ToPointVec2 ): UnLoads the cargo from a carrier. +-- * @{#AI_CARGO.Dead}( Controllable ): The cargo is dead. The cargo process will be ended. +-- +-- ## 1.2.2) AI_CARGO States: +-- +-- * **UnLoaded**: The cargo is unloaded from a carrier. +-- * **Boarding**: The cargo is currently boarding (= running) into a carrier. +-- * **Loaded**: The cargo is loaded into a carrier. +-- * **UnBoarding**: The cargo is currently unboarding (=running) from a carrier. +-- * **Dead**: The cargo is dead ... +-- * **End**: The process has come to an end. +-- +-- ## 1.2.3) AI_CARGO state transition methods: +-- +-- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state. +-- There are 2 moments when state transition methods will be called by the state machine: +-- +-- * **Leaving** the state. +-- The state transition method needs to start with the name **OnLeave + the name of the state**. +-- If the state transition method returns false, then the processing of the state transition will not be done! +-- If you want to change the behaviour of the AIControllable at this event, return false, +-- but then you'll need to specify your own logic using the AIControllable! +-- +-- * **Entering** the state. +-- The state transition method needs to start with the name **OnEnter + the name of the state**. +-- These state transition methods need to provide a return value, which is specified at the function description. +-- +-- # 2) #AI_CARGO_UNIT class +-- +-- The AI_CARGO_UNIT class defines a cargo that is represented by a UNIT object within the simulator, and can be transported by a carrier. +-- Use the event functions as described above to Load, UnLoad, Board, UnBoard the AI_CARGO_UNIT objects to and from carriers. +-- +-- # 5) #AI_CARGO_GROUPED class +-- +-- The AI_CARGO_GROUPED class defines a cargo that is represented by a group of UNIT objects within the simulator, and can be transported by a carrier. +-- Use the event functions as described above to Load, UnLoad, Board, UnBoard the AI_CARGO_UNIT objects to and from carriers. +-- +-- This module is still under construction, but is described above works already, and will keep working ... +-- +-- @module Cargo + +-- Events + +-- Board + +--- Boards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo to the Carrier. +-- The cargo must be in the **UnLoaded** state. +-- @function [parent=#AI_CARGO] Board +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. + +--- Boards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo to the Carrier. +-- The cargo must be in the **UnLoaded** state. +-- @function [parent=#AI_CARGO] __Board +-- @param #AI_CARGO self +-- @param #number DelaySeconds The amount of seconds to delay the action. +-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. + + +-- UnBoard + +--- UnBoards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo from the Carrier. +-- The cargo must be in the **Loaded** state. +-- @function [parent=#AI_CARGO] UnBoard +-- @param #AI_CARGO self +-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location. + +--- UnBoards the cargo to a Carrier. The event will create a movement (= running or driving) of the cargo from the Carrier. +-- The cargo must be in the **Loaded** state. +-- @function [parent=#AI_CARGO] __UnBoard +-- @param #AI_CARGO self +-- @param #number DelaySeconds The amount of seconds to delay the action. +-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Point#POINT_VEC2) to where the cargo should run after onboarding. If not provided, the cargo will run to 60 meters behind the Carrier location. + + +-- Load + +--- Loads the cargo to a Carrier. The event will load the cargo into the Carrier regardless of its position. There will be no movement simulated of the cargo loading. +-- The cargo must be in the **UnLoaded** state. +-- @function [parent=#AI_CARGO] Load +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. + +--- Loads the cargo to a Carrier. The event will load the cargo into the Carrier regardless of its position. There will be no movement simulated of the cargo loading. +-- The cargo must be in the **UnLoaded** state. +-- @function [parent=#AI_CARGO] __Load +-- @param #AI_CARGO self +-- @param #number DelaySeconds The amount of seconds to delay the action. +-- @param Wrapper.Controllable#CONTROLLABLE ToCarrier The Carrier that will hold the cargo. + + +-- UnLoad + +--- UnLoads the cargo to a Carrier. The event will unload the cargo from the Carrier. There will be no movement simulated of the cargo loading. +-- The cargo must be in the **Loaded** state. +-- @function [parent=#AI_CARGO] UnLoad +-- @param #AI_CARGO self +-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location. + +--- UnLoads the cargo to a Carrier. The event will unload the cargo from the Carrier. There will be no movement simulated of the cargo loading. +-- The cargo must be in the **Loaded** state. +-- @function [parent=#AI_CARGO] __UnLoad +-- @param #AI_CARGO self +-- @param #number DelaySeconds The amount of seconds to delay the action. +-- @param Core.Point#POINT_VEC2 ToPointVec2 (optional) @{Point#POINT_VEC2) to where the cargo will be placed after unloading. If not provided, the cargo will be placed 60 meters behind the Carrier location. + +-- State Transition Functions + +-- UnLoaded + +--- @function [parent=#AI_CARGO] OnLeaveUnLoaded +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable +-- @return #boolean + +--- @function [parent=#AI_CARGO] OnEnterUnLoaded +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable + +-- Loaded + +--- @function [parent=#AI_CARGO] OnLeaveLoaded +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable +-- @return #boolean + +--- @function [parent=#AI_CARGO] OnEnterLoaded +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable + +-- Boarding + +--- @function [parent=#AI_CARGO] OnLeaveBoarding +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable +-- @return #boolean + +--- @function [parent=#AI_CARGO] OnEnterBoarding +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable + +-- UnBoarding + +--- @function [parent=#AI_CARGO] OnLeaveUnBoarding +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable +-- @return #boolean + +--- @function [parent=#AI_CARGO] OnEnterUnBoarding +-- @param #AI_CARGO self +-- @param Wrapper.Controllable#CONTROLLABLE Controllable + + +-- TODO: Find all Carrier objects and make the type of the Carriers Wrapper.Unit#UNIT in the documentation. + +CARGOS = {} + +do -- AI_CARGO + + --- @type AI_CARGO + -- @extends Core.Fsm#FSM_PROCESS + -- @field #string Type A string defining the type of the cargo. eg. Engineers, Equipment, Screwdrivers. + -- @field #string Name A string defining the name of the cargo. The name is the unique identifier of the cargo. + -- @field #number Weight A number defining the weight of the cargo. The weight is expressed in kg. + -- @field #number ReportRadius (optional) A number defining the radius in meters when the cargo is signalling or reporting to a Carrier. + -- @field #number NearRadius (optional) A number defining the radius in meters when the cargo is near to a Carrier, so that it can be loaded. + -- @field Wrapper.Controllable#CONTROLLABLE CargoObject The alive DCS object representing the cargo. This value can be nil, meaning, that the cargo is not represented anywhere... + -- @field Wrapper.Controllable#CONTROLLABLE CargoCarrier The alive DCS object carrying the cargo. This value can be nil, meaning, that the cargo is not contained anywhere... + -- @field #boolean Slingloadable This flag defines if the cargo can be slingloaded. + -- @field #boolean Moveable This flag defines if the cargo is moveable. + -- @field #boolean Representable This flag defines if the cargo can be represented by a DCS Unit. + -- @field #boolean Containable This flag defines if the cargo can be contained within a DCS Unit. + AI_CARGO = { + ClassName = "AI_CARGO", + Type = nil, + Name = nil, + Weight = nil, + CargoObject = nil, + CargoCarrier = nil, + Representable = false, + Slingloadable = false, + Moveable = false, + Containable = false, + } + +--- @type AI_CARGO.CargoObjects +-- @map < #string, Wrapper.Positionable#POSITIONABLE > The alive POSITIONABLE objects representing the the cargo. + + +--- AI_CARGO Constructor. This class is an abstract class and should not be instantiated. +-- @param #AI_CARGO self +-- @param #string Type +-- @param #string Name +-- @param #number Weight +-- @param #number ReportRadius (optional) +-- @param #number NearRadius (optional) +-- @return #AI_CARGO +function AI_CARGO:New( Type, Name, Weight, ReportRadius, NearRadius ) + + local self = BASE:Inherit( self, FSM:New() ) -- Core.Fsm#FSM_CONTROLLABLE + self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) + + self:SetStartState( "UnLoaded" ) + self:AddTransition( "UnLoaded", "Board", "Boarding" ) + self:AddTransition( "Boarding", "Boarding", "Boarding" ) + self:AddTransition( "Boarding", "Load", "Loaded" ) + self:AddTransition( "UnLoaded", "Load", "Loaded" ) + self:AddTransition( "Loaded", "UnBoard", "UnBoarding" ) + self:AddTransition( "UnBoarding", "UnBoarding", "UnBoarding" ) + self:AddTransition( "UnBoarding", "UnLoad", "UnLoaded" ) + self:AddTransition( "Loaded", "UnLoad", "UnLoaded" ) + + + self.Type = Type + self.Name = Name + self.Weight = Weight + self.ReportRadius = ReportRadius + self.NearRadius = NearRadius + self.CargoObject = nil + self.CargoCarrier = nil + self.Representable = false + self.Slingloadable = false + self.Moveable = false + self.Containable = false + + + self.CargoScheduler = SCHEDULER:New() + + CARGOS[self.Name] = self + + return self +end + + +--- Template method to spawn a new representation of the AI_CARGO in the simulator. +-- @param #AI_CARGO self +-- @return #AI_CARGO +function AI_CARGO:Spawn( PointVec2 ) + self:F() + +end + + +--- Check if CargoCarrier is near the Cargo to be Loaded. +-- @param #AI_CARGO self +-- @param Core.Point#POINT_VEC2 PointVec2 +-- @return #boolean +function AI_CARGO:IsNear( PointVec2 ) + self:F( { PointVec2 } ) + + local Distance = PointVec2:DistanceFromPointVec2( self.CargoObject:GetPointVec2() ) + self:T( Distance ) + + if Distance <= self.NearRadius then + return true + else + return false + end +end + +end + +do -- AI_CARGO_REPRESENTABLE + + --- @type AI_CARGO_REPRESENTABLE + -- @extends #AI_CARGO + AI_CARGO_REPRESENTABLE = { + ClassName = "AI_CARGO_REPRESENTABLE" + } + +--- AI_CARGO_REPRESENTABLE Constructor. +-- @param #AI_CARGO_REPRESENTABLE self +-- @param Wrapper.Controllable#Controllable CargoObject +-- @param #string Type +-- @param #string Name +-- @param #number Weight +-- @param #number ReportRadius (optional) +-- @param #number NearRadius (optional) +-- @return #AI_CARGO_REPRESENTABLE +function AI_CARGO_REPRESENTABLE:New( CargoObject, Type, Name, Weight, ReportRadius, NearRadius ) + local self = BASE:Inherit( self, AI_CARGO:New( Type, Name, Weight, ReportRadius, NearRadius ) ) -- #AI_CARGO + self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) + + return self +end + +--- Route a cargo unit to a PointVec2. +-- @param #AI_CARGO_REPRESENTABLE self +-- @param Core.Point#POINT_VEC2 ToPointVec2 +-- @param #number Speed +-- @return #AI_CARGO_REPRESENTABLE +function AI_CARGO_REPRESENTABLE:RouteTo( ToPointVec2, Speed ) + self:F2( ToPointVec2 ) + + local Points = {} + + local PointStartVec2 = self.CargoObject:GetPointVec2() + + Points[#Points+1] = PointStartVec2:RoutePointGround( Speed ) + Points[#Points+1] = ToPointVec2:RoutePointGround( Speed ) + + local TaskRoute = self.CargoObject:TaskRoute( Points ) + self.CargoObject:SetTask( TaskRoute, 2 ) + return self +end + +end -- AI_CARGO + +do -- AI_CARGO_UNIT + + --- @type AI_CARGO_UNIT + -- @extends #AI_CARGO_REPRESENTABLE + AI_CARGO_UNIT = { + ClassName = "AI_CARGO_UNIT" + } + +--- AI_CARGO_UNIT Constructor. +-- @param #AI_CARGO_UNIT self +-- @param Wrapper.Unit#UNIT CargoUnit +-- @param #string Type +-- @param #string Name +-- @param #number Weight +-- @param #number ReportRadius (optional) +-- @param #number NearRadius (optional) +-- @return #AI_CARGO_UNIT +function AI_CARGO_UNIT:New( CargoUnit, Type, Name, Weight, ReportRadius, NearRadius ) + local self = BASE:Inherit( self, AI_CARGO_REPRESENTABLE:New( CargoUnit, Type, Name, Weight, ReportRadius, NearRadius ) ) -- #AI_CARGO_UNIT + self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) + + self:T( CargoUnit ) + self.CargoObject = CargoUnit + + self:T( self.ClassName ) + + return self +end + +--- Enter UnBoarding State. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Core.Point#POINT_VEC2 ToPointVec2 +function AI_CARGO_UNIT:onenterUnBoarding( From, Event, To, ToPointVec2 ) + self:F() + + local Angle = 180 + local Speed = 10 + local DeployDistance = 5 + local RouteDistance = 60 + + if From == "Loaded" then + + local CargoCarrierPointVec2 = self.CargoCarrier:GetPointVec2() + local CargoCarrierHeading = self.CargoCarrier:GetHeading() -- Get Heading of object in degrees. + local CargoDeployHeading = ( ( CargoCarrierHeading + Angle ) >= 360 ) and ( CargoCarrierHeading + Angle - 360 ) or ( CargoCarrierHeading + Angle ) + local CargoDeployPointVec2 = CargoCarrierPointVec2:Translate( DeployDistance, CargoDeployHeading ) + local CargoRoutePointVec2 = CargoCarrierPointVec2:Translate( RouteDistance, CargoDeployHeading ) + + -- if there is no ToPointVec2 given, then use the CargoRoutePointVec2 + ToPointVec2 = ToPointVec2 or CargoRoutePointVec2 + + local FromPointVec2 = CargoCarrierPointVec2 + + -- Respawn the group... + if self.CargoObject then + self.CargoObject:ReSpawn( CargoDeployPointVec2:GetVec3(), CargoDeployHeading ) + self.CargoCarrier = nil + + local Points = {} + Points[#Points+1] = FromPointVec2:RoutePointGround( Speed ) + Points[#Points+1] = ToPointVec2:RoutePointGround( Speed ) + + local TaskRoute = self.CargoObject:TaskRoute( Points ) + self.CargoObject:SetTask( TaskRoute, 1 ) + + self:__UnBoarding( 1, ToPointVec2 ) + end + end + +end + +--- Leave UnBoarding State. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Core.Point#POINT_VEC2 ToPointVec2 +function AI_CARGO_UNIT:onleaveUnBoarding( From, Event, To, ToPointVec2 ) + self:F( { ToPointVec2, From, Event, To } ) + + local Angle = 180 + local Speed = 10 + local Distance = 5 + + if From == "UnBoarding" then + if self:IsNear( ToPointVec2 ) then + return true + else + self:__UnBoarding( 1, ToPointVec2 ) + end + return false + end + +end + +--- UnBoard Event. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Core.Point#POINT_VEC2 ToPointVec2 +function AI_CARGO_UNIT:onafterUnBoarding( From, Event, To, ToPointVec2 ) + self:F( { ToPointVec2, From, Event, To } ) + + self.CargoInAir = self.CargoObject:InAir() + + self:T( self.CargoInAir ) + + -- Only unboard the cargo when the carrier is not in the air. + -- (eg. cargo can be on a oil derrick, moving the cargo on the oil derrick will drop the cargo on the sea). + if not self.CargoInAir then + + end + + self:__UnLoad( 1, ToPointVec2 ) + +end + + + +--- Enter UnLoaded State. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Core.Point#POINT_VEC2 +function AI_CARGO_UNIT:onenterUnLoaded( From, Event, To, ToPointVec2 ) + self:F( { ToPointVec2, From, Event, To } ) + + local Angle = 180 + local Speed = 10 + local Distance = 5 + + if From == "Loaded" then + local StartPointVec2 = self.CargoCarrier:GetPointVec2() + local CargoCarrierHeading = self.CargoCarrier:GetHeading() -- Get Heading of object in degrees. + local CargoDeployHeading = ( ( CargoCarrierHeading + Angle ) >= 360 ) and ( CargoCarrierHeading + Angle - 360 ) or ( CargoCarrierHeading + Angle ) + local CargoDeployPointVec2 = StartPointVec2:Translate( Distance, CargoDeployHeading ) + + ToPointVec2 = ToPointVec2 or POINT_VEC2:New( CargoDeployPointVec2:GetX(), CargoDeployPointVec2:GetY() ) + + -- Respawn the group... + if self.CargoObject then + self.CargoObject:ReSpawn( ToPointVec2:GetVec3(), 0 ) + self.CargoCarrier = nil + end + + end + + if self.OnUnLoadedCallBack then + self.OnUnLoadedCallBack( self, unpack( self.OnUnLoadedParameters ) ) + self.OnUnLoadedCallBack = nil + end + +end + + + +--- Enter Boarding State. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Wrapper.Unit#UNIT CargoCarrier +function AI_CARGO_UNIT:onenterBoarding( From, Event, To, CargoCarrier ) + self:F( { CargoCarrier.UnitName, From, Event, To } ) + + local Speed = 10 + local Angle = 180 + local Distance = 5 + + if From == "UnLoaded" then + local CargoCarrierPointVec2 = CargoCarrier:GetPointVec2() + local CargoCarrierHeading = CargoCarrier:GetHeading() -- Get Heading of object in degrees. + local CargoDeployHeading = ( ( CargoCarrierHeading + Angle ) >= 360 ) and ( CargoCarrierHeading + Angle - 360 ) or ( CargoCarrierHeading + Angle ) + local CargoDeployPointVec2 = CargoCarrierPointVec2:Translate( Distance, CargoDeployHeading ) + + local Points = {} + + local PointStartVec2 = self.CargoObject:GetPointVec2() + + Points[#Points+1] = PointStartVec2:RoutePointGround( Speed ) + Points[#Points+1] = CargoDeployPointVec2:RoutePointGround( Speed ) + + local TaskRoute = self.CargoObject:TaskRoute( Points ) + self.CargoObject:SetTask( TaskRoute, 2 ) + end + +end + +--- Leave Boarding State. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Wrapper.Unit#UNIT CargoCarrier +function AI_CARGO_UNIT:onleaveBoarding( From, Event, To, CargoCarrier ) + self:F( { CargoCarrier.UnitName, From, Event, To } ) + + if self:IsNear( CargoCarrier:GetPointVec2() ) then + self:__Load( 1, CargoCarrier ) + return true + else + self:__Boarding( 1, CargoCarrier ) + end + return false +end + +--- Loaded State. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Wrapper.Unit#UNIT CargoCarrier +function AI_CARGO_UNIT:onenterLoaded( From, Event, To, CargoCarrier ) + self:F() + + self.CargoCarrier = CargoCarrier + + -- Only destroy the CargoObject is if there is a CargoObject (packages don't have CargoObjects). + if self.CargoObject then + self:T("Destroying") + self.CargoObject:Destroy() + end +end + + +--- Board Event. +-- @param #AI_CARGO_UNIT self +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_UNIT:onafterBoard( From, Event, To, CargoCarrier ) + self:F() + + self.CargoInAir = self.CargoObject:InAir() + + self:T( self.CargoInAir ) + + -- Only move the group to the carrier when the cargo is not in the air + -- (eg. cargo can be on a oil derrick, moving the cargo on the oil derrick will drop the cargo on the sea). + if not self.CargoInAir then + self:Load( CargoCarrier ) + end + +end + +end + +do -- AI_CARGO_PACKAGE + + --- @type AI_CARGO_PACKAGE + -- @extends #AI_CARGO_REPRESENTABLE + AI_CARGO_PACKAGE = { + ClassName = "AI_CARGO_PACKAGE" + } + +--- AI_CARGO_PACKAGE Constructor. +-- @param #AI_CARGO_PACKAGE self +-- @param Wrapper.Unit#UNIT CargoCarrier The UNIT carrying the package. +-- @param #string Type +-- @param #string Name +-- @param #number Weight +-- @param #number ReportRadius (optional) +-- @param #number NearRadius (optional) +-- @return #AI_CARGO_PACKAGE +function AI_CARGO_PACKAGE:New( CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius ) + local self = BASE:Inherit( self, AI_CARGO_REPRESENTABLE:New( CargoCarrier, Type, Name, Weight, ReportRadius, NearRadius ) ) -- #AI_CARGO_PACKAGE + self:F( { Type, Name, Weight, ReportRadius, NearRadius } ) + + self:T( CargoCarrier ) + self.CargoCarrier = CargoCarrier + + return self +end + +--- Board Event. +-- @param #AI_CARGO_PACKAGE self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Wrapper.Unit#UNIT CargoCarrier +-- @param #number Speed +-- @param #number BoardDistance +-- @param #number Angle +function AI_CARGO_PACKAGE:onafterOnBoard( From, Event, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle ) + self:F() + + self.CargoInAir = self.CargoCarrier:InAir() + + self:T( self.CargoInAir ) + + -- Only move the CargoCarrier to the New CargoCarrier when the New CargoCarrier is not in the air. + if not self.CargoInAir then + + local Points = {} + + local StartPointVec2 = self.CargoCarrier:GetPointVec2() + local CargoCarrierHeading = CargoCarrier:GetHeading() -- Get Heading of object in degrees. + local CargoDeployHeading = ( ( CargoCarrierHeading + Angle ) >= 360 ) and ( CargoCarrierHeading + Angle - 360 ) or ( CargoCarrierHeading + Angle ) + self:T( { CargoCarrierHeading, CargoDeployHeading } ) + local CargoDeployPointVec2 = CargoCarrier:GetPointVec2():Translate( BoardDistance, CargoDeployHeading ) + + Points[#Points+1] = StartPointVec2:RoutePointGround( Speed ) + Points[#Points+1] = CargoDeployPointVec2:RoutePointGround( Speed ) + + local TaskRoute = self.CargoCarrier:TaskRoute( Points ) + self.CargoCarrier:SetTask( TaskRoute, 1 ) + end + + self:Boarded( CargoCarrier, Speed, BoardDistance, LoadDistance, Angle ) + +end + +--- Check if CargoCarrier is near the Cargo to be Loaded. +-- @param #AI_CARGO_PACKAGE self +-- @param Wrapper.Unit#UNIT CargoCarrier +-- @return #boolean +function AI_CARGO_PACKAGE:IsNear( CargoCarrier ) + self:F() + + local CargoCarrierPoint = CargoCarrier:GetPointVec2() + + local Distance = CargoCarrierPoint:DistanceFromPointVec2( self.CargoCarrier:GetPointVec2() ) + self:T( Distance ) + + if Distance <= self.NearRadius then + return true + else + return false + end +end + +--- Boarded Event. +-- @param #AI_CARGO_PACKAGE self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Wrapper.Unit#UNIT CargoCarrier +function AI_CARGO_PACKAGE:onafterOnBoarded( From, Event, To, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle ) + self:F() + + if self:IsNear( CargoCarrier ) then + self:__Load( 1, CargoCarrier, Speed, LoadDistance, Angle ) + else + self:__Boarded( 1, CargoCarrier, Speed, BoardDistance, LoadDistance, Angle ) + end +end + +--- UnBoard Event. +-- @param #AI_CARGO_PACKAGE self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param #number Speed +-- @param #number UnLoadDistance +-- @param #number UnBoardDistance +-- @param #number Radius +-- @param #number Angle +function AI_CARGO_PACKAGE:onafterUnBoard( From, Event, To, CargoCarrier, Speed, UnLoadDistance, UnBoardDistance, Radius, Angle ) + self:F() + + self.CargoInAir = self.CargoCarrier:InAir() + + self:T( self.CargoInAir ) + + -- Only unboard the cargo when the carrier is not in the air. + -- (eg. cargo can be on a oil derrick, moving the cargo on the oil derrick will drop the cargo on the sea). + if not self.CargoInAir then + + self:_Next( self.FsmP.UnLoad, UnLoadDistance, Angle ) + + local Points = {} + + local StartPointVec2 = CargoCarrier:GetPointVec2() + local CargoCarrierHeading = self.CargoCarrier:GetHeading() -- Get Heading of object in degrees. + local CargoDeployHeading = ( ( CargoCarrierHeading + Angle ) >= 360 ) and ( CargoCarrierHeading + Angle - 360 ) or ( CargoCarrierHeading + Angle ) + self:T( { CargoCarrierHeading, CargoDeployHeading } ) + local CargoDeployPointVec2 = StartPointVec2:Translate( UnBoardDistance, CargoDeployHeading ) + + Points[#Points+1] = StartPointVec2:RoutePointGround( Speed ) + Points[#Points+1] = CargoDeployPointVec2:RoutePointGround( Speed ) + + local TaskRoute = CargoCarrier:TaskRoute( Points ) + CargoCarrier:SetTask( TaskRoute, 1 ) + end + + self:__UnBoarded( 1 , CargoCarrier, Speed ) + +end + +--- UnBoarded Event. +-- @param #AI_CARGO_PACKAGE self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Wrapper.Unit#UNIT CargoCarrier +function AI_CARGO_PACKAGE:onafterUnBoarded( From, Event, To, CargoCarrier, Speed ) + self:F() + + if self:IsNear( CargoCarrier ) then + self:__UnLoad( 1, CargoCarrier, Speed ) + else + self:__UnBoarded( 1, CargoCarrier, Speed ) + end +end + +--- Load Event. +-- @param #AI_CARGO_PACKAGE self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param Wrapper.Unit#UNIT CargoCarrier +-- @param #number Speed +-- @param #number LoadDistance +-- @param #number Angle +function AI_CARGO_PACKAGE:onafterLoad( From, Event, To, CargoCarrier, Speed, LoadDistance, Angle ) + self:F() + + self.CargoCarrier = CargoCarrier + + local StartPointVec2 = self.CargoCarrier:GetPointVec2() + local CargoCarrierHeading = self.CargoCarrier:GetHeading() -- Get Heading of object in degrees. + local CargoDeployHeading = ( ( CargoCarrierHeading + Angle ) >= 360 ) and ( CargoCarrierHeading + Angle - 360 ) or ( CargoCarrierHeading + Angle ) + local CargoDeployPointVec2 = StartPointVec2:Translate( LoadDistance, CargoDeployHeading ) + + local Points = {} + Points[#Points+1] = StartPointVec2:RoutePointGround( Speed ) + Points[#Points+1] = CargoDeployPointVec2:RoutePointGround( Speed ) + + local TaskRoute = self.CargoCarrier:TaskRoute( Points ) + self.CargoCarrier:SetTask( TaskRoute, 1 ) + +end + +--- UnLoad Event. +-- @param #AI_CARGO_PACKAGE self +-- @param #string Event +-- @param #string From +-- @param #string To +-- @param #number Distance +-- @param #number Angle +function AI_CARGO_PACKAGE:onafterUnLoad( From, Event, To, CargoCarrier, Speed, Distance, Angle ) + self:F() + + local StartPointVec2 = self.CargoCarrier:GetPointVec2() + local CargoCarrierHeading = self.CargoCarrier:GetHeading() -- Get Heading of object in degrees. + local CargoDeployHeading = ( ( CargoCarrierHeading + Angle ) >= 360 ) and ( CargoCarrierHeading + Angle - 360 ) or ( CargoCarrierHeading + Angle ) + local CargoDeployPointVec2 = StartPointVec2:Translate( Distance, CargoDeployHeading ) + + self.CargoCarrier = CargoCarrier + + local Points = {} + Points[#Points+1] = StartPointVec2:RoutePointGround( Speed ) + Points[#Points+1] = CargoDeployPointVec2:RoutePointGround( Speed ) + + local TaskRoute = self.CargoCarrier:TaskRoute( Points ) + self.CargoCarrier:SetTask( TaskRoute, 1 ) + +end + + +end + +do -- AI_CARGO_GROUP + + --- @type AI_CARGO_GROUP + -- @extends AI.AI_Cargo#AI_CARGO + -- @field Set#SET_BASE CargoSet A set of cargo objects. + -- @field #string Name A string defining the name of the cargo group. The name is the unique identifier of the cargo. + AI_CARGO_GROUP = { + ClassName = "AI_CARGO_GROUP", + } + +--- AI_CARGO_GROUP constructor. +-- @param #AI_CARGO_GROUP self +-- @param Core.Set#Set_BASE CargoSet +-- @param #string Type +-- @param #string Name +-- @param #number Weight +-- @param #number ReportRadius (optional) +-- @param #number NearRadius (optional) +-- @return #AI_CARGO_GROUP +function AI_CARGO_GROUP:New( CargoSet, Type, Name, ReportRadius, NearRadius ) + local self = BASE:Inherit( self, AI_CARGO:New( Type, Name, 0, ReportRadius, NearRadius ) ) -- #AI_CARGO_GROUP + self:F( { Type, Name, ReportRadius, NearRadius } ) + + self.CargoSet = CargoSet + + + return self +end + +end -- AI_CARGO_GROUP + +do -- AI_CARGO_GROUPED + + --- @type AI_CARGO_GROUPED + -- @extends AI.AI_Cargo#AI_CARGO_GROUP + AI_CARGO_GROUPED = { + ClassName = "AI_CARGO_GROUPED", + } + +--- AI_CARGO_GROUPED constructor. +-- @param #AI_CARGO_GROUPED self +-- @param Core.Set#Set_BASE CargoSet +-- @param #string Type +-- @param #string Name +-- @param #number Weight +-- @param #number ReportRadius (optional) +-- @param #number NearRadius (optional) +-- @return #AI_CARGO_GROUPED +function AI_CARGO_GROUPED:New( CargoSet, Type, Name, ReportRadius, NearRadius ) + local self = BASE:Inherit( self, AI_CARGO_GROUP:New( CargoSet, Type, Name, ReportRadius, NearRadius ) ) -- #AI_CARGO_GROUPED + self:F( { Type, Name, ReportRadius, NearRadius } ) + + return self +end + +--- Enter Boarding State. +-- @param #AI_CARGO_GROUPED self +-- @param Wrapper.Unit#UNIT CargoCarrier +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_GROUPED:onenterBoarding( From, Event, To, CargoCarrier ) + self:F( { CargoCarrier.UnitName, From, Event, To } ) + + if From == "UnLoaded" then + + -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2 + self.CargoSet:ForEach( + function( Cargo ) + Cargo:__Board( 1, CargoCarrier ) + end + ) + + self:__Boarding( 1, CargoCarrier ) + end + +end + +--- Enter Loaded State. +-- @param #AI_CARGO_GROUPED self +-- @param Wrapper.Unit#UNIT CargoCarrier +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_GROUPED:onenterLoaded( From, Event, To, CargoCarrier ) + self:F( { CargoCarrier.UnitName, From, Event, To } ) + + if From == "UnLoaded" then + -- For each Cargo object within the AI_CARGO_GROUPED, load each cargo to the CargoCarrier. + for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do + Cargo:Load( CargoCarrier ) + end + end +end + +--- Leave Boarding State. +-- @param #AI_CARGO_GROUPED self +-- @param Wrapper.Unit#UNIT CargoCarrier +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_GROUPED:onleaveBoarding( From, Event, To, CargoCarrier ) + self:F( { CargoCarrier.UnitName, From, Event, To } ) + + local Boarded = true + + -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2 + for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do + self:T( Cargo.current ) + if not Cargo:is( "Loaded" ) then + Boarded = false + end + end + + if not Boarded then + self:__Boarding( 1, CargoCarrier ) + else + self:__Load( 1, CargoCarrier ) + end + return Boarded +end + +--- Enter UnBoarding State. +-- @param #AI_CARGO_GROUPED self +-- @param Core.Point#POINT_VEC2 ToPointVec2 +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_GROUPED:onenterUnBoarding( From, Event, To, ToPointVec2 ) + self:F() + + local Timer = 1 + + if From == "Loaded" then + + -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2 + self.CargoSet:ForEach( + function( Cargo ) + Cargo:__UnBoard( Timer, ToPointVec2 ) + Timer = Timer + 10 + end + ) + + self:__UnBoarding( 1, ToPointVec2 ) + end + +end + +--- Leave UnBoarding State. +-- @param #AI_CARGO_GROUPED self +-- @param Core.Point#POINT_VEC2 ToPointVec2 +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_GROUPED:onleaveUnBoarding( From, Event, To, ToPointVec2 ) + self:F( { ToPointVec2, From, Event, To } ) + + local Angle = 180 + local Speed = 10 + local Distance = 5 + + if From == "UnBoarding" then + local UnBoarded = true + + -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2 + for CargoID, Cargo in pairs( self.CargoSet:GetSet() ) do + self:T( Cargo.current ) + if not Cargo:is( "UnLoaded" ) then + UnBoarded = false + end + end + + if UnBoarded then + return true + else + self:__UnBoarding( 1, ToPointVec2 ) + end + + return false + end + +end + +--- UnBoard Event. +-- @param #AI_CARGO_GROUPED self +-- @param Core.Point#POINT_VEC2 ToPointVec2 +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_GROUPED:onafterUnBoarding( From, Event, To, ToPointVec2 ) + self:F( { ToPointVec2, From, Event, To } ) + + self:__UnLoad( 1, ToPointVec2 ) +end + + + +--- Enter UnLoaded State. +-- @param #AI_CARGO_GROUPED self +-- @param Core.Point#POINT_VEC2 +-- @param #string Event +-- @param #string From +-- @param #string To +function AI_CARGO_GROUPED:onenterUnLoaded( From, Event, To, ToPointVec2 ) + self:F( { ToPointVec2, From, Event, To } ) + + if From == "Loaded" then + + -- For each Cargo object within the AI_CARGO_GROUPED, route each object to the CargoLoadPointVec2 + self.CargoSet:ForEach( + function( Cargo ) + Cargo:UnLoad( ToPointVec2 ) + end + ) + + end + +end + +end -- AI_CARGO_GROUPED + + + +--- (SP) (MP) (FSM) Accept or reject process for player (task) assignments. +-- +-- === +-- +-- # @{#ACT_ASSIGN} FSM template class, extends @{Fsm#FSM_PROCESS} +-- +-- ## ACT_ASSIGN state machine: +-- +-- This class is a state machine: it manages a process that is triggered by events causing state transitions to occur. +-- All derived classes from this class will start with the class name, followed by a \_. See the relevant derived class descriptions below. +-- Each derived class follows exactly the same process, using the same events and following the same state transitions, +-- but will have **different implementation behaviour** upon each event or state transition. +-- +-- ### ACT_ASSIGN **Events**: +-- +-- These are the events defined in this class: +-- +-- * **Start**: Start the tasking acceptance process. +-- * **Assign**: Assign the task. +-- * **Reject**: Reject the task.. +-- +-- ### ACT_ASSIGN **Event methods**: +-- +-- Event methods are available (dynamically allocated by the state machine), that accomodate for state transitions occurring in the process. +-- There are two types of event methods, which you can use to influence the normal mechanisms in the state machine: +-- +-- * **Immediate**: The event method has exactly the name of the event. +-- * **Delayed**: The event method starts with a __ + the name of the event. The first parameter of the event method is a number value, expressing the delay in seconds when the event will be executed. +-- +-- ### ACT_ASSIGN **States**: +-- +-- * **UnAssigned**: The player has not accepted the task. +-- * **Assigned (*)**: The player has accepted the task. +-- * **Rejected (*)**: The player has not accepted the task. +-- * **Waiting**: The process is awaiting player feedback. +-- * **Failed (*)**: The process has failed. +-- +-- (*) End states of the process. +-- +-- ### ACT_ASSIGN state transition methods: +-- +-- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state. +-- There are 2 moments when state transition methods will be called by the state machine: +-- +-- * **Before** the state transition. +-- The state transition method needs to start with the name **OnBefore + the name of the state**. +-- If the state transition method returns false, then the processing of the state transition will not be done! +-- If you want to change the behaviour of the AIControllable at this event, return false, +-- but then you'll need to specify your own logic using the AIControllable! +-- +-- * **After** the state transition. +-- The state transition method needs to start with the name **OnAfter + the name of the state**. +-- These state transition methods need to provide a return value, which is specified at the function description. +-- +-- === +-- +-- # 1) @{#ACT_ASSIGN_ACCEPT} class, extends @{Fsm.Assign#ACT_ASSIGN} +-- +-- The ACT_ASSIGN_ACCEPT class accepts by default a task for a player. No player intervention is allowed to reject the task. +-- +-- ## 1.1) ACT_ASSIGN_ACCEPT constructor: +-- +-- * @{#ACT_ASSIGN_ACCEPT.New}(): Creates a new ACT_ASSIGN_ACCEPT object. +-- +-- === +-- +-- # 2) @{#ACT_ASSIGN_MENU_ACCEPT} class, extends @{Fsm.Assign#ACT_ASSIGN} +-- +-- The ACT_ASSIGN_MENU_ACCEPT class accepts a task when the player accepts the task through an added menu option. +-- This assignment type is useful to conditionally allow the player to choose whether or not he would accept the task. +-- The assignment type also allows to reject the task. +-- +-- ## 2.1) ACT_ASSIGN_MENU_ACCEPT constructor: +-- ----------------------------------------- +-- +-- * @{#ACT_ASSIGN_MENU_ACCEPT.New}(): Creates a new ACT_ASSIGN_MENU_ACCEPT object. +-- +-- === +-- +-- @module Assign + + +do -- ACT_ASSIGN + + --- ACT_ASSIGN class + -- @type ACT_ASSIGN + -- @field Tasking.Task#TASK Task + -- @field Wrapper.Unit#UNIT ProcessUnit + -- @field Core.Zone#ZONE_BASE TargetZone + -- @extends Core.Fsm#FSM_PROCESS + ACT_ASSIGN = { + ClassName = "ACT_ASSIGN", + } + + + --- Creates a new task assignment state machine. The process will accept the task by default, no player intervention accepted. + -- @param #ACT_ASSIGN self + -- @return #ACT_ASSIGN The task acceptance process. + function ACT_ASSIGN:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM_PROCESS:New( "ACT_ASSIGN" ) ) -- Core.Fsm#FSM_PROCESS + + self:AddTransition( "UnAssigned", "Start", "Waiting" ) + self:AddTransition( "Waiting", "Assign", "Assigned" ) + self:AddTransition( "Waiting", "Reject", "Rejected" ) + self:AddTransition( "*", "Fail", "Failed" ) + + self:AddEndState( "Assigned" ) + self:AddEndState( "Rejected" ) + self:AddEndState( "Failed" ) + + self:SetStartState( "UnAssigned" ) + + return self + end + +end -- ACT_ASSIGN + + + +do -- ACT_ASSIGN_ACCEPT + + --- ACT_ASSIGN_ACCEPT class + -- @type ACT_ASSIGN_ACCEPT + -- @field Tasking.Task#TASK Task + -- @field Wrapper.Unit#UNIT ProcessUnit + -- @field Core.Zone#ZONE_BASE TargetZone + -- @extends #ACT_ASSIGN + ACT_ASSIGN_ACCEPT = { + ClassName = "ACT_ASSIGN_ACCEPT", + } + + + --- Creates a new task assignment state machine. The process will accept the task by default, no player intervention accepted. + -- @param #ACT_ASSIGN_ACCEPT self + -- @param #string TaskBriefing + function ACT_ASSIGN_ACCEPT:New( TaskBriefing ) + + local self = BASE:Inherit( self, ACT_ASSIGN:New() ) -- #ACT_ASSIGN_ACCEPT + + self.TaskBriefing = TaskBriefing + + return self + end + + function ACT_ASSIGN_ACCEPT:Init( FsmAssign ) + + self.TaskBriefing = FsmAssign.TaskBriefing + end + + --- StateMachine callback function + -- @param #ACT_ASSIGN_ACCEPT self + -- @param Wrapper.Unit#UNIT ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIGN_ACCEPT:onafterStart( ProcessUnit, From, Event, To ) + self:E( { ProcessUnit, From, Event, To } ) + + self:__Assign( 1 ) + end + + --- StateMachine callback function + -- @param #ACT_ASSIGN_ACCEPT self + -- @param Wrapper.Unit#UNIT ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIGN_ACCEPT:onenterAssigned( ProcessUnit, From, Event, To ) + env.info( "in here" ) + self:E( { ProcessUnit, From, Event, To } ) + + local ProcessGroup = ProcessUnit:GetGroup() + + self:Message( "You are assigned to the task " .. self.Task:GetName() ) + + self.Task:Assign( ProcessUnit, ProcessUnit:GetPlayerName() ) + end + +end -- ACT_ASSIGN_ACCEPT + + +do -- ACT_ASSIGN_MENU_ACCEPT + + --- ACT_ASSIGN_MENU_ACCEPT class + -- @type ACT_ASSIGN_MENU_ACCEPT + -- @field Tasking.Task#TASK Task + -- @field Wrapper.Unit#UNIT ProcessUnit + -- @field Core.Zone#ZONE_BASE TargetZone + -- @extends #ACT_ASSIGN + ACT_ASSIGN_MENU_ACCEPT = { + ClassName = "ACT_ASSIGN_MENU_ACCEPT", + } + + --- Init. + -- @param #ACT_ASSIGN_MENU_ACCEPT self + -- @param #string TaskName + -- @param #string TaskBriefing + -- @return #ACT_ASSIGN_MENU_ACCEPT self + function ACT_ASSIGN_MENU_ACCEPT:New( TaskName, TaskBriefing ) + + -- Inherits from BASE + local self = BASE:Inherit( self, ACT_ASSIGN:New() ) -- #ACT_ASSIGN_MENU_ACCEPT + + self.TaskName = TaskName + self.TaskBriefing = TaskBriefing + + return self + end + + function ACT_ASSIGN_MENU_ACCEPT:Init( FsmAssign ) + + self.TaskName = FsmAssign.TaskName + self.TaskBriefing = FsmAssign.TaskBriefing + end + + + --- Creates a new task assignment state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator. + -- @param #ACT_ASSIGN_MENU_ACCEPT self + -- @param #string TaskName + -- @param #string TaskBriefing + -- @return #ACT_ASSIGN_MENU_ACCEPT self + function ACT_ASSIGN_MENU_ACCEPT:Init( TaskName, TaskBriefing ) + + self.TaskBriefing = TaskBriefing + self.TaskName = TaskName + + return self + end + + --- StateMachine callback function + -- @param #ACT_ASSIGN_MENU_ACCEPT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIGN_MENU_ACCEPT:onafterStart( ProcessUnit, From, Event, To ) + self:E( { ProcessUnit, From, Event, To } ) + + self:Message( "Access the radio menu to accept the task. You have 30 seconds or the assignment will be cancelled." ) + + local ProcessGroup = ProcessUnit:GetGroup() + + self.Menu = MENU_GROUP:New( ProcessGroup, "Task " .. self.TaskName .. " acceptance" ) + self.MenuAcceptTask = MENU_GROUP_COMMAND:New( ProcessGroup, "Accept task " .. self.TaskName, self.Menu, self.MenuAssign, self ) + self.MenuRejectTask = MENU_GROUP_COMMAND:New( ProcessGroup, "Reject task " .. self.TaskName, self.Menu, self.MenuReject, self ) + end + + --- Menu function. + -- @param #ACT_ASSIGN_MENU_ACCEPT self + function ACT_ASSIGN_MENU_ACCEPT:MenuAssign() + self:E( ) + + self:__Assign( 1 ) + end + + --- Menu function. + -- @param #ACT_ASSIGN_MENU_ACCEPT self + function ACT_ASSIGN_MENU_ACCEPT:MenuReject() + self:E( ) + + self:__Reject( 1 ) + end + + --- StateMachine callback function + -- @param #ACT_ASSIGN_MENU_ACCEPT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIGN_MENU_ACCEPT:onafterAssign( ProcessUnit, From, Event, To ) + self:E( { ProcessUnit.UnitNameFrom, Event, To } ) + + self.Menu:Remove() + end + + --- StateMachine callback function + -- @param #ACT_ASSIGN_MENU_ACCEPT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIGN_MENU_ACCEPT:onafterReject( ProcessUnit, From, Event, To ) + self:E( { ProcessUnit.UnitName, From, Event, To } ) + + self.Menu:Remove() + --TODO: need to resolve this problem ... it has to do with the events ... + --self.Task:UnAssignFromUnit( ProcessUnit )needs to become a callback funtion call upon the event + ProcessUnit:Destroy() + end + +end -- ACT_ASSIGN_MENU_ACCEPT +--- (SP) (MP) (FSM) Route AI or players through waypoints or to zones. +-- +-- === +-- +-- # @{#ACT_ROUTE} FSM class, extends @{Fsm#FSM_PROCESS} +-- +-- ## ACT_ROUTE state machine: +-- +-- This class is a state machine: it manages a process that is triggered by events causing state transitions to occur. +-- All derived classes from this class will start with the class name, followed by a \_. See the relevant derived class descriptions below. +-- Each derived class follows exactly the same process, using the same events and following the same state transitions, +-- but will have **different implementation behaviour** upon each event or state transition. +-- +-- ### ACT_ROUTE **Events**: +-- +-- These are the events defined in this class: +-- +-- * **Start**: The process is started. The process will go into the Report state. +-- * **Report**: The process is reporting to the player the route to be followed. +-- * **Route**: The process is routing the controllable. +-- * **Pause**: The process is pausing the route of the controllable. +-- * **Arrive**: The controllable has arrived at a route point. +-- * **More**: There are more route points that need to be followed. The process will go back into the Report state. +-- * **NoMore**: There are no more route points that need to be followed. The process will go into the Success state. +-- +-- ### ACT_ROUTE **Event methods**: +-- +-- Event methods are available (dynamically allocated by the state machine), that accomodate for state transitions occurring in the process. +-- There are two types of event methods, which you can use to influence the normal mechanisms in the state machine: +-- +-- * **Immediate**: The event method has exactly the name of the event. +-- * **Delayed**: The event method starts with a __ + the name of the event. The first parameter of the event method is a number value, expressing the delay in seconds when the event will be executed. +-- +-- ### ACT_ROUTE **States**: +-- +-- * **None**: The controllable did not receive route commands. +-- * **Arrived (*)**: The controllable has arrived at a route point. +-- * **Aborted (*)**: The controllable has aborted the route path. +-- * **Routing**: The controllable is understay to the route point. +-- * **Pausing**: The process is pausing the routing. AI air will go into hover, AI ground will stop moving. Players can fly around. +-- * **Success (*)**: All route points were reached. +-- * **Failed (*)**: The process has failed. +-- +-- (*) End states of the process. +-- +-- ### ACT_ROUTE state transition methods: +-- +-- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state. +-- There are 2 moments when state transition methods will be called by the state machine: +-- +-- * **Before** the state transition. +-- The state transition method needs to start with the name **OnBefore + the name of the state**. +-- If the state transition method returns false, then the processing of the state transition will not be done! +-- If you want to change the behaviour of the AIControllable at this event, return false, +-- but then you'll need to specify your own logic using the AIControllable! +-- +-- * **After** the state transition. +-- The state transition method needs to start with the name **OnAfter + the name of the state**. +-- These state transition methods need to provide a return value, which is specified at the function description. +-- +-- === +-- +-- # 1) @{#ACT_ROUTE_ZONE} class, extends @{Fsm.Route#ACT_ROUTE} +-- +-- The ACT_ROUTE_ZONE class implements the core functions to route an AIR @{Controllable} player @{Unit} to a @{Zone}. +-- The player receives on perioding times messages with the coordinates of the route to follow. +-- Upon arrival at the zone, a confirmation of arrival is sent, and the process will be ended. +-- +-- # 1.1) ACT_ROUTE_ZONE constructor: +-- +-- * @{#ACT_ROUTE_ZONE.New}(): Creates a new ACT_ROUTE_ZONE object. +-- +-- === +-- +-- @module Route + + +do -- ACT_ROUTE + + --- ACT_ROUTE class + -- @type ACT_ROUTE + -- @field Tasking.Task#TASK TASK + -- @field Wrapper.Unit#UNIT ProcessUnit + -- @field Core.Zone#ZONE_BASE Zone + -- @extends Core.Fsm#FSM_PROCESS + ACT_ROUTE = { + ClassName = "ACT_ROUTE", + } + + + --- Creates a new routing state machine. The process will route a CLIENT to a ZONE until the CLIENT is within that ZONE. + -- @param #ACT_ROUTE self + -- @return #ACT_ROUTE self + function ACT_ROUTE:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM_PROCESS:New( "ACT_ROUTE" ) ) -- Core.Fsm#FSM_PROCESS + + self:AddTransition( "None", "Start", "Routing" ) + self:AddTransition( "*", "Report", "Reporting" ) + self:AddTransition( "*", "Route", "Routing" ) + self:AddTransition( "Routing", "Pause", "Pausing" ) + self:AddTransition( "*", "Abort", "Aborted" ) + self:AddTransition( "Routing", "Arrive", "Arrived" ) + self:AddTransition( "Arrived", "Success", "Success" ) + self:AddTransition( "*", "Fail", "Failed" ) + self:AddTransition( "", "", "" ) + self:AddTransition( "", "", "" ) + + self:AddEndState( "Arrived" ) + self:AddEndState( "Failed" ) + + self:SetStartState( "None" ) + + return self + end + + --- Task Events + + --- StateMachine callback function + -- @param #ACT_ROUTE self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ROUTE:onafterStart( ProcessUnit, From, Event, To ) + + + self:__Route( 1 ) + end + + --- Check if the controllable has arrived. + -- @param #ACT_ROUTE self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @return #boolean + function ACT_ROUTE:onfuncHasArrived( ProcessUnit ) + return false + end + + --- StateMachine callback function + -- @param #ACT_ROUTE self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ROUTE:onbeforeRoute( ProcessUnit, From, Event, To ) + self:F( { "BeforeRoute 1", self.DisplayCount, self.DisplayInterval } ) + + if ProcessUnit:IsAlive() then + self:F( "BeforeRoute 2" ) + local HasArrived = self:onfuncHasArrived( ProcessUnit ) -- Polymorphic + if self.DisplayCount >= self.DisplayInterval then + self:T( { HasArrived = HasArrived } ) + if not HasArrived then + self:Report() + end + self.DisplayCount = 1 + else + self.DisplayCount = self.DisplayCount + 1 + end + + self:T( { DisplayCount = self.DisplayCount } ) + + if HasArrived then + self:__Arrive( 1 ) + else + self:__Route( 1 ) + end + + return HasArrived -- if false, then the event will not be executed... + end + + return false + + end + +end -- ACT_ROUTE + + +do -- ACT_ROUTE_POINT + + --- ACT_ROUTE_POINT class + -- @type ACT_ROUTE_POINT + -- @field Tasking.Task#TASK TASK + -- @extends #ACT_ROUTE + ACT_ROUTE_POINT = { + ClassName = "ACT_ROUTE_POINT", + } + + + --- Creates a new routing state machine. + -- The task will route a controllable to a PointVec2 until the controllable is within the Range. + -- @param #ACT_ROUTE_POINT self + -- @param Core.Point#POINT_VEC2 The PointVec2 to Target. + -- @param #number Range The Distance to Target. + -- @param Core.Zone#ZONE_BASE Zone + function ACT_ROUTE_POINT:New( PointVec2, Range ) + local self = BASE:Inherit( self, ACT_ROUTE:New() ) -- #ACT_ROUTE_POINT + + self.PointVec2 = PointVec2 + self.Range = Range or 0 + + self.DisplayInterval = 30 + self.DisplayCount = 30 + self.DisplayMessage = true + self.DisplayTime = 10 -- 10 seconds is the default + + return self + end + + function ACT_ROUTE_POINT:Init( FsmRoute ) + + self.PointVec2 = FsmRoute.PointVec2 + self.Range = FsmRoute.Range or 0 + + self.DisplayInterval = 30 + self.DisplayCount = 30 + self.DisplayMessage = true + self.DisplayTime = 10 -- 10 seconds is the default + end + + --- Set PointVec2 + -- @param #ACT_ROUTE_POINT self + -- @param Core.Point#POINT_VEC2 PointVec2 The PointVec2 to route to. + function ACT_ROUTE_POINT:SetPointVec2( PointVec2 ) + self:F2( { PointVec2 } ) + self.PointVec2 = PointVec2 + end + + --- Get PointVec2 + -- @param #ACT_ROUTE_POINT self + -- @return Core.Point#POINT_VEC2 PointVec2 The PointVec2 to route to. + function ACT_ROUTE_POINT:GetPointVec2() + self:F2( { self.PointVec2 } ) + return self.PointVec2 + end + + --- Set Range around PointVec2 + -- @param #ACT_ROUTE_POINT self + -- @param #number Range The Range to consider the arrival. Default is 10000 meters. + function ACT_ROUTE_POINT:SetRange( Range ) + self:F2( { self.Range } ) + self.Range = Range or 10000 + end + + --- Get Range around PointVec2 + -- @param #ACT_ROUTE_POINT self + -- @return #number The Range to consider the arrival. Default is 10000 meters. + function ACT_ROUTE_POINT:GetRange() + return self.Range + end + + --- Method override to check if the controllable has arrived. + -- @param #ACT_ROUTE_POINT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @return #boolean + function ACT_ROUTE_POINT:onfuncHasArrived( ProcessUnit ) + + if ProcessUnit:IsAlive() then + local Distance = self.PointVec2:Get2DDistance( ProcessUnit:GetPointVec2() ) + + if Distance <= self.Range then + local RouteText = "You have arrived." + self:Message( RouteText ) + return true + end + end + + return false + end + + --- Task Events + + --- StateMachine callback function + -- @param #ACT_ROUTE_POINT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ROUTE_POINT:onenterReporting( ProcessUnit, From, Event, To ) + + local TaskUnitPointVec2 = ProcessUnit:GetPointVec2() + local RouteText = "Route to " .. TaskUnitPointVec2:GetBRText( self.PointVec2 ) .. " km." + self:Message( RouteText ) + end + +end -- ACT_ROUTE_POINT + + +do -- ACT_ROUTE_ZONE + + --- ACT_ROUTE_ZONE class + -- @type ACT_ROUTE_ZONE + -- @field Tasking.Task#TASK TASK + -- @field Wrapper.Unit#UNIT ProcessUnit + -- @field Core.Zone#ZONE_BASE Zone + -- @extends #ACT_ROUTE + ACT_ROUTE_ZONE = { + ClassName = "ACT_ROUTE_ZONE", + } + + + --- Creates a new routing state machine. The task will route a controllable to a ZONE until the controllable is within that ZONE. + -- @param #ACT_ROUTE_ZONE self + -- @param Core.Zone#ZONE_BASE Zone + function ACT_ROUTE_ZONE:New( Zone ) + local self = BASE:Inherit( self, ACT_ROUTE:New() ) -- #ACT_ROUTE_ZONE + + self.Zone = Zone + + self.DisplayInterval = 30 + self.DisplayCount = 30 + self.DisplayMessage = true + self.DisplayTime = 10 -- 10 seconds is the default + + return self + end + + function ACT_ROUTE_ZONE:Init( FsmRoute ) + + self.Zone = FsmRoute.Zone + + self.DisplayInterval = 30 + self.DisplayCount = 30 + self.DisplayMessage = true + self.DisplayTime = 10 -- 10 seconds is the default + end + + --- Set Zone + -- @param #ACT_ROUTE_ZONE self + -- @param Core.Zone#ZONE_BASE Zone The Zone object where to route to. + function ACT_ROUTE_ZONE:SetZone( Zone ) + self.Zone = Zone + end + + --- Get Zone + -- @param #ACT_ROUTE_ZONE self + -- @return Core.Zone#ZONE_BASE Zone The Zone object where to route to. + function ACT_ROUTE_ZONE:GetZone() + return self.Zone + end + + --- Method override to check if the controllable has arrived. + -- @param #ACT_ROUTE self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @return #boolean + function ACT_ROUTE_ZONE:onfuncHasArrived( ProcessUnit ) + + if ProcessUnit:IsInZone( self.Zone ) then + local RouteText = "You have arrived within the zone." + self:Message( RouteText ) + end + + return ProcessUnit:IsInZone( self.Zone ) + end + + --- Task Events + + --- StateMachine callback function + -- @param #ACT_ROUTE_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ROUTE_ZONE:onenterReporting( ProcessUnit, From, Event, To ) + + local ZoneVec2 = self.Zone:GetVec2() + local ZonePointVec2 = POINT_VEC2:New( ZoneVec2.x, ZoneVec2.y ) + local TaskUnitVec2 = ProcessUnit:GetVec2() + local TaskUnitPointVec2 = POINT_VEC2:New( TaskUnitVec2.x, TaskUnitVec2.y ) + local RouteText = "Route to " .. TaskUnitPointVec2:GetBRText( ZonePointVec2 ) .. " km." + self:Message( RouteText ) + end + +end -- ACT_ROUTE_ZONE +--- **Actions** - ACT_ACCOUNT_ classes **account for** (detect, count & report) various DCS events occuring on @{Unit}s. +-- +-- ![Banner Image](..\Presentations\ACT_ACCOUNT\Dia1.JPG) +-- +-- === +-- +-- @module Account + + +do -- ACT_ACCOUNT + + --- # @{#ACT_ACCOUNT} FSM class, extends @{Fsm#FSM_PROCESS} + -- + -- ## ACT_ACCOUNT state machine: + -- + -- This class is a state machine: it manages a process that is triggered by events causing state transitions to occur. + -- All derived classes from this class will start with the class name, followed by a \_. See the relevant derived class descriptions below. + -- Each derived class follows exactly the same process, using the same events and following the same state transitions, + -- but will have **different implementation behaviour** upon each event or state transition. + -- + -- ### ACT_ACCOUNT States + -- + -- * **Asigned**: The player is assigned. + -- * **Waiting**: Waiting for an event. + -- * **Report**: Reporting. + -- * **Account**: Account for an event. + -- * **Accounted**: All events have been accounted for, end of the process. + -- * **Failed**: Failed the process. + -- + -- ### ACT_ACCOUNT Events + -- + -- * **Start**: Start the process. + -- * **Wait**: Wait for an event. + -- * **Report**: Report the status of the accounting. + -- * **Event**: An event happened, process the event. + -- * **More**: More targets. + -- * **NoMore (*)**: No more targets. + -- * **Fail (*)**: The action process has failed. + -- + -- (*) End states of the process. + -- + -- ### ACT_ACCOUNT state transition methods: + -- + -- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state. + -- There are 2 moments when state transition methods will be called by the state machine: + -- + -- * **Before** the state transition. + -- The state transition method needs to start with the name **OnBefore + the name of the state**. + -- If the state transition method returns false, then the processing of the state transition will not be done! + -- If you want to change the behaviour of the AIControllable at this event, return false, + -- but then you'll need to specify your own logic using the AIControllable! + -- + -- * **After** the state transition. + -- The state transition method needs to start with the name **OnAfter + the name of the state**. + -- These state transition methods need to provide a return value, which is specified at the function description. + -- + -- @type ACT_ACCOUNT + -- @field Set#SET_UNIT TargetSetUnit + -- @extends Core.Fsm#FSM_PROCESS + ACT_ACCOUNT = { + ClassName = "ACT_ACCOUNT", + TargetSetUnit = nil, + } + + --- Creates a new DESTROY process. + -- @param #ACT_ACCOUNT self + -- @return #ACT_ACCOUNT + function ACT_ACCOUNT:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM_PROCESS:New() ) -- Core.Fsm#FSM_PROCESS + + self:AddTransition( "Assigned", "Start", "Waiting") + self:AddTransition( "*", "Wait", "Waiting") + self:AddTransition( "*", "Report", "Report") + self:AddTransition( "*", "Event", "Account") + self:AddTransition( "Account", "More", "Wait") + self:AddTransition( "Account", "NoMore", "Accounted") + self:AddTransition( "*", "Fail", "Failed") + + self:AddEndState( "Accounted" ) + self:AddEndState( "Failed" ) + + self:SetStartState( "Assigned" ) + + return self + end + + --- Process Events + + --- StateMachine callback function + -- @param #ACT_ACCOUNT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ACCOUNT:onafterStart( ProcessUnit, From, Event, To ) + + self:HandleEvent( EVENTS.Dead, self.onfuncEventDead ) + + self:__Wait( 1 ) + end + + + --- StateMachine callback function + -- @param #ACT_ACCOUNT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ACCOUNT:onenterWaiting( ProcessUnit, From, Event, To ) + + if self.DisplayCount >= self.DisplayInterval then + self:Report() + self.DisplayCount = 1 + else + self.DisplayCount = self.DisplayCount + 1 + end + + return true -- Process always the event. + end + + --- StateMachine callback function + -- @param #ACT_ACCOUNT self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ACCOUNT:onafterEvent( ProcessUnit, From, Event, To, Event ) + + self:__NoMore( 1 ) + end + +end -- ACT_ACCOUNT + +do -- ACT_ACCOUNT_DEADS + + --- # @{#ACT_ACCOUNT_DEADS} FSM class, extends @{Fsm.Account#ACT_ACCOUNT} + -- + -- The ACT_ACCOUNT_DEADS class accounts (detects, counts and reports) successful kills of DCS units. + -- The process is given a @{Set} of units that will be tracked upon successful destruction. + -- The process will end after each target has been successfully destroyed. + -- Each successful dead will trigger an Account state transition that can be scored, modified or administered. + -- + -- + -- ## ACT_ACCOUNT_DEADS constructor: + -- + -- * @{#ACT_ACCOUNT_DEADS.New}(): Creates a new ACT_ACCOUNT_DEADS object. + -- + -- @type ACT_ACCOUNT_DEADS + -- @field Set#SET_UNIT TargetSetUnit + -- @extends #ACT_ACCOUNT + ACT_ACCOUNT_DEADS = { + ClassName = "ACT_ACCOUNT_DEADS", + TargetSetUnit = nil, + } + + + --- Creates a new DESTROY process. + -- @param #ACT_ACCOUNT_DEADS self + -- @param Set#SET_UNIT TargetSetUnit + -- @param #string TaskName + function ACT_ACCOUNT_DEADS:New( TargetSetUnit, TaskName ) + -- Inherits from BASE + local self = BASE:Inherit( self, ACT_ACCOUNT:New() ) -- #ACT_ACCOUNT_DEADS + + self.TargetSetUnit = TargetSetUnit + self.TaskName = TaskName + + self.DisplayInterval = 30 + self.DisplayCount = 30 + self.DisplayMessage = true + self.DisplayTime = 10 -- 10 seconds is the default + self.DisplayCategory = "HQ" -- Targets is the default display category + + return self + end + + function ACT_ACCOUNT_DEADS:Init( FsmAccount ) + + self.TargetSetUnit = FsmAccount.TargetSetUnit + self.TaskName = FsmAccount.TaskName + end + + --- Process Events + + --- StateMachine callback function + -- @param #ACT_ACCOUNT_DEADS self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ACCOUNT_DEADS:onenterReport( ProcessUnit, Task, From, Event, To ) + self:E( { ProcessUnit, From, Event, To } ) + + self:Message( "Your group with assigned " .. self.TaskName .. " task has " .. self.TargetSetUnit:GetUnitTypesText() .. " targets left to be destroyed." ) + end + + + --- StateMachine callback function + -- @param #ACT_ACCOUNT_DEADS self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ACCOUNT_DEADS:onenterAccount( ProcessUnit, Task, From, Event, To, EventData ) + self:T( { ProcessUnit, EventData, From, Event, To } ) + + self:T({self.Controllable}) + + self.TargetSetUnit:Flush() + + self:T( { "Before sending Message", EventData.IniUnitName, self.TargetSetUnit:FindUnit( EventData.IniUnitName ) } ) + if self.TargetSetUnit:FindUnit( EventData.IniUnitName ) then + self:T( "Sending Message" ) + local TaskGroup = ProcessUnit:GetGroup() + self.TargetSetUnit:Remove( EventData.IniUnitName ) + self:Message( "You hit a target. Your group with assigned " .. self.TaskName .. " task has " .. self.TargetSetUnit:Count() .. " targets ( " .. self.TargetSetUnit:GetUnitTypesText() .. " ) left to be destroyed." ) + end + self:T( { "After sending Message" } ) + end + + --- StateMachine callback function + -- @param #ACT_ACCOUNT_DEADS self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ACCOUNT_DEADS:onafterEvent( ProcessUnit, Task, From, Event, To ) + + if self.TargetSetUnit:Count() > 0 then + self:__More( 1 ) + else + self:__NoMore( 1 ) + end + end + + --- DCS Events + + --- @param #ACT_ACCOUNT_DEADS self + -- @param Event#EVENTDATA EventData + function ACT_ACCOUNT_DEADS:onfuncEventDead( EventData ) + self:T( { "EventDead", EventData } ) + + if EventData.IniDCSUnit then + self:Event( EventData ) + end + end + +end -- ACT_ACCOUNT DEADS +--- (SP) (MP) (FSM) Route AI or players through waypoints or to zones. +-- +-- === +-- +-- # @{#ACT_ASSIST} FSM class, extends @{Fsm#FSM_PROCESS} +-- +-- ## ACT_ASSIST state machine: +-- +-- This class is a state machine: it manages a process that is triggered by events causing state transitions to occur. +-- All derived classes from this class will start with the class name, followed by a \_. See the relevant derived class descriptions below. +-- Each derived class follows exactly the same process, using the same events and following the same state transitions, +-- but will have **different implementation behaviour** upon each event or state transition. +-- +-- ### ACT_ASSIST **Events**: +-- +-- These are the events defined in this class: +-- +-- * **Start**: The process is started. +-- * **Next**: The process is smoking the targets in the given zone. +-- +-- ### ACT_ASSIST **Event methods**: +-- +-- Event methods are available (dynamically allocated by the state machine), that accomodate for state transitions occurring in the process. +-- There are two types of event methods, which you can use to influence the normal mechanisms in the state machine: +-- +-- * **Immediate**: The event method has exactly the name of the event. +-- * **Delayed**: The event method starts with a __ + the name of the event. The first parameter of the event method is a number value, expressing the delay in seconds when the event will be executed. +-- +-- ### ACT_ASSIST **States**: +-- +-- * **None**: The controllable did not receive route commands. +-- * **AwaitSmoke (*)**: The process is awaiting to smoke the targets in the zone. +-- * **Smoking (*)**: The process is smoking the targets in the zone. +-- * **Failed (*)**: The process has failed. +-- +-- (*) End states of the process. +-- +-- ### ACT_ASSIST state transition methods: +-- +-- State transition functions can be set **by the mission designer** customizing or improving the behaviour of the state. +-- There are 2 moments when state transition methods will be called by the state machine: +-- +-- * **Before** the state transition. +-- The state transition method needs to start with the name **OnBefore + the name of the state**. +-- If the state transition method returns false, then the processing of the state transition will not be done! +-- If you want to change the behaviour of the AIControllable at this event, return false, +-- but then you'll need to specify your own logic using the AIControllable! +-- +-- * **After** the state transition. +-- The state transition method needs to start with the name **OnAfter + the name of the state**. +-- These state transition methods need to provide a return value, which is specified at the function description. +-- +-- === +-- +-- # 1) @{#ACT_ASSIST_SMOKE_TARGETS_ZONE} class, extends @{Fsm.Route#ACT_ASSIST} +-- +-- The ACT_ASSIST_SMOKE_TARGETS_ZONE class implements the core functions to smoke targets in a @{Zone}. +-- The targets are smoked within a certain range around each target, simulating a realistic smoking behaviour. +-- At random intervals, a new target is smoked. +-- +-- # 1.1) ACT_ASSIST_SMOKE_TARGETS_ZONE constructor: +-- +-- * @{#ACT_ASSIST_SMOKE_TARGETS_ZONE.New}(): Creates a new ACT_ASSIST_SMOKE_TARGETS_ZONE object. +-- +-- === +-- +-- @module Smoke + +do -- ACT_ASSIST + + --- ACT_ASSIST class + -- @type ACT_ASSIST + -- @extends Core.Fsm#FSM_PROCESS + ACT_ASSIST = { + ClassName = "ACT_ASSIST", + } + + --- Creates a new target smoking state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator. + -- @param #ACT_ASSIST self + -- @return #ACT_ASSIST + function ACT_ASSIST:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM_PROCESS:New( "ACT_ASSIST" ) ) -- Core.Fsm#FSM_PROCESS + + self:AddTransition( "None", "Start", "AwaitSmoke" ) + self:AddTransition( "AwaitSmoke", "Next", "Smoking" ) + self:AddTransition( "Smoking", "Next", "AwaitSmoke" ) + self:AddTransition( "*", "Stop", "Success" ) + self:AddTransition( "*", "Fail", "Failed" ) + + self:AddEndState( "Failed" ) + self:AddEndState( "Success" ) + + self:SetStartState( "None" ) + + return self + end + + --- Task Events + + --- StateMachine callback function + -- @param #ACT_ASSIST self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIST:onafterStart( ProcessUnit, From, Event, To ) + + local ProcessGroup = ProcessUnit:GetGroup() + local MissionMenu = self:GetMission():GetMenu( ProcessGroup ) + + local function MenuSmoke( MenuParam ) + self:E( MenuParam ) + local self = MenuParam.self + local SmokeColor = MenuParam.SmokeColor + self.SmokeColor = SmokeColor + self:__Next( 1 ) + end + + self.Menu = MENU_GROUP:New( ProcessGroup, "Target acquisition", MissionMenu ) + self.MenuSmokeBlue = MENU_GROUP_COMMAND:New( ProcessGroup, "Drop blue smoke on targets", self.Menu, MenuSmoke, { self = self, SmokeColor = SMOKECOLOR.Blue } ) + self.MenuSmokeGreen = MENU_GROUP_COMMAND:New( ProcessGroup, "Drop green smoke on targets", self.Menu, MenuSmoke, { self = self, SmokeColor = SMOKECOLOR.Green } ) + self.MenuSmokeOrange = MENU_GROUP_COMMAND:New( ProcessGroup, "Drop Orange smoke on targets", self.Menu, MenuSmoke, { self = self, SmokeColor = SMOKECOLOR.Orange } ) + self.MenuSmokeRed = MENU_GROUP_COMMAND:New( ProcessGroup, "Drop Red smoke on targets", self.Menu, MenuSmoke, { self = self, SmokeColor = SMOKECOLOR.Red } ) + self.MenuSmokeWhite = MENU_GROUP_COMMAND:New( ProcessGroup, "Drop White smoke on targets", self.Menu, MenuSmoke, { self = self, SmokeColor = SMOKECOLOR.White } ) + end + + --- StateMachine callback function + -- @param #ACT_ASSIST self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIST:onafterStop( ProcessUnit, From, Event, To ) + + self.Menu:Remove() -- When stopped, remove the menus + end + +end + +do -- ACT_ASSIST_SMOKE_TARGETS_ZONE + + --- ACT_ASSIST_SMOKE_TARGETS_ZONE class + -- @type ACT_ASSIST_SMOKE_TARGETS_ZONE + -- @field Set#SET_UNIT TargetSetUnit + -- @field Core.Zone#ZONE_BASE TargetZone + -- @extends #ACT_ASSIST + ACT_ASSIST_SMOKE_TARGETS_ZONE = { + ClassName = "ACT_ASSIST_SMOKE_TARGETS_ZONE", + } + +-- function ACT_ASSIST_SMOKE_TARGETS_ZONE:_Destructor() +-- self:E("_Destructor") +-- +-- self.Menu:Remove() +-- self:EventRemoveAll() +-- end + + --- Creates a new target smoking state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator. + -- @param #ACT_ASSIST_SMOKE_TARGETS_ZONE self + -- @param Set#SET_UNIT TargetSetUnit + -- @param Core.Zone#ZONE_BASE TargetZone + function ACT_ASSIST_SMOKE_TARGETS_ZONE:New( TargetSetUnit, TargetZone ) + local self = BASE:Inherit( self, ACT_ASSIST:New() ) -- #ACT_ASSIST + + self.TargetSetUnit = TargetSetUnit + self.TargetZone = TargetZone + + return self + end + + function ACT_ASSIST_SMOKE_TARGETS_ZONE:Init( FsmSmoke ) + + self.TargetSetUnit = FsmSmoke.TargetSetUnit + self.TargetZone = FsmSmoke.TargetZone + end + + --- Creates a new target smoking state machine. The process will request from the menu if it accepts the task, if not, the unit is removed from the simulator. + -- @param #ACT_ASSIST_SMOKE_TARGETS_ZONE self + -- @param Set#SET_UNIT TargetSetUnit + -- @param Core.Zone#ZONE_BASE TargetZone + -- @return #ACT_ASSIST_SMOKE_TARGETS_ZONE self + function ACT_ASSIST_SMOKE_TARGETS_ZONE:Init( TargetSetUnit, TargetZone ) + + self.TargetSetUnit = TargetSetUnit + self.TargetZone = TargetZone + + return self + end + + --- StateMachine callback function + -- @param #ACT_ASSIST_SMOKE_TARGETS_ZONE self + -- @param Wrapper.Controllable#CONTROLLABLE ProcessUnit + -- @param #string Event + -- @param #string From + -- @param #string To + function ACT_ASSIST_SMOKE_TARGETS_ZONE:onenterSmoking( ProcessUnit, From, Event, To ) + + self.TargetSetUnit:ForEachUnit( + --- @param Wrapper.Unit#UNIT SmokeUnit + function( SmokeUnit ) + if math.random( 1, ( 100 * self.TargetSetUnit:Count() ) / 4 ) <= 100 then + SCHEDULER:New( self, + function() + if SmokeUnit:IsAlive() then + SmokeUnit:Smoke( self.SmokeColor, 150 ) + end + end, {}, math.random( 10, 60 ) + ) + end + end + ) + + end + +end--- A COMMANDCENTER is the owner of multiple missions within MOOSE. +-- A COMMANDCENTER governs multiple missions, the tasking and the reporting. +-- @module CommandCenter + + + +--- The REPORT class +-- @type REPORT +-- @extends Core.Base#BASE +REPORT = { + ClassName = "REPORT", +} + +--- Create a new REPORT. +-- @param #REPORT self +-- @param #string Title +-- @return #REPORT +function REPORT:New( Title ) + + local self = BASE:Inherit( self, BASE:New() ) + + self.Report = {} + if Title then + self.Report[#self.Report+1] = Title + end + + return self +end + +--- Add a new line to a REPORT. +-- @param #REPORT self +-- @param #string Text +-- @return #REPORT +function REPORT:Add( Text ) + self.Report[#self.Report+1] = Text + return self.Report[#self.Report] +end + +--- Produces the text of the report, taking into account an optional delimeter, which is \n by default. +-- @param #REPORT self +-- @param #string Delimiter (optional) A delimiter text. +-- @return #string The report text. +function REPORT:Text( Delimiter ) + Delimiter = Delimiter or "\n" + local ReportText = table.concat( self.Report, Delimiter ) or "" + return ReportText +end + +--- The COMMANDCENTER class +-- @type COMMANDCENTER +-- @field Wrapper.Group#GROUP HQ +-- @field Dcs.DCSCoalitionWrapper.Object#coalition CommandCenterCoalition +-- @list Missions +-- @extends Core.Base#BASE +COMMANDCENTER = { + ClassName = "COMMANDCENTER", + CommandCenterName = "", + CommandCenterCoalition = nil, + CommandCenterPositionable = nil, + Name = "", +} +--- The constructor takes an IDENTIFIABLE as the HQ command center. +-- @param #COMMANDCENTER self +-- @param Wrapper.Positionable#POSITIONABLE CommandCenterPositionable +-- @param #string CommandCenterName +-- @return #COMMANDCENTER +function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName ) + + local self = BASE:Inherit( self, BASE:New() ) + + self.CommandCenterPositionable = CommandCenterPositionable + self.CommandCenterName = CommandCenterName or CommandCenterPositionable:GetName() + self.CommandCenterCoalition = CommandCenterPositionable:GetCoalition() + + self.Missions = {} + + self:HandleEvent( EVENTS.Birth, + --- @param #COMMANDCENTER self + -- @param Core.Event#EVENTDATA EventData + function( self, EventData ) + if EventData.IniObjectCategory == 1 then + local EventGroup = GROUP:Find( EventData.IniDCSGroup ) + if EventGroup and self:HasGroup( EventGroup ) then + local MenuReporting = MENU_GROUP:New( EventGroup, "Reporting", self.CommandCenterMenu ) + local MenuMissionsSummary = MENU_GROUP_COMMAND:New( EventGroup, "Missions Summary Report", MenuReporting, self.ReportSummary, self, EventGroup ) + local MenuMissionsDetails = MENU_GROUP_COMMAND:New( EventGroup, "Missions Details Report", MenuReporting, self.ReportDetails, self, EventGroup ) + self:ReportSummary( EventGroup ) + end + local PlayerUnit = EventData.IniUnit + for MissionID, Mission in pairs( self:GetMissions() ) do + local Mission = Mission -- Tasking.Mission#MISSION + local PlayerGroup = EventData.IniGroup -- The GROUP object should be filled! + Mission:JoinUnit( PlayerUnit, PlayerGroup ) + Mission:ReportDetails() + end + end + + end + ) + + -- When a player enters a client or a unit, the CommandCenter will check for each Mission and each Task in the Mission if the player has things to do. + -- For these elements, it will= + -- - Set the correct menu. + -- - Assign the PlayerUnit to the Task if required. + -- - Send a message to the other players in the group that this player has joined. + self:HandleEvent( EVENTS.PlayerEnterUnit, + --- @param #COMMANDCENTER self + -- @param Core.Event#EVENTDATA EventData + function( self, EventData ) + local PlayerUnit = EventData.IniUnit + for MissionID, Mission in pairs( self:GetMissions() ) do + local Mission = Mission -- Tasking.Mission#MISSION + local PlayerGroup = EventData.IniGroup -- The GROUP object should be filled! + Mission:JoinUnit( PlayerUnit, PlayerGroup ) + Mission:ReportDetails() + end + end + ) + + -- Handle when a player leaves a slot and goes back to spectators ... + -- The PlayerUnit will be UnAssigned from the Task. + -- When there is no Unit left running the Task, the Task goes into Abort... + self:HandleEvent( EVENTS.PlayerLeaveUnit, + --- @param #TASK self + -- @param Core.Event#EVENTDATA EventData + function( self, EventData ) + local PlayerUnit = EventData.IniUnit + for MissionID, Mission in pairs( self:GetMissions() ) do + local Mission = Mission -- Tasking.Mission#MISSION + Mission:AbortUnit( PlayerUnit ) + end + end + ) + + -- Handle when a player leaves a slot and goes back to spectators ... + -- The PlayerUnit will be UnAssigned from the Task. + -- When there is no Unit left running the Task, the Task goes into Abort... + self:HandleEvent( EVENTS.Crash, + --- @param #TASK self + -- @param Core.Event#EVENTDATA EventData + function( self, EventData ) + local PlayerUnit = EventData.IniUnit + for MissionID, Mission in pairs( self:GetMissions() ) do + Mission:CrashUnit( PlayerUnit ) + end + end + ) + + return self +end + +--- Gets the name of the HQ command center. +-- @param #COMMANDCENTER self +-- @return #string +function COMMANDCENTER:GetName() + + return self.CommandCenterName +end + +--- Gets the POSITIONABLE of the HQ command center. +-- @param #COMMANDCENTER self +-- @return Wrapper.Positionable#POSITIONABLE +function COMMANDCENTER:GetPositionable() + return self.CommandCenterPositionable +end + +--- Get the Missions governed by the HQ command center. +-- @param #COMMANDCENTER self +-- @return #list +function COMMANDCENTER:GetMissions() + + return self.Missions +end + +--- Add a MISSION to be governed by the HQ command center. +-- @param #COMMANDCENTER self +-- @param Tasking.Mission#MISSION Mission +-- @return Tasking.Mission#MISSION +function COMMANDCENTER:AddMission( Mission ) + + self.Missions[Mission] = Mission + + return Mission +end + +--- Removes a MISSION to be governed by the HQ command center. +-- The given Mission is not nilified. +-- @param #COMMANDCENTER self +-- @param Tasking.Mission#MISSION Mission +-- @return Tasking.Mission#MISSION +function COMMANDCENTER:RemoveMission( Mission ) + + self.Missions[Mission] = nil + + return Mission +end + +--- Sets the menu structure of the Missions governed by the HQ command center. +-- @param #COMMANDCENTER self +function COMMANDCENTER:SetMenu() + self:F() + + self.CommandCenterMenu = self.CommandCenterMenu or MENU_COALITION:New( self.CommandCenterCoalition, "Command Center (" .. self:GetName() .. ")" ) + + local MenuTime = timer.getTime() + for MissionID, Mission in pairs( self:GetMissions() ) do + local Mission = Mission -- Tasking.Mission#MISSION + Mission:SetMenu( MenuTime ) + end + + for MissionID, Mission in pairs( self:GetMissions() ) do + local Mission = Mission -- Tasking.Mission#MISSION + Mission:RemoveMenu( MenuTime ) + end + +end + +--- Gets the commandcenter menu structure governed by the HQ command center. +-- @param #COMMANDCENTER self +-- @return Core.Menu#MENU_COALITION +function COMMANDCENTER:GetMenu() + self:F() + return self.CommandCenterMenu +end + +--- Checks of the COMMANDCENTER has a GROUP. +-- @param #COMMANDCENTER self +-- @param Wrapper.Group#GROUP +-- @return #boolean +function COMMANDCENTER:HasGroup( MissionGroup ) + + local Has = false + + for MissionID, Mission in pairs( self.Missions ) do + local Mission = Mission -- Tasking.Mission#MISSION + if Mission:HasGroup( MissionGroup ) then + Has = true + break + end + end + + return Has +end + +--- Send a CC message to the coalition of the CC. +-- @param #COMMANDCENTER self +function COMMANDCENTER:MessageToAll( Message ) + + self:GetPositionable():MessageToAll( Message, 20, self:GetName() ) + +end + +--- Send a CC message to a GROUP. +-- @param #COMMANDCENTER self +-- @param #string Message +-- @param Wrapper.Group#GROUP TaskGroup +-- @param #sring Name (optional) The name of the Group used as a prefix for the message to the Group. If not provided, there will be nothing shown. +function COMMANDCENTER:MessageToGroup( Message, TaskGroup, Name ) + + local Prefix = "@ Group" + Prefix = Prefix .. ( Name and " (" .. Name .. "): " or '' ) + Message = Prefix .. Message + self:GetPositionable():MessageToGroup( Message , 20, TaskGroup, self:GetName() ) + +end + +--- Send a CC message to the coalition of the CC. +-- @param #COMMANDCENTER self +function COMMANDCENTER:MessageToCoalition( Message ) + + local CCCoalition = self:GetPositionable():GetCoalition() + --TODO: Fix coalition bug! + self:GetPositionable():MessageToCoalition( Message, 20, CCCoalition, self:GetName() ) + +end + + +--- Report the status of all MISSIONs to a GROUP. +-- Each Mission is listed, with an indication how many Tasks are still to be completed. +-- @param #COMMANDCENTER self +function COMMANDCENTER:ReportSummary( ReportGroup ) + self:E( ReportGroup ) + + local Report = REPORT:New() + + for MissionID, Mission in pairs( self.Missions ) do + local Mission = Mission -- Tasking.Mission#MISSION + Report:Add( " - " .. Mission:ReportOverview() ) + end + + self:GetPositionable():MessageToGroup( Report:Text(), 30, ReportGroup ) + +end + +--- Report the status of a Task to a Group. +-- Report the details of a Mission, listing the Mission, and all the Task details. +-- @param #COMMANDCENTER self +function COMMANDCENTER:ReportDetails( ReportGroup, Task ) + self:E( ReportGroup ) + + local Report = REPORT:New() + + for MissionID, Mission in pairs( self.Missions ) do + local Mission = Mission -- Tasking.Mission#MISSION + Report:Add( " - " .. Mission:ReportDetails() ) + end + + self:GetPositionable():MessageToGroup( Report:Text(), 30, ReportGroup ) +end + +--- A MISSION is the main owner of a Mission orchestration within MOOSE . The Mission framework orchestrates @{CLIENT}s, @{TASK}s, @{STAGE}s etc. +-- A @{CLIENT} needs to be registered within the @{MISSION} through the function @{AddClient}. A @{TASK} needs to be registered within the @{MISSION} through the function @{AddTask}. +-- @module Mission + +--- The MISSION class +-- @type MISSION +-- @field #MISSION.Clients _Clients +-- @field Core.Menu#MENU_COALITION MissionMenu +-- @field #string MissionBriefing +-- @extends Core.Fsm#FSM +MISSION = { + ClassName = "MISSION", + Name = "", + MissionStatus = "PENDING", +} + +--- This is the main MISSION declaration method. Each Mission is like the master or a Mission orchestration between, Clients, Tasks, Stages etc. +-- @param #MISSION self +-- @param Tasking.CommandCenter#COMMANDCENTER CommandCenter +-- @param #string MissionName is the name of the mission. This name will be used to reference the status of each mission by the players. +-- @param #string MissionPriority is a string indicating the "priority" of the Mission. f.e. "Primary", "Secondary" or "First", "Second". It is free format and up to the Mission designer to choose. There are no rules behind this field. +-- @param #string MissionBriefing is a string indicating the mission briefing to be shown when a player joins a @{CLIENT}. +-- @param Dcs.DCSCoalitionWrapper.Object#coalition MissionCoalition is a string indicating the coalition or party to which this mission belongs to. It is free format and can be chosen freely by the mission designer. Note that this field is not to be confused with the coalition concept of the ME. Examples of a Mission Coalition could be "NATO", "CCCP", "Intruders", "Terrorists"... +-- @return #MISSION self +function MISSION:New( CommandCenter, MissionName, MissionPriority, MissionBriefing, MissionCoalition ) + + local self = BASE:Inherit( self, FSM:New() ) -- Core.Fsm#FSM + + self:SetStartState( "Idle" ) + + self:AddTransition( "Idle", "Start", "Ongoing" ) + + --- OnLeave Transition Handler for State Idle. + -- @function [parent=#MISSION] OnLeaveIdle + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Idle. + -- @function [parent=#MISSION] OnEnterIdle + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- OnLeave Transition Handler for State Ongoing. + -- @function [parent=#MISSION] OnLeaveOngoing + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Ongoing. + -- @function [parent=#MISSION] OnEnterOngoing + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- OnBefore Transition Handler for Event Start. + -- @function [parent=#MISSION] OnBeforeStart + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Start. + -- @function [parent=#MISSION] OnAfterStart + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Start. + -- @function [parent=#MISSION] Start + -- @param #MISSION self + + --- Asynchronous Event Trigger for Event Start. + -- @function [parent=#MISSION] __Start + -- @param #MISSION self + -- @param #number Delay The delay in seconds. + + self:AddTransition( "Ongoing", "Stop", "Idle" ) + + --- OnLeave Transition Handler for State Idle. + -- @function [parent=#MISSION] OnLeaveIdle + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Idle. + -- @function [parent=#MISSION] OnEnterIdle + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- OnBefore Transition Handler for Event Stop. + -- @function [parent=#MISSION] OnBeforeStop + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Stop. + -- @function [parent=#MISSION] OnAfterStop + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Stop. + -- @function [parent=#MISSION] Stop + -- @param #MISSION self + + --- Asynchronous Event Trigger for Event Stop. + -- @function [parent=#MISSION] __Stop + -- @param #MISSION self + -- @param #number Delay The delay in seconds. + + self:AddTransition( "Ongoing", "Complete", "Completed" ) + + --- OnLeave Transition Handler for State Completed. + -- @function [parent=#MISSION] OnLeaveCompleted + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Completed. + -- @function [parent=#MISSION] OnEnterCompleted + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- OnBefore Transition Handler for Event Complete. + -- @function [parent=#MISSION] OnBeforeComplete + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Complete. + -- @function [parent=#MISSION] OnAfterComplete + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Complete. + -- @function [parent=#MISSION] Complete + -- @param #MISSION self + + --- Asynchronous Event Trigger for Event Complete. + -- @function [parent=#MISSION] __Complete + -- @param #MISSION self + -- @param #number Delay The delay in seconds. + + self:AddTransition( "*", "Fail", "Failed" ) + + --- OnLeave Transition Handler for State Failed. + -- @function [parent=#MISSION] OnLeaveFailed + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnEnter Transition Handler for State Failed. + -- @function [parent=#MISSION] OnEnterFailed + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- OnBefore Transition Handler for Event Fail. + -- @function [parent=#MISSION] OnBeforeFail + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @return #boolean Return false to cancel Transition. + + --- OnAfter Transition Handler for Event Fail. + -- @function [parent=#MISSION] OnAfterFail + -- @param #MISSION self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + + --- Synchronous Event Trigger for Event Fail. + -- @function [parent=#MISSION] Fail + -- @param #MISSION self + + --- Asynchronous Event Trigger for Event Fail. + -- @function [parent=#MISSION] __Fail + -- @param #MISSION self + -- @param #number Delay The delay in seconds. + + self:T( { MissionName, MissionPriority, MissionBriefing, MissionCoalition } ) + + self.CommandCenter = CommandCenter + CommandCenter:AddMission( self ) + + self.Name = MissionName + self.MissionPriority = MissionPriority + self.MissionBriefing = MissionBriefing + self.MissionCoalition = MissionCoalition + + self.Tasks = {} + + -- Private implementations + + + + return self +end + +-- FSM function for a MISSION +-- @param #MISSION self +-- @param #string From +-- @param #string Event +-- @param #string To +function MISSION:onbeforeComplete( From, Event, To ) + + for TaskID, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + if not Task:IsStateSuccess() and not Task:IsStateFailed() and not Task:IsStateAborted() and not Task:IsStateCancelled() then + return false -- Mission cannot be completed. Other Tasks are still active. + end + end + return true -- Allow Mission completion. +end + +-- FSM function for a MISSION +-- @param #MISSION self +-- @param #string From +-- @param #string Event +-- @param #string To +function MISSION:onenterCompleted( From, Event, To ) + + self:GetCommandCenter():MessageToCoalition( "Mission " .. self:GetName() .. " has been completed! Good job guys!" ) +end + +--- Gets the mission name. +-- @param #MISSION self +-- @return #MISSION self +function MISSION:GetName() + return self.Name +end + +--- Add a Unit to join the Mission. +-- For each Task within the Mission, the Unit is joined with the Task. +-- If the Unit was not part of a Task in the Mission, false is returned. +-- If the Unit is part of a Task in the Mission, true is returned. +-- @param #MISSION self +-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player joining the Mission. +-- @param Wrapper.Group#GROUP PlayerGroup The GROUP of the player joining the Mission. +-- @return #boolean true if Unit is part of a Task in the Mission. +function MISSION:JoinUnit( PlayerUnit, PlayerGroup ) + self:F( { PlayerUnit = PlayerUnit, PlayerGroup = PlayerGroup } ) + + local PlayerUnitAdded = false + + for TaskID, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + if Task:JoinUnit( PlayerUnit, PlayerGroup ) then + PlayerUnitAdded = true + end + end + + return PlayerUnitAdded +end + +--- Aborts a PlayerUnit from the Mission. +-- For each Task within the Mission, the PlayerUnit is removed from Task where it is assigned. +-- If the Unit was not part of a Task in the Mission, false is returned. +-- If the Unit is part of a Task in the Mission, true is returned. +-- @param #MISSION self +-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player joining the Mission. +-- @return #boolean true if Unit is part of a Task in the Mission. +function MISSION:AbortUnit( PlayerUnit ) + self:F( { PlayerUnit = PlayerUnit } ) + + local PlayerUnitRemoved = false + + for TaskID, Task in pairs( self:GetTasks() ) do + if Task:AbortUnit( PlayerUnit ) then + PlayerUnitRemoved = true + end + end + + return PlayerUnitRemoved +end + +--- Handles a crash of a PlayerUnit from the Mission. +-- For each Task within the Mission, the PlayerUnit is removed from Task where it is assigned. +-- If the Unit was not part of a Task in the Mission, false is returned. +-- If the Unit is part of a Task in the Mission, true is returned. +-- @param #MISSION self +-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player crashing. +-- @return #boolean true if Unit is part of a Task in the Mission. +function MISSION:CrashUnit( PlayerUnit ) + self:F( { PlayerUnit = PlayerUnit } ) + + local PlayerUnitRemoved = false + + for TaskID, Task in pairs( self:GetTasks() ) do + if Task:CrashUnit( PlayerUnit ) then + PlayerUnitRemoved = true + end + end + + return PlayerUnitRemoved +end + +--- Add a scoring to the mission. +-- @param #MISSION self +-- @return #MISSION self +function MISSION:AddScoring( Scoring ) + self.Scoring = Scoring + return self +end + +--- Get the scoring object of a mission. +-- @param #MISSION self +-- @return #SCORING Scoring +function MISSION:GetScoring() + return self.Scoring +end + +--- Get the groups for which TASKS are given in the mission +-- @param #MISSION self +-- @return Core.Set#SET_GROUP +function MISSION:GetGroups() + + local SetGroup = SET_GROUP:New() + + for TaskID, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + local GroupSet = Task:GetGroups() + GroupSet:ForEachGroup( + function( TaskGroup ) + SetGroup:Add( TaskGroup, TaskGroup ) + end + ) + end + + return SetGroup + +end + + +--- Sets the Planned Task menu. +-- @param #MISSION self +-- @param #number MenuTime +function MISSION:SetMenu( MenuTime ) + self:F() + + for _, TaskData in pairs( self:GetTasks() ) do + local Task = TaskData -- Tasking.Task#TASK + Task:SetMenu( MenuTime ) + end +end + +--- Removes the Planned Task menu. +-- @param #MISSION self +-- @param #number MenuTime +function MISSION:RemoveMenu( MenuTime ) + self:F() + + for _, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + Task:RemoveMenu( MenuTime ) + end +end + + +--- Gets the COMMANDCENTER. +-- @param #MISSION self +-- @return Tasking.CommandCenter#COMMANDCENTER +function MISSION:GetCommandCenter() + return self.CommandCenter +end + + +--- Removes a Task menu. +-- @param #MISSION self +-- @param Tasking.Task#TASK Task +-- @return #MISSION self +function MISSION:RemoveTaskMenu( Task ) + + Task:RemoveMenu() +end + + +--- Gets the mission menu for the coalition. +-- @param #MISSION self +-- @param Wrapper.Group#GROUP TaskGroup +-- @return Core.Menu#MENU_COALITION self +function MISSION:GetMenu( TaskGroup ) + + local CommandCenter = self:GetCommandCenter() + local CommandCenterMenu = CommandCenter:GetMenu() + + local MissionName = self:GetName() + local MissionMenu = CommandCenterMenu:GetMenu( MissionName ) + + return MissionMenu +end + + +--- Get the TASK identified by the TaskNumber from the Mission. This function is useful in GoalFunctions. +-- @param #string TaskName The Name of the @{Task} within the @{Mission}. +-- @return Tasking.Task#TASK The Task +-- @return #nil Returns nil if no task was found. +function MISSION:GetTask( TaskName ) + self:F( { TaskName } ) + + return self.Tasks[TaskName] +end + + +--- Register a @{Task} to be completed within the @{Mission}. +-- Note that there can be multiple @{Task}s registered to be completed. +-- Each Task can be set a certain Goals. The Mission will not be completed until all Goals are reached. +-- @param #MISSION self +-- @param Tasking.Task#TASK Task is the @{Task} object. +-- @return Tasking.Task#TASK The task added. +function MISSION:AddTask( Task ) + + local TaskName = Task:GetTaskName() + self:F( TaskName ) + + self.Tasks[TaskName] = self.Tasks[TaskName] or { n = 0 } + + self.Tasks[TaskName] = Task + + self:GetCommandCenter():SetMenu() + + return Task +end + +--- Removes a @{Task} to be completed within the @{Mission}. +-- Note that there can be multiple @{Task}s registered to be completed. +-- Each Task can be set a certain Goals. The Mission will not be completed until all Goals are reached. +-- @param #MISSION self +-- @param Tasking.Task#TASK Task is the @{Task} object. +-- @return #nil The cleaned Task reference. +function MISSION:RemoveTask( Task ) + + local TaskName = Task:GetTaskName() + + self:F( TaskName ) + self.Tasks[TaskName] = self.Tasks[TaskName] or { n = 0 } + + -- Ensure everything gets garbarge collected. + self.Tasks[TaskName] = nil + Task = nil + + collectgarbage() + + self:GetCommandCenter():SetMenu() + + return nil +end + +--- Return the next @{Task} ID to be completed within the @{Mission}. +-- @param #MISSION self +-- @param Tasking.Task#TASK Task is the @{Task} object. +-- @return Tasking.Task#TASK The task added. +function MISSION:GetNextTaskID( Task ) + + local TaskName = Task:GetTaskName() + self:F( TaskName ) + self.Tasks[TaskName] = self.Tasks[TaskName] or { n = 0 } + + self.Tasks[TaskName].n = self.Tasks[TaskName].n + 1 + + return self.Tasks[TaskName].n +end + +--- Is the @{Mission} **Completed**. +-- @param #MISSION self +-- @return #boolean +function MISSION:IsCompleted() + return self:Is( "Completed" ) +end + +--- Is the @{Mission} **Idle**. +-- @param #MISSION self +-- @return #boolean +function MISSION:IsIdle() + return self:Is( "Idle" ) +end + +--- Is the @{Mission} **Ongoing**. +-- @param #MISSION self +-- @return #boolean +function MISSION:IsOngoing() + return self:Is( "Ongoing" ) +end + +--- Is the @{Mission} **Failed**. +-- @param #MISSION self +-- @return #boolean +function MISSION:IsFailed() + return self:Is( "Failed" ) +end + +--- Is the @{Mission} **Hold**. +-- @param #MISSION self +-- @return #boolean +function MISSION:IsHold() + return self:Is( "Hold" ) +end + +--- Validates if the Mission has a Group +-- @param #MISSION +-- @return #boolean true if the Mission has a Group. +function MISSION:HasGroup( TaskGroup ) + local Has = false + + for TaskID, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + if Task:HasGroup( TaskGroup ) then + Has = true + break + end + end + + return Has +end + +--- Create a summary report of the Mission (one line). +-- @param #MISSION self +-- @return #string +function MISSION:ReportSummary() + + local Report = REPORT:New() + + -- List the name of the mission. + local Name = self:GetName() + + -- Determine the status of the mission. + local Status = self:GetState() + + -- Determine how many tasks are remaining. + local TasksRemaining = 0 + for TaskID, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + if Task:IsStateSuccess() or Task:IsStateFailed() then + else + TasksRemaining = TasksRemaining + 1 + end + end + + Report:Add( "Mission " .. Name .. " - " .. Status .. " - " .. TasksRemaining .. " tasks remaining." ) + + return Report:Text() +end + +--- Create a overview report of the Mission (multiple lines). +-- @param #MISSION self +-- @return #string +function MISSION:ReportOverview() + + local Report = REPORT:New() + + -- List the name of the mission. + local Name = self:GetName() + + -- Determine the status of the mission. + local Status = self:GetState() + + Report:Add( "Mission " .. Name .. " - State '" .. Status .. "'" ) + + -- Determine how many tasks are remaining. + local TasksRemaining = 0 + for TaskID, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + Report:Add( "- " .. Task:ReportSummary() ) + end + + return Report:Text() +end + +--- Create a detailed report of the Mission, listing all the details of the Task. +-- @param #MISSION self +-- @return #string +function MISSION:ReportDetails() + + local Report = REPORT:New() + + -- List the name of the mission. + local Name = self:GetName() + + -- Determine the status of the mission. + local Status = self:GetState() + + Report:Add( "Mission " .. Name .. " - State '" .. Status .. "'" ) + + -- Determine how many tasks are remaining. + local TasksRemaining = 0 + for TaskID, Task in pairs( self:GetTasks() ) do + local Task = Task -- Tasking.Task#TASK + Report:Add( Task:ReportDetails() ) + end + + return Report:Text() +end + +--- Get all the TASKs from the Mission. This function is useful in GoalFunctions. +-- @return {TASK,...} Structure of TASKS with the @{TASK} number as the key. +-- @usage +-- -- Get Tasks from the Mission. +-- Tasks = Mission:GetTasks() +-- env.info( "Task 2 Completion = " .. Tasks[2]:GetGoalPercentage() .. "%" ) +function MISSION:GetTasks() + self:F() + + return self.Tasks +end + + +--- **Tasking** -- This module contains the TASK class. +-- +-- === +-- +-- +-- === +-- +-- ### Authors: FlightControl - Design and Programming +-- +-- @module Task + +--- @type TASK +-- @field Core.Scheduler#SCHEDULER TaskScheduler +-- @field Tasking.Mission#MISSION Mission +-- @field Core.Set#SET_GROUP SetGroup The Set of Groups assigned to the Task +-- @field Core.Fsm#FSM_PROCESS FsmTemplate +-- @field Tasking.Mission#MISSION Mission +-- @field Tasking.CommandCenter#COMMANDCENTER CommandCenter +-- @extends Core.Fsm#FSM_TASK + +--- +-- # TASK class, extends @{Base#BASE} +-- +-- ## The TASK class implements the methods for task orchestration within MOOSE. +-- +-- The class provides a couple of methods to: +-- +-- * @{#TASK.AssignToGroup}():Assign a task to a group (of players). +-- * @{#TASK.AddProcess}():Add a @{Process} to a task. +-- * @{#TASK.RemoveProcesses}():Remove a running @{Process} from a running task. +-- * @{#TASK.SetStateMachine}():Set a @{Fsm} to a task. +-- * @{#TASK.RemoveStateMachine}():Remove @{Fsm} from a task. +-- * @{#TASK.HasStateMachine}():Enquire if the task has a @{Fsm} +-- * @{#TASK.AssignToUnit}(): Assign a task to a unit. (Needs to be implemented in the derived classes from @{#TASK}. +-- * @{#TASK.UnAssignFromUnit}(): Unassign the task from a unit. +-- * @{#TASK.SetTimeOut}(): Set timer in seconds before task gets cancelled if not assigned. +-- +-- ## 1.2) Set and enquire task status (beyond the task state machine processing). +-- +-- A task needs to implement as a minimum the following task states: +-- +-- * **Success**: Expresses the successful execution and finalization of the task. +-- * **Failed**: Expresses the failure of a task. +-- * **Planned**: Expresses that the task is created, but not yet in execution and is not assigned yet. +-- * **Assigned**: Expresses that the task is assigned to a Group of players, and that the task is in execution mode. +-- +-- A task may also implement the following task states: +-- +-- * **Rejected**: Expresses that the task is rejected by a player, who was requested to accept the task. +-- * **Cancelled**: Expresses that the task is cancelled by HQ or through a logical situation where a cancellation of the task is required. +-- +-- A task can implement more statusses than the ones outlined above. Please consult the documentation of the specific tasks to understand the different status modelled. +-- +-- The status of tasks can be set by the methods **State** followed by the task status. An example is `StateAssigned()`. +-- The status of tasks can be enquired by the methods **IsState** followed by the task status name. An example is `if IsStateAssigned() then`. +-- +-- ## 1.3) Add scoring when reaching a certain task status: +-- +-- Upon reaching a certain task status in a task, additional scoring can be given. If the Mission has a scoring system attached, the scores will be added to the mission scoring. +-- Use the method @{#TASK.AddScore}() to add scores when a status is reached. +-- +-- ## 1.4) Task briefing: +-- +-- A task briefing can be given that is shown to the player when he is assigned to the task. +-- +-- @field #TASK TASK +-- +TASK = { + ClassName = "TASK", + TaskScheduler = nil, + ProcessClasses = {}, -- The container of the Process classes that will be used to create and assign new processes for the task to ProcessUnits. + Processes = {}, -- The container of actual process objects instantiated and assigned to ProcessUnits. + Players = nil, + Scores = {}, + Menu = {}, + SetGroup = nil, + FsmTemplate = nil, + Mission = nil, + CommandCenter = nil, + TimeOut = 0, +} + +--- FSM PlayerAborted event handler prototype for TASK. +-- @function [parent=#TASK] OnAfterPlayerAborted +-- @param #TASK self +-- @param Wrapper.Unit#UNIT PlayerUnit The Unit of the Player when he went back to spectators or left the mission. +-- @param #string PlayerName The name of the Player. + +--- FSM PlayerCrashed event handler prototype for TASK. +-- @function [parent=#TASK] OnAfterPlayerCrashed +-- @param #TASK self +-- @param Wrapper.Unit#UNIT PlayerUnit The Unit of the Player when he crashed in the mission. +-- @param #string PlayerName The name of the Player. + +--- FSM PlayerDead event handler prototype for TASK. +-- @function [parent=#TASK] OnAfterPlayerDead +-- @param #TASK self +-- @param Wrapper.Unit#UNIT PlayerUnit The Unit of the Player when he died in the mission. +-- @param #string PlayerName The name of the Player. + +--- FSM Fail synchronous event function for TASK. +-- Use this event to Fail the Task. +-- @function [parent=#TASK] Fail +-- @param #TASK self + +--- FSM Fail asynchronous event function for TASK. +-- Use this event to Fail the Task. +-- @function [parent=#TASK] __Fail +-- @param #TASK self + +--- FSM Abort synchronous event function for TASK. +-- Use this event to Abort the Task. +-- @function [parent=#TASK] Abort +-- @param #TASK self + +--- FSM Abort asynchronous event function for TASK. +-- Use this event to Abort the Task. +-- @function [parent=#TASK] __Abort +-- @param #TASK self + +--- FSM Success synchronous event function for TASK. +-- Use this event to make the Task a Success. +-- @function [parent=#TASK] Success +-- @param #TASK self + +--- FSM Success asynchronous event function for TASK. +-- Use this event to make the Task a Success. +-- @function [parent=#TASK] __Success +-- @param #TASK self + +--- FSM Cancel synchronous event function for TASK. +-- Use this event to Cancel the Task. +-- @function [parent=#TASK] Cancel +-- @param #TASK self + +--- FSM Cancel asynchronous event function for TASK. +-- Use this event to Cancel the Task. +-- @function [parent=#TASK] __Cancel +-- @param #TASK self + +--- FSM Replan synchronous event function for TASK. +-- Use this event to Replan the Task. +-- @function [parent=#TASK] Replan +-- @param #TASK self + +--- FSM Replan asynchronous event function for TASK. +-- Use this event to Replan the Task. +-- @function [parent=#TASK] __Replan +-- @param #TASK self + + +--- Instantiates a new TASK. Should never be used. Interface Class. +-- @param #TASK self +-- @param Tasking.Mission#MISSION Mission The mission wherein the Task is registered. +-- @param Core.Set#SET_GROUP SetGroupAssign The set of groups for which the Task can be assigned. +-- @param #string TaskName The name of the Task +-- @param #string TaskType The type of the Task +-- @return #TASK self +function TASK:New( Mission, SetGroupAssign, TaskName, TaskType ) + + local self = BASE:Inherit( self, FSM_TASK:New() ) -- Core.Fsm#FSM_TASK + + self:SetStartState( "Planned" ) + self:AddTransition( "Planned", "Assign", "Assigned" ) + self:AddTransition( "Assigned", "AssignUnit", "Assigned" ) + self:AddTransition( "Assigned", "Success", "Success" ) + self:AddTransition( "Assigned", "Fail", "Failed" ) + self:AddTransition( "Assigned", "Abort", "Aborted" ) + self:AddTransition( "Assigned", "Cancel", "Cancelled" ) + self:AddTransition( "*", "PlayerCrashed", "*" ) + self:AddTransition( "*", "PlayerAborted", "*" ) + self:AddTransition( "*", "PlayerDead", "*" ) + self:AddTransition( { "Failed", "Aborted", "Cancelled" }, "Replan", "Planned" ) + self:AddTransition( "*", "TimeOut", "Cancelled" ) + + self:E( "New TASK " .. TaskName ) + + self.Processes = {} + self.Fsm = {} + + self.Mission = Mission + self.CommandCenter = Mission:GetCommandCenter() + + self.SetGroup = SetGroupAssign + + self:SetType( TaskType ) + self:SetName( TaskName ) + self:SetID( Mission:GetNextTaskID( self ) ) -- The Mission orchestrates the task sequences .. + + self.TaskBriefing = "You are invited for the task: " .. self.TaskName .. "." + + self.FsmTemplate = self.FsmTemplate or FSM_PROCESS:New() + + + return self +end + +--- Get the Task FSM Process Template +-- @param #TASK self +-- @return Core.Fsm#FSM_PROCESS +function TASK:GetUnitProcess( TaskUnit ) + + if TaskUnit then + return self:GetStateMachine( TaskUnit ) + else + return self.FsmTemplate + end +end + +--- Sets the Task FSM Process Template +-- @param #TASK self +-- @param Core.Fsm#FSM_PROCESS +function TASK:SetUnitProcess( FsmTemplate ) + + self.FsmTemplate = FsmTemplate +end + +--- Add a PlayerUnit to join the Task. +-- For each Group within the Task, the Unit is check if it can join the Task. +-- If the Unit was not part of the Task, false is returned. +-- If the Unit is part of the Task, true is returned. +-- @param #TASK self +-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player joining the Mission. +-- @param Wrapper.Group#GROUP PlayerGroup The GROUP of the player joining the Mission. +-- @return #boolean true if Unit is part of the Task. +function TASK:JoinUnit( PlayerUnit, PlayerGroup ) + self:F( { PlayerUnit = PlayerUnit, PlayerGroup = PlayerGroup } ) + + local PlayerUnitAdded = false + + local PlayerGroups = self:GetGroups() + + -- Is the PlayerGroup part of the PlayerGroups? + if PlayerGroups:IsIncludeObject( PlayerGroup ) then + + -- Check if the PlayerGroup is already assigned to the Task. If yes, the PlayerGroup is added to the Task. + -- If the PlayerGroup is not assigned to the Task, the menu needs to be set. In that case, the PlayerUnit will become the GroupPlayer leader. + if self:IsStatePlanned() or self:IsStateReplanned() then + self:SetMenuForGroup( PlayerGroup ) + --self:MessageToGroups( PlayerUnit:GetPlayerName() .. " is planning to join Task " .. self:GetName() ) + end + if self:IsStateAssigned() then + local IsAssignedToGroup = self:IsAssignedToGroup( PlayerGroup ) + self:E( { IsAssignedToGroup = IsAssignedToGroup } ) + if IsAssignedToGroup then + self:AssignToUnit( PlayerUnit ) + self:MessageToGroups( PlayerUnit:GetPlayerName() .. " joined Task " .. self:GetName() ) + end + end + end + + return PlayerUnitAdded +end + +--- Abort a PlayerUnit from a Task. +-- If the Unit was not part of the Task, false is returned. +-- If the Unit is part of the Task, true is returned. +-- @param #TASK self +-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player aborting the Task. +-- @return #boolean true if Unit is part of the Task. +function TASK:AbortUnit( PlayerUnit ) + self:F( { PlayerUnit = PlayerUnit } ) + + local PlayerUnitAborted = false + + local PlayerGroups = self:GetGroups() + local PlayerGroup = PlayerUnit:GetGroup() + + -- Is the PlayerGroup part of the PlayerGroups? + if PlayerGroups:IsIncludeObject( PlayerGroup ) then + + -- Check if the PlayerGroup is already assigned to the Task. If yes, the PlayerGroup is aborted from the Task. + -- If the PlayerUnit was the last unit of the PlayerGroup, the menu needs to be removed from the Group. + if self:IsStateAssigned() then + local IsAssignedToGroup = self:IsAssignedToGroup( PlayerGroup ) + self:E( { IsAssignedToGroup = IsAssignedToGroup } ) + if IsAssignedToGroup then + self:UnAssignFromUnit( PlayerUnit ) + self:MessageToGroups( PlayerUnit:GetPlayerName() .. " aborted Task " .. self:GetName() ) + self:E( { TaskGroup = PlayerGroup:GetName(), GetUnits = PlayerGroup:GetUnits() } ) + if #PlayerGroup:GetUnits() == 1 then + self:UnAssignFromGroup( PlayerGroup ) + PlayerGroup:SetState( PlayerGroup, "Assigned", nil ) + self:RemoveMenuForGroup( PlayerGroup ) + end + self:Abort() + end + end + end + + return PlayerUnitAborted +end + +--- A PlayerUnit crashed in a Task. Abort the Player. +-- If the Unit was not part of the Task, false is returned. +-- If the Unit is part of the Task, true is returned. +-- @param #TASK self +-- @param Wrapper.Unit#UNIT PlayerUnit The CLIENT or UNIT of the Player aborting the Task. +-- @return #boolean true if Unit is part of the Task. +function TASK:CrashUnit( PlayerUnit ) + self:F( { PlayerUnit = PlayerUnit } ) + + local PlayerUnitCrashed = false + + local PlayerGroups = self:GetGroups() + local PlayerGroup = PlayerUnit:GetGroup() + + -- Is the PlayerGroup part of the PlayerGroups? + if PlayerGroups:IsIncludeObject( PlayerGroup ) then + + -- Check if the PlayerGroup is already assigned to the Task. If yes, the PlayerGroup is aborted from the Task. + -- If the PlayerUnit was the last unit of the PlayerGroup, the menu needs to be removed from the Group. + if self:IsStateAssigned() then + local IsAssignedToGroup = self:IsAssignedToGroup( PlayerGroup ) + self:E( { IsAssignedToGroup = IsAssignedToGroup } ) + if IsAssignedToGroup then + self:UnAssignFromUnit( PlayerUnit ) + self:MessageToGroups( PlayerUnit:GetPlayerName() .. " crashed in Task " .. self:GetName() ) + self:E( { TaskGroup = PlayerGroup:GetName(), GetUnits = PlayerGroup:GetUnits() } ) + if #PlayerGroup:GetUnits() == 1 then + PlayerGroup:SetState( PlayerGroup, "Assigned", nil ) + self:RemoveMenuForGroup( PlayerGroup ) + end + self:PlayerCrashed( PlayerUnit ) + end + end + end + + return PlayerUnitCrashed +end + + + +--- Gets the Mission to where the TASK belongs. +-- @param #TASK self +-- @return Tasking.Mission#MISSION +function TASK:GetMission() + + return self.Mission +end + + +--- Gets the SET_GROUP assigned to the TASK. +-- @param #TASK self +-- @return Core.Set#SET_GROUP +function TASK:GetGroups() + return self.SetGroup +end + + + +--- Assign the @{Task} to a @{Group}. +-- @param #TASK self +-- @param Wrapper.Group#GROUP TaskGroup +-- @return #TASK +function TASK:AssignToGroup( TaskGroup ) + self:F2( TaskGroup:GetName() ) + + local TaskGroupName = TaskGroup:GetName() + + TaskGroup:SetState( TaskGroup, "Assigned", self ) + + local Mission = self:GetMission() + local MissionMenu = Mission:GetMenu( TaskGroup ) + MissionMenu:RemoveSubMenus() + + --self:RemoveMenuForGroup( TaskGroup ) + self:SetAssignedMenuForGroup( TaskGroup ) + + local TaskUnits = TaskGroup:GetUnits() + for UnitID, UnitData in pairs( TaskUnits ) do + local TaskUnit = UnitData -- Wrapper.Unit#UNIT + local PlayerName = TaskUnit:GetPlayerName() + self:E(PlayerName) + if PlayerName ~= nil or PlayerName ~= "" then + self:AssignToUnit( TaskUnit ) + end + end + + return self +end + +--- +-- @param #TASK self +-- @param Wrapper.Group#GROUP FindGroup +-- @return #boolean +function TASK:HasGroup( FindGroup ) + + return self:GetGroups():IsIncludeObject( FindGroup ) + +end + +--- Assign the @{Task} to an alive @{Unit}. +-- @param #TASK self +-- @param Wrapper.Unit#UNIT TaskUnit +-- @return #TASK self +function TASK:AssignToUnit( TaskUnit ) + self:F( TaskUnit:GetName() ) + + local FsmTemplate = self:GetUnitProcess() + + -- Assign a new FsmUnit to TaskUnit. + local FsmUnit = self:SetStateMachine( TaskUnit, FsmTemplate:Copy( TaskUnit, self ) ) -- Core.Fsm#FSM_PROCESS + self:E({"Address FsmUnit", tostring( FsmUnit ) } ) + + FsmUnit:SetStartState( "Planned" ) + + FsmUnit:Accept() -- Each Task needs to start with an Accept event to start the flow. + + return self +end + +--- UnAssign the @{Task} from an alive @{Unit}. +-- @param #TASK self +-- @param Wrapper.Unit#UNIT TaskUnit +-- @return #TASK self +function TASK:UnAssignFromUnit( TaskUnit ) + self:F( TaskUnit:GetName() ) + + self:RemoveStateMachine( TaskUnit ) + + return self +end + +--- Sets the TimeOut for the @{Task}. If @{Task} stayed planned for longer than TimeOut, it gets into Cancelled status. +-- @param #TASK self +-- @param #integer Timer in seconds +-- @return #TASK self +function TASK:SetTimeOut ( Timer ) + self:F( Timer ) + self.TimeOut = Timer + self:__TimeOut( self.TimeOut ) + return self +end + +--- Send a message of the @{Task} to the assigned @{Group}s. +-- @param #TASK self +function TASK:MessageToGroups( Message ) + self:F( { Message = Message } ) + + local Mission = self:GetMission() + local CC = Mission:GetCommandCenter() + + for TaskGroupName, TaskGroup in pairs( self.SetGroup:GetSet() ) do + local TaskGroup = TaskGroup -- Wrapper.Group#GROUP + CC:MessageToGroup( Message, TaskGroup, TaskGroup:GetName() ) + end +end + + +--- Send the briefng message of the @{Task} to the assigned @{Group}s. +-- @param #TASK self +function TASK:SendBriefingToAssignedGroups() + self:F2() + + for TaskGroupName, TaskGroup in pairs( self.SetGroup:GetSet() ) do + + if self:IsAssignedToGroup( TaskGroup ) then + TaskGroup:Message( self.TaskBriefing, 60 ) + end + end +end + + +--- UnAssign the @{Task} from the @{Group}s. +-- @param #TASK self +function TASK:UnAssignFromGroups() + self:F2() + + for TaskGroupName, TaskGroup in pairs( self.SetGroup:GetSet() ) do + self:UnAssignFromGroup( TaskGroup ) + end +end + +--- UnAssign the @{Task} from a @{Group}. +-- @param #TASK self +function TASK:UnAssignFromGroup( TaskGroup ) + self:F2( { TaskGroup } ) + + TaskGroup:SetState( TaskGroup, "Assigned", nil ) + + self:RemoveAssignedMenuForGroup( TaskGroup ) + + local TaskUnits = TaskGroup:GetUnits() + for UnitID, UnitData in pairs( TaskUnits ) do + local TaskUnit = UnitData -- Wrapper.Unit#UNIT + local PlayerName = TaskUnit:GetPlayerName() + if PlayerName ~= nil or PlayerName ~= "" then + self:UnAssignFromUnit( TaskUnit ) + end + end +end + + + +--- Returns if the @{Task} is assigned to the Group. +-- @param #TASK self +-- @param Wrapper.Group#GROUP TaskGroup +-- @return #boolean +function TASK:IsAssignedToGroup( TaskGroup ) + + local TaskGroupName = TaskGroup:GetName() + + if self:IsStateAssigned() then + if TaskGroup:GetState( TaskGroup, "Assigned" ) == self then + self:T( { "Task is assigned to:", TaskGroup:GetName() } ) + return true + end + end + + self:T( { "Task is not assigned to:", TaskGroup:GetName() } ) + return false +end + +--- Returns if the @{Task} has still alive and assigned Units. +-- @param #TASK self +-- @return #boolean +function TASK:HasAliveUnits() + self:F() + + for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do + if self:IsStateAssigned() then + if self:IsAssignedToGroup( TaskGroup ) then + for TaskUnitID, TaskUnit in pairs( TaskGroup:GetUnits() ) do + if TaskUnit:IsAlive() then + self:T( { HasAliveUnits = true } ) + return true + end + end + end + end + end + + self:T( { HasAliveUnits = false } ) + return false +end + +--- Set the menu options of the @{Task} to all the groups in the SetGroup. +-- @param #TASK self +-- @param #number MenuTime +-- @return #TASK +function TASK:SetMenu( MenuTime ) + self:F() + + self.SetGroup:Flush() + for TaskGroupID, TaskGroupData in pairs( self.SetGroup:GetSet() ) do + local TaskGroup = TaskGroupData -- Wrapper.Group#GROUP + if TaskGroup:IsAlive() and TaskGroup:GetPlayerNames() then + if self:IsStatePlanned() or self:IsStateReplanned() then + self:SetMenuForGroup( TaskGroup, MenuTime ) + end + end + end +end + + + +--- Set the Menu for a Group +-- @param #TASK self +-- @param #number MenuTime +-- @return #TASK +function TASK:SetMenuForGroup( TaskGroup, MenuTime ) + + if not TaskGroup:GetState( TaskGroup, "Assigned" ) then + self:SetPlannedMenuForGroup( TaskGroup, self:GetTaskName(), MenuTime ) + else + if not self:IsAssignedToGroup( TaskGroup ) then + self:SetAssignedMenuForGroup( TaskGroup, MenuTime ) + end + end +end + + +--- Set the planned menu option of the @{Task}. +-- @param #TASK self +-- @param Wrapper.Group#GROUP TaskGroup +-- @param #string MenuText The menu text. +-- @param #number MenuTime +-- @return #TASK self +function TASK:SetPlannedMenuForGroup( TaskGroup, MenuText, MenuTime ) + self:E( TaskGroup:GetName() ) + + local Mission = self:GetMission() + local MissionName = Mission:GetName() + local CommandCenter = Mission:GetCommandCenter() + local CommandCenterMenu = CommandCenter:GetMenu() + + local MissionMenu = MENU_GROUP:New( TaskGroup, MissionName, CommandCenterMenu ):SetTime( MenuTime ) + + + local MissionMenu = Mission:GetMenu( TaskGroup ) + + local TaskType = self:GetType() + local TaskTypeMenu = MENU_GROUP:New( TaskGroup, TaskType, MissionMenu ):SetTime( MenuTime ) + local TaskMenu = MENU_GROUP_COMMAND:New( TaskGroup, MenuText, TaskTypeMenu, self.MenuAssignToGroup, { self = self, TaskGroup = TaskGroup } ):SetTime( MenuTime ):SetRemoveParent( true ) + + return self +end + +--- Set the assigned menu options of the @{Task}. +-- @param #TASK self +-- @param Wrapper.Group#GROUP TaskGroup +-- @param #number MenuTime +-- @return #TASK self +function TASK:SetAssignedMenuForGroup( TaskGroup, MenuTime ) + self:E( TaskGroup:GetName() ) + + local Mission = self:GetMission() + local MissionMenu = Mission:GetMenu( TaskGroup ) + + self:E( { MissionMenu = MissionMenu } ) + + local TaskTypeMenu = MENU_GROUP_COMMAND:New( TaskGroup, "Task Status", MissionMenu, self.MenuTaskStatus, self, TaskGroup ):SetTime( MenuTime ) + local TaskMenu = MENU_GROUP_COMMAND:New( TaskGroup, "Abort Task", MissionMenu, self.MenuTaskAbort, self, TaskGroup ):SetTime( MenuTime ) + + return self +end + +--- Remove the menu options of the @{Task} to all the groups in the SetGroup. +-- @param #TASK self +-- @param #number MenuTime +-- @return #TASK +function TASK:RemoveMenu( MenuTime ) + self:F() + + for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do + local TaskGroup = TaskGroup -- Wrapper.Group#GROUP + if TaskGroup:IsAlive() and TaskGroup:GetPlayerNames() then + if not self:IsAssignedToGroup( TaskGroup ) then + self:RemovePlannedMenuForGroup( TaskGroup, MenuTime ) + end + end + end +end + + +--- Remove the menu option of the @{Task} for a @{Group}. +-- @param #TASK self +-- @param Wrapper.Group#GROUP TaskGroup +-- @param #number MenuTime +-- @return #TASK self +function TASK:RemovePlannedMenuForGroup( TaskGroup, MenuTime ) + self:F() + + local Mission = self:GetMission() + local MissionName = Mission:GetName() + + local MissionMenu = Mission:GetMenu( TaskGroup ) + + if MissionMenu then + local TaskType = self:GetType() + local TypeMenu = MissionMenu:GetMenu( TaskType ) + + if TypeMenu then + local TaskMenu = TypeMenu:GetMenu( self:GetTaskName() ) + if TaskMenu then + TaskMenu:Remove( MenuTime ) + end + end + end + +end + +--- Remove the assigned menu option of the @{Task} for a @{Group}. +-- @param #TASK self +-- @param Wrapper.Group#GROUP TaskGroup +-- @param #number MenuTime +-- @return #TASK self +function TASK:RemoveAssignedMenuForGroup( TaskGroup ) + self:F() + + local Mission = self:GetMission() + local MissionName = Mission:GetName() + + local MissionMenu = Mission:GetMenu( TaskGroup ) + + if MissionMenu then + MissionMenu:RemoveSubMenus() + end + +end + +function TASK.MenuAssignToGroup( MenuParam ) + + local self = MenuParam.self + local TaskGroup = MenuParam.TaskGroup + + self:E( "Assigned menu selected") + + self:AssignToGroup( TaskGroup ) +end + +--- Report the task status. +-- @param #TASK self +function TASK:MenuTaskStatus( TaskGroup ) + + local ReportText = self:ReportDetails() + + self:T( ReportText ) + self:GetMission():GetCommandCenter():MessageToGroup( ReportText, TaskGroup ) + +end + +--- Report the task status. +-- @param #TASK self +function TASK:MenuTaskAbort( TaskGroup ) + + self:Abort() +end + + + +--- Returns the @{Task} name. +-- @param #TASK self +-- @return #string TaskName +function TASK:GetTaskName() + return self.TaskName +end + + + + +--- Get the default or currently assigned @{Process} template with key ProcessName. +-- @param #TASK self +-- @param #string ProcessName +-- @return Core.Fsm#FSM_PROCESS +function TASK:GetProcessTemplate( ProcessName ) + + local ProcessTemplate = self.ProcessClasses[ProcessName] + + return ProcessTemplate +end + + + +-- TODO: Obscolete? +--- Fail processes from @{Task} with key @{Unit} +-- @param #TASK self +-- @param #string TaskUnitName +-- @return #TASK self +function TASK:FailProcesses( TaskUnitName ) + + for ProcessID, ProcessData in pairs( self.Processes[TaskUnitName] ) do + local Process = ProcessData + Process.Fsm:Fail() + end +end + +--- Add a FiniteStateMachine to @{Task} with key Task@{Unit} +-- @param #TASK self +-- @param Wrapper.Unit#UNIT TaskUnit +-- @param Core.Fsm#FSM_PROCESS Fsm +-- @return #TASK self +function TASK:SetStateMachine( TaskUnit, Fsm ) + self:F2( { TaskUnit, self.Fsm[TaskUnit] ~= nil, Fsm:GetClassNameAndID() } ) + + self.Fsm[TaskUnit] = Fsm + + return Fsm +end + +--- Gets the FiniteStateMachine of @{Task} with key Task@{Unit} +-- @param #TASK self +-- @param Wrapper.Unit#UNIT TaskUnit +-- @return Core.Fsm#FSM_PROCESS +function TASK:GetStateMachine( TaskUnit ) + self:F2( { TaskUnit, self.Fsm[TaskUnit] ~= nil } ) + + return self.Fsm[TaskUnit] +end + +--- Remove FiniteStateMachines from @{Task} with key Task@{Unit} +-- @param #TASK self +-- @param Wrapper.Unit#UNIT TaskUnit +-- @return #TASK self +function TASK:RemoveStateMachine( TaskUnit ) + self:F( { TaskUnit, self.Fsm[TaskUnit] ~= nil } ) + + self:E( self.Fsm ) + for TaskUnitT, Fsm in pairs( self.Fsm ) do + self:E( TaskUnitT ) + end + + self.Fsm[TaskUnit] = nil + + collectgarbage() + self:E( "Garbage Collected, Processes should be finalized now ...") +end + +--- Checks if there is a FiniteStateMachine assigned to Task@{Unit} for @{Task} +-- @param #TASK self +-- @param Wrapper.Unit#UNIT TaskUnit +-- @return #TASK self +function TASK:HasStateMachine( TaskUnit ) + self:F( { TaskUnit, self.Fsm[TaskUnit] ~= nil } ) + + return ( self.Fsm[TaskUnit] ~= nil ) +end + + +--- Gets the Scoring of the task +-- @param #TASK self +-- @return Functional.Scoring#SCORING Scoring +function TASK:GetScoring() + return self.Mission:GetScoring() +end + + +--- Gets the Task Index, which is a combination of the Task type, the Task name. +-- @param #TASK self +-- @return #string The Task ID +function TASK:GetTaskIndex() + + local TaskType = self:GetType() + local TaskName = self:GetName() + + return TaskType .. "." .. TaskName +end + +--- Sets the Name of the Task +-- @param #TASK self +-- @param #string TaskName +function TASK:SetName( TaskName ) + self.TaskName = TaskName +end + +--- Gets the Name of the Task +-- @param #TASK self +-- @return #string The Task Name +function TASK:GetName() + return self.TaskName +end + +--- Sets the Type of the Task +-- @param #TASK self +-- @param #string TaskType +function TASK:SetType( TaskType ) + self.TaskType = TaskType +end + +--- Gets the Type of the Task +-- @param #TASK self +-- @return #string TaskType +function TASK:GetType() + return self.TaskType +end + +--- Sets the ID of the Task +-- @param #TASK self +-- @param #string TaskID +function TASK:SetID( TaskID ) + self.TaskID = TaskID +end + +--- Gets the ID of the Task +-- @param #TASK self +-- @return #string TaskID +function TASK:GetID() + return self.TaskID +end + + +--- Sets a @{Task} to status **Success**. +-- @param #TASK self +function TASK:StateSuccess() + self:SetState( self, "State", "Success" ) + return self +end + +--- Is the @{Task} status **Success**. +-- @param #TASK self +function TASK:IsStateSuccess() + return self:Is( "Success" ) +end + +--- Sets a @{Task} to status **Failed**. +-- @param #TASK self +function TASK:StateFailed() + self:SetState( self, "State", "Failed" ) + return self +end + +--- Is the @{Task} status **Failed**. +-- @param #TASK self +function TASK:IsStateFailed() + return self:Is( "Failed" ) +end + +--- Sets a @{Task} to status **Planned**. +-- @param #TASK self +function TASK:StatePlanned() + self:SetState( self, "State", "Planned" ) + return self +end + +--- Is the @{Task} status **Planned**. +-- @param #TASK self +function TASK:IsStatePlanned() + return self:Is( "Planned" ) +end + +--- Sets a @{Task} to status **Aborted**. +-- @param #TASK self +function TASK:StateAborted() + self:SetState( self, "State", "Aborted" ) + return self +end + +--- Is the @{Task} status **Aborted**. +-- @param #TASK self +function TASK:IsStateAborted() + return self:Is( "Aborted" ) +end + +--- Sets a @{Task} to status **Cancelled**. +-- @param #TASK self +function TASK:StateCancelled() + self:SetState( self, "State", "Cancelled" ) + return self +end + +--- Is the @{Task} status **Cancelled**. +-- @param #TASK self +function TASK:IsStateCancelled() + return self:Is( "Cancelled" ) +end + +--- Sets a @{Task} to status **Assigned**. +-- @param #TASK self +function TASK:StateAssigned() + self:SetState( self, "State", "Assigned" ) + return self +end + +--- Is the @{Task} status **Assigned**. +-- @param #TASK self +function TASK:IsStateAssigned() + return self:Is( "Assigned" ) +end + +--- Sets a @{Task} to status **Hold**. +-- @param #TASK self +function TASK:StateHold() + self:SetState( self, "State", "Hold" ) + return self +end + +--- Is the @{Task} status **Hold**. +-- @param #TASK self +function TASK:IsStateHold() + return self:Is( "Hold" ) +end + +--- Sets a @{Task} to status **Replanned**. +-- @param #TASK self +function TASK:StateReplanned() + self:SetState( self, "State", "Replanned" ) + return self +end + +--- Is the @{Task} status **Replanned**. +-- @param #TASK self +function TASK:IsStateReplanned() + return self:Is( "Replanned" ) +end + +--- Gets the @{Task} status. +-- @param #TASK self +function TASK:GetStateString() + return self:GetState( self, "State" ) +end + +--- Sets a @{Task} briefing. +-- @param #TASK self +-- @param #string TaskBriefing +-- @return #TASK self +function TASK:SetBriefing( TaskBriefing ) + self.TaskBriefing = TaskBriefing + return self +end + + + + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string Event +-- @param #string From +-- @param #string To +function TASK:onenterAssigned( From, Event, To, PlayerUnit, PlayerName ) + + self:E( { "Task Assigned", self.Dispatcher } ) + + self:MessageToGroups( "Task " .. self:GetName() .. " has been assigned to your group." ) + + if self.Dispatcher then + self:E( "Firing Assign event " ) + self.Dispatcher:Assign( self, PlayerUnit, PlayerName ) + end + + self:GetMission():__Start( 1 ) +end + + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string Event +-- @param #string From +-- @param #string To +function TASK:onenterSuccess( From, Event, To ) + + self:E( "Task Success" ) + + self:GetMission():GetCommandCenter():MessageToCoalition( "Task " .. self:GetName() .. " is successful! Good job!" ) + self:UnAssignFromGroups() + + self:GetMission():__Complete( 1 ) + +end + + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string From +-- @param #string Event +-- @param #string To +function TASK:onenterAborted( From, Event, To ) + + self:E( "Task Aborted" ) + + self:GetMission():GetCommandCenter():MessageToCoalition( "Task " .. self:GetName() .. " has been aborted! Task may be replanned." ) + + self:UnAssignFromGroups() + + self:__Replan( 5 ) +end + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string From +-- @param #string Event +-- @param #string To +function TASK:onafterReplan( From, Event, To ) + + self:E( "Task Replanned" ) + + self:GetMission():GetCommandCenter():MessageToCoalition( "Replanning Task " .. self:GetName() .. "." ) + + self:SetMenu() + +end + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string From +-- @param #string Event +-- @param #string To +function TASK:onenterFailed( From, Event, To ) + + self:E( "Task Failed" ) + + self:GetMission():GetCommandCenter():MessageToCoalition( "Task " .. self:GetName() .. " has failed!" ) + + self:UnAssignFromGroups() +end + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string Event +-- @param #string From +-- @param #string To +function TASK:onstatechange( From, Event, To ) + + if self:IsTrace() then + MESSAGE:New( "@ Task " .. self.TaskName .. " : " .. Event .. " changed to state " .. To, 2 ):ToAll() + end + + if self.Scores[To] then + local Scoring = self:GetScoring() + if Scoring then + self:E( { self.Scores[To].ScoreText, self.Scores[To].Score } ) + Scoring:_AddMissionScore( self.Mission, self.Scores[To].ScoreText, self.Scores[To].Score ) + end + end + +end + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string Event +-- @param #string From +-- @param #string To +function TASK:onenterPlanned( From, Event, To) + if not self.TimeOut == 0 then + self.__TimeOut( self.TimeOut ) + end +end + +--- FSM function for a TASK +-- @param #TASK self +-- @param #string Event +-- @param #string From +-- @param #string To +function TASK:onbeforeTimeOut( From, Event, To ) + if From == "Planned" then + self:RemoveMenu() + return true + end + return false +end + +do -- Dispatcher + + --- Set dispatcher of a task + -- @param #TASK self + -- @param Tasking.DetectionManager#DETECTION_MANAGER Dispatcher + -- @return #TASK + function TASK:SetDispatcher( Dispatcher ) + self.Dispatcher = Dispatcher + end + +end + +do -- Reporting + +--- Create a summary report of the Task. +-- List the Task Name and Status +-- @param #TASK self +-- @return #string +function TASK:ReportSummary() + + local Report = REPORT:New() + + -- List the name of the Task. + local Name = self:GetName() + + -- Determine the status of the Task. + local State = self:GetState() + + Report:Add( "Task " .. Name .. " - State '" .. State ) + + return Report:Text() +end + + +--- Create a detailed report of the Task. +-- List the Task Status, and the Players assigned to the Task. +-- @param #TASK self +-- @return #string +function TASK:ReportDetails() + + local Report = REPORT:New() + + -- List the name of the Task. + local Name = self:GetName() + + -- Determine the status of the Task. + local State = self:GetState() + + -- Loop each Unit active in the Task, and find Player Names. + local PlayerNames = {} + local PlayerReport = REPORT:New( " - Players:" ) + for PlayerGroupID, PlayerGroupData in pairs( self:GetGroups():GetSet() ) do + local PlayerGroup = PlayerGroupData -- Wrapper.Group#GROUP + PlayerNames = PlayerGroup:GetPlayerNames() + if PlayerNames then + PlayerReport:Add( " -- Group " .. PlayerGroup:GetCallsign() .. ": " .. table.concat( PlayerNames, ", " ) ) + end + end + + -- Loop each Process in the Task, and find Reporting Details. + Report:Add( string.format( " - Task %s\n -- State '%s'\n%s", Name, State, PlayerReport:Text() ) ) + return Report:Text() +end + + +end -- Reporting +--- This module contains the DETECTION_MANAGER class and derived classes. +-- +-- === +-- +-- 1) @{DetectionManager#DETECTION_MANAGER} class, extends @{Fsm#FSM} +-- ==================================================================== +-- The @{DetectionManager#DETECTION_MANAGER} class defines the core functions to report detected objects to groups. +-- Reportings can be done in several manners, and it is up to the derived classes if DETECTION_MANAGER to model the reporting behaviour. +-- +-- 1.1) DETECTION_MANAGER constructor: +-- ----------------------------------- +-- * @{DetectionManager#DETECTION_MANAGER.New}(): Create a new DETECTION_MANAGER instance. +-- +-- 1.2) DETECTION_MANAGER reporting: +-- --------------------------------- +-- Derived DETECTION_MANAGER classes will reports detected units using the method @{DetectionManager#DETECTION_MANAGER.ReportDetected}(). This method implements polymorphic behaviour. +-- +-- The time interval in seconds of the reporting can be changed using the methods @{DetectionManager#DETECTION_MANAGER.SetReportInterval}(). +-- To control how long a reporting message is displayed, use @{DetectionManager#DETECTION_MANAGER.SetReportDisplayTime}(). +-- Derived classes need to implement the method @{DetectionManager#DETECTION_MANAGER.GetReportDisplayTime}() to use the correct display time for displayed messages during a report. +-- +-- Reporting can be started and stopped using the methods @{DetectionManager#DETECTION_MANAGER.StartReporting}() and @{DetectionManager#DETECTION_MANAGER.StopReporting}() respectively. +-- If an ad-hoc report is requested, use the method @{DetectionManager#DETECTION_MANAGER#ReportNow}(). +-- +-- The default reporting interval is every 60 seconds. The reporting messages are displayed 15 seconds. +-- +-- === +-- +-- 2) @{DetectionManager#DETECTION_REPORTING} class, extends @{DetectionManager#DETECTION_MANAGER} +-- ========================================================================================= +-- The @{DetectionManager#DETECTION_REPORTING} class implements detected units reporting. Reporting can be controlled using the reporting methods available in the @{DetectionManager#DETECTION_MANAGER} class. +-- +-- 2.1) DETECTION_REPORTING constructor: +-- ------------------------------- +-- The @{DetectionManager#DETECTION_REPORTING.New}() method creates a new DETECTION_REPORTING instance. +-- +-- +-- === +-- +-- ### Contributions: Mechanist, Prof_Hilactic, FlightControl - Concept & Testing +-- ### Author: FlightControl - Framework Design & Programming +-- +-- @module DetectionManager + +do -- DETECTION MANAGER + + --- DETECTION_MANAGER class. + -- @type DETECTION_MANAGER + -- @field Set#SET_GROUP SetGroup The groups to which the FAC will report to. + -- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects. + -- @extends Core.Fsm#FSM + DETECTION_MANAGER = { + ClassName = "DETECTION_MANAGER", + SetGroup = nil, + Detection = nil, + } + + --- FAC constructor. + -- @param #DETECTION_MANAGER self + -- @param Set#SET_GROUP SetGroup + -- @param Functional.Detection#DETECTION_BASE Detection + -- @return #DETECTION_MANAGER self + function DETECTION_MANAGER:New( SetGroup, Detection ) + + -- Inherits from BASE + local self = BASE:Inherit( self, FSM:New() ) -- #DETECTION_MANAGER + + self.SetGroup = SetGroup + self.Detection = Detection + + self:SetStartState( "Stopped" ) + self:AddTransition( "Stopped", "Start", "Started" ) + self:AddTransition( "Started", "Stop", "Stopped" ) + self:AddTransition( "Started", "Report", "Started" ) + + self:SetReportInterval( 30 ) + self:SetReportDisplayTime( 25 ) + + Detection:__Start( 1 ) + + return self + end + + function DETECTION_MANAGER:onafterStart( From, Event, To ) + self:Report() + end + + function DETECTION_MANAGER:onafterReport( From, Event, To ) + + self:E( "onafterReport" ) + + self:__Report( -self._ReportInterval ) + + self:ProcessDetected( self.Detection ) + end + + --- Set the reporting time interval. + -- @param #DETECTION_MANAGER self + -- @param #number ReportInterval The interval in seconds when a report needs to be done. + -- @return #DETECTION_MANAGER self + function DETECTION_MANAGER:SetReportInterval( ReportInterval ) + self:F2() + + self._ReportInterval = ReportInterval + end + + + --- Set the reporting message display time. + -- @param #DETECTION_MANAGER self + -- @param #number ReportDisplayTime The display time in seconds when a report needs to be done. + -- @return #DETECTION_MANAGER self + function DETECTION_MANAGER:SetReportDisplayTime( ReportDisplayTime ) + self:F2() + + self._ReportDisplayTime = ReportDisplayTime + end + + --- Get the reporting message display time. + -- @param #DETECTION_MANAGER self + -- @return #number ReportDisplayTime The display time in seconds when a report needs to be done. + function DETECTION_MANAGER:GetReportDisplayTime() + self:F2() + + return self._ReportDisplayTime + end + + --- Reports the detected items to the @{Set#SET_GROUP}. + -- @param #DETECTION_MANAGER self + -- @param Functional.Detection#DETECTION_BASE Detection + -- @return #DETECTION_MANAGER self + function DETECTION_MANAGER:ProcessDetected( Detection ) + self:E() + + end + +end + + +do -- DETECTION_REPORTING + + --- DETECTION_REPORTING class. + -- @type DETECTION_REPORTING + -- @field Set#SET_GROUP SetGroup The groups to which the FAC will report to. + -- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects. + -- @extends #DETECTION_MANAGER + DETECTION_REPORTING = { + ClassName = "DETECTION_REPORTING", + } + + + --- DETECTION_REPORTING constructor. + -- @param #DETECTION_REPORTING self + -- @param Set#SET_GROUP SetGroup + -- @param Functional.Detection#DETECTION_AREAS Detection + -- @return #DETECTION_REPORTING self + function DETECTION_REPORTING:New( SetGroup, Detection ) + + -- Inherits from DETECTION_MANAGER + local self = BASE:Inherit( self, DETECTION_MANAGER:New( SetGroup, Detection ) ) -- #DETECTION_REPORTING + + self:Schedule( 1, 30 ) + return self + end + + --- Creates a string of the detected items in a @{Detection}. + -- @param #DETECTION_MANAGER self + -- @param Set#SET_UNIT DetectedSet The detected Set created by the @{Detection#DETECTION_BASE} object. + -- @return #DETECTION_MANAGER self + function DETECTION_REPORTING:GetDetectedItemsText( DetectedSet ) + self:F2() + + local MT = {} -- Message Text + local UnitTypes = {} + + for DetectedUnitID, DetectedUnitData in pairs( DetectedSet:GetSet() ) do + local DetectedUnit = DetectedUnitData -- Wrapper.Unit#UNIT + if DetectedUnit:IsAlive() then + local UnitType = DetectedUnit:GetTypeName() + + if not UnitTypes[UnitType] then + UnitTypes[UnitType] = 1 + else + UnitTypes[UnitType] = UnitTypes[UnitType] + 1 + end + end + end + + for UnitTypeID, UnitType in pairs( UnitTypes ) do + MT[#MT+1] = UnitType .. " of " .. UnitTypeID + end + + return table.concat( MT, ", " ) + end + + + + --- Reports the detected items to the @{Set#SET_GROUP}. + -- @param #DETECTION_REPORTING self + -- @param Wrapper.Group#GROUP Group The @{Group} object to where the report needs to go. + -- @param Functional.Detection#DETECTION_AREAS Detection The detection created by the @{Detection#DETECTION_BASE} object. + -- @return #boolean Return true if you want the reporting to continue... false will cancel the reporting loop. + function DETECTION_REPORTING:ProcessDetected( Group, Detection ) + self:F2( Group ) + + self:E( Group ) + local DetectedMsg = {} + for DetectedAreaID, DetectedAreaData in pairs( Detection:GetDetectedAreas() ) do + local DetectedArea = DetectedAreaData -- Functional.Detection#DETECTION_AREAS.DetectedArea + DetectedMsg[#DetectedMsg+1] = " - Group #" .. DetectedAreaID .. ": " .. self:GetDetectedItemsText( DetectedArea.Set ) + end + local FACGroup = Detection:GetDetectionGroups() + FACGroup:MessageToGroup( "Reporting detected target groups:\n" .. table.concat( DetectedMsg, "\n" ), self:GetReportDisplayTime(), Group ) + + return true + end + +end + +--- **Tasking** - The TASK_A2G_DISPATCHER creates and manages player TASK_A2G tasks based on detected targets. +-- +-- === +-- +-- # 1) @{#TASK_A2G_DISPATCHER} class, extends @{#DETECTION_MANAGER} +-- +-- The @{#TASK_A2G_DISPATCHER} class implements the dynamic dispatching of tasks upon groups of detected units determined a @{Set} of FAC (groups). +-- The FAC will detect units, will group them, and will dispatch @{Task}s to groups. Depending on the type of target detected, different tasks will be dispatched. +-- Find a summary below describing for which situation a task type is created: +-- +-- * **CAS Task**: Is created when there are enemy ground units within range of the FAC, while there are friendly units in the FAC perimeter. +-- * **BAI Task**: Is created when there are enemy ground units within range of the FAC, while there are NO other friendly units within the FAC perimeter. +-- * **SEAD Task**: Is created when there are enemy ground units wihtin range of the FAC, with air search radars. +-- +-- Other task types will follow... +-- +-- 3.1) TASK_A2G_DISPATCHER constructor: +-- -------------------------------------- +-- The @{#TASK_A2G_DISPATCHER.New}() method creates a new TASK_A2G_DISPATCHER instance. +-- +-- === +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-03-09: Initial class and API. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- ### Authors: +-- +-- * **FlightControl**: Concept, Design & Programming. +-- +-- @module Task_A2G_Dispatcher + +do -- TASK_A2G_DISPATCHER + + --- TASK_A2G_DISPATCHER class. + -- @type TASK_A2G_DISPATCHER + -- @field Set#SET_GROUP SetGroup The groups to which the FAC will report to. + -- @field Functional.Detection#DETECTION_BASE Detection The DETECTION_BASE object that is used to report the detected objects. + -- @field Tasking.Mission#MISSION Mission + -- @extends Tasking.DetectionManager#DETECTION_MANAGER + TASK_A2G_DISPATCHER = { + ClassName = "TASK_A2G_DISPATCHER", + Mission = nil, + Detection = nil, + } + + + --- TASK_A2G_DISPATCHER constructor. + -- @param #TASK_A2G_DISPATCHER self + -- @param Tasking.Mission#MISSION Mission The mission for which the task dispatching is done. + -- @param Set#SET_GROUP SetGroup The set of groups that can join the tasks within the mission. + -- @param Functional.Detection#DETECTION_BASE Detection The detection results that are used to dynamically assign new tasks to human players. + -- @return #TASK_A2G_DISPATCHER self + function TASK_A2G_DISPATCHER:New( Mission, SetGroup, Detection ) + + -- Inherits from DETECTION_MANAGER + local self = BASE:Inherit( self, DETECTION_MANAGER:New( SetGroup, Detection ) ) -- #TASK_A2G_DISPATCHER + + self.Detection = Detection + self.Mission = Mission + + self:AddTransition( "Started", "Assign", "Started" ) + + --- OnAfter Transition Handler for Event Assign. + -- @function [parent=#TASK_A2G_DISPATCHER] OnAfterAssign + -- @param #TASK_A2G_DISPATCHER self + -- @param #string From The From State string. + -- @param #string Event The Event string. + -- @param #string To The To State string. + -- @param Tasking.Task_A2G#TASK_A2G Task + -- @param Wrapper.Unit#UNIT TaskUnit + -- @param #string PlayerName + + self:__Start( 5 ) + + return self + end + + + --- Creates a SEAD task when there are targets for it. + -- @param #TASK_A2G_DISPATCHER self + -- @param Functional.Detection#DETECTION_AREAS.DetectedItem DetectedItem + -- @return Set#SET_UNIT TargetSetUnit: The target set of units. + -- @return #nil If there are no targets to be set. + function TASK_A2G_DISPATCHER:EvaluateSEAD( DetectedItem ) + self:F( { DetectedItem.ItemID } ) + + local DetectedSet = DetectedItem.Set + local DetectedZone = DetectedItem.Zone + + -- Determine if the set has radar targets. If it does, construct a SEAD task. + local RadarCount = DetectedSet:HasSEAD() + + if RadarCount > 0 then + + -- Here we're doing something advanced... We're copying the DetectedSet, but making a new Set only with SEADable Radar units in it. + local TargetSetUnit = SET_UNIT:New() + TargetSetUnit:SetDatabase( DetectedSet ) + TargetSetUnit:FilterHasSEAD() + TargetSetUnit:FilterOnce() -- Filter but don't do any events!!! Elements are added manually upon each detection. + + return TargetSetUnit + end + + return nil + end + + --- Creates a CAS task when there are targets for it. + -- @param #TASK_A2G_DISPATCHER self + -- @param Functional.Detection#DETECTION_AREAS.DetectedItem DetectedItem + -- @return Tasking.Task#TASK + function TASK_A2G_DISPATCHER:EvaluateCAS( DetectedItem ) + self:F( { DetectedItem.ItemID } ) + + local DetectedSet = DetectedItem.Set + local DetectedZone = DetectedItem.Zone + + + -- Determine if the set has radar targets. If it does, construct a SEAD task. + local GroundUnitCount = DetectedSet:HasGroundUnits() + local FriendliesNearBy = self.Detection:IsFriendliesNearBy( DetectedItem ) + + if GroundUnitCount > 0 and FriendliesNearBy == true then + + -- Copy the Set + local TargetSetUnit = SET_UNIT:New() + TargetSetUnit:SetDatabase( DetectedSet ) + TargetSetUnit:FilterOnce() -- Filter but don't do any events!!! Elements are added manually upon each detection. + + return TargetSetUnit + end + + return nil + end + + --- Creates a BAI task when there are targets for it. + -- @param #TASK_A2G_DISPATCHER self + -- @param Functional.Detection#DETECTION_AREAS.DetectedItem DetectedItem + -- @return Tasking.Task#TASK + function TASK_A2G_DISPATCHER:EvaluateBAI( DetectedItem, FriendlyCoalition ) + self:F( { DetectedItem.ItemID } ) + + local DetectedSet = DetectedItem.Set + local DetectedZone = DetectedItem.Zone + + + -- Determine if the set has radar targets. If it does, construct a SEAD task. + local GroundUnitCount = DetectedSet:HasGroundUnits() + local FriendliesNearBy = self.Detection:IsFriendliesNearBy( DetectedItem ) + + if GroundUnitCount > 0 and FriendliesNearBy == false then + + -- Copy the Set + local TargetSetUnit = SET_UNIT:New() + TargetSetUnit:SetDatabase( DetectedSet ) + TargetSetUnit:FilterOnce() -- Filter but don't do any events!!! Elements are added manually upon each detection. + + return TargetSetUnit + end + + return nil + end + + --- Evaluates the removal of the Task from the Mission. + -- Can only occur when the DetectedItem is Changed AND the state of the Task is "Planned". + -- @param #TASK_A2G_DISPATCHER self + -- @param Tasking.Mission#MISSION Mission + -- @param Tasking.Task#TASK Task + -- @param Functional.Detection#DETECTION_AREAS.DetectedItem DetectedItem + -- @return Tasking.Task#TASK + function TASK_A2G_DISPATCHER:EvaluateRemoveTask( Mission, Task, DetectedItem ) + + if Task then + if Task:IsStatePlanned() and DetectedItem.Changed == true then + self:E( "Removing Tasking: " .. Task:GetTaskName() ) + Task = Mission:RemoveTask( Task ) + end + end + + return Task + end + + + --- Assigns tasks in relation to the detected items to the @{Set#SET_GROUP}. + -- @param #TASK_A2G_DISPATCHER self + -- @param Functional.Detection#DETECTION_BASE Detection The detection created by the @{Detection#DETECTION_BASE} derived object. + -- @return #boolean Return true if you want the task assigning to continue... false will cancel the loop. + function TASK_A2G_DISPATCHER:ProcessDetected( Detection ) + self:E() + + local AreaMsg = {} + local TaskMsg = {} + local ChangeMsg = {} + + local Mission = self.Mission + local ReportSEAD = REPORT:New( "- SEAD Tasks:") + local ReportCAS = REPORT:New( "- CAS Tasks:") + local ReportBAI = REPORT:New( "- BAI Tasks:") + local ReportChanges = REPORT:New( " - Changes:" ) + + --- First we need to the detected targets. + for DetectedItemID, DetectedItem in pairs( Detection:GetDetectedItems() ) do + + local DetectedItem = DetectedItem -- Functional.Detection#DETECTION_BASE.DetectedItem + local DetectedSet = DetectedItem.Set -- Functional.Detection#DETECTION_BASE.DetectedSet + local DetectedZone = DetectedItem.Zone + self:E( { "Targets in DetectedItem", DetectedItem.ItemID, DetectedSet:Count(), tostring( DetectedItem ) } ) + DetectedSet:Flush() + + local ItemID = DetectedItem.ItemID + + -- Evaluate SEAD Tasking + local SEADTask = Mission:GetTask( string.format( "SEAD.%03d", ItemID ) ) + SEADTask = self:EvaluateRemoveTask( Mission, SEADTask, DetectedItem ) + if not SEADTask then + local TargetSetUnit = self:EvaluateSEAD( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed... + if TargetSetUnit then + local Task = TASK_SEAD:New( Mission, self.SetGroup, string.format( "SEAD.%03d", ItemID ), TargetSetUnit ) + Task:SetTargetZone( DetectedZone ) + Task:SetDispatcher( self ) + SEADTask = Mission:AddTask( Task ) + end + end + if SEADTask and SEADTask:IsStatePlanned() then + ReportSEAD:Add( string.format( " - %s.%02d - %s", "SEAD", ItemID, Detection:DetectedItemReportSummary(DetectedItemID) ) ) + end + + -- Evaluate CAS Tasking + local CASTask = Mission:GetTask( string.format( "CAS.%03d", ItemID ) ) + CASTask = self:EvaluateRemoveTask( Mission, CASTask, DetectedItem ) + if not CASTask then + local TargetSetUnit = self:EvaluateCAS( DetectedItem ) -- Returns a SetUnit if there are targets to be SEADed... + if TargetSetUnit then + local Task = TASK_CAS:New( Mission, self.SetGroup, string.format( "CAS.%03d", ItemID ), TargetSetUnit ) + Task:SetTargetZone( DetectedZone ) + Task:SetDispatcher( self ) + CASTask = Mission:AddTask( Task ) + end + end + if CASTask and CASTask:IsStatePlanned() then + ReportCAS:Add( string.format( " - %s.%02d - %s", "CAS", ItemID, Detection:DetectedItemReportSummary(DetectedItemID) ) ) + end + + -- Evaluate BAI Tasking + local BAITask = Mission:GetTask( string.format( "BAI.%03d", ItemID ) ) + BAITask = self:EvaluateRemoveTask( Mission, BAITask, DetectedItem ) + if not BAITask then + local TargetSetUnit = self:EvaluateBAI( DetectedItem, self.Mission:GetCommandCenter():GetPositionable():GetCoalition() ) -- Returns a SetUnit if there are targets to be SEADed... + if TargetSetUnit then + local Task = TASK_BAI:New( Mission, self.SetGroup, string.format( "BAI.%03d", ItemID ), TargetSetUnit ) + Task:SetTargetZone( DetectedZone ) + Task:SetDispatcher( self ) + BAITask = Mission:AddTask( Task ) + end + end + if BAITask and BAITask:IsStatePlanned() then + ReportBAI:Add( string.format( " - %s.%02d - %s", "BAI", ItemID, Detection:DetectedItemReportSummary(DetectedItemID) ) ) + end + + + -- Loop through the changes ... + local ChangeText = Detection:GetChangeText( DetectedItem ) + ReportChanges:Add( ChangeText ) + + + -- OK, so the tasking has been done, now delete the changes reported for the area. + Detection:AcceptChanges( DetectedItem ) + + end + + -- TODO set menus using the HQ coordinator + Mission:GetCommandCenter():SetMenu() + + for TaskGroupID, TaskGroup in pairs( self.SetGroup:GetSet() ) do + if not TaskGroup:GetState( TaskGroup, "Assigned" ) then + Mission:GetCommandCenter():MessageToGroup( + string.format( "HQ Reporting - Planned tasks for mission '%s':\n%s\n", + self.Mission:GetName(), + string.format( "%s\n\n%s\n\n%s\n\n%s", ReportSEAD:Text(), ReportCAS:Text(), ReportBAI:Text(), ReportChanges:Text() + ) + ), TaskGroup + ) + end + end + + return true + end + +end--- **Tasking** - The TASK_A2G models tasks for players in Air to Ground engagements. +-- +-- ![Banner Image](..\Presentations\TASK_A2G\Dia1.JPG) +-- +-- +-- # 1) @{Task_A2G#TASK_A2G} class, extends @{Task#TASK} +-- +-- The @{#TASK_A2G} class defines Air To Ground tasks for a @{Set} of Target Units, +-- based on the tasking capabilities defined in @{Task#TASK}. +-- The TASK_A2G is implemented using a @{Statemachine#FSM_TASK}, and has the following statuses: +-- +-- * **None**: Start of the process +-- * **Planned**: The A2G task is planned. +-- * **Assigned**: The A2G task is assigned to a @{Group#GROUP}. +-- * **Success**: The A2G task is successfully completed. +-- * **Failed**: The A2G task has failed. This will happen if the player exists the task early, without communicating a possible cancellation to HQ. +-- +-- # 1.1) Set the scoring of achievements in an A2G attack. +-- +-- Scoring or penalties can be given in the following circumstances: +-- +-- * @{#TASK_A2G.SetScoreOnDestroy}(): Set a score when a target in scope of the A2G attack, has been destroyed. +-- * @{#TASK_A2G.SetScoreOnSuccess}(): Set a score when all the targets in scope of the A2G attack, have been destroyed. +-- * @{#TASK_A2G.SetPenaltyOnFailed}(): Set a penalty when the A2G attack has failed. +-- +-- # 2) @{Task_A2G#TASK_SEAD} class, extends @{Task_A2G#TASK_A2G} +-- +-- The @{#TASK_SEAD} class defines a SEAD task for a @{Set} of Target Units. +-- +-- === +-- +-- # 3) @{Task_A2G#TASK_CAS} class, extends @{Task_A2G#TASK_A2G} +-- +-- The @{#TASK_CAS} class defines a CAS task for a @{Set} of Target Units. +-- +-- === +-- +-- # 4) @{Task_A2G#TASK_BAI} class, extends @{Task_A2G#TASK_A2G} +-- +-- The @{#TASK_BAI} class defines a BAI task for a @{Set} of Target Units. +-- +-- ==== +-- +-- # **API CHANGE HISTORY** +-- +-- The underlying change log documents the API changes. Please read this carefully. The following notation is used: +-- +-- * **Added** parts are expressed in bold type face. +-- * _Removed_ parts are expressed in italic type face. +-- +-- Hereby the change log: +-- +-- 2017-03-09: Revised version. +-- +-- === +-- +-- # **AUTHORS and CONTRIBUTIONS** +-- +-- ### Contributions: +-- +-- * **[WingThor]**: Concept, Advice & Testing. +-- +-- ### Authors: +-- +-- * **FlightControl**: Concept, Design & Programming. +-- +-- @module Task_A2G + +do -- TASK_A2G + + --- The TASK_A2G class + -- @type TASK_A2G + -- @field Set#SET_UNIT TargetSetUnit + -- @extends Tasking.Task#TASK + TASK_A2G = { + ClassName = "TASK_A2G", + } + + --- Instantiates a new TASK_A2G. + -- @param #TASK_A2G self + -- @param Tasking.Mission#MISSION Mission + -- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. + -- @param #string TaskName The name of the Task. + -- @param Set#SET_UNIT UnitSetTargets + -- @param #number TargetDistance The distance to Target when the Player is considered to have "arrived" at the engagement range. + -- @param Core.Zone#ZONE_BASE TargetZone The target zone, if known. + -- If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be. + -- @return #TASK_A2G self + function TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, TaskType ) + local self = BASE:Inherit( self, TASK:New( Mission, SetGroup, TaskName, TaskType ) ) -- Tasking.Task#TASK_A2G + self:F() + + self.TargetSetUnit = TargetSetUnit + self.TaskType = TaskType + + Mission:AddTask( self ) + + local Fsm = self:GetUnitProcess() + + + Fsm:AddProcess ( "Planned", "Accept", ACT_ASSIGN_ACCEPT:New( self.TaskBriefing ), { Assigned = "RouteToRendezVous", Rejected = "Reject" } ) + + Fsm:AddTransition( "Assigned", "RouteToRendezVous", "RoutingToRendezVous" ) + Fsm:AddProcess ( "RoutingToRendezVous", "RouteToRendezVousPoint", ACT_ROUTE_POINT:New(), { Arrived = "ArriveAtRendezVous" } ) + Fsm:AddProcess ( "RoutingToRendezVous", "RouteToRendezVousZone", ACT_ROUTE_ZONE:New(), { Arrived = "ArriveAtRendezVous" } ) + + Fsm:AddTransition( { "Arrived", "RoutingToRendezVous" }, "ArriveAtRendezVous", "ArrivedAtRendezVous" ) + + Fsm:AddTransition( { "ArrivedAtRendezVous", "HoldingAtRendezVous" }, "Engage", "Engaging" ) + Fsm:AddTransition( { "ArrivedAtRendezVous", "HoldingAtRendezVous" }, "HoldAtRendezVous", "HoldingAtRendezVous" ) + + Fsm:AddProcess ( "Engaging", "Account", ACT_ACCOUNT_DEADS:New( self.TargetSetUnit, self.TaskType ), { Accounted = "Success" } ) + Fsm:AddTransition( "Engaging", "RouteToTarget", "Engaging" ) + Fsm:AddProcess( "Engaging", "RouteToTargetZone", ACT_ROUTE_ZONE:New(), {} ) + Fsm:AddProcess( "Engaging", "RouteToTargetPoint", ACT_ROUTE_POINT:New(), {} ) + Fsm:AddTransition( "Engaging", "RouteToTargets", "Engaging" ) + + Fsm:AddTransition( "Accounted", "DestroyedAll", "Accounted" ) + Fsm:AddTransition( "Accounted", "Success", "Success" ) + Fsm:AddTransition( "Rejected", "Reject", "Aborted" ) + Fsm:AddTransition( "Failed", "Fail", "Failed" ) + + + --- Test + -- @param #FSM_PROCESS self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @param Tasking.Task_A2G#TASK_A2G Task + function Fsm:onafterRouteToRendezVous( TaskUnit, Task ) + self:E( { TaskUnit = TaskUnit, Task = Task and Task:GetClassNameAndID() } ) + -- Determine the first Unit from the self.RendezVousSetUnit + + if Task:GetRendezVousZone( TaskUnit ) then + self:__RouteToRendezVousZone( 0.1 ) + else + if Task:GetRendezVousPointVec2( TaskUnit ) then + self:__RouteToRendezVousPoint( 0.1 ) + else + self:__ArriveAtRendezVous( 0.1 ) + end + end + end + + --- Test + -- @param #FSM_PROCESS self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @param Tasking.Task#TASK_A2G Task + function Fsm:OnAfterArriveAtRendezVous( TaskUnit, Task ) + self:E( { TaskUnit = TaskUnit, Task = Task and Task:GetClassNameAndID() } ) + -- Determine the first Unit from the self.TargetSetUnit + + self:__Engage( 0.1 ) + end + + --- Test + -- @param #FSM_PROCESS self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @param Tasking.Task#TASK_A2G Task + function Fsm:onafterEngage( TaskUnit, Task ) + self:E( { self } ) + self:__Account( 0.1 ) + self:__RouteToTarget(0.1 ) + self:__RouteToTargets( -10 ) + end + + --- Test + -- @param #FSM_PROCESS self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @param Tasking.Task_A2G#TASK_A2G Task + function Fsm:onafterRouteToTarget( TaskUnit, Task ) + self:E( { TaskUnit = TaskUnit, Task = Task and Task:GetClassNameAndID() } ) + -- Determine the first Unit from the self.TargetSetUnit + + if Task:GetTargetZone( TaskUnit ) then + self:__RouteToTargetZone( 0.1 ) + else + local TargetUnit = Task.TargetSetUnit:GetFirst() -- Wrapper.Unit#UNIT + if TargetUnit then + local PointVec2 = TargetUnit:GetPointVec2() + self:T( { TargetPointVec2 = PointVec2, PointVec2:GetX(), PointVec2:GetAlt(), PointVec2:GetZ() } ) + Task:SetTargetPointVec2( TargetUnit:GetPointVec2(), TaskUnit ) + end + self:__RouteToTargetPoint( 0.1 ) + end + end + + --- Test + -- @param #FSM_PROCESS self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @param Tasking.Task_A2G#TASK_A2G Task + function Fsm:onafterRouteToTargets( TaskUnit, Task ) + self:E( { TaskUnit = TaskUnit, Task = Task and Task:GetClassNameAndID() } ) + local TargetUnit = Task.TargetSetUnit:GetFirst() -- Wrapper.Unit#UNIT + if TargetUnit then + Task:SetTargetPointVec2( TargetUnit:GetPointVec2(), TaskUnit ) + end + self:__RouteToTargets( -10 ) + end + + return self + + end + + --- @param #TASK_A2G self + function TASK_A2G:GetPlannedMenuText() + return self:GetStateString() .. " - " .. self:GetTaskName() .. " ( " .. self.TargetSetUnit:GetUnitTypesText() .. " )" + end + + --- @param #TASK_A2G self + -- @param Core.Point#POINT_VEC2 RendezVousPointVec2 The PointVec2 object referencing to the 2D point where the RendezVous point is located on the map. + -- @param #number RendezVousRange The RendezVousRange that defines when the player is considered to have arrived at the RendezVous point. + -- @param Wrapper.Unit#UNIT TaskUnit + function TASK_A2G:SetRendezVousPointVec2( RendezVousPointVec2, RendezVousRange, TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteRendezVous = ProcessUnit:GetProcess( "RoutingToRendezVous", "RouteToRendezVousPoint" ) -- Actions.Act_Route#ACT_ROUTE_POINT + ActRouteRendezVous:SetPointVec2( RendezVousPointVec2 ) + ActRouteRendezVous:SetRange( RendezVousRange ) + end + + --- @param #TASK_A2G self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return Core.Point#POINT_VEC2 The PointVec2 object referencing to the 2D point where the RendezVous point is located on the map. + -- @return #number The RendezVousRange that defines when the player is considered to have arrived at the RendezVous point. + function TASK_A2G:GetRendezVousPointVec2( TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteRendezVous = ProcessUnit:GetProcess( "RoutingToRendezVous", "RouteToRendezVousPoint" ) -- Actions.Act_Route#ACT_ROUTE_POINT + return ActRouteRendezVous:GetPointVec2(), ActRouteRendezVous:GetRange() + end + + + + --- @param #TASK_A2G self + -- @param Core.Zone#ZONE_BASE RendezVousZone The Zone object where the RendezVous is located on the map. + -- @param Wrapper.Unit#UNIT TaskUnit + function TASK_A2G:SetRendezVousZone( RendezVousZone, TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteRendezVous = ProcessUnit:GetProcess( "RoutingToRendezVous", "RouteToRendezVousZone" ) -- Actions.Act_Route#ACT_ROUTE_ZONE + ActRouteRendezVous:SetZone( RendezVousZone ) + end + + --- @param #TASK_A2G self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return Core.Zone#ZONE_BASE The Zone object where the RendezVous is located on the map. + function TASK_A2G:GetRendezVousZone( TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteRendezVous = ProcessUnit:GetProcess( "RoutingToRendezVous", "RouteToRendezVousZone" ) -- Actions.Act_Route#ACT_ROUTE_ZONE + return ActRouteRendezVous:GetZone() + end + + --- @param #TASK_A2G self + -- @param Core.Point#POINT_VEC2 TargetPointVec2 The PointVec2 object where the Target is located on the map. + -- @param Wrapper.Unit#UNIT TaskUnit + function TASK_A2G:SetTargetPointVec2( TargetPointVec2, TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteTarget = ProcessUnit:GetProcess( "Engaging", "RouteToTargetPoint" ) -- Actions.Act_Route#ACT_ROUTE_POINT + ActRouteTarget:SetPointVec2( TargetPointVec2 ) + end + + + --- @param #TASK_A2G self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return Core.Point#POINT_VEC2 The PointVec2 object where the Target is located on the map. + function TASK_A2G:GetTargetPointVec2( TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteTarget = ProcessUnit:GetProcess( "Engaging", "RouteToTargetPoint" ) -- Actions.Act_Route#ACT_ROUTE_POINT + return ActRouteTarget:GetPointVec2() + end + + + --- @param #TASK_A2G self + -- @param Core.Zone#ZONE_BASE TargetZone The Zone object where the Target is located on the map. + -- @param Wrapper.Unit#UNIT TaskUnit + function TASK_A2G:SetTargetZone( TargetZone, TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteTarget = ProcessUnit:GetProcess( "Engaging", "RouteToTargetZone" ) -- Actions.Act_Route#ACT_ROUTE_ZONE + ActRouteTarget:SetZone( TargetZone ) + end + + + --- @param #TASK_A2G self + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return Core.Zone#ZONE_BASE The Zone object where the Target is located on the map. + function TASK_A2G:GetTargetZone( TaskUnit ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + local ActRouteTarget = ProcessUnit:GetProcess( "Engaging", "RouteToTargetZone" ) -- Actions.Act_Route#ACT_ROUTE_ZONE + return ActRouteTarget:GetZone() + end + + --- Set a score when a target in scope of the A2G attack, has been destroyed . + -- @param #TASK_A2G self + -- @param #string Text The text to display to the player, when the target has been destroyed. + -- @param #number Score The score in points. + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return #TASK_A2G + function TASK_A2G:SetScoreOnDestroy( Text, Score, TaskUnit ) + self:F( { Text, Score, TaskUnit } ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + ProcessUnit:AddScoreProcess( "Engaging", "Account", "Account", Text, Score ) + + return self + end + + --- Set a score when all the targets in scope of the A2G attack, have been destroyed. + -- @param #TASK_A2G self + -- @param #string Text The text to display to the player, when all targets hav been destroyed. + -- @param #number Score The score in points. + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return #TASK_A2G + function TASK_A2G:SetScoreOnSuccess( Text, Score, TaskUnit ) + self:F( { Text, Score, TaskUnit } ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + ProcessUnit:AddScore( "Success", Text, Score ) + + return self + end + + --- Set a penalty when the A2G attack has failed. + -- @param #TASK_A2G self + -- @param #string Text The text to display to the player, when the A2G attack has failed. + -- @param #number Penalty The penalty in points. + -- @param Wrapper.Unit#UNIT TaskUnit + -- @return #TASK_A2G + function TASK_A2G:SetPenaltyOnFailed( Text, Penalty, TaskUnit ) + self:F( { Text, Score, TaskUnit } ) + + local ProcessUnit = self:GetUnitProcess( TaskUnit ) + + ProcessUnit:AddScore( "Failed", Text, Penalty ) + + return self + end + + +end + + +do -- TASK_SEAD + + --- The TASK_SEAD class + -- @type TASK_SEAD + -- @field Set#SET_UNIT TargetSetUnit + -- @extends Tasking.Task#TASK + TASK_SEAD = { + ClassName = "TASK_SEAD", + } + + --- Instantiates a new TASK_SEAD. + -- @param #TASK_SEAD self + -- @param Tasking.Mission#MISSION Mission + -- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. + -- @param #string TaskName The name of the Task. + -- @param Set#SET_UNIT TargetSetUnit + -- @return #TASK_SEAD self + function TASK_SEAD:New( Mission, SetGroup, TaskName, TargetSetUnit ) + local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "SEAD" ) ) -- #TASK_SEAD + self:F() + + return self + end + +end + +do -- TASK_BAI + + --- The TASK_BAI class + -- @type TASK_BAI + -- @field Set#SET_UNIT TargetSetUnit + -- @extends Tasking.Task#TASK + TASK_BAI = { + ClassName = "TASK_BAI", + } + + --- Instantiates a new TASK_BAI. + -- @param #TASK_BAI self + -- @param Tasking.Mission#MISSION Mission + -- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. + -- @param #string TaskName The name of the Task. + -- @param Set#SET_UNIT UnitSetTargets + -- @param #number TargetDistance The distance to Target when the Player is considered to have "arrived" at the engagement range. + -- @param Core.Zone#ZONE_BASE TargetZone The target zone, if known. + -- If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be. + -- @return #TASK_BAI self + function TASK_BAI:New( Mission, SetGroup, TaskName, TargetSetUnit ) + local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "BAI" ) ) -- #TASK_BAI + self:F() + + return self + end + +end + +do -- TASK_CAS + + --- The TASK_CAS class + -- @type TASK_CAS + -- @field Set#SET_UNIT TargetSetUnit + -- @extends Tasking.Task#TASK + TASK_CAS = { + ClassName = "TASK_CAS", + } + + --- Instantiates a new TASK_CAS. + -- @param #TASK_CAS self + -- @param Tasking.Mission#MISSION Mission + -- @param Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned. + -- @param #string TaskName The name of the Task. + -- @param Set#SET_UNIT UnitSetTargets + -- @param #number TargetDistance The distance to Target when the Player is considered to have "arrived" at the engagement range. + -- @param Core.Zone#ZONE_BASE TargetZone The target zone, if known. + -- If the TargetZone parameter is specified, the player will be routed to the center of the zone where all the targets are assumed to be. + -- @return #TASK_CAS self + function TASK_CAS:New( Mission, SetGroup, TaskName, TargetSetUnit ) + local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "CAS" ) ) -- #TASK_CAS + self:F() + + return self + end + +end +-- The order of the declarations is important here. Don't touch it. + +--- Declare the event dispatcher based on the EVENT class +_EVENTDISPATCHER = EVENT:New() -- Core.Event#EVENT + +--- Declare the timer dispatcher based on the SCHEDULEDISPATCHER class +_SCHEDULEDISPATCHER = SCHEDULEDISPATCHER:New() -- Core.Timer#SCHEDULEDISPATCHER + +--- Declare the main database object, which is used internally by the MOOSE classes. +_DATABASE = DATABASE:New() -- Database#DATABASE + + + +BASE:TraceOnOff( false ) env.info( '*** MOOSE INCLUDE END *** ' ) diff --git a/Utils/7-Zip/7-zip.chm b/Utils/7-Zip/7-zip.chm new file mode 100644 index 0000000000000000000000000000000000000000..1dd03b8e33c79303c281d6d434510393fa05cf2e GIT binary patch literal 103016 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 cd5wIf4ILwwUaGQx5P|i~ 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 literal 0 HcmV?d00001 diff --git a/Utils/7-Zip/7-zip.dll b/Utils/7-Zip/7-zip.dll new file mode 100644 index 0000000000000000000000000000000000000000..c06074bc512f856ebe58546b73d7eaa3e5cf7709 GIT binary patch literal 76800 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 YRr~Aq*Y9uK-?TrpKfYfY_5W7*pPcsOo&W#< literal 0 HcmV?d00001 diff --git a/Utils/7-Zip/7-zip32.dll b/Utils/7-Zip/7-zip32.dll new file mode 100644 index 0000000000000000000000000000000000000000..c5d427fc5ce0c1dc5fad90f9b73355ed5119de06 GIT binary patch literal 49664 zcmd>njbjwm)%R?&NtR^EE}CG(D2oI{fe;Bu;u1}OO`?*p5Rwof!AP<$D<3hLNm5I2 zag#R7IIZm?eXO-DTD7*dEwz5E){ljyBq$Gtk75*BqfOhpZe9%^LV(D;zjJ3c1kmUG z1Kz-7?%a=a&pqedbI(2Z%%tSr$Awry5RAA~RS*KW(@#GC{lEXR8U!JE;+x6BD`Wm= zQoykIeNCfVP0Y|i z|L(_6-u30l(-WeXci`&@U*LJ&mqQa6?%sjn2@!rjG2#Ei@BHs3 z^zrv6d^h;cmtCIDfYCbc{wv${~7cKOmC+fMWch5w#n+YmbAk3&OL=eQSpx zY^UNrK?o*L;o%g|u4EJp;-ayn}IA9BKN%8_MdO z8142y7rR}#cb7@1kdLdkF`q>cvV&Frcz>bEUzk!83M|?zSlL+s@(rYyRRABQq}Sip z&sxU_f?Q(q)ej3wc`v*6DnV!uTH1e%2|}13v$TI7Nx8h&wdHp8f)wj9)I5_F6s#`U zVDZ_LTjgTkCFWhqgJIsRaG(p&5}WX z^)Nefy~g3gXr(y%kn3c*dR`EDxz+ua??VL(TiW_aXIQ>Zx}~C0DLKrVu|CR%rr0l;#Q_0d{#lf7F6#&RS;PAw?lzuy15bSMCT9tj!eqP?woU+wC`}X(6 zvEH*|#n?_${sQ}ljRRnNXWH~Ven+q3IP7Glz`H#tPC|AWTZZoKAu$Eh!>OhYKQ36S zI)YV_5d<=!0!u_?RXWUmXa-qU*HE8#p-+%!Yv>|*OoDnVTSrww;agBl^F+)rDWyi1 zgAO`^ZN}_iBuOr{%Em2nvSKW#0ZCDd-GySg&?qO%%QH;=lr2ar#Rh+=kt)bbjifO; z4vN>yxr%Z80VbQjpSw82ELxk4a!({yX)xGNNdNM6tE+W@a-k`=&?wy@cbDx9$5bkt z3yqcWcvM?_r_E=nM9RTzQWO&54%RgJ46}j|6K7 z1Tj{~w{DGD0A}6nl9LMyUB0sgjbrfp-j-P3PTTx~P4V;ZeI&+cb6H*sy6oLje57ZG zArdn?$f;4eH3p+7K;clq0+;=ac#F$-;gOc<_|3swxL4V1YmSjGTn=a`it;;Alu74e zxNRo+xP7y+ao!e~a6*35ETza$=4AII>ZHx*G_|@g?QUbMkn7u>;=chzU5QbHp^C%g z?s-PAI-#Lnx;fjx5>OSOxh~&wo?yzy8&j{S)>n_|w9ruLWPPMjhp-T!gY!sN`R}Om z*O)L@2|iHVlwp>S`=$!O%*kHnH8vZGt?^t$CGUYa$Pnl3U}a9cd{#`z_s-7}q_a->1GW|I<%F%tN`(Q_ zt$nX(+L}o7E^ex#=P>eyYEFn<6m0i>o(UX@{n3}o-Ebmbat5t*$>nC3Kc&Fst1E~RNW7{w#xE@cFqlehDe^~HsTAWK zPWCH;2&=%5wFrPM048lbgi1lw0XBw)!MmWz$DkbTsZJ3$;xP0a2Esuq+dxYi8O~k|Ffw+ICz_E z$rn+5yvskXprEj@SgTH=Sm80q$5-aon3}Gw^cdN3>{ry=TRL}(UW8dHS1$0M)0M7Awc~KNF-_VnMTudnP&Yy^mXuO}E(<$YvHwiSs z3!1NyyXA5+odGrl_(L*t+f0oSuGcVnfaOap=#52(%scRuFEImAt1%9SQN%bs{=g8e zHc-DELGcE84DrsWEGoF*%C(9n`%W>jxHxih`pyGGkyx~VNb#zY5f34GoU&-a1?+TS z=ByHv@p~59>=OTpHsR^JV11RzsQ7do6*IX!lo4U8hX67j6iVqhsu)|Z(D8;EA|$O4Bdfz|BS1_q14UEV z4O;W%Sm7-M!1?U}NT+g1s`Pyq*qs%ZLBGrI%STuVW>I@kS|BepVunNEWS@pC<+d1` zXUVY@WVOsA#Xs0_deaTqyvQF^Fgu!H3qZ*=(4n!?u)W3Dcz}x%=cIjsQ5r8_C68IQ zbo4gCV^|T&4u-I{h#6K|sTKqC)kej5t3A|gluu4S4tc#x`lG9lH!E; zEW2o;+{{H+TdjbWn#v$ov>8d+>PT{%o)xT}jwHpAIi~t(nK|N2eKh+_l~wp#Zsfdih+o|$kd!fL^YiOQ60lrpDUo^olBQhctBGQN4mtM zbPg}KW2uA{cD7&X9gzr@J6Z3Zmu_(fy4v>yTcs29Q+~ZIUL?shZDftwiAQceJ!L1JUbnkUR zMH)KOGkK3}agJn|DFa+MwR9Oa@H!p6ZK@!deQiTBRpsY%LOvdv4 z4dli4G{&D;QJEdYZVP*>tVY^l<+e=8`{_@AdTq-D%j>5Vqu2LEmhS`gK;QHW_O6!r z*gf!_^k7dMueDxXLp!XcFw!a^m?WObShke%VUo`!pw+OP5Zk@fnZ1|ICtf9BlKCA& z5I1`vC+vRaC&DJk$+00c1L=ksyiM4s56k1RohHljZUIuJdCwqRLxR725E|cKa>`zA zCLUSZ)3E?^Iq}3OMKM*-9$P0Y@SgWJjrX;k5-jc801?YW$mLH6`;qpZ4_Y4G%@ci1 zCXc}z%3l$g>pef%lpyc)hHR0Wz2}Ee5bF(DS47gi=ZEoN^oC3;A{OuY3l?7|+Ir%= zA>#_mYbSw*Xxlmg{WV?-$W1Ah*N$$9cu{4+&VR=zoh-&C`Y2dlfx`oXU>|I{ny?aM zUH*BhW5`fqiai@yI(=}<1@f#kW%0rr7Ogrc`QOtkfd*I^d4`t`(h*C z14hgc5{WGXW*8mMbng_bz}Mw_{uHPnxZ`M#nM_+^mv54wD3lBBnEE2rM4l0aE#sjW zuTnawfac0~F&^Cou{RXhK}7hpd_f;#Ds&i8WYPWBT>7rM`aXA$1kn|)_v8t<3O`(3_GcV9@9D(OBvR$8JIT(IwK zD%S8>AVlu)n3R&E_sV;GeU_bH7=1&DO>w?p7VMeeyiUVicT4~B)*lnxn}8|x*>IYa z$zdd&td6Joc=~_}jbQf05sWaO>w^mUM0Sv-vvZkqsnac7ja52zJ70|?BYZQdsx*v2 zklZ1qrap(F9R|3_)rY3BW3VOQkE2Os|unjV?Q_%)uPNP9|3p#yem~= zY&qev8tfquBOHR1$??7+RlEw~)HyPwnvgFU0tBD>0Cn_y8K&&ODu^cPvu?lyvl=ni z$|~7v_-5t2b~KfHedi5gveNM+q>!)OANu2ccc@YUW=kHS_vLX7J#xmMH^8TC*%oxN zsqmNs-o=JYMML0BGmW!hW%TDNAMTg zVE5yEKrX@&fmtpx`wOjdkrl@Ua#4!EFikE>qgv@|OFFY+kn$2+_R-j#O6jz#57}xm zY&BDST{HagmHrANy9u;~@(G2}t?Ls*LkKp-NFCw*C{wsMP1HvPquLJ(yEdzC+FY)p?b3xD13B}XsDO=6W zqo&eWPpg{xI6#IwkX@;zN#FgQyHttxDN4uVpiHH+k}RH7YNm1EUd?v!4NVpAv40{i zAZFYTpSi{e;sTiAZyRP$!Fvo|j0VJ_fTA2pgrpKjM)8AsWtbKkKR~6ZfI$b#2H#GT ze}Ppl7+xyB=UzVxmoAd0hA{2rb_h) zW{|W1Qf?>0j=}sUy$X)#l*L3W0F&B-AfY%8qA^G_au@Uk44KFn7N8WiU8FoO(k>KO zL7h+Iofng2kmDDy9wJ9wZ^u!~V}F3|hjLsU1FPU!q!r_899B5ldsxE=1)ON~vA6MH zukNQ44XATRpT8Q4l^k4-Uf)nWTuvp2-wcq7TwHL9m4r$3q_OTG<>27sE-og0Y%08c z?LjmbZ}Xjx5zW5yvC<5euhqCpngaE;102R40 z^%kx=w8O1z)wRWC`|`Z6WVh)O0(6XAD~moRyN7kd9?<{2x-=NlM9Xr{Z{t z%8ksxIV{fcwj~MTRJr`HT=Ehd{13-{vMOl}YoS1^0EM*xLgXz^j5cRxAC255m+bJJ zO=upc6r96~l8DxR#}1c&egS&G7@X`Ez*%;@wWlz{;E$IbLD+$RHUKa)^VOo883{O` z?`8q40o2nWtEGJs5};@fiZI#zH8$U#X?Wg(p?YFg z;Pj7h4Hqe#;=ZOh)z=(sxyjg;!;~$jedjxK_52P$M?qVl@MFH>REhGT+ z5cmH~^SNfAzD+=9k>9fb@aza$zV{@DGQUVr%tds{+5UZGu&*$)ap1HW64=e`13+pO zQs7-YdzMgyrP0lvM9N#ABvhzUH=Swy04p$tKA8lmW}3SJB8X*a&r2y_6bDsVh$vF~mU_h8zeD zE}^T?Mv(;Q55mA^0)2pG;|L^y*@LwdO6B$N+elzZq*H}cm?u>L^jl ztsWHf$%y&g=RmY=5bK^vDes35nXjRr0T?KE1%Q46K*miup_d&5teTZ*G1^Sql|sw< zMKj=OpronY5i@{HY{fBL;e<*~y^mDipznezB}ccUBI#(G$AB|^5N(+4z6WFL&JM=z zzq$vexZmV=8p$Gp(uR_@MlUyr;l)D=+lToKFZNcbY_}J=v?2Ax`ubwb1}D{Ke+3Jm zvH>10FLs!oG|x29@(4~+b~?p?;VQzg1Z&1HoCo7D+`YTZv`u)XE+|-Y9p>g(zXR0O zY0O>)v}&yeyz}Hhp_3~Ic4t-rn`I3ydkeJy)Q}81C&Nlj##ZO%5;Jx~hok3n1O)DR z94lf!d9{m9>&M~uEHMdgD%l!gR=P0nM@{s{ zKv9=m8Z)Z)CYNusF;kL|P0gb~>Y zy)HNvf$J|m%__lk@H@_9S{*?=NTJb{mnn#8 zuDm-1?6=ID*;oiJHcRo!q8uFgW(T!_UBS6=oO4MU=c1hAEC%Pb9;XBK(HIb$K>%X& zXbydIEp(^$-fU z(X(PO987fCX;O;e*FINHB6d!azzJs}Ql)@I(JVkQQOKh!$bk&j=Ht!(}mwboIe%9Z{EbUD=;&J)ZOeviU zihZZ0{XWXFcS(t^+)|^ZeJLFRp${%*mUdduIWH{j^H4(kIKf$DX}<~2h!Hx*7XFi# zjAOJou^uw7hB{PftSTL2dzh+*FF<%@#Es3lGj@+s5^%DsQ6CA|F9x;&KrqOu_O?E< z+K>6$`e3!kV_iBXzwcxhFjU16pyWv;RVlz40TZyp&j2ijvdYr_3yz~Y%hLV?Qb4{I zqDEH8&+*7HeC9JU7oq83k;0x6SchhU#d=~_UxHdIDr%_3u|wzpsAa2j-B?c%={E%! zd<&ix7xBDD$MZdy>4fK5Sg_IQZ)vZhCo)UhmmsB-^st>cGr%2~!MG7v9Pd?1n0+)% zF&9+hHP~8mNl*6CN!5ew4=}^=0K~?!H8gdJ*kzF(_A+Ww?lXj~2TT9p>WCdRqoS{A zq8BgIpig>Yd^?RR*>RAJK#AXfW*yq2HQD@AfSb$L##Vt>31S8%XCXYQq(?DM#4#T2 zRhWfyb9V)cMYI0-(-zCc2gny5^ZRIvYV}=Y*p%EYbdcb6#f|i`1Tkfj}`3Y zKBCbvkQBreSSpPTzSLvjtTO+$*e)k~95pmP$MUX$;dm0RR6rxa9ZOJW2dg4Q>Rh4+ zxPKG+woAH{N+hKTQ7K(PQlm*}36cb8-@i0KyK%3o;{Kb_dtS0MWf-?+nlw0>f|(0f zl9m1A??9EDy4;Y{{G^!DBR*1?uiQOq6ErWVlRHh-)W^sa?A7yV24H*$`WUTi1OkF zvam9xM_lr%2BSju*7;Q;*243%#4#@H*E=5P04(jaXY%d2prkZ(oVGl+mAAf~<}57| z>MSX)^zOSO{RsFdEiT3abd6?8Mb-D`$TCjfAA!<5DjEv1PgCGU1^XJpA-4@jW^v45 zYe0?0QIP8Oo|ul)E5z7RYO$B%TUR(KaAF_HrJ;~UYHkQy!I!9Uh69Q~KPk`O-AT$b zgPactvMU2O*u+oJ&HLLfY+h5{UP#a z8vGAoq2OZD<7C-j2?^}WKnDU5!4`|L-QahJ3PHsz!PLM$j?df97IB`~n#gR5Yt@%SO(*QSOeeey zjllZofRP6NTwx(8`3b<(CC6e~YSx>LucQ-X2SX`X=w$Jr7}90zYd!#92#NqtN6?S} zXciYXQ7l9ylX@K-T^GgFDRRe7rDfpBb0fVQHIoVmHsTC>bD(vyc;Zfct zAK(X67bv6-3#JE=*7Dg3_LDmVp(}m{$jSYnM(ziNXB2)=ct+E>XEdFAMs3_PngN3z zu2H#Y8r-N@=P@&V16le8Nh$BaWcoS!J6&kDib=lBRv3$LR69;7jvi-rFvnr0jVWzm z=c%bPuuC9gX7!m~Yyxo*X!1h1O7qC=*$#{_ldq?3C$?TR^Xz-XF-|)9#gX1TfFLTJ zISOi(LsPxt#|Cph8hLDTk5Uo@;SKCpc*Z`BG8l1!4SY(KE`6zEG~Z_)!%c9&qI?W54_e4AX+M0_j8&JI)m^ zIdt|w#{1bv7>(}F>u0fCZu&hpvK7Zjz4F87>p&jb=dT~tbJPhN3S<%NPwY4bqf?kl z0_72wEhS&ZLy!|%e&iu>3>F|YmG}Vn03xSG+C$IE@!&=>yfK=0K#au}SvxIN9O)Hs z%nj>%@N~FCxDx{uBxeBkVx*>Vpf(tJadLUOe;kNsh5$jkK(L4X$&iY4evrq#41^z= zd9t-tmxbI1v;F0=990_&TWXYcmUU z9-bTx_QMf9FMJAxz#Wm?W;*E|r^f2|J6)-shm6lrKBXII_n1CxrvR!S^@FVZ2f@ z%wsN~%SrNO9BiBIr~?1zFvfZSXG;4SVsm*wBO)cpw@*Pu&`(Yw`yjD|7whRq*QfWost zfMT>YFVB_%BMcVZ1^zMkeGLy9=@|Z6RXJpY$13~@;FcmrQG+-gUMj<8t5!lsmuq^l zg5XGVxKcjEY*B7FI8bCN2f9P6<9$?9hpZ+@pHqEn1eW7VnT4^Jy4BERkF7+@a)qFubqw+ z2a!teYvHom8#GR~0>w~r{B-UD)J|cQ{Y>NEEeZO%V5hq;>`#FIHNr5w( zPK@6maV^9#_OP&%8DBI=i@j|oK`QiQ61TQNvO0pBb1?UMVYl})*C*Inp{SRyPtClz z4f+CpXaKtd_~ShnFMzQ(q1>zB%Z1caq&#u&*Oa9lrjH(1;Az6}8jc~nlL$$RaWnSVisAE5egCBLqqmEvVD5_p3 z`xzib9BK)JM3dF!PcK$VwzCImvxswnE|Lb+ZYO}O}^NQ^UU+kgHbHK)au(6l@ z5{oV8FfhS6BZ}dw0VY5W<7fdK;@26l7npPd6BeN~NdfrT!3WaIKBPRIpBL=`@S&gh zP&kM9pfQw3nrVxE|G`mQVFnPl&&osdG04IqxydSXM-$UV_yJq70i;DIZ`8&ErA)NlVA4 zkOldZ3q6ogyZyb6fSYA)b{+S)!ixFB$~MdmX^$t~TPl zu}+gc_CBv{78Bg7kQ0e>FV_oR)|#ku9|H{boDQG_Bme+058)!vuR(UQ2e`uw+{YRA zGgvpoM?A!__c*!svAejAB*QV5FWP#+&d zP1Bskc48bozXFcnUcn9`LAx4+jgYcs+aP&WHGmpbb0Lq_y$+;Vs?ObqbxTdn;HyqC z_43uN)C=B$l#h3opCmdDLD#8s8$daFNscrBeozC0DT5AyP8t9;46N=HdIgv9T3UH8 zv53Cj%>!33Gy6$sJskd&4=JuwhGHPwqM z-$=~t(?rhKAU>MGeDVAnYX}CwzRu)+lCkRC$ALbO`VB~f6Sg`UX%Zjla?*vg#>!CG zW$=)99E41-K!~B%Z0XwReqpx!R_U;*24-p z8wQlNAiIm^Lbv=O3+|?Qho;!FPDOckkZgWw(CINcL5I|Qj1XZfJjj6CqjbVEF^^s| zv~-Y93nuC>V4~^<^nYP7iu{0fHXrThP91~0mG^#(bsr!h;Jwpq;Jq)1_Kt1eizvrJ zP1fl#*c=9C0d&5G<1G%+2w&CJTU4#zedwKy2L&U~$ZclNWay;Hm>}4rkva4R&6N*4 zw=)Y82yrUe4r61G-N^gePBrqVE2{B-Kq7KIBF{&a!T7<-N*t-f23mxX+q+;P(uvwJ z_BjNr>Rp-yk!l11P+T-@o8~MzN&bhN@`il3QNF4`OvPEZOOA2*V;3%5uza7l< z7%T2YE!ofBMOK++82}w_87S27GUb9u7F`L^YY>615>i4>6Yc{uVMs;8Suu598dlY3 zI=L1=S5n+F?MRbVUyh#mN-&JYUvUg#M^`=|f54T(kI~2;lExu>_Ccyly869hZfhTAcL0;ITRi63m|ad%~BfhZUTNDbQ%TxEP%rU;wJFh0G>_^2(~!h{e({T zm6&}fu3#^LmmUPAksbC9mJRB9;{Ve1bn1HU66(5_y7or9#s*tHyNtU09(4)rPU&ti zknUKI1$c`E#5=8~=f_cpmUB$3N+hY*-#~sY52Ykch!@_;V?4&Q8ccW-c;kf{vfcjj zG{z#wW}o(A14b{h;Nb2oUNmT2KsLzjI68;*blaBmFQHoF)#UCoHn{S#gvJ|PdAUMM zIy`{zQ^DPdBNr&C>&b~J;-KlQP5j&!GHyBl3N`!%y)?TrgtP7;ILUlDnbJfY(BL%a zAdar-)CZ@%tvHYw z%9}5UH@Ncd;ODEGaK7rwyHUWo6&;K7!$1jP!7;0aLO2l{cW5W**URIIUGkg-O3DI6 zduNjS^a9>#=k+3=)Pxv?*@Ves@Wzgv2%WRvEC}v#OTn%;Ag@&+H|46SInV~7@SnZ} z{jqZ~qjq|@I4 zBrJsc-PZ~+g3}HC>}A&jJVky%!Gm|Ss0VS!s(0zS&RQ++nQO8Ui#QaxfyQtfje#V)EhYOXW^it` z**{TC2v`k9Z=}+bPnx#|vz6})Q|#~a89j#m#7LGKy!oeTYYHRgCOIB~kk$&-Di7Ju zi^-TZFF+nDSTS$h6-f$=FQfUJEF@fRuvrluhz+xEQ-;ZaS8f(%7=K0X0hX-IL0T@z zj~+daNCAhH4tkTdi~pu)tY0%QMDm;Y-X2C#3_niai{o^u zl*!j~g!ubhN(%}Pk^51a0Lvyt!#jZw^-v{igU&=;6EqVR7_K47&pbu_`urnth8Vo$ z5Liyc{pVDgtvM7A*3I0|h}ox+B2V)7pls<#bQy7wHkfZY*?v?|=S~An5dq03!*`J5 z&iHT2=tD*fhrwgX`{-mYmTl-#)pz4D*&*N+6_w=J!Bp>aLtMP-(p+%y_KdM(71w~`<(aS9)wW1d+>`fEr;#p_d&K3cb4}xUmkKe8fd7_%>a(T%Z;s> zmrXz&pgt~&IyOIt*)MfKUfc<>At*n}ALRG97$ar4+l=q1&^G;JJZZN5>JcAA=o?wp zO03G6LadrrQ5ogHK6XB&DOa5Xc*P1CaN%S9BYl?{Mccj@_MJVL zDs!z6uXl+XFuxG7i***i*`2U$+95sSY*;tgtH7q_!Y2v3lo zne4a=6bz3g`!v7rV_(oBQF01{*Y|1A5jacxAq{Lb))R8r9*0ts2JyLs&KkTuZ1vZq z_-oRXQX8qY|JemQtY(J4Cd*$l$6u4vSu?-0CQqNMi=M_LFEq}33lHZ2;ofi(>86b_tJ$NuqGd+0RNby(sQev!~agB67*aB%;n`(BTuus7Bb1r3+N^ zZZ^Xp1ih($ugeTCHDb!ha}6tp;Dy3B0~BNuFP?C1OJi1A(mPkD;XHxfY)=!X;9b@% zU;-QRDy*Oj;P}X0ZNs|NS(Jva)9BTdBD1mtFT9Bv>FhUH>qsG6g}@LI*ENZVn}M|r z!!pUSzBQVG$Y1-RkSf@ekL>I-#ua1MR>*@`_%YHRMBCvst=Yte-^HZBPHyfD2)brZ zA7lSPCV4-5V102NaPA%2Yb~M8SPc6|kV+Y=Ax#d8tAgKqxX=1-q~%gG+ zBen?CyGT5&OXISGZ!88nx#L8OZ>KeX%h_Q(H4ah)XCT9eQ9W*>QRQf_G2;79gO#34 z(C0DCV2T%MyNR}dZ?R8Kk}wSt+MdmF4?ByaXsBqm8)_;%1hJxXmu_WIYYgIl-X%5G zSBXuQF5PS*lxK9!@dGr{o=kQVb%HZ!%MU0F2|@W-r<6qv0MP>~$R*uxick`uL@e9% z24@{8f0$7y2sRLlsKTPBFoxAy;X--^U>#bpQl25*NEvmMk*8&hql{IQF+*!&wM+fl z+XPZSKcA*I4cJb;!;PV}pdTt4yS724JQ@Pu$9j-QD?&Ffa|~XxtJ}-pn0sf=lb9;w zWeW=h2yrPHu`63H6eG8h;S?J20cQg_M1SijAZIgCuqnn~oO|ZfaK0aYiFoK- zyo&05n*$ZEgU*Fkv4^0%EbWq!tS5Mvp%f!!aO5b;G=c~xTPjeK9hlI3ThY~#Lmiq> zeT6~kph`{;Tq4%4jyXtEFedx)CrG_YMf`l^DM(e7?C>heD;EePV+*0673CP7*wcTZ z+bk_IUiT9Gj&#|?{sqSgy}yz!PL?rVYU~S|oXq(a%!QXA*%}m< zkLSo8YL?a;YeiR(!t2#nsSlP6T+~;2&#{D7Rk#judVs2IqjL093kv|=XBInx3EoRI zSUQ%&oC4c?!DPE5&GLN*J$4)h7W@#x(lG}a`k0;r#mFR`#GA04EH1;)>6j=wm6CS0 z^lQL(wBs#L7(gH$h8oA7fG+~TF#+U5AT-_~q{4-Gm4F>Gqa!#I9qmr0;uS5xKocXY z1)S3kmTzf)6N2We@5TF3#87(OzSq+JJek9shio|@_@3u%^Wnq`t>ZOjk#AZ|)Y1@H z46oP!c0S19?^r~{aF~>B#KkwR8Y2ir{*J{+voUC;0hU8cJqCyYenv}1e%dlt&f{WO@5Wkgwy0)WKZ1p&@Nxo0W1^2iy(et{fd+KGom z_UN0ah&3hVUEE)#R_x3>lqAT66Qk`vmKScJK7se2(151{PUhf^O>+5e)v+5G%3VtV zxVMN+PrAsb%B!M$if3<}2UJIT_$)+4n-s(=bYo;&&`lMjo!-Ksk2fhriCnhSgiB;g zO4H?PF&K$ee9RulL__#fjNe;75$`zNB7{{NI7~TCHBIUs>W@RTCI@1 zK?Tx2_9wb)^Xvtl4!ui0v~-~cpFTSlh5s_#kx}?5 z8hk`alc7v~&}&fI?74~!y?SxH$8cPN{;p=9es%eH6(hQ2*{F=pXvit-8p7gL%I9q! zhfb|hwh>c^I`keS$MF~r07h{9jHF*zc*($#rfMZ`2(%sqTI#Eus|%5*O<%w^vN?DJ ziL6ys;ypBgFqk`vNpYx@%4PuRE2+{js>i2kA=Xvw1p=X1(S&{V3QZzfm&Ri?@CedO zWgD$#iZ z&;0~n+ekOD^MA&3Cq45bMHvDL=_hZ~zK!C2)Stvf^g%9- z(H?+RI!n5=mjw39li$?KKgm4O*>4%u%R^c(F_!kfKtyFeiDkYRu)yz0k6AjN)n)gK zuV`R2kFRI*L73>+AiE}H-oU1yXTtSzy12n*rGrS#=~9J9w-a_YS)+bJf16fzjJ*ad zuN2*zM&VutWlf^{G-iDjv4xoO5-)+bSa5tNQg$_ zN$jIPU4m>PkiC)ZI{wWhjw60_5KKF#qL$$ zaV2(BM`5>2$L?pZ(Od@e|A^kzS2;Pqk37xZV4HYS*BnN+9*;0RbSqu^gn(|xJx1na zwMjSSI*tP4Dc@$uVZS;kXvUn|%M}P2a7;Tbm{(| zFGh8?_Yi*bT|3OWLWrMcz@TFz+l~296-ng%R9k@;IV&t3KZRX(+7aeEJ1Ck-Hd$A zd%^WNs^83V|G-y1GBR&r*Y6-|@fGnYh_!BK{*Wh0iBJd3i$}6EOO7GH?FgFVi%fWs zyUNHONJE|JMeHDi7gEj}EI|XrCbeS*IN5P5Tbd4@%F2L0*yr10-f|%a7PIBismO@h zn`wAegj&K#o8Fef#&9gij$#)e)cSttB$BeD8~A*aop!|$eHst$_&ZcDKEqH*ALc;p zIReiSa*lX&e_@8da2mGKA=&Uv;6i~Jv{N=?efJH_pwJKgfv#>IOpC(_%@5EkbU6;g zmZtEU1SBUQiCqbIufccM$6g1`;Pl5^R31YmeBSJu1N5pm`6x0loGZSULZR!$)bW2| znb%JLKyU7RpdRtf6*>#71!3XB0mTih96gXD>Tj4bq-*{M_o_<|`~vF;VgZLZjphTq z2K@NA2*e?<>?-@X}alb;l_@*m44l;chVr0#9x+%VWQvZBDM*Fm0SIEm3XbYm(Pek_7fB?Z&_*qvMr z_py1nS4HXwr^>&>gYW=~@of~#V>LXHw0W6t$ZGka6Hge#**J^OfuxdhSFUl}5G?^I z{3cCP8?hnlW_JU9rMw&P(4C3h2biQ&dY}xd!ijh&h`iw&N)X5ThQ^2{-%wH~LQt_U zG8@n%3Q5gf2F<>b3b>ZjOiksFoEVNk820>X0-2|QPj?PBKb(mcg?Uou?wHbUnV<^ za!DGS0fEK=R|Xo4F0)2H)4<}z4wJngtMMp&Db*C}nMH$c!0r@F1OIZ;`F zcsDq-`QMblH}dEWL%%tmhuuggB6spgl4OvRQ$&j-xecAeVOe3=YU)g;Pn#zok%%vw z(`xbv^ggXFEx1>aH+@8fg9xM9`Y0q%V{0Mdb{H!Z53tW?snqn!FXAnP9FdZtc(0Ft z$!RKhC=U2sGO|u zx7b}kh-rPaQ@=Porjh=QSM6svQQoC%A_zJvn8>;d!9+IHcGpNiV;#`I=TGNSHv1gF ztMtgD$>81_gIFWONC@~-D|_)Rlwza57{AT_VynM6#b2Bjaz95<=o3p-p^McaHq81n zAm40d+W?e4Goujjs!IZ!dI|jf*zLGKCn$YbjS<*Hxq4s|*9Oa2@M*l*5)e86vBA4^ zT7QUn-}3w>Je{}qv~pIt{iUP_Blpp&5d08o}zyhAGbu>J7D(hLi{W;V9Bz}Aq-UrOLe^%ABI1}B`vOBla5bUo zdUKV)w(*|Z3g}gYH#6}Py!JfSJq%({gGJyp8F~~Kh&QpKM~?4cs%l~cXCM?&m0ZrW zvG`GuCgwkQ?x=Yg3iQx8Xmg6gL)ZdpYAX(65f_#!;_k8!S~~WTsC45C>-b#emQPjM z6XH0h58v%VRI}yvy;#NQsOA+^BO~Ev^hIKg_)W{}7x3p=C;|pwZtb!=`kPkBC4KUo zEflR^Qo&7vw^+|JkXsrW9iDchX$<=mS+bSm&eiJPuT{0vagr9T>o5duu|=RU(g^&n zs*;ja$AGVGAg1w$k)(<@xZHcVz~K8=q`>%jI~MYtP%oF6QGtG<0DVpY>hYO;NDmpk zWfh2Ctn`-;`0-W&Hw~e zAHb9+tVyj-!w9Opj~E1{1t&Mn82@EMkW&`}?WOYAMYu7T7D6a6M5FpHq!4k({0|14 z!`n&tV2mHHb(we^;8Gq3h$C>kcgHMUJg^2|tVIT!)lC9sVwuS0eMOB6dnl)m zK<*9g!~EkfcBUgnL5oXAq>uigWyuntfz^b%$h^m>YC`+ayGM2J*a73><4uCK?ing^ z*7>K<-8X>GS|N6g!7QX_c<47lr11m-!nng>us$jn)$+fpLmYlc<_)L{f4-vDzEMBe zQ7pC~B% z^5B`ej5O3(l#z1g-?0Z8lkKS2VropVqi(aI6amfjM<1+0w97K8s&~f$^6v1FDs;9h z`yl=}5_MkxK>%SrWzz!6$kCO}Y6qi+M^Ls$;9EmS;3n5t6-Q6mZwP)rmXlGKggW@!wbjb}au zfy&N&%BgOmA;uE@O=muhJ#-oRqw#-!*P*_U+>;$7{68DPzZbo!Qx4;|FE0mL8rCdg zNbp7RZe(E@n}a+zFTmTp%maz^?KbldjkEV5GNkIN&h!@J%i=v~KzKm(lXK&yq21<8 zbu8WGu|a}AWRS=B$Id{8bf?=30Ui0a`LC!0i9!=8ZuuE{a;F9HOTe#R5en=y)#p&F zsv>#lBbQghdX*)Qr5Y8=L&NsL#;f?N9|`IKUhMnA82KD?tDpLxLU4tu8d!;1*eC*G zO!PW2#k;^*8sp0&Y=y{FytOLE`7XprH$Ibv9CR|KvZ9PWhAEnnV5t~6P#}a$>AB)> z&|Mes2|2Sw-{6{8=`3T%u`0mr0Wh)BRI1cR89^y_5*&AUQ&}7rg>B-n(HPb&W+sJY zs#Ep>V|9uV(xpz>jr6{K@HK>=-iBG~dr=0O4@X{$SKzT8G9t)c& zuaEM+fTAIsSoqWv$TR&4c^{AD^-*3Hu?g5QsYo%(Yz zzxRam`F(ddhu>ccXYu>7@HBo8gl)J7gy#S=UWeHeHuEwTHtKbU{|j~8ROhqv8ZC~6 z8S)VJ67J*oV7Qm+Y^OT!=ym$TyD6`i@_wu54Tckf)Zg>S`^iYXr>WjF%6nALW8qH9 zb5h<0o=5!r&o4PYTPb%1a*3b!p&rT53aY=IO70keyNL37DDM_MuQ!~<>-UGJ@%#4h zAIYatvOWB3e(w)ksm&0zIektWYkzq7$H>cn0ePS4dA(tVJjAtz=e*M%iY)tS8*g%Z`ONQM-I9yI(Ks z54(9;Z}>hcYoM}1y=)--E5M>Tq(GMida3M|k#<>B-}EB##*gHsQ=XghVn*^zl-Esp zU*Hs0m;WCjZ;1$h=>0eic*hi^vVUNU2}wZM(zI z0UmrY;iviiaQF#+?+ZUh{ooICTEmTc-F@L!Ue+IO;P>9Jo9g6Kol;(hg5h?e8<=H* zR?4Q&b7H~K^B+e(Pujwn)N(sjq4Q{nnAMiYm zoH6_(RMk=bUNo5={%$lmE!;q`UZi#vI;`&SEbNZ8Ba84-6l*a?;lIHU)uNBWcFHZ; z7tZGQ_V8am8fjqDvtHy`>#zib$8s3UDH+2{kA=_ukQ$^@)@BZtm-h2qI`$5KL`jh6 z0Kd0~s|XyPck0h~@#pq%fu8>x-qc6{f1y{I$}zA~mVB|)dod~TBuCN1lXPemUQNl8 z_V9mtwfiUfonDS64DQs+yY%N-`t$4h^F;mm*ZQ-Cp85Gt*myB{_6HjDEmVu2?}q

    JGm`dG6mM?_H&%#eq+2d5USug7k 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 IA9~=w0BL3d8~^|S literal 0 HcmV?d00001 diff --git a/Utils/7-Zip/7z.dll b/Utils/7-Zip/7z.dll new file mode 100644 index 0000000000000000000000000000000000000000..042cbf1d492d47997161bb370ce6831a5a1a9697 GIT binary patch literal 1609216 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ℜz|mP@dik>lS;f8cJpko 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 z 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 @IuC8{Vk86Bk);X2&vcDVj6o!UkAq)h>L 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

    k&|_uDmQ9%3%`F`*k*Bh(naMa_dJx{;un8 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 Ej~_WYWj< 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℞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 zɰ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 z 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�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 R{mS_|BUTPO{D1fBe*^O1t3Ut% literal 0 HcmV?d00001 diff --git a/Utils/7-Zip/7z.sfx b/Utils/7-Zip/7z.sfx new file mode 100644 index 0000000000000000000000000000000000000000..5a8b5f662b97a2f98d5da30bdad4196c4209d18a GIT binary patch literal 191488 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

    MVuYh!ye5RwuOF>%NFOb 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 Yzqmv2Ov0<+MAw~(+W%MopNYW#1uRBVL;wH) literal 0 HcmV?d00001 diff --git a/Utils/7-Zip/7zCon.sfx b/Utils/7-Zip/7zCon.sfx new file mode 100644 index 0000000000000000000000000000000000000000..308663917878ea732ab4cdb756b1bdbbd656dff8 GIT binary patch literal 172032 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 Czk6r^ literal 0 HcmV?d00001 diff --git a/Utils/7-Zip/7zFM.exe b/Utils/7-Zip/7zFM.exe new file mode 100644 index 0000000000000000000000000000000000000000..237e97eae9936ef0262282293c6e0d6404fdf023 GIT binary patch literal 839168 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ðLaTU7}B1 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%0Ax}N`Y#(9>HQV9|K%uvdJwsb%;QGZ9`j8M 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

    !*&Hg$pDQb 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

    8RKP^ce!Zu?icc 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 C2IqqS literal 0 HcmV?d00001 diff --git a/Utils/lua/5.1/bin/luac.exe b/Utils/lua/5.1/bin/luac.exe new file mode 100644 index 0000000000000000000000000000000000000000..9c64f99269d405b31ffae493cebb115ba7081062 GIT binary patch literal 197312 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 M;T$fIKezLL0E#>-BLDyZ literal 0 HcmV?d00001 diff --git a/Utils/lua/5.1/bin/luadocumentor.bat b/Utils/lua/5.1/bin/luadocumentor.bat new file mode 100644 index 000000000..3d449219a --- /dev/null +++ b/Utils/lua/5.1/bin/luadocumentor.bat @@ -0,0 +1,3 @@ +@echo off +"C:\Program Files\lua\5.1\bin\lua.exe" -e "package.path=\"C:\\Users\\svenv\\AppData\\Roaming/luarocks/share/lua/5.1/?.lua;C:\\Users\\svenv\\AppData\\Roaming/luarocks/share/lua/5.1/?/init.lua;c:\\program files\\lua\\5.1\\/share/lua/5.1/?.lua;c:\\program files\\lua\\5.1\\/share/lua/5.1/?/init.lua;C:\\Program Files (x86)\\LuaRocks\\lua\\?.lua;\"..package.path; package.cpath=\"C:\\Users\\svenv\\AppData\\Roaming/luarocks/lib/lua/5.1/?.dll;c:\\program files\\lua\\5.1\\/lib/lua/5.1/?.dll;\"..package.cpath" -e "local k,l,_=pcall(require,\"luarocks.loader\") _=k and l.add_context(\"luadocumentor\",\"0.1.5-1\")" "c:\program files\lua\5.1\\lib\luarocks\rocks\luadocumentor\0.1.5-1\bin\luadocumentor" %* +exit /b %ERRORLEVEL% diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lauxlib.h b/Utils/lua/5.1/include/lauxlib.h similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lauxlib.h rename to Utils/lua/5.1/include/lauxlib.h diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lua.h b/Utils/lua/5.1/include/lua.h similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lua.h rename to Utils/lua/5.1/include/lua.h diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lua.hpp b/Utils/lua/5.1/include/lua.hpp similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lua.hpp rename to Utils/lua/5.1/include/lua.hpp diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/include/luaconf.h b/Utils/lua/5.1/include/luaconf.h similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/include/luaconf.h rename to Utils/lua/5.1/include/luaconf.h diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lualib.h b/Utils/lua/5.1/include/lualib.h similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/include/lualib.h rename to Utils/lua/5.1/include/lualib.h diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/liblua.a b/Utils/lua/5.1/lib/liblua.a similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/liblua.a rename to Utils/lua/5.1/lib/liblua.a diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/lua/5.1/checks.dll b/Utils/lua/5.1/lib/lua/5.1/checks.dll similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/lua/5.1/checks.dll rename to Utils/lua/5.1/lib/lua/5.1/checks.dll diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/lua/5.1/lfs.dll b/Utils/lua/5.1/lib/lua/5.1/lfs.dll similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/lua/5.1/lfs.dll rename to Utils/lua/5.1/lib/lua/5.1/lfs.dll diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/checks/1.0-1/checks-1.0-1.rockspec b/Utils/lua/5.1/lib/luarocks/rocks/checks/1.0-1/checks-1.0-1.rockspec similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/checks/1.0-1/checks-1.0-1.rockspec rename to Utils/lua/5.1/lib/luarocks/rocks/checks/1.0-1/checks-1.0-1.rockspec diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/checks/1.0-1/rock_manifest b/Utils/lua/5.1/lib/luarocks/rocks/checks/1.0-1/rock_manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/checks/1.0-1/rock_manifest rename to Utils/lua/5.1/lib/luarocks/rocks/checks/1.0-1/rock_manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/LICENSE b/Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/LICENSE similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/LICENSE rename to Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/LICENSE diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/README.md b/Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/README.md similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/README.md rename to Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/doc/README.md diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/luadocumentor-0.1.5-1.rockspec b/Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/luadocumentor-0.1.5-1.rockspec similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/luadocumentor-0.1.5-1.rockspec rename to Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/luadocumentor-0.1.5-1.rockspec diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/rock_manifest b/Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/rock_manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/rock_manifest rename to Utils/lua/5.1/lib/luarocks/rocks/luadocumentor/0.1.5-1/rock_manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/doc.css b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/doc.css similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/doc.css rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/doc.css diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/examples.html b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/examples.html similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/examples.html rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/examples.html diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/index.html b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/index.html similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/index.html rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/index.html diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/license.html b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/license.html similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/license.html rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/license.html diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/luafilesystem.png b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/luafilesystem.png similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/luafilesystem.png rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/luafilesystem.png diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/manual.html b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/manual.html similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/manual.html rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/doc/us/manual.html diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/luafilesystem-1.6.3-2.rockspec b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/luafilesystem-1.6.3-2.rockspec similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/luafilesystem-1.6.3-2.rockspec rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/luafilesystem-1.6.3-2.rockspec diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/rock_manifest b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/rock_manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/rock_manifest rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/rock_manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/tests/test.lua b/Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/tests/test.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/tests/test.lua rename to Utils/lua/5.1/lib/luarocks/rocks/luafilesystem/1.6.3-2/tests/test.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/manifest b/Utils/lua/5.1/lib/luarocks/rocks/manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/manifest rename to Utils/lua/5.1/lib/luarocks/rocks/manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/markdown-0.32-2.rockspec b/Utils/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/markdown-0.32-2.rockspec similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/markdown-0.32-2.rockspec rename to Utils/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/markdown-0.32-2.rockspec diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/rock_manifest b/Utils/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/rock_manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/rock_manifest rename to Utils/lua/5.1/lib/luarocks/rocks/markdown/0.32-2/rock_manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-compiler.md b/Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-compiler.md similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-compiler.md rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-compiler.md diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-parser.md b/Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-parser.md similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-parser.md rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README-parser.md diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README.md b/Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README.md similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README.md rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/doc/README.md diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/metalua-compiler-0.7.3-1.rockspec b/Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/metalua-compiler-0.7.3-1.rockspec similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/metalua-compiler-0.7.3-1.rockspec rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/metalua-compiler-0.7.3-1.rockspec diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/rock_manifest b/Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/rock_manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/rock_manifest rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-compiler/0.7.3-1/rock_manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-compiler.md b/Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-compiler.md similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-compiler.md rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-compiler.md diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-parser.md b/Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-parser.md similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-parser.md rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README-parser.md diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README.md b/Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README.md similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README.md rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/doc/README.md diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/metalua-parser-0.7.3-2.rockspec b/Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/metalua-parser-0.7.3-2.rockspec similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/metalua-parser-0.7.3-2.rockspec rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/metalua-parser-0.7.3-2.rockspec diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/rock_manifest b/Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/rock_manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/rock_manifest rename to Utils/lua/5.1/lib/luarocks/rocks/metalua-parser/0.7.3-2/rock_manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/penlight-0.9.8-1.rockspec b/Utils/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/penlight-0.9.8-1.rockspec similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/penlight-0.9.8-1.rockspec rename to Utils/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/penlight-0.9.8-1.rockspec diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/rock_manifest b/Utils/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/rock_manifest similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/rock_manifest rename to Utils/lua/5.1/lib/luarocks/rocks/penlight/0.9.8-1/rock_manifest diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/man/man1/lua.1 b/Utils/lua/5.1/man/man1/lua.1 similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/man/man1/lua.1 rename to Utils/lua/5.1/man/man1/lua.1 diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/man/man1/luac.1 b/Utils/lua/5.1/man/man1/luac.1 similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/man/man1/luac.1 rename to Utils/lua/5.1/man/man1/luac.1 diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/defaultcss.lua b/Utils/lua/5.1/share/lua/5.1/defaultcss.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/defaultcss.lua rename to Utils/lua/5.1/share/lua/5.1/defaultcss.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/docgenerator.lua b/Utils/lua/5.1/share/lua/5.1/docgenerator.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/docgenerator.lua rename to Utils/lua/5.1/share/lua/5.1/docgenerator.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/extractors.lua b/Utils/lua/5.1/share/lua/5.1/extractors.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/extractors.lua rename to Utils/lua/5.1/share/lua/5.1/extractors.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/fs/lfs.lua b/Utils/lua/5.1/share/lua/5.1/fs/lfs.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/fs/lfs.lua rename to Utils/lua/5.1/share/lua/5.1/fs/lfs.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/lddextractor.lua b/Utils/lua/5.1/share/lua/5.1/lddextractor.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/lddextractor.lua rename to Utils/lua/5.1/share/lua/5.1/lddextractor.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/markdown.lua b/Utils/lua/5.1/share/lua/5.1/markdown.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/markdown.lua rename to Utils/lua/5.1/share/lua/5.1/markdown.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/ast_to_src.mlua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/ast_to_src.mlua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/ast_to_src.mlua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/ast_to_src.mlua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/compile.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/compile.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/compile.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/compile.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lcode.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lcode.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lcode.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lcode.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/ldump.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/ldump.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/ldump.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/ldump.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lopcodes.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lopcodes.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lopcodes.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/bytecode/lopcodes.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/globals.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/globals.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/globals.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/globals.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/generator.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/generator.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/generator.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/generator.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/grammar.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/grammar.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/grammar.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/annot/grammar.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/expr.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/expr.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/expr.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/expr.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/ext.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/ext.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/ext.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/ext.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/lexer.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/lexer.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/lexer.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/lexer.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/meta.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/meta.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/meta.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/meta.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/misc.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/misc.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/misc.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/misc.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/stat.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/stat.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/stat.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/stat.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/table.lua b/Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/table.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/compiler/parser/table.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/compiler/parser/table.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/extension/comprehension.mlua b/Utils/lua/5.1/share/lua/5.1/metalua/extension/comprehension.mlua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/extension/comprehension.mlua rename to Utils/lua/5.1/share/lua/5.1/metalua/extension/comprehension.mlua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/extension/match.mlua b/Utils/lua/5.1/share/lua/5.1/metalua/extension/match.mlua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/extension/match.mlua rename to Utils/lua/5.1/share/lua/5.1/metalua/extension/match.mlua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/grammar/generator.lua b/Utils/lua/5.1/share/lua/5.1/metalua/grammar/generator.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/grammar/generator.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/grammar/generator.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/grammar/lexer.lua b/Utils/lua/5.1/share/lua/5.1/metalua/grammar/lexer.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/grammar/lexer.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/grammar/lexer.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/loader.lua b/Utils/lua/5.1/share/lua/5.1/metalua/loader.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/loader.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/loader.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/pprint.lua b/Utils/lua/5.1/share/lua/5.1/metalua/pprint.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/pprint.lua rename to Utils/lua/5.1/share/lua/5.1/metalua/pprint.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/repl.mlua b/Utils/lua/5.1/share/lua/5.1/metalua/repl.mlua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/repl.mlua rename to Utils/lua/5.1/share/lua/5.1/metalua/repl.mlua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/treequery.mlua b/Utils/lua/5.1/share/lua/5.1/metalua/treequery.mlua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/treequery.mlua rename to Utils/lua/5.1/share/lua/5.1/metalua/treequery.mlua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/treequery/walk.mlua b/Utils/lua/5.1/share/lua/5.1/metalua/treequery/walk.mlua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/metalua/treequery/walk.mlua rename to Utils/lua/5.1/share/lua/5.1/metalua/treequery/walk.mlua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/apimodel.lua b/Utils/lua/5.1/share/lua/5.1/models/apimodel.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/apimodel.lua rename to Utils/lua/5.1/share/lua/5.1/models/apimodel.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/apimodelbuilder.lua b/Utils/lua/5.1/share/lua/5.1/models/apimodelbuilder.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/apimodelbuilder.lua rename to Utils/lua/5.1/share/lua/5.1/models/apimodelbuilder.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/internalmodel.lua b/Utils/lua/5.1/share/lua/5.1/models/internalmodel.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/internalmodel.lua rename to Utils/lua/5.1/share/lua/5.1/models/internalmodel.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/internalmodelbuilder.mlua b/Utils/lua/5.1/share/lua/5.1/models/internalmodelbuilder.mlua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/internalmodelbuilder.mlua rename to Utils/lua/5.1/share/lua/5.1/models/internalmodelbuilder.mlua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/ldparser.lua b/Utils/lua/5.1/share/lua/5.1/models/ldparser.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/models/ldparser.lua rename to Utils/lua/5.1/share/lua/5.1/models/ldparser.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/Date.lua b/Utils/lua/5.1/share/lua/5.1/pl/Date.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/Date.lua rename to Utils/lua/5.1/share/lua/5.1/pl/Date.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/List.lua b/Utils/lua/5.1/share/lua/5.1/pl/List.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/List.lua rename to Utils/lua/5.1/share/lua/5.1/pl/List.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/Map.lua b/Utils/lua/5.1/share/lua/5.1/pl/Map.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/Map.lua rename to Utils/lua/5.1/share/lua/5.1/pl/Map.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/MultiMap.lua b/Utils/lua/5.1/share/lua/5.1/pl/MultiMap.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/MultiMap.lua rename to Utils/lua/5.1/share/lua/5.1/pl/MultiMap.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/OrderedMap.lua b/Utils/lua/5.1/share/lua/5.1/pl/OrderedMap.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/OrderedMap.lua rename to Utils/lua/5.1/share/lua/5.1/pl/OrderedMap.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/Set.lua b/Utils/lua/5.1/share/lua/5.1/pl/Set.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/Set.lua rename to Utils/lua/5.1/share/lua/5.1/pl/Set.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/app.lua b/Utils/lua/5.1/share/lua/5.1/pl/app.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/app.lua rename to Utils/lua/5.1/share/lua/5.1/pl/app.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/array2d.lua b/Utils/lua/5.1/share/lua/5.1/pl/array2d.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/array2d.lua rename to Utils/lua/5.1/share/lua/5.1/pl/array2d.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/class.lua b/Utils/lua/5.1/share/lua/5.1/pl/class.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/class.lua rename to Utils/lua/5.1/share/lua/5.1/pl/class.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/comprehension.lua b/Utils/lua/5.1/share/lua/5.1/pl/comprehension.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/comprehension.lua rename to Utils/lua/5.1/share/lua/5.1/pl/comprehension.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/config.lua b/Utils/lua/5.1/share/lua/5.1/pl/config.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/config.lua rename to Utils/lua/5.1/share/lua/5.1/pl/config.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/data.lua b/Utils/lua/5.1/share/lua/5.1/pl/data.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/data.lua rename to Utils/lua/5.1/share/lua/5.1/pl/data.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/dir.lua b/Utils/lua/5.1/share/lua/5.1/pl/dir.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/dir.lua rename to Utils/lua/5.1/share/lua/5.1/pl/dir.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/file.lua b/Utils/lua/5.1/share/lua/5.1/pl/file.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/file.lua rename to Utils/lua/5.1/share/lua/5.1/pl/file.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/func.lua b/Utils/lua/5.1/share/lua/5.1/pl/func.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/func.lua rename to Utils/lua/5.1/share/lua/5.1/pl/func.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/init.lua b/Utils/lua/5.1/share/lua/5.1/pl/init.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/init.lua rename to Utils/lua/5.1/share/lua/5.1/pl/init.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/input.lua b/Utils/lua/5.1/share/lua/5.1/pl/input.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/input.lua rename to Utils/lua/5.1/share/lua/5.1/pl/input.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/lapp.lua b/Utils/lua/5.1/share/lua/5.1/pl/lapp.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/lapp.lua rename to Utils/lua/5.1/share/lua/5.1/pl/lapp.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/lexer.lua b/Utils/lua/5.1/share/lua/5.1/pl/lexer.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/lexer.lua rename to Utils/lua/5.1/share/lua/5.1/pl/lexer.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/luabalanced.lua b/Utils/lua/5.1/share/lua/5.1/pl/luabalanced.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/luabalanced.lua rename to Utils/lua/5.1/share/lua/5.1/pl/luabalanced.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/operator.lua b/Utils/lua/5.1/share/lua/5.1/pl/operator.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/operator.lua rename to Utils/lua/5.1/share/lua/5.1/pl/operator.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/path.lua b/Utils/lua/5.1/share/lua/5.1/pl/path.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/path.lua rename to Utils/lua/5.1/share/lua/5.1/pl/path.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/permute.lua b/Utils/lua/5.1/share/lua/5.1/pl/permute.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/permute.lua rename to Utils/lua/5.1/share/lua/5.1/pl/permute.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/platf/luajava.lua b/Utils/lua/5.1/share/lua/5.1/pl/platf/luajava.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/platf/luajava.lua rename to Utils/lua/5.1/share/lua/5.1/pl/platf/luajava.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/pretty.lua b/Utils/lua/5.1/share/lua/5.1/pl/pretty.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/pretty.lua rename to Utils/lua/5.1/share/lua/5.1/pl/pretty.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/seq.lua b/Utils/lua/5.1/share/lua/5.1/pl/seq.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/seq.lua rename to Utils/lua/5.1/share/lua/5.1/pl/seq.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/sip.lua b/Utils/lua/5.1/share/lua/5.1/pl/sip.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/sip.lua rename to Utils/lua/5.1/share/lua/5.1/pl/sip.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/strict.lua b/Utils/lua/5.1/share/lua/5.1/pl/strict.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/strict.lua rename to Utils/lua/5.1/share/lua/5.1/pl/strict.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/stringio.lua b/Utils/lua/5.1/share/lua/5.1/pl/stringio.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/stringio.lua rename to Utils/lua/5.1/share/lua/5.1/pl/stringio.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/stringx.lua b/Utils/lua/5.1/share/lua/5.1/pl/stringx.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/stringx.lua rename to Utils/lua/5.1/share/lua/5.1/pl/stringx.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/tablex.lua b/Utils/lua/5.1/share/lua/5.1/pl/tablex.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/tablex.lua rename to Utils/lua/5.1/share/lua/5.1/pl/tablex.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/template.lua b/Utils/lua/5.1/share/lua/5.1/pl/template.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/template.lua rename to Utils/lua/5.1/share/lua/5.1/pl/template.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/test.lua b/Utils/lua/5.1/share/lua/5.1/pl/test.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/test.lua rename to Utils/lua/5.1/share/lua/5.1/pl/test.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/text.lua b/Utils/lua/5.1/share/lua/5.1/pl/text.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/text.lua rename to Utils/lua/5.1/share/lua/5.1/pl/text.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/utils.lua b/Utils/lua/5.1/share/lua/5.1/pl/utils.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/utils.lua rename to Utils/lua/5.1/share/lua/5.1/pl/utils.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/xml.lua b/Utils/lua/5.1/share/lua/5.1/pl/xml.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/pl/xml.lua rename to Utils/lua/5.1/share/lua/5.1/pl/xml.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/file.lua b/Utils/lua/5.1/share/lua/5.1/template/file.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/file.lua rename to Utils/lua/5.1/share/lua/5.1/template/file.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/index.lua b/Utils/lua/5.1/share/lua/5.1/template/index.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/index.lua rename to Utils/lua/5.1/share/lua/5.1/template/index.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/index/recordtypedef.lua b/Utils/lua/5.1/share/lua/5.1/template/index/recordtypedef.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/index/recordtypedef.lua rename to Utils/lua/5.1/share/lua/5.1/template/index/recordtypedef.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/item.lua b/Utils/lua/5.1/share/lua/5.1/template/item.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/item.lua rename to Utils/lua/5.1/share/lua/5.1/template/item.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/page.lua b/Utils/lua/5.1/share/lua/5.1/template/page.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/page.lua rename to Utils/lua/5.1/share/lua/5.1/template/page.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/recordtypedef.lua b/Utils/lua/5.1/share/lua/5.1/template/recordtypedef.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/recordtypedef.lua rename to Utils/lua/5.1/share/lua/5.1/template/recordtypedef.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/usage.lua b/Utils/lua/5.1/share/lua/5.1/template/usage.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/usage.lua rename to Utils/lua/5.1/share/lua/5.1/template/usage.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/utils.lua b/Utils/lua/5.1/share/lua/5.1/template/utils.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/template/utils.lua rename to Utils/lua/5.1/share/lua/5.1/template/utils.lua diff --git a/Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/templateengine.lua b/Utils/lua/5.1/share/lua/5.1/templateengine.lua similarity index 100% rename from Moose Development Evironment Setup/LuaFiles/lua/5.1/share/lua/5.1/templateengine.lua rename to Utils/lua/5.1/share/lua/5.1/templateengine.lua

    3$?ChK&`9CU0(xr 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 OW9zFGj_m$UAO9asV4S}I literal 0 HcmV?d00001 diff --git a/Moose Mission Setup/Moose Mission Update/History.txt b/Utils/7-Zip/History.txt similarity index 99% rename from Moose Mission Setup/Moose Mission Update/History.txt rename to Utils/7-Zip/History.txt index 677d35b55..89702db1f 100644 --- a/Moose Mission Setup/Moose Mission Update/History.txt +++ b/Utils/7-Zip/History.txt @@ -1,6 +1,19 @@ HISTORY of the 7-Zip -------------------- +16.04 2016-10-04 +------------------------- +- The bug was fixed: 7-Zip 16.03 exe installer under Vista didn't create + links in Start / Programs menu. +- Some bugs were fixed in RAR code. + + +16.03 2016-09-28 +------------------------- +- Installer and SFX modules now use some protection against DLL preloading attack. +- Some bugs were fixed in 7z, NSIS, SquashFS, RAR5 and another code. + + 16.02 2016-05-21 ------------------------- - 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip). diff --git a/Utils/7-Zip/Lang/af.txt b/Utils/7-Zip/Lang/af.txt new file mode 100644 index 000000000..c578d4530 --- /dev/null +++ b/Utils/7-Zip/Lang/af.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.09 : Petri Jooste +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Afrikaans +Afrikaans +401 +OK +Kanselleer + + + +&Ja +&Nee +A&fsluit +Hulp + +&Gaan voort +440 +Ja vir &almal +Nee vir a&lmal +Stop +Herbegin +&Agtergrond +&Voorgrond +&Wag +Wagtend +Is u seker dat u wil kanselleer? +500 +&Lêer +R&edigeer +&Vertoon +G&unstelinge +&Gereedskap +&Hulp +540 +&Open +Open &Binne +Open B&uite +&Wys +R&edigeer +Her&noem +&Kopieer na... +&Verskuif na... +Ve&rwyder +Ver&deel lêer... +Kom&bineer lêers... +E&ienskappe +Komme&ntaar + + +Maak gids +Maak lêer +A&fsluit +600 +Selekteer &alles +Deselekteer a&lles +Keer &seleksie om +Selekteer... +Deselekteer... +Selekteer op Soort +Deselekteer op Soort +700 +&Groot ikone +&Klein ikone +&Lys +&Detail +730 +Ongesorteer + +&2 Panele +&Nutsbalke +Maak wortelgids oop +Een vlak hoër +Gidse geskiedenis... +&Verfris +750 +Argiveernutsbalk +Standaardnutsbalk +Groot knoppies +Wys teks op knoppies +800 +Voeg gids by gunstelinge &as +Boekmerk +900 +&Opsies... +&Normtoetsing +960 +&Inhoud... +&Aangaande 7-Zip... +1003 +Pad +Naam +Uitgang +Gids +Grootte +Ingepakte grootte +Kenmerke +Gemaak +Laatste toegang +Gewysig +Kompak +Kommentaar +Versleuteld +Verdeel Voor +Verdeel Na +Woordeboek +CRC +Tipe +Anti +Metode +Gasheer BS +Lêersstelsel +Gebruiker +Groep +Blok +Kommentaar +Posisie + + + + + + + + + + + + + + + + + + + + + + + + + +Fout +Totale grootte +Vrye ruimte +Klustergrootte +Etiket +Plaaslike naam +Verskaffer +2100 +Opsies +Taal +Taal: +Redigeerder +R&edigeerder: + +2200 +Stelsel +Assosieer 7-Zip met: +2301 +Integreer 7-Zip in kontekskeuselys. +Trapsgewyse kontekskeuselys +Kontekskeuselysitems: +2320 + + +Open +Pak lêers uit... +Voeg by argief... +Toets argief +Pak hier uit +Pak uit in {0} +Voeg by {0} +Saampers en e-pos... +Pers saam in {0} en e-pos +2400 +Gidse +&Werkgids +&TEMP-gids van het stelsel +&Huidige gids +&Gespesifiseerde gids: +Gebruik slegs vir verwisselbare media. +Spesifiseer die stoorplek vir tydelyke argieflêers. +2500 +Instellings +Wys ".." &item +Wys &ware lêerikone +Wys &stelselkeuselys +Wys seleksie oor &hele ry(e) +Wys &roosterlyne + + + +2900 +Aangaande 7-Zip +7-Zip is gratis programmatuur. Indien u egter so baie van 7-Zip hou dat u die verdere ontwikkeling wil ondersteun, registreer dan asb. met 'n geldelike donasie aan die 7-Zip Projek. +3000 + +Daar is geen foute nie +{0} objekt(e) is geselekteer +Kan gids '{0}' nie maak nie +Bywerk-funksie word vir hierdie argief nie ondersteun nie. + + + + +Lêer '{0}' is gewysig.\nWil u dit bywerk in die argief? +Kan lêer\n'{0}' nie bywerk nie +Redigeerder nie aan die gang gesit word nie. + + + + +Te veel items +3300 +Besig om uit te pak +Besig met saampersing +Besig om te toets +Besig om oop te maak... + +3400 +&Uitpak +U&itpak in: +Gee 'n bestemming vir uitgepakte lêers. +3410 +Pad-metode +Volledige padname +Geen padname +3420 +Vervang lêers +Vervang slegs met bevestiging +Vervang sonder bevestiging +Slaan bestaande lêers oor +Hernoem outomaties +Hernoem bestaande lêers outomaties +3500 +Bevestig lêeroorskrywing +Doelgids bevat alreeds 'n lêer met hierdie naam. +Wil u die bestaande lêer vervang +deur hierdie lêer ? +{0} grepe +O&utomaties hernoem +3700 +Nie-ondersteunde saampersmetode vir '{0}'. +Datafout in '{0}'. Lêer is beskadig. +CRC het misluk in '{0}'. Lêer is beskadig. + + +3800 +Tik wagwoord in +Tik wagwoord in: + +&Wys wagwoord + + + +&Wagwoord +3900 +Tydsduur sovêr: +Oorblywende tyd: +Grootte: +Spoed: + + +Foute: + +4000 +Voeg by argief +&Argief: +&Bywerkwyse: +Argie&fformaat: +Saampersingv&lak: +&Saampersmetode: +&Woordeboekgrootte: +&Woordgrootte: + + +Pa&rameters: +Opsies +Maak SF&X argief + + + +Enkripteer lêer&name +Geheuegebruik vir saampersing: +Geheuegebruik vir uitpakking: +4050 +Stoor +Vinnigste +Vinnig +Normaal +Maksimum +Ultra +4060 +Lêers byvoeg en vervang +Lêers bywerk en byvoeg +Verfris bestaande lêers +Sinkroniseer lêers +4070 +Blaai +Alle lêers + + +6000 +Kopieer +Verskuif +Kopieer na: +Verskuif na: +Besig met kopiëring... +Besig met verskuiwing... +Besig met hernoeming... + +Bewerking word nie ondersteun nie. +Fout by hernoeming van lêer of gids + + +6100 +Bevestig lêerverwydering +Bevestig gidsverwydering +Bevestig verwydering van meerdere lêers +Is u seker dat u '{0}' wil verwyder? +Is u seker dat u gids '{0}' asook die inhoud daarvan wil verwyder? +Is u seker dat u hierdie {0} items wil verwyder? +Besig met verwydering... +Fout by verwydering van lêer of gids + +6300 +Maak gids +Maak lêer +Naam van die gids: +Lêernaam: +Nuwe gids +Nuwe lêer +Fout by maak van gids +Fout by maak van nuwe lêer +6400 + + +Selekteer +Deselekteer +Masker: +6600 + +Gidse-geskiedenis +Diagnostiese boodskappe +Boodskap +7100 +Rekenaar +Network + +Stelsel +7200 +Voeg by +Pak uit +Toets +Kopiëer +Skuif +Vee uit +Intigting +7300 +Verdeel lêer +&Verdeel na: +Verdeel in &volumes, aantal grepe: +Besig met verdeling... + + + + + +7400 +Kombineer lêers +&Kombineer na: +Besig met kombinering... + + + +7500 + + + + +7600 +Meet +Geheuegebruik: +Inpakking +Uitpakking +Gradering +Totale gradering +Huidige +Resultaat + + +Lopies: diff --git a/Utils/7-Zip/Lang/an.txt b/Utils/7-Zip/Lang/an.txt new file mode 100644 index 000000000..6264849e9 --- /dev/null +++ b/Utils/7-Zip/Lang/an.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Feliciano Martínez Tur +; 9.07 : Juan Pablo Martínez +; +; +; +; +; +; +; +; +; +0 +7-Zip +Aragonese +Aragonés +401 +Acceptar +Cancelar + + + +&Sí +&No +&Zarrar +Aduya + +&Continar +440 +Sí a &tot +No a t&ot +Aturar +Tornar a empecipiar +Se&gundo plano +P&rimer plano +&Pausa +Aturau +Yes seguro que quiers cancelar? +500 +&Fichero +&Editar +&Veyer +&Favoritos +&Ferramientas +Ad&uya +540 +&Ubrir +Ubrir &adintro +Ubrir &difuera +&Veyer +&Editar +Re&nombrar +&Copiar en... +&Mover ta... +&Borrar +Di&vidir o fichero... +C&ombinar os fichers... +&Propiedatz +Comen&tario +Calcular a suma de comprebación +Diff +Creyar carpeta +Creyar fichero +&Salir +600 +Seleccionar-lo &tot +Deseleccionar-lo tot +&Invertir selección +Seleccionar... +Deseleccionar... +Seleccionar por tipo +Deseleccionar por tipo +700 +Iconos g&rans +&Iconos chicotz +&Lista +&Detalles +730 +Desordenau +Anvista plana +&2 panels +&Barras de ferramientas +Ubrir a carpeta radiz +Carpeta mai +Historial de carpetas... +&Esviellar +750 +Barra de ferramientas d'archivo +Barras de ferramientas estandard +Botons grans +Amostrar texto en os botons +800 +&Adhibir carpeta a favoritos como +Adhibir a favoritos +900 +&Opcions... +&Prebas de referencia (benchmark) +960 +&Conteniu... +A&rredol de 7-Zip... +1003 +Rota +Nombre +Tipo de fichero +Carpeta +Grandaria +Grandaria comprimida +Atributos +Creyau +Zaguer acceso +Zaguera modificación +Compacto +Comentario +Zifrau +Expandiu antis +Expandiu dimpués +Diccionario +CRC +Tipo +Anti +Metodo +SO d'orichen +Sistema de fichers +Usuario +Grupo +Bloque +Comentario +Posición +Prefixo de rota +Carpeta +Fichers +Versión +Fragmento +Multiframento +Desplazamiento +Vinclos +Bloques +Fragmentos + +64-bit +Big-endian +CPU +Grandaria fisica +Grandaria d'as cabeceras +Suma de comprebación +Caracteristicas +Adreza virtual +ID +Nombre curto +Aplicación creyadera +Grandaria de sector +Modo +Vinclo +Error +Espacio total +Espacio libre +Grandaria de sector +Etiqueta +Nombre local +Proveyedor +2100 +Opcions +Luenga +Luenga: +Editor +&Editor: +&Diff: +2200 +Sistema +Asociar 7-Zip con: +2301 +Integrar 7-Zip en o menú contextual de Windows +Menú contextual en cascada +Elementos d'o menú contextual: +2320 + + +Ubrir archivo +Extrayer-ne os fichers... +Adhibir a l'archivo... +Comprebar l'archivo +Extrayer aquí +Extrayer en {0} +Adhibir a {0} +Comprimir y ninviar por correu... +Comprimir en {0} y ninviar por correu +2400 +Carpeta +Carpeta de &treballo +Carpeta temporal d'o &sistema +Carpeta &actual +&Especificar una carpeta: +No emplegar que ta dispositivos extrayibles +Especificar una carpeta ta archivos temporals. +2500 +Propiedatz +Amostrar l'elemento ".." +Amostrar iconos propios +Amostrar o menú d'o sistema +&Seleccionar ringlera(s) completa(s) +Amostrar as linias d'a &quadricla +Clicar una vegada ta ubrir elemento +Modo de selección &alternativo +Emplegar pachinas de memoria &grans +2900 +Arredol de 7-Zip +7-Zip ye un programa libre y gratuito. Si quiers, puetz colaborar en o desembolique de 7-Zip rechistrando-te ta contribuyir a amillorar o programa. +3000 +O sistema no ha puesto asignar a cantidat necesaria de memoria +No i hai errors +{0} elemento(s) seleccionau(s) +No se puet creyar a carpeta '{0}' +Ista mena d'archivo no permite actualización. +No se puet ubrir o fichero '{0}' como archivo comprimiu +No se puet ubrir l'archivo zifrau '{0}'. Comprebe si a clau ye incorrecta. +Tipo d'archivo no admeso +O fichero {0} ya existe +O fichero '{0}' s'ha modificau.\nQuiers esviellar-lo en l'archivo? +No se puet esviellar o fichero\n'{0}' +No se puet executar l'editor. +O fichero pareix un virus (o nombre d'o fichero contiene espacios largos). +No se puet execitar ista operación dende una carpeta que tienga una rota larga. +Has de seleccionar un fichero +Has de seleccionar un u más fichers +Masiaus elementos +3300 +Extrayendo +comprimindo +Prebando +Ubrindo... +Buscando... +3400 +Extrayer +E&xtrayer a: +Selecciona un destín ta os fichers extrayius. +3410 +Modo de rota +Rotas completas +Sin rotas +3420 +Modo de sobrescritura +Con confirmación +Sin confirmación +Conservar os fichers ya existents +Renombrar automaticament +Renombrar automaticament os fichers ya existents +3500 +Confirmar a substitución de fichers +A carpeta de destín ya contiene un fichero con o mesmo nombre. +Quiers substituyir o fichero existent +por iste atro? +{0} bytes +Renombrar a&utomaticament +3700 +Metodo de compresión no valido ta '{0}'. +Error de datos en '{0}'. O fichero ye corrompiu. +O CRC ha fallau en '{0}'. O fichero ye corrompiu. +Error de datos en o fichero zifrau '{0}'. Verifica a clau. +Error de CRC en o fichero zifrau '{0}'. Verifica a clau. +3800 +Escribe a clau +Escribe a clau: +Torne a escribir a clau: +&Amostrar a clau +As claus son diferents. Por favor, torne a escribir-la. +Emplega en a clau nomás as letras de l'alfabeto anglés, numeros y caracters especials (!, #, $, ...) +A clau ye masiau larga. +Contrasenya +3900 +Tiempo transcorriu: +Tiempo pendient: +Grandaria: +Velocidat: +Procesau: +Razón de compresión: +Errors: +Archivos: +4000 +Adhibir a l'archivo +&Archivo: +M&odo d'actualización: +&Formato d'archivo: +&Libel de compresión: +&Metodo de compresión: +Grandaria de &diccionario: +Granda&ria d'a parola: +Grandaria de bloque compacto: +Numero de filos d'a CPU: +&Parametros: +Opcions +Creyar archivo SF&X (autoextrayible) +Comprimir fichers compartius +Encriptación +Metodo d'e &zifrau: +Zifrar &nombres de fichero +Memoria emplegada ta comprimir: +Memoria emplegada ta descomprimir: +4050 +Sin compresión +A mas rapida +Rapida +Normal +Maxima +Ultra +4060 +Adhibir y substituyir fichers +Esviellar y adhibir-ie fichers +Esviellar fichers ya presents +Sincronizar fichers +4070 +Explorar +Totz os fichers +No compacto +Compacto +6000 +Copiar +Mover +Copiar en: +Mover ta: +Copiando... +Movendo... +Renombrando... +Selecciona a carpeta de destín +Operación no permitida. +Error en enombrar un fichero u carpeta +Confirmar a copia d'o fichero +Yes seguro de que quiers copiar os fichers en l'archivo +6100 +Confirmar borrau de fichero +Confirmar borrau de carpeta +Confirmar borrau multiple fichers +Yes seguro que quiers borrar '{0}'? +Yes seguro que quiers borrar a carpeta '{0}' y tot o suyo conteniu? +Yes seguro que quiers borrar istos {0} elementos? +Borrando... +Error borrando fichero u carpeta +O sistema no puet mover un fichero con rota larga ta la Papelera de Reciclache +6300 +Creyar carpeta +Creyar fichero +Nombre de'a carpeta: +Nombre de'o fichero: +Carpeta nueva +Fichero nuevo +Error en creyar carpeta +Error en creyar o fichero: +6400 +Comentario +&Comentario: +Seleccionar +Deseleccionar +Patrón: +6600 +Propiedatz +Historial de carpetas +Mensaches de diagnostico +Mensache +7100 +O mío ordinador +Entorno de ret +Documentos +Sistema +7200 +Adhibir +Extrayer +Prebar +Copiar +Mover +Borrar +Información +7300 +Dividir fichero +Di&vidir a: +Dividir en fra&gmentos (bytes): +Dividindo... +Confirmar a división +Yes seguro que quiers dividir o fichero en {0} fragmentos? +A grandaria d'os fragmentos ha d'estar menor que a d'o fichero orichinal +Grandaria de fragmento incorrecta +Grandaria de fragmento especificada: {0} bytes.\nYe seguro que quiere dividir o fichero en fragmentos d'ixa grandaria? +7400 +Combinar fichers +&Combinar en: +Combinando... +Selecciona només o primer fichero +No s'ha puesto detectar o fichero como parti d'un fichero por fragmentos +No s'ha puesto trobar que un fragmento d'o fichero por fragmentos +7500 +Calculando a suma de verificación... +Suma de verificación (CRC) +CRC d'os datos: +CRC d'os datos y os nombres: +7600 +Prebas de referencia (benchmark) +Emplego de memoria: +Compresión +Descompresión +Taxa +Taxa total +Actual +Resultant +Emplego de CPU +Taxa / Emplego +Pasadas: diff --git a/Utils/7-Zip/Lang/ar.txt b/Utils/7-Zip/Lang/ar.txt new file mode 100644 index 000000000..f62e23c62 --- /dev/null +++ b/Utils/7-Zip/Lang/ar.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 9.07 :ترجمةالاستاذ:عوض ال-عائض الغامدي +; 9.07 : Awadh A Al-Ghaamdi +; +; 15.00 : 2016-08-28 : تعديل وتصحيح الترجمة: سي٠حسام الاسدي +; 15.00 : 2016-08-28 : Saif H Al-asadi (edited and corrected) +; +; +; +; +; +; +0 +7-Zip +Arabic +عربي +401 +حسنا +إلغاء الأمر + + + +&نعم +&لا +&إغلاق +المساعدة + +&استمرار +440 +نعم للكل +لا للكل +إيقا٠+إعادة تشغيل +&بالخلÙية +&بالمقدمة +&إيقا٠مؤقت +متوق٠مؤقتا +هل أنت متأكد من الإلغاء؟ +500 +&المل٠+&التعديل +&العرض +التÙ&ضيلات +&ألادوات +&المساعدة +540 +&ÙØªØ­ +&Ø§ÙØªØ­ بالداخل +&Ø§ÙØªØ­ للخارج +&عرض +&تعديل +إعادة التسمية +..نسخ إلى +..نقل إلى +&حذ٠+&تقسيم الملÙ... +دم&ج Ø§Ù„Ù…Ù„ÙØ§Øª... +الخ&صائص +تعليق& +حساب قيمة التدقيق +ÙØ±Ù‚ +إنشاء مجلد +إنشاء مل٠+خروج +الربط +&الجداول البديلة +600 +تحديد الكل +عدم تحديد الكل +عكس التحديد +تحديد... +عدم تحديد... +تحديد حسب النوع +عدم تحديد حسب النوع +700 +رموز كبيرة +رموز صغيرة +&القائمة +&Ø§Ù„ØªÙØ§ØµÙŠÙ„ +730 +غير مرتب +العرض الاÙقي +&مجموعتين +&أشرطة الأدوات +ÙØªØ­ المجلد الرئيسي +للأعلى بمستوى واحد +...محÙوظات المجلدات +&تحديث +تحديث تلقائي +750 +شريط أدوات Ø§Ù„Ø£Ø±Ø´ÙØ© +شريط ألادوات قياسي +أزرار كبيرة +إظهار تسميات الازرار +800 +&Ø¥Ø¶Ø§ÙØ© المجلد Ù„Ù„Ù…ÙØ¶Ù„Ø© باسم +العلامات المرجعية +900 +...&الخيارات +&معالج الاداء +960 +..&المحتويات +7-Zip &حول... +1003 +المسار +الإسم +الإمتداد +المجلد +الحجم +الحجم المضغوط +الخواص +تم انشاءه +تم الدخول +تم تعديله +ثابت +تم التعيلق +Ù…Ø´ÙØ± +التقسيم قبل +التقسيم بعد +القاموس + +النوع +متعدد +الطريقة +نظام التشغيل +Ù…Ù„ÙØ§Øª النظام +المستخدم +المجموعة +التكتل +التعليق +الموقع +بادئة المسار +المجلدات +Ø§Ù„Ù…Ù„ÙØ§Øª +الإصدار +وحدة التخزين +وحدة تخزين متعددة +التعويض +روابط +كتل +وحدات تخزين + +64-بت +Big-endian +CPU +الحجم الطبيعي +حجم المقدمات +قيمة التحقق +المميزات +العنوان الظاهري +الهوية +إسم قصير +برنامج الانشاء +حجم القطاع +الوضع +الرابط الرمزي +خطأ +الحجم الكلي +المساحة الحرة +حجم الجزء +العلامة +الإسم المحلي +المجهز +NT أمان +الجداول البديلة +Aux +تم Ø­Ø°ÙØ© +Ø§Ù„ØªÙØ±Ø¹Ø§Øª + + +خطأ ÙÙŠ النوع +اخطاء +اخطاء +تحذيرات +تحذير +الجداول +الجداول البديلة +حجم الجداول البديلة +الحجم الظاهري +حجم الاخراج +الحجم الطبيعي الكلي +دليل الحجم +النوع Ø§Ù„ÙØ±Ø¹ÙŠ +تعليق قصير +رمز Ø§Ù„ØµÙØ­Ø© + + + +حجم التذييل +حجم العقبات المضمن +الارتباط +الارتباط الصعب +iNode + +للقراءة-Ùقط +2100 +الخيارات +اللغة +ترجمةالأستاذ عوض الغامدي -التعديل سي٠الاسدي +المحرر +&المحرر: +ال&ÙØ±Ù‚: +2200 +النظام +تكامل البرنامج مع : +جميع المستخدمين +2301 +الإندماج مع قائمة الزر الايمن +تتالي قائمة الزر الايمن +عناصر قائمة الزر الايمن : +الايقونات ÙÙŠ قائمة الزر الايمن +2320 +<مجلد> +<إرشيÙ> +ÙØªØ­ ارشي٠+استخراج Ø§Ù„Ù…Ù„ÙØ§Øª... +Ø¥Ø¶Ø§ÙØ© إلى الإرشيÙ... +ÙØ­Øµ الإرشي٠+إستخرج هنا +إستخرج إلى {0}Ù€ +Ø¥Ø¶Ø§ÙØ© إلى {0}Ù€ +ضغط ثم إرسال... +ضغط إلى {0} ثم إرسال +2400 +مجلدات +&مجلد العمل +&مجلد النظام المؤقت +&الحالي +&محدد: +الإستخدام Ùقط للأقراص المتحركة +تحديد موضع للإرشي٠المؤقت Ù„Ù„Ù…Ù„ÙØ§Øª +2500 +الاعدادات +".." إظهار عنصر +إظهار أيقونات Ø§Ù„Ù…Ù„Ù Ø§Ù„ÙØ¹Ù„ية +إظهار قائمة النظام +&تحديد الص٠بالكامل +إظهار خطوط الشبكة +نقرة واحدة Ù„ÙØªØ­ أي مادة +&نظام تحديد بديل +إستعمال &ØµÙØ­Ø§Øª ذاكرة كبيرة +2900 +حول البرنامج +7-Zip البرنامج مجاني +3000 +لا يمكن للنظام تخصيص الكمية المطلوبة للذاكرة +لا يوجد أخطاء +تم تحديد {0} عنصر +'{0}' لا يمكن إنشاء المجلد +تحديث العمليات غير مدعوم لهذا الإرشي٠+كأرشي٠'{0}' لا يمكن ÙØªØ­ المل٠+كلمة المرور خطأ ØŸ . '{0}' تعذر ÙØªØ­ Ø§Ù„Ø£Ø±Ø´ÙŠÙ Ø§Ù„Ù…Ø´ÙØ± +نوع أرشي٠غير معتمد +موجود مسبقا {0} المل٠+أتريد تحديثه ÙÙŠ الإرشي٠؟\nالمل٠'{0}' تم تعديله +لا يمكن تحديث الملÙ\n'{0}' +لا يمكن بدء المحرر +(المل٠يشبه Ùيروس (إسم المل٠يحتوي على Ù…Ø³Ø§ÙØ§Øª طويلة +لا يمكن إستدعاء العملية من مجلد له مسار طويل +يجب تحديد مل٠واحد +يجب تحديد مل٠واحد أو أكثر +عناصر كثيرة جداً +لايمكن ÙØªØ­ المل٠{0} كأرشي٠+Ø§Ù„Ù…Ù„Ù Ù…ÙØªÙˆØ­ {0} كأرشي٠+ان Ø§Ù„Ø§Ø±Ø´ÙŠÙ Ù…ÙØªÙˆØ­ بطريقة الطباعة Ø¨Ø§Ù„Ø§ÙˆÙØ³ÙŠØª +3300 +استخراج +الضغط +ÙØ­Øµ +...Ùـتـح... +...يتم Ø§Ù„ØªÙØ­Øµ +تتم الازالة +3320 +يتم Ø§Ù„Ø§Ø¶Ø§ÙØ© +يتم التحديث +يتم التحليل +يتم التكرار +يتم اعادة الضغط +يتم التجاهل +يتم الحذ٠+يتم انشاء المقدمة +3400 +استخراج +استخراج إلى: +تحديد الموضع Ù„Ù„Ù…Ù„ÙØ§Øª المستخرجة +3410 +حالة المسار +اسم المسار بالكامل +بدون اسم المسار +اسم المسار المطلق +اسم المسار النسبي +3420 +حالة إعادة الكتابة +السؤال قبل إعادة الكتابة +إعادة الكتابة بدون تنبيه +تجاوز Ø§Ù„Ù…Ù„ÙØ§Øª Ø§Ù„Ù…ØªÙˆÙØ±Ø© +تسمية تلقائية +تسمية Ø§Ù„Ù…Ù„ÙØ§Øª الموجودة تلقائياً +3430 +ازالة تكرارات المجلد الرئيسي +استعادة مل٠الامان +3500 +تأكيد استبدال المل٠+المجلد الهد٠يحوي مسبقاً المل٠+أتريد استبدال المل٠الموجود؟ +بهذا Ø§Ù„Ù…Ù„ÙØŸ +{0} بايت +إعادة تسمية تلقائية +3700 +'{0}'طريقة ضغط غير معتمدة لـ +'{0}'خطأ بيانات ÙÙŠ. المل٠تال٠+'{0}' خطأ بصمة ÙÙŠ . المل٠تال٠+خطأ بيانات ÙÙŠ Ø§Ù„Ù…Ù„Ù Ø§Ù„Ù…Ø´ÙØ± '{0}' . كلمة المرور غير صحيحة ØŸ +ÙØ´Ù„ Ø§Ù„ÙØ­Øµ الدوري ÙÙŠ Ø§Ù„Ù…Ù„Ù Ø§Ù„Ù…Ø´ÙØ± '{0}' . كلمة المرور غير صحيحة ØŸ +3710 +كلمة مرور خاطئة? +3721 +طريقة ضغط غير مدعومة +بيانات خطأ +CRC ÙØ´Ù„ +بيانات غير متاحة +النهاية Ø§Ù„Ù…ÙØ§Ø¬Ø¦Ø© للبيانات +هناك بعض البيانات بعد نهاية بيانات الحمولة +ليس Ø§Ø±Ø´ÙŠÙØ§Ù‹ +مقدمات خطأ +كلمة مرور خاطئة +3763 +البداية غير Ù…ØªÙˆÙØ±Ø© للارشي٠+البداية غير مؤكدة للارشي٠+ + + +ميزة غير مدعومة +3800 +أدخل كلمة المرور +أدخل كلمة المرور: +إعادة كلمة المرور : +&إظهار كلمة المرور +كلمتا المرور غير متطابقتان +أستخدم Ùقط حرو٠إنجليزية Ùˆ أرقام Ùˆ علامات خاصة (!,#,,$ ...) لكلمة المرور +كلمة المرور طويلة جدا +كلمة المرور +3900 +الزمن المنقضي: +الزمن المتبقي: +الحجم الكلي: +السرعة: +المعالج: +نسبة الضغط: +الأخطاء: +Ù…Ù„ÙØ§Øª الإرشيÙ: +4000 +Ø¥Ø¶Ø§ÙØ© للإرشي٠+&الإرشيÙ: +&حالة التحديث: +صيغة الإرشيÙ: +مستوى الضغط&: +طريقة الضغط: +&حجم المعجم: +&حجم الكلمة: +حجم الكتلة الخاصة : +CPU عدد مؤشرات الـ : +&أوامر إضاÙية: +الخيارات +إنشاء إرشي٠ذاتي الإستخراج +ضغط Ø§Ù„Ù…Ù„ÙØ§Øª المشاركة +التشÙير +طريقة التشÙير : +تشÙير أسماء ال&Ù…Ù„ÙØ§Øª +إستهلاك الذاكرة للضغط : +إستهلاك الذاكرة لإلغاء الضغط : +Ø­Ø°Ù Ø§Ù„Ù…Ù„ÙØ§Øª بعد الضغط +4040 +خزن الاتباطات الرمزية +خزن الارتباطات الصعبة +خزن جداول البيانات البديلة +خزن مل٠الامان +4050 +للخزن +ألاسرع +السريع +الطبيعي +Ø§Ù„Ù…Ø±ØªÙØ¹ +ألاقصى +4060 +Ø¥Ø¶Ø§ÙØ© واستبدال Ø§Ù„Ù…Ù„ÙØ§Øª +تحديث Ùˆ Ø¥Ø¶Ø§ÙØ© Ø§Ù„Ù…Ù„ÙØ§Øª +تجديد Ø§Ù„Ù…Ù„ÙØ§Øª Ø§Ù„Ù…ØªÙˆÙØ±Ø© Ùقط +مزامنة Ø§Ù„Ù…Ù„ÙØ§Øª +4070 +إستعراض +ÙƒØ§ÙØ© Ø§Ù„Ù…Ù„ÙØ§Øª +غير خالص +خالص +6000 +نسخ +نقل +نسخ إلى: +نقل إلى: +...نـسـخ... +...نـقـل... +إعادة تسمية... +تحديد مجلد الوجهة +العملية غير معتمدة +حدوث خطأ لدي إعادة تسمية المل٠أو المجلد +تأكيد نسخ المل٠+هل أنت متأكد من نسخ Ø§Ù„Ù…Ù„ÙØ§Øª Ù„Ù„Ø¥Ø±Ø´ÙŠÙØŸ +6100 +تأكيد الحذ٠للمل٠+تأكيد الحذ٠للمجلد +تأكيد Ø§Ù„Ø­Ø°Ù Ù„Ù„Ù…Ù„ÙØ§Øª +'ØŸ {0}'هل أنت متأكد من حذ٠+هل أنت متأكد من حذ٠المجلد '{0}' Ùˆ ÙƒØ§ÙØ© محتوياته ØŸ +ØŸ {0} هل أنت متأكد من حذ٠العناصر التالية +حذÙ... +حدوث خطأ لدي حذ٠المل٠أو المجلد +لا يمكن للنظام نقل مل٠له مسار طويل إلى سلة Ø§Ù„Ù…Ø­Ø°ÙˆÙØ§Øª +6300 +إنشاء مجلد +إنشاء مل٠+اسم المجلد: +اسم الملÙ: +مجلد جديد +مل٠جديد +حدوث خطأ لدي إنشاء المجلد +حدوث خطأ لدي إنشاء المل٠+6400 +تعليق +&تعليق: +تحديد +عدم تحديد +Ø¥Ø®ÙØ§Ø¡: +6600 +خصائص +محÙوظات المجلدات +رسائل Ø§Ù„ÙØ§Ø­Øµ +رسالة +7100 +جهاز الكمبيوتر +الشبكة +المستندات +النظام +7200 +Ø¥Ø¶Ø§ÙØ© +إستخراج +ÙØ­Øµ +نسخ +نقل +حذ٠+معلومات +7300 +تقسيم المل٠+&التقسيم إلى: +التقسيم لكتل أو بايتات: +تقسيم... +تأكيد التقسيم +هل تريد ÙØ¹Ù„ا تقسيم المل٠إلى {0} كتلة ØŸ +يجب أن يكون حجم الكتلة أصغر من حجم المل٠الأصلي +كتلة الحجم غير صحيحة +حجم الكتلة المعين : {0} بايت\nهل تريد ÙØ¹Ù„ا تقسيم الأرشي٠إلى مثل هذه الكتل ØŸ +7400 +دمج Ø§Ù„Ù…Ù„ÙØ§Øª +&دمج إلى: +دمج... +حدد Ùقط الجزء الأول من مل٠التقسيم +لا يمكن إكتشا٠المل٠كجزء من مل٠التقسيم +لا يمكن العثور على أكثر من جزء واحد من مل٠التقسيم +7500 +...يتم حساب مجموعة الإختبار +معلومات مجموعة الإختبار +للبيانات CRC مجموعة الإختبار: +للبيانات Ùˆ للأسماء CRC مجموعة الإختبار: +7600 +تقييم الأداء +إستخدام الذاكرة: +ضغط +ÙÙƒ ضغط +المعدل +المعدل الكلي +الحالي +الناتج +CPU إستهلاك الـ +التقدير / الإستهلاك +العمليات: +7700 +الرابط +الارتباط +ربط من: +ربط الى: +7710 +نوع الربط +ربط قوي +ربط المل٠الرمزي +ربط القاموس الرمزي +قاموس الربط diff --git a/Utils/7-Zip/Lang/ast.txt b/Utils/7-Zip/Lang/ast.txt new file mode 100644 index 000000000..623ac9063 --- /dev/null +++ b/Utils/7-Zip/Lang/ast.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.07 : Dinamiteru +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Asturian +Asturianu +401 +Val +Torgar + + + +&Si +&Non +&Zarrar +Axuda + +&Siguir +440 +Si a &Too +Non a T&oo +Parar +Reentamar +&De fondu +&En primer planu +&Posar +Posao +¿Tas fixu que quies paralo? +500 +F&icheru +&Remanar +&Ver +F&avoritos +&Ferramientes +A&xuda +540 +&Abrir +Abrir &Dientro +Abrir F&uera +&Ver +&Remanar +Reno&mar +&Copiar a... +&Mover a... +&Borrar +&Partir ficheru... +Com&binar ficheros... +P&ropiedaes +Come&ntariu + + +Crear carpeta +Crear ficheru +Co&lar +600 +Seleicionar &Too +Deseleicionar too +&Invertir seleición +Seleicionar... +Deseleicionar... +Seleicionar por Tipu +Deseleicionar por Tipu +700 +Miniatures &Grandes +&Miniatures Pequeñes +&Llista +&Detalles +730 +Ensín Ordenar + +&2 Paneles +&Barres de Ferramientes +Abrir Carpeta Raiz +Xubir Un Nivel +Hestorial de Carpetes... +Actualiza&r +750 +Barra Ferramientes d´Archivu +Barra Ferramientes Normal +Botones Grandes +Amosar Testu nos Botones +800 +&Añedir carpeta a Favoritos como +Marca +900 +&Opciones... +&Bancu de Pruebes +960 +&Conteníos... +&Al rodiu 7-Zip... +1003 +Ruta +Nome +Estensión +Carpeta +Tamañu +Tamañu comprimío +Atributos +Creao +Accedío +Cambiao +Sólidu +Comentao +Cifrao +Partir antes +Partir dempués +Diccionariu +CRC +Tipu +Anti +Métodu +S.O. d´Acoyida +Sistema de ficheros +Usuariu +Grupu +Bloque +Comentariu +Posición + + + + + + + + + + + + + + + + + + + + + + + + + +Error +Tamañu total +Espaciu llibre +Tamañu del clúster +Etiqueta +Nome llocal +Suministrador +2100 +Opciones +Llingua +Llingua: +Remanaor +&Remanaor: + +2200 +Sistema +Asociar 7-Zip con: +2301 +Integrar 7-Zip nel menú contestual +Menú contestual en ´cascada´ +Artículos del menú contestual: +2320 + + +Abrir archivu +Estrayer ficheros... +Añedir al archivu... +Probar archivu +Estrayer equí +Estrayer a {0} +Añedir a {0} +Comprimir y mandar per correu... +Comprimir en {0} y mandar per correu +2400 +Carpetes +&Carpeta de trabayu +Carpeta &temporal de sistema +&Actual +&Especificar: +Usar sólo pa dispositivos estrayibles +Especificar llocalización pa ficheros d´archivos temporales. +2500 +Igües +Amosar ".." artículu +Amosar les miniatures reales del ficheru +Amosar menú del sistema +Seleicionar tola &fila +Amosar les llinies de la &cuadrícula + + + +2900 +Al rodiu 7-Zip +7-Zip ye software llibre. De toos moos, tú pues sofitar el desendolcu de 7-Zip rexistrándote. +3000 + +Ensín errores +{0} oxetu(os) seleicionaos +Nun se puede crear la carpeta '{0}' +Esti archivu nun permite les operaciones d´actualización. + + + + +El ficheru '{0}' foi modificáu.\nDo ¿Quies actualizalu nel archivu? +Nun se pudo actualizar l´archivu\n'{0}' +Nun se pudo entamar el Remanaor. + + + + +Demasiaos artículos +3300 +Estrayendo +Comprimiendo +Probando +Abriendo... + +3400 +Estrayer +E&strayer a: +Especificar llocalización pa ficheros estrayíos. +3410 +Mou de ruta +Nomes de ruta completos +Ensín nomes de ruta +3420 +Mou de sobreescritura +Entrugar enantes de sobreescribir +Sobreescribir ensín confirmación +Dexar ficheros esistentes +Auto renomar +Auto renomar ficheros esistentes +3500 +Confirmar sustitución de ficheros +La carpeta destín yá tien el ficheru procesáu. +¿Quiés sustituyir el ficheru esistente +con esti otru? +{0} bytes +A&uto Renomar +3700 +Métodu de compresión nun permitíu pa '{0}'. +Error de datos en '{0}'. El ficheru ta rotu. +El CRC falló en '{0}'. El ficheru ta rotu. + + +3800 +Introduz clave +Introduz clave: + +Amo&sar clave + + + +Clave +3900 +Tiempu trescurríu: +Tiempu pa finar: +Tamañu: +Velocidá: + + +Errores: + +4000 +Añedir al archivu +&Archivu: +Mo&u d´actualización: +&Formatu del archivu: +Nive&l de compresión: +&Métodu de compresión: +Tamañu del &Diccionariu: +Tamañu de la pa&llabra: + + +&Parámetros: +Opciones +Crear archivu SF&X + + + +Cifrar &nomes de ficheru +Usu de memoria pa la compresión: +Usu de memoria pa la descompresión: +4050 +Nenguna +Más rápida +Rápida +Normal +Másima +Ultra +4060 +Añedir y sustituyir ficheros +Actualizar y añedir ficheros +Actualizar ficheros esistentes +Sincronizar ficheros +4070 +Agüeyar +Tolos ficheros + + +6000 +Copiar +Mover +Copiar a: +Mover a: +Copiando... +Moviendo... +Renomando... + +La operación nun tá permitía. +Error al renomar el ficheru o carpeta + + +6100 +Confirmar Borráu de Ficheru +Confirmar Borráu de Carpeta +Confirmar Borráu Múltiple de Ficheros +¿Tas fixu que quies borrar '{0}'? +¿Tas fixu que quies borrar la carpeta '{0}' y tolos sos conteníos? +¿Tas fixu que quies borrar estos {0} artículos? +Borrando... +Error al borrar el ficheru o carpeta + +6300 +Crear Carpeta +Crear ficheru +Nome de la carpeta: +Nome del ficheru: +Nueva carpeta +Nuevu ficheru +Error al crear la carpeta +Error al crear el ficheru +6400 +Comentariu +&Comentariu: +Seleicionar +Deseleicionar +Mazcarita: +6600 + +Hestorial de carpetes +Mensaxes de diagnósticu +Mensax +7100 +Ordenador +Rede de Trabayu + +Sistema +7200 +Añedir +Estrayer +Probar +Copiar +Mover +Borrar +Información +7300 +Partir Ficheru +&Partir a: +Partir en &cachos, bytes: +Partiendo... + + + + + +7400 +Combinar Ficheros +&Combinar a: +Combinando... + + + +7500 + + + + +7600 +Bancu de Pruebes +Usu de memoria: +Comprimiendo +Descomprimiendo +Valoración +Valoración total +Actual +Resultáu + + +Correutos: diff --git a/Utils/7-Zip/Lang/az.txt b/Utils/7-Zip/Lang/az.txt new file mode 100644 index 000000000..712b82833 --- /dev/null +++ b/Utils/7-Zip/Lang/az.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 9.07 : F@rhad +; 15.02 : 22/05/2015 : Г. ГаÑымов +; +; +; +; +; +; +; +; +; +0 +7-Zip +Azerbaijani +AzÉ™rbaycanca +401 +OLDU +İmtina + + + +&BÉ™li +&Xeyr +&BaÄŸla +KömÉ™k + +&Davam +440 +&Hamısına BÉ™li +Ha&mısına Xeyr +Dayan +YenidÉ™n baÅŸla +&Arxa planda +Ö&ndÉ™ +F&asilÉ™ +FasilÉ™dÉ™ +HÉ™qiqÉ™tÉ™n É™mÉ™liyyatı dayandırmaq istÉ™yirsiniz? +500 +&Fayl +&DüzÉ™liÅŸ +&Görünüş +S&eçilmiÅŸlÉ™r +&VasitÉ™lÉ™r +&Arayış +540 +&Aç +&DaxildÉ™ Aç +B&ayırda aç +&Baxış +&DüzÉ™liÅŸ +Ye&nidÉ™n Adlandır +&NüsxÉ™lÉ™... +&Köçür... +&Sil +Faylı &Böl... +Faylları B&irləşdir... +X&üsusiyyÉ™tlÉ™r +Şər&h... +Yoxlama CÉ™mi +MüqayisÉ™ +Qovluq Yarat +Fayl Yarat +Ç&ıxış +İstinad +&ÆvÉ™zedici Axınlar +600 +&Hamısını Seç +Seçimi Ləğv Et +&Seçimi Çevir +Seç... +Seçimi Ləğv Et... +NövünÉ™ GörÉ™ Seç +NövünÉ™ GörÉ™ Seçimi Ləğv Et +700 +&Böyük İşarÉ™lÉ™r +K&içik İşarÉ™lÉ™r +&Siyahı +&CÉ™dvÉ™l +730 +ÇeÅŸidsiz +MüstÉ™vi Görünüş +&2 LövhÉ™ +&AlÉ™tlÉ™r LövhÉ™lÉ™ri +Kök QovluÄŸu Aç +Bir SÉ™viyyÉ™ Yuxarı +Qovluqlar Tarixçəsi... +&YenilÉ™ +BilavasitÉ™ YenilÉ™mÉ™ +750 +ArxivlÉ™yicinin DüymÉ™lÉ™r LövhÉ™si +SadÉ™ DüymÉ™lÉ™r LövhÉ™si +Böyük DüymÉ™lÉ™r +DüymÉ™lÉ™r ÜzÉ™rindÉ™ MÉ™tnlÉ™r +800 +&QovluÄŸu SeçilmiÅŸlÉ™rÉ™ FÉ™rqli ÆlavÉ™ Et +ÆlfÉ™cin +900 +TÉ™nzimlÉ™mÉ™lÉ™r... +SÉ™mÉ™rÉ™ Sınağı +960 +&BaÅŸlıq... +7-Zip &Haqqında... +1003 +İstiqamÉ™t +Ad +GeniÅŸlÉ™mÉ™ +Qovluq +Ölçü +Sıxılmış +RÉ™mzlÉ™r +Yaranıb +Açıq +DÉ™yiÅŸilib +Aramsız +Şərh +ÅžifrÉ™lÉ™nib +ÆvvÉ™lki parça +Sonrakı parça +Lüğət + +Növ +ÆleyhinÉ™ +Sıxılma Üsulu +QuruluÅŸ +Fayl QuruluÅŸu +İstifadəçi +DÉ™stÉ™ +BölmÉ™ +Şərh +Mövqe +İstiqamÉ™t +Qovluq +Fayl +Buraxılış +Cild +Çox Cildli +UzlaÅŸma +İstinad +BölmÉ™ +Cild + + + +Prosessor +Fiziki Ölçü +BaÅŸlıqlar Ölçüsü +Yoxlama CÉ™mi +XassÉ™lÉ™r +XÉ™yali Ünvan + +Qısa Ad +Yaradıcı +SahÉ™ Ölçüsü +VÉ™ziyyÉ™t +RÉ™mzi İstinad +XÉ™ta +CÉ™mi HÉ™cm +Azad HÉ™cm +Toplam HÉ™cm +NiÅŸan +Qısa Ad +TÉ™chizatcı +NT TÉ™hlükÉ™sizlik +ÆvÉ™zedici Axın + +SilinmiÅŸ +AÄŸac + + +XÉ™ta Növü +XÉ™talar +XÉ™talar +XÉ™bÉ™rdarlıqlar +XÉ™bÉ™rdarlıq +Axınlar +ÆvÉ™zedici Axınlar +ÆvÉ™zedici Axınlar Ölçüsü +XÉ™yali Ölçü +CeÅŸidli Ölçü +Ümumi Fiziki Ölçü +Cild NömrÉ™si +Növaltı +Qısa Şərh +ÅžifrÉ™lÉ™nmiÅŸ SÉ™hifÉ™ + + + +Qalıq Ölçüsü +TÉ™tbiq OlunmuÅŸ BölmÉ™ Ölçüsü +İstinad +SÉ™rt İstinad +iNode + +Yalnız Oxumaq Üçün +2100 +TÉ™nzimlÉ™mÉ™lÉ™r +Dil +Dil: +DüzÉ™liÅŸ +&DüzÉ™liÅŸ: +&MüqayisÉ™: +2200 +QuruluÅŸ +7-Zip Fayllarla ÆlaqÉ™lÉ™nsin +Bütün İstifadəçilÉ™r +2301 +7-Zip É™hatÉ™ tÉ™klifinÉ™ tÉ™tbiq edilsin +ZÉ™ncirvari É™hatÉ™ tÉ™klifi +Ünsürlü É™hatÉ™ tÉ™klifi: +ÆhatÉ™ tÉ™klifindÉ™ niÅŸanlar +2320 + +<Ðrxiv> +Arxivi Aç +ÇeÅŸidlÉ™ +ArxivÉ™ ÆlavÉ™ Et... +Sınaq +Burda ÇeÅŸidlÉ™ +{0} ÇeÅŸidlÉ™ +{0} ÆlavÉ™ Et +Sıx VÉ™ E-Poçtla GöndÉ™r... +{0} Sıx VÉ™ E-Poçtla GöndÉ™r +2400 +Qovluqlar +&İş QovluÄŸu +&MüvÉ™qqÉ™ti QuruluÅŸ QovluÄŸu +&Cari +&TÉ™yin Et: +Yalnız dÉ™yiÅŸkÉ™n daşıyıcılar üçün istifadÉ™ +MüvÉ™qqÉ™ti arxivlÉ™r üçün yer göstÉ™r. +2500 +TÉ™nzimlÉ™mÉ™lÉ™r +".." ünsürünü göstÉ™r +HÉ™qiqi fayl iÅŸarÉ™lÉ™ri göstÉ™r +QuruluÅŸ tÉ™klifini göstÉ™r +Ox bütün sÉ™tir üzrÉ™ +Ayrıcıları GöstÉ™r +Bir ToxunuÅŸla Aç +ÆvÉ™zedici vÉ™ziyyÉ™t iÅŸarÉ™lÉ™nmÉ™si +Böyük yaddaÅŸ sÉ™hifÉ™lÉ™ri istifadÉ™si +2900 +7-Zip Haqqında +7-Zip SÉ™rbÉ™st Yayılan Proqramdır +3000 +KifayÉ™t qÉ™dÉ™r boÅŸ yaddaÅŸ yoxdur +SÉ™hvlÉ™r tapılmadı +{0} Ayrılmış hÉ™dÉ™f +'{0}' QovluÄŸunu yaratmaq mümkün olmadı +Bu arxiv üçün dÉ™yiÅŸiklik É™mÉ™liyatı dÉ™stÉ™klÉ™nmir +'{0}' Faylını arxiv kimi açmaq alınmadı +ÅžifrÉ™lÉ™nmiÅŸ '{0}' arxivini açmaq alınmadı. Yanlış ÅŸifrÉ™? +DÉ™stÉ™klÉ™nmÉ™yÉ™n arxiv +{0} faylı artıq mövcuddur +'{0}' faylına dÉ™yiÅŸiklik edildi.\nSiz onu arxivdÉ™ yenilÉ™mÉ™k istÉ™yirsiz? +\n'{0}' faylını yenilÉ™mÉ™k alınmadı +RedaktÉ™ni iÅŸÉ™ salmaq alınmadı +Fayl zÉ™rÉ™rvericiyÉ™ oxÅŸayır (faylın adı uzun boÅŸluq ardıcıllığı təşkil edir). +ÆmÉ™liyyat uzun yol təşkil edÉ™n qovluqdan icra oluna bilmir. +Siz bir fayl seçmÉ™lisiniz +Siz bir vÉ™ ya bir neçə fayl seçmÉ™lisiniz +HÉ™ddÉ™n çox ünsür +Faylı, '{0}' arxivi kimi açmaq alınmadı +Fayl, {0} arxivi kimi açıldı +Arxiv É™vÉ™zlÉ™nÉ™rÉ™k açıldı +3300 +ÇeÅŸidlÉ™nmÉ™ +Sıxılma +Sınaq +Açılma... +Yoxlama... +SilinmÉ™ +3320 +ÆlavÉ™ EtmÉ™k +YenilÉ™nmÉ™ +TÉ™hlil +NüsxÉ™lÉ™nmÉ™ +YenidÉ™n ÇeÅŸidlÉ™nmÉ™ +KeçmÉ™ İcazÉ™si +SilinmÉ™ +BaÅŸlıqlar Yaradılması +3400 +Ayır +Ç&eçidlÉ™: +Ayrılan faylların yerini göstÉ™rin. +3410 +Fayllara istiqamÉ™t: +Tam istiqamÉ™tlÉ™r +İstiqamÉ™tsiz +MütlÉ™q istiqamÉ™tlÉ™r +Nisbi istiqamÉ™tlÉ™r +3420 +YenidÉ™n yazılma: +TÉ™sdiqli +TÉ™sdiqsiz +ÖtürmÉ™k +BirbaÅŸa yenidÉ™n adlandır +Mövcud olanları yenidÉ™n adlandır +3430 +Kök qovluqla bÉ™nzÉ™rliyi aradan qaldır +Faylın tÉ™hlükÉ™sizlik bÉ™rpası +3500 +Faylın É™vÉ™zlÉ™nmÉ™ tÉ™sdiqi +Qovluq artıq emal olunan fayl təşkil edir. +Mövcud faylı É™vÉ™zlÉ™ +növbÉ™ti faylla? +{0} bayt +BirbaÅŸa yenidÉ™n adlandır +3700 +'{0}' faylının dÉ™stÉ™klÉ™nmÉ™yÉ™n sıxılma üsulu. +'{0}' mÉ™lumatlarında xÉ™ta. Fayl korlanıb. +'{0}' CRC xÉ™tası. Fayl korlanıb. +'{0}' ÅŸifrÉ™li fayl mÉ™lumatlarında xÉ™ta. Yanlış ÅŸifrÉ™? +'{0}' ÅŸifrÉ™li faylı üçün CRC xÉ™tası. Yanlış ÅŸifrÉ™? +3710 +Yanlış ÅŸifrÉ™? +3721 +DÉ™stÉ™klÉ™nmÉ™yÉ™n sıxılma üsulu +DÉ™lillÉ™rdÉ™ xÉ™ta +CRC xÉ™tası +Mövcud olmayan dÉ™lillÉ™r +DÉ™lillÉ™rin gözlÉ™nilmÉ™z sonu +BölmÉ™nin sonunda faydalı dÉ™lillÉ™r olduÄŸuna dÉ™lillÉ™r var +Arxiv deyil +BaÅŸlıqlarda XÉ™ta +Yanlış ÅŸifrÉ™ +3763 +Arxivin É™vvÉ™li mövcud deyil +TÉ™sdiqsiz arxiv É™vvÉ™li + + + +DÉ™stÉ™klÉ™nmÉ™yÉ™n xüsusiyyÉ™t +3800 +ÅžifrÉ™ daxil etmÉ™ +&ÅžifrÉ™ daxil edin: +ÅžifrÉ™ni tÉ™krarlayın: +&ÅžifrÉ™ni göstÉ™r +ÅžifrÉ™lÉ™r uyÄŸun deyil +ÅžifrÉ™ üçün yalnız latın hÉ™rflÉ™ri, rÉ™qÉ™mlÉ™r vÉ™ xüsusi rÉ™mzlÉ™r istifadÉ™ edin (!, #, $, ...) +ÅžifrÉ™ ÅŸox uzundur +&ÅžifrÉ™ +3900 +Keçdi: +Qalıb: +CÉ™mi: +SürÉ™t: +Ölçü: +Sıxılma dÉ™rÉ™cÉ™si: +XÉ™ta: +Arxiv: +4000 +ArxivÉ™ É™lavÉ™ etmÉ™k +&Arxiv: +&DÉ™yiÅŸmÉ™ vÉ™ziyyÉ™ti: +Arxiv &qismi: +Sıxılma &dÉ™rÉ™cÉ™si: +Sıxılma &üsulu: +&Lüğət ölçüsü: +&Söz ölçüsü: +BölmÉ™ ölçüsü: +Axın sayı: +&Nizamlar: +&SeçimlÉ™r +SF&X arxiv yarat +Yazılış üçün açıq faylları sıx +ÅžifrÉ™lÉ™mÉ™ +ÅžifrÉ™lÉ™mÉ™ üsulu: +Fayl adlarını &ÅŸifrÉ™lÉ™ +QablaÅŸdırma üçün yaddaÅŸ hÉ™cmi: +ÇeÅŸidlÉ™mÉ™ üçün yaddaÅŸ hÉ™cmi: +Sıxılmadan sonra faylları sil +4040 +RÉ™mzli keçidlÉ™ri saxla +SÉ™rt keçidlÉ™ri saxla +ÆvÉ™zedici axınları saxla +GiriÅŸ hüququnu saxla +4050 +Sıxılmasız +SürÉ™tli +CÉ™ld +MÉ™qbul +YüksÉ™k +Daha YüksÉ™k (Ultra) +4060 +ÆlavÉ™ et vÉ™ É™vÉ™zlÉ™ +YenilÉ™ vÉ™ É™lavÉ™ et +YenilÉ™ +Eyniləşdir (Sinxron) +4070 +VÉ™rÉ™qlÉ™ +Bütün Fayllar +Fayl ölçüsünÉ™ görÉ™ +Aramsız +6000 +NüsxÉ™lÉ™ +Köçür +NüsxÉ™lÉ™: +Köçür: +NüsxÉ™lÉ™lÉ™nmÉ™... +KöçürülmÉ™... +YenidÉ™n adlandırılma... +QovluÄŸu göstÉ™rin. +ÆmÉ™liyyat bu qovluq üçün dÉ™stÉ™klÉ™nmir. +Fayl vÉ™ ya QovluÄŸun YenidÉ™n Adlandırılması Zamanı XÉ™ta +Faylların NüsxÉ™lÉ™lÉ™nmÉ™ TÉ™sdiqi +Siz hÉ™qiqÉ™tÉ™n bu faylları arxivÉ™ nüsxÉ™lÉ™mÉ™k istÉ™yirsiz +6100 +Fayl silinmÉ™ tÉ™sdiqi +Qovluq silinmÉ™ tÉ™sdiqi +Fayllar dÉ™stÉ™sinin silinmÉ™ tÉ™sdiqi +Siz hÉ™qiqÉ™tÉ™n "{0}" silmÉ™k istÉ™yirsiz? +Siz hÉ™qiqÉ™tÉ™n "{0}" qovluÄŸunu vÉ™ onun bütün mÉ™zmununu silmÉ™k istÉ™yirsiz? +Siz hÉ™qiqÉ™tÉ™n {0} hÉ™dÉ™fi silmÉ™k istÉ™yirsiz? +SilinmÉ™... +Fayl vÉ™ ya Qovluq SilinmÉ™si Zamanı XÉ™ta +QuruluÅŸ uzun yollu faylların sÉ™bÉ™tÉ™ silinmÉ™si É™mÉ™liyyatını dÉ™stÉ™klÉ™mir +6300 +Qovluq Yarat +Fayl Yarat +Qovluq Adı: +Fayl Adı: +Yeni Qovluq +Yeni Fayl +Qovluq Yaradılması Zamanı ZÉ™ta +Fayl Yaradılması Zamanı ZÉ™ta +6400 +Şərh +&Şərh: +Seçin +Seçimi Ləğv Edin +Üzlük (Maska): +6600 +XassÉ™lÉ™r +Qovluqlar Tarixçəsi +İsmarıclar +İsmarıc +7100 +Kompüter +ŞəbÉ™kÉ™ +SÉ™nÉ™dlÉ™r +QuruluÅŸ +7200 +ÆlavÉ™ Et +Ayır +Sınaq +NüsxÉ™lÉ™ +Köçür +Sil +MÉ™lumat +7300 +Fayl BölmÉ™k +&BölmÉ™k: +CildlÉ™rÉ™ &bölmÉ™k, (bayt) ölçüdÉ™: +BölünmÉ™... +BölünmÉ™ TÉ™sdiqi +Siz hÉ™qiqÉ™tÉ™n faylı {0} hissÉ™yÉ™ bölmÉ™k istÉ™yirsiz? +Cild ölçüsü ilkin fayl ölçüsündÉ™n kiçik olmalıdır +CildlÉ™rin ölçü tÉ™yin etmÉ™ sahÉ™sindÉ™ xÉ™ta +TÉ™yin edilmiÅŸ cild ölçüsü: {0} bayt.\nSiz hÉ™qiqÉ™tÉ™n arxivi belÉ™ cildlÉ™rÉ™ bölmÉ™k istÉ™yirsiniz? +7400 +Faylları Birləşdir +&BirləşdirmÉ™k: +BirləşmÉ™... +Bölünmüş faylın yalnız birinci hissÉ™sini seçmÉ™k lazımdır +Bölünmüş faylın tanınması mümkün olmadı +Bölünmüş faylın birdÉ™n çox hissÉ™sini tapmaq mümkün olmadı +7500 +Yoxlanma cÉ™minin hesablanması... +Yoxlanma cÉ™mi +DÉ™lillÉ™r üçün CRC yoxlanma cÉ™mi: +DÉ™lillÉ™r vÉ™ adlar üçün CRC yoxlanma cÉ™mi: +7600 +SÉ™mÉ™rÉ™ Sinağı +YaddaÅŸ HÉ™cmi: +QablaÅŸdırma +ÇeÅŸidlÉ™nmÉ™ +DÉ™rÉ™cÉ™ +Ümumi DÉ™rÉ™cÉ™ +Cari +NÉ™ticÉ™ +YüklÉ™nmÉ™ +YüklÉ™nmÉ™ DÉ™rÉ™cÉ™si +Keçid: +7700 +İstinad +ÆlaqÉ™lÉ™ndir +MÉ™nbÉ™: +MÉ™qsÉ™d: +7710 +İstinad Qismi +SÉ™rt İstinad +RÉ™mzi İstinad (Fayl) +RÉ™mzi İstinad (Qovluq) +BaÄŸlantı NöqtÉ™si (QovÅŸaq) diff --git a/Utils/7-Zip/Lang/ba.txt b/Utils/7-Zip/Lang/ba.txt new file mode 100644 index 000000000..947d4a808 --- /dev/null +++ b/Utils/7-Zip/Lang/ba.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.20 : Haqmar : www.bashqort.com +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Bashkir +БашҡортÑа +401 +Тамам +Кире ал + + + +&Эйе +&Юҡ +&Яп +Ярҙам + +&Дауам +440 +Бөтәһенә лә Э&йе +Бө&тәһенә лә Юҡ +Туҡта +Яңынан башла +&Ðртҡы планда +Ð&лғы планда +&Туҡтатып тор +Паузала +Был Ñште Ñ‹Ñынлап та өҙөргә теләйһегеҙме? +500 +&Файл +Һа&йлау +&Күренеш +Òº&айланмалар +&Ð¡ÐµÑ€Ð²Ð¸Ñ +&Белешмә +540 +&ÐÑырға +&ЭÑендә аÑырға +&Тышта аÑырға +Ҡа&рау +&Мөхәррирләргә +&ИÑемен алыштырырға +&Күбәйтергә... +Кү&Ñерергә... +&Юйырға +Файлды &бүл... +Файлдар бер&ләштереү... +Мәғ&лүмәт +ТаÑ&уирлама +Тикшереү һаны +Diff +Яңы папка... +Яңы &файл... +С&ығырға +600 +&Бөтәһен дә һайларға +Һай&лауҙы кире алырға +Бил&дәләнгәндәрҙе кире әйләндерергә +МаÑка менән һайларға... +Һайлауҙы Ñбырға... +Төр буйынÑа һайларға +Төр буйынÑа һайлауҙы Ñбырға +700 +&Эре тамғалар +&Бәләкәй тамғалар +&ИÑемлек +&Ентекле +730 +Тәртип булмаһын +Барыһын да күрһәт +&2 Панель +&Ҡоралдар панеле +Төп папканы Ð°Ñ +Бер кимәл юғары +Папкалар тарихы... +&Яңырт +750 +&Ðрхивлау төймәләре +Стандарт төймәләр +Эре төймәләр +Төймәләр аңлатмалы +800 +Ғәмәлдәге папканы һайланғандарға өҫтәргә: +Урын +900 +&Көйләү... +&ЕтештереүÑәнлекте үлÑÓ™Ò¯ +960 +&ЭÑтәлек... +7-Zip &тураhында... +1003 +Юл +ИÑем +Киңәйеүе +Папка +Күләм +Ðрхивдағы күләме +Ðтрибуттар +Яһалған +ÐÑылған +Үҙгәртелгән +Өҙөлмәгән +Ðңлатма +Серләнгән +Ðлдағы киҫәк +Киләһе киҫәк +Һүҙлек +CRC +Төр +Ðнти +ЫÑул +СиÑтема +Файл ÑиÑтемаһы +ҠулланыуÑÑ‹ +Tөркөм +Блок +ТаÑуирлама +Урын +Юл префикÑÑ‹ +Папкалар +Файлдар +ВерÑÐ¸Ñ +Том +Күп томлы +Шылыу +Һылтанмалар +Блоктар +Томдар + +64-bit +Big-endian +ПроцеÑÑор +Физик күләме +Башлыҡтар күләме +Тикшереү Ñуммаһы +ХарактериÑтикалар +Виртуаль Ð°Ð´Ñ€ÐµÑ +ID +Ҡыҫҡа иÑем +ЯһауÑÑ‹ +Сектор күләме +Режим +Һылтанма +Хата +Бар күләм +Буш урын +КлаÑтер күләме +Билдә +Урындағы ИÑем +Провайдер +2100 +Көйләүҙәр +Тел һайлау +Тел: +МөхәррирләүÑе +&МөхәррирләүÑе: +&Diff: +2200 +СиÑтема +7-Zip менән килештер: +2301 +КонтекÑÑ‚ менюла 7-Zip-ты күрһәтергә +КаÑкадлы контекÑÑ‚ меню +КонтекÑÑ‚ меню Ñлементтары: +2320 +<Папка> +<Ðрхив> +Ðрхивты аÑырға +Файлдар Ñығарыу... +Ðрхивғ өҫтәргә... +Ðрхивты һынарға +Бында Ñығарырға +{0} папкаһына Ñығарырға +{0} итеп архивла +Ðрхивлап, e-mail менән ебәрергә... +{0} итеп архивларға һәм e-mail менән ебәрергә +2400 +Папкалар +&Эш папкаһы +&ВаҡытлыÑа ÑиÑтема папкаһы +&Ðғымдағы +&Билдәләргә: +Ðлмаш ташығыÑтар Ó©Ñөн генә ҡулланырға +ВаҡытлыÑа архивтар Ó©Ñөн урын күрһәтегеҙ. +2500 +Көйләүҙәр +".." Ñлементы күренһен +Файлдарҙың Ñ‹Ñын тамғалары күренһен +СиÑтема менюһы күренһен +Бөтә юл һайланһын +Һыҙыҡтар күренһен +Бер Ñиртеү менән аÑырға +Ðльтернатив һайлау Ñ‹Ñулы +Ҙур хәтер биттәрен ҡуллан +2900 +7-Zip тураhында +7-Zip – ирекле таратылған программа. +3000 +Буш хәтер етмәй +Хата табылманы +{0} объект һайланған +{0} папкаһын Ñһап булмай +Был архивды үҙгәртеү ғәмәлен үтәп булмай. +'{0}' файлын архив һымаҡ аÑып булмай +Шифрланған '{0}' файлын аÑып булманы. Хаталы пароль? +Терәкләнмәгән архив төрө +{0} файлы бар +'{0}' файлы мөхәррирләнде.\nБыл файл архивда Ñңыртылһынмы? +Файлды Ñңыртып булманы\n'{0}' +МөхәррирләүÑене аÑып булманы. +Файл вируÑҡа оҡшаған (файл иÑемендә бер-бер артлы килгән күп бушлыҡтар бар). +Ғәмәлде бындай оҙон юллы папканан үтәп булмай. +Бер файлды һайлау кәрәк +Бер йәки күберәк файлды һайлау кәрәк +Бик күп Ñлемент +3300 +Сығарыу бара... +Ҡыҫыу бара... +Һынау +ÐÑыла... +Тарау бара... +3400 +Сығар +Бында &Ñығар: +СығарылаÑаҡ файлдар Ó©Ñөн урын һайлағыҙ. +3410 +Юл иÑемдәре +&Тулы юл иÑемдәре +Юл иÑемдәре булмаһын +3420 +Өҫтөнә Ñҙыу +&Өҫтөнә Ñҙыу алдынан һора +&Өҫтөнә Ñҙыу алдынан һорама +Булған файлдарҙы үтеп кит +Яңы иÑем ҡуш +Булған файлдарға Ñңы иÑем ҡуш +3500 +Файл алмаштырыуҙы раҫлағыҙ +СығарылаÑаҡ папкала Ñшкәртелгән файл бар. +Булған +файлын киләһе менән алыштырырғамы? +{0} байт +&Яңы иÑем ҡушылһын +3700 +'{0}' файлын ҡыҫыу Ñ‹Ñулын табып булманы. +'{0}' файлында мәғлүмәт хатаһы бар. Файл боҙоҡ. +'{0}' файлында CRC хатаһы бар. Файл боҙоҡ. +Шифрланған '{0}' файлы мәғлүмәттәрендә хата. Хаталы пароль? +Шифрланған '{0}' файлында CRC хатаһы. Хаталы пароль? +3800 +Пароль керетеү +&Паролде керетегеҙ: +Па&ролде Ñңынан керетегеҙ: +П&ароль күренһен +Паролдәр тап килмәй +Пароль Ó©Ñөн тик латин хәрефтәрен, һандарҙы һәм махÑÑƒÑ Ñимволдарҙы (!, #, $, ...) ҡулланығыҙ +Пароль бик оҙон +Пароль +3900 +Үткән ваҡыт: +Ҡалған ваҡыт: +Барыһы: +Тиҙлек: +Күләм: +Ҡыҫыу ниÑбәте: +Хаталар: +Ðрхив: +4000 +Ðрхивлау +&Ðрхив: +&Яңыртыу Ñ‹Ñулы: +Ð&рхив төрө: +Ҡыҫыу &дәрәжәһе: +Ò &ыҫыу Ñ‹Ñулы: +ÒºÒ¯Ò™&лек күләме: +ÒºÒ¯Ò™ күлә&ме: +Блоктар күләме: +Ðғымдар һаны: +&Параметрҙар: +&Көйләү +SFX ар&хивын Ñһау +Яҙыуға аÑыҡ файлдарҙы ҡыҫырға +Шифрлау +Шифрлау методы: +&Файл иÑемдәрен шифрла +Ҡыҫҡанда хәтер ҡулланыу: +Сығарғанда хәтер ҡулланыу: +4050 +Ҡыҫыуһыҙ +Бик тиҙ +Тиҙ +Ғәҙәти +МакÑимум +Ультра +4060 +Өҫтәргә һәм алмаштырырға +Яңыртырға һәм өҫтәргә +Яңыртырға +Синхронларға +4070 +Ҡарау +Бар файлдар +Файл күләме буйынÑа +Өҙөлмәгән +6000 +КопиÑһын ал +КүÑер +ÐšÐ¾Ð¿Ð¸Ñ Ò¡ÑƒÐ¹Ñ‹Ð»Ð°Ñаҡ урын: +КүÑереләÑәк урын: +КопиÑһын алыу... +КүÑереү... +Яңынан иÑемләү бара... +Папканы күрһәтегеҙ. +Ғәмәлде үтәп булмай +Файлға йәки папкаға Ñңы иÑем биреү хатаһы +Файлдарҙы күбәйтеүҙе раҫлау +Был файлдар архивға ҡуйылһынмы? +6100 +Файл юйыуҙы раҫлау +Папка юйыуҙы раҫлау +Берҙән күп файл юйыуҙы раҫлау +'{0}' юйылһынмы? +'{0}' папкаһы һәм ÑÑендәгеләр юйылһынмы? +{0} еÑеме юйылһынмы? +Юйыу бара... +Файл йәки папка юйыу хатаһы +Оҙон юллы файлдарҙы кәрзингә юйыуҙы ÑиÑтема терәкләмәй +6300 +Папка Ñhа +Файл Ñhа +Папка иÑеме: +Файл иÑеме: +Яңы папка +Яңы файл +Папка Ñһау хатаһы +Файл Ñһау хатаһы +6400 +ТаÑуирлама +&ÐÑыҡлама: +hайла +Һайлауҙы кире ал +МаÑка: +6600 +ҮҙенÑәлектәр +Папкалар тарихы +Белдереүҙәр +Белдереү +7100 +Компьютер +Селтәр +Документтар +СиÑтема +7200 +Өҫтәргә +Сығарырға +Һынарға +КопиÑһын алырға +КүÑерергә +Юйырға +Мәғлүмәт +7300 +Файлды бүл +&Ошо папкаға бүл: +Киҫәк/&байт итеп бүл: +Бүлеү бара... +Бүлеүҙе раҫлау +Был файлды {0} киҫәккә бүлеүҙе раҫлайһығыҙмы? +Том күләме Ñығанак файлдан бәләкәй булырға тейеш +Хаталы том күләме +Том күләме : {0} байт.\nФайлды бындай томдарға бүлеүҙе раҫлайһығыҙмы? +7400 +Файлдарҙы берләштер +&Ошо папкала берләштер: +Берләштереү бара... +Бүленгән файлдың беренÑе киҫәген генә һайлағыҙ +Бүленгән файлды танып булманы +Бүленгән файлдың берҙән күп киҫәген табып булманы +7500 +Тикшереү һанын иҫәпләү бара... +Тикшереү һаны +Мәғлүмәттәр Ó©Ñөн CRC тикшереү һаны: +Мәғлүмәттәр һәм иÑемдәр Ó©Ñөн CRC тикшереү һаны: +7600 +ЕтештереүÑәнлекте тикшереү +Хәтер ҡулланыу: +Ҡыҫыу +Сығарыу +Рейтинг +Дөйөм рейтинг +Хәҙерге +Һөҙөмтә +ПроцеÑÑор ҡулланыу +Рейтинг / Проц. ҡулл. +Үтеүҙәр: diff --git a/Utils/7-Zip/Lang/be.txt b/Utils/7-Zip/Lang/be.txt new file mode 100644 index 000000000..5a16ebdc9 --- /dev/null +++ b/Utils/7-Zip/Lang/be.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Kirill Gulyakevitch +; 9.07 : 2011-03-15 : Drive DRKA +; +; +; +; +; +; +; +; +; +0 +7-Zip +Belarusian +БеларуÑÐºÐ°Ñ +401 +OK +Ðдмена + + + +&Так +&Ðе +&Зачыніць +Дапамога + +&ПрацÑгнуць +440 +Так Ð´Ð»Ñ &уÑÑ–Ñ… +Ðе Ð´Ð»Ñ Ñž&ÑÑ–Ñ… +Стоп +ПеразапуÑк +&Фонам +&Ðа пÑÑ€Ñдні план +&Паўза +Ðа паўзе +Ð’Ñ‹ Ñапраўды жадаеце перапыніць аперацыю? +500 +&Файл +&Праўка +&ВыглÑд +&Ðбранае +С&ÐµÑ€Ð²Ñ–Ñ +&Даведка +540 +&Ðдкрыць +Ðдкрыць &уÑÑÑ€Ñдзіне +Ðдкрыць з&вонку +ПраглÑд +&РÑдагаваць +Пера&назваць +&КапіÑваць у... +&ПерамÑÑціць у... +&Выдаліць +Ра&збіць файл... +Ð&б'Ñднаць файлы... +Сво&йÑтва +Коме&нтар +ÐšÐ°Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñума +Diff +&Стварыць папку +Ств&арыць Файл +Ð’&ыхад +600 +Вылучыць у&ÑÑ‘ +Прыбраць вылучÑнне +&ЗвÑрнуць в&ыдзÑленне +Вылучыць... +Прыбраць вылучÑнне... +Вылучыць па тыпе +Прыбраць вылучÑнне па тыпе +700 +&Ð‘ÑƒÐ¹Ð½Ñ‹Ñ Ð·Ð½Ð°Ñ‡ÐºÑ– +&Ð”Ñ€Ð¾Ð±Ð½Ñ‹Ñ Ð·Ð½Ð°Ñ‡ÐºÑ– +Спі&Ñ +&Табліца +730 +Без ÑÐ°Ñ€Ñ‚Ð°Ð²Ð°Ð½Ð½Ñ +ПлоÑкі Ñ€Ñжым +&2 ПанÑлі +&ПанÑлі прылад +Ðдкрыць каранёвую папку +Пераход на адзін узровень уверх +ГіÑÑ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð¿Ð°Ðº... +Ð&бнавіць +750 +ПанÑль кнопак архіватара +Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¿Ð°Ð½Ñль кнопак +Ð’ÑÐ»Ñ–ÐºÑ–Ñ ÐºÐ½Ð¾Ð¿ÐºÑ– +ÐадпіÑÑ‹ на кнопках +800 +Дадаць папку Ñž &абранае Ñк +Закладка +900 +Ðалады... +ТÑÑтаванне прадукцыйнаÑці +960 +&ЗмеÑÑ‚... +Ðб &праграме... +1003 +ШлÑÑ… +Ð†Ð¼Ñ +ПашырÑнне +Папка +Памер +СціÑнуты +Ðтрыбуты +Створаны +Ðдчынены +Зменены +БеÑперапынны +Каментар +Зашыфраваны +Пабіты Да +Пабіты ПаÑÐ»Ñ +Слоўнік +CRC +Тып +Ðнты +Метад +СіÑÑ‚Ñма +Ð¤Ð°Ð¹Ð»Ð°Ð²Ð°Ñ Ð¡Ñ–ÑÑ‚Ñма +КарыÑтальнік +Група +Блок +Каментар +ÐŸÐ°Ð·Ñ–Ñ†Ñ‹Ñ +ШлÑÑ… +Папак +Файлаў +ВерÑÑ–Ñ +Тым +Шматтомны +ЗрушÑнне +СпаÑылак +Блокаў +Тамоў + +64-bit +Big-endian +ПрацÑÑар +Фізічны Памер +Памер Загалоўкаў +ÐšÐ°Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ð¡ÑƒÐ¼Ð° +ХарактарыÑтыкі +Віртуальны ÐÐ´Ñ€Ð°Ñ +ID +Кароткае IÐ¼Ñ +Создатель +Памер Сектара +РÑжiм +СÑылка +Памылка +ÐміÑтаÑць +Вольна +Памер клаÑтара +Пазнака +Лакальнае Ñ–Ð¼Ñ +ПравайдÑÑ€ +2100 +Ðалады +Мова +Мова: +РÑдактар +&РÑдактар: +&Diff: +2200 +СіÑÑ‚Ñма +ÐÑацыÑваць 7-Zip з файламі: +2301 +Убудаваць 7-Zip у кантÑкÑтнае меню абалонкі +КаÑкаднае кантÑкÑтнае меню +Элементы кантÑкÑтнага меню: +2320 +<Папка> +<Ðрхіў> +Ðдкрыць архіў +РаÑпакаваць +Дадаць да архіва... +ТÑÑтаваць +РаÑпакаваць тут +РаÑпакаваць у {0} +Дадаць да {0} +СціÑнуць Ñ– адправіць па email... +СціÑнуць у {0} Ñ– адправіць па email +2400 +Папкі +&ÐŸÑ€Ð°Ñ†Ð¾ÑžÐ½Ð°Ñ ÐŸÐ°Ð¿ÐºÐ° +&СіÑÑ‚ÑÐ¼Ð½Ð°Ñ Ñ‡Ð°ÑÐ°Ð²Ð°Ñ ÐŸÐ°Ð¿ÐºÐ° +&БÑÐ³ÑƒÑ‡Ð°Ñ +&Задаць: +ВыкарыÑтаць толькі Ð´Ð»Ñ Ð·Ð¼ÐµÐ½Ð½Ñ‹Ñ… ноÑьбітаў +Пакажыце Ñтановішча Ð´Ð»Ñ Ñ‡Ð°Ñавых архіваў. +2500 +Ðалады +Паказваць Ñлемент ".." +Паказваць Ñ€ÑÐ°Ð»ÑŒÐ½Ñ‹Ñ Ð°Ð±Ñ€Ð°Ð·ÐºÑ– файлаў +Паказваць ÑÑ–ÑÑ‚Ñмнае меню +КурÑор на ўвеÑÑŒ радок +Паказваць падзельнікі +ÐдчынÑць Ñлемент адным клiкам +ÐльтÑрнатыўны Ñ€Ñжым пазнакі +ВыкарыÑтаць вÑÐ»Ñ–ÐºÑ–Ñ Ñтаронкі памÑці +2900 +Ðб праграме 7-Zip +7-Zip з'ÑўлÑецца вольна раÑпаўÑюджваемай праграмай. Ðднак калі вы жадаеце падтрымаць раÑпрацоўку 7-Zip, вы можаце зарÑгіÑтраваць праграму.Праграма перакладена Drive DRKA.ÐœÐ°Ñ ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ ÑкрынÑ: drka2003@mail.ru.Пераклад зроблен у вераÑні 2007 года. +3000 +ÐÑдоÑыць вольнай памÑці +Памылак не знойдзена +Вылучана аб'ектаў: {0} +Ðе атрымалаÑÑ Ñтварыць папку '{0}' +Ðперацыі змены не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтага архіва. +Ðе атрымалаÑÑ Ð°Ð´ÐºÑ€Ñ‹Ñ†ÑŒ файл '{0}' Ñк архіў +Ðе атрымалаÑÑ Ð°Ð´ÐºÑ€Ñ‹Ñ†ÑŒ зашыфраваны архіў '{0}'. ÐÑÑлушны пароль? +Ðепадтрымоўваны тып архіва +Файл {0} ужо Ñ–Ñнуе +Файл '{0}' быў зменены.\nÐ’Ñ‹ жадаеце абнавіць Ñго Ñž архіве? +Ðе атрымалаÑÑ Ð°Ð±Ð½Ð°Ð²Ñ–Ñ†ÑŒ файл\n'{0}' +Ðе атрымалаÑÑ Ð·Ð°Ð¿ÑƒÑціць Ñ€Ñдактар +Файл падобны на Ð²Ñ–Ñ€ÑƒÑ (Ñ–Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° ўтрымоўвае доўгую паÑлÑдоўнаÑць прабелаў). +ÐÐ¿ÐµÑ€Ð°Ñ†Ñ‹Ñ Ð½Ðµ можа быць Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð°Ñ Ð· папкі, ÑÐºÐ°Ñ Ð¼Ð°Ðµ доўгі шлÑÑ…. +Ð’Ñ‹ павінны вылучыць адзін файл +Ð’Ñ‹ павінны вылучыць адзін або некалькі файлаў +Занадта шмат Ñлементаў +3300 +РаÑпакаванне +КампрÑÑÑ–Ñ +ТÑÑтаванне +Ðдкрыццё... +Сканаванне... +3400 +ВынÑць +&РаÑпакаваць у: +Пакажыце Ñтановішча Ð´Ð»Ñ Ð²Ñ‹Ð¼Ð°ÐµÐ¼Ñ‹Ñ… файлаў. +3410 +ШлÑÑ…Ñ– +По&ўные шлÑÑ…Ñ– +&Без шлÑхоў +3420 +ÐŸÐµÑ€Ð°Ð·Ð°Ð¿Ñ–Ñ +&З пацверджаннем +Бы&ез пацверджанні +Прап&уÑкаць +Пераназваць аўтам. +Переім. аўтам. Ñ–Ñтот. +3500 +Пацверджанне замены файла +Папка ўжо ўтрымоўвае апрацоўваемы файл. +ЗамÑніць наÑўны файл +наÑтупным файлам? +{0} байтаў +Пераназваць аўтам. +3700 +Ðепадтрымоўваны метад ÑціÑку Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° '{0}'. +Памылка Ñž дадзеных у '{0}'. Файл ÑапÑаваны. +Памылка CRC у '{0}'. Файл ÑапÑаваны. +Памылка Ñž дадзеных зашыфраванага файла '{0}'. ÐÑÑлушны пароль? +Памылка CRC Ð´Ð»Ñ Ð·Ð°ÑˆÑ‹Ñ„Ñ€Ð°Ð²Ð°Ð½Ð°Ð³Ð° файла '{0}'. ÐÑÑлушны пароль? +3800 +Увод Ð¿Ð°Ñ€Ð¾Ð»Ñ +&УвÑдзіце пароль: +&Паўтарыце пароль: +&Паказаць пароль +Паралі не Ñупадаюць +Ð”Ð»Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтайце толькі знакі лацінÑкага алфавіту, лічбы Ñ– адмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð·Ð½Ð°ÐºÑ– (!, #, $, ...) +Пароль занадта доўгі +&Пароль +3900 +Мінула: +ЗаÑталоÑÑ: +УÑÑго: +ХуткаÑць: +Памер: +Ступень ÑціÑку: +Памылак: +Ðрхіваў: +4000 +Дадаць да архіва +&Ðрхіў: +&РÑжым змены: +&Фармат архіва: +&Узровень ÑціÑку: +&Метад ÑціÑку: +Памер &Ñлоўніка: +Памер з&лоўлі: +Памер блока: +Лік ÑтруменÑÑž: +&Параметры: +&Опцыі +Стварыць SF&X-архіў +СціÑкаць Ð°Ð´Ñ‡Ñ‹Ð½ÐµÐ½Ñ‹Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу файлы +Шыфраванне +Метад шыфраваннÑ: +&Шыфраваць імёны файлаў +Ðб'ём памÑці Ð´Ð»Ñ Ð¿Ð°ÐºÐ°Ð²Ð°Ð½Ð½Ñ: +Ðб'ём памÑці Ð´Ð»Ñ Ñ€Ð°ÑпакаваннÑ: +4050 +Без ÑціÑку +ХуткаÑны +Хуткі +Ðармалёвы +МакÑімальны +Ультра +4060 +Дадаць Ñ– замÑніць +Ðбнавіць Ñ– дадаць +Ðбнавіць +Сінхранізаваць +4070 +Прагартаць +УÑе файлы +Па памеры файла +БеÑперапынны +6000 +КапіÑваць +ПерамÑÑціць +КапіÑваць у: +ПерамÑÑціць у: +КапіÑванне... +ПерамÑшчÑнне... +Пераназванне... +Пакажыце папку. +ÐÐ¿ÐµÑ€Ð°Ñ†Ñ‹Ñ Ð½Ðµ падтрымліваецца Ð´Ð»Ñ Ð³Ñтай папкі. +Памылка пры пераназванні файла або папкі +Пацверджанне капіÑÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°Ñž +Ð’Ñ‹ Ñапраўды жадаеце ÑкапіÑваць гÑÑ‚Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ Ñž архіў +6100 +Пацверджанне Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° +Пацверджанне Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¿Ð°Ð¿ÐºÑ– +Пацверджанне Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð³Ñ€ÑƒÐ¿Ñ‹ файлаў +Ð’Ñ‹ Ñапраўды жадаеце выдаліць "{0}"? +Ð’Ñ‹ Ñапраўды жадаеце выдаліць папку "{0}" Ñ– ÑžÑÑ‘ Ñе змеÑціва? +Ð’Ñ‹ Ñапраўды жадаеце выдаліць гÑÑ‚Ñ‹Ñ Ð°Ð±'екты ({0} шт.)? +Выдаленне... +Памылка пры выдаленні файла або папкі +СіÑÑ‚Ñма не падтрымлівае аперацыю Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°Ñž з доўгімі шлÑхамі Ñž кошык +6300 +Стварыць папку +Стварыць файл +Ð†Ð¼Ñ Ð¿Ð°Ð¿ÐºÑ–: +Ð†Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: +ÐÐ¾Ð²Ð°Ñ ÐŸÐ°Ð¿ÐºÐ° +Ðовы файл +Памылка пры ÑтварÑнні папкі +Памылка пры ÑтварÑнні файла +6400 +Каментар +&Каментар: +Вылучыць +Прыбраць вылучÑнне +МаÑка: +6600 +УлаÑціваÑці +ГіÑÑ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð¿Ð°Ðº +Паведамленні +Паведамленне +7100 +Кампутар +Сетка +Дакументы +СіÑÑ‚Ñма +7200 +Дадаць +ВынÑць +ТÑÑтаваць +КапіÑваць +ПерамÑÑціць +Выдаліць +Ð†Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ +7300 +Разбіць файл +&Разбіць у: +Разбіць на &тамы памерам (у байтах): +Разбіццё... +Пацверджанне Ñ€Ð°Ð·Ð±Ñ–Ñ†Ñ†Ñ +Ð’Ñ‹ Ñапраўды жадаеце разбіць файл на {0} чаÑтак? +Памер тома павінен быць менш памеру зыходнага файла +Памылка Ñž поле Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼ÐµÑ€Ñƒ тамоў +УÑталÑваны памер тома: {0} байтаў.\nÐ’Ñ‹ Ñапраўды жадаеце разбіць архіў на Ñ‚Ð°ÐºÑ–Ñ Ñ‚Ð°Ð¼Ñ‹? +7400 +Ðб'Ñднаць файлы +&Ðб'Ñднаць у: +Ðб'Ñднанне... +Ðеабходна вылучыць толькі першую чаÑтку пабітага файла +Ðе атрымалаÑÑ Ñ€Ð°Ñпазнаць пабіты файл +Ðе атрымалаÑÑ Ð·Ð½Ð°Ð¹Ñці больш адной чаÑткі пабітага файла +7500 +ВылічÑнне кантрольнай Ñумы... +ÐšÐ°Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñума +ÐšÐ°Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñума CRC Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ…: +ÐšÐ°Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñума CRC Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ… Ñ– імёнаў: +7600 +ТÑÑтаванне прадукцыйнаÑці +Ðб'ём памÑці: +Пакаванне +РаÑпакаванне +РÑйтынг +Ðгульны Ñ€Ñйтынг +БÑгучы +Выніковы +Ðагрузка +РÑйтынг / Ðагр. +Праходаў: diff --git a/Utils/7-Zip/Lang/bg.txt b/Utils/7-Zip/Lang/bg.txt new file mode 100644 index 000000000..4346f1660 --- /dev/null +++ b/Utils/7-Zip/Lang/bg.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : chavv +; : icobgr +; 4.65 : Vassia Atanassova +; +; +; +; +; +; +; +; +0 +7-Zip +Bulgarian +БългарÑки +401 +OK +Отказ + + + +&Да +&Ðе +&ЗатварÑне +Помощ + +Пр&одължаване +440 +Да за &вÑички +Ðе за &вÑички +Стоп +От начало +&Фонов режим +&Ðормален режим +&Пауза +Ð’ пауза +ÐаиÑтина ли желаете да прекратите? +500 +&Файл +&Редактиране +&Показване +&Любими +&ИнÑтрументи +&Помощ +540 +&ОтварÑне +ОтварÑне &в +ОтварÑне &извън +&Показване +&Редактиране +Преи&менуване +&Копиране в... +Пре&меÑтване в... +Из&триване +Р&азделÑне на файл... +О&бединÑване на файлове... +&СвойÑтва +Ком&ентар +ИзчиÑлÑване на контролна Ñума + +Създаване на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Създаване на файл +Из&ход +600 +&Маркиране на вÑички +&Размаркиране на вÑички +&Обръщане на избора +Маркиране... +Размаркиране... +Маркиране по тип +Размаркиране по тип +700 +&Големи икони +&Малки икони +&СпиÑък +&Детайли +730 +ÐеÑортиран +ПлоÑък изглед +&2 панела +&Ленти Ñ Ð¸Ð½Ñтрументи +ОтварÑне на главната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Едно ниво нагоре +ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° директориите... +&ОпреÑнÑване +750 +Лента на архива +Стандартна лента +Големи бутони +Показване на текÑÑ‚ под бутоните +800 +&ДобавÑне на директориÑта като любима: +Отметка +900 +&ÐаÑтройки... +&СтатиÑтика +960 +&Съдържание... +&За 7-zip... +1003 +Път +Име +Разширение +Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Размер +КомпреÑиран размер +Ðтрибути +Създаден +ОтварÑн +Изменен +Солиден +Коментар +Зашифрован +Разделен до +Разделен Ñлед +Речник +CRC +Тип +Ðнти +Метод +Операционна ÑиÑтема +Файлова ÑиÑтема +Потребител +Група +Блок +Коментар +ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ +ÐŸÑ€ÐµÑ„Ð¸ÐºÑ Ð½Ð° Ð¿ÑŠÑ‚Ñ +Директории +Файлове +ВерÑÐ¸Ñ +Том +Multivolume +Offset +Links +Blocks +Томове + +64-битов +Big-endian +CPU +ФизичеÑки размер +Размер на заглавната чаÑÑ‚ +Контролна Ñума +ХарактериÑтики +Виртуален Ð°Ð´Ñ€ÐµÑ + + + + + + +Грешка +Пълен размер +Свободно проÑтранÑтво +Размер на клъÑтер +Етикет +Локално име +ДоÑтавчик +2100 +ÐаÑтройки +Език +Език: +Редактор +&Редактор: + +2200 +СиÑтема +ÐÑоцииране на 7-Zip Ñ: +2301 +Интегриране на 7-Zip в контекÑтното меню на шела +КаÑкадно контекÑтно меню +Елементи на контекÑтното меню: +2320 +<ДиректориÑ> +<Ðрхив> +ОтварÑне на архив +Разархивиране на файловете... +ДобавÑне към архив... +Проверка на архива +Разархивиране тук +Разархивиране в {0} +ДобавÑне в {0} +Ðрхивиране и изпращане... +Ðрхивиране в {0} и изпращане +2400 +Директории +&Работна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +&СиÑтемната TEMP Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +&Текущата +&Друга: +Използване Ñамо за преноÑими ноÑители +Указване на мÑÑто за временните архиви. +2500 +ÐаÑтройки +Показване на обекта ".." +Показване на иÑтинÑките икони на файловете +Показване на ÑиÑтемното меню +&Избор на цÑл ред +Показване на помощни &линии + +&Ðлтернативен режим на избор +Използване на &големи Ñтраници от паметта +2900 +Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ +7-Zip Ñе разпроÑтранÑва като Ñвободен Ñофтуер. Ð’Ñе пак, можете да подпомогнете разработката на 7-zip, като Ñе региÑтрирате. +3000 +СиÑтемата не може да задели необходимото количеÑтво памет. +ÐÑма грешки в архива +{0} обект(и) избрани +Ðе може да бъде Ñъздадена Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ '{0}' +Този архив не поддържа операции за изменение. +Файлът '{0}' не може да Ñе отвори като архив +КриптираниÑÑ‚ архив '{0}' не може да Ñе отвори. Грешка в паролата? +Ðрхив от тип, който не Ñе поддържа +Файлът {0} вече ÑъщеÑтвува +Файлът '{0}' е бил променен.\nИÑкате ли да обновите копието му в архива? +Ðе може да бъде обновен файл \n'{0}' +Ðе може да бъде Ñтартиран редактора. +Файлът прилича на Ð²Ð¸Ñ€ÑƒÑ (името му Ñъдържа дълги поредици интервали). +ОперациÑта не може да бъде извикана от Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ñ‚Ð¾Ð»ÐºÐ¾Ð²Ð° дълъг път. +ТрÑбва да Ñе избере един файл +ТрÑбва да Ñе изберат един или повече файлове +Твърде много обекти +3300 +Разархивиране +КомпреÑÐ¸Ñ +Проверка +ОтварÑне... +ПретърÑване... +3400 +Разархивиране +&Разархивиране в: +Избор на мÑÑто за разархивираните файлове. +3410 +Режим за пътищата +Пълни пътища +Без пътища +3420 +Режим за презапиÑване +Потвърждение преди презапиÑване +ПрезапиÑване без потвърждение +ПропуÑкане на ÑъщеÑтвуващите файлове +Ðвтоматично преименуване +Ðвтоматично преименуване на ÑъщеÑтвуващите файлове +3500 +Подтвърдете замÑната на файла +ДиректориÑта вече Ñъдържа файл Ñ Ñ‚Ð°ÐºÐ¾Ð²Ð° име. +Желаете ли да замените ÑъщеÑÑ‚Ð²ÑƒÐ²Ð°Ñ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» +Ñ Ñ‚Ð¾Ð·Ð¸ файл? +{0} байта +&Ðвтоматично преименуване +3700 +Ðеподдържан метод за компреÑÐ¸Ñ Ð²ÑŠÐ² файл '{0}'. +Грешка в данните в '{0}'. Файлът е повреден. +Проверката на Ñ†Ð¸ÐºÐ»Ð¸Ñ‡Ð½Ð¸Ñ Ð¾Ñтатък даде грешка в '{0}'. Файлът е повреден. +Грешка в данните в ÐºÑ€Ð¸Ð¿Ñ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» '{0}'. Грешка в паролата? +Проверката на Ñ†Ð¸ÐºÐ»Ð¸Ñ‡Ð½Ð¸Ñ Ð¾Ñтатък даде грешка в ÐºÑ€Ð¸Ð¿Ñ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» '{0}'. Грешка в паролата? +3800 +Въведете парола +Въведете парола: +Въведете повторно парола: +&Показване на паролата +Двете пароли не Ñъвпадат +За паролата Ñи използвайте Ñамо латинÑки букви, цифри и Ñпециални Ñимволи (!, #, $, ...) +Паролата е твърде дълга +&Парола +3900 +Изминало време: +ОÑтаващо време: +Размер: +СкороÑÑ‚: +Обработени: +Коефициент на компреÑиÑ: +Грешки: +Ðрхиви: +4000 +ДобавÑне към архив +&Ðрхив: +Режим за изменение: +Формат на архива: +&Ðиво на компреÑиÑ: +Метод за компреÑиÑ: +Размер на &речника: +Размер на &думата: +Размер на непрекъÑнат блок: +Брой процеÑорни нишки: +&Параметри: +&Опции +Самора&зархивиращ Ñе архив +КомпреÑирани Ñподелени файлове +Криптиране +Метод за криптиране: +Криптиране на файловите &имена +Използвана памет за архивиране: +Използвана памет за разархивиране: +4050 +Без компреÑÐ¸Ñ +Ðай-бърза +Бърза +Ðормална +МакÑимална +Ултра +4060 +ДобавÑне и замÑна на файлове +ОбновÑване и добавÑне на файлове +ОпреÑнÑване на ÑъщеÑтвуващите файлове +Синхронизиране на файловете +4070 +Разглеждане +Ð’Ñички файлове +Non-solid +ÐепрекъÑната (solid) компреÑÐ¸Ñ +6000 +Копиране +ПремеÑтване +Копиране в: +ПремеÑтване в: +Копиране... +МеÑтене... +Преименуване... +Избор на целева директориÑ. +ОперациÑта не Ñе поддържа за тази директориÑ. +Грешка при преименуването на файл или Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Потвърждение за копирането на файл +Сигурни ли Ñте, че иÑкате да копирате файлове към архива? +6100 +Потвърждение за изтриването на файл +Потвърждение за изтриването на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Потвърждение за изтриването на множеÑтво файлове +Сигурни ли Ñте, че иÑкате да изтриете '{0}'? +Сигурни ли Ñте, че иÑкате да изтриете диркеториÑта '{0}' Ñ Ñ†Ñлото й Ñъдържание? +Сигурни ли Ñте, че иÑкате да изтриете тези {0} обекта? +Изтриване... +Грешка при изтриване на файл или Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +СиÑтемата не може да изтрие файл Ñ Ñ‚Ð¾Ð»ÐºÐ¾Ð²Ð° дълъг път +6300 +Създаване на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Създаване на файл +Име на директориÑ: +Име на файл: +Ðова Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Ðов файл +Грешка при Ñъздаване на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +Грешка при Ñъздаване на файл +6400 +Коментар +&Коментар: +Маркиране +Размаркиране +МаÑка: +6600 +СвойÑтва +ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° директориите +ДиагноÑтични ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ +Съобщение +7100 +Компютър +Мрежа +Документи +СиÑтема +7200 +ДобавÑне +Извличане +ТеÑтване +Копиране +ПремеÑтване +Изтриване +Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ +7300 +РазделÑне на файл +&РазделÑне на: +РазделÑне на &томове, байтове: +РазделÑне... +Потвърждение на разделÑнето +Сигурни ли Ñте, че иÑкате да разделите файла на {0} тома? +Размерът на том трÑбва да бъде по-малък от размера на Ð¾Ñ€Ð¸Ð³Ð¸Ð½Ð°Ð»Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» +Ðевалиден размер на том +Указан размер на том: {0} байта.\nСигурни ли Ñте, че иÑкате да разделите архива на томове Ñ Ñ‚Ð°ÐºÑŠÐ² размер? +7400 +ОбединÑване на файлове +&ОбединÑване в: +ОбединÑване... +Избиране Ñамо на първата чаÑÑ‚ от Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» +Файлът не Ñе разпознава като чаÑÑ‚ от разделен оригинален файл +Ðе Ñе открива повече от една чаÑÑ‚ от Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» +7500 +ИзчиÑлÑване на контролната Ñума... +Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° контролната Ñума +CRC контролна Ñума за данни: +CRC контролна Ñума за данни и имена: +7600 +СтатиÑтика +Използвана памет: +Ðрхивиране +Разархивиране +Оценка +Обща оценка +Текущо +Резултат + + +УÑпешно преминали: diff --git a/Utils/7-Zip/Lang/bn.txt b/Utils/7-Zip/Lang/bn.txt new file mode 100644 index 000000000..3e1865694 --- /dev/null +++ b/Utils/7-Zip/Lang/bn.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.46 : Team Oruddho (Fahad Mohammad Shaon, Mahmud Hassan) : http://www.oruddho.com +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Bangla +বাংলা +401 +ঠিক আছে +বাতিল + + + +&হà§à¦¯à¦¾à¦ +&না +&বনà§à¦§ করা +সাহাযà§à¦¯ + +&চালিয়ে যাওয়া +440 +&সবগà§à¦²à§‹à¦° জনà§à¦¯ হà§à¦¯à¦¾à¦ +স&বগà§à¦²à§‹à¦° জনà§à¦¯ না +বনà§à¦§ +আবার শà§à¦°à§ +&পটভূমি +& সামনে +&বিরতি +বিরতিতে অবসà§à¦¥à¦¾à¦¨à¦°à¦¤ +আপনি বাতিল করতে ইচà§à¦›à§à¦•? +500 +&ফাইল +&পরিবরà§à¦¤à¦¨ +পà§à¦°à¦¦à¦°à§à¦¶à¦¨& +&পà§à¦°à¦¿à§Ÿ +&দরকারি +&সহায়তা +540 +&উনà§à¦®à§à¦•à§à¦¤ করা +7-zip-ঠউনà§à¦®à§à¦•à§à¦¤ করা +বাহিরে উনà§à¦®à§à¦•à§à¦¤ করা +&পà§à¦°à¦¦à¦°à§à¦¶à¦¨ +&পরিবরà§à¦¤à¦¨ +নাম পরিবরà§à¦¤à¦¨ +&অনà§à¦²à¦¿à¦ªà¦¿ হবে... +পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ হবে... +&মà§à¦›à§‡ ফেলা +&ফাইল খনà§à¦¡à¦¾à§Ÿà¦¨... +ফাইল সংযোজন... +বৈশিষà§à¦Ÿà¦¾à¦¬à¦²à¦¿ +মনà§à¦¤à¦¬à§à¦¯ +Checksum গননা করা + +ফোলà§à¦¡à¦¾à¦° সৃষà§à¦Ÿà¦¿ +ফাইল সৃষà§à¦Ÿà¦¿ +বাহির +600 +সব নিরà§à¦¬à¦¾à¦šà¦¨ +নিরà§à¦¬à¦¾à¦šà¦¨ রদ করা +উলà§à¦Ÿà§‹ নিরà§à¦¬à¦¾à¦šà¦¨ +নিরà§à¦¬à¦¾à¦šà¦¨... +নিরà§à¦¬à¦¾à¦šà¦¨ রদ করা... +ধরণ অনà§à¦¯à¦¾à§Ÿà§€ নিরà§à¦¬à¦¾à¦šà¦¨ +ধরণ অনà§à¦¯à¦¾à§Ÿà§€ নিরà§à¦¬à¦¾à¦šà¦¨ রদ করা +700 +বৃহৎ পà§à¦°à¦¤à¦¿à¦• +ছোটà§à¦Ÿ পà§à¦°à¦¤à¦¿à¦• +&তালিকা +&বিবরণ +730 +অসজà§à¦œà¦¿à¦¤ +সমতল সজà§à¦œà¦¾ +&বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾à¦ªà¦• দà§à¦¬à¦¿à¦–নà§à¦¡à¦¨ +&দরকারিখà§à¦Ÿà¦¿ +মূল ফোলà§à¦¡à¦¾à¦° উনà§à¦®à§à¦•à§à¦¤ করা +à¦à¦• পরà§à¦¯à¦¾à§Ÿ উপরে ... +ফোলà§à¦¡à¦¾à¦°à§‡à¦° অতীত বিবরণ... +&সতেজতা +750 +সংকোচোন বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾à¦ªà¦• খà§à¦Ÿà¦¿ +সাধারণ খà§à¦Ÿà¦¿ +বৃহৎ বোতাম +বোতামের শিরোনাম পà§à¦°à¦¦à¦°à§à¦¶à¦¨ +800 +&পà§à¦°à¦¿à§Ÿ ফোলà§à¦¡à¦¾à¦° হিসাবে সংযোজন ... +পছনà§à¦¦à§‡à¦° তালিকা +900 +&পছনà§à¦¦à¦—à§à¦²à§‹... +&বেঞà§à¦šà¦®à¦¾à¦°à§à¦• +960 +&সাহাযà§à¦¯... +&7-Zip সরà§à¦®à§à¦ªà¦•ে... +1003 +অবসà§à¦¥à¦¾à¦¨ +নাম +পরিচয় +ফোলà§à¦¡à¦¾à¦° +আকার +সংকà§à¦šà¦¿à¦¤ আকার +বৈশিষà§à¦Ÿ +সৃষà§à¦Ÿà¦¿ হয়েছে +বà§à¦¯à¦¬à¦¹à¦¾à¦° হয়েছে +পরিবরà§à¦§à¦¨ হয়েছে +দৃৠ+Commented +আটকানো +খনà§à¦¡à¦¨à§‡à¦° পূরà§à¦¬à§‡ +খনà§à¦¡à¦¨à§‡à¦° পরে +অভিধান +CRC +ধরন +বিরোধী +পদà§à¦§à¦¤à¦¿ +চলতি অপারেটিং সিসà§à¦Ÿà§‡à¦® +ফাইল বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾ +বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী +দল +বাধা +মনà§à¦¤à¦¬à§à¦¯ +অবসà§à¦¥à¦¾à¦¨ +পথের বিশেষায়ণ (Path Prefix) + + + + + + + + + + + + + + + + + + + + + + + + +তà§à¦°à§à¦Ÿà¦¿ +সমà§à¦ªà§‚রà§à¦£ আকার +অবশিষà§à¦Ÿ জায়গা +কà§à¦²à¦¾à¦¸à§à¦Ÿà¦¾à¦°à§‡à¦° আকার +শিরোনাম +সà§à¦¥à¦¾à¦¨à§€à§Ÿ নাম +বিতরণকারী +2100 +পছনà§à¦¦à¦—à§à¦²à§‹ +ভাষা +ভাষা: +সমà§à¦ªà¦¾à¦¦à¦• +বরà§à¦¤à¦®à¦¾à¦¨ সমà§à¦ªà¦¾à¦¦à¦• : + +2200 +বরà§à¦¤à¦®à¦¾à¦¨ অবসà§à¦¥à¦¾ +7-Zip-à¦à¦° সাথে সমà§à¦ªà¦°à§à¦•িত : +2301 +সাহাযà§à¦¯à¦•ারী তালিকায় 7-Zip সংযোজন +সাহাযà§à¦¯à¦•ারী তালিকায় à¦à¦•ের ভিতর সব গà§à¦Ÿà¦¿à§Ÿà§‡ ফেলা +সাহাযà§à¦¯à¦•ারী তালিকার বিষয়সমূহ: +2320 +<ফোলà§à¦¡à¦¾à¦°> +<সংকà§à¦šà¦¿à¦¤ ফাইল> +সংকà§à¦šà¦¿à¦¤ ফাইল চালৠকরা +ফাইল সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦£... +সংকà§à¦šà¦¿à¦¤ ফাইলে সংযোজন... +সংকà§à¦šà¦¿à¦¤ ফাইল নিরীকà§à¦·à¦£ +à¦à¦–ানেই সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦£ +সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦£ করা হবে {0} +সযোজন করা হবে {0} +সংকোচন à¦à¦¬à¦‚ ই-মেইল... +সংকোচন - {0} à¦à¦¬à¦‚ ই-মেইল +2400 +ফোলà§à¦¡à¦¾à¦° +&কারà§à¦¯à¦°à¦¤ ফোলà§à¦¡à¦¾à¦° +&অসà§à¦¥à¦¾à§Ÿà§€ ফোলà§à¦¡à¦¾à¦° +&পà§à¦°à¦šà¦²à¦¿à¦¤ +&নিরà§à¦¦à¦¿à¦·à§à¦Ÿ: +অসà§à¦¥à¦¾à§Ÿà§€ অংশের জনà§à¦¯ বà§à¦¯à¦¬à¦¹à¦¾à¦° করা +অসà§à¦¥à¦¾à§Ÿà§€ ফোলà§à¦¡à¦¾à¦° নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤ +2500 +পছনà§à¦¦à¦—à§à¦²à§‹ +".." ফাইল পà§à¦°à¦¦à¦°à§à¦¶à¦¨ +ফাইলের আসল পà§à¦°à¦¤à¦¿à¦• দেখানো +কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦° চালকের তালিকা দেখানো +পূরà§à¦£ পরà§à¦¯à¦¾à§Ÿ পà§à¦°à¦¦à¦°à§à¦¶à¦¨ +ছকের লাইন পà§à¦°à¦¦à¦°à§à¦¶à¦¨ + +পরিপূরক নিবাচনের পদà§à¦§à¦¤à¦¿ +বেশি সà§à¦®à§ƒà¦¤à¦¿à¦° বà§à¦¯à¦¬à¦¹à¦¾à¦° +2900 +7-Zip সমà§à¦ªà¦°à§à¦•ে +7-Zip à¦à¦•টি মà§à¦•à§à¦¤ পà§à¦°à§‹à¦—à§à¦°à¦¾à¦® কিনà§à¦¤à§ à¦à¦Ÿà¦¿ 7-Zip à¦à¦° কতৃপকà§à¦·à§‡à¦° কাচে নিবনà§à¦§à¦¨à§‡à¦° মাধà§à¦¯à¦®à§‡ আপনি উনà§à¦¨à¦¤ সেবা পেতে পারেন +3000 + +কোন তà§à¦°à§à¦Ÿà¦¿ নেই +{0} ফাইল(সমূহ) নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ +'{0}' ফোলà§à¦¡à¦¾à¦° সৃষà§à¦Ÿà¦¿ করা সমà§à¦­à¦¬ হচà§à¦›à§‡à¦¨à¦¾ +à¦à¦‡ সংকোচনের কà§à¦·à§‡à¦¤à§à¦°à§‡ à¦à¦‡ সেবা পà§à¦°à¦¦à¦¾à¦¨ করা সমà§à¦­à¦¬ হচà§à¦›à§‡ না। +'{0}' -কে সংকà§à¦šà¦¿à¦¤ ফাইল হিসেবে চালৠকরা সমà§à¦­à¦¬ হচà§à¦›à§‡à¦¨à¦¾ +'{0}' বদà§à¦§ সংকà§à¦šà¦¿à¦¤ ফাইল চালৠকরা সমà§à¦­à¦¬ হচà§à¦›à§‡à¦¨à¦¾. ভà§à¦² পাসওয়ারà§à¦¡? + + +ফাইলটি '{0}' পরিমারà§à¦œà¦¿à¦¤.\nআপনি সংকà§à¦šà¦¿à¦¤ ফাইলটি ও পরিমারà§à¦œà¦¨ করতে চান? +পরিমারà§à¦œà¦¨ করা সমà§à¦­à¦¬ হয়নি\n'{0}' +সমà§à¦ªà¦¾à¦¦à¦• চালৠকরা সমà§à¦­à¦¬ নয় + + + + +অনেক বেশী ফাইল +3300 +সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦£ করা হচà§à¦›à§‡ +সংকোচায়ন পà§à¦°à¦•à§à¦°à¦¿à§Ÿà¦¾à¦§à§€à¦¨ +নিরকà§à¦·à¦£ করছে ... +উনà§à¦®à§à¦•à§à¦¤ করা হচà§à¦›à§‡... +তথà§à¦¯ সংগà§à¦°à¦¹ চলছে... (Scanning...) +3400 +সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦£ +&সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦£ করা হবে: +ফাইল সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¨à§‡à¦° ঠিকানা +3410 +ঠিকানা নিরà§à¦¬à¦¾à¦šà¦¨ পদà§à¦§à¦¤à¦¿ +পূরà§à¦£ ঠিকানাসমূহ +ঠিকানাবিহীন +3420 +পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ পদà§à¦§à¦¤à¦¿ +পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨à§‡à¦° পূরà§à¦¬à¦¾à¦­à¦¾à¦¸ +আভাসবিহীন পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ +à¦à¦•ই পরিচয় পà§à¦°à¦¾à¦ªà§à¦¤ ফাইল à¦à§œà¦¿à§Ÿà§‡ চলা +সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ পà§à¦ƒà¦¨à¦¾à¦®à¦•রণ +à¦à¦•ই পরিচয় পà§à¦°à¦¾à¦ªà§à¦¤ ফাইলের নাম পরিবরà§à¦¤à§à¦¨ +3500 +ফাইল পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ নিশà§à¦šà¦¿à¦¤ করণ +নিরà§à¦§à¦¾à¦°à¦¿à¦¤ ফোলà§à¦¡à¦¾à¦°à§‡ ফাইলটি আগেথেকেই আছে +আপনিকি বরà§à¦¤à¦®à¦¾à¦¨ ফাইলটি পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করতে চান? +à¦à¦‡à¦Ÿà¦¿à¦° সাথে? +{0} bytesবাইট +সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ পà§à¦ƒà¦¨à¦¾à¦®à¦•রণ +3700 +অসমরà§à¦¥à¦¿à¦¤ সংকোচন পদà§à¦§à¦¤à¦¿ -'{0}'. +'{0}' ফাইলে তà§à¦°à§à¦Ÿà¦¿à¦ªà§‚রà§à¦£ তথà§à¦¯. ফাইলটি খনà§à¦¡à¦¿à¦¤ +'{0}' ফাইলে CRC বà§à¦¯à¦°à§à¦¥. ফাইলটি খনà§à¦¡à¦¿à¦¤ +'{0}' বদà§à¦§ ফাইলে তথà§à¦¯à§‡ তà§à¦°à§à¦Ÿà¦¿. ভà§à¦² পাসওয়ারà§à¦¡? +'{0}' বদà§à¦§ ফাইলে CRC বà§à¦¯à¦°à§à¦¥. ভà§à¦² পাসওয়ারà§à¦¡? +3800 +পাসওয়ারà§à¦¡à¦Ÿà¦¿ পà§à¦°à¦¬à§‡à¦¶ করà§à¦¨à¦ƒ +পাসওয়ারà§à¦¡à¦Ÿà¦¿ পà§à¦°à¦¬à§‡à¦¶ করà§à¦¨à¦ƒ +আবার পাসওয়ারà§à¦¡ পà§à¦°à¦¬à§‡à¦¶ করà§à¦¨à¦ƒ +&পাসওয়ারà§à¦¡ পà§à¦°à¦¦à¦°à§à¦¶à¦¨ +পাসওয়ারà§à¦¡ দà§à¦Ÿà¦¿ à¦à¦•ই নয় +শà§à¦§à§ ইংলিশ বরà§à¦£, সংখà§à¦¯à¦¾ à¦à¦¬à¦‚ বিশেষ বরà§à¦£ (!, #, $, ...) পাসওয়ারà§à¦¡ হিসেবে বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨ +পাসওয়ারà§à¦¡à¦Ÿà¦¿ খà§à¦¬ বেশী বড় হয়েছে +পাসওরà§à§Ÿà¦¾à¦¡ +3900 +অতিবাহিত সময়ঃ +সময় বাকি আছেঃ +আকার: +গতি: + + +বিফলতা : + +4000 +সংকোচনে সংযোজন +&সংকোচন +&পরিমারà§à¦œà¦¨ পদà§à¦§à¦¤à¦¿: +সংকোচনের & পরিচয়: +সংকোচনের &পরà§à¦¯à¦¾à§Ÿ: +সংকোচন &পদà§à¦§à¦¤à¦¿: +&Dictionary size: +&Word size: +Solid block size: +CPU-à¦à¦° thread-à¦à¦° সংখà§à¦¯à¦¾: +&Parameters: +পছনà§à¦¦à¦¨à§€à§Ÿ +সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ সংকোচন পà§à¦°à§‹à¦—à§à¦°à¦¾à¦® তৈরি +বিনিময়যোগà§à¦¯ ফাইল সংকোচন +বদà§à¦§ করা +বদà§à¦§ করার পদà§à¦§à¦¤à¦¿: +ফাইলের নাম &আটকে ফেলা +সংকোচনের জনà§à¦¯ সà§à¦®à§ƒà¦¤à¦¿à¦° বà§à¦¯à¦¬à¦¹à¦¾à¦°: +সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¨à§‡à¦° জনà§à¦¯ সà§à¦®à§ƒà¦¤à¦¿à¦° বà§à¦¯à¦¬à¦¹à¦¾à¦°: +4050 +অতি সংকোচায়ন +অতি দà§à¦°à§à¦¤ +দà§à¦°à§à¦¤ +সাধারন +সরà§à¦¬à§à¦¬à§‹à¦šà§à¦š +পলকের গতি +4060 +সংকোচন ও ফাইল পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ +পরিমারà§à¦œà¦¨ ও ফাইল পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ +উলà§à¦²à§‡à¦–িত ফাইলে সতেজতা পà§à¦°à¦¦à¦¾à¦¨ +ফাইল সাজিয়ে রাখা +4070 +বিচরণ +সকল ফাইল +Non-solid +Solid +6000 +অনà§à¦²à¦¿à¦ªà¦¿ গà§à¦°à¦¹à¦¨ +অনà§à¦²à¦¿à¦ªà¦¿ গà§à¦°à¦¹à¦¨ à¦à¦¬à¦‚ মà§à¦›à§‡ ফেলা +অনà§à¦²à¦¿à¦ªà¦¿ করা হবে: +পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¿à¦¤ হবে: +অনà§à¦²à¦¿à¦ªà¦¿ করা হচà§à¦›à§‡... +পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¿à¦¤ হচà§à¦›à§‡... +নাম পরিবরà§à¦¤à¦¨... +গনà§à¦¤à¦¬à§à¦¯ ফোলà§à¦¡à¦¾à¦° নিরà§à¦¬à¦¾à¦šà¦¨. +কারà§à¦¯à¦Ÿà¦¿ সমà§à¦­à¦¬ নয় +ফাইল বা ফোলà§à¦¡à¦¾à¦°à§‡à¦° নাম পরিবরà§à¦¤à¦¨à§‡ সমà§à¦­à¦¬ নয় +ফাইল অনà§à¦²à¦¿à¦ªà¦¿ নিশà§à¦šà¦¿à¦¤à¦•রণ +আপনি কি ফাইলগà§à¦²à§‹à¦•ে সংকà§à¦šà¦¿à¦¤ ফাইলে অনà§à¦²à¦¿à¦ªà¦¿ গà§à¦°à¦¹à¦£ করতে চান। +6100 +ফাইলটি মà§à¦›à§‡ ফেলতে কি আপনি নিশà§à¦šà¦¿à¦¤ +ফোলà§à¦¡à¦¾à¦°à¦Ÿà¦¿ মà§à¦›à§‡ ফেলতে কি আপনি নিশà§à¦šà¦¿à¦¤ +ফাইলটি মà§à¦›à§‡ ফেলতে কি আপনি নিশà§à¦šà¦¿à¦¤ +মà§à¦›à§‡ ফেলতে আপনি কি নিশà§à¦šà¦¿à¦¤ - '{0}'? +'{0}' ফোলà§à¦¡à¦¾à¦° à¦à¦¬à¦‚ à¦à¦° সব ফাইল আপনি কি মà§à¦›à§‡ ফেলতে নিশà§à¦šà¦¿à¦¤? +নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ {0} টি ফাইল আপনি কি মà§à¦›à§‡ ফেলতে নিশà§à¦šà¦¿à¦¤? +মà§à¦›à§‡ ফেলা হচà§à¦›à§‡... +ফাইল বা ফোলà§à¦¡à¦¾à¦° মà§à¦›à§‡ ফেলাতে সমসà§à¦¯à¦¾ হচà§à¦›à§‡ + +6300 +ফোলà§à¦¡à¦¾à¦° সৃষà§à¦Ÿà¦¿ +ফাইল সৃষà§à¦Ÿà¦¿ +ফোলà§à¦¡à¦¾à¦°à§‡à¦° নাম: +ফাইল নাম: +নতà§à¦¨ ফোলà§à¦¡à¦¾à¦° +নতà§à¦¨ ধারক +ফোলà§à¦¡à¦¾à¦° সৃষà§à¦Ÿà¦¿à¦¤à§‡ সমসà§à¦¯à¦¾ +ফাইল সৃষà§à¦Ÿà¦¿à¦¤à§‡ সমসà§à¦¯à¦¾ +6400 +মনà§à¦¤à¦¬à§à¦¯ +&মনà§à¦¤à¦¬à§à¦¯: +নিরà§à¦¬à¦¾à¦šà¦¨ +নিরà§à¦¬à¦¾à¦šà¦¨ রদ করা +আড়াল করা: +6600 + +ফোলà§à¦¡à¦¾à¦°à§‡à¦° অতিত বিবরন +সমসà§à¦¯à¦¾ নিরাময় আভাস +আভাস +7100 +কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦° +আনà§à¦¤à¦ƒ সমà§à¦ªà¦°à§à¦• + +কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦° চালক +7200 +সংজোযন +সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¨ +নিরীকà§à¦·à¦£ +অনà§à¦²à¦¿à¦ªà¦¿ গà§à¦°à¦¹à¦¨ +পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ +মà§à¦›à§‡ ফেলা +তথà§à¦¯ +7300 +ফাইল খনà§à¦¡à¦¾à§Ÿà¦¨ +&ফাইল খনà§à¦¡à¦¾à§Ÿà¦¿à¦¤ হবে: +volumes(খনà§à¦¡à§‡), bytes(বাইটস)-ঠখনà§à¦¡à¦¾à§Ÿà¦¨à¦ƒ +ফাইল খনà§à¦¡à¦¾à§Ÿà¦¨ চলছে... +ফাইল খনà§à¦¡à¦¾à§Ÿà¦¨ নিশà§à¦šà¦¿à¦¤à¦•রণ +আপনি কি সংকà§à¦šà¦¿à¦¤ ফাইলটিকে {0} খনà§à¦¡à§‡ খনà§à¦¡à¦¾à§Ÿà¦¨ করতে চান? +খনà§à¦¡à§‡à¦° আকার অবশà§à¦¯à¦‡ মূল ফাইলের চেয়ে ছোট হতে হবে +খনà§à¦¡à§‡à¦° আকারে ভà§à¦² +উলà§à¦²à§‡à¦•à§à¦·à¦¿à¦¤ খনà§à¦¡à§‡à¦° আকার : {0} bytes.\nআপনি কি সংকোচিত ফাইলটিকে ঠভাবেই খনà§à¦¡à§‡ খনà§à¦¡à¦¾à§Ÿà¦¨ করতে চান? +7400 +ফাইল à¦à¦•ীভূতি করণ +&à¦à¦•ীভূতি করা হবে: +à¦à¦•ীভূতি চলছে... +শà§à¦§à§ পà§à¦°à¦¥à¦® ফাইলটি নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨ + + +7500 +Checksum গননা চলছে... +Checksum তথà§à¦¯ +তথà§à¦¯à§‡à¦° জনà§à¦¯ CRC checksum: +তথà§à¦¯ à¦à¦¬à¦‚ নামের জনà§à¦¯ CRC checksum: +7600 +বেঞà§à¦šà¦®à¦¾à¦°à§à¦• +বà§à¦¯à¦¬à¦¹à§ƒà¦¤ সà§à¦®à§ƒà¦¤à¦¿ : +সংকোচায়ন ... +সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦£ ... +রেটিং +মোট রেটিং +চলতি +ফলাফল +CPU বà§à¦¯à¦¬à¦¹à¦¾à¦° করছে +Rating / বà§à¦¯à¦¬à¦¹à¦¾à¦° করছে +সফলতা : diff --git a/Utils/7-Zip/Lang/br.txt b/Utils/7-Zip/Lang/br.txt new file mode 100644 index 000000000..f7f7fa3b8 --- /dev/null +++ b/Utils/7-Zip/Lang/br.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 3.12 : KAD-Korvigelloù An Drouizig (drouizig.org). +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Breton +Brezhoneg +401 +Mat eo +Nullañ + + + +&Ya +&Ket +&Serriñ +Skoazell + +&Kenderc'hel +440 +Ya be&pred +Ket &bepred +Paouez +Adloc'hañ +&Drekleur +&Rakleur +&Ehan +Ehanet +Ha fellout a ra deoc'h nullañ ? +500 +&Restr +&Aozañ +&Gwelout +Di&baboù +&Ostilhoù +&Skoazell +540 +&Digeriñ +Digeriñ a-zia&barzh +Digeriñ a-zia&vaez +&Gwelout +&Aozañ +Adenv&el +&Kopiañ diwar... +&Dilec'hiañ diwar... +D&ilemel +&Troc'hañ restr... +&Kendeuziñ restroù... +P&erzhioù +Evezhia&denn + + +Sevel un teul +Sevel ur restr +&Kuitaat +600 +Diuz pep &tra +Diziuz pe tra +Lakaat an &diuzad war an tu gin +Diuz... +Diziuz... +Diuz diouzh ar rizh +Diziuz diouzh ar rizh +700 +Arlunioù &bras +Arlunioù &bihan +&Roll +&Munudoù +730 +Dirummet + +&2 brenestr +&Barrennoù ostilhoù +Digeriñ an teul gwrizienn +Teul kerent +Roll istor an teul... +Fresk&aat +750 +Barrenn ziell +Barrenn skouerek +Meudellioù bras +Diskouez an destenn +800 +&Ouzhpennañ ar c'havlec'h d'ar sinedoù +Sined +900 +&Dibaboù... +&Amprouiñ +960 +&Roll ar pennadoù... +A-&zivout 7-Zip... +1003 +Treug +Anv +Astenn +Teul +Ment +Gwasket +Doareennoù +Savet d'ar +Stoket d'ar +Kemmet d'ar +Solut +Evezhiadenn +Ennodet +Rannañ a-raok +Rannañ war-lerc'h +Geriadur +CRC +Rizh +Enep +Hentenn +OS ostiz +Reizhiad restroù +Implijour +Strollad +Bloc'h +Evezhiadenn +Lec'hiadur + + + + + + + + + + + + + + + + + + + + + + + + + +Fazi +Ment en holl +Egor vak +Ment ar c'hleusteurioù +Skritellig +Anv lec'hel +Pourchaser +2100 +Dibaboù +Yezh +Yezh : +Embanner +&Embanner : + +2200 +Reizhiad +Kenstagañ 7-Zip ouzh : +2301 +Lakaat 7-Zip el lañser kemperzhel +Lañser kemperzhel a-steud +Elfennoù al lañser kemperzhel : +2320 + + +Digeriñ +Eztennañ ar restroù... +Ouzhpennañ d'an diell... +Gwiriañ an diell +Eztennañ amañ +Eztennañ diwar {0} +Ouzhpennañ da {0} +Gwaskañ ha kas dre postel... +Gwaskañ diwar {0} ha kas dre postel. +2400 +Teulioù +Teulioù &labour +Teul dibadelus ar &reizhiad +Teul &red +Teul &spisaet : +Implijout nemet evit ar mediaoù dilec'hus +Spisait un teul evit lakaat ar restroù diell dibadelus. +2500 +Perzhioù +Diskouez an elfenn ".." +Diskouez arlunioù gwirion ar restroù +Diskouez al lañser reizhiad +&Diuz ar bannoù a-bezh +Diskouez al &linennoù kael + + + +2900 +Keloù +Digoust eo ar meziant 7-Zip. Mar plij deoc'h 7-zip ha mar fell deoc'h skoazellañ ar raktres-mañ e c'hellit donezoniñ argant da 7-Zip. +3000 + +N'eus fazi ebet +{0} elfenn ziuzet +N'haller ket sevel ar restr '{0}' +N'haller ket ober gant an oberiadennoù nevesaat evti an diell-mañ. + + + + +Kemmet ez eo bet ar restr '{0}'.\nHa fellout a ra deoc'h he nevesaat en diell ? +N'haller ket nevesaat\n'{0}' +N'haller ket loc'hañ an embanner. + + + + +Re a elfennoù +3300 +Eztennañ +O waskañ +Gwiriañ +O tigeriñ... + +3400 +Eztennañ +E&ztennañ diwar : +Dibabit un teul evit eztennañ an restroù. +3410 +Treugoù +Treugoù klok +Treug ebet +3420 +Mod erlec'hiañ +Goulenn a-raok erlec'hiañ +Erlec'hiañ hep goulenn +Lakaat ar restroù a zo anezho a-gostez +Adenvel ent-emgefre ar restroù a zo anezho + +3500 +Kadarnaat a-raok erlec'hiañ ur restr +Emañ dija ur restr gant ar memes anv en teul bukenn. +Ha fellout a ra deoc'h lakaat e-lec'h +ar restr da heul ? +{0} eizhtet +Adenvel ent-&emgefre +3700 +Hentenn waskañ direizh evit '{0}'. +Stlenn faziet e-barzh '{0}'. Gwastet eo ar restr. +Fazi ar reoliñ CRC evit '{0}'. Gwastet eo ar restr. + + +3800 +Roit ar ger-tremen +Roit ar ger-tremen : + +&Diskouez ar ger-tremen + + + +Ger-tremen +3900 +Amzer dremenet : +Amzer o chom : +Ment : +Tizh : + + +Fazioù : + +4000 +Ouzhpennañ d'an diell +&Diell : +&Mod nevesaat : +&Mentrezh an diell : +L&ive gwaskañ : +Rizh &gwaskañ: +&Ment ar geriadur : +Me&nt ar gerioù : + + +&Perzhioù: +&Dibaboù +Sevel un diell SF&X + + + +Ennodiñ an &anvioù restroù +Memor evit ar waskerezh : +Memor evit an diwaskerezh : +4050 +Gwaskañ ebet +Primañ +Prim +Reizh +Uhelañ +Gour +4060 +Ouzhpennañ hag erlec'hiañ ar restroù +Nevesaat hag ouzhpennañ ar restroù +Freskaat ar restroù a zo anezho +Goubredañ ar restroù +4070 +Furchal +An holl restroù + + +6000 +Kopiañ +Dilec'hiañ +Kopiañ e-barzh : +Dilec'hiañ diwar : +O kopiañ... +O tilec'hiañ... +Oc'h adenvel... + +N'haller ket ober an oberiadenn-mañ. +Fazi oc'h adenvel ar restr pe an teul + + +6100 +Kadarnañ a-raok dilemel ar restr +Kadarnañ a-raok dilemel an teul +Kadarnañ a-raok dilemel an holl restroù +Ha fellout a ra deoc'h dilemel '{0}' ? +Ha fellout a ra deoc'h dilemel an teul '{0}' ha pep tra a zo e-barzh ? +Ha fellout a ra deoc'h dilemel ar {0} elfenn-mañ ? +O tilemel... +Fazo o tilemel ar restr pe an teul + +6300 +Sevel un teul +Sevel ur restr +Anv an teul : +Anv restr : +Teul nevez +Restr nevez +Fazi o sevel an teul +Fazi o sevel ar restr +6400 +Evezhiadenn +&Evezhiadenn : +Diuz +Diziuz +Kuzh : +6600 + +Roll istor an teulioù +Kemennoù yalc'h +Kemenn +7100 +Urzhiataer +Rouedad + +Reizhiad +7200 +Ouzhpennañ +Eztennañ +Amprouiñ +Kopiañ +Dilec'hiañ +Dilemel +Keloù +7300 +Troc'hañ restr +&Troc'hañ da : +Troc'hañ e &levrennoù, eizhtetoù : +O troc'hañ... + + + + + +7400 +Kendeuziñ restroù +&Kendeuziñ da : +O kendeuziñ... + + + +7500 + + + + +7600 +Amprouiñ +Implij ar vemor : +Gwaskerezh +Diwaskerezh +Feur +Feur en holl +Red +Da heul + + +Tremenioù : diff --git a/Utils/7-Zip/Lang/ca.txt b/Utils/7-Zip/Lang/ca.txt new file mode 100644 index 000000000..767d93521 --- /dev/null +++ b/Utils/7-Zip/Lang/ca.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Josep Casals, Marc Folch +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Catalan +Català +401 +D'acord +Cancel.la + + + +&Sí +&No +Tan&ca +Ajuda + +&Continua +440 +Sí a &tot +No a t&ot +Atura +Reinicia +Rerefons +Primer pla +&Pausa +Aturat +Esteu segur que voleu cancel.lar? +500 +&Fitxer +&Edita +&Visualitza +&Preferits +E&ines +Aj&uda +540 +&Obre +Obre d&ins +Obre fora +&Visualitza +&Edita +Renom&ena +&Copia a... +&Moure a... +Suprimeix +&Divideix el fitxer... +Com&bina el fitxer... +P&ropietats +Come&ntari +Calcula el checksum +Diff +Crea carpeta +Crea fitxer +Surt +600 +Seleccion&a-ho tot +Deselecciona-ho tot +&Inverteix selecció +Selecciona... +Deselecciona... +Selecciona per tipus +Deselecciona per tipus +700 +Icones g&rans +Icones petites +&Llista +&Detalls +730 +No ordenat +Vista plana +&2 Taules +&Barres d'eines +Obre carpeta arrel +Carpeta pare +Historial de carpetes... +&Actualitza +750 +Barra d'eines afegeix/extreu +Barra d'eines estàndard +Botons grans +Mostra botons amb text +800 +&Afegeix la carpeta als Preferits com +Personal +900 +Opcions... +&Test de referència +960 +&Contingut... +Quant a 7-Zip... +1003 +Adreça +Nom +Tipus de fitxer +Carpeta +Mida +Mida comprimit +Atributs +Creat +Darrer accés +Darrera modificació +Compacte +Comentari +Xifrat +Expandit abans +Expandit després +Diccionari +CRC +Tipus +Anti +Mètode +SO orígen +Sistema de fitxers +Usuari +Grup +Bloc +Comentari +Posició +Path Prefix +Carpetes +Fitxers +Versió +Volum +Multivolum +Desplaçament +Enllaços +Blocs +Volums + +64-bits +Big-endian +CPU +Mida física +Mida capçaleres +Suma de verificació +Característiques +Adreça virtual +ID +Nom curt +Aplicació creadora +Mida del sector +Mode +Enllaç +Error +Mida total +Espai lliure +Mida sector +Etiqueta +Nom local +Proveïdor +2100 +Opcions +Llengua +Llengua: +Editor +&Editor: +&Diff: +2200 +Sistema +Associa 7-Zip amb: +2301 +Integra 7-Zip dins el menú contextual de Windows +Menú contextual en cascada +Objectes del menú contextual: +2320 + + +Obre +Extreu fitxers... +Afegeix al fitxer... +Comprova el fitxer +Extreu a aquesta carpeta +Extreu a {0} +Afegeix a {0} +Comprimeix i envia per correu electrònic... +Comprimeix a {0} i envia per correu electrònic +2400 +Carpetes +Carpeta de &treball +Carpeta temporal del &sistema +Carpeta a&ctual +E&specifica una carpeta: +Utilitza únicament per a discs extraïbles +Especifica una carpeta pels fitxers temporals. +2500 +Selecció +Mostra l'element ".." +Mostra icones reals dels fitxers +Mostra el menú de sistema +&Selecció de columna completa +Mostra les línies de &graella +Obre amb un sol clic els elements +Mode de selecció &alternatiu +Usa pàgines de memòria &grans +2900 +Informació sobre 7-Zip +7-Zip és programari lliure. De totes maneres, podeu col.laborar en el seu desenvolupament registrant el programa. +3000 +El sistema no pot assignar la quantitat de memòria requerida +No hi ha errors +{0} objecte(s) seleccionat(s) +No es pot crear la carpeta '{0}' +Aquest tipus de fitxer no permet actualització. +No es pot obrir el fitxe '{0}' com a arxiu +No es pot obrir el fitxer xifrat '{0}'. La contrasenya és incorrecta? +Tipus d'arxiu no admès +El fitxer {0} ja existeix +El fitxer '{0}' ha estat modificat.\nVoleu actualitzar-lo a l'arxiu? +No pot actualitzar-se el fitxer\n'{0}' +No pot executar-se l'editor. +El fitxer sembla un virus (el nom del fitxer conté espais molt llargs al nom). +L'operació no es pot cridar des d'una carpeta amb una ruta llarga. +Heu de seleccionar un fitxer +Heu de seleccionar un o més fitxers +Massa objectes +3300 +Extraient +Comprimint +Provant +Obrint... +Scanning... +3400 +Extreu +E&xtreu a: +Seleccioneu una destinació pels fitxers extrets. +3410 +Mode d'adreça +Adreça completa +Sense adreça +3420 +Sobreescriure +Amb confirmació +Sense confirmació +Conserva els fitxers ja existents +Reanomena automàticament +Auto-reanomena fitxers existents +3500 +Confirmeu substitució de fitxers +La carpeta de destí conté un fitxer amb el mateix nom. +Voleu substituir el fitxer existent +per aquest altre? +{0} bytes +Renomena a&utomàticament +3700 +Mètode de compressió no vàlid per a '{0}'. +Error de dades en '{0}'. El fitxer és corrupte. +CRC ha fallat en '{0}'. El fitxer és corrupte. +Error de dades al fitxer xifrat '{0}'. Contrasenya errònia? +CRC ha fallat al fitxer xifrat '{0}'. Contrasenya errònia? +3800 +Introduïu la contrasenya +Introduïu la contrasenya: +Torneu a introduir la contrasenya: +Mo&stra la contrasenya +Les contrasenyes no coincideixen +Utilitza només lletres (sense accents), números i caràcters especials (!, #, $, ...) a la contrasenya +La contrasenya és massa llarga +Contrasenya +3900 +Temps transcorregut: +Temps restant: +Mida: +Taxa: +Processat: +Ràtio de compressió: +Errors: +Arxius: +4000 +Afegir al fitxer +&Fitxer: +Mode d'act&ualització: +&Format del fitxer: +Nivell de &compressió: +&Tipus de compressió: +Mida del &diccionari: +Mida de la paraula: +Mida de bloc sòlid: +Nombre de fils de la CPU: +&Paràmetres: +Opcions +Crea fitxer SF&X +Comprimeix fitxers compartits +Xifrat +Mètode de xifrat: +Xifra el nom dels fitxers +Ús de memòria per comprimir: +Ús de memòria per descomprimir: +4050 +Sense compressió +Ràpida + +Normal +Màxima +Ultra +4060 +Afegeix i substitueix fitxers +Actualitza i afegeix fitxers +Actualitza fitxers ja presents +Sincronitza fitxers +4070 +Visualitza +Tots els fitxers +No sòlid +Sòlid +6000 +Copia +Mou +Copia a: +Mou a: +Copiant... +Movent... +Renomenant... +Seleccioneu una carpeta de destí. +Operació no permesa. +Error renomenant fitxer o carpeta +Confirmeu la còpia del fitxer +Esteu segur que voleu copiar els fitxers a l'arxiu +6100 +Confirmeu la supressió del fitxer +Confirmeu la supressió de la carpeta +Confirmeu supressió múltiple de fitxers +Esteu segur que voleu suprimir '{0}'? +Esteu segur que voleu suprimir la carpeta '{0}' i tot el seu contingut? +Esteu segur que voleu esborrar aquests {0} elements? +Suprimint... +Error esborrant fitxer o carpeta +El sistema no pot moure un fitxer amb una ruta llarga a la paperea de reciclatge +6300 +Crea carpeta +Crea arxiu +Nom de carpeta: +Nom d'arxiu: +Carpeta nova +Fitxer nou +Error creant carpeta +Error creant el fitxer +6400 +Comentari +&Comentari: +Selecciona +No selecciona +Màscara: +6600 +Properties +Historial de carpetes +Missatges de diagnosi +Missatge +7100 +El meu ordinador +Entorn de xarxa +Documents +Sistema +7200 +Afegeix +Extreu +Prova +Copia +Mou +Suprimeix +Info +7300 +Divideix fitxer +&Divideix a: +Divideix en &volums, bytes: +Dividint... +Confirmació de la divisió +Esteu segur que voleu dividir el fitxer en {0} volums? +La mida del volum ha de ser més petita que la mida del fitxer original +Mida del volum incorrecte +Mida de volum especificada: {0} bytes.\nEsteu segur que voleu dividir el fitxer en aquests volums? +7400 +Combina fitxers +&Combina a: +Combinant... +Seleccioneu només el primer fitxer +No es pot detectar un fitxer com a una part del fitxer dividit +No es pot trobar més d'una part del fitxer dividit +7500 +Calculant el checksum... +Informació del checksum +CRC checksum per les dades: +CRC checksum per les dades i els noms: +7600 +Test de referència +Ús de la memòria: +Comprimint +Decomprimint +Taxa +Taxa total +Actual +Resultant +Ús de la CPU +Taxa / Ús +Passades: diff --git a/Utils/7-Zip/Lang/co.txt b/Utils/7-Zip/Lang/co.txt new file mode 100644 index 000000000..4b05003b6 --- /dev/null +++ b/Utils/7-Zip/Lang/co.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.00 : Patriccollu di Santa Maria è Sichè +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Corsican +Corsu +401 +OK +Abbandunà + + + +&Iè +I&nnò +&Chjode +Aiutu + +&Cuntinuà +440 +Iè per &Tutti +Innò per T&utti +Piantà +Riavvià +&Arci pianu +P&rimu pianu +&Pausa +In pausa +Site sicuru di vulè abbandunà ? +500 +&Schedariu +&Mudificà +&Affissà +&Favuriti +A&ttrezzi +A&iutu +540 +&Apre +Apre Den&tru +Apre F&ora +A&ffissà +&Mudificà +&Rinumà +&Cupià Ver Di... +&Dispiazzà Ver Di... +S&quassà +&Sparte u schedariu... +&Unisce i schedarii... +&Pruprietà +Cumme&ntu... +Calculà a somma di cuntrollu +Paragunà e sfarenze +Creà un Cartulare +Creà un Schedariu +&Esce +Leia +Flussi A<ernativi +600 +Selezziunà &Tuttu +Ùn selezziunà &Nunda +&Arritrusà a Selezzione +&Selezziunà... +Ùn selezziunà &micca... +Selezziunà da u Tipu +Ùn Selezziunà da u Tipu +700 +Icone &Maiò +Icone &Chjuche +&Lista +&Detaglii +730 +Non &Ordinatu +&Vista Sparta +&2 Finestre +&Barre d'Attrezzi +Apre u Cartulare di &Radica +Livellu &Superiore +Crunulugia di i Cartulari... +&Attualizà +Attualisazione Autumatica +750 +Barra d'Attrezzi d'Archiviu +Barra d'Attrezzi Classica +Buttoni Maiò +Affissà u Testu di i Buttoni +800 +&Aghjunghje u cartulare à i Favuriti cum'è +Indetta +900 +&Ozzioni... +&Sperimentu di pussibilità +960 +&Cuntenutu (in inglese)... +&Apprupositu di 7-Zip... +1003 +Passeghju +Nome +Estensione +Cartulare +Dimensione +Dimensione Cumpressa +Attributi +Creatu u +Accessu u +Mudificatu u +Solidu +Cummentatu +Cifratu +Frazziunà Nanzu +Frazziunà Dopu +Dizziunariu + +Tipu +Anti +Metoda +OS ospite +Sistema di Schedariu +Utilizatore +Gruppu +Bloccu +Cummentu +Pusizione +Prefissu di Passeghju +Cartulari +Schedarii +Versione +Vulume +Multi-Vulume +Offset +Leie +Blocchi +Vulumi + +64-bit +Big-endian +CPU +Dimensione Fisica +Dimensione di l'Intestature +Somma di cuntrollu +Caratteristiche +Indirizzu Virtuale +ID +Nome Cortu +Appiecazione d'Urigine +Dimensione di Settore +Modu +Leia Simbolica +Sbagliu +Dimensione Tutale +Spaziu Liberu +Dimensione di Cluster +Nome di Vulume +Nome Lucale +Furnidore +Sicurità NT +Flussu Alternativu +Ausiliaru +Squassatu +In Arburu + + +Tipu di Sbagliu +Sbaglii +Sbaglii +Avertimenti +Avertimentu +Flussi +Flussi Alternativi +Dimensione di i Flussi Alternativi +Dimensione Virtuale +Dimensione Senza Compressione +Dimensione Fisica Tutale +Indice di Vulume +SottuTipu +Cummentu Cortu +Pagina di Codice + + + +Dimensione di a Coda +Dimensione di u Mozzicone Incurpuratu +Leia +Leia Solida +iNode + +Lettura sola +2100 +Ozzioni +Lingua +Lingua : +Editore +&Editore : +Paragunà e sfarenze : +2200 +Sistema +Assucià 7-Zip cù : +Tutti l'utilizatori +2301 +Integrà 7-Zip à l'interfaccia cuntestuale +Interfaccia cuntestuale in cascata +Elementi di l'interfaccia cuntestuale : +Icone in l'interfaccia cuntestuale +2320 + + +Apre l'archiviu +Estrae i schedarii... +Aghjunghje à l'archiviu... +Verificà l'archiviu +Estrae Quì +Estrae ver di {0} +Aghjunghje à {0} +Cumprime è mandà da email... +Cumprime ver di {0} è mandà da email. +2400 +Cartulari +Cartulare di &travagliu +Cartulare timpurariu di &sistema +&Currente +&Specificatu : +Impiegà solu per i dischi amuvibili +Specificate un cartulare per i schedarii timpurarii d'archiviu. +2500 +Preferenze +Affissà l'elementu ".." +Affissà e vere icone di i schedarii +Affissà l'interfaccia sistema +Selezziunà tutta a linea +Affissà linee &quadrittate +Cliccu unicu per apre un elementu +Modu di selezzione &alternativa +Impiegà pagine maiò di memoria +2900 +Apprupositu di 7-Zip +7-Zip hè un prugramma liberu.\n\nTraduttu in lingua corsa da Patriccollu di Santa Maria è Sichè. +3000 +U sistema ùn pò micca attribuisce a quantità richiesta di memoria +Ùn ci hè micca sbagliu +{0} ughjettu(i) selezziunatu(i) +U cartulare '{0}' ùn pò micca esse creatu +L'azzioni di mudificazione ùn sò micca pussibule per quessu archiviu. +U schedariu '{0}' ùn pò micca esse apertu cum'è un archiviu +L'archiviu cifratu '{0}' ùn pò micca esse apertu. Parolla d'intrata falsa ? +Stu tipu d'archiviu ùn hè micca accettatu +U schedariu {0} esiste dighjà +U schedariu '{0}' hè statu mudificatu.\nVulete cambiallu in l'archiviu ? +Ùn hè micca pussibule di cambià u schedariu\n'{0}' +Ùn hè micca pussibule d'avvià l'editore. +U schedariu hè podasse infettatu da un virus (u so nome cuntene spazii numerosi). +St'azzione ùn pò micca fassi dapoi un cartulare cù u nome di passeghju cusì longu. +Ci vole à selezziunà un schedariu +Ci vole à selezziunà al menu un schedariu +Troppu elementi +Ùn hè micca pussibule d'apre u schedariu cum'è un archiviu {0} +U schedariu hè apertu cum'è un archiviu {0} +L'archiviu hè apertu cù offset +3300 +Estrazzione +Cumpressione +Verificazione +Apertura... +Esplurazione... +Cacciatura +3320 +Aghjuntu +Mudificazione +Analisa +Riproduzzione +Rimballasgiu +Tralasciamentu +Squassatura +Creazione di l'intestatura in corsu +3400 +Estrae +E&strae ver di : +Sciglite un cartulare per l'estrazzione di i schedarii. +3410 +Modu di passeghju : +Nomi cumpletti di passeghju +Alcunu nome di passeghju +Nomi assuluti di passeghju +Nomi relativi di passeghju +3420 +Modu di rimpiazzamentu : +Cunfirmà nanzu di rimpiazzà +Rimpiazzà senza dumandà +Ignurà i schedarii esistenti +Rinumà autumaticamente +Rinumà autumaticamente i schedarii esistenti +3430 +Ùn cupià micca u cartulare di radica +Risturà a sicurità di i schedarii +3500 +Cunfirmà u Rimpiazzamentu di Schedariu +U cartulare di distinazione cuntene dighjà un schedariu cù stu nome. +Vulete rimpiazzà u schedariu esistentu +cù quessu ? +{0} ottetti +Rinumà &Autumaticamente +3700 +Metoda di cumpressione micca accettatu per '{0}'. +Sbagliu di dati in '{0}'. U schedariu hè alteratu. +Fiascu di l'ispezzione CRC per u schedariu '{0}'. U schedariu hè alteratu. +Sbagliu di dati in u schedariu cifratu '{0}'. Parolla d'intrata falsa ? +Fiascu di l'ispezzione CRC per u schedariu cifratu '{0}'. Parolla d'intrata falsa ? +3710 +Parolla d'intrata falsa ? +3721 +Metoda di compressione micca accettatu +Sbagliu di dati +Fiascu di CRC +Dati micca dispunibule +Fine inaspettata di dati +Ci hè d'altri dati dopu à a fine di i dati ghjuvevule +Ùn hè un archiviu +Sbagliu d'Intestature +Parolla d'intrata falsa +3763 +Principiu di l'archiviu micca dispunibule +Principiu di l'archiviu micca confirmatu + + + +Funzione micca accettata +3800 +Scrivite a parolla d'intrata +Scrivite a parolla d'intrata : +Scrivite torna a parolla d'intrata : +&Affissà a parolla d'intrata +E parolle d'intrata sò sfarente +Per a parolla d'intrata, pudete impiegà solu : lettere senza aletta, cifri è segni particulari (!, #, $, ...) +A parolla d'intrata hè troppu longa +Parolla d'intrata +3900 +Tempu passatu : +Tempu rimanentu : +Dimensione tutale : +Celerità : +Prucessu : +Reditu di cumpressione : +Sbaglii : +Archivii : +4000 +Aghjunghje à l'archiviu +&Archiviu : +Modu di m&udificazione : +&Forma d'archiviu : +&Livellu de cumpressione : +&Metoda di cumpressione : +&Dimensione di u dizziunariu : +Dimensione di &e parolle : +Dimensione di u bloccu solidu : +Numeru di flussi CPU : +&Parametri : +Ozzioni +Creà un archiviu SF&X +Cumprime schedarii sparti +Cifratura +Metoda di cifratura : +Cifrà i &nomi di schedariu +Memoria impiegata da a Cumpressione : +Memoria impiegata da a Scumpressione : +Squassà i schedarii dopu à a cumpressione +4040 +Cunservà e leie simboliche +Cunservà e leie solide +Cunservà i flussi di dati alternativi +Cunservà a sicurità di i schedarii +4050 +Alcuna +A più rapida +Rapida +Nurmale +Massima +Ultra +4060 +Aghjunghje è rimpiazzà i schedarii +Mudificà è aghjunghje i schedarii +Attualizà i schedarii esistenti +Sincrunizà i schedarii +4070 +Sfuglià +Tutti i Schedarii +Non-solidu +Solidu +6000 +Cupià +Dispiazzà +Cupià ver di : +Dispiazzà ver di : +Copia in corsu... +Dispiazzamentu in corsu... +Cambiamentu di nome in corsu... +Selezziunà u cartulare di distinazione. +St'azzione ùn hè micca accettata per stu cartulare. +Sbagliu durante u Cambiu di Nome di Schedariu o di Cartulare +Cunfirmazione di a Copia di Schedariu +Site sicuru di vulè cupià u(i) schedariu(i) ver di l'archiviu +6100 +Cunfirmà a Squassatura di u Schedariu +Cunfirmà a Squassatura di u Cartulare +Cunfirmà a Squassatura di Schedarii Multiplice +Site sicuru di vulè squassà '{0}' ? +Site sicuru di vulè squassà u cartulare '{0}' è tuttu u so cuntenutu ? +Site sicuru di vulè squassà sti {0} elementi ? +Squassatura in corsu... +Sbagliu durante a Squassatura di Schedariu o di Cartulare +U sistema ùn pò micca mette à a Rumenzula un schedariu cù u nome di passeghju cusì longu +6300 +Creà un Cartulare +Creà un Schedariu +Nome di cartulare : +Nome di schedariu : +Novu Cartulare +Novu Schedariu +Sbagliu durante a Creazione di Cartulare +Sbagliu durante a Creazione di Schedariu +6400 +Cummentu +&Cummentu : +Selezziunà +Ùn Selezziunà +Filtru : +6600 +Pruprietà +Crunulugia di i Cartulari +Messaghji di diagnosticu +Messaghju +7100 +Urdinatore +Reta +Ducumenti +Sistema +7200 +Aghjunghje +Estrae +Verificà +Cupià +Dispiazzà +Squassà +Infurmazione +7300 +Sparte u schedariu +&Sparte in : +Sparte in &vulumi, ottetti : +Spartimentu... +Cunfirmà u Spartimentu +Site sicuru di vulè sparte u schedariu in {0} vulumi ? +A dimensione di u vulume deve esse più chjucu chì u schedariu d'urighjine +Dimensione di vulume falsa +Dimensione di vulume specificata : {0} ottetti.\nSite sicuru di vulè taglià l'archiviu in tali vulumi ? +7400 +Unisce i Schedarii +&Unisce in : +Unione... +Selezziunà solu a prima parte di l'archiviu spartutu +Ùn si trova alcuna parte d'archiviu spartutu +Ùn si trova micca più d'una parte d'archiviu spartutu +7500 +Calculu di a somma di cuntrollu... +Infurmazione nant'à a somma di cuntrollu +Somma di cuntrollu CRC per i dati : +Somma di cuntrollu CRC per i dati è i nomi : +7600 +Sperimentu di pussibilità +Memoria impiegata : +Cumpressione +Scumpressione +Percentuale +Percentuale tutale +Attuale +Risultante +Impiegu CPU +Estimatu / Impiegatu +Passagi : +7700 +Leia +Ligà +Leia d'urigine : +Leia di distinazione : +7710 +Tipu di Leia +Leia Solida +Leia Simbolica di Schedariu +Leia Simbolica di Cartulare +Unione di Cartulare diff --git a/Utils/7-Zip/Lang/cs.txt b/Utils/7-Zip/Lang/cs.txt new file mode 100644 index 000000000..8eb5a2a3d --- /dev/null +++ b/Utils/7-Zip/Lang/cs.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.30 : Milan Hrubý +; 4.33 : Michal Molhanec +; 9.07 : Jiří Malák +; +; +; +; +; +; +; +; +0 +7-Zip +Czech +ÄŒeÅ¡tina +401 +OK +Storno + + + +&Ano +&Ne +Zavří&t +NápovÄ›da + +Po&kraÄovat +440 +Ano na &vÅ¡echno +N&e na vÅ¡echno +Zastavit +Spustit znovu +&Pozadí +P&opÅ™edí +Po&zastavit +Pozastaveno +Jste si jistí, že to chcete stornovat? +500 +&Soubor +Úpr&avy +&Zobrazení +&Oblíbené +&Nástroje +Nápo&vÄ›da +540 +&Otevřít +Otevřít u&vnitÅ™ +Otevřít &mimo +&Zobrazit +&Upravit +&PÅ™ejmenovat +Kopírovat &do... +PÅ™&esunout do... +Vymaza&t +&RozdÄ›lit soubor... +&SlouÄit soubory... +Vlast&nosti +Poznámk&a +VypoÄítat kontrolní souÄet +Porovnat soubory +VytvoÅ™it složku +VytvoÅ™it soubor +&Konec +600 +Vybrat &vÅ¡e +ZruÅ¡it výbÄ›r vÅ¡e +&Invertovat výbÄ›r +Vybrat... +ZruÅ¡it výbÄ›r... +Vybrat podle typu +ZruÅ¡it výbÄ›r podle typu +700 +&Velké ikony +&Malé ikony +&Seznam +&Podrobnosti +730 +&Bez třídÄ›ní +"Ploché" zobrazení +&2 panely +Nástrojové liÅ¡ty +Otevřít koÅ™enovou složku +O úroveň výš +Historie složek... +&Obnovit +750 +ArchivaÄní liÅ¡ta +Standardní liÅ¡ta +Velká tlaÄítka +Zobrazovat text tlaÄítek +800 +&PÅ™idat složku do oblíbených jako +Záložka +900 +&Možnosti... +&ZkouÅ¡ka výkonu +960 +&Obsah... +O progr&amu 7-Zip... +1003 +Cesta +Název +Přípona +Složka +Velikost +Komprimovaná velikost +Atributy +VytvoÅ™en +Použit +ZmÄ›nÄ›n +Pevný +S poznámkou +Zakódovaný +RozdÄ›len do +RozdÄ›len od +Slovník +CRC +Typ +Anti +Metoda +Hostitelský OS +Souborový systém +Uživatel +Skupina +Blok +Poznámka +Pozice +Cesta +Složky +Soubory +Verze +Díl +Vícedílný +Offset +Odkazy +Bloků +Dílů + +64-bit +Big-endian +Pocesor +Fyzická velikost +Velikost hlaviÄek +Kontrolní souÄet +Charakteristiky +Virtuální adresa +ID +Krátké jméno +Autor +Velikost sektoru +Režim +Odkaz +Chyba +Celková velikost +Volné místo +Velikost clusteru +OznaÄení +Místní název +Poskytovatel +2100 +Možnosti +Jazyk +Jazyk: +Editor +&Editor: +Program pro &porovnání souborů: +2200 +Systém +Asociovat 7-Zip s: +2301 +&Integrovat 7-Zip do kontextového menu +S&tupňovité kontextové menu +&Položky kontextového menu: +2320 + + +Otevřít +Rozbalit soubory... +PÅ™idat do archivu... +Zkontrolovat archiv +Rozbalit zde +Rozbalit do {0} +PÅ™idat do {0} +Zkomprimovat a odeslat poÅ¡tou... +Zkomprimovat do {0} a odeslat poÅ¡tou +2400 +Složky +Pracovní složka +&Systémová složka pro doÄasné soubory +&Aktuální +S&ložka: +&Používat pouze pro vyjímatelné disky +Vyberte umístÄ›ní pro doÄasné komprimované soubory. +2500 +Nastavení +Zobrazovat položku ".." +Zobrazovat skuteÄnou ikonu souboru +Zobrazovat systémové menu +&Vybírat celý řádek +Zobrazovat &mřížku +Otevřít položku jedním kliknutím +&Alternativní způsob výbÄ›ru +&Používat velké stránky pamÄ›ti +2900 +O programu 7-Zip +7-Zip je svobodný software. NicménÄ› můžete podpoÅ™it jeho vývoj registrací. +3000 +Systém nemůže pÅ™idÄ›lit požadovanou velikost pamÄ›ti +NedoÅ¡lo k žádným chybám +vybráno {0} objekt(ů) +Nelze vytvoÅ™it složku '{0}' +Aktualizace není podporována pro tento archiv. +Soubor '{0}' nelze otevřít jako archiv +Zakódovaný archiv '{0}' nelze otevřít. Å patné heslo? +Nepodporovaný typ archivu +Soubor {0} již existuje +Soubor '{0}' byl zmÄ›nÄ›n.\nChcete ho aktualizovat v archivu? +Nelze aktualizovat soubor\n'{0}' +Editor nelze spustit. +Soubor se jeví jako virus (ve jménu souboru jsou dlouhé mezery). +Operace nemůže být provedena ze složky s dlouhou cestou. +Musíte vybrat jeden soubor +Musíte vybrat jeden nebo více souborů +PříliÅ¡ mnoho položek +3300 +Rozbalování +Komprimování +Konrola +Otevírání... +Prohledávání... +3400 +Rozbalit +&Rozbalit do: +Vyberte umístÄ›ní pro rozbalené soubory. +3410 +Cesty +Plné cesty +Bez cesty +3420 +Způsob pÅ™episování +Zeptat se pÅ™ed pÅ™episem +PÅ™epsat bez výzvy +PÅ™eskoÄit existující soubory +Automatické pÅ™ejmenování +Automatické pÅ™ejmenování existujících souborů +3500 +Potvrzení nahrazení souboru +Cílová složka již obsahuje zpracovaný soubor. +Chcete nahradit existující soubor +tímto? +{0} bajtů +A&utomaticky pÅ™ejmenovat +3700 +Nepodporovaná komprimaÄní metoda pro '{0}'. +Chyba dat v '{0}'. Soubor je poÅ¡kozený. +Chyba CRC v '{0}'. Soubor je poÅ¡kozený. +Chyba dat v zakódovaném souboru '{0}'. Chybné heslo? +Chyba CRC v zakódovaném souboru '{0}'. Chybné heslo? +3800 +Vložit heslo +Vložit heslo: +Potvrzení hesla: +Zobrazit he&slo +Heslo nesouhlasí +Pro heslo použíjte pouze anglická písmena, Äíslice a speciální znaky (!, #, $, ...) +Heslo je příliÅ¡ dlouhé +Heslo +3900 +Uplynulý Äas: +Zbývající Äas: +Celková velikost: +Rychlost: +Zpracováno: +KomprimaÄní pomÄ›r: +Chyb: +Archívy: +4000 +PÅ™idat do archivu +&Archiv: +Způsob aktualizace: +&Formát archivu: +Ú&roveň komprese: +&KomprimaÄní metoda: +Ve&likost slovníku: +V&elikost slova: +Velikost bloku: +PoÄet vláken procesoru: +&Parametry: +Možnosti +VytvoÅ™it SF&X archiv +Zkomprimovat otevÅ™ené soubory +Zakódování +Metoda zakódování: +Zakódovat &názvy souborů +SpotÅ™eba pamÄ›ti pro zabalení: +SpotÅ™eba pamÄ›ti pro rozbalení: +4050 +Skladovací +Nejrychlejší +Rychlá +Normální +Maximální +Ultra +4060 +PÅ™idat a nahradit soubory +Aktualizovat a pÅ™idat soubory +Aktualizovat existující soubory +Synchronizovat soubory +4070 +Procházet +VÅ¡echny soubory +Podle velikosti souboru +Pevný +6000 +Kopírovat +PÅ™esunout +Kopírovat do: +PÅ™esunout do: +Kopírování... +PÅ™esouvání... +PÅ™ejmenování... +Vyberte cílovou složku. +Operace není podporována. +Chyba pÅ™i pÅ™ejmenování souboru nebo složky +Potvrzení kopírování souborů +Jste si jistí, že chcete zkopírovat soubory do archivu +6100 +Potvrdit vymazání souboru +Potvrdit vymazání složky +Potvrdit mnohonásobné vymazání souboru +Jste si jistí, že chcete vymazat '{0}'? +Jste si jistí, že chcete vymazat složku '{0}' a vÅ¡echno co obsahuje? +Jste si jistí, že chcete vymazat tyto {0} položky? +Mazání... +Chyba pÅ™i mazání souboru nebo složky +Systém nepodporuje pÅ™esun soubor s dlouhou cestou do Odpadkového koÅ¡e +6300 +VytvoÅ™it složku +VytvoÅ™it soubor +Název složky: +Název souboru: +Nová složka +Nový soubor +Chyba pÅ™i vytváření složky +Chyba pÅ™i vytváření souboru +6400 +Poznámka +&Poznámka: +Vybrat +ZruÅ¡it výbÄ›r +Maska: +6600 +Vlastnosti +Historie složek +Diagnostické zprávy +Zpráva +7100 +PoÄítaÄ +Síť +Dokumenty +Systém +7200 +PÅ™idat +Rozbalit +Zkontrolovat +Kopírovat +PÅ™esunout +Vymazat +Informace +7300 +RozdÄ›lit soubor +RozdÄ›lit do: +RozdÄ›lit na díly, bajtů: +RozdÄ›lování... +Potvrdit rozdÄ›lování +Jste si jistí, že chcete rozdÄ›lit soubor na {0} dílů? +Velikost dílu musí být menší než velikost původního souboru +Nesprávná velikost dílu +Zadaná velikost dílu: {0} bytů.\nJste si jistí, že chcete rozdÄ›lit archiv do takových dílů? +7400 +SlouÄit soubory +SlouÄit do: +SluÄování... +Musí se vybrat pouze první díl rozdÄ›leného soubor +NepodaÅ™ilo se rozpoznat rozdÄ›lený soubor +NepodaÅ™ilo se nalézt více než jeden díl rozdÄ›leného souboru +7500 +VypoÄítávání kontrolního souÄtu... +Informace o kontrolním souÄtu +CRC kontrolní souÄet pro data: +CRC kontrolní souÄet pro data a jména: +7600 +ZkouÅ¡ka výkonu +SpotÅ™eba pamÄ›ti: +Komprimování +Rozbalování +Výkon +Celkový výkon +Aktuální +Výsledné +Využití procesoru +Výkon / Využití +Průchodů: diff --git a/Utils/7-Zip/Lang/cy.txt b/Utils/7-Zip/Lang/cy.txt new file mode 100644 index 000000000..38be91b3b --- /dev/null +++ b/Utils/7-Zip/Lang/cy.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.37 : Owain Lewis +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Welsh +Cymraeg +401 +Iawn +Canslo + + + +&Iawn +&Na +&Cau +Cymorth + +P&arhau +440 +Iawn i'r &Cwbwl +Na i'r C&wbwl +Stopio +Ailgychwyn +&Cefndir +&Blaendir +&Pwyllo +Pwyllo +Ydych chi am canslo? +500 +&Ffeil +&Golygu +Gwe&ld +Ff&efrynnau +&Offer +&Cymorth +540 +&Agor +Agor tu &Mewn +Agor tu &Fas +Gwe&ld +&Golygu +A&ilenwi +&Copïo i... +&Symud i... +&Dileu +&Hollti ffeil... +Cy&funo ffeilau... +&Priodweddau +Syl&wad +Cyfrifo swm-gwirio + +Creu Ffolder +Creu Ffeil +Alla&n +600 +Dewis y C&yfan +Dad-ddewis y Cyfan +Gwrt&hdroi'r Dewis +Dewis... +Dad-ddewis... +Dewis trwy Math +Dad-ddewis trwy Math +700 +Eiconau &Mawr +Eiconau &Bach +&Rhestr +Ma&nylion +730 +Dad-dosbarthu +Golwg Flat +&2 Paneli +Bariau &Offer +Agor Ffolder Gwraidd +Lan Un Lefel +Hanes Ffolderi... +&Adnewyddu +750 +Bar Offer Archif +Bar Offer Arferol +Botwmau Fawr +Dangos Testun Botwmau +800 +&Ychwanegu ffolder i Ffefrynnau fel +Llyfrnod +900 +&Dewisiadau... +&Meincnod +960 +&Cynnwys... +&Manylion 7-Zip... +1003 +Llwybr +Enw +Estyniad +Ffolder +Maint +Maint wedi'i Cywasgu +Priodweddau +Crëwyd +Cyrchwyd +Addaswyd +Solet +Sylwad +Amgryptio +Hollti Cyn +Hollti ar Ôl +Geiriadur +CRC +Math +Anti +Dull +SW Cynnal +System Ffeiliau +Ddefnyddiwr +Grŵp +Bloc +Sylwad +Safle +Rhagddodiad y Llwybr + + + + + + + + + + + + + + + + + + + + + + + + +Gwall +Cyfanswm Maint +Lle Rhydd +Maint Clwstwr +Label +Enw Lleol +Darparwr +2100 +Dewisiadau +Iaith +Iaith: +Golygydd +&Golygydd: + +2200 +System +Cysylltu 7-Zip gyda: +2301 +Cyfuno 7-Zip mewn i dewislen cyd-destun y cribyn +Dewislen cyd-destun wedi'i rhaeadru +Eitemau dewislen cyd-destun: +2320 + + +Agor archif +Echdynnu ffeiliau... +Ychwanegu i'r archif... +Profi archif +Echdynnu Yma +Echdynnu i {0} +Ychwanegu i {0} +Cywasgu ac e-bostio... +Cywasgu i {0} ac e-bostio +2400 +Ffolderi +Ffolder &gweithio +Ffolder tymor byr y &system +&Cyfredol +&Penodol: +Defnyddiwch am gyriant symudadwy yn unig +Nodwch lleoliad am ffeiliau archif tymor byr. +2500 +Gosodiadau +Dangos eitem ".." +Dangos eicon ffeil go iawn +Dangos dewislen y system +Dethol &holl rhes +Dangos llinellau &grid + +Modd dethol &arallddewisiol +Defnyddiwch tudalenau cof &mawr +2900 +Manylion 7-Zip +Mae 7-Zip yn meddalwedd am ddim. Ond, gallwch cefnogi y \ndatblygiad o 7-Zip trwy cofrestru. +3000 + +Mae na ddim wallau +{0} gwrthrych(au) dethol +Ddim yn gallu creu y ffolder '{0}' +Mae gweithrediadau diweddaru ddim yn ateg am yr archif hyn. + + + + +Roedd ffeil '{0}' wedi'i addasu.\nWyt ti moen ei diweddaru yn yr \narchif? +Ddim yn gallu diweddaru ffeil\n'{0}' +Ddim yn gallu dechrau golygydd. + + + + +Gormod o eitemau +3300 +Echdynnu +Cywasgu +Ymbrofi +Agor... +Sganio... +3400 +Echdynnu +E&chdynnu i: +Nodwch lleoliad am echdynnu ffeiliau. +3410 +Modd llwybr +Enwau llwybr llawn +Dim enwau llwybr +3420 +Modd disodli +Gofyn cyn disodli +Disodli heb awgrymeb +Crychneidio ffeiliau presennol +Ailenwu yn awtomatig +Ailenwu ffeiliau presennol yn awtomatig +3500 +Cadarnhau Disodli Ffeil +Mae'r ffolder hon eisioes yn cynnwys y ffeil cyrchfan. +Hoffech chi ddisodli'r ffeil sy'n bodoli eisioes +Gyda hon? +{0} beit +Ailenwi A&wtomatig +3700 +Modd cywasgu ddim yn dilys am '{0}'. +Gwall data mewn '{0}'. Ffeil wedi'i torri. +CRC wedi'i methu mewn '{0}'. Ffeil wedi'i torri. + + +3800 +Mewnbynnwch cyfrinair +Mewnbynnwch cyfrinair: + +&Dangos cyfrinair + + + +Cyfrinair +3900 +Wedi treiglo: +Amser a'r ôl: +Maint: +Cyflymder: + + +Gwallau: + +4000 +Ychwanegu i'r archif +&Archif: +Modd &diweddaru: +&Fformat yr archif: +&Lefel cywasgu: +Dull &cywasgu: +Maint &geiriadur: +Maint geiria&u: + + +&Paramedrau: +Dewisiadau +Creu archif SF&X + + + +Amgryptio &enwau ffeiliau +Defnydd cof am Cywasgu: +Defnydd cof am Datgywasgu: +4050 +Storio +Cyflymach +Cyflum +Arferol +Uchafswm +Ultra +4060 +Ychwanegu ac amnewid ffeiliau +Diweddaru ac ychwanegu ffeiliau +Adnewyddu y ffeiliau presennol +Cyfamseru ffeiliau +4070 +Pori +Pob Ffeil + + +6000 +Copïo +Symud +Copïo i: +Symud i: +Copïo... +Symud... +Ailenwi... + +Mae'r gweithrediad ddim wedi'i ategu. +Gwall wrth Ailenwi Ffeil neu Ffolder +Cadarnhau Copi Ffeil +Ydych chi'n siŵr eich bod am copïo'r ffeiliau i'r archif +6100 +Cadarnhau Dileu Ffeil +Cadarnhau Dileu Ffolder +Cadarnhau Dileu Ffeiliau Amryfal +Ydych chi'n siŵr eich bod am dileu '{0}'? +Ydych chi'n siŵr eich bod am dileu y ffolder '{0}' ac ei holl \ncynnwys? +Ydych chi'n siŵr eich bod am dileu yr eitemau hyn {0}? +Dileu... +Gwall Dileu Ffeil neu Ffolder + +6300 +Creu Ffolder +Creu Ffeil +Enw Ffolder: +Enw Ffeil: +Ffolder Newydd +Ffeil Newydd +Gwall wrth Creu Ffolder +Gwall wrth Creu Ffeil +6400 +Sylwad +&Sylwad: +Dewis +Dad-ddewis +Mwgwd: +6600 + +Hanes Ffolderi +Neges diagnostig +Neges +7100 +Cyfrifiadur +Rhyngrwyd + +System +7200 +Ychwanegu +Echdynnu +Profi +Copïo +Symud +Dileu +Gwybodaeth +7300 +Hollti Ffeil +&Hollti i: +Hollti i &cyfeintiau, beitiau: +Hollti... + + + + + +7400 +Cyfuno Ffeiliau +&Cyfuno i: +Cyfuno... + + + +7500 +Cyfrifo swm-gwirio... +Gwybodaeth swm-gwirio +Swm-gwirio CRC am data: +Swm-gwirio CRC am data ac enwau: +7600 +Meincnod +Defnyddiad cof: +Cywasgu +Datgywasgu +Amcangyfrif +Amcangyfrif llwyr +Presennol +Canlyniad + + +Pasio: diff --git a/Utils/7-Zip/Lang/da.txt b/Utils/7-Zip/Lang/da.txt new file mode 100644 index 000000000..563b1978a --- /dev/null +++ b/Utils/7-Zip/Lang/da.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : Jakob Schmidt +; 9.07 : Kian Andersen, Jørgen Rasmussen +; 15.00 : 2016-08-19 : scootergrisen +; +; +; +; +; +; +; +; +0 +7-Zip +Danish +Dansk +401 +OK +Annuller + + + +&Ja +&Nej +&Luk +Hjælp + +&Fortsæt +440 +Ja til &alle +Nej til a&lle +Stop +Genstart +&Baggrund +&Forgrund +&Pause +Pauset +Er du sikker pÃ¥, at du vil annullere? +500 +&Filer +R&ediger +&Vis +F&avoritter +Funk&tioner +&Hjælp +540 +&Ã…bn +Ã…bn &inden i +Ã…bn &uden for +&Vis +&Rediger +O&mdøb +&Kopier til... +&Flyt til... +S&let +&Opdel fil... +Kom&biner filer... +&Egenskaber +Komme&ntar... +Udregn checksum +Sammenlign +Opret mappe +Opret fil +&Afslut +Opret/rediger henvisning +&Alternative strømme +600 +Vælg &alle +Fravælg alle +&Omvendt markering +Vælg... +Fravælg... +Vælg efter type +Fravælg efter type +700 +Sto&re ikoner +S&mÃ¥ ikoner +&Liste +&Detaljer +730 +Usorteret +Flad visning +&2 paneler +&Værktøjslinjer +Ã…bn rodmappe +Et niveau op +Mappehistorik... +&Opdater +Opdater automatisk +750 +Arkivlinje +Standardlinje +Store knapper +Vis knappernes tekst +800 +&Føj mappe til Favoritter som +Bogmærke +900 +&Funktioner... +&Benchmark +960 +&Indhold... +&Om 7-Zip... +1003 +Sti +Navn +Filtype +Mappe +Størrelse +Pakket størrelse +Attributter +Oprettet +Ã…bnet +Ændret +Solid +Kommenteret +Krypteret +Opdel før +Opdel efter +Leksikon + +Type +Anti +Metode +Vært OS +Filsystem +Bruger +Gruppe +Blok +Kommentar +Placering +Sti præfiks +Mapper +Filer +Version +Bind +Flerbindsarkiv +Forskydning +Henvisning +Blokke +Bind + +64-bit +Big-endian +CPU +Fysisk størrelse +Hovedernes størrelse +Checksum +Karakteristika +Virtuel adresse +ID +Kort navn +Oprettende program +Sektorstørrelse +Tilstand +Symbolsk henvisning +Fejl +Samlet størrelse +Fri plads +Klyngestørrelse +Etiket +Lokalt navn +Udbyder +NT Security +Alternativ strøm +Aux +Slettet +Er træ + + +Fejltype +Fejl +Fejl +Advarsler +Advarsel +Strømme +Alternative strømme +Størrelse pÃ¥ alternative strømme +Virtuel størrelse +Udpakket størrelse +Samlet fysiske størrelse +Bind-indeks +Undertype +Kort kommentar +Tegnsæt + + + +Halestørrelse +Indlejret stumpstørrelse +Henvisning +Fast henvisning +iNode + +Skrivebeskyttet +2100 +Funktioner +Sprog +Sprog: +Redigering +&Rediger: +&Sammenlign: +2200 +System +Knyt 7-Zip til: +Alle brugere +2301 +Vis i Windows genvejsmenu +Brug undermenu +Punkter i genvejsmenu: +Ikoner i genvejsmenu +2320 + + +Ã…bn arkiv +Udpak filer... +Føj til arkiv... +Test arkiv +Udpak her +Udpak til {0} +Føj til {0} +Komprimer og vedhæft i e-mail... +Komprimer til {0} og vedhæft i e-mail +2400 +Mapper +&Arbejdsmappe +&Systemets midlertidige mappe +&Aktuelle +&Brugerdefineret: +Brug kun til flytbare drev +Angiv en placering til midlertidige arkivfiler. +2500 +Indstillinger +Vis ".."-element +Vis rigtige filikoner +Vis systemmenu +&Marker hele rækken +Vis &gitter +Ã…bn element med ét klik +&Alternativ markeringsmetode +Brug &store hukommelsessider +2900 +Om 7-Zip +7-Zip er fri software +3000 +Systemet kan ikke tildele den nødvendige mængde hukommelse +Der er ingen fejl +{0} markerede element(er) +Kan ikke oprette mappen "{0}" +Arkivet understøtter ikke opdateringshandlinger. +Kan ikke Ã¥bne filen "{0}" som arkiv +Kan ikke Ã¥bne det krypterede arkiv "{0}". Forkert adgangskode? +Arkivtypen er ikke understøttet +Filen {0} findes allerede +Filen "{0}" er blevet ændret.\nVil du opdatere den i arkivet? +Kan ikke opdatere filen\n"{0}" +Kan ikke starte redigering. +Filen ligner en virus (filnavnet indeholder lange mellemrum i navn). +Handlingen kan ikke kaldes fra en mappe som har en lang sti. +Du skal vælge en fil +Du skal vælge en eller flere filer +For mange elementer +Kan ikke Ã¥bne filen som {0}-arkiv +Filen er Ã¥bnet som {0}-arkiv +Arkivet er Ã¥bnet med forskydning +3300 +Udpakker +Komprimerer +Tester +Ã…bner... +Skanner... +Fjerner +3320 +Tilføjer +Opdaterer +Analyserer +Replikerer +Ompakker +Springer over +Sletter +Opretter hovede +3400 +Udpak +U&dpak til: +Angiv en placering til udpakkede filer. +3410 +Stitilstand: +Fulde stinavne +Ingen stinavne +Absolutte stinavne +Relative stinavne +3420 +Overskrivningstilstand: +Spørg før overskrivning +Overskriv uden at spørge +Spring eksisterende filer over +Automatisk omdøbning +Automatisk omdøbning af eksisterende filer +3430 +Forhindr duplikering af rodmappe +Genskab filsikkerhed +3500 +Bekræft filerstatning +Destinationsmappen indeholder allerede behandlet fil. +Vil du erstatte den eksisterende fil +med denne? +{0} byte +A&utomatisk omdøbning +3700 +Komprimeringsmetode for "{0}" er ikke understøttet. +Datafejl i "{0}". Filen er ødelagt. +CRC mislykkedes i "{0}". Filen er ødelagt. +Datafejl i den krypterede fil "{0}". Forkert adgangskode? +CRC mislykkedes i den krypterede fil "{0}". Forkert adgangskode? +3710 +Forkert adgangskode? +3721 +Komprimeringsmetoden er ikke understøttet +Datafejl +CRC mislykkedes +Utilgængelig data +Uventet slutning pÃ¥ data +Der er data efter slutningen af nyttedataene +Ikke et arkiv +Fejl i hoveder +Forkert adgangskode +3763 +Utilgængelig begyndelse pÃ¥ arkiv +Ubekræftet begyndelse pÃ¥ arkiv + + + +Faciliteten understøttes ikke +3800 +Indtast adgangskode +Indtast adgangskode: +Indtast adgangskode igen: +&Vis adgangskode +Adgangskoderne er ikke ens +Brug kun engelske bogstaver, numre og specialtegn (!, #, $, ...) til adgangskoden +Adgangskoden er for lang +Adgangskode +3900 +Forløbet tid: +Resterende tid: +Samlet størrelse: +Hastighed: +Behandlet: +Komprimeringsforhold: +Fejl: +Arkiver: +4000 +Føj til arkiv +&Arkiv: +O&pdateringstilstand: +Arkiv&format: +Komprimerings&niveau: +Komprimerings&metode: +Størrelse pÃ¥ or&dbog: +Størrelse pÃ¥ &ord: +Størrelse pÃ¥ solid blok: +Antal CPU-trÃ¥de: +Pa&rametre: +Funktioner +Opret SF&X-arkiv +Komprimer delte filer +Kryptering +Krypteringsmetode: +Kr&ypter filnavne +Hukommelsesforbrug ved komprimering: +Hukommelsesforbrug ved udpakning: +Slet filer efter komprimering +4040 +Gem symbolske henvisninger +Gem hÃ¥rde henvisninger +Gem alternative datastrømme +Gem filsikkerhed +4050 +Gem +Hurtigst +Hurtig +Normal +Maksimum +Ultra +4060 +Tilføj og erstat filer +Opdater og tilføj filer +Opdater eksisterende filer +Synkroniser filer +4070 +Gennemse +Alle filer +Ikke-solid +Solid +6000 +Kopier +Flyt +Kopier til: +Flyt til: +Kopierer... +Flytter... +Omdøber... +Vælg destinationsmappen. +Handlingen understøttes ikke af denne mappe. +Fejl under omdøbning af fil eller mappe +Bekræft kopiering af fil +Er du sikker pÃ¥, at du vil kopiere filer til arkiv +6100 +Bekræft sletning af fil +Bekræft sletning af mappe +Bekræft sletning af flere filer +Er du sikker pÃ¥, at du vil slette "{0}"? +Er du sikker pÃ¥, at du vil slette mappen "{0}" og alt dens indhold? +Er du sikker pÃ¥, at du vil slette disse {0} elementer? +Sletter... +Fejl under sletning af fil eller mappe +Systemet kan ikke flytte en fil med lang sti til Papirkurven +6300 +Opret mappe +Opret fil +Mappenavn: +Filnavn: +Ny mappe +Ny fil +Fejl under oprettelse af mappe +Fejl under oprettelse af fil +6400 +Kommentar +&Kommentar: +Vælg +Fravælg +Maske: +6600 +Egenskaber +Mappers historik +Diagnostiske meddelelser +Meddelelse +7100 +Computer +Netværk +Dokumenter +System +7200 +Tilføj +Udpak +Test +Kopier +Flyt +Slet +Info +7300 +Opdel fil +&Opdel til: +Opd&el i bind, byte: +Opdeler... +Bekræft opdeling +Er du sikker pÃ¥, at du vil opdele filen i {0} bind? +Størrelsen pÃ¥ bind skal være mindre end størrelsen pÃ¥ den oprindelige fil +Forkert størrelse pÃ¥ bind +Angivet størrelse pÃ¥ bind: {0} byte.\nEr du sikker pÃ¥, at du vil opdele arkivet i disse bind? +7400 +Kombiner filer +&Kombiner til: +Kombinerer... +Vælg kun første del af opdelt fil +Kan ikke genkende fil, som del af opdelt fil +Kan ikke finde mere end én del af opdelt fil +7500 +Beregner checksum... +Checksum information +CRC-checksum for data: +CRC-checksum for data og navne: +7600 +Benchmark +Hukommelsesforbrug: +Komprimering +Udpakning +Vurdering +Samlet vurdering +Aktuelt +Resultat +CPU forbrug +Vurdering/forbrug +Gennemløb: +7700 +Opret/rediger henvisning +Opret/rediger henvisning +Henvisning fra: +Henvisning til: +7710 +Henvisningstype +Fast henvisning +Fil symbolsk henvisning +Mappe symbolsk henvisning +Mappe forbindelsespunkt diff --git a/Utils/7-Zip/Lang/de.txt b/Utils/7-Zip/Lang/de.txt new file mode 100644 index 000000000..828dd17d6 --- /dev/null +++ b/Utils/7-Zip/Lang/de.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 2.30 : Soeren Finster +; 4.07 : JAK-Software.DE +; 9.07 : Joachim Henke +; +; +; +; +; +; +; +; +0 +7-Zip +German +Deutsch +401 +OK +Abbrechen + + + +&Ja +&Nein +&Schließen +Hilfe + +&Fortsetzen +440 +Ja für &alle +Nein für a&lle +Stopp +Neustart +&Hintergrund +&Vordergrund +&Pause +Pause +Möchten Sie wirklich abbrechen? +500 +&Datei +&Bearbeiten +&Ansicht +&Favoriten +&Extras +&Hilfe +540 +Ö&ffnen +I&ntern öffnen +E&xtern öffnen +&Ansehen +&Bearbeiten +&Umbenennen +&Kopieren nach... +&Verschieben nach... +&Löschen +Datei auf&splitten... +Dateien &zusammenfügen... +E&igenschaften +K&ommentieren +&Prüfsumme berechnen +Ver&gleichen +Ordner erstellen +Datei erstellen +Be&enden +Verknüpfung... +&Alternative Datenströme +600 +Alles &markieren +Alles abwählen +Markierung &umkehren +Auswählen... +Auswahl aufheben... +Nach Typ auswählen +Nach Typ abwählen +700 +&Große Symbole +&Kleine Symbole +&Liste +&Details +730 +Unsortiert +Alles in einer &Ebene +&Zweigeteiltes Fenster +&Symbolleisten +Wurzelverzeichnis +Übergeordneter Ordner +Ordnerverlauf... +&Aktualisieren +Auto-Aktualisierung +750 +Archivfunktionen +Standardfunktionen +Große Schaltflächen +Schaltflächenbeschriftung +800 +&Ordner hinzufügen als +Favorit +900 +&Optionen... +&Benchmark +960 +&Hilfethemen +Ü&ber 7-Zip... +1003 +Pfad +Name +Erweiterung +Ordner +Größe +Gepackte Größe +Attribute +Erstellt am +Letzter Zugriff +Geändert am +Kompakt (solid) +Kommentiert +Verschlüsselt +Vorher geteilt +Danach geteilt +Wörterbuch +CRC +Typ +Anti +Verfahren +Herkunft +Dateisystem +Besitzer +Gruppe +Block +Kommentar +Position +Pfad +Ordner +Dateien +Version +Teilarchiv +Mehrteiliges Archiv +Offset +Verknüpfungen +Blöcke +Teilarchive + +64 Bit +Big-Endian +CPU +Gesamtgröße +Header-Größe +Prüfsumme +Kenndaten +Virtuelle Adresse +ID +Kurzname +Erstellt durch +Sektorgröße +Zugriffsrechte +Link +Fehler +Gesamtgröße +Freier Speicherplatz +Cluster-Größe +Name +Lokaler Name +Provider +NT-Sicherheit +Alternativer Datenstrom +Aux +Gelöscht +Ist Baum + + +Fehlertyp +Fehler +Fehler +Warnungen +Warnung +Datenströme +Alternative Datenströme +Größe der alternativen Datenströme +Virtuelle Größe +Entpackte Größe +Gesamte physikalische Größe +Teilstück Index +Untertyp +Kurzkommentar +Code-Seite + + + +Endungsgröße +integrierte Stub-Größe +Verknüpfung +Harte Verknüpfung +iNode + +Schreibgeschützt +2100 +Optionen +Sprache +Sprache: +Editor +&Editor: +Programm zum &Vergleichen: +2200 +System +7-Zip verknüpfen mit: +alle Benutzer +2301 +7-Zip in Kontextmenü integrieren +Kontextmenü kaskadieren +Einträge im Kontextmenü: +Symbole im Kontextmenü +2320 + + +Öffnen +Dateien entpacken... +Zu einem Archiv hinzufügen... +Archiv überprüfen +Hier entpacken +Entpacken nach {0} +Hinzufügen zu {0} +Archivieren und versenden... +Archivieren in {0} und versenden +2400 +Ordner +&Arbeitsverzeichnis +&TEMP-Ordner des Systems +Aktueller &Ordner +&Benutzerdefiniert: +Nur bei &Wechselmedien benutzen +Wählen Sie einen Ordner für temporäre Archivdateien: +2500 +Einstellungen +&Verzeichniseintrag ".." anzeigen +Symbole aus &Dateien laden und anzeigen +System-Kontext&menü im Dateimenü anzeigen +Dateiauswahl markiert ganze &Zeile +&Gitternetzlinien anzeigen +Einfacher &Klick zum Öffnen +&Alternativer Dateiauswahl-Modus +Große &Speicherseiten verwenden +2900 +Info über 7-Zip +7-Zip ist freie Software. Sie können jedoch das Projekt durch eine Registrierung unterstützen. +3000 +Das System kann die benötigte Speichermenge nicht bereit stellen. +Es sind keine Fehler aufgetreten. +{0} Objekt(e) markiert +Kann den Ordner "{0}" nicht erstellen. +Aktualisierungen werden für dieses Archiv nicht unterstützt. +Die Datei "{0}" kann nicht als Archiv geöffnet werden. +Das verschlüsselte Archiv "{0}" kann nicht geöffnet werden. Falsches Passwort? +Typ des Archives wird nicht unterstützt +Die Datei {0} existiert bereits. +Die Datei "{0}" wurde geändert.\nSoll sie im Archiv aktualisiert werden? +Die Datei konnte nicht aktualisiert werden.\n"{0}" +Kann Editor nicht starten +Die Datei scheint ein Virus zu sein (Dateiname enthält lange Reihen von Leerzeichen). +Die Operation kann nicht aus einem Ordner mit langem Pfad aufgerufen werden. +Bitte genau eine Datei auswählen. +Bitte mindestens eine Datei auswählen. +Zu viele Objekte +Die Datei kann nicht als {0}-Archiv geöffnet werden. +Die Datei wurde als {0}-Archiv geöffnet. +Die Datei wurde mit einem Offset geöffnet. +3300 +Entpacken +Komprimiere +Überprüfen +Öffne... +Durchsuche... +Entferne +3320 +Hinzufügen +Aktualisieren +Analysieren +Replizieren +Neu Packen +Überspringen +Löschen +Header erstellen +3400 +Entpacken +&Entpacken nach: +Wählen Sie einen Ordner für die entpackten Dateien: +3410 +Verzeichnisstruktur wiederherstellen +Komplette Pfadangaben +Keine Pfadangaben +Absolute Pfadangaben +Relative Pfadangaben +3420 +Dateien überschreiben +Nur mit Bestätigung +Ohne Bestätigung +Vorhandene Dateien überspringen +Automatisch umbenennen +Vorhandene Dateien umbenennen +3430 +Verdoppelung des Wurzelordners vermeiden +Dateirechte wiederherstellen +3500 +Überschreiben bestätigen +Der Zielordner beinhaltet bereits eine Datei diesen Namens. +Wollen Sie diese Datei +durch diese ersetzen? +{0} Bytes +A&utomatisch umbenennen +3700 +Das Kompressionsverfahren in "{0}" wird nicht unterstützt. +Datenfehler in "{0}". Die Datei ist beschädigt. +CRC-Prüfsummenfehler. Die Datei "{0}" ist beschädigt. +Datenfehler in der verschlüsselten Datei "{0}". Falsches Passwort? +CRC-Prüfsummenfehler bei verschlüsselter Datei "{0}". Falsches Passwort? +3710 +Falsches Passwort? +3721 +Nicht unterstützte Kompressionsmethode +Datenfehler +CRC-Fehler +Daten stehen nicht zur Verfügung +Unerwartetes Datenende +Es gibt noch Daten hinter den Hauptdaten +Ist kein Archiv +Headers-Fehler +Falsches Passwort +3763 +Anfang des Archivs fehlt +Anfang des Archivs nicht bestätigt + + + +Nicht unterstützte Funktion +3800 +Kennworteingabe +Passwort eingeben: +Passwort bestätigen: +Passwort an&zeigen +Die Passwörter stimmen nicht überein. +Bitte nur Buchstaben des englischen Alphabets, Ziffern und Sonderzeichen (!, #, $, ...) im Passwort verwenden! +Das Passwort ist zu lang. +Passwort +3900 +Verstrichene Zeit: +Verbleibende Zeit: +Gesamtdatenmenge: +Geschwindigkeit: +Verarbeitet: +Kompressionsrate: +Fehler: +Archive: +4000 +Zu Archiv hinzufügen +&Archiv: +Art der Akt&ualisierung: +Archiv&format: +&Kompressionsstärke: +Kompressions&verfahren: +Wörter&buchgröße: +&Wortgröße: +Größe &solider Blöcke: +Anzahl &CPU-Threads: +&Parameter: +Optionen +Selbstentpackendes Archiv (SF&X) erstellen +Zum Schreiben &geöffnete Dateien einbeziehen +Verschlüsselung +Verfahren: +Datei&namen verschlüsseln +Speicherbedarf beim Komprimieren: +Speicherbedarf beim Entpacken: +Dateien nach Komprimierung löschen +4040 +Symbolische Verknüpfungen speichern +Harte Verknüpfungen speichern +Alternative Datenströme speichern +Dateirechte speichern +4050 +Speichern +Schnellste +Schnell +Normal +Maximum +Ultra +4060 +Hinzufügen und Ersetzen +Aktualisieren und Hinzufügen +Vorhandene Dateien aktualisieren +Synchronisieren +4070 +Durchsuchen +Alle Dateien +Nicht solide +Solide +6000 +Kopieren +Verschieben +Kopieren nach: +Verschieben nach: +Kopiere... +Verschiebe... +Umbenennen... +Zielordner auswählen +Die Operation wird für diesen Ordner nicht unterstützt. +Fehler beim Umbenennen von Datei oder Ordner +Kopieren bestätigen +Sollen die Dateien wirklich in dieses Archiv kopiert werden: +6100 +Löschen von Datei bestätigen +Löschen von Ordner bestätigen +Löschen von mehreren Dateien bestätigen +Soll "{0}" wirklich gelöscht werden? +Soll der Ordner "{0}" und sein gesamter Inhalt wirklich gelöscht werden? +Sollen diese {0} Objekte wirklich gelöscht werden? +Lösche... +Fehler beim Löschen von Datei oder Ordner +Das System kann Dateien mit langem Pfad nicht in den Papierkorb verschieben. +6300 +Ordner erstellen +Datei erstellen +Ordnername: +Dateiname: +Neuer Ordner +Neue Datei +Fehler beim Erstellen des Ordners +Fehler beim Erstellen der Datei +6400 +Kommentar +&Kommentar: +Auswählen +Auswahl aufheben +Filter: +6600 +Eigenschaften +Ordnerverlauf +Diagnosemeldungen +Meldung +7100 +Arbeitsplatz +Netzwerk +Dokumente +System +7200 +Hinzufügen +Entpacken +Überprüfen +Kopieren +Verschieben +Löschen +Eigenschaften +7300 +Datei aufsplitten +Teildateien &nach: +In &Teildateien aufsplitten (Bytes): +Aufsplitten... +Aufsplitten bestätigen +Sind Sie sicher, die Datei in {0} Teildateien aufsplitten zu wollen? +Die Größe der Teildateien muss kleiner sein als die der ursprünglichen Datei. +Ungültiger Wert für Dateigrößen +Angegebene Größe für Teildateien: {0} Bytes.\nSind Sie sicher, dass das Archiv dementsprechend aufgesplittet werden soll? +7400 +Dateien zusammenfügen +Zieldatei &nach: +Zusammenfügen... +Bitte nur den ersten Teil der Datei auswählen. +Datei nicht als Teil einer aufgesplitteten Datei erkannt +Kann nicht mehr als eine Teildatei finden. +7500 +Berechne Prüfsumme... +Prüfsummen-Information +CRC-Prüfsumme über die Daten: +Prüfsumme über Daten und Namen: +7600 +Benchmark +Speichernutzung: +Komprimierung +Dekomprimierung +Bewertung +Gesamtwertung +Aktuell +Ergebnis +CPU-Nutzung +Bewert./Nutzung +Durchläufe: +7700 +Verknüpfung +Verknüpfung +Verknüpfung von: +Verknüpfung zu: +7710 +Verknüpfungsart +Harte Verknüpfung +Datei Symbolische Verknüpfung +Ordner Symbolische Verknüpfung +Ordner Verbindung diff --git a/Utils/7-Zip/Lang/el.txt b/Utils/7-Zip/Lang/el.txt new file mode 100644 index 000000000..faa7b3650 --- /dev/null +++ b/Utils/7-Zip/Lang/el.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : Vasileios Karakoidas, Jacaranda Bill, Vasilis Kosmidis +; 9.07 : SkyHi [HDManiacs Team] +; 15.00 : 2015-05-07: Pete D +; +; +; +; +; +; +; +; +0 +7-Zip +Greek +Ελληνικά +401 +OK +ΆκυÏο + + + +&Îαι +ÎŒ&χι +&Κλείσιμο +Βοήθεια + +&Συνέχεια +440 +Îαι σε &όλα +Όχι σε ÏŒ&λα +&ΠαÏση +Επανεκκίνηση +Στο &παÏασκήνιο +Στο &Ï€Ïοσκήνιο +&ΠαÏση +ΠαÏθηκε +Είστε σίγουÏοι ότι θέλετε να ακυÏώσετε; +500 +&ΑÏχείο +&ΕπεξεÏγασία +Π&Ïοβολή +Αγα&πημένα +ΕÏγα&λεία +&Βοήθεια +540 +Άν&οιγμα +Άνοιγμα στο &ίδιο παÏάθυÏο +Άνοιγμα σε &νέο παÏάθυÏο +Π&Ïοβολή +Επε&ξεÏγασία +Με&τονομασία +Αντι&γÏαφή... +Μετα&κίνηση... +ΔιαγÏα&φή +&Τεμαχισμός αÏχείου... +&Συνένωση αÏχείων... +&Ιδιότητες +Σχόλιο +Υπολογισμός αθÏοίσματος ελέγχου +Diff +ΔημιουÏγία φακέλου +ΔημιουÏγία αÏχείου +Έ&ξοδος +ΣÏνδεσμος +&Alternate Streams +600 +Ε&πιλογή όλων +Αποεπιλογή όλων +ΑντιστÏοφή επιλογής +Επιλογή... +Αποεπιλογή... +Επιλογή σÏμφωνα με τον Ï„Ïπο αÏχείου +Αποεπιλογή σÏμφωνα με τον Ï„Ïπο αÏχείου +700 +Μεγάλα εικονί&δια +&ΜικÏά εικονίδια +&Λίστα +Λε&πτομέÏειες +730 +ΧωÏίς ταξινόμηση +Επίπεδη Ï€Ïοβολή +2 πάνελ +&ΓÏαμμές εÏγαλείων +Άνοιγμα κεντÏÎ¹ÎºÎ¿Ï Ï†Î±ÎºÎ­Î»Î¿Ï… +Μετάβαση ένα επίπεδο πάνω +&ΙστοÏικό φακέλων... +Α&νανέωση +Αυτόματη ανανέωση +750 +Συμπίεσης +Βασική +Μεγάλα εικονίδια +Εμφάνιση κειμένου +800 +&ΠÏοσθήκη καταλόγου στα Αγαπημένα ως +Σελιδοδείκτης +900 +&Ρυθμίσεις... +&Ελεγχος επιδόσεων +960 +&ΠεÏιεχόμενα... +Π&εÏί του 7-Zip... +1003 +Θέση +Όνομα +ΤÏπος +Φάκελος +Μέγεθος +Συμπιεσμένο μέγεθος +Ιδιότητες +ΔημιουÏγήθηκε +ΠÏοσπελάστηκε +ΤÏοποποιήθηκε +Συμπαγές +Σχόλιο +Κωδικοποιημένο +Τεμαχισμός Ï€Ïιν +Τεμαχισμός μετά +Λεξικό + +ΤÏπος +Αντί +Μέθοδος +ΛειτουÏγικό +ΣÏστημα αÏχείων +ΧÏήστης +Ομάδα +Μπλοκ +Σχόλιο +Θέση +ΠÏοκαθοÏισμένη διαδÏομή +Φάκελοι +ΑÏχεία +Έκδοση +Τόμος +Πολυτόμος +Offset +ΣÏνδεσμοι +Μπλοκ +Τόμοι + +64-bit +Big-endian +CPU +Φυσικό μέγεθος +Μέγεθος headers +ΆθÏοισμα ελέγχου +ΧαÏακτηÏιστικά +Εικονική διεÏθυνση +ID +ΣÏντομο όνομα +ΕφαÏμογή δημιουÏγίας +Μέγεθος τομέα +Κατάσταση λειτουÏγίας +ΣÏνδεσμος +Σφάλμα +Συνολικό μέγεθος +ΕλεÏθεÏος χώÏος +Μέγεθος συμπλέγματος +Ετικέτα +Τοπικό όνομα +ΠαÏοχέας +NT Security +Alternate Stream +Aux +Deleted +Is Tree + + +ΤÏπος λάθους +Λάθη +Λάθη +ΠÏοειδοποιήσεις +ΠÏοειδοποίηση +Streams +Alternate Streams +Alternate Streams Size +Εικονικό μέγεθος +Αποσυμπιεσμένο μέγεθος +Συνολικό φυσικό μέγεθος +ΕυÏετήÏιο τόμου +SubType +ΣÏντομο σχόλιο +Κωδικοσελίδα + + + +Tail Size +Embedded Stub Size +ΣÏνδεσμος +ΣταθεÏός σÏνδεσμος +iNode + +Ανάγνωση-Μόνο +2100 +Ρυθμίσεις +Γλώσσα +Γλώσσα: +ΠÏόγÏαμμα επεξεÏγασίας +&ΠÏόγÏαμμα επεξεÏγασίας: +&Diff: +2200 +ΣÏστημα +Συσχέτιση του 7-Zip με τα αÏχεία: +Ολοι οι χÏήστες +2301 +Ενσωμάτωση του 7-Zip στο λειτουÏγικό +Με ομαδοποίηση των επιλογών +Στοιχεία του αναδυόμενου μενοÏ: +Εικονίδια στο αναδυόμενο Î¼ÎµÎ½Î¿Ï +2320 +<Φάκελος> +<ΑÏχείο Συμπίεσης> +Άνοιγμα +Αποσυμπίεση αÏχείων... +ΠÏοσθήκη σε αÏχείο συμπίεσης... +Έλεγχος αÏχείου συμπίεσης +Αποσυμπίεση εδώ +Αποσυμπίεση στο φάκελο {0} +ΠÏοσθήκη στο {0} +Συμπίεση και αποστολή με e-mail... +Συμπίεση στο {0} και αποστολή με e-mail +2400 +Φάκελοι +&Φάκελος εÏγασίας +&ΠÏοσωÏινός φάκελος συστήματος +&ΤÏέχων φάκελος +&ΚαθοÏισμένος: +ΧÏήση μόνο για αφαιÏοÏμενες μονάδες δίσκου +ΚαθοÏίστε μια τοποθεσία για τα Ï€ÏοσωÏινά αÏχεία συμπίεσης. +2500 +Επιλογές +Εμφάνιση αντικειμένου ".." +Εμφάνιση των κανονικών εικονιδίων των αÏχείων +Εμφάνιση Î¼ÎµÎ½Î¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚ +&Επιλογή ολόκληÏης διαδÏομής +Εμφάνιση γÏαμμών πλέγματος +Άνοιγμα αντικειμένου με μονό κλικ +Εναλλακτική κατάσταση επιλογής +ΧÏήση μεγάλων &σελίδων μνήμης +2900 +ΠληÏοφοÏίες για το 7-Zip +Το 7-Zip είναι ελεÏθεÏο λογισμικό. Ωστόσο μποÏείτε να υποστηÏίξετε την πεÏαιτέÏω ανάπτυξη του με την εγγÏαφή σας. +3000 +Το σÏστημα δεν μποÏεί να διαθέσει την απαιτοÏμενη ποσότητα μνήμης. +Δεν υπάÏχουν σφάλματα +{0} επιλεγμένα στοιχεία +ΑδÏνατη η δημιουÏγία του φακέλου '{0}' +Οι λειτουÏγίες ενημέÏωσης δεν είναι διαθέσιμες για αυτόν τον Ï„Ïπο συμπιεσμένου αÏχείου. +Δεν μποÏεί να ανοιχθεί το αÏχείο '{0}' σαν αÏχείο συμπίεσης +Δεν μποÏεί να ανοιχθεί το κÏυπτογÏαφημένο αÏχείο '{0}'. Λάθος κωδικός; +Μη υποστηÏιζόμενο αÏχείο συμπίεσης. +Το αÏχείο {0} ήδη υπάÏχει. +Το αÏχείο '{0}' Ï„Ïοποποιήθηκε.\nΘέλετε να ενημεÏώσετε το αÏχείο συμπίεσης; +Αδυνατή η ενημέÏωση του αÏχείου\n'{0}' +Δεν είναι δυνατή η εκκίνηση του Ï€ÏογÏάμματος επεξεÏγασίας. +Το αÏχείο μοιάζει με ιό (το όνομα του πεÏιέχει μεγάλα κενά). +Η λειτουÏγία δεν μποÏεί να κληθεί από ένα φάκελο που έχει μεγάλη διαδÏομή. +ΠÏέπει να επιλέξετε ένα αÏχείο. +ΠÏέπει να επιλέξετε ένα ή πεÏισσότεÏα αÏχεία. +ΠάÏα πολλά στοιχεία +Αδυναμία ανοίγματος του αÏχείου ως {0} συμπιεσμένο +Το αÏχείο είναι ανοιχτό ως {0} συμπιεσμένο +Το συμπιεσμένο αÏχείο είναι ανοιχτό με offset +3300 +Αποσυμπίεση +Συμπίεση +Έλεγχος +Άνοιγμα... +ΣάÏωση... +ΔιαγÏαφή... +3320 +ΠÏοσθήκη.. +ΕνημέÏωση.. +Ανάλυση.. +ΑντιγÏαφή.. +Επανασυμπίεση.. +ΠαÏάλειψη.. +ΔιαγÏαφή.. +ΔημιουÏγία κεφαλίδας.. +3400 +Αποσυμπίεση +&Αποσυμπίεση στο φάκελο: +ΚαθοÏίστε τον φάκελο αποσυμπίεσης. +3410 +Επιλογές διαδÏομών φακέλων +ΠλήÏεις διαδÏομές φακέλων +ΧωÏίς διαδÏομές φακέλων +Απόλυτες διαδÏομές φακέλων +Σχετικές διαδÏομές φακέλων +3420 +Επιλογές αντικατάστασης αÏχείων +Αντικατάσταση με εÏώτηση +Αντικατάσταση χωÏίς εÏώτηση +ΠαÏάβλεψη των υπαÏχόντων αÏχείων +Αυτόματη μετονομασία +Αυτόματη μετονομασία των υπαÏχόντων αÏχείων +3430 +Απαλοιφή ÏÎ¹Î¶Î¹ÎºÎ¿Ï ÎºÎ±Ï„Î±Î»ÏŒÎ³Î¿Ï… +ΕπαναφοÏά ασφάλειας αÏχείου +3500 +Επιβεβαίωση αντικατάστασης του αÏχείου +Ο φάκελος Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Ï€ÎµÏιέχει ήδη ένα αÏχείο με το ίδιο όνομα. +Θέλετε να αντικαταστήσετε το υπάÏχον αÏχείο +με αυτό; +{0} bytes +Αυτόματη &μετονομασία +3700 +Μη υποστηÏιζόμενη μέθοδος συμπίεσης για το '{0}'. +Λάθος δεδομένων στο {0}. Το αÏχείο είναι φθαÏμένο. +Ο έλεγχος CRC απέτυχε στο '{0}'. Το αÏχείο είναι φθαÏμένο. +Λάθος δεδομένων στο κÏυπτογÏαφημένο αÏχείο '{0}'. Λάθος κωδικός; +Ο έλεγχος CRC απέτυχε στο κÏυπτογÏαφημένο αÏχείο '{0}'. Λάθος κωδικός; +3710 +Λάθος κωδικός; +3721 +Μη υποστηÏιζόμενη μέθοδος συμπίεσης +Λάθος δεδομένων +Ο έλεγχος CRC απέτυχε +Μη διαθέσιμα δεδομένα +ΑπÏόβλεπτο τελείωμα δεδομένων +ΥπάÏχουν μεÏικα δεδομένα στο τέλος των χÏήσιμων δεδομένων +Δεν είναι συμπιεσμένο αÏχείο +Λάθος επικεφαλίδων +Λάθος κωδικός +3763 +Μη διαθέσιμη αÏχή του συμπιεσμένου αÏχείου +Ανεπιβεβαίωτη αÏχή του συμπιεσμένου αÏχείου + + + +Μη υποστηÏιζόμενη λειτουÏγία +3800 +Εισαγωγή ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης +Κωδικός Ï€Ïόσβασης: +Επανεισάγετε τον κωδικό Ï€Ïόσβασης: +&Εμφάνιση ÎºÏ‰Î´Î¹ÎºÎ¿Ï +Οι κωδικοί δεν ταιÏιάζουν. +ΧÏησιμοποιήστε μόνο Αγγλικά γÏάμματα, αÏιθμοÏÏ‚ και ειδικοÏÏ‚ χαÏακτήÏες (!, #, ...) για κωδικό. +Ο κωδικός είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿Ï‚. +Κωδικός Ï€Ïόσβασης +3900 +ΔιανÏθηκε: +Απομένει: +Μέγεθος: +ΤαχÏτητα: +ΕπεξεÏγάσθηκαν: +Αναλογία συμπίεσης +Σφάλματα: +ΑÏχεία συμπίεσης: +4000 +ΠÏοσθήκη σε συμπιεσμένο αÏχείο +&Όνομα αÏχείου συμπίεσης: +&ΤÏόπος ενημέÏωσης: +Συμπίεση στη μοÏ&φή: +Επίπεδο συμπίεσης: +&Μέθοδος συμπίεσης: +Μέγεθος &λεξικοÏ: +Μέγεθος &λέξης: +Μέγεθος συμπαγοÏÏ‚ μπλοκ: +ΑÏιθμός νημάτων CPU +&ΠαÏάμετÏοι: +Επιλογές συμπίεσης +Με αυτόματη αποσυμπίεση (SF&X) +Συμπίεση κοινών αÏχείων +ΚÏυπτογÏάφηση +Μέθοδος κÏυπτογÏάφησης +ΚÏυπτογÏάφηση των &ονομάτων +ΧÏήση μνήμης για συμπίεση: +ΧÏήση μνήμης για αποσυμπίεση: +ΔιαγÏαφή αÏχείων μετά τη συμπίεση +4040 +Αποθήκευση συμβολικών συνδέσμων +Αποθήκευση σταθεÏών συνδέσμων +Αποθήκευση ενναλλακτικών Ïοών δεδομένων +Αποθήκευση ασφάλειας αÏχείου +4050 +Αποθήκευση +Î Î¿Î»Ï Î³ÏήγοÏη +ΓÏήγοÏη +Κανονική +Μέγιστη +ΥπεÏσυμπίεση +4060 +ΠÏοσθήκη και αντικατάσταση αÏχείων +ΠÏοσθήκη και ενημέÏωση αÏχείων +ΕνημέÏωση των υπαÏχόντων αÏχείων +ΣυγχÏονισμός αÏχείων +4070 +Αναζήτηση +Όλα τα αÏχεία +Μη-συμπαγές +Συμπαγές +6000 +ΑντιγÏαφή +Μετακίνηση +ΑντιγÏαφή στο: +Μετακίνηση στο: +ΑντιγÏαφή... +Μετακίνηση... +Μετονομασία... +Επιλέξτε φάκελο Ï€ÏοοÏισμοÏ. +Η λειτουÏγία δεν υποστηÏίζεται. +ΠαÏουσιάστηκε σφάλμα κατά τη μετονομασία. +Επιβεβαίωση αντιγÏαφής αÏχείων +Είστε βέβαιος ότι θέλετε να αντιγÏάψετε τα αÏχεία στο αÏχείο συμπίεσης; +6100 +Επιβεβαίωση διαγÏαφής του αÏχείου +Επιβεβαίωση διαγÏαφής του φακέλου +Επιβεβαίωση διαγÏαφής πολλών αÏχείων +Είστε βέβαιοι ότι θέλετε να διαγÏάψετε το '{0}' ; +Είστε βέβαιοι ότι θέλετε να διαγÏάψετε το φάκελο '{0}' και όλα τα πεÏιεχόμενα του; +Είστε βέβαιοι ότι θέλετε να διαγÏάψετε αυτά τα {0} στοιχεία; +ΔιαγÏαφή... +ΠαÏουσιάστηκε σφάλμα κατά τη διαγÏαφή. +Το σÏστημα δεν μποÏεί να μετακινήσει ένα αÏχείο με μεγάλη διαδÏομή στον Κάδο ΑνακÏκλωσης. +6300 +ΔημιουÏγία φακέλου +ΔημιουÏγία αÏχείου +Όνομα φακέλου: +Όνομα αÏχείου: +Îέος φάκελος +Îέο αÏχείο +Σφάλμα κατά την δημιουÏγία φακέλου. +Σφάλμα κατά την δημιουÏγία αÏχείου. +6400 +Σχόλιο +&Σχόλιο: +Επιλογή +Αποεπιλογή +Με όνομα: +6600 +Ιδιότητες +ΙστοÏικό φακέλων +Διαγνωστικά μηνÏματα +Μήνυμα +7100 +Υπολογιστής +ΔικτÏο +ΈγγÏαφα +ΣÏστημα +7200 +ΠÏοσθήκη +Αποσυμπίεση +Έλεγχος +ΑντιγÏαφή +Μετακίνηση +ΔιαγÏαφή +ΠληÏοφοÏίες +7300 +Τεμαχισμός αÏχείου +&Τεμαχισμός σε: +Τεμαχισμός σε τόμους: +Τεμαχισμός... +Επιβεβαίωση Ï„ÎµÎ¼Î±Ï‡Î¹ÏƒÎ¼Î¿Ï +Είστε βέβαιος ότι θέλετε να τεμαχίσετε το αÏχείο σε {0} τόμους; +Το μέγεθος του τόμου Ï€Ïέπει να είναι μικÏότεÏο από αυτό του αÏÏ‡Î¹ÎºÎ¿Ï Î±Ïχείου. +Λάθος μέγεθος τόμου +ΚαθοÏισμένο μέγεθος τόμου: {0} bytes.\nΕίστε σίγουÏος ότι θέλετε να χωÏίσετε το αÏχείο σε τέτοιους τόμους; +7400 +Συνένωση αÏχείων +&Συνένωση σε: +Συνένωση... +Επιλέξτε μόνο το Ï€Ïώτο αÏχείο +Το αÏχείο δεν μποÏεί να ανιχνευθεί ως μέÏος τεμαχισμένου αÏχείου. +Δεν μποÏοÏν να βÏεθοÏν πάνω από ένα μέÏη τεμαχισμένου αÏχείου. +7500 +Υπολογισμός αθÏοίσματος ελέγχου... +ΠληÏοφοÏίες αθÏοίσματος ελέγχου +ΆθÏοισμα ελέγχου CRC για δεδομένα: +ΆθÏοισμα ελέγχου CRC για δεδομένα και ονόματα: +7600 +Αξιολόγηση επιδόσεων +ΧÏήση μνήμης: +Συμπίεση +Αποσυμπίεση +Εκτίμηση +Συνολ. εκτίμηση +ΤÏέχων πέÏασμα +Αποτέλεσμα +ΧÏήση CPU +Ταξ/μιση/ΧÏήση +ΠεÏάσματα: +7700 +ΣÏνδεσμος +ΣÏνδεσμος +ΣÏνδεσμος από: +ΣÏνδεσμος έως: +7710 +ΤÏπος συνδέσμου +ΣταθεÏός σÏνδεσμος +Συμβολικός σÏνδεσμος αÏχείου +Συμβολικός σÏνδεσμος καταλόγου +Συνένωση καταλόγου diff --git a/Utils/7-Zip/Lang/en.ttt b/Utils/7-Zip/Lang/en.ttt new file mode 100644 index 000000000..d94df3816 --- /dev/null +++ b/Utils/7-Zip/Lang/en.ttt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.00 : 2015-03-29 : Igor Pavlov +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +English +English +401 +OK +Cancel + + + +&Yes +&No +&Close +Help + +&Continue +440 +Yes to &All +No to A&ll +Stop +Restart +&Background +&Foreground +&Pause +Paused +Are you sure you want to cancel? +500 +&File +&Edit +&View +F&avorites +&Tools +&Help +540 +&Open +Open &Inside +Open O&utside +&View +&Edit +Rena&me +&Copy To... +&Move To... +&Delete +&Split file... +Com&bine files... +P&roperties +Comme&nt... +Calculate checksum +Diff +Create Folder +Create File +E&xit +Link +&Alternate Streams +600 +Select &All +Deselect All +&Invert Selection +Select... +Deselect... +Select by Type +Deselect by Type +700 +Lar&ge Icons +S&mall Icons +&List +&Details +730 +Unsorted +Flat View +&2 Panels +&Toolbars +Open Root Folder +Up One Level +Folders History... +&Refresh +Auto Refresh +750 +Archive Toolbar +Standard Toolbar +Large Buttons +Show Buttons Text +800 +&Add folder to Favorites as +Bookmark +900 +&Options... +&Benchmark +960 +&Contents... +&About 7-Zip... +1003 +Path +Name +Extension +Folder +Size +Packed Size +Attributes +Created +Accessed +Modified +Solid +Commented +Encrypted +Split Before +Split After +Dictionary + +Type +Anti +Method +Host OS +File System +User +Group +Block +Comment +Position +Path Prefix +Folders +Files +Version +Volume +Multivolume +Offset +Links +Blocks +Volumes + +64-bit +Big-endian +CPU +Physical Size +Headers Size +Checksum +Characteristics +Virtual Address +ID +Short Name +Creator Application +Sector Size +Mode +Symbolic Link +Error +Total Size +Free Space +Cluster Size +Label +Local Name +Provider +NT Security +Alternate Stream +Aux +Deleted +Is Tree + + +Error Type +Errors +Errors +Warnings +Warning +Streams +Alternate Streams +Alternate Streams Size +Virtual Size +Unpack Size +Total Physical Size +Volume Index +SubType +Short Comment +Code Page + + + +Tail Size +Embedded Stub Size +Link +Hard Link +iNode + +Read-only +2100 +Options +Language +Language: +Editor +&Editor: +&Diff: +2200 +System +Associate 7-Zip with: +All users +2301 +Integrate 7-Zip to shell context menu +Cascaded context menu +Context menu items: +Icons in context menu +2320 + + +Open archive +Extract files... +Add to archive... +Test archive +Extract Here +Extract to {0} +Add to {0} +Compress and email... +Compress to {0} and email +2400 +Folders +&Working folder +&System temp folder +&Current +&Specified: +Use for removable drives only +Specify a location for temporary archive files. +2500 +Settings +Show ".." item +Show real file icons +Show system menu +&Full row select +Show &grid lines +Single-click to open an item +&Alternative selection mode +Use &large memory pages +2900 +About 7-Zip +7-Zip is free software +3000 +The system cannot allocate the required amount of memory +There are no errors +{0} object(s) selected +Cannot create folder '{0}' +Update operations are not supported for this archive. +Can not open file '{0}' as archive +Can not open encrypted archive '{0}'. Wrong password? +Unsupported archive type +File {0} is already exist +File '{0}' was modified.\nDo you want to update it in the archive? +Can not update file\n'{0}' +Cannot start editor. +The file looks like a virus (the file name contains long spaces in name). +The operation cannot be called from a folder that has a long path. +You must select one file +You must select one or more files +Too many items +Can not open the file as {0} archive +The file is open as {0} archive +The archive is open with offset +3300 +Extracting +Compressing +Testing +Opening... +Scanning... +Removing +3320 +Adding +Updating +Analyzing +Replicating +Repacking +Skipping +Deleting +Header creating +3400 +Extract +E&xtract to: +Specify a location for extracted files. +3410 +Path mode: +Full pathnames +No pathnames +Absolute pathnames +Relative pathnames +3420 +Overwrite mode: +Ask before overwrite +Overwrite without prompt +Skip existing files +Auto rename +Auto rename existing files +3430 +Eliminate duplication of root folder +Restore file security +3500 +Confirm File Replace +Destination folder already contains processed file. +Would you like to replace the existing file +with this one? +{0} bytes +A&uto Rename +3700 +Unsupported compression method for '{0}'. +Data error in '{0}'. File is broken. +CRC failed in '{0}'. File is broken. +Data error in encrypted file '{0}'. Wrong password? +CRC failed in encrypted file '{0}'. Wrong password? +3710 +Wrong password? +3721 +Unsupported compression method +Data error +CRC failed +Unavailable data +Unexpected end of data +There are some data after the end of the payload data +Is not archive +Headers Error +Wrong password +3763 +Unavailable start of archive +Unconfirmed start of archive + + + +Unsupported feature +3800 +Enter password +Enter password: +Reenter password: +&Show password +Passwords do not match +Use only English letters, numbers and special characters (!, #, $, ...) for password +Password is too long +Password +3900 +Elapsed time: +Remaining time: +Total size: +Speed: +Processed: +Compression ratio: +Errors: +Archives: +4000 +Add to archive +&Archive: +&Update mode: +Archive &format: +Compression &level: +Compression &method: +&Dictionary size: +&Word size: +Solid block size: +Number of CPU threads: +&Parameters: +Options +Create SF&X archive +Compress shared files +Encryption +Encryption method: +Encrypt file &names +Memory usage for Compressing: +Memory usage for Decompressing: +Delete files after compression +4040 +Store symbolic links +Store hard links +Store alternate data streams +Store file security +4050 +Store +Fastest +Fast +Normal +Maximum +Ultra +4060 +Add and replace files +Update and add files +Freshen existing files +Synchronize files +4070 +Browse +All Files +Non-solid +Solid +6000 +Copy +Move +Copy to: +Move to: +Copying... +Moving... +Renaming... +Select destination folder. +The operation is not supported for this folder. +Error Renaming File or Folder +Confirm File Copy +Are you sure you want to copy files to archive +6100 +Confirm File Delete +Confirm Folder Delete +Confirm Multiple File Delete +Are you sure you want to delete '{0}'? +Are you sure you want to delete the folder '{0}' and all its contents? +Are you sure you want to delete these {0} items? +Deleting... +Error Deleting File or Folder +The system cannot move a file with long path to the Recycle Bin +6300 +Create Folder +Create File +Folder name: +File Name: +New Folder +New File +Error Creating Folder +Error Creating File +6400 +Comment +&Comment: +Select +Deselect +Mask: +6600 +Properties +Folders History +Diagnostic messages +Message +7100 +Computer +Network +Documents +System +7200 +Add +Extract +Test +Copy +Move +Delete +Info +7300 +Split File +&Split to: +Split to &volumes, bytes: +Splitting... +Confirm Splitting +Are you sure you want to split file into {0} volumes? +Volume size must be smaller than size of original file +Incorrect volume size +Specified volume size: {0} bytes.\nAre you sure you want to split archive into such volumes? +7400 +Combine Files +&Combine to: +Combining... +Select only first part of split file +Can not detect file as part of split file +Can not find more than one part of split file +7500 +Checksum calculating... +Checksum information +CRC checksum for data: +CRC checksum for data and names: +7600 +Benchmark +Memory usage: +Compressing +Decompressing +Rating +Total Rating +Current +Resulting +CPU Usage +Rating / Usage +Passes: +7700 +Link +Link +Link from: +Link to: +7710 +Link Type +Hard Link +File Symbolic Link +Directory Symbolic Link +Directory Junction diff --git a/Utils/7-Zip/Lang/eo.txt b/Utils/7-Zip/Lang/eo.txt new file mode 100644 index 000000000..45261353a --- /dev/null +++ b/Utils/7-Zip/Lang/eo.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.37 : Dmitri Gabinski +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Esperanto +Esperanto +401 +B&one +Nuligu + + + +&Jes +&Ne +&Fermu +Helpo + +&DaÅ­rigu +440 +Jes por ĉ&iuj +Ne por ĉi&uj +&Haltu +Restartigu +&Fono +&Malfono +&PaÅ­zo +PaÅ­zita +Ĉu vi vere volas nuligi? +500 +&Dosiero +&Redakto +&Vido +&Favoritaj +&Agordoj +&Helpo +540 +&Malfermu +Malfermu &ene +Malfermu ek&stere +&Vidigu +&Redaktu +Åœ&anÄu nomon +&Kopiu en... +M&ovu en... +&Forigu +&Erigu dosierojn... +Komb&inu dosierojn... +A&tributoj +Ko&mentu +Kalkulu kontrolsumon + +Kreu &dosierujon +Kre&u dos&ieron +E&liru +600 +M&arku ĉiun +Ma&lmarku ĉiun +&Inversigu markon +Marku... +Malmarku... +Marku laÅ­ tipo +Malmarku laÅ­ tipo +700 +&Grandaj bildetoj +&Malgrandaj bildetoj +&Listo +&Detale +730 +&Neordigite +Ununivela vido +&2 paneloj +&Ilobretoj +Malfermu radikan dosierujon +Supren je unu nivelo +Dosierujhistorio... +Äœ&isdatigu +750 +ArÄ¥ivo-ilobreto +Norma ilobreto +Grandaj bildetoj +Montru butontekston +800 +&Aldonu dosierujon al favorataj kiel +Legosigno +900 +&Agordoj... +&Etalono +960 +&Enhavo... +&Pri 7-Zip... +1003 +Dosierindiko +Nomo +Dosiernoma sufikso +Dosierujo +Grando +EnarÄ¥iva grando +Atributoj +Kreita +Malfermita +ÅœanÄita +Solida +Komento +Ĉifra +Disigita antaÅ­ +Disigita post +Vortaro +CRC +Tipo +KontraÅ­ +Metodo +Gastiga operaciumo +Dosiersistemo +Uzulo +Grupo +Bloko +Komento +Pozicio +Vojprefikso + + + + + + + + + + + + + + + + + + + + + + + + +Eraro +Kapacito +Libera +Faskogrando +Marko +Loka nomo +Provizanto +2100 +Agordoj +Lingvo +Lingvo: +Redaktilo +&Redaktilo: + +2200 +Sistemo +Asociu 7-Zip-on kun dosieroj: +2301 +Metu 7-Zip'on en kuntekstan menuon de Åelo +Kaskada kunteksta menuo +Punktoj de kunteksta menuo: +2320 + + +Malfermu +ElarÄ¥ivigu dosierojn... +EnarÄ¥ivigu... +Testu arÄ¥ivon +ElarÄ¥ivigu ĉi-tien +ElarÄ¥ivigu en {0} +Aldonu al {0} +EnarÄ¥ivigu kaj enretpoÅtigu... +EnarÄ¥ivigu en {0} kaj enretpoÅtigu... +2400 +Dosierujoj +&Kuranta dosierujo +&Sistema labora dosierujo +&Ĉi tiu +&Specifu: +&Uzi nur por demeteblaj datumportiloj +Specifu ujon por laboraj dosieroj. +2500 +Agordoj +Montru ".."-elementon +Montru realajn dosierbildetojn +Montru sisteman menuon +Marku &tutan linion +Montru &kradliniojn + +&Alternativa markreÄimo +Uzu &grandajn memorpaÄojn +2900 +Informo +7-Zip estas senpaga programo. Tamen, vi povas subteni evoluadon de 7-Zip per enregistriÄo. +3000 + +Eraroj ne trovitaj +{0} objekto(j) markita(j) +Fiaskis krei dosierujon '{0}' +Äœisdatigoperacioj ne estas subtenataj por ĉi-tiu arÄ¥ivo. + + + + +Dosiero '{0}' ÅanÄiÄis.\nĈu vi volas Äistadigi Äin enraÄ¥ive? +Fiaskis Äisdatigi dosieron\n'{0}'' +Fiaskis startigi redaktilon. + + + + +Troaj elementoj +3300 +ElarÄ¥ivigo +Densigo +Testado +Malfermo... +Analizante... +3400 +&ElarÄ¥ivigu +E&larÄ¥ivigu en: +Specifu ujon por elarÄ¥ivendaj dosieroj. +3410 +Dosierindikoj +&Absolutaj dosierindikoj +&Sen dosierindikoj +3420 +AnstataÅ­iga skribreÄimo +&Kun konfirmo +&Sen konfirmo +&Preterlasu estantaj dosieroj +AÅ­tonomÅanÄo +AÅ­tonomÅanÄo de ekzistantaj dosieroj +3500 +Konfirmo de nomÅanÄo +Dosierujo jam enhavas prilaboratan dosieron. +AnstataÅ­igu estantan dosieron +per ĉi-tiu? +{0} bajtoj +&AÅ­tonomÅanÄo. +3700 +Ne estas subtenata densigmetodo por dosiero '{0}'. +Datumeraro en '{0}'. DifektiÄinta dosiero. +CRC-eraro en '{0}'. DifektiÄinta dosiero. + + +3800 +Pasvorto +Enigu pasvorton: + +&Montru pasvorton + + + +&Pasvorto +3900 +Pasinta tempo: +Restanta tempo: +Grando: +Rapideco: + + +Eraroj: + +4000 +EnarÄ¥ivigu +&ArÄ¥ivo: +A&nstataÅ­igreÄimo: +A&rÄ¥ivformato: +Densigo&nivelo +&Densigmetodo: +&Vortarogrando: +Vo&rtogrando: + + +&Parametroj: +Agordoj +Kreu SF&X-arÄ¥ivon + + + +Ĉifru dosier&nomojn +Memoruzo por densigo: +Memoruzo por maldensigo: +4050 +Sen densigo +Plej rapide +Rapide +Normala densigo +Maksimuma densigo +Ultra +4060 +Aldonu kaj anstataÅ­igu dosierojn +Äœisdatigu kaj aldonu dosierojn +RefreÅigu estantajn dosierojn +Sinkronigu dosierojn +4070 +Foliumu +Ĉiuj dosieroj + + +6000 +Kopiu +Movu +Kopiu en: +Movu en: +Kopio... +Movo... +NomÅanÄo... + +Operacio ne estas subtenata. +Eraro dum nomÅanÄo de dosiero aÅ­ dosierujo +Konfirmu dosierkopion +Ĉu vere kopii dosierojn enarÄ¥iven +6100 +Konfirmo de forigo de dosiero +Konfirmo de forigo de dosierujo +Konfirmo de forigo de dosieraro +Ĉu vi vere volas forigi '{0}'? +Ĉu vi vere volas forigi dosierujon "{0}" kaj tutan Äian enhavon? +Ĉu vi vere volas forigi ĉi tiajn {0} objektojn? +Forigo... +Eraro dum forigo de dosiero aÅ­ dosierujo + +6300 +Kreu dosierujon +Kreu dosieron +Dosierujnomo: +Dosiernomo: +Nova dosierujo +Nova dosiero +Eraro dum dosierujkreo +Eraro dum dosierkreo +6400 +Komento +&Komento: +Marku +Malmarku +Masko: +6600 + +Dosierujhistorio +Diagnozaj mesaÄoj +MesaÄo +7100 +Komputilo +Reto + +Sistemo +7200 +EnarÄ¥ivigu +ElarÄ¥ivigu +Testu +Kopiu +Movu +Forigu +Informo +7300 +Erigu dosieron +&Erigu en: +&Plurvolumigu, bajtoj: +Erigo... + + + + + +7400 +Kombinu dosierojn +&Kombinu en: +Kombino... + + + +7500 +Kalkulante kontrolsumon... +Informo pri kontrolsumo +CRC-kontrolsumo por datumoj: +CRC-kontrolsumo por datumoj kaj nomoj: +7600 +Etalono +Memoruzo: +Densigo +Maldensigo +Takso +Tuta takso +Kuranta +Rezulta + + +Pasoj: diff --git a/Utils/7-Zip/Lang/es.txt b/Utils/7-Zip/Lang/es.txt new file mode 100644 index 000000000..15b17071d --- /dev/null +++ b/Utils/7-Zip/Lang/es.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Pablo Rodriguez +; : Jbc25 +; : 2007-09-05 : Guillermo Gabrielli +; 9.07 : 2010-06-10 : Purgossu +; 2010-10-23 : Sergi Medina (corrected) +; +; +; +; +; +; +0 +7-Zip +Spanish +Español +401 +Aceptar +Cancelar + + + +&Sí +&No +&Cerrar +Ayuda + +&Continuar +440 +Sí a &todo +No a t&odo +Parar +Volver a empezar +Se&gundo plano +P&rimer plano +&Pausa +Pausado +¿Estás seguro de que deseas cancelar? +500 +&Archivo +&Editar +&Ver +&Favoritos +&Herramientas +Ay&uda +540 +&Abrir +Abrir &dentro +Abrir &fuera +&Ver +&Editar +Re&nombrar +&Copiar a... +&Mover a... +&Borrar +Di&vidir archivo... +C&ombinar archivos... +&Propiedades +Comen&tario +Suma de verificación +Diff +Crear carpeta +Crear archivo +&Salir +600 +Seleccionar &todo +Deseleccionar todo +&Invertir selección +Seleccionar... +Deseleccionar... +Seleccionar por tipo +Deseleccionar por tipo +700 +Iconos g&randes +&Iconos pequeños +&Lista +&Detalles +730 +Desordenado +Vista plana (flat view) +&2 paneles +&Barras de herramientas +Abrir directorio raíz +Subir un directorio +Historia de carpetas... +&Actualizar +750 +Barra de herramientas Archivo +Barras de herramientas estándar +Botones grandes +Mostrar texto en los botones +800 +&Añadir carpeta a favoritos como +Agregar a favoritos +900 +&Opciones... +&Pruebas (benchmark) +960 +&Contenido... +&Acerca de 7-Zip... +1003 +Ruta +Nombre +Tipo de archivo +Directorio +Tamaño +Tamaño comprimido +Atributos +Creado +Acceso +Modificado +Compacto +Comentado +Encriptado +expandido antes +expandido después +Diccionario +CRC +Tipo +Anti +Método +SO de origen +Sistema de archivos +Usuario +Grupo +Bloque +Comentario +Posición +Ruta +Directorios +Ficheros +Versión +Volumen +Multivolumen +Desplazamiento +Vínculos +Bloques +Volúmenes + +64-bit +Big-endian +CPU +Tamaño físico +Tamaño de las cabeceras +Verificación de suma +Características +Dirección virtual +ID +Nombre corto +Aplicación de creación +Tamaño de sector +Modo +Enlace +Error +Espacio total +Espacio libre +Tamaño de clúster +Etiqueta +Nombre local +Proveedor +2100 +Opciones +Lengua +Lengua: +Editor +&Editor: +&Diff: +2200 +Sistema +Asociar 7-Zip con: +2301 +Integrar 7-Zip en el menú contextual de Windows +Menú contextual en cascada +Elementos en el menú contextual: +2320 + + +Abrir comprimido +Extraer ficheros... +Añadir al archivo... +Comprobar archivo +Extraer aquí +Extraer en {0} +Añadir a {0} +Comprimir y enviar por correo... +Comprimir a {0} y enviar por correo +2400 +Directorios +Directorio de &trabajo +Directorio temporal del &sistema +Directorio &actual +&Especificar directorio: +Usar solo para dispositivos extraíbles +Especificar un directorio para archivos temporales. +2500 +Propiedades +Mostrar el elemento ".." +Mostrar iconos propios +Mostrar menú del sistema +&Seleccionar fila(s) entera(s) +Mostrar &cuadrícula +Clicar una vez para abrir elemento +Modo de selección &alternativo +Usar páginas &grandes de memoria +2900 +Acerca de 7-Zip +7-Zip es un programa excelente; además, es libre y gratuito. Tú puedes apoyar el desarrollo de 7-Zip registrándote para contribuir a mejorar el programa. +3000 +El sistema no ha podido asignar la cantidad necesaria de memoria +No hay errores +{0} elemento(s) seleccionado(s) +No se puede crear el directorio '{0}' +Este tipo de archivo no permite actualización. +No se puede abrir '{0}' como un archivo comprimido +No se puede abrir el archivo encriptado '{0}'. Verifique la contraseña. +Tipo de archivo no soportado +El fichero {0} ya existe +El fichero '{0}' ha sido modificado.\n¿Quieres actualizarlo en el archivo? +No puede actualizarse el fichero\n'{0}' +No puede ejecutarse el editor. +El fichero parece un virus (el nombre del fichero contiene espacios largos). +No puede realizarse la operación desde una carpeta que tenga una ruta larga. +Debes seleccionar un fichero +Debes seleccionar uno o más ficheros +Demasiados elementos +3300 +extrayendo +comprimiendo +probando +abriendo... +Buscando... +3400 +Extraer +E&xtraer a: +Selecciona destino para los archivos extraídos. +3410 +Modo de directorio +Directorio completo +Sin directorio +3420 +Sobreescribir +Con confirmación +Sin confirmación +Conservar archivos existentes +Renombrar automáticamente +Autorrenombrar archivos existentes +3500 +Confirmar sustitución de archivos +El directorio ya contiene un archivo con el mismo nombre. +¿Deseas sustituir el archivo existente +por este otro? +{0} bytes +Renombrar a&utomáticamente +3700 +Método de compresión no válido para '{0}'. +Error de datos en '{0}'. El archivo está corrupto. +CRC ha fallado en '{0}'. El archivo está corrupto. +Error de datos en el archivo encriptado '{0}'. Verifica la contraseña. +Fallo de CRC en el archivo encriptado '{0}'. Verifica la contraseña. +3800 +Introduce la contraseña +E&scribe la contraseña: +Escribe nue&vamente la contraseña: +&Mostrar la contraseña +Las contraseñas son diferentes. Por favor, vuelve a escribirlas. +Usa en la contraseña solamente letras del alfabeto inglés, números y caracteres especiales (!, #, $, ...) +La contraseña es demasiado larga. +Contraseña +3900 +Tiempo transcurrido: +Tiempo pendiente: +Tamaño: +Velocidad: +Procesado: +Razón de compresión: +Errores: +Archivos: +4000 +Añadir al archivo +&Archivo: +M&odo de actualización: +&Formato de archivo: +Nive&l de compresión: +&Tipo de compresión: +Tamaño de &diccionario: +Tama&ño de la palabra: +Tamaño de bloque compacto: +Número de hilos de la CPU: +&Parámetros: +Opciones +Crear archivo SF&X (autoextraíble) +Comprimir archivos abiertos para escritura +Encriptación +Método de &encriptación: +Encriptar &nombres de fichero +Memoria usada para comprimir: +Memoria usada para descomprimir: +4050 +Sin compresión +La más rápida +Rápida +Normal +Máxima +Ultra +4060 +Añadir y sustituir archivos +Actualizar y añadir archivos +Solo actualizar archivos +Sincronizar archivos +4070 +Explorar +Todos los archivos +No compacto +Sin límite +6000 +Copiar +Mover +Copiar a: +Mover a: +copiado... +movido... +Renombrando... +Selecciona la carpeta de destino +Operación no permitida. +Error renombrando fichero o carpeta +Confirmar copia de ficheros +¿Estás seguro de que deseas copiar los ficheros al archivo +6100 +Confirmar borrado de archivo +Confirmar borrado de carpeta +Confirmar borrado de numerosos ficheros +¿Estás seguro de querer borrar '{0}'? +¿Estás seguro de querer borrar la carpeta '{0}' y todo su contenido? +¿Estás seguro de querer borrar estos {0} elementos? +Borrando... +Error borrando fichero o carpeta +El sistema no puede mover un fichero con ruta larga a la Papelera de Reciclaje +6300 +Crear carpeta +Crear archivo +Nombre de carpeta: +Nombre de archivo: +Carpeta nueva +Archivo nuevo +Error creando carpeta +Error creando archivo +6400 +Comentario +&Comentario: +Seleccionar +Deseleccionar +Máscara: +6600 +Propiedades +Historial de carpetas +Mensajes de diagnóstico +Mensaje +7100 +Mi PC +Entorno de red +Documentos +Sistema +7200 +Agregar +Extraer +Probar +Copiar +Mover +Borrar +Información +7300 +Dividir archivo +Di&vidir a: +Dividir en fra&gmentos (bytes): +Dividiendo... +Confirmar división +¿Estás seguro de que deseas dividir el archivo en {0} partes? +El tamaño de los fragmentos debe ser menor que el del archivo original +Tamaño de fragmento incorrecto +Tamaño de fragmento especificado: {0} bytes.\n¿Estás seguro de que deseas dividir el archivo en fragmentos de ese tamaño? +7400 +Combinar archivos +&Combinar a: +Combinando... +Selecciona solamente el primer archivo +No se ha podido detectar el fichero como parte de un fichero por volúmenes +No se ha podido encontrar más que un fragmento del fichero por volúmenes +7500 +Calculando suma de verificación... +Suma de verificación (CRC) +CRC de los datos: +CRC de los datos y nombres: +7600 +Pruebas (benchmark) +Uso de memoria: +Compresión +Descompresión +Tasa +Tasa total +Actual +Resultante +Uso de CPU +Resultante/uso +Pasos: diff --git a/Utils/7-Zip/Lang/et.txt b/Utils/7-Zip/Lang/et.txt new file mode 100644 index 000000000..de2282f23 --- /dev/null +++ b/Utils/7-Zip/Lang/et.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 3.09 : Kaupo Suviste +; 9.07 : Mihkel Tõnnov +; +; +; +; +; +; +; +; +; +0 +7-Zip +Estonian +eesti keel +401 +OK +Loobu + + + +&Jah +&Ei +&Sulge +Abi + +&Jätka +440 +Kõigile j&ah +Kõigile e&i +Seiska +Restardi +&Taustal +&Esiplaanile +&Paus +Pausiks peatatud +Kas soovite kindlasti loobuda? +500 +&Fail +&Redigeeri +&Vaade +&Lemmikud +&Tööriistad +&Abi +540 +&Ava +Ava s&ees +Ava väljasp&ool +Vaat&ur +&Redigeeri +&Nimeta ümber +&Kopeeri asukohta... +&Teisalda asukohta... +Ku&stuta +Tükel&da fail... +Ü&henda failid... +Atri&buudid +Ko&mmentaar... +Arvuta kontrollsumma +Võrdle +Loo kaust +Loo fail +&Välju +600 +V&ali kõik +Tühista kõik valikud +&Pööra valik +Vali... +Tühista valik... +Vali tüübi järgi +Tühista tüübi järgi valik +700 +&Suured ikoonid +Väik&esed ikoonid +&Loend +Üksikasja&d +730 +Sortimata +Lame vaade +&Kaks paani +&Tööriistaribad +Ava juurkaust +Taseme võrra üles +Kaustaajalugu... +&Värskenda +750 +Arhiiviriistariba +Standardnupuriba +Suured nupud +Kuva nupusildid +800 +&Lisa kaust lemmikute hulka järjehoidjana +Järjehoidja +900 +&Häälestus... +&Jõudlustest +960 +&Sisukord... +&Teave 7-Zipi kohta... +1003 +Tee +Nimi +Laiend +Kaust +Maht +Maht tihendatult +Atribuudid +Loodud +Avatud +Muudetud +Ühtne +Kommenteeritud +Krüptitud +Tükeldatud enne +Tükeldatud pärast +Sõnastik +CRC +Tüüp +Anti +Meetod +Opsüsteem +Failisüsteem +Kasutaja +Rühm +Plokk +Kommentaar +Koht +Tee prefiks +Kaustu +Faile +Versioon +Köide +Mitmeköiteline +Nihe +Linke +Plokke +Köiteid + +64-bitine +Big-Endian +Protsessor +Füüsiline maht +Päiste maht +Kontrollsumma +Karakteristikud +Virtuaalaadress +ID +Lühinimi +Loomisrakendus +Sektori maht +Režiim +Link +Tõrge +Kogumaht +Vaba ruum +Klastri suurus +Silt +Kohalik nimi +Teenusepakkuja +2100 +Häälestus +Keel +Keel: +Redaktor +&Redaktor: +&Võrdlusprogramm: +2200 +Süsteem +Seosta 7-Zip laienditega: +2301 +Integreeri 7-Zip kesta hüpikmenüüsse +Kaskaad-hüpikmenüü +Hüpikmenüü käsud: +2320 + + +Ava arhiiv +Eralda failid... +Lisa arhiivi... +Testi arhiivi +Eralda siia +Eralda kausta {0} +Lisa arhiivi {0} +Tihenda ja meili... +Tihenda arhiiviks {0} ja meili +2400 +Kaustad +&Töökaust +&Süsteemi ajutiste failide kaust +&Praegune kaust +&Kasutaja määratud: +Kasuta ainult irddraivide puhul +Määrake ajutiste arhiivifailide asukoht. +2500 +Sätted +Kuva element ".." +Kuva tegelikud failiikoonid +Kuva süsteemimenüü +&Vali terve rida +Kuva &ruudujooned +Ava üksus ühe klõpsuga +&Alternatiivne valikurežiim +Kasuta &suuri mälulehekülgi +2900 +Teave 7-Zipi kohta +7-Zip on vaba tarkvara. Kuid kui soovite toetada 7-Zipi arendamist, siis saate programmi registreerida.\n\n7-Zipi Eesti koduleht:\nhttp://www.hot.ee/somberg/7zip.html +3000 +Süsteem ei saa eraldada nõutavat mälumahtu. +Vigu ei leitud. +{0} üksus(t) valitud +Ei saa luua kausta {0} +Selle arhiivi värskendamistoiminguid ei toetata. +Ei saa avada faili {0} arhiivina. +Ei saa avada krüptitud arhiivi {0}. Kas vale parool? +Toetamata arhiivitüüp. +Fail {0} on juba olemas. +Faili {0} on muudetud.\nKas soovite selle arhiivis värskendada? +Ei saa värskendada faili\n{0} +Ei saa käivitada redaktorit. +See fail sarnaneb viirusega (faili nimi sisaldab pikka tühikute jada). +Toimingut ei saa käivitada kaustast, millel on pikk tee. +Te peate valima ühe faili. +Te peate valima ühe või mitu faili. +Liiga palju üksusi. +3300 +välja eraldatud +tihendatud +Testimine +Avamine... +Läbivaatamine... +3400 +Väljaeraldamine +&Eralda välja kausta: +Määrake väljaeraldatud failide asukoht. +3410 +Teed +&Täielikud teenimed +Teenime&deta +3420 +Ülekirjutus +Küsi e&nne ülekirjutamist +Ki&rjuta küsimata üle +&Jäta olemasolevad failid vahele +Nimeta a&utomaatselt ümber +Nimeta &olemasolevad f. autom. ümber +3500 +Failiasenduse kinnitamine +Sihtkaust juba sisaldab töödeldavat faili. +Kas soovite asendada olemasoleva faili +selle failiga? +{0} baiti +Nimeta a&utomaatselt ümber +3700 +Toetuseta tihendusmeetod failile {0}. +Andmeviga failis {0}. Fail on rikutud. +Tsükkelkoodkontroll (CRC) failis {0} nurjus. Fail on rikutud. +Andmeviga krüptitud failis {0}. Kas vale parool? +Tsükkelkoodkontroll (CRC) krüptitud failis {0} nurjus. Kas vale parool? +3800 +Parooli sisestamine +Sisestage parool: +Parooli kordus: +&Kuva parool +Paroolid ei kattu. +Kasutage paroolis ainult inglise keele tähti, numbreid ja erimärke (!, #, $, ...). +Parool on liiga pikk. +&Parool +3900 +Kulunud aeg: +Järelejäänud aeg: +Kogumaht: +Kiirus: +Töödeldud: +Tihendussuhe: +Vigu: +Arhiive: +4000 +Arhiivi lisamine +&Arhiiv: +Värskend&usrežiim: +Arhiivi&vorming: +&Tihendusaste: +Tihendus&meetod: +Sõnaraamatu ma&ht: +&Sõna maht: +Ühtse ploki maht: +Protsessorilõimede arv: +Pa&rameetrid: +Suvandid +Loo is&eavanev arhiiv +Tihenda kirjutuseks avatud failid +Krüptimine +Krüptimismeetod: +Krüpti faili&nimed +Mälu hõivatus tihendamisel: +Mälu hõivatus hõrendamisel: +4050 +Tihenduseta +Kiireim tihendus +Kiirtihendus +Normaaltihendus +Maksimaaltihendus +Ultratihendus +4060 +Lisa ja asenda failid +Värskenda ja lisa failid +Värskenda olemasolevad failid +Sünkrooni failid +4070 +Sirvi +Kõik failid +Mitteühtne +Ühtne +6000 +Kopeerimine +Teisaldamine +Kopeeri asukohta: +Teisalda asukohta: +Kopeerimine... +Teisaldamine... +Ümbernimetamine... +Valige sihtkaust. +See toiming pole selles kaustas toetatud. +Tõrge faili või kausta ümbernimetamisel +Failikopeerimise kinnitamine +Kas soovite kindlasti kopeerida arhiivi järgmised failid: +6100 +Failikustutuse kinnitamine +Kaustakustutuse kinnitamine +Mitme faili kustutamise kinnitamine +Kas soovite kindlasti kustutada faili {0}? +Kas soovite kindlasti kustutada kausta {0} ja kogu selle sisu? +Kas soovite kindlasti kustutada need {0} üksust? +Kustutamine... +Tõrge faili või kausta kustutamisel +Süsteem ei saa teisaldada prügikasti pika teega faili. +6300 +Kausta loomine +Faili loomine +Kausta nimi: +Faili nimi: +Uus kaust +Uus fail +Tõrge kausta loomisel +Tõrge faili loomisel +6400 +- kommentaar +&Kommentaar: +Valimine +Valiku tühistamine +Mask: +6600 +Atribuudid +Kaustaajalugu +Diagnostikateated +Teade +7100 +Arvuti +Võrk +Dokumendid +Süsteem +7200 +Lisa +Eralda välja +Testi +Kopeeri +Teisalda +Kustuta +Teave +7300 +Faili tükeldamine: +&Tükelda asukohta: +&Tükelda köideteks (baitides): +Tükeldamine... +Tükeldamise kinnitamine +Kas soovite kindlasti tükeldada faili {0} köiteks? +Köite maht peab olema algfaili mahust väiksem. +Sobimatu köitemaht. +Määratud köitemaht: {0} baiti.\nKas soovite kindlasti tükeldada arhiivi niisugusteks köideteks? +7400 +Failide ühendamine: +Ü&henda asukohta: +Ühendamine... +Valige ainult tükeldatud faili esimene osa. +Ei õnnestu tuvastada, et see fail oleks tükeldatud faili osa. +Ei leia rohkem kui ühte tükeldatud faili osa. +7500 +Kontrollsumma arvutamine... +Kontrollsumma +Andmete CRC-kontrollsumma: +Andmete ja nimede CRC-kontrollsumma: +7600 +Jõudlustest +Mälu hõivatus: +Tihendamine +Hõrendamine +Hinnang +Üldine jõudlushinnang +Praegune: +Lõpptulemus: +CPU hõivatus +Hinnang/hõivatus +Töötiire: diff --git a/Utils/7-Zip/Lang/eu.txt b/Utils/7-Zip/Lang/eu.txt new file mode 100644 index 000000000..e9be78746 --- /dev/null +++ b/Utils/7-Zip/Lang/eu.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.12 : 2015-12-04 : Xabier Aramendi +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Basque +Euskara +401 +&Ongi +E&zeztatu + + + +&Bai +&Ez +It&xi +&Laguntza + +&Jarraitu +440 +Bai &Guztiari +Ez G&uztiari +Gelditu +Berrabiarazi +Ba&rrenean +&Gainean +&Pausatu +Pausatuta +Zihur zaude ezeztatzea nahi duzula? +500 +&Agiria +&Editatu +&Ikusi +&Gogokoenak +&Tresnak +&Laguntza +540 +&Ireki +Ireki &Barnean +Ireki &Kanpoan +Ik&usi +&Editatu +Berrize&ndatu +Kopiatu &Hona... +&Mugitu Hona... +E&zabatu +Banan&du agiria... +Nahas&tu agiriak... +Ezau&garriak +&Aipamena... +Ka&lkulatu egiaztapen-batura +Ezber +Sortu Agiritegia +S&ortu Agiria +I&rten +Lotura +&Aldikatu Jarioak +600 +Hautatu &Guztiak +Deshatutau G&uztiak +&Alderantzizkatu Hautapena +&Hautatu... +&Deshautatu... +Hautatu &Motaz +Deshautatu M&otaz +700 +Ikur &Handiak +Ikur Txi&kiak +&Zerrenda +&Xehetasunak +730 +Ant&olatugabe +Ik&uspegi Laua +&2 Panel +&Tresnabarrak +Ireki &Erro Agiritegia +Maila Bat &Gora +Agiritegi &Historia... +&Berritu +Be&rez Berritu +750 +Artxibo Tresnabarra +Tresnabarra Estandarra +Botoi Handiak +Erakutsi Botoien Idazkia +800 +&Gehitu agiritegia Gogokoenetara honela +Lastermarka +900 +A&ukerak... +&Benchmark +960 +&Edukiak... +&7-Zip Buruz... +1003 +Helburua +Izena +Luzapena +Agiritegia +Neurria +Pakete Neurria +Ezaugarriak +Sortua +Sartua +Aldatua +Solidoa +Aipatua +Enkriptatua +Banandu Aurretik +Banandu Ondoren +Hiztegia + +Mota +Anti +Metodoa +Hostalari SE +Agiri Sistema +Erabiltzailea +Taldea +Blokea +Aipamena +Kokapena +Helburu Aurrizkia +Agiritegiak +Agiriak +Bertsioa +Bolumena +Bolumen-anitz +Oreka +Loturak +Blokeak +Bolumenak + +64-bit +Big-endian +CPU +Neurri Fisikoa +Idazburu Neurria +Egiaztapen-batura +Ezaugarriak +Helbide Birtuala +ID-a +Izen Laburra +Aplikazio Sortzailea +Sektore Neurria +Modua +Lotura Sinbolikoa +Akatsa +Neurria Guztira +Toki Askea +Kluster Neurria +Etiketa +Tokiko Izena +Hornitzailea +NT Segurtasuna +Aldikatu Jarioa +Aux +Ezabatuta +Zuhaitza da + + +Akats Mota +Akatsak +Akatsak +Ohartarazpenak +Ohartarazpena +Jarioak +Aldikatu Jarioak +Aldikatu Jario Neurriak +Neurri Birtuala +Despaketatu Neurria +Neurri Fisikoa Guztira +Bolumen Aurkibidea +AzpiMota +Aipamen Labura +Kode Orrialdea + + + +Isats Neurria +Barneratutako Stub Neurria +Lotura +Lotura Gogorra +iNode + +Irakurtzeko-bakarrik +2100 +Aukerak +Hizkuntza +Hizkuntza: +Editatzailea +&Editatzailea: +E&zberdintasunak: +2200 +Sistema +Elkartu 7-Zip hauekin: +Erabiltzaile guztiak +2301 +&Bateratu 7-Zip shell hitzinguru menura +&Urjauzi hitzinguru menua +Hitzinguru menuko gaiak: +&Ikurrak hitzinguru menuan +2320 + + +Ireki artxiboa +Atera agiriak... +Gehitu &artxibora... +Aztertu artxiboa +Atera Hemen +Atera hona: {0} +Gehitu hona: {0} +Konprimitu eta &bidali post@z... +Konprimitu hona {0} eta bidali post@z +2400 +Agiritegiak +&Lan agiritegia +&Sistemaren aldibaterako agiritegia +&Oraingoa +A&dierazia: +&Erabili gidagailu kengarrientzat bakarrik +Adierazi aldibaterako artxibo agirientzako kokalekua +2500 +Ezarpenak +&Erakutsi ".." gai +E&rakutsi egizko agiriaren ikurrak +Erakutsi siste&maren menua +&Lerro osoko hautapena +Erakutsi &saretxo lerroak +&Klik-bakarra gai bat irekitzeko +A&ukerazko hautapen modua +Erabili &oroimen handiko orrialdeak +2900 +7-Zip buruz +7-Zip software askea da +3000 +Sistemak ezin du beharrezko oroimen kopurua esleitu +Ez dago akatsik +{0} objetu hautaturik +Ezin da '{0}' agiritegia sortu +Eguneratze eragiketak ez daude sostengaturik artxibo honentzat. +Ezinezkoa '{0}' agiria artxibo bezala irekitzea +Ezinezkoa '{0}' artxibo enkriptatua ireki. Sarhitz okerra? +Artxibo mota ez dago sostengatua +{0} agiria badago jadanik +'{0}' agiria aldatu egin da.\nArtxioboan eguneratzea nahi duzu? +Ezinezkoa agiria eguneratzea\n'{0}' +Ezin da editatzailea abiarazi. +Agiriak birus bat ematen du (agiri izenak tarte luzeak ditu izenean). +Eragiketa ezin da helburu luze bat duen agiritegi batetik deitu +Agiri bat hautatu behar duzu +Agiri bat edo gehiago hautatu behar dituzu +Gai gehiegi +Ezin da agiria {0} artxibo bezala ireki +Agiria {0} artxibo bezala dago irekita +Artxiboa orekaz irekita dago +3300 +Ateratzen +Konprimitzen +Aztertzen +Atzeratzen... +Mihatzen... +Kentzen +3320 +Gehitzen +Eguneratzen +Aztertzen +Erreplikatzen +Berpaketatzen +Jauzten +Ezabatzen +Idazburua sortzen +3400 +&Atera +Atera &hona: +A&dierazi ateratako agirientzako kokaleku bat. +3410 +Helburu mo&dua: +Helburu-izen osoak +Helburu-izenik ez +Helburu-izen absolutoak +Helburu-izen erlatiboak +3420 +Gainidazketa modua: +Galdetu gainidatzi aurretik +Gainidazi galdetu gabe +Jauzi dauden agiriak +Berez berrizendatu +Berez berrizendatu dauden agiriak +3430 +Ezabatu erro agiritegi bikoizketa +Leheneratu agiri segurtasuna +3500 +Baieztatu Agiri Ordeztea +Helmuga agiritegiak jadanik badu prozesatutako agiria. +Dagoen agiria ordeztea nahi duzu +beste honekin? +{0} byte +&Berez Berrizendatu +3700 +Konpresio metodo sostengatu gabea '{0}'-rako. +Datu akatsa '{0}'. Agiria hautsita dago. +CRC hutsegitea '{0}'. Agiria hautsita dago. +Datu akatsa '{0}' enkriptaturiko agirian. Sarhitz okerra? +CRC hutsegitea '{0}' enkriptaturiko agirian. Sarhitz okerra? +3710 +Sarhitz okerra? +3721 +Konpresio metodoa ez dago sostengatua +Datu akatsa +CRC hutsegitea +Datu eskuraezinak +Ustekabeko datu amaiera +Zenbait akats daude gertaketa amaieraren ondoren +Ez da artxiboa +Idazburu Akatsa +Sarhitz okerra +3763 +Artxibo hasiera eskuraezina +Artxibo hasiera baieztatugabe + + + +Ezaugarri sostengu gabea +3800 +Sartu sarhitza +Sartu sarhitza: +Bersartu sarhitza: +&Erakutsi sarhitza +Sarhitzak ez datoz bat +Erabili bakarrik Ingelerazko hizkiak, zenbakiak eta hizki bereziak (!, #, $, ...) sarhitzarentzat +Sarhitza luzeegia da +Sarhitza +3900 +Igarotako denbora: +Gelditzen den denbora: +Neurria guztira: +Abiadura: +Prozesatuta: +Konpresio maila: +Akatsak: +Artxiboak: +4000 +Gehitu artxibora +&Artxiboa: +Egu&neraketa modua: +Artxibo he&uskarria: +Konpre&sio maila: +Konpresio &metodoa: +&Hiztegi neurria: +Hi&tz neurria: +&Bloke solidoaren neurria: +&CPU hari zenbatekoa: +&Parametroak: +Aukerak +Sortu SF&X artxiboa +&Konprimitu elkarbanaturiko agiriak +Enkriptaketa +Enkriptaketa metodoa: +Enkriptatu agiri &izenak +Oroimen erabilera Konprimitzeko: +Oroimen erabilera Deskonprimitzeko: +Ezabatu agi&riak konprimitu ondoren +4040 +Biltegiratu lotura sinbolikoak +Biltegiratu lotura gogorrak +Biltegiratu aldikatu datu jarioak +Biltegiratu agiri segurtasuna +4050 +Biltegia +Azkarrena +Azkarra +Arrunta +Gehiena +Ultra +4060 +Gehitu eta ordeztu agiriak +Eguneratu eta gehitu agiriak +Berritu dauden agiriak +Aldiberetu agiriak +4070 +Bilatu +Agiri Denak +Ez-solidoa +Solidoa +6000 +Kopiatu +Mugitu +Kopiatu hona: +Mugitu hona: +Kopiatzen... +Mugitzen... +Berrizendatzen... +Hautatu helmuga agiritegia. +Eragiketa hau ez dago sostengatua agiritegi honentzat. +Akatsa Agiria edo Agiritegia Berrizendatzerakoan +Baieztatu Agiri Kopiatzea +Zihur zaude agiriak artxibora kopiatzea nahi dituzula +6100 +Baieztatu Agiri Ezabapena +Baieztatu Agiritegi Ezabapena +Baieztatu Agiri Anitz Ezabapena +Zihur zaude '{0}' ezabatzea nahi duzula? +Zihur zaude '{0}' agiritegia eta bere eduki guztiak ezabatzea nahi dituzula? +Zihur zaude {0} gai hauek ezabatzea nahi dituzula? +Ezabatzen... +Akatsa Agiria edo Agiritegia Ezabatzerakoan +Sistemak ezin du helburu luzeko agiria Birziklapen Ontzira mugitu +6300 +Sortu Agiritegia +Sortu Agiria +Agiritegi izena: +Agiri Izena: +Agiritegi Berria +Agiri Berria +Akatsa Agiritegia Sortzerakoan +Akatsa Agiria Sortzerakoan +6400 +Aipamena +&Aipamena: +Hautatu +Deshautatu +Mozorroa: +6600 +Ezaugarriak +Agiritegi Historia +Azterketa mezuak +Mezuak +7100 +Ordenagailua +Sarea +Agiriak +Sistema +7200 +Gehitu +Atera +Aztertu +Kopiatu +Mugitu +Ezabatu +Argibideak +7300 +Banandu Agiria +Banandu &hona: +Banandu &bolumenetan, byte: +Banantzen... +Baieztatu Banantzea +Zihur zaude agiria {0} bolumenetan banantzea nahi duzula? +Bolumen neurria jatorrizko agiriaren neurria baino txikiagoa izan behar da +Bolumen neurri okerra +Adierazitako bolumen neurria: {0} byte.\nZihur zaude artxiboa bolumenetan banantzea nahi duzula? +7400 +Nahastu Agiriak +&Nahastu hona: +Nahasten... +Hautatu bakarrik banantzeko agiriaren lehen atala +Ezin da agiria atzeman banandutako agiriaren atal bezala +Ezin da aurkitu banandutako agiriaren atal bat baino gehiago +7500 +Egiaztapen-batura kalkulatzen... +Egiaztapen-batura argibideak +CRC Egiaztapen-batura datuentzat: +CRC Egiaztapen-batura datu eta izenentzat: +7600 +Benchmark +Oroimen erabilpena: +Konprimitzen +Deskonprimitzen +Mailaketa +Mailaketa Guztira +Oraingoa +Emaitza +CPU Erabilpena +Mailaketa / Erabilpena +Pasaldiak: +7700 +Lotura +Lotura +Lotura hemendik: +Lotura hona: +7710 +Lotura Mota +Lotura Gogorra +Agiri Lotura Sinbolikoa +Zuzenbide Lotura Sinbolikoa +Zuzenbide Elkargunea diff --git a/Utils/7-Zip/Lang/ext.txt b/Utils/7-Zip/Lang/ext.txt new file mode 100644 index 000000000..469cd18f4 --- /dev/null +++ b/Utils/7-Zip/Lang/ext.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Miguel Angel +; 9.07 : Purgossu +; +; +; +; +; +; +; +; +; +0 +7-Zip +Extremaduran +Estremeñu +401 +Acetal +Cancelal + + + +&Sí +&Nu +&Fechal +Ayua + +A&continal +440 +Sí &a tó +Nu a &tó +Paral +Reinicial +Se&gundu pranu +&Primel pranu +&Paral +Parau +De siguru que quieri cancelal la operación? +500 +&Archivu +&Eital +&Vel +A&tihus +&Herramientas +A&yua +540 +&Abril +Abril &dentru +Abril &huera +&Vel +&Eital +Renom&bral +&Copial a... +&Movel pa... +&Eliminal +De&sapartal ficheru... +Com&binal ficherus... +P&ropieais +Come&ntariu +Calculal suma e verificación +Diff +Creal diretóriu +Creal ficheru +&Salil +600 +Selecional &tó +Deselecional tó +&Invertil seleción +Selecional... +Deselecional... +Selecional pol tipu +Deselecional pol tipu +700 +Iconus g&randis +Iconus caquerus +&Listau +&Detallis +730 +Nu soportau +Vista prana +&2 panelis +Barra e herramien&tas +Abril diretóriu raí +Subil un nivel +Estorial de diretórius... +&Atualizal +750 +Barra e herramientas 'archivu' +Barra e herramientas estándal +Botonis grandis +Muestral testu enus botonis +800 +&Añíl diretóriu a Atihus comu +Atihu +900 +&Ocionis... +&Prebas ('benchmark') +960 +&Contenius... +&Al tentu 7-Zip... +1003 +Ruta +Nombri +Estensión +Diretóriu +Tamañu +Tamañu comprimiu +Atributus +Creau'l +Úrtimu acesu +Escambiau'l +Sóliu +Comentau +Encrihtau +Desapartau enantis +Desapartau endispués +Izionáriu +CRC +Tipu +Anti +Métou +S.O. orihin +Sistema d'archivus +Usuariu +Grupu +Broqui +Comentariu +Posición +Prefihu la ruta +Diretórius +Ficherus +Velsión +Volumin +Murtivolumin +Desprazamientu +Enlacis +Broquis +Volúmenis + +64-bit +Big-endian +UCP +Tamañu físicu +Tamañu las cabiceras +Suma e cumprebación +Caraterísticas +Direción virtual +ID +Nombri cortu +Apricación criaora +Tamañu el setol +Mou +Enlaci +Yerru +Tamañu total +Espaciu dispunibri +Tamañu el 'cluster' +Etiqueta +Nombri local +Proveol +2100 +Ocionis +Palra +Palra: +Eitol +&Eitol: +&Diff: +2200 +Sistema +Asocial 7-Zip a hormatus: +2301 +Integral 7-Zip nel menú contestual +Menú contestual en cascá +Elementus del menú contestual: +2320 + + +Abril archivu +Estrayel ficherus... +Añíl al archivu... +Comprebal archivu +Estrayel aquina +Estrayel en {0} +Añiil a {0} +Comprimil i envial pol correu-e... +Comprimil en {0} i envial pol correu +2400 +Diretórius +Diretóriu e labu&tu +Diretóriu temporal del &sistema +Diretóriu &ahtual +&Especifical: +Usal sólu pa dispositivus estrayíbris +Especifical ruta pa ficherus d'archivus temporalis. +2500 +Configuración +Muestral l'elementu \.." +Muestral icunus propius del ficheru +Muestral menú el sistema +&Selecional fila(s) enteriza(s) +Muestral línias e la &cuairícula +'Click' únicu p'abril un elementu +Móu e seleción &alternativu +Usa&l páhinas de memoria grandis +2900 +About 7-Zip +7-Zip es una apricación libri i a gastus pagus. Peru puei apoyal el desarrollu e 7-Zip meyanti'l rehistru el pograma. +3000 +El sistema nu á síu escapás d'asinal la cantiá prehisa de memoria +Sin yerrus +{0} elementu(s) selecionaus +Nu s'á puiu crial el diretóriu '{0}' +Nu se puei atualizal esti tipu d'archivu. +Nu s'á puiu abril '{0}' comu archivu +Nu s'a puiu abril l'archivu encritau '{0}'. Conseña yerronia? +Tipu archivu nu suportau +File {0} is already exist +El ficheru '{0}' á síu moificau.\nAtualizalu nel archivu? +Nu s'á puíu atualizal l'archivu\n'{0}' +Nu s'á puíu ehecutal el eitol. +El ficheru pahi un virus (el nombri'l ficheru contieni espacius largus nel nombri). +Nu puei realizasi la operación dendi un diretóriu que tenga una ruta larga. +You must select one file +You must select one or more files +Ai elementus en demasía +3300 +Estrayendu +Comprimiendu +Comprebandu +Abriendu... +Escaneandu... +3400 +Estrayel +E&strayel a: +Especifical destinu palus ficherus estrayíus. +3410 +Mou e ruta +Ruta compreta +Sin ruta +3420 +Mou e sobrescrebil +Preguntal enantis +Sobrescrebil sin preguntal +Conserval ficherus esistentis +Renombral de horma automática +Autu-renombral ficherus esistentis +3500 +Confirmal remprazu de ficherus +El diretóriu ya contieni un ficheru el mesmu nombri. +Escambial el ficheru esistenti +pol esti otru? +{0} bytes +Escambial nombri a&utomáticamenti +3700 +Métou e compresión nu soportau pa '{0}'. +Yerru datus en '{0}'. El ficheru está changarrau. +Yerru e CRC '{0}'. El ficheru está changarrau. +Yerru e datus nel ficheru encritau '{0}'. Conseña yerrónia? +Yerru e CRC nel ficheru encritau '{0}'. Conseña yerrónia? +3800 +Introuzil conseña +Introuzil conseña: +Repitil conseña: +Mue&stral conseña +Las cunseñas nu coinciín +Usi sólu letras ingresas, númirus i caráteris especialis (!, #, $, ...) pala conseña +La conseña tieni largura'n demasía +Conseña +3900 +Tiempu trascurríu: +Tiempu restanti: +Tamañu total: +Velociá: +Procesau: +Tasa e compresión: +Yerrus: +Archivus: +4000 +Añiil a archivu +&Archivu: +&Mou d'atualización: +&Hormatu d'archivu: +Nive&l de compresión: +Mé&tou e compresión: +Tamañu el i&zionariu: +Tama&ñu e parabra: +Tamañu el bloqui sóliu: +Númiru hilus e la UCP: +&Parámetrus: +Ocionis +Creal archivu 'SF&X' +Comprimil ficherus compartíus +Encritación +Métou encritación: +Encrital &nombris de ficheru +Usu e memoria pa compresión: +Usu e memoria pa decompresión: +4050 +Almacenal +La más respahila +Respahila +Normal +Másima +Ultra +4060 +Añiil i remprazal ficherus +Atualizal i añiil ficherus +Atualizal sólu ficherus esistentis +Sincronizal ficherus +4070 +Esproral +Tolos ficherus +Nu sóliu +Sóliu +6000 +Copial +Movel +Copial a: +Movel pa: +Copiandu... +Moviendu... +Renombrandu... +Selecional diretóriu destinu. +Operación nu soportá. +S'alcuentrau'n yerru al renombral el ficheru u diretóriu +Confirmal copia el ficheru +De siguru que quieri copiar estus ficherus al archivu? +6100 +Confirmal eliminación del ficheru +Confirmal eliminación del direhtoriu +Confirmal eliminación de varius ficherus +De siguru que quieri eliminal '{0}'? +De siguru que quieri eliminal el diretóriu '{0}' i tol su conteniu? +De siguru que quieri eliminal estus {0} elementus? +Eliminandu... +S'alcuentrau'n yerru al eliminal el ficheru u diretóriu +El sistema nu puei movel un ficheru con ruta larga a la Papelera Recicrahi +6300 +Creal diretóriu +Creal ficheru +Nombri e diretóriu: +Nombri el ficheru: +Nuevu diretóriu +Nuevu ficheru +S'alcuentrau'n yerru al creal el diretóriu +S'alcuentrau'n yerru al creal el ficheru +6400 +Comentáriu +&Comentáriu: +Selecional +Deselecional +Máscara: +6600 +Propieais +Estorial de diretórius +Mensahis de dianósticu +Mensahi +7100 +Mi PC +Entorno de red +Documentos +Sistema +7200 +Añiil +Estrayel +Comprebal +Copial +Movel +Eliminal +Inhormazión +7300 +Desapartal ficheru +&Desapartal a: +Desapartal en &balandronis, 'bytes': +Desapartandu... +Confirmal desapartamientu +De siguru que quieri desapartal el ficheru'n {0} volúmenis? +El tamañu lus volúmenis debi sel mas caqueru que'l del ficheru orihinal +Tamañu el volumin nu váliu +Introuza'l tamañu el volumin: {0} 'bytes'.\nDe siguru que quieri desapartal l'archivu'n tantus volúmenis? +7400 +Uñil ficherus +&Uñil en: +Uñiendu... +Selecional sólu'l primel ficheru +Nu s'á puíu detetal el ficheru comu parti d'un ficheru desapartau +Nu s'á puíu alcuentral más d'un balandrón del ficheru desapartau +7500 +Calculandu la suma e verificación... +Inhormazión de suma e verificación +Suma e verificación de 'CRC' pala inhormazión: +Suma e verificación de 'CRC' pala inhormazión i lus nombris: +7600 +Prebas ('benchmark') +Usu e memoria: +Comprimiendu +Comprimiendu +Razón +Razón total +Atual +Resurtau +Usu e CPU +Razón / Usu +Pasis: diff --git a/Utils/7-Zip/Lang/fa.txt b/Utils/7-Zip/Lang/fa.txt new file mode 100644 index 000000000..c524ed468 --- /dev/null +++ b/Utils/7-Zip/Lang/fa.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 3.12 : Edris Naderan +; 4.53 : Mehdi Farhadi +; 9.22 : Hessam Mohamadi +; +; +; +; +; +; +; +; +0 +7-Zip +Farsi +ÙØ§Ø±Ø³ÛŒ +401 +تایید +لغو + + + +بله&Ù‡ +&خیر +بستن +راهنما + +ادامه +440 +بله روی همه +نه روی همه +توق٠+ریستارت +پس زمینه +پیش زمینه +وقÙÙ‡ +متوق٠+آیا میخواهید عملکرد را لغو میکنید؟ +500 +ÙØ§ÛŒÙ„ +ویرایش +مشاهده +موردعلاقه ها +ابزارها +راهنما +540 +بازکردن +بازکردن از داخل +بازکردن از خارج +مشاهده +ویرایش +تغییرنام +Ú©Ù¾ÛŒ به... +انتقال به... +حذ٠+تقسیم ÙØ§ÛŒÙ„... +ادغام ÙØ§ÛŒÙ„.. +مشخصات +توضيح.. +محاسبه مجموع مقابله ای +مقایسه گر +ایجاد پوشه +ایجاد ÙØ§ÛŒÙ„ +خروج +600 +انتخاب همه +لغو انتخاب‌ همه +انتخاب معکوس +انتخاب... +لغو انتخاب... +انتخاب بر حسب نوع +لغو انتخاب بر حسب نوع +700 +آیکون‌ بزرگ +آیکون‌ Ú©ÙˆÚ†Ú© +لیست +جزئیات +730 +نامرتب +مشاهده یکنواخت +2 پانل +نوارابزارها +بازکردن ریشه پوشه +یک مرحله به بالا +تاریخچه پوشه ها.. +تازه کردن +750 +نوارابزار آرشیو +نوارابزار استاندارد +دکمه بزرگ +نمایش متن دکمه ها +800 +Ø§ÙØ²ÙˆØ¯Ù† پوشه به مورد علاقه بعنوان +بوکمارک +900 +گزینه ها.. +سنجش +960 +محتویات.. +درباره برنامه.. +1003 +مسیر +نام +پسوند +پوشه +حجم +حجم ÙØ´Ø±Ø¯Ù‡ شده +ØµÙØ§Øª +ساخته شده +دستیابی شده +تغییر ÛŒØ§ÙØªÙ‡ +یکدست +توضیح دار +رمزگذاری شده +تقسیم قبل از +تقسیم بعد از +لغت نامه +سی آر سی +نوع +Anti +روش +سیستم میزبان +ÙØ§ÛŒÙ„ سیستمی +کاربر +گروه +بلوک +توضيح‌ +موقعیت +مسیر پیشوند +پوشه ها +ÙØ§ÛŒÙ„ ها +نسخه +بخش +چند بخشی +Ø¢ÙØ³Øª +لینک +بلوک ها +بخش ها + +64 بیت +Big-endian +پردازنده +حجم Ùیزیکی +حجم سرساز ها +مجموع مقابله ای +خصوصیات +آدرس مجازی +شناسه +نام کوتاه +سازنده برنامه +حجم قطاع +حالت +لینک +خطا +مجموع حجم +ÙØ¶Ø§ÛŒ خالی +حجم کلاستر +برچسب +نام محلی +ارائه دهنده +2100 +گزینه ها +زبان +زبان: +ویرایشگر +ویرایشگر: +مقایسه گر: +2200 +سیستم +وابسته سازی برنامه با: +2301 +Ø§ÙØ²ÙˆØ¯Ù† منوی برنامه به منوی ویندوز +منوها به صورت آبشاری در یک منو +آیتم های منوی برنامه: +2320 +<پوشه> +<آرشیو> +بازکردن آرشیو +استخراج ÙØ§ÛŒÙ„‌ها... +Ø§ÙØ²ÙˆØ¯Ù† به آرشیو... +تست آرشیو +استخراج در اینجا +استخراج به {0} +Ø§ÙØ²ÙˆØ¯Ù† به {0} +ÙØ´Ø±Ø¯Ù‡ سازی Ùˆ ارسال با ایمیل... +ÙØ´Ø±Ø¯Ù‡â€ŒØ³Ø§Ø²ÛŒ در {0} Ùˆ ارسال با ایمیل +2400 +پوشه ها +پوشه در حال کار +پوشه موقت سیستم +ÙØ¹Ù„ÛŒ +مشخص کنید: +Ùقط برای درایوهای پرتابل Ø§Ø³ØªÙØ§Ø¯Ù‡ شود +یک مکان برای ÙØ§ÛŒÙ„ های موقتی آرشیو مشخص کنید +2500 +تنظیمات +نمایش آیتم ".." +نمایش آیکون واقعی ÙØ§ÛŒÙ„ +نمایش منوی سیستم +انتخاب سطر به طور کامل +نمایش خطوط توری +تک کلیک برای بازکردن یک آیتم +حالت انتخاب جايگزين +Ø§Ø³ØªÙØ§Ø¯Ù‡ از ØµÙØ­Ø§Øª Ø­Ø§ÙØ¸Ù‡ حجیم +2900 +درباره برنامه +برنامه‌ای Ú©Ù‡ در پیش رو دارید یک برنامه رایگان است، اما شما Ù…ÛŒ توانید با پرداخت مبلغی جزئی به توسعه این Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø± Ú©Ù…Ú© کنید. +3000 +سیستم مقدار Ø­Ø§ÙØ¸Ù‡ موردنیاز را نمیتواند اختصاص دهد +خطایی وجود ندارد +{0} آیتم انتخاب شده +ایجاد پوشه '{0}' ممکن نیست +عملکرد بروزرسانی برای این آرشیو بروزرسانی نمیشود +ÙØ§ÛŒÙ„ '{0}' را بعنوان یک آرشیو نمیتوان باز کرد +آرشیو رمزگذاری شده '{0}' را نمیتوان باز کرد.رمزعبور اشتباه است؟ +نوع آرشیو پشتیبانی نشده +ÙØ§ÛŒÙ„ {0} از قبل موجود است +ÙØ§ÛŒÙ„ '{0}' تغییر کرده است.\n آیا میخواهید این ÙØ§ÛŒÙ„ در آرشیو بروزرسانی شود؟ +این ÙØ§ÛŒÙ„ قابل بروزرسانی نمی‌باشد\n'{0}' +ویرایشگر را نمیتوان اجرا کرد +ÙØ§ÛŒÙ„ شبیه ویروس است (نام ÙØ§ÛŒÙ„ حاوی ÙØ¶Ø§ÛŒ بلندی در نام هست). +عملکرد نمیتواند از پوشه ای Ú©Ù‡ مسیر بلند دارد ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ شود +شما باید یک ÙØ§ÛŒÙ„ انتخاب کنید +شما باید یک یا تعداد بیشتری ÙØ§ÛŒÙ„ انتخاب کنید +تعداد آیتم ها بسیار زیاد است +3300 +در حال استخراج +ÙØ´Ø±Ø¯Ù‡ سازی +تست +درحال بازکردن.. +در حال اسکن.. +3400 +استخراج +استخراج به: +یک مکان برای ÙØ§ÛŒÙ„ های استخراج شده تعیین کنید +3410 +نوع مسیر +نام مسیر کامل +بدون نام مسیر +3420 +حالت جایگزینی +پرسش قبل از جایگزینی +جایگزینی بدون اخطار +چشمپوشی ÙØ§ÛŒÙ„‌های موجود +تغییرنام خودکار +تغییرنام خودکار ÙØ§ÛŒÙ„ های موجود +3500 +تایید جایگزینی ÙØ§ÛŒÙ„ +پوشه مقصد از قبل حاوی ÙØ§ÛŒÙ„ در حال پردازش هست +آیا میخواهید ÙØ§ÛŒÙ„ موجود با +این یکی جایگزین شود؟ +{0} بایت +تغییرنام خودکار +3700 +روش ÙØ´Ø±Ø¯Ù‡ سازی برای '{0}' پشتیبانی نشذه است +خطای داده در '{0}'. اين ÙØ§ÙŠÙ„ شکسته هست +سی آر سی در '{0}' موÙÙ‚ نشد.ÙØ§ÛŒÙ„ شکسته هست +خطای داده در ÙØ§ÙŠÙ„ رمزگذارى شده '{0}'. رمزعبور اشتباه است؟ +سی آر سی در ÙØ§ÛŒÙ„ رمزگذاری شده '{0}' موÙÙ‚ نشد.رمزعبور اشتباه است +3800 +رمزعبور +رمزعبور: +تكرار رمزعبور: +نمایش رمزعبور +رمزعبورها یکسان نیست +Ùقط از حرو٠انگليسى، اعداد Ùˆ علامت‌هاى خاص (!ØŒ #ØŒ $ØŒ ...) در رمزعبور Ø§Ø³ØªÙØ§Ø¯Ù‡ كنيد +رمزعبور خیلی بلند است +رمزعبور +3900 +زمان سپری شده: +زمان باقیمانده: +مجموع حجم: +سرعت: +پردازش شده: +نسبت ÙØ´Ø±Ø¯Ù‡ سازی: +خطاها: +آرشیو‌: +4000 +Ø§ÙØ²ÙˆØ¯Ù† به آرشیو +آرشیو: +حالت بروزرسانی: +ÙØ±Ù…ت آرشیو: +ميزان ÙØ´Ø±Ø¯Ù‡â€ŒØ³Ø§Ø²ÛŒ: +روش ÙØ´Ø±Ø¯Ù‡ سازی: +حجم لغت نامه: +اندازه لغت: +حجم بلوک یکدست: +تعداد هسته پردازنده +پارامترها: +گزینه ها +ایجاد ارشیو خوداستخراجگر +ÙØ´Ø±Ø¯Ù‡ سازی ÙØ§ÛŒÙ„ های مشترک درسایر برنامه ها +رمزگذاری +روش رمزگذاری: +رمزگذاری نام ÙØ§ÛŒÙ„ ها +Ø­Ø§ÙØ¸Ù‡ مصرÙÛŒ برای ÙØ´Ø±Ø¯Ù‡ سازی: +Ø­Ø§ÙØ¸Ù‡ مصرÙÛŒ برای استخراج: +4050 +ذخیره +سریعترین +سریع +عادی +حداکثر +ماÙوق +4060 +Ø§ÙØ²ÙˆØ¯Ù† Ùˆ جایگزینی ÙØ§ÛŒÙ„ ها +بروزرسانی Ùˆ Ø§ÙØ²ÙˆØ¯Ù† ÙØ§ÛŒÙ„ ها +تازه کردن ÙØ§ÛŒÙ„ های موجود +همگامسازی ÙØ§ÛŒÙ„ ها +4070 +جستجو +همه ÙØ§ÛŒÙ„ ها +غیر-یکدست +یکدست +6000 +Ú©Ù¾ÛŒ +انتقال +Ú©Ù¾ÛŒ به: +انتقال به: +در حال Ú©Ù¾ÛŒ... +در حال انتقال... +تغییرنام... +پوشه مقصد را انتخاب كنيد +عملکرد برای این پوشه پشتیبانی نمیشود +خطای تغییر نام ÙØ§ÛŒÙ„ یا پوشه +تایید Ú©Ù¾ÛŒ ÙØ§ÛŒÙ„ +آیا میخواهید ÙØ§ÛŒÙ„ ها را به ارشیو Ú©Ù¾ÛŒ کنید +6100 +تایید Ø­Ø°Ù ÙØ§ÛŒÙ„ +تایید حذ٠پوشه +تایید Ø­Ø°Ù ÙØ§ÛŒÙ„ ها +آیا میخواهید '{0}' را حذ٠کنید؟ +آیا میخواهید پوشه '{0}' Ùˆ همه محتویات آن را حذ٠کنید؟ +آیا میخواهید این {0} آیتم را حذ٠کنید؟ +در حال حذÙ... +خطای Ø­Ø°Ù ÙØ§ÛŒÙ„ یا پوشه +سیستم ÙØ§ÛŒÙ„ با مسیر بلند را نمیتواند به سطل زباله انتقال دهد +6300 +ایجاد پوشه +ایجاد ÙØ§ÛŒÙ„ +نام پوشه: +نام ÙØ§ÛŒÙ„: +پوشه جدید +ÙØ§ÛŒÙ„ جدید +خطای ایجاد پوشه +خطای ایجاد ÙØ§ÛŒÙ„ +6400 +توضيح +توضيح: +انتخاب +لغو انتخاب +ماسك: +6600 +مشخصات +تاریخچه پوشه‌ها +پیغام‌های تشخيصی +پیام +7100 +رایانه +شبکه +اسناد +سیستم +7200 +Ø§ÙØ²ÙˆØ¯Ù† +استخراج +تست +Ú©Ù¾ÛŒ +انتقال +حذ٠+اطلاعات +7300 +تقسیم ÙØ§ÛŒÙ„ +تقسیم در: +تقسیم به چندین بخش،برحسب بایت: +در حال تقسیم... +تاييد تقسیم ÙØ§ÛŒÙ„ +آیا میخواهید اين ÙØ§ÙŠÙ„ را به {0} بخش تقسيم كنيد؟ +حجم بخش ها باید کوچکتر از اندازه ÙØ§ÛŒÙ„ اصلی باشد +حجم بخش نادرست است +حجم بخش های مشخص شده: {0} بايت.\nآیا میخواهید آرشيو را به بخش هایی به اين اندازه تقسيم كنيد؟ +7400 +ادغام ÙØ§ÛŒÙ„ ها +ادغام در: +در حال ادغام... +Ùقط اولین بخش ÙØ§ÛŒÙ„ را انتخاب کنید +ÙØ§ÛŒÙ„ را نمی تواند بعنوان ÙØ§ÛŒÙ„ تقسیمی تشخیص دهد +بیشتر از یک بخش از ÙØ§ÛŒÙ„ تقسیمی را نمیتواند پیدا کند +7500 +محاسبه مجموع مقابله ای.. +اطلاعات مجموع مقابله ای +مجموع مقابله ای سی آر سی برای داده: +مجموع مقابله ای سی آر سی برای داده Ùˆ نام: +7600 +سنجش +Ø­Ø§ÙØ¸Ù‡ مصرÙÛŒ: +ÙØ´Ø±Ø¯Ù‡ سازی +استخراج +رتبه بندی +رتبه بندی Ú©Ù„ÛŒ: +ÙØ¹Ù„ÛŒ +دستاورد +مصر٠پردازنده +رتبه بندی / مصر٠+تعداد عبور: diff --git a/Utils/7-Zip/Lang/fi.txt b/Utils/7-Zip/Lang/fi.txt new file mode 100644 index 000000000..c40152594 --- /dev/null +++ b/Utils/7-Zip/Lang/fi.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 3.08 : Ari Ryynanen +; 4.30 : Jarko P. +; 4.42 : Juhani Valtasalmi +; 9.35b : T.Sakkara +; 15.05 : 2015-08-07 : Lauri Kenttä +; +; +; +; +; +; +0 +7-Zip +Finnish +Suomi +401 +OK +Peruuta + + + +&Kyllä +&Ei +&Sulje +Ohje + +&Jatka +440 +Kyllä k&aikkiin +E&i kaikkiin +Pysäytä +Aloita uudelleen +&Tausta-ajona +&Normaali prioriteetti +&Pysäytä +Pysäytetty +Keskeytetäänkö toiminto? +500 +&Tiedosto +&Muokkaa +&Näytä +&Suosikit +Työ&kalut +&Ohje +540 +&Avaa +Avaa s&isäisesti +Avaa ulkoisesti +&Näytä +&Muokkaa +Nimeä &uudelleen +&Kopioi... +&Siirrä... +&Poista +&Jaa osiin... +&Yhdistä jaetut... +&Ominaisuudet +Ku&vaus +Laske tarkiste +Erot +Luo kansio +Luo tiedosto +&Lopeta +Linkitä +Vaihtoehtoiset tietovirrat +600 +V&alitse kaikki +Poista &valinnat +&Käänteinen valinta +Valitse... +Poista valinta... +Valitse lajeittain +Poista valinta lajeittain +700 +Suu&ret kuvakkeet +&Pienet kuvakkeet +&Luettelo +&Tiedot +730 +Alkuperäinen järjestys +Kansioiden sisältö luetteloituna +&Kaksi panelia +&Työkalupalkki +Avaa pääkansio +Avaa yläkansio +Kansiohistoria... +P&äivitä +Automaattipäivitys +750 +Pakettipalkki +Vakiopalkki +Suuret painikkeet +Näytä painiketekstit +800 +&Lisää kansio Suosikkeihin +Kirjanmerkki +900 +&Asetukset... +&Nopeustesti +960 +&Sisältö... +&Tietoja ohjelmasta... +1003 +Polku +Nimi +Pääte +Kansio +Koko +Pakattu koko +Määritteet +Luotu +Käytetty +Muokattu +Kiinteä +Kuvailtu +Suojaus +Jaa ennen +Jaa jälkeen +Sanakirja +Tarkiste +Laji +Vastakohta +Menetelmä +Isäntäjärjestelmä +Tiedostojärjestelmä +Käyttäjä +Ryhmä +Lohkoja +Kuvaus +Kohta +Polun etuliite +Kansioita +Tiedostoja +Versio +Nimi +Jaettu osiin +Siirtymä +Linkit +Lohkot +Nimet + +64-bittinen +Big-endian +Suoritin +Fyysinen koko +Otsikon koko +Tarkiste +Ominaisuudet +Näennäisosoite +ID +Lyhyt nimi +Luontisovellus +Sektorikoko +Tila +Symbolinen linkki +Virhe +Aseman koko +Vapaata tilaa +Varausyksikön koko +Nimi +Paikallinen nimi +Palveluntarjoja +NT-suojaukset +Vaihtoehtoinen tietovirta +Muu +Poistettu +On kansiorakenne + + +Virhelaji +Virheet +Virheet +Varoitukset +Varoitus +Tietovirrat +Vaihtoehtoiset tietovirrat +Vaihtoehtoisten tietovirtojen koko +Näennäiskoko +Pakkaamaton koko +Fyysinen koko +Aseman indeksi +Alilaji +Kuvaus +Koodisivu + + + +Loppupään koko +Upotetun segmentin koko +Linkki +Kiinteä linkki +iNode + +Vain luku +2100 +Asetukset +Kieli +Kieli: +Muokkausohjelmat +&Tekstieditori: +&Erojen etsintä: +2200 +Järjestelmäliitännät +Liitä 7-Zip seuraaviin tiedostotyypeihin: +Kaikki käyttäjät +2301 +Liitä 7-Zip järjestelmän valikoihin. +Ryhmitetty järjestelmävalikko +Järjestelmävalikon sisältö: +Näytä järjestelmävalikon kuvakkeet +2320 + + +Avaa +Pura... +Lisää pakettiin... +Eheystarkastus +Pura tänne +Pura kansioon {0} +Lisää pakettiin {0} +Pakkaa tiedostot ja lähetä... +Lisää pakettiin {0} ja lähetä +2400 +Kansiot +&Työkansio +&Järjestelmän väliaikaiskansio +&Nykyinen kansio +&Valittu kansio: +Käytä vain siirrettäville tietovälineille +Määritä väliaikaistiedostojen sijainti. +2500 +Tiedostoikkuna +Näytä &yläkansion symboli +Näytä &aidot tiedostokuvakkeet +Näytä &järjestelmävalikko +&Valitse koko rivi +Näytä &ruudukko +Avaa &kertanapsautuksella +Vaihtoehtoinen valintojen &esitystapa +Käytä &suuria muistisivuja +2900 +Tietoja +7-Zip on ilmaisohjelmisto. +3000 +Ei riittävästi muistia toimintoa varten +Ei virheitä. +{0} tiedosto(a) valittu +Ei voida luoda kansioita '{0}.' +Tätä pakettia ei voi päivittää. +Tiedoston '{0}' pakkausta ei voi purkaa. +Ei voi avata suojattua pakettia '{0}'. Väärä salasana? +Pakkaustapaa ei tueta +Tiedosto {0} on jo olemassa +Tiedostoa '{0}' on muutettu.\nHaluatko päivittää paketin? +Ei voida päivittää tiedostoa \n'{0}'. +Editoria ei voida käynnistää. +Tiedosto vaikuttaa haittaohjelmalta, sillä sen nimi sisältää peräkkäisiä välilyöntejä. +Toimintoa ei voi suorittaa kansiosta, jonka nimi on pitkä. +Valitse yksi tiedosto +Valitse vähintään yksi tiedosto +Liian monta kohdetta. +Ei voida avata tiedostoa {0}-pakettina +Tiedosto on avattu {0}-pakettina +Paketti on auki eri alkukohdasta (offset) +3300 +Puretaan paketti +Lisätään pakettiin +Eheystarkistus +Avataan... +Etsitään... +Poistetaan +3320 +Lisätään +Päivitetään +Analysoidaan +Kopioidaan +Pakataan uudestaan +Ohitetaan +Poistetaan +Luodaan otsikkoa +3400 +Pura +&Pura kansioon +Määritä puretuille tiedostoille sijainti. +3410 +Polut: +Täydet polut +Ei polkuja (vain nimi) +Absoluuttiset polut +Suhteelliset polut +3420 +Samannimiset tiedostot: +Kysy tapauskohtaisesti +Korvaa +Ohita +Uudelleennimeä automaattisesti +Uudelleennimeä entiset automaattisesti +3430 +Estä pääkansion kahdennus +Palauta tiedostojen suojaukset +3500 +Vahvista tiedoston korvaus +Kansiossa on jo samanniminen tiedosto. +Korvataanko aiempi tiedosto +tällä tiedostolla? +{0} tavua +&Uudelleennimeä automaattisesti +3700 +Tiedoston '{0}' pakkaustapaa ei tueta. +Sisältövirhe tiedostossa '{0}'. Tiedosto on viottunut. +Tiedoston '{0}' eheystarkistus epäonnistui. Tiedosto on vioittunut. +Virhe avattaessa suojattua tiedostoa '{0}'. Väärä salasana? +Tarkistevirhe avattaessa suojattua tiedostoa '{0}'. Väärä salasana? +3710 +Väärä salasana? +3721 +Pakkaustapaa ei tueta +Sisältövirhe +Tarkistevirhe +Sisältö ei ole käytettävissä +Sisällön ennenaikainen loppuminen +Varsinaisen tietosisällön jälkeen on ylimääräistä sisältöä +Tiedosto ei ole pakattu +Otsikkovirhe +Väärä salasana +3763 +Pakkauksen alku ei käytettävissä +Pakkauksen alkua ei vahvistettu + + + +Toiminto ei tuettu +3800 +Syötä salasana +Syötä salasana: +Toista salasana: +Näytä &salasana +Salasanat eivät täsmää +Salasanassa voi käyttää numeroita ja erikoismerkkejä, mutta EI skandinaavisia kirjaimia. +Liian pitkä salasana +Salasana +3900 +Aikaa kulunut: +Aikaa jäljellä: +Koko: +Nopeus: +Käsitelty: +Pakkaussuhde: +Virheitä: +Paketteja: +4000 +Lisää pakettiin +&Paketti: +&Päivitystapa: +Pakkaus&: +Pakkauksen &taso: +Pakkaus&menetelmä: +&Sanakirjan koko: +&Sanan koko: +Lohkokoko +Prosessorisäikeet: +&Parametrit: +Lisäasetukset +Luo itsepurkautuva paketti +Pakkaa yhteiset tiedostot +Suojaus +Salausalgoritmi +Tiedosto&nimien suojaus +Pakkaamiseen käytettävä muisti: +Purkamiseen käytettävä muisti: +Poista pakkauksen jälkeen +4040 +Tallenna symboliset linkit +Tallenna kiinteät linkit +Tallenna vaihtoehtoiset tietovirrat +Tallenna tiedostojen suojaukset +4050 +Ei pakkausta +Nopein +Nopea +Normaali +Maksimi +Ultra +4060 +Lisää ja korvaa +Päivitä ja lisää +Päivitä +Synkronoi +4070 +Selaa +Kaikki tiedostot +Muuttuva +Kiinteä +6000 +Kopioi +Siirrä +Kopioi kansioon: +Siirrä kansioon: +Kopioidaan... +Siirretään... +Nimetään uudelleen... +Valitse kohdekansio. +Toiminto ei ole tuettu. +Virhe uudelleennimettäessä tiedostoa tai kansiota +Vahvista tiedoston kopioiminen +Kopioidaanko tiedostot pakettiin +6100 +Vahvista tiedoston poisto +Vahvista kansion poisto +Vahvista useiden kohteiden poisto +Poistetaanko tiedosto '{0}'? +Poistetaanko kansio '{0}' ja kaikki sen sisältö? +Poistetaanko nämä {0} kohdetta? +Poistetaan... +Virhe poistettaessa tiedostoa tai kansiota +Roskakoriin ei voida siirtää tiedostoa, jolla on pitkä nimi +6300 +Luo uusi kansio +Luo uusi tiedosto +Kansion nimi: +Tiedostonimi: +Uusi kansio +Uusi tiedosto +Virhe luotaessa kansiota +Virhe luotaessa tiedostoa +6400 +Kuvaus +&Kuvaus: +Valitse +Poista valinta +Maski: +6600 +Ominaisuudet +Kansiohistoria +Tietoja +Viesti +7100 +Tietokone +Verkko +Dokumentit +Järjestelmä +7200 +Lisää +Pura +Eheystarkistus +Kopioi +Siirrä +Poista +Ominaisuudet +7300 +Jaa tiedosto osiin +&Jaa kansioon: +&Osien koko jaettaessa: +Jaetaan osiin... +Vahvista jakaminen. +Jaetaanko tiedosto {0} osaan? +Jaetun osan koon pitää olla alkuperäistä pienempi. +Jaetun osan koko ei kelpaa +Jaettavien osien koko: {0} tavua.\nJaetaanko tiedosto sen kokoisiin osiin? +7400 +Yhdistä jaetut tiedostot +&Yhdistä kansioon: +Yhdistetään... +Valitse jaetusta tiedostosta vain ensimmäinen osa +Tiedosto ei ole jaetun tiedoston osa +Jaetun tiedoston osista löydettiin vain yksi +7500 +Lasketaan tarkiste... +Tarkisteet +Sisällön tarkiste: +Sisällön ja tiedostonimien tarkiste: +7600 +Nopeustesti +Muistin käyttö: +Pakkaaminen +Purkaminen +Luokitus +Kokonaisluokitus +Nykyinen +Tulos +Suoritinkäyttö +Luokitus / käyttö +Läpäisty: +7700 +Linkitys +Linkitä +Linkitys kohteesta: +Linkitys kohteeseen: +7710 +Linkkilaji +Kiinteä linkki +Symbolinen tiedostolinkki +Symbolinen kansiolinkki +Kansioliitos diff --git a/Utils/7-Zip/Lang/fr.txt b/Utils/7-Zip/Lang/fr.txt new file mode 100644 index 000000000..fa661c7a0 --- /dev/null +++ b/Utils/7-Zip/Lang/fr.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 4.07 : Nicolas Sierro +; 9.07 : Philippe Berthault +; 15.14 : Sylvain St-Amand (SSTSylvain) +; +; +; +; +; +; +; +; +0 +7-Zip +French +Français +401 +OK +Annuler + + + +&Oui +&Non +&Fermer +Aide + +&Continuer +440 +Oui pour &Tous +Non pour T&ous +Arrêter +Redémarrer +&Arrière-plan +P&remier plan +&Pause +En pause +Êtes-vous sur de vouloir annuler ? +500 +&Fichier +&Édition +Affic&hage +Fa&voris +&Outils +&Aide +540 +&Ouvrir +Ouvrir à l'&intérieur +Ouvrir à l'e&xtérieur +&Voir +&Édition +Reno&mmer +&Copier vers... +&Déplacer vers... +S&upprimer +Diviser le &fichier... +Combiner les fic&hiers... +P&ropriétés +Comme&ntaire... +Somme de contrôle +Diff +Créer un dossier +Créer un fichier +&Quitter +Lien +Flux &Alternatif +600 +Sélectionner &Tout +Désélectionner Tout +&Inverser la Sélection +Sélectionner... +Désélectionner... +Sélectionner par Sorte +Désélectionner par Sorte +700 +&Grandes Icônes +&Petites Icônes +&Liste +&Détails +730 +Non trié +Vue à plat +&2 Fenêtres +&Barres d'outils +Ouvrir le dossier racine +Dossier parent +Historique des dossiers... +Actualis&er +Actualiser Automatiquement +750 +Barre d'Archive +Barre Standard +Grands Boutons +Montrer le texte des Boutons +800 +&Ajouter le répertoire aux Favoris +Signet +900 +&Options... +&Test de performance +960 +&Contenu... +À &propos de 7-Zip... +1003 +Chemin +Nom +Extension +Dossier +Taille +Compressé +Attributs +Créé le +Accédé le +Modifié le +Solide +Commentaire +Chiffrer +Diviser Avant +Diviser Après +Dictionnaire + +Sorte +Anti +Méthode +OS hôte +Système de Fichiers +Utilisateur +Groupe +Bloc +Commentaire +Position +Préfixe +Dossiers +Fichiers +Version +Volume +Multivolume +Offset +Liens +Blocs +Volumes + +64 bits +Big-endian +CPU +Taille physique +Taille des en-têtes +Somme de contrôle +Caractéristiques +Adresse virtuelle +ID +Nom court +Application créatrice +Taille de secteur +Mode +Lien Symbolique +Erreur +Taille Totale +Espace Libre +Taille des clusters +Nom de volume +Nom local +Fournisseur +Sécurité NT +Flux alternatif +Aux +Effacer +En Arbre + + +Type d'erreur +Erreurs +Erreurs +Avertissements +Avertissement +Flux +Flux Alterné +Grosseur du Flux Alterné +Grosseur Virtuel +Grosseur Décompressé +Grosseur Physique Totale +Indexe du Volume +Sous-Type +Commentaire Bref +Code Page + + + +Grosseur Tail +Grosseur Embedded Stub +Lien +Lien Solide +iNode + +Lecture-seulement +2100 +Options +Langue +Langue : +Éditeur +&Éditeur : +&Diff : +2200 +Système +Associer avec 7-Zip : +Tous les utilisateurs +2301 +Intégrer 7-Zip au menu contextuel +Menu contextuel en cascade +Éléments du menu contextuel : +Icônes dans le menu contextuel +2320 + + +Ouvrir archive +Extraire les fichiers... +Ajouter à l'archive... +Contrôler l'archive +Extraire Ici +Extraire vers {0} +Ajouter à {0} +Compresser et envoyer par courriel... +Compresser vers {0} et envoyer par courriel +2400 +Dossiers +Dossier de &travail +Dossier temporaire du &système +&Courant +S&pécifié : +N'utiliser que pour les médias amovibles +Spécifiez un dossier pour les fichiers d'archive temporaires. +2500 +Paramètres +Afficher l'élément ".." +Afficher les icônes réelles des fichiers +Afficher le menu système +&Sélectionner toute la ligne +Afficher la &grille +Simple clic pour ouvrir un item +Utiliser la sélection &alternative +Utiliser des &grosses pages mémoire +2900 +A propos de 7-Zip +7-Zip est un logiciel libre +3000 +Le système ne peut allouer la quantité de mémoire nécessaire +Il n'y a pas d'erreurs +{0} objet(s) sélectionné(s) +Le dossier '{0}' ne peut pas être créé +Les opérations de mise à jour ne sont pas disponibles pour cette archive. +Le fichier '{0}' ne peut être ouvert comme une archive +L'archive cryptée '{0}' ne peut être ouverte. Mauvais mot de passe ? +Ce type d'archive n'est pas supporté +Le fichier {0} existe déjà +Le fichier '{0}' a été modifié.\nVoulez-vous le mettre à jour dans l'archive ? +Impossible de mettre à jour\n'{0}' +Impossible de démarrer l'éditeur. +Le fichier est peut-être un virus (le nom contient des grands espacements pour masquer l'extension). +Cette opération ne peut être effectuée depuis un dossier ayant un trop long chemin d'accès. +Vous devez sélectionner un fichier +Vous devez sélectionner un ou plusieurs fichiers +Trop d'objets +Ne peut ouvrir les fichiers {0} comme une archive +Le fichier {0} est ouvert comme une archive +L'archive est ouverte avec un décalage +3300 +Extraction +Compression +Contrôle +Ouverture... +Exploration... +Enlever +3320 +Ajoute +Modifie +Analyse +Réplique +Remballage +Passe +Efface +Création d'un en-tête +3400 +Extraire +E&xtraire vers : +Choisissez un dossier pour l'extraction des fichiers. +3410 +Mode de chemin : +Nom de chemin complet +Pas de nom de chemin +Nom de chemin absolu +Nom de chemin relatif +3420 +Mode de remplacement : +Confirmer avant de remplacer +Remplacer sans demander +Ignorer les fichiers existants +Renommer automatiquement +Renommer les fichiers existants +3430 +Élimine la duplication du répertoire racine +Restauration du fichier de sécurité +3500 +Confirmer le remplacement de fichier +Le dossier de destination contient déjà un fichier avec ce nom. +Voulez-vous remplacer le fichier existant +par celui-ci ? +{0} octets +Renommer &automatiquement +3700 +Méthode de compression non valide pour '{0}'. +Donnée erronée dans le fichier '{0}'. Le fichier est corrompu. +Échec du contrôle CRC dans le fichier '{0}'. Le fichier est corrompu. +Donnée erronée dans le fichier crypté '{0}'. Mauvais mot de passe ? +Échec du contrôle CRC dans le fichier crypté '{0}'. Mauvais mot de passe ? +3710 +Pas le bon mot de passe ? +3721 +Méthode de compression non supportée +Erreur de donnée +Échec de CRC +Donnée non disponible +Fin de données inattendues +Il y a des données après la fin des données utiles +N'est pas une archive +Erreur en-têtes +Mauvais mot de passe +3763 +Démarrage non disponible d'une archive +Démarrage non confirmé d'une archive + + + +Option non supportée +3800 +Entrez le mot de passe +Entrez le mot de passe : +Entrez le mot de passe à nouveau : +&Afficher le mot de passe +Les mots de passe ne correspondent pas +Pour le mot de passe, n'utilisez que des lettres non accentuées, des chiffres et des caractères spéciaux (!, #, $, ...) +Le mot de passe est trop long +Mot de passe +3900 +Temps écoulé : +Temps restant : +Taille totale : +Vitesse : +Traité : +Taux de compression : +Erreurs : +Archive : +4000 +Ajouter à l'archive +&Archive : +&Mode de mise à jour : +&Format de l'archive : +N&iveau de compression : +Méthode de &compression : +&Taille du dictionnaire : +Tai&lle des mots : +Taille de bloc solide : +Nombre de threads CPU : +&Paramètres : +Options +Créer une archive SF&X +Compresser des fichiers partagés +Chiffrement +Méthode de chiffrement : +Chiffre les &noms de fichiers +Mémoire pour la compression : +Mémoire pour la décompression : +Effacer les fichiers après compression +4040 +Emmagasine liens symboliques +Emmagasine liens solides +Emmagasine flux de données alternatifs +Emmagasine fichier de sécurité +4050 +Aucune +Le plus rapide +Rapide +Normale +Maximum +Ultra +4060 +Ajouter et remplacer les fichiers +Mettre à jour et ajouter les fichiers +Rafraîchir les fichiers existants +Synchroniser les fichiers +4070 +Choisir +Tous les fichiers +Non-solide +Solide +6000 +Copier +Déplacer +Copier dans : +Déplacer vers : +Copie... +Déplacement... +Renommage... +Sélectionnez le dossier de destination. +L'opération n'est pas possible pour ce dossier. +Erreur durant le Renommage du Fichier ou du Dossier +Confirmation de la Copie de(s) Fichier(s) +Confirmer la copie de(s) fichier(s) à archiver +6100 +Confirmer la Suppression du Fichier +Confirmer la Suppression du Dossier +Confirmer la Suppression de Multiple Fichiers +Êtes-vous sûr de vouloir supprimer '{0}' ? +Êtes-vous sûr de vouloir supprimer le dossier '{0}' et tout ce qu'il contient ? +Êtes-vous sûr de vouloir supprimer ces {0} objets ? +Suppression... +Erreur durant la suppression du fichier ou du dossier +Le système ne peut mettre à la Corbeille un fichier avec un trop long chemin d'accès +6300 +Créer un Dossier +Créer un Fichier +Nom du dossier : +Nom du fichier : +Nouveau dossier +Nouveau fichier +Erreur durant la création du dossier +Erreur durant la création du fichier +6400 +Commentaire +&Commentaire : +Sélectionner +Désélectionner +Masquer : +6600 +Propriétés +Historique des dossiers +Messages de diagnostic +Message +7100 +Ordinateur +Réseau +Documents +Système +7200 +Ajouter +Extraire +Tester +Copier +Déplacer +Supprimer +Informations +7300 +Diviser le fichier +&Diviser en : +Diviser en &volumes, octets : +Découper... +Confirmez le découpage +Êtes-vous sûr de vouloir découper le fichier en {0} volumes ? +La taille de volume doit être inférieure à la taille du fichier d'origine +Taille de volume incorrecte +Taille de volume spécifiée : {0} octets.\nÊtes-vous sûr de vouloir découper l'archive dans de tels volumes ? +7400 +Combiner les fichiers +&Combiner en : +Combinaison... +Ne sélectionnez que le premier fichier +Ne trouve aucun fichier faisant partie d'une archive divisée +Ne trouve qu'un seul fichier faisant partie d'une archive divisée +7500 +Calcul de la somme de contrôle... +Informations sur la somme de contrôle +Somme de contrôle des données : +Somme de contrôle des données et des noms : +7600 +Test de performance +Utilisation de la mémoire : +Compression +Décompression +Taux +Taux total +Actuel +Résultant +Utilisation CPU +Estimé / Usage +Passe : +7700 +Lien +Lien +Lien depuis : +Lien ver : +7710 +Sorte de lien +Lien solide +Lien symbolique de fichier +Lien symbolique de répertoire +Jonction de répertoire diff --git a/Utils/7-Zip/Lang/fur.txt b/Utils/7-Zip/Lang/fur.txt new file mode 100644 index 000000000..ef4ae0dbe --- /dev/null +++ b/Utils/7-Zip/Lang/fur.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.60 : Andrea Decorte (Klenje) : http://softfurlan.altervista.org : secont l'ortografie uficiâl de Provincie di Udin +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Friulian +Furlan +401 +Va ben +Scancele + + + +&Sì +&No +&Siare +&Jutori + +&Continue +440 +Sì &a ducj +No a &ducj +Ferme +Torne a inviâ +&Sfont +P&rin plan +&Pause +In pause +Sêstu sigûr di volê scancelâ? +500 +&File +&Modifiche +&Viodude +&Preferîts +&Imprescj +&Jutori +540 +&Viarç +Viarç dentri 7-&Zip +V&iarç fûr di 7-Zip +&Mostre +M&odifiche +Gambie &non +&Copie in... +Mô&f in... +&Elimine +&Divît file... +Torne a &unî files... +P&ropietâts +Comen&t +Calcole so&me di control + +Cree cartele +Cree file +V&a fûr +600 +Selezione d&ut +&Deselezione dut +&Invertìs selezion +Selezione... +Deselezione... +Selezione par gjenar +Deselezione par gjenar +700 +Iconis &grandis +Iconis &piçulis +&Liste +&Detais +730 +Cence ordin +Viodude plane +&2 panei +Sbaris dai impresc&j +Viarç cartele principâl +Parsore di un nivel +Storic des cartelis... +&Atualize +750 +Sbare dai imprescj par l'archivi +Sbare dai imprescj standard +Botons larcs +Mostre test dai botons +800 +&Zonte cartele ai Preferîts sicu +Preferît +900 +&Opzions... +&Banc di prove +960 +&Argoments... +&Informazions su 7-Zip... +1003 +Percors +Non +Estension +Cartele +Dimension +Dimension comprimude +Atribûts +Creât +Ultin acès +Modificât +Solit +Comentât +Cifrât +Divît prin di +Divît daspò di +Dizionari +CRC +Gjenar +Anti +Metodi +SO di origjin +Sisteme dai files +Utent +Grup +Bloc +Coment +Posizion +Prefìs dal troi +Cartelis +Files +Version +Volum +Multivolum +Offset +Leams +Blocs +Volums + +64-bit +Big-endian +CPU +Dimension fisiche +Dimension intestazions +Some di control +Caracteristichis +Direzion virtuâl + + + + + + +Erôr +Dimension totâl +Puest libar +Dimension setôr +Etichete +Non locâl +Furnidôr +2100 +Opzions +Lenghe +Lenghe: +Editôr +&Editôr: + +2200 +Sisteme +Associe 7-Zip cun: +2301 +Integre 7-Zip intal menù contestuâl de shell +Menù contestuâl in discjadude +Elements dal menù contestuâl: +2320 + + +Viarç archivi +Tire fûr files... +Zonte a un archivi... +Prove archivi +Tire fûr ca +Tire fûr in {0} +Zonte a {0} +Comprim e mande par email... +Comprim in {0} e mande par email +2400 +Cartelis +Cartele di &vore +Cartele &provisorie dal sisteme +&Corinte +&Specificade: +Dopre dome pai drives che si puedin gjavâ +Specifiche une posizion pai files provisoris di un archivi. +2500 +Configurazion +Mostre l'element ".." +Mostre lis veris iconis dai files +Mostre il menù dal sisteme +&Selezione la rie intire +Mostre les liniis de &gridele sot + +Mût di selezion &alternatîf +Dopre pagjinis di memorie &largjis +2900 +Informazions su 7-Zip +7-Zip al è un program libar. Purpûr, tu puedis supuartâ il disvilup di 7-Zip cu la regjistrazion. I utents regjistrâts a podaran otignî supuart tecnic. +3000 +Il sisteme nol rive a cjoli la cuantitât di memorie che e covente +Nissun erôr cjatât +{0} ogjet(s) selezionât(s) +No si pues creâ la cartele '{0}' +Lis operazions di atualizazion no son supuartadis par chest archivi. +No si pues viarzi il file '{0}' come archivi +No si pues viarzi l'archivi cifrât '{0}'. Ise sbaliade la peraule clâf? +Gjenar di archivi no supuartât +Il file {0} al esist za +Il file '{0}' al è stât modificât.\nVuelistu atualizâlu intal archivi? +No si pues atualizâ il file\n'{0}' +No si pues inviâ l'editôr. +Il file al samee un virus (il non al à dentri un grum di spazis). +Cheste operazion no pues jessi clamade di une cartele cuntun troi lunc. +Tu scugnis sielzi un file +Tu scugnis sielzi un o plui files +Masse elements +3300 +Daûr a tirâ fûr... +Daûr a comprimi +Daûr a provâ +Daûr a viarzi... +Daûr a scandaiâ... +3400 +Tire fûr +Tir&e fûr in: +Specifiche une posizion pai files tirâts fûr. +3410 +Struture des cartelis +Percors intîrs +Nissun percors +3420 +Sore scriture +Domande prin di scrivi parsore +Scrîf parsore cence domandâ +Salte i files che esistin +Gambie nons in automatic +Gambie nons in automatic se a esistin +3500 +Conferme de sostituzion dal file +Inte cartele di destinazion al è za il file processât. +Vuelistu sostituî il file esistint +cun chest file? +{0} bytes +&Gambie non in automatic +3700 +Il metodi di compression nol è supuartât par '{0}'. +Erôr di dâts in '{0}'. Il file al è corot. +CRC falît in '{0}'. Il file al è corot. +Erôr di dâts tal file cifrât '{0}'. Peraule clâf sbaliade? +CRC falît tal file cifrât '{0}'. Peraule clâf sbaliade? +3800 +Scrîf peraule clâf +Scrîf la peraule clâf: +Torne a inserî la peraule clâf: +&Mostre la peraule clâf +Lis peraulis clâfs no son compagnis +Dopre dome lis letaris inglesis (no acentadis), i numars e i caratars speciâi (!, #, $, ...) inte peraule clâf +La peraule clâf e je masse lungje +Peraule clâf +3900 +Timp passât: +Timp restant: +Dimension: +Sveltece: +Elaborât: +Tas di compression: +Erôrs: +Archivis: +4000 +Zonte a un archivi +&Archivi: +Mût di at&ualizazion: +&Formât archivi: +Nive&l di compression: +&Metodi di compression: +&Dimension dizionari: +Dimension &peraule: +Dimension bloc solit: +Numar di threads de CPU: +&Parametris: +Opzions +Cree archivi SF&X +Comprim i files condividûts +Ciframent +Metodi di ciframent: +Cifre i &nons dai files +Utilizazion memorie comprimint: +Utilizazion memorie decomprimint: +4050 +Cence compression +Il pi svelt +Svelt +Normâl +Massim +Super +4060 +Zonte e sostituìs files +Atualize e zonte files +Atualize i files che esistin +Sincronize i files +4070 +Sgarfe +Ducj i files +No-solit +Solit +6000 +Copie +Môf +Copie in: +Môf in: +Daûr a copiâ... +Daûr a movi... +Daûr a gambiâ non... +Sielç la cartele di destinazion. +L'operazion no je supuartade. +Erôr gambiant non a un file o une cartele +Conferme de copie dai files +Sêstu sigûr di volê copiâ i files tal archivi +6100 +Conferme de eliminazion dal file +Conferme de eliminazion de cartele +Conferme de eliminazion di plui files +Sêstu sigûr di volê eliminâ '{0}'? +Sêstu sigûr di volê eliminâ la cartele '{0}' e dut ce ch'al è lì dentri? +Sêstu sigûr di volê eliminâ chescj {0} elements? +Daûr a eliminâ... +Erôr eliminant un file o une cartele +Il sisteme nol pues movi un file cuntun troi lunc te Scovacere +6300 +Cree cartele +Cree file +Non de cartele: +Non dal file: +Gnove cartele +Gnûf file +Erôr inte creazion de cartele +Erôr inte creazion dal file +6400 +Coment +&Coment: +Selezione +Deselezione +Filtri: +6600 +Propietâts +Storic des cartelis +Messaçs diagnostics +Messaç +7100 +Ordenadôr +Rêt +Documents +Sisteme +7200 +Zonte +Tire fûr +Prove +Copie +Môf +Elimine +Info +7300 +Divît file +&Divît in: +Divît in &volums, grandece in bytes: +Daûr a dividi... +Conferme de division +Sêstu sigûr di volê dividi il file in {0} tocs? +La dimension di un volum e à di jessi plui piçule di chê dal file origjinâl +Dimension dai volums sbaliade +Dimension dai volums volude: {0} bytes.\nSêstu sigûr di volê dividi l'archivi in tocs di cheste dimension? +7400 +Torne a unî files +&Torne a unî in: +Daûr a tornâ a unî... +Sielç dome il prin file +No si pues rilevâ il file come toc di un file dividût +No son stâts cjatâts plui tocs di file dividûts +7500 +Daûr a calcolâ la some di control... +Informazions su la some di control +Some di control CRC pai dâts: +Some di control CRC pai dâts e i nons: +7600 +Banc di prove +Utilizazion memorie: +Comprimint +Decomprimint +Valutazion +Valutazion totâl +Corint +Risultant +Utilizazion CPU +Judizi / Utilizazion +Passaçs: diff --git a/Utils/7-Zip/Lang/fy.txt b/Utils/7-Zip/Lang/fy.txt new file mode 100644 index 000000000..aed26dfb4 --- /dev/null +++ b/Utils/7-Zip/Lang/fy.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.53 : Berend Ytsma +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Frisian +Frysk +401 +Okee +Ofbrekke + + + +&Jawis +&Nee +&Slute +Help + +&Ferfetsje +440 +Jawis foar &Alles +Nee foar A&lles +Stopje +Opnij begjinne +&Eftergrûn +&Foargrûn +&Skoftsje +Skoft +Binne jo wis dat jo ôfbrekke wolle? +500 +&Triem +&Bewurkje +&Byld +B&lêdwizers +&Ark +&Help +540 +&Iepenje +Iepenje &yn +Iepenje bû&ten +&Byld +&Bewurkje +Omne&ame +&Kopiearje nei... +&Ferpleats nei... +&Wiskje +Triemmen &spjalte... +Triemmen Kom&binearje... +E&igenskippen +Komme&ntaar +Kontrôlesom berekenje + +Map meitsje +Triem meitsje +U&tgong +600 +&Alles selektearje +Alles net selektearje +&Seleksje omdraaien +Selektearje... +Net selektearje... +Selektearje neffens type +Net selektearje neffens type +700 +Gru&tte Ikoanen +L&ytse Ikoanen +&List +&Details +730 +Net Sortearre +Platte werjefte +&2 Panielen +&Arkbalke +Haadmap iepenje +Ien nivo omheech +Maphistoarje... +&Ferfarskje +750 +Argyf arkbalke +Standert arkbalke +Grutte knoppen +Knoptekst sjen litte +800 +Map oan blêdwizers &taheakje as +Blêdwizer meitsje +900 +&Opsjes... +&Ykpunt +960 +&Ynhâld... +&7-Zip it hoe en het... +1003 +Paad +Namme +Taheaksel +Map +Grutte +Ynpakte grutte +Skaaimerk +Makke +Lêste tagong +Feroare +Kompakt +Kommentaar +Fersifere +Spjalt foar +Spjalt efter +Wurdboek +CRC +Type +Anty +Metoade +Host OS +Triemsysteem +Brûker +Keppel +Blok +Kommentaar +Posysje +Paad foarheaksel +Mappen +Triemmen +Ferzje +Folume +Multifolume +Offset +Links +Blokken +Folumes + + + + + + + + + + + + + + + +Flater +Totale grutte +Frije romte +Kluster grutte +Kaartsje +Lokale namme +Ferskaffer +2100 +Opsjes +Taal +Taal: +Bewurker +&Bewurker: + +2200 +Systeem +Ferbyn 7-Zip Mei: +2301 +Yntegraasje fan 7-Zip yn ferbânmenu +Ferbânmenu yn trepfoarm +Ferbânmenu-items: +2320 + + +Argyf iepenje +Triemmen útpakke... +Oan argyf taheakje... +Argyf teste +Hjir útpakke +Utpakke yn {0} +Oan {0} taheakje +komprimearje en ferstjoere... +Komprimearje nei {0} en poste +2400 +Mappen +&Wurkmap +&Tydlikesysteemmap +&Aktive +&Oantsjutte: +Allinnich brûke foar útnimbere skiven +ynfiere fan de lokaasje foar tydlike argyftriemmen. +2500 +Ynstellings +".." item sjen litte +Echte triem ikoanen sjen litte +Systeemmenu sjen litte +&Folsleine rige selektearje +&Roaster sjen litte + +&Alternative seleksje modus +Brûk &grut ûnthâld siden +2900 +7-Zip it hoe en het +7-Zip is fergees. Mar, jo kinne de ûntwikkeling stypje troch jo te registrearjen. +3000 + +Der binne gjin flaters +{0} objekt(en) selektearre +Kin map '{0}' net meitsje +Bywurk operaasje waard net stipe troch dit argyf. +Kin triem '{0} net as argyf iepenje +Kin fersifere argyf '{0}' net iepenje. Ferkeard wachtwurd? + + +Triem '{0}' is wizige.\nWolle jo it bywurkje yn it argyf? +Kin triem '{0}'\nnet bywurkje +Kin bewurker net starte. + + + + +Tefolle items +3300 +Utpakke +Oan it komprimearjen +Oan it Testen +Oan it iepenjen... +Oan it skennen... +3400 +Utpakke +U&tpakke nei: +De lokaasje om nei út te pakken oantsjutte. +3410 +Paad modus +Folsleine paadnammen +Gjin paadnammen +3420 +Oerskriuw modus +Freegje foardat jo oerskriuwe +Oerskriuwe sûnder pront +Besteande triemmen oerslaan +Automatysk omneame +Automatysk ek by besteande triemmen +3500 +It ferfangen fan de triem befêstigje +Bestimmingsmap befettet al in triem mei dizze namme. +Wolle jo de triem ferfange +Mei dizze? +{0} bytes +A&utomatysk omneame +3700 +Net stipe kompresjemetoade foar '{0}'. +Data flater yn '{0}'. Triem is beskeadige. +CRC mislearre yn '{0}'. Triem is beskeadige. +Data flater yn fersifere triem '{0}'. Ferkeard wachtwurd? +CRC mislearre yn fersifere triem '{0}'. Ferkeard wachtwurd? +3800 +Wachtwurd ynfiere +Wachtwurd ynfiere: +Wachwurd opnij ynfiere: +Wachtwurd &sjen litte +Wachtwurden komme net oerien +Brûk allinne ingelske letters, nûmers en spesjale karakters (!, #, $, ...) foar it wachtwurd +Wachtwurd is te lang +Wachtwurd +3900 +Ferstrutsen tiid: +Tiid noch te gean: +Totale grutte: +Fluggens: +Ferwurke: +Kompresje nivo: +Flaters: +Argiven: +4000 +Oan argyf taheakje +&Argyf: +&Bywurkmodus: +Argyf &formaat: +Kompresje&nivo: +Kompresje&metoade: +&Wurdboekgrutte: +&Wurdgrutte: +Kompakte blokgrutte: +Tal CPU trieden: +&Parameters: +Opsjes +Meitsje SF&X-argyf +Dielde triemmen komprimearje +Fersifering +Fersiferingmetoade: +Fersiferje triem&nammen +Unthâld gebrûk by komprimearjen: +Unthâld gebrûk by ûntkomprimearjen: +4050 +Bewarje +Fluchst +Fluch +Normaal +Maksimum +Ultra +4060 +Triemmen taheakje en ferfange +Triemmen taheakje en bywurkje +Besteande triemmen ferfarskje +Triemmen lyk rinne litte +4070 +Blêdzje +Alle triemmen +net-kompakt +Kompakt +6000 +Kopiearje +Ferpleatse +Kopiearje nei: +Ferpleats nei: +Oan it kopiearren... +Oan it ferpleatsen... +Omneame... +Bestimmingsmap selektearje. +Operaasje wurdt net stipe. +Flater by it omneamen fan triem of map +Triem kopiearje befêstigje +Binne jo wis dat jo de triemmen nei it argyf kopiearje wolle? +6100 +It wiskjen fan de triem befêstigje +It wiskjen fan de map befêstigje +It wiskjen fan meardere triemmen befêstigje +Binne jo wis dat jo '{0}' wiskje wolle? +Binne jo wis dat jo de map '{0}' en al syn ynhâld wiskje wolle? +Binne jo wis dat jo {0} items wiskje wolle? +Oan it wiskjen +Flater by it wiskjen fan triem of map + +6300 +Map meitsje +Triem meitsje +Mapnamme: +Triem namme: +Nije map +Nije triem +Flater by it meitsjen fan map +Flater by’t meitsjen fan triem +6400 +Kommentaar +&Kommentaar: +Selektearje +Net Selektearje +Masker: +6600 +Eigenskippen +Maphistoarje +Diagnostyk berjocht +Berjocht +7100 +Kompjûter +Netwurk + +Systeem +7200 +Taheakje +Utpakke +Test +Kopiearje +Ferpleatse +Wiskje +Ynformaasje +7300 +Triem spjalte +&Spjalt nei: +Spjalte nei &folumes, bytes: +Oan it Spjalten... +Spjalte befêstigje +Wolle jo de triem spjalte yn {0} dielen? +Folumegrutte moat lytser wêze dan de grutte fan it orizjineel +Net juste folumegrutte +Oantsjutte folumegrutte: {0} bytes.\nWolle jo it argyf yn sokke folumes spjalte? +7400 +Triemmen kombinearje +&Kombinearje nei: +Oan it kombinearjen... +Allinne earste triem selektearje + + +7500 +Kontrôlesom oan it berekenjen... +Kontrôlesom ynformaasje +CRC kontrôlesom foar data: +CRC kontrôlesom foar data en nammen: +7600 +Benchmark +Unthâld gebrûk: +Oan it komprimearren +Oan it ûntkomprimearren +Wurdearring +Totale Wurdearring +Hjoeddeiske +Resultaat +CPU brûkens +Beoardieling / Brûkens +Kear foarbei: diff --git a/Utils/7-Zip/Lang/ga.txt b/Utils/7-Zip/Lang/ga.txt new file mode 100644 index 000000000..0c5a8a966 --- /dev/null +++ b/Utils/7-Zip/Lang/ga.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Seanán Ó Coistín +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Irish +Gaeilge +401 +Tá go maith +Cealaigh + + + +&Tá +&Níl +&Dún +Cabhair + +&Lean ar aghaidh +440 +Tá do gach ceann +Níl go gach ceann +Stad +Atosaigh +&Cúlra +&Tulra +&Cuir ar sos +Ar sos +An bhfuil tú cinnte gur mian leat é a chealú? +500 +&Comhad +&Leagan +Am&harc +Ceanáin +&Uirlisí +&Cabhair +540 +&Oscail +Oscail &istigh +Oscail &lasamuigh +&Amharc +&Eagar +Athainmnigh +&Macasamhlaigh go... +&Bog go... +S&crios +Scar an comhad... +Cumascaigh na comhaid... +Airíonna +Nóta tráchta +Ríomh an tsuim sheiceála +Diff +Cruthaigh fillteán +Cruthaigh comhad +&Scoir +600 +Roghnaigh &uile +Díroghnaigh uile +&Aisiompaigh an roghnúchán +Roghnaigh... +Díroghnaigh... +Roghnaigh de réir cineál +Díroghnaigh de réir cineál +700 +&Deilbhíní móra +&Deilbhíní beaga +&Liosta +&Sonraí +730 +Neamhaicmithe +Gach rud in aon chiseal +&2 fhuinneog +&Barraí na n-uirlisí +Oscail an fréamhfhillteán +Suas fillteán amháin +Oireas na bhfillteán... +Athnuaigh +750 +Barra cartlanna +Barra na n-uirlisí caighdeánacha +Cnaipí móra +Taispeáin an téacs ar na cnaipí +800 +&Cuir an fillteán leis na Ceanáin +Leabharmharc +900 +&Roghanna... +Tástáil fheidhmíochta +960 +&Inneachair... +Maidir le 7-Zip... +1003 +Conair +Ainm +Breiseán +Fillteán +Méid +Comhbhrúite +Tréithe +Cruthaithe an +Rochtain faighte ar an +Mionathraithe ar an +Fothúil +Trácht +Criptithe +Roinn roimh +Roinn i ndiaidh +Foclóir +CRC +Cineál +Frith +Modh +Óstach an CO +Córas na gcomhad +Úsáideoir +Aicme +Ceap +Nóta tráchta +Suíomh +Réimír na conaire +Fillteáin +Comhaid +Leagan +Imleabhar +Il-imleabhair +Fritháirigh +Naisc +Ceapa +Imleabhair + +64 bheart +Foirceann mór +LAP +Méid aiceanta +Méid na gceanntásc +Suim seiceála +Tréithe +Seoladh fíorúil +ID +Ainm gearr +Feidhmchlár a chruthaigh í +Méid na hearnála +Modh +Nasc +Botún +Méid iomlán +Slí atá saor +Méid na braisle +Lipéad +Ainm logánta +Soláthraí +2100 +Roghanna +Teanga +Teanga: +Eagarthóir +&Eagarthóir: +&Diff: +2200 +Córas +Comhthiomsaigh 7-Zip le: +2301 +Comhtháthaigh 7-Zip sa roghchlár comhthéacs +Roghchlár comhthéacs ag titim +Nithe an roghchláir chomhthéacs: +2320 + + +Oscail +Asbhain na comhaid... +Cuir leis an gcartlann... +Tástáil an chartlann +Asbhain anseo +Bain go {0} +Cuir le {0} +Comhbhrúigh agus seol i ríomphost iad... +Comhbhrúigh go {0} agus seol i ríomhphost iad +2400 +Fillteáin +Fillteán oibre +Fillteán sealadach an chórai&s +An comhad reatha +Fillteán &sonraithe: +Bain feidhm as do thiomántáin inaistrithe amháin +Sonraigh suíomh i gcomhair comhaid chartlainne sealadacha. +2500 +Socruithe +Taispeáin an ní ".." +Taispeáin fíordheilbhíní an chomhaid +Taispeáin roghchlár an chórais +Roghnaigh an tsraith ar fad +Taispeáin línte na greille +Brúigh uair amháin chun ní a oscailt +Bain feidhm as modh roghnaithe malartach +Bain feidhm as leathanaigh chuimhne mhóra +2900 +Maidir le 7-Zip +Is saorearra é 7-Zip. Is féidir tacaíocht a thabhairt dá fhorbairt amach anseo, áfach, trí chlárú. +3000 +Ní féidir leis an gcóras an méid cuimhne atá de dhíth a leathdháileadh dó +Níl aon bhotún ann +{0} ní/nithe roghnaithe +Ní féidir an fillteán '{0}' a chruthú +Ní féidir an chartlann seo a nuashonrú. +Ní féidir an comhad '{0}' a oscailt mar chartlann +Ní féidir an chartlann chriptithe '{0}' a oscailt. An bhfuil an focal faire mícheart? +Ní thugtar tacaíocht don chineál comhad seo +Tá an comhad {0} ann cheana +Mionathraíodh an comhad '{0}'.\nAr mhaith leat é a nuashonrú sa chartlann? +Ní féidir an comhad a leanas a nuashonrú\n'{0}' +Ní féidir an t-eagarthóir a thosú. +B'fhéidir gur aicíd é an comhad (tá bearnaí móra in ainm an chomhaid). +Ní féidir an oibríocht seo a chur i bhfeidhm ó fhillteán a bhfuil conair fhada aige. +Caithfear comhad amháin a roghnú +Caithfear comhad amháin nó níos mó a roghnú +An iomarca nithe +3300 +Asbhaint +Ag comhbhrú +Ag tástáil +Ag oscailt... +Ag taiscéal... +3400 +Bain +Bain go: +Roghnaigh fillteán do na comhaid asbhainte. +3410 +Conairí +Conairí iomlána +Níl conair ann +3420 +Modh forscríofa +Deimhnigh sular forscríobhtar +Forscríobh gan iarraidh +Déan neamhaird de na comhaid atá ann cheana +Athainmnigh go huathoibríoch +Athainmnigh na comhaid atá ann cheana +3500 +Deimhnigh ionadú comhaid +Tá comhad leis an ainm seo sa spriocfhillteán cheana féin. +Ar mhaith leat an comhad atá ann cheana a ionadú +leis an gceann seo? +{0} bearta +Athainmnigh go huathoibríoch +3700 +Níl an bealach comhbhrúite bailí i gcomhair '{0}'. +Botún sna sonraí sa chomhad '{0}'. Tá an comhad briste. +Theip ar CRC sa chomhad '{0}'. Tá an comhad briste. +Sonra mícheart sa chomhad criptithe '{0}'. Focal faire mícheart? +Theip ar CRC sa chomhad chriptithe '{0}'. Focal faire mícheart? +3800 +Cuir isteach an focal faire +Cuir an focal faire isteach: +Cuir an focal faire isteach arís: +&Taispeáin an focal faire +Ní hionann an dá fhocal faire +Bain feidhm as litreacha gan síntí fada, uimhreacha agus carachtair shainiúla (!, #, $, ...) +Tá an focal faire rófhada +Focal faire +3900 +Am caite: +Am fágtha: +Méid iomlán: +Luas: +Déanta: +Luas an chomhbhrúite: +Botúin: +Cartlanna: +4000 +Cuir leis an gcartlann +&Cartlann: +&Modh nuashonraithe: +&Formáid na cartlainne: +Méid comhbhrúite: +Modh comhbhrúite: +&Méid an fhoclóra: +Méid na bhfocal: +Méid an chip fhothúla: +Líon na snáitheanna LAP: +&Teorainneacha: +Roghanna +Cruthaigh cartlann SF&X +Comhbhrúigh na comhaid a roinneadh +Criptiú +Modh criptiúcháin: +Criptigh ainmneacha na gcomhad +Cuimhne don chomhbhrúigh: +Cuimhne don dhíchomhbhrúigh: +4050 +Taisc +Is gasta +Gasta +Gnáth +Uasmhéid +Fíorghasta +4060 +Cuir comhaid leis agus ionadaigh +Nuashonraigh na comhaid agus cuir leo +Athnuaigh comhaid atá ann cheana +Comhionannaigh na comhaid +4070 +Siortaigh +Gach comhad +Neamhfhothúil +Fothúil +6000 +Macasamhlaigh +Bog +Macasamhlaigh chuig: +Bog chuig: +Ag acasamhlú... +Ag bogadh... +Ag athainmniú... +Roghnaigh an spriocfhillteán. +Ní féidir sin a dhéanamh. +Tharla botún ag athainmniú an comhad nó an fillteán +Deimhnigh macasamhlú an chomhaid +An bhfuil tú cinnte gur mian leat na comhaid a mhacasamhlú go dtí an chartlann? +6100 +Deimhnigh scriosadh an chomhaid +Deimhnigh scriosadh an chomhaid +Deimhnigh scriosadh iliomad comhad +An bhfuil tú cinnte gur mian leat '{0}' a scriosadh? +An bhfuil tú cinnte gur mian leat an fillteán '{0}' agus gach rud ann a scriosadh? +An bhfuil tú cinnte gur mian leat na {0} nithe seo a scriosadh? +Ag scriosadh... +Tharla botún ag scriosadh an comhad nó an fillteán +Ní thig leis an gcóras comhad le conair fhada a bhogadh go dtí an bosca athchúrsála +6300 +Cruthaigh comhad +Cruthaigh comhad +Ainm an chomhaid: +Ainm an chomhaid: +Comhad nua +Comhad nua +Tharla botún fad is a bhí an comhad á chruthú +Tharla botún fad is a bhí an comhad á chruthú +6400 +Trácht +&Trácht: +Roghnaigh +Díroghnaigh +Folaigh: +6600 +Airíonna +Oireas na bhfillteán +Teachtaireachtaí diagnóiseach +Teachtaireacht +7100 +Ríomhaire +Líonra +Cáipéisí +Córas +7200 +Cuir leis +Asbhain +Tástáil +Macasamhlaigh +Bog +Scrios +Faisnéis +7300 +Roinn an comhad +&Roinn chuig: +Roinn in imleabhair, bearta: +Ag roinnt... +Deimhnigh an roinnt +An bhfuil tú cinnte go dteastaíonn uait an comhad a roinnt i {0} imleabhair? +Ní mór do mhéid an imleabhair a bheith níos lú ná méid an chomhaid bhunaidh +Tá méid an cholúin mícheart +Méid an cholúin sonraithe: {0} bearta.\nAn bhfuil tú cinnte gur mian leat an chartlann a roinnt in imleabhair? +7400 +Cumaisc comhaid +&Cumaisc go: +Ag cumasc... +Ná roghnaigh an chéad chomhad +Ní féidir an comhad a bhraith mar chuid de chomhad scoilte +Ní féidir níos mó ná aon chuid amháin den chomhad scoilte a aimsiú +7500 +Ag ríomh na suime seiceála... +Faisnéis maidir leis an suim sheiceála +Suim sheiceála do shonraí: +Suim sheiceála do shonraí agus d'ainmneacha +7600 +Tástáil fheidhmíochta +Gnáthaíocht na cuimhne: +Ag comhbhrú +Ag díchomhbhrú +Measúnú +Measúnú iomlán +Reatha +Toradh +Gnáthaíocht an LAP +Measúnú / Gnáthaíocht +Bealaí: diff --git a/Utils/7-Zip/Lang/gl.txt b/Utils/7-Zip/Lang/gl.txt new file mode 100644 index 000000000..46c4ff908 --- /dev/null +++ b/Utils/7-Zip/Lang/gl.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.00 : 2016-02-01 : enfeitizador +; +; 9.20 : 2014-11-26 : enfeitizador +; +; 3.12 : 2007-11-22 : Xosé Calvo +; +; +; +; +; +; +0 +7-Zip +Galician +Galego +401 +De acordo +Cancelar + + + +&Si +&Non +Pe&char +Axuda + +&Continuar +440 +Si &a todo +Non a &todo +Parar +Reiniciar +Poñer por de&baixo +Traer ao &fronte +&Pausa +Pausado +Ten a certeza de querer cancelar? +500 +&Ficheiro +&Editar +&Ver +F&avoritos +Ferramen&tas +A&xuda +540 +&Abrir +Abrir &dentro +Abrir &fora +&Ver +&Editar +Rena&me +&Copiar a... +&Mover a... +&Eliminar +&Dividir ficheiro... +Com&binar ficheiros... +P&ropiedades +Come&ntario... +Calcular suma de verificación +Diferenzas +Crear cartafol +Crear ficheiro +Sa&ír +Ligazón +&Alternar fluxos +600 +Seleccion&ar todo +Desmarcar todo +&Inverter selección +Seleccionar... +Desmarcar... +Seleccionar por tipo +Desmarcar por tipo +700 +Iconas lon&gas +Iconas &miúdas +&Lista +&Detalles +730 +Sen orde +Vista plana +&2 paneis +Barras de ferramen&tas +Abrir cartafol raíz +Subir un nivel +Históricos de cartafoles... +&Recargar +Recargar auto. +750 +Barra de ferramentas de arquivos +Barra de ferramentas normal +Botóns grandes +Amosar texto dos botóns +800 +Eng&adir cartafol a favoritos como +Marcador +900 +&Opcións... +&Rendemento +960 +&Contidos... +&Acerca de 7-Zip... +1003 +Camiño +Nome +Extensión +Cartafol +Tamaño +Tamaño comprimido +Atributos +Creado +Último acceso +Modificado +Sólido +Comentado +Cifrado +Partir antes +Partir despois +Dicionario +CRC +Tipo +Anti +Método +SO servidor +Sistema de ficheiros +Usuario +Grupo +Bloque +Comentario +Posición +Prefixo do camiño +Cartafoles +Ficheiros +Versión +Volume +Varios volumes +Desprazamento +Ligazóns +Bloques +Volumes + +64-bit +Big-Endian +Procesador +Tamaño físico +Tamaño cabeceiras +Suma de verificación +Características +Enderezo virtual +ID +Nome curto +Aplicación orixinal +Tamaño sector +Modo +Ligazón simbólica +Erro +Tamaño total +Tamaño libre +Tamaño do clúster +Etiqueta +Nome local +Fornecedor +Seguridade NT +Fluxos alternos +Aux !BUSCA +Eliminado +Is Tree !BUSCA + + +Tipo de error +Erros +Erros +Avisos +Aviso +Fluxos +Fluxos alternos +Tamaño fluxos alternos +Tamaño virtual +Tamaño sen comprimir +Total tamaño físico +Indexar volume +SubTipo +Comentario curto +Código de páxina + + + +Tamaño de cola +Tamaño temporal inserido +Ligazón +Ligazón forte +iNode + +Só lectura +2100 +Opcións +Idioma +Idioma: +Editor +&Editor: +&Diferenza: +2200 +Sistema +Asociar 7-Zip con: +Todos os usuarios +2301 +Integrar 7-Zip no menú de contexto +Menú do contexto en cascada +Elementos do menú do contexto: +Iconas no menú de contexto +2320 + + +Abrir arquivo +Extraer ficheiros... +Engadir ao arquivo... +Comprobar arquivo +Extraer aquí +Extraer a {0} +Engadir a {0} +Comprimir e enviar por correo... +Comprimir a {0} e enviar por correo +2400 +Cartafoles +Cartafol en &uso +Cartafol temporal do &sistema +Cartafol a&ctual +E&specificar: +Usar só en unidades extraíbles +Especificar unha localización para os arquivos temporais. +2500 +Axustes +Amosar o elemento ".." +Amosar iconas reais do ficheiro +Amosar menú do sistema +Seleccionar &fila completa +Amosar liñas de &grella +Clic simple para abrir un elemento +Modo de selección &alternativo +Usar memoria &longa de páxinas +2900 +Acerca de 7-Zip +7-Zip é un programa gratuíto +3000 +O sistema non puido atribuír a memoria requirida +Non se produciron erros +{0} obxecto(s) seleccionados +Non se pode crear o cartafol '{0}' +Este tipo de arquivo non permite actualizacións. +Non se pode abrir o ficheiro '{0}' como arquivo +Non se pode abrir o ficheiro cifrado '{0}'. Contrasinal incorrecto? +Tipo de arquivo non admitido +O ficheiro {0} xa existe +Modificouse o ficheiro '{0}'.\nQuéreo actualizar no arquivo? +Non se pode actualizar o ficheiro\n'{0}' +Non se pode iniciar o editor. +O ficheiro parécese a un virus (o nome do ficheiro contén espazos longos). +A operación non pode responder dende un cartafol cun camiño longo. +Tes que seleccionar un ficheiro +Tes que seleccionar un ou máis ficheiros +Demasiados elementos +Non se pode abrir o ficheiro como arquivo {0} +O ficheiro está aberto como arquivo {0} +O arquivo está aberto con desprazamento +3300 +Extraendo +Comprimindo +Probando +Abrindo... +Escaneando... +Eliminando +3320 +Engadindo +Actualizando +Analizando +Replicando +Volvendo comprimir +Omitindo +Eliminando +Creando cabeceira +3400 +Extraer +E&xtraer a: +Especificar unha localización para os ficheiros extraídos. +3410 +Modo camiño: +Nomes de camiño completos +Sen nomes de camiño +Nomes de camiño absoluto +Nomes de camiño relativo +3420 +Modo sobrescribir: +Preguntar antes de sobrescribir +Sobrescribir sen preguntar +Omitir ficheiros existentes +Renomeo automático +Renomeo automático de ficheiros existentes +3430 +Eliminar duplicidade do cartafol raíz +Restaurar seguridade do ficheiro +3500 +Confirmar a substitución de ficheiro +O cartafol destino xa ten un ficheiro co mesmo nome. +Desexa substituír o ficheiro existente +con estoutro? +{0} bytes +Renomeo a&utomático +3700 +Método de compresión non admitido para '{0}'. +Erro de datos en '{0}'. O ficheiro está danado. +Fallou a verificación CRC en '{0}'. O ficheiro está danado. +Erro de datos no ficheiro cifrado '{0}'. Contrasinal incorrecto? +Fallou a verificación CRC no ficheiro cifrado '{0}'. Contrasinal incorrecto? +3710 +Contrasinal incorrecto? +3721 +Método de compresión non admitido +Erro de datos +Fallou a verificación CRC +Datos non dispoñibles +Remate de datos inesperado +Hai certos datos despois do remate dos datos cargados +Non é arquivo +Erro de cabeceiras +Contrasinal incorrecto +3763 +Inicio de arquivo non dispoñible +Inicio de arquivo non confirmado + + + +Característica non admitida +3800 +Insira contrasinal +Insira contrasinal: +Insírao de novo: +Amo&sar contrasinal +Os contrasinais non coinciden +Use só letras latinas, números e caracteres especiais (!, #, $, ...) para o contrasinal +O contrasinal é moi longo +Contrasinal +3900 +Tempo transcorrido: +Tempo restante: +Tamaño total: +Velocidade: +Procesado: +Proporción de compresión: +Erros: +Arquivos: +4000 +Engadir ao arquivo +&Arquivo: +Función act&ualizar: +&Formato de arquivo: +Nive&l de compresión: +&Método de compresión: +Tamaño do &dicionario: +Tamaño de &palabra: +Tamaño de bloque sólido: +Número de procesos da CPU: +&Parámetros: +Opcións +Crear ficheiro SF&X +Comprimir ficheiros compartidos +Cifrado +Método de cifrado: +Cifrar &nomes de ficheiro +Uso de memoria para compresión: +Uso de memoria para extracción: +Eliminar ficheiros despois de comprimir +4040 +Arquivar ligazóns simbólicas +Arquivar ligazóns fortes +Arquivar fluxo de datos alternos +Arquivar seguridade de ficheiro +4050 +Arquivar +Máis rápida +Rápida +Normal +Máxima +Ultra +4060 +Engadir e substituír ficheiros +Actualizar e engadir ficheiros +Só actualizar ficheiros existentes +Sincronizar ficheiros +4070 +Navegar +Todos os ficheiros +Non sólido +Sólido +6000 +Copiar +Mover +Copiar a: +Mover a: +Copiando... +Movendo... +Renomeando... +Seleccione cartafol destino. +A operación non é admitida para este cartafol. +Erro ao renomear ficheiro ou cartafol +Confirmar copia de ficheiro +Desexa copiar os ficheiros ao arquivo +6100 +Confirmar eliminar ficheiro +Confirmar eliminar cartafol +Confirmar eliminar ficheiro múltiplo +Ten a certeza de eliminar '{0}'? +Ten a certeza de eliminar o cartafol '{0}' e todo o que contén? +Ten a certeza de eliminar estes {0} elementos? +Eliminando... +Erro ao eliminar ficheiro ou cartafol +O sistema non pode mover un ficheiro cun nome tan longo á papeleira +6300 +Crear cartafol +Crear ficheiro +Nome do cartafol: +Nome do ficheiro: +Novo cartafol +Novo ficheiro +Erro ao crear cartafol +Erro ao crear ficheiro +6400 +Comentario +&Comentario: +Seleccionar +Desmarcar +Máscara: +6600 +Propiedades +Histórico de cartafoles +Mensaxes de diagnose +Mensaxe +7100 +Computador +Rede +Documentos +Sistema +7200 +Engadir +Extraer +Probar +Copiar +Mover +Eliminar +Información +7300 +Dividir ficheiro +&Dividir a: +Dividir en &volumes, bytes: +Dividindo... +Confirmar división +Ten a certeza de dividir o ficheiro en {0} volumes? +O tamaño do volume ten que ser menor que o tamaño do ficheiro orixinal +Tamaño de volume incorrecto +Tamaño de volume especificado: {0} bytes.\nTen a certeza de dividir o arquivo nestes volumes? +7400 +Combinar ficheiros +&Combinar a: +Combinando... +Seleccionar só a primeira parte do ficheiro dividido +Non se detecta o ficheiro como parte dun ficheiro dividido +Non se atopan máis ca unha parte do ficheiro dividido +7500 +Calculando suma de verificación... +Información da suma de verificación +Verificación CRC para datos: +Verificación CRC para datos e nomes: +7600 +Rendemento +Uso de memoria: +Comprimindo +Extraendo +Proporción +Proporción total +Actual +Resultante +Uso de CPU +Proporción / Uso +Pases: +7700 +Ligazón +Ligazón +Ligazón desde: +Ligazón a: +7710 +Tipo de ligazón +Ligazón forte +Ligazón simbólica de ficheiro +Directorio ligazón simbólica +Directorio nexo diff --git a/Utils/7-Zip/Lang/gu.txt b/Utils/7-Zip/Lang/gu.txt new file mode 100644 index 000000000..abcedc727 --- /dev/null +++ b/Utils/7-Zip/Lang/gu.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Vinayy Sharrma : વિનય શરà«àª®àª¾ દà«àªµàª¾àª°àª¾ અનà«àªµàª¾àª¦àª¿àª¤ મેહનત કરેલી છે તો પોતાનà«àª‚ નામ લખવામાં કાંઇ બà«àª°àª¾àªˆ નથી. હિનà«àª¦ પર ગરà«àªµ કરો, જય હિનà«àª¦ ! જય હિનà«àª¦à«€ ! જય ગરવી ગà«àªœàª°àª¾àª¤ ! જય ગà«àªœàª°àª¾àª¤à«€ +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Gujarati, Indian, હિનà«àª¦à«àª¸à«àª¤àª¾àª¨ +ગà«àªœàª°àª¾àª¤à«€ +401 +સારà«àª‚ +રદà«àª¦ + + + +&હાઠ+&ના +&બંદ કરો +મદદ + +&જારી રાખો +440 +&બધા માટે હાઠ+&બધા માટે ના +રૂકો +પà«àª¨àªƒ શà«àª°à« કરો +&પૄષà«àª à«àª­à«‚મિ +&અગà«àª°àª­à«‚મિ(ડેસà«àª•à«àªŸà«‹àªª) +&વિશà«àª°àª¾àª® +થોભેલà«àª‚ +તà«àª®à«‡ રદà«àª¦ કરવા ચાહો છો. શà«àª‚ તમને યકીન છે? +500 +&ફ઼ાઇલ +&સંપાદન +&દરà«àª¶àª¨ +&મનપસંદ +&ઔજાર +&મદદ +540 +&ખોલો +&અંદર ખોલો +&બાહર ખોલો +&દૃશà«àª¯ +&સંપાદન +&પà«àª¨: નામકરણ +&માં નકલ બનાવો... +&માં લઇ જાઓ... +&મિટાવો +&ફ઼ાઇલનો વિભાજન કરો... +&ફ઼ાઇલનો સંયોજન કરો... +&સંપતà«àª¤àª¿àª¯àª¾àª યા ગà«àª£ +&ટિપà«àªªàª£à«€ +&જાàªàªš યોગની ગણના કરો +&અનà«àª¤àª° +&ફ઼ોલà«àª¡àª° તૈયાર કરો +&ફ઼ાઇલ તૈયાર કરો +&નિરà«àª—મન +600 +&બધા ચયન કરો +&બધા અચયનિત કરો +&ચયન ઊંધà«àª‚ કરો +ચયન કરો... +અચયન કરો... +પà«àª°àª•ાર દà«àªµàª¾àª°àª¾ ચયન +પà«àª°àª•ાર દà«àªµàª¾àª°àª¾ અચયન +700 +મોટાં પà«àª°àª¤à«€àª• +લઘૠપà«àª°àª¤à«€àª• +&સૂચી +&વરà«àª£àª¨ +730 +અવિતરિત +ચૌડ઼ા દૃશà«àª¯ +&૨ ફ઼લક +&ઔજાર પટà«àªŸà«€àª“ +મૂલ ફ઼ોલà«àª¡àª° ખોલો +àªàª• સà«àª¤àª° ઊપર ચઢ઼ો +ફ઼ોલà«àª¡àª°à«‹ નો ઇતિહાસ... +&તાજા કરો +750 +સંગà«àª°àª¹ ઔજાર પટà«àªŸà«€ +માનક ઔજાર પટà«àªŸà«€ +મોટા ખટકા(બટન) +ખટકા(બટન)ના શબà«àª¦ દિખાવો +800 +&ફ઼ોલà«àª¡àª° મનપસંદમાં àªàªµà«€ રીતે જોડો... +પà«àª¸à«àª¤àªšàª¿àª¨à«àª¹ +900 +&વિકલà«àªª... +&બેઞà«àªšàª®àª¾àª°à«àª•(પà«àª°àª¾àª®àª¾àª£àª¿àª• તà«àª²àª¨àª¾) +960 +&સામગà«àª°à«€... +à«­-જિપ ના વિશેમાં... +1003 +મારà«àª— +નામ +વિસà«àª¤àª¾àª° +ફ઼ોલà«àª¡àª° +આકાર +કà«àª² આકાર +વિશેષતા યા ગà«àª£àª§àª°à«àª® +સરà«àªœàª¿àª¤ +ચલાવેલી +પરિવરà«àª§àª¿àª¤ +ઠોસ +ટિપà«àªªàª£à«€ +ગà«àªªà«àª¤àª¿àª•ૃત +ના પૂરà«àªµà«‡ વિભાજન(ટà«àª•ડે) કરો +ના બાદ વિભાજન(ટà«àª•ડે) કરો +શબà«àª¦àª•ોશ +સીઆરસી +પà«àª°àª•ાર +વિરોધી +પદà«àª§àª¤àª¿ +યજમાન આજà«àªžàª¾àªµàª²à«€(ઓપરેટિંગ સિસà«àªŸàª®) +ફ઼ાઇલ પà«àª°àª£àª¾àª²à«€ +પà«àª°àª¯à«‹àª—કરà«àª¤àª¾ +સમૂહ +રોક કે ટà«àª•ડાઓ +પà«àª°àª¤àª¿àª•à«àª°àª¿àª¯àª¾ +સà«àª¥àª¾àª¨ +મારà«àª— પà«àª°àª¤à«àª¯àª¯ +ફોલà«àª¡àª°àª¸ +ફાઇલà«àª¸ +સંસà«àª•રણ +જતà«àª¥àª¾ +અનેક જતà«àª¥àª¾àª“ +ઓફસેટ +કડિયાઠ+ટà«àª•ડ઼ે +જતà«àª¥à«‡ + +૬૪-બિટ +મોટà«àª‚-àªàª¨à«àª¡àª¿àª¯àª¨ +સીપીયૂ +ભૌતિક આકાર +શીરà«àª·àª•ોંના આકાર +જાàªàªšàª¯à«‹àª— +ચરિતà«àª°àª¤àª¾àª“ +આભાસી પતà«àª¤à«‹ +આઈડી +સંકà«àª·àª¿àªªà«àª¤ નામ +સરà«àªœàª• અનà«àªªà«àª°àª¯à«‹àª— +સેકà«àªŸàª°àª¨à«‹ આકાર +સà«àª¥àª¿àª¤àª¿ +કડ઼ી +તà«àª°à«àªŸàª¿ +કà«àª² આકાર +સà«àªµàª¤àª¨à«àª¤à«àª° રિકà«àª¤àª¸à«àª¥àª¾àª¨(ખાલી જગહ) +કà«àª²àª¸à«àªŸàª°(સમૂહ) આકાર +ધà«àª¯àª¾àª¨àª¾àª•રà«àª·àª•(લેબલ) +સà«àª¥àª¾àª¨àª¿àª• નામ +પà«àª°àª¦àª¾àª¯àª• +2100 +વિકલà«àªª +ભાષા +ભાષા: +સંપાદક +&સંપાદક: +&અનà«àª¤àª°: +2200 +પà«àª°àª£àª¾àª²à«€ કે તંતà«àª° +સંબધિત કરો à«­-જિપ ના સાથે: +2301 +à«­-જિપ ના શેલ (કવચ) પà«àª°àª¸àª‚ગ મેનૠમાં જોડો +સોપાનીકૃત(કેસà«àª•ેડેડ) પà«àª°àª¸àª‚ગ મેનૠ+પà«àª°àª¸àª‚ગ(કોનà«àªŸà«‡àª•à«àª¸à«àªŸ) મેનૠવસà«àª¤à«àªàª: +2320 +<ફોલà«àª¡àª°> +<સંગà«àª°àª¹(આરà«àªšàª¿àªµ)> +સંગà«àª°àª¹ ખોલો +ફ઼ાઇલà«àª¸ બાહર કાઢો... +સંગà«àª°àª¹àª®àª¾àª‚ જોડો... +સંગà«àª°àª¹àª¨à«€ જાàªàªš કરો +અહિયાં બાહર કાઢો +{0} માં બાહર કાઢો +{0} માં જોડો +દબાવો(સંકà«àªšàª¨) અને ઇમેલ કરો... +{0} માં દબાવો અને ઈમેલ કરો +2400 +ફોલà«àª¡àª°à«àª¸ +&કારà«àª¯àª°àª¤ ફોલà«àª¡àª° +&પà«àª°àª£àª¾àª²à«€àª¨à«àª‚ અસà«àª¥àª¾àª¯à«€(ટેમà«àªªàª°àª°à«€) ફોલà«àª¡àª° +&ચાલૠ+&નિરà«àª¦àª¿àª·à«àªŸ: +ફકà«àª¤ હટાવવા યોગà«àª¯(રિમૂવેબલ) ડà«àª°àª¾àªˆàªµ માટે જ પà«àª°àª¯à«‹àª— કરો +અસà«àª¥àª¾àª¯à«€ સંગà«àª°àª¹ ફાઇલ માટે સà«àª¥àª¾àª¨ નિરà«àª¦àª¿àª·à«àªŸ કરો(બતાવો). +2500 +વà«àª¯àªµàª¸à«àª¥àª¾àª“ +દિખાવો ".."વસà«àª¤à« +વાસà«àª¤àªµàª¿àª• ફ઼ાઇલ પà«àª°àª¤à«€àª• બતાવો +તંતà«àª° નો મેનૠબતાવો +&આખી પનà«àª•à«àª¤àª¿àª¨à«àª‚ ચયન +&ગà«àª°àª¿àª¡(જાલ) રેખા દિખાવો +વસà«àª¤à« ખોલવા માટે àªàª• જ(સિંગલ)-કà«àª²àª¿àª• +&વૈકલà«àªªàª¿àª• ચયન સà«àª¥àª¿àª¤àª¿ +&મોટા સà«àª®à«ƒàª¤àª¿ પૃષà«àª àª¨à«‹ પà«àª°àª¯à«‹àª— કરો +2900 +7-જિપ ના વિશે +7-જિપ ઠનિઃશà«àª²à«àª• સૉફ઼à«àªŸàªµà«‡àª¯àª° છે. તો પણ, આપ પંજીકૃત(રજિસà«àªŸàª°à«àª¡) થઈને à«­-જ઼િપ ના વિકાસમાં સહયોગ કરી શકો છો. +3000 +તંતà«àª° જરૂરી માતà«àª°àª¾àª®àª¾àª‚ મેમોરી(સà«àª®à«ƒàª¤àª¿) વિતરિત નથી કરી શકતà«àª‚ +આમાં કોઈ પણ તà«àª°à«àªŸàª¿ નથી +{0} ચયનિત વસà«àª¤à«(ઓ) +'{0}' ફ઼ોલà«àª¡àª° સરà«àªœàª¿àª¤ નથી કરી શકતà«àª‚ +આ સંગà«àª°àª¹ માટે અદà«àª¯àª¤àª¨à«€àª•ૃત સંચાલન સમરà«àª¥àª¿àª¤ નથી. +'{0}' ફાઇલને સંગà«àª°àª¹àª¨àª¾àª‚ રૂપમાં નથી ખોલી શકતà«àª‚ +'{0}' ગà«àªªà«àª¤àª¿àª•ૃત સંગà«àª°àª¹àª¨à«‡ નથી ખોલી શકતà«. ગલત કૂટશબà«àª¦? +અસમરà«àª¥àª¿àª¤ સંગà«àª°àª¹ પà«àª°àª•ાર +ફાઇલ {0} પહેલાથી હયાત છે +'{0}' ફ઼ાઇલ પરિવરà«àª§àª¿àª¤ થઈ છે.\nશà«àª‚ તમે સંગà«àª°àª¹àª®àª¾àª‚ આને અદà«àª¯àª¤àª¨à«€àª•ૃત કરવા માગો છો? +ફ઼ાઇલ ને અદà«àª¯àª¤àª¨à«€àª•ૃત નથી કરી શકતà«àª‚\n'{0}' +સંપાદકને શરૂ નથી કરી શકતà«àª‚. +આ ફાઇલ àªàª• વિષાણà«(વાયરસ) જેવી લાગે છે (ફાઇલ નામ લાંબી ખાલી જગહ નામમાં રાખતો છે). +જે ફોલà«àª¡àª°àª¨à«‹ લાંબો મારà«àª— છે તેનાથી સઞà«àªšàª¾àª²àª¨ કà«àª°àª¿àª¯àª¾ બોલાવી નથી શકાતી. +તમારે àªàª• ફાઇલનો ચયન તો કરવો જ પડશે +તમારે àªàª• કે જà«àª¯àª¾àª¦àª¾ ફાઇલોંનો ચયન તો કરવો જ પડશે +બહૠવધારે વસà«àª¤à«àª“ +3300 +બાહર કાઢી રહà«àª¯à«àª‚ છે +સંકà«àªšàª¨ કરી રહà«àª¯à«àª‚ છે +પરીકà«àª·àª£ +ખોલી રહà«àª¯à« છે... +તલાશી(સà«àª•ૈનિંગ) કરી રહà«àª¯à« છે... +3400 +બાહર કાઢો +&બાહર કાઢો: +બાહર કાઢેલી ફ઼ાઇલોં માટે સà«àª¥àª¾àª¨ નિરà«àª¦àª¿àª·à«àªŸ કરો. +3410 +મારà«àª— સà«àª¥àª¿àª¤àª¿ +આખો મારà«àª—નામ +કોઈ મારà«àª— નામ નથી +3420 +અધિલેખન રીત +અધિલેખન કરતાં પહલાં પૂછો +વગર પૂછે અધિલેખન(જà«àª¨à«àª‚ મટાવવà«àª‚) કરો +પહેલાથી હયાત ફ઼ાઇલસને છોડો +સà«àªµàªšàª¾àª²àª¿àª¤ પà«àª¨: નામકરણ +પહેલાથી હયાત ફ઼ાઇલસનો સà«àªµàªšàª¾àª²àª¿àª¤(ઓટોમેટિક) પà«àª¨: નામકરણ કરો +3500 +ફ઼ાઇલ પà«àª°àª¤àª¿àª¸à«àª¥àª¾àªªàª¨ ને પાકà«àª•ૠકરો +ગનà«àª¤àªµà«àª¯ ફોલà«àª¡àª°àª®àª¾àª‚ પહેલાથી જ પà«àª°àª•à«àª°àª¿àª¯àª¾ થàªàª²à«€ ફ઼ાઇલ છે. +શà«àª‚ આપ પહેલાથી હયાત ફ઼ાઇલ ને બદલવà«àª‚ પસંદ કરશો? +આની જોડે? +{0} બાઇટà«àª¸ +સà«àªµàªšàª¾àª²àª¿àª¤ પà«àª¨: નામકરણ +3700 +'{0}' ના માટે અસહાયક દબાવાવાની પદà«àª§àª¤àª¿. +ડેટા તà«àª°à«àªŸàª¿â€™{0}' માં. ફ઼ાઇલ તૂટેલી છે. +'{0}' માં સીઆરસી અસફલ. ફ઼ાઇલ તૂટેલી છે. +'{0}' ગà«àªªà«àª¤àª¿àª•ૃત(àªàª¨àª•à«àª°àª¿àªªà«àªŸà«‡àª¡) ફાઇલ માં ડેટા તà«àª°à«àªŸàª¿. ગલત કૂટશબà«àª¦? +'{0}' ગà«àªªà«àª¤àª¿àª•ૃત(àªàª¨àª•à«àª°àª¿àªªà«àªŸà«‡àª¡) ફાઇલ માં સીઆરસી અસફલ. ગલત કૂટશબà«àª¦? +3800 +કૂટશબà«àª¦(પાસવરà«àª¡) ડાલે +કૂટશબà«àª¦(પાસવરà«àª¡) ડાલે: +કૂટશબà«àª¦ પà«àª¨àªƒ નાખો: +&કૂટશબà«àª¦(પાસવરà«àª¡) દિખાવો +કૂટશબà«àª¦ સહેજેલાંથી જà«àª¦à«‚ં છે +કૂટશબà«àª¦ માટે ફકà«àª¤ ઇંગà«àª²àª¿àª¶ વરà«àª£àª®àª¾àª²àª¾, અંકો અને વિશેષ અકà«àª·àª°à«‹àª‚ (!, #, $, ...) નો જ ઉપયોગ કરો +કૂટશબà«àª¦ ખૂબ જ મોટà«àª‚ છે +કૂટશબà«àª¦(પાસવરà«àª¡) +3900 +વà«àª¯àª¤à«€àª¤ સમય: +શેષ બચેલà«àª‚ સમય: +કà«àª² આકાર: +ગતિ: +પà«àª°àª•à«àª°àª¿àª¯àª¾ કરેલà«àª‚: +દબાવાનà«àª‚(આકાર છોટા કરવાનà«àª‚)અનà«àªªàª¾àª¤: +તà«àª°à«àªŸàª¿àª¯àª¾àª: +સંગà«àª°àª¹: +4000 +સંગà«àª°àª¹àª®àª¾àª‚ જોડો +&સંગà«àª°àª¹: +&અદà«àª¯àª¤àª¨à«€àª•રણ સà«àª¥àª¿àª¤àª¿(મોડ): +સંગà«àª°àª¹ &ઢાàªàªšàª¾: +&સંકà«àªšàª¨ સà«àª¤àª°: +&સંકà«àªšàª¨ વિધિ: +&શબà«àª¦àª•ોશ આકાર: +&શબà«àª¦ આકાર: +ઠોસ ટà«àª•ડાનો આકાર: +સીપીયૂ સૂતà«àª° સંખà«àª¯àª¾: +&પરિમાપ: +વિકલà«àªª +&àªàª¸àªàª«àª¼àªàª•à«àª¸(SFX) સંગà«àª°àª¹ તૈયાર કરો +સાàªà«€ ફાઇલો સંકà«àªšàª¿àª¤ કરો +ગà«àªªà«àª¤àª¿àª•રણ +ગà«àªªà«àª¤àª¿àª•રણ પદà«àª§àª¤àª¿: +ફ઼ાઇલ &નામ ગà«àªªà«àª¤àª¿àª•રણ કરો +સંકà«àªšàª¨ માટે સà«àª®à«ƒàª¤àª¿ પà«àª°àª¯à«‹àª—: +પà«àª°àª¸àª¾àª°àª£ માટે સà«àª®à«ƒàª¤àª¿ પà«àª°àª¯à«‹àª—: +4050 +ભંડારણ +સરà«àªµàª¾àª§àª¿àª• તેજ +તેજ +સાધારણ +અધિકતમ +અતà«àª¯àª¨à«àª¤ +4060 +ફ઼ાઇલેં જોડો અને પà«àª°àª¤àª¿àª¸à«àª¥àª¾àªªàª¿àª¤ કરો +ફાઇલો અદà«àª¯àª¤àª¨à«€àª•ૃત કરો અને જોડો +અવસà«àª¥àª¿àª¤ ફાઇલોં તાજા કરો +ફાઇલોં સમકà«àª°àª®àª£(સિંકà«àª°à«‹àª¨àª¾àªˆàªœàª¼) કરો +4070 +બà«àª°àª¾àª‰àªœ યા ઘૂમો +બધા ફાઇલોં +અ-ઠોસ +ઠોસ +6000 +નકલ +લઇ જાઓ +માં નકલ: +માં લઇ જાઓ: +નકલ... +લઇ જાઇ રહà«àª¯à« છે... +પà«àª¨àªƒ નામકરણ... +ગનà«àª¤àªµà«àª¯ ફોલà«àª¡àª° ચયનિત કરો. +આ ફોલà«àª¡àª° માટે આ સઞà«àªšàª¾àª²àª¨ કà«àª°àª¿àª¯àª¾ સમરà«àª¥àª¿àª¤ નથી. +ફ઼ાઇલ કે ફ઼ોલà«àª¡àª°àª¨àª¾ પà«àª¨àªƒ નામકરણ માં તà«àª°à«àªŸàª¿ +ફ઼ાઇલની નકલ કરવૠપાકà«àª•à«àª‚ કરો +તમે સંગà«àª°àª¹àª®àª¾àª‚ ફાઇલ ની પà«àª°àª¤àª¿àª²àª¿àªªàª¿ કરવા ચાહો છો શà«àª‚ તમને યકીન છે +6100 +ફ઼ાઇલ મિટાવો આ પાકà«àª•à«àª‚ કરો +ફ઼ોલà«àª¡àª° મિટાવો પાકà«àª•à«àª‚ કરો +અનેક ફ઼ાઇલ મિટાવો પાકà«àª•à«àª‚ કરો +શà«àª‚ તમને યકીન છે કે તમે મેટવવા ચાહો છો '{0}'? +શà«àª‚ તમને યકીન છે કે તમે ફ઼ોલà«àª¡àª° મિટાવવા માંગો છો ’{0}' અને આની બધી સામગà«àª°à«€ પણ? +શà«àª‚ તમને યકીન છે કે તમે મિટાવવા માંગો છો આ {0} વસà«àª¤à«àª“ં ને? +મેટવી રહà«àª¯à« છે... +ફ઼ાઇલ કિંવા ફ઼ોલà«àª¡àª° મિટાવામાં તà«àª°à«àªŸàª¿ +તંતà«àª° લાંબા મારà«àª— વાલી ફાઇલને પà«àª¨àªƒàªšàª•à«àª°àª£ પેટી(રિસાઈકલ બિન)માં નથી લઇ જાઇ શકતà«. +6300 +ફ઼ોલà«àª¡àª° તૈયાર કરો +ફ઼ાઇલ તૈયાર કરો +ફ઼ોલà«àª¡àª° નામ: +ફ઼ાઇલ નામ: +નવૠફ઼ોલà«àª¡àª° +નવી ફ઼ાઇલ +ફ઼ોલà«àª¡àª° તૈયાર કરવામાં તà«àª°à«àªŸàª¿ +ફ઼ાઇલ તૈયાર કરવામાં તà«àª°à«àªŸàª¿ +6400 +ટિપà«àªªàª£à«€ +&ટિપà«àªªàª£à«€: +ચયન +ચયન રદà«àª¦ +મà«àª–ૌટો: +6600 +ગà«àª£ યા સંપતà«àª¤àª¿àª¯àª¾àª +ફ઼ોલà«àª¡àª°à«‹àª‚નો ઇતિહાસ +નિદાનાતà«àª®àª• સંદેશ +સંદેશ +7100 +સંગણક +સઞà«àªœàª¾àª² +દસà«àª¤àª¾àªµà«‡àªœ +પà«àª°àª£àª¾àª²à«€ +7200 +જોડો +બાહર કાઢો +પરીકà«àª·àª£ +નકલ +લઈ જાઓ +મિટાવો +સૂચના +7300 +ફ઼ાઇલનà«àª‚ વિભાજન કરો +&માં વિભાજન: +જતà«àª¥àª¾àª“માં વિભાજન, બાઇટà«àª¸: +વિભાજન કરી રહà«àª¯à« છે... +વિભાજન કરવાનà«àª‚ પાકà«àª•à«àª‚ કરો +શà«àª‚ તમને યકીન છે કે તમે ફાઇલ ને {0} જતà«àª¥àª¾àª“માં વિભાજિત કરવા માગો છો? +મૂલ ફાઇલના આકારની તà«àª²àª¨àª¾àª®àª¾àª‚ જતà«àª¥àª¾àª¨à«àª‚ આકાર નાનો જ હોવો જોઇઠ+જતà«àª¥àª¾àª¨à«‹ આકાર ખોટà«àª‚ છે +નિરà«àª¦à«‡àª¶àª¿àª¤ જતà«àª¥àª¾ આકાર: {0} બાઇટસ.\n આપ સંગà«àª°àª¹àª¨à«‡ àªàªµàª¾ જતà«àª¥àª¾àª“માં વિભાજિત કરવા ચાહો છો, શà«àª‚ તમને યકીન છે? +7400 +ફાઇલો સંયોજિત કરો +&માં સંયોજન કરો: +સંયોજન થઇ રહà«àª¯à« છે... +વિભાજિત ફાઇલનો ફકà«àª¤ પà«àª°àª¥àª® ભાગ જ ચયનિત કરો +ફાઇલ ને વિભાજિત ફાઇલના ભાગના રૂપમાં ઓળખી નથી શકતૠ+વિભાજિત ફાઇલના àªàª• થી વધારે ભાગ શોધી નથી શકતૠ+7500 +જાàªàªšàª¯à«‹àª—(ચેકસમ)ની ગણના કરી રહà«àª¯à« છે... +જાàªàªšàª¯à«‹àª—(ચેકસમ) માહિતી +સીઆરસી જાàªàªšàª¯à«‹àª—(ચેકસમ) આàªàª•ડ઼ોં માટે : +સીઆરસી જાàªàªšàª¯à«‹àª—(ચેકસમ) આàªàª•ડ઼ોં અને નામોં માટે : +7600 +(કસૌટી ચિનà«àª¹)બેઞà«àªšàª®àª¾àª°à«àª• +સà«àª®à«ƒàª¤àª¿ ઉપયોગ: +સંકà«àªšàª¨ કરી રહà«àª¯à«àª‚ છે +પà«àª°àª¸àª¾àª°àª£ કરી રહà«àª¯à«àª‚ છે +કà«àª°àª®àª¾àª‚કન +કà«àª² કà«àª°àª®àª¾àª‚કન +વરà«àª¤àª®àª¾àª¨ +પરિણામ +સીપીયૂ ઉપયોગ +કà«àª°àª®àª¾àª‚કન / ઉપયોગ +પાસ: diff --git a/Utils/7-Zip/Lang/he.txt b/Utils/7-Zip/Lang/he.txt new file mode 100644 index 000000000..c4e9d39d9 --- /dev/null +++ b/Utils/7-Zip/Lang/he.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : peterg +; : Gal Brill +; 9.13 : 2010-04-30 : Jonathan Lahav +; +; +; +; +; +; +; +; +0 +7-Zip +Hebrew +עברית +401 +×ישור +ביטול + + + +&כן +&×œ× +&סגור +עזרה + +×”&משך +440 +כן ל&הכל +ל&× ×œ×”×›×œ +עצור +התחל מחדש +&רקע +&קדמה +×”&שהה +מושהה +?×”×× ×ת/×” בטוח/×” שברצונך לבטל +500 +&קובץ +&עריכה +&תצוגה +&×ž×•×¢×“×¤×™× +&×›×œ×™× +×¢&זרה +540 +&פתח +פתח ב&תוכנה +פתח ב&חלון +&הצג +&ערוך +&שנה ×©× +...העתק ל& +...העבר ל& +&מחק +...פצל קובץ& +...מזג קבצי×& +מ&××¤×™×™× ×™× +הערה +חשב ×¡×™×›×•× ×‘×™×§×•×¨×ª +הבדל +צור תיקייה +צור קובץ +×™&צי××” +600 +בח&ר הכל +בטל בחירה +×”&פוך בחירה +...בחר +...בטל בחירה +בחר לפי סוג +בטל בחירה לפי סוג +700 +×¡×ž×œ×™× &×’×“×•×œ×™× +×¡×ž×œ×™× &×§×˜× ×™× +&רשימה +&×¤×¨×˜×™× +730 +×œ× ×ž×¡×•×“×¨ +תצוגה בפריסה מל××” +&שני חלונות +&סרגלי ×›×œ×™× +פתח תיקיית שורש +חזור שלב ×חד +...היסטוריית תיקיות +ר&ענן +750 +סרגל ×רכיון +סרגל רגיל +×›×¤×ª×•×¨×™× ×’×“×•×œ×™× +הצג ×ת פעולת הכפתור מתחתיו +800 +&הוסף תיקייה ×œ×ž×•×¢×“×¤×™× ×› +סימנייה +900 +&...×פשרויות +&מבחן ×‘×™×¦×•×¢×™× +960 +&...תוכן +&...7-Zip ×ודות +1003 +נתיב +×©× +סיומת +תיקייה +גודל +גודל מכווץ +תכונות +נוצר +נצפה +השתנה +רצוף +נרשמה הערה +הוצפן +פצל לפני +פצל ×חרי +מילון +CRC +סוג +×נטי +שיטה +מערכת הפעלה +מערכת ×§×‘×¦×™× +משתמש +קבוצה +קטע +הערה +×ž×™×§×•× +תחילית נתיב +תיקיות +×§×‘×¦×™× +גירסה +חלק +ריבוי ×—×œ×§×™× +קיזוז +×§×™×©×•×¨×™× +×§×˜×¢×™× +×—×œ×§×™× + +64ביט +×חסון בסדר חשיבות יורד +מש×בי מערכת/מעבד +גודל פיזי +גודל כותרת עליונה +בדיקת ×¡×™×›×•× +מ××¤×™×™× ×™× +כתובת וירטו×לית +מס' זיהוי +×©× ×§×¦×¨ +תוכנה יוצרת +גודל סקטור +מצב +קישור +שגי××” +גודל כללי +שטח פנוי +גודל קלסטר/יחידת ×חסון +תווית +×©× ×ž×§×•×ž×™ +ספק +2100 +×פשרויות +Language / שפה +Language / שפה: +עורך +&עורך: +&הבדל: +2200 +מערכת +7-Zip שייך ל : +2301 +שלב ×ת התוכנה בתפריט-ההקשר הכללי +תפריט מדורג +פריטי תפריט: +2320 +<תיקייה> +<×רכיון> +פתח ×רכיון +...חלץ ×§×‘×¦×™× +...הוסף ל×רכיון +בדוק ×רכיון +חלץ לכ×ן +{0} -חלץ ל +{0} -הוסף ל +כווץ ושלח בדו×ר ×לקטרוני +כווץ ל- {0} ושלח בדו×ר ×לקטרוני +2400 +תיקיות +&תיקיית עבודה +של המ&ערכת "Temp" תיקיית ×” +&נוכחית +&בחר תיקייה: +השתמש בהגדרות ×לו עבור ×›×•× × ×™× × ×™×™×“×™× ×‘×œ×‘×“ +.בחר ×ž×™×§×•× ×œ×§×‘×¦×™ ×רכיון ×–×ž× ×™×™× +2500 +הגדרות +".." הצג ×ת הפריט +הצג סמלי ×§×‘×¦×™× ××ž×™×ª×™×™× +הצג ×ת תפריט המערכת +בחר ×ת כל ×”&שורה +הצג קווי &טבלה +לחיצה ×חת לפתיחת פריט +שיטת &בחירה חלופית +השתמש בקטעי זיכרון &×’×“×•×œ×™× ×™×•×ª×¨ +2900 +7-Zip ×ודות +זו ×”×™× ×ª×•×›× ×” חופשית. ×¢× ×–×ת, ביכולתך לתמוך בפיתוח התוכנה על ידי הרשמה +3000 +המערכת ××™× ×” יכולה להקצוות ×ת כמות הזיכרון הדרושה +×ין שגי×ות +(נבחרו {0} פריט(×™× +'{0}' ×ין ×פשרות ליצור ×ת התיקייה +.פעולות עדכון ×œ× × ×ª×ž×›×•×ª עבור ×רכיון ×–×” +'×œ× ×”×™×” ניתן לפתוח ×ת הקובץ '{0}' ×›×רכיון +'?×œ× ×”×™×” ניתן לפתוח ×ת ×”×רכיון המקודד '{0}'. ×¡×™×¡×ž× ×©×’×•×™×™×” +סוג ×רכיון ×ינו נתמך +הקובץ {0} כבר ×§×™×™× +?×”×× ×‘×¨×¦×•× ×š לעדכן ×ותו ב×רכיון\n.הקובץ '{0}' שונה +'{0}'\n×ין ×פשרות לעדכן ×ת הקובץ +.×ין ×פשרות להפעיל ×ת העורך +(ייתכן והקובץ היינו וירוס (×™×©× × ×¨×•×•×—×™× ×’×“×•×œ×™× ×‘×©× ×”×§×•×‘×¥ +.הפעולה ××™× ×” יכולה להתבצע מתיקייה בעלת נתיב ×רוך +הינך חייב/ת לבחור קובץ ×חד +הינך חייב לבחור קובץ ×חד ×ו יותר +יותר מדי ×¤×¨×™×˜×™× +3300 +מחלץ +מכווץ +בודק +...פותח +...סורק +3400 +חלץ +&חלץ ל: +.ציין יעד לחילוץ ×”×§×‘×¦×™× +3410 +שיטת ×”× ×ª×™×‘×™× +× ×ª×™×‘×™× ×ž×œ××™× +×œ×œ× × ×ª×™×‘×™× +3420 +מצב שכתוב ×§×‘×¦×™× +ש×ל לפני שכתוב +שכתב בלי לש×ול +דלג על ×§×‘×¦×™× ×§×™×™×ž×™× +שינוי ×©× ×וטומטי +שינוי ×©× ×וטומטי ×œ×§×‘×¦×™× ×§×™×™×ž×™× +3500 +×שר החלפת קובץ +.תיקיית היעד מכילה כבר קובץ ×‘×©× ×–×” +×”×× ×‘×¨×¦×•× ×š להחליף ×ת הקובץ ×”×§×™×™× +?בקובץ ×”×–×” +{בתי×: {0 +שינוי ×©× &×וטומטי +3700 +.'{0}' שיטת הדחיסה ××™× ×” נתמכת עבור +.שגי×ת מידע ב '{0}'. הקובץ ×ינו תקין +.בדיקת ×¡×›×•× ×”× ×ª×•× ×™× × ×›×©×œ×” ב '{0}'. הקובץ ×ינו תקין +'?שגי×ת נתון בקובץ המקודד '{0}'. ×¡×™×¡×ž× ×©×’×•×™×™×” +'?שגי××” בבדיקת ×¡×›×•× ×”× ×ª×•× ×™× ×‘×§×•×‘×¥ המקודד '{0}'. ×¡×™×¡×ž× ×©×’×•×™×™×” +3800 +הכנס ×¡×™×¡×ž× +הכנס סיסמ×: +הכנס שנית ×ת הסיסמ×: +&הצג ×¡×™×¡×ž× +הסיסמ×ות ×ינן תו×מות +(!, #, $, ...) ליצירת ×”×¡×™×¡×ž× ×”×©×ª×ž×© רק ב×ותיות ×נגליות, ×ž×¡×¤×¨×™× ×ו ×ª×•×•×™× ×ž×™×•×—×“×™× +×”×¡×™×¡×ž× ×רוכה מידי +×¡×™×¡×ž× +3900 +הזמן שעבר: +הזמן שנותר: +גודל כולל: +מהירות: +התקדמות: +יחס כיווץ: +שגי×ות: +×רכיוני×: +4000 +הוסף ל×רכיון +&×רכיון: +מצב &עדכון: +&פורמט ×”×רכיון: +רמת &דחיסה: +&שיטת דחיסה: +גודל מי&לון: +גודל &מילה: +גודל קטע רצוף: +כמות הליכי מעבד/מערכת: +&פרמטרי×: +×פשרויות +צור ×רכיון &חילוץ-עצמי +דחוס ×§×‘×¦×™× ×©×‘×©×™×ª×•×£ +הצפנה +שיטת הצפנה: +&קדד שמות ×§×‘×¦×™× +זיכרון הדרוש לדחיסה: +זיכרון הדרוש לחילוץ: +4050 +×חסון +×”×›×™ מהירה +מהירה +רגילה +מקסימ×לית +×ולטרה +4060 +הוסף והחלף ×§×‘×¦×™× +עדכן והוסף ×§×‘×¦×™× +רענן ×§×‘×¦×™× ×§×™×™×ž×™× +סנכרן ×§×‘×¦×™× +4070 +עיון +כל ×”×§×‘×¦×™× +×œ× ×¨×¦×•×£ +רצוף +6000 +העתק +העבר +העתק ל: +העבר ל: +...מעתיק +...מעביר +...משנה ×©× +בחר תיקיית יעד. +הפעולה ××™× ×” נתמכת עבור תיקייה זו +×ירעה שגי××” בשינוי ×©× ×©×œ קובץ ×ו תיקייה +×שר העתקת קובץ +?×”×× ×ת/×” בטוח/×” שברצונך להעתיק ×§×‘×¦×™× ×œ×רכיון +6100 +×שר מחיקת קובץ +×שר מחיקת תיקייה +×שר מחיקת מספר ×§×‘×¦×™× +?'{0}' ×”×× ×ת/×” בטוח/×” שברצונך למחוק ×ת +?×”×× ×ת/×” בטוח/×” שברצונך למחוק ×ת התיקייה '{0}' ו×ת כל תוכנה +?×”×× ×ת/×” בטוח/×” שברצונך למחוק ×ת {0} ×”×¤×¨×™×˜×™× ×”×לה +...מוחק +×ירעה שגי××” במהלך מחיקת קובץ ×ו תיקייה +המערכת ××™× ×” יכולה להעביר קובץ ×¢× × ×ª×™×‘ ×רוך לפח המחזור +6300 +צור תיקייה +צור קובץ +×©× ×”×ª×™×§×™×™×”: +×©× ×”×§×•×‘×¥: +תיקייה חדשה +קובץ חדש +שגי××” ביצירת תיקייה +שגי××” ביצירת קובץ +6400 +הערה +&הערה: +בחר +בטל בחירה +מיסוך: +6600 +מ××¤×™×™× ×™× +היסטוריית תיקיות +הודעות ×יבחון +הודעה +7100 +מחשב +רשת +×ž×¡×ž×›×™× +מערכת +7200 +הוסף +חלץ +בדוק +העתק +העבר +מחק +מידע +7300 +פצל קובץ +&פצל ל: +פצל לחלקי×, בתי×: +...מפצל +×שר פיצול +? ×”×× ×ת/×” בטוח/×” שברצונך לפצל ×ת הקובץ ל{0} ×—×œ×§×™× +גודל החלק חייב להיות קטן יותר מהקובץ המקורי +גודל חלק שגוי +?×”×× ×ת/×” בטוח/×” שברצונך לפצל ×ת ×”×רכיון ×œ×—×œ×§×™× ×לה\nגודל החלק המוגדר: {0} ×‘×ª×™× +7400 +מזג ×§×‘×¦×™× +&מזג ל: +...מבצע מיזוג +בחר רק ×ת החלק הר×שון של הקובץ המפוצל +×œ× ×”×™×” ניתן ×œ×ž×¦×•× ×§×•×‘×¥ ×©×”×•× ×—×œ×§ מהקובץ המפוצל +×œ× × ×™×ª×Ÿ ×œ×ž×¦×•× ×™×•×ª×¨ מחלק ×חד של הקובץ המפוצל +7500 +...מחשב ×¡×™×›×•× ×‘×™×§×•×¨×ª +תוצ×ות ×¡×™×›×•× ×‘×™×§×•×¨×ª +עבור ×”× ×ª×•× ×™× CRC בדיקת ×¡×™×›×•× ×‘×™×§×•×¨×ª : +עבור ×”× ×ª×•× ×™× ×•×©×ž×•×ª CRC בדיקת ×¡×™×›×•× ×‘×™×§×•×¨×ª : +7600 +מבחן ×‘×™×¦×•×¢×™× +זיכרון בשימוש: +מכווץ +מחלץ +קצב +×¡×™×›×•× ×”×§×¦×‘ +נוכחי +סופי +מש×בי מערכת/מעבד +קצב / שימוש +הצלחות: diff --git a/Utils/7-Zip/Lang/hi.txt b/Utils/7-Zip/Lang/hi.txt new file mode 100644 index 000000000..03a75a199 --- /dev/null +++ b/Utils/7-Zip/Lang/hi.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Vinayy Sharrma : अनà¥à¤µà¤¾à¤¦ विनय शरà¥à¤®à¤¾ मेहनत की है तो अपना नाम लिखने मे कोई बà¥à¤°à¤¾à¤ˆ तो है नही. हिनà¥à¤¦à¥€ पर गरà¥à¤µ करो, जय हिनà¥à¤¦ ! जय हिनà¥à¤¦à¥€ ! +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Hindi, Indian, हिनà¥à¤¦à¥à¤¸à¥à¤¤à¤¾à¤¨ +हिनà¥à¤¦à¥€ +401 +ठीक है +रदà¥à¤¦ + + + +&हाठ+&नहीं +&बंद करो +मदद + +&जारी रखे +440 +&सभी के लिये हाठ+&सभी के लिये नहीं +रूको +पà¥à¤¨à¤ƒ शà¥à¤°à¥ करें +&पॄषà¥à¤ à¥à¤­à¥‚मि +&अगà¥à¤°à¤­à¥‚मि(डेसà¥à¤•à¥à¤Ÿà¥‹à¤ª) +&विशà¥à¤°à¤¾à¤® +विशà¥à¤°à¤¾à¤®à¤¿à¤¤ +तà¥à¤® रदà¥à¤¦ करना चाहते हो. तà¥à¤®à¥à¤¹à¥‡à¤‚ यकीन है कà¥à¤¯à¤¾? +500 +&फ़ाइल +&संपादन +&दरà¥à¤¶à¤¨ +&मनपसंद +&औजार +&मदद +540 +&खोले +&अंदर खोले +&बाहर खोले +&दृशà¥à¤¯ +&संपादन +&पà¥à¤¨: नामकरण +&में नकल बनाये... +&में ले जायें... +&मिटायें +&फ़ाइल का विभाजन करें... +&फ़ाइल का संयोजन करें... +&संपतà¥à¤¤à¤¿à¤¯à¤¾à¤ या गà¥à¤£ +&टिपà¥à¤ªà¤£à¥€ +&जाà¤à¤š योग की गणना करें +&अनà¥à¤¤à¤° +&फ़ोलà¥à¤¡à¤° तैयार करें +&फ़ाइल तैयार करें +&निरà¥à¤—मन +600 +&सभी चयन करे +&सभी अचयनित करें +&चयन उलटा करें +चयन करें... +अचयन करे... +पà¥à¤°à¤•ार दà¥à¤µà¤¾à¤°à¤¾ चयन +पà¥à¤°à¤•ार दà¥à¤µà¤¾à¤°à¤¾ अचयन +700 +बड़ी पà¥à¤°à¤¤à¥€à¤• +लघॠपà¥à¤°à¤¤à¥€à¤• +&सूची +&वरà¥à¤£à¤¨ +730 +अवितरित +चौड़ा दृशà¥à¤¯ +&२ फ़लक +&औजार पटà¥à¤Ÿà¥€à¤¯à¤¾à¤ +मूल फ़ोलà¥à¤¡à¤° खोले +à¤à¤• सà¥à¤¤à¤° ऊपर चà¥à¥‡ +फ़ोलà¥à¤¡à¤°à¥‹ का इतिहास... +&ताजा करें +750 +संगà¥à¤°à¤¹ उपकरणपटà¥à¤Ÿà¥€ +मानक औजार पटà¥à¤Ÿà¥€ +बड़े खटके(बटन) +खटके(बटन) के शबà¥à¤¦ दिखायें +800 +&फ़ोलà¥à¤¡à¤° मनपसंद में ऎसे जोड़े... +पà¥à¤¸à¥à¤¤à¤šà¤¿à¤¨à¥à¤¹ +900 +&विकलà¥à¤ª... +&बेञà¥à¤šà¤®à¤¾à¤°à¥à¤•(पà¥à¤°à¤¾à¤®à¤¾à¤£à¤¿à¤• तà¥à¤²à¤¨à¤¾) +960 +&सामगà¥à¤°à¥€... +7-जिप के बारे में... +1003 +मारà¥à¤— +नाम +विसà¥à¤¤à¤¾à¤° +फ़ोलà¥à¤¡à¤° +आकार +कà¥à¤² आकार +विशेषता या गà¥à¤£à¤§à¤°à¥à¤® +सरà¥à¤œà¤¿à¤¤ +चलायी गई +परिवरà¥à¤§à¤¿à¤¤ +ठोस +टिपà¥à¤ªà¤£à¥€ +गà¥à¤ªà¥à¤¤à¤¿à¤•ृत +के पूरà¥à¤µ विभाजन(टà¥à¤•डे) करें +के बाद विभाजन(टà¥à¤•डे) करें +शबà¥à¤¦à¤•ोश +सीआरसी +पà¥à¤°à¤•ार +विरोधी +पदà¥à¤§à¤¤à¤¿ +यजमान आजà¥à¤žà¤¾à¤µà¤²à¥€(ओपरेटिंग सिसà¥à¤Ÿà¤®) +फ़ाइल पà¥à¤°à¤£à¤¾à¤²à¥€ +पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ +समूह +रोक या टà¥à¤•ड़े +पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾ +सà¥à¤¥à¤¾à¤¨ +मारà¥à¤— पà¥à¤°à¤¤à¥à¤¯à¤¯ +फोलà¥à¤¡à¤°à¥à¤¸ +फाइलà¥à¤¸ +संसà¥à¤•रण +जतà¥à¤¥à¤¾ +अनेक जतà¥à¤¥à¥‡ +ओफसेट +कडियाठ+टà¥à¤•ड़े +जतà¥à¤¥à¥‡ + +64-बिट +बड़ा-à¤à¤¨à¥à¤¡à¤¿à¤¯à¤¨ +सीपीयू +भौतिक आकार +शीरà¥à¤·à¤•ों के आकार +जाà¤à¤šà¤¯à¥‹à¤— +चरितà¥à¤°à¤¤à¤¾à¤Žà¤‚ +आभासी पता +आईडी +संकà¥à¤·à¤¿à¤ªà¥à¤¤ नाम +सरà¥à¤œà¤• अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤— +सेकà¥à¤Ÿà¤° का आकार +सà¥à¤¥à¤¿à¤¤à¤¿ +कड़ी +तà¥à¤°à¥à¤Ÿà¤¿ +कà¥à¤² आकार +सà¥à¤µà¤¤à¤¨à¥à¤¤à¥à¤° रिकà¥à¤¤à¤¸à¥à¤¥à¤¾à¤¨(खाली जगह) +कà¥à¤²à¤¸à¥à¤Ÿà¤°(समूह) आकार +धà¥à¤¯à¤¾à¤¨à¤¾à¤•रà¥à¤·à¤•(लेबल) +सà¥à¤¥à¤¾à¤¨à¤¿à¤¯ नाम +पà¥à¤°à¤¦à¤¾à¤¯à¤• +2100 +विकलà¥à¤ª +भाषा +भाषा: +संपादक +&संपादक: +&अनà¥à¤¤à¤°: +2200 +पà¥à¤°à¤£à¤¾à¤²à¥€ या तंतà¥à¤° +संबधित करें 7-जिप के साथ: +2301 +7-जिप के शेल (कवच) पà¥à¤°à¤¸à¤‚ग मेनॠमें जोडें +सोपानीकृत(केसà¥à¤•ेडेड) पà¥à¤°à¤¸à¤‚ग मेनॠ+पà¥à¤°à¤¸à¤‚ग(कोनà¥à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ) मेनॠवसà¥à¤¤à¥à¤à¤: +2320 +<फोलà¥à¤¡à¤°> +<संगà¥à¤°à¤¹(आरà¥à¤šà¤¿à¤µ)> +संगà¥à¤°à¤¹ खोले +फ़ाइलà¥à¤¸ बाहर निकाले... +संगà¥à¤°à¤¹ में जोड़े... +संगà¥à¤°à¤¹ की जाà¤à¤š करे +यहीं बाहर निकाले +{0} में बाहर निकाले +{0} में जोड़े +दबायें(संकà¥à¤šà¤¨) ओर इमेल करें... +{0} में दबायें ओर ईमेल करें +2400 +फ़ोलà¥à¤¡à¤°à¥à¤¸ +&कारà¥à¤¯à¤°à¤¤ फ़ोलà¥à¤¡à¤° +&पà¥à¤°à¤£à¤¾à¤²à¥€ का असà¥à¤¥à¤¾à¤¯à¥€(टेमà¥à¤ªà¤°à¤°à¥€) फोलà¥à¤¡à¤° +&चालू +&निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ: +सिरà¥à¤« हटाने योगà¥à¤¯(रिमूवेबल) डà¥à¤°à¤¾à¤ˆà¤µ के लिये ही पà¥à¤°à¤¯à¥‹à¤— करें +असà¥à¤¥à¤¾à¤¯à¥€ संगà¥à¤°à¤¹ फाइल के लिये सà¥à¤¥à¤¾à¤¨ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ करें(बतायें). +2500 +वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤à¤ +दिखाओ ".."वसà¥à¤¤à¥ +वासà¥à¤¤à¤µà¤¿à¤• फ़ाइल पà¥à¤°à¤¤à¤¿à¤®à¤¾à¤¯à¥‡à¤‚ दिखाओ +तंतà¥à¤° का मेनॠदिखाओ +&पूरी पनà¥à¤•à¥à¤¤à¤¿ का चयन +&गà¥à¤°à¤¿à¤¡(जाल) रेखा दिखाओ +वसà¥à¤¤à¥ खोलने के लिये à¤à¤• ही(सिंगल)-कà¥à¤²à¤¿à¤• +&वैकलà¥à¤ªà¤¿à¤• चयन सà¥à¤¥à¤¿à¤¤à¤¿ +&बड़े सà¥à¤®à¥ƒà¤¤à¤¿ पृषà¥à¤  का पà¥à¤°à¤¯à¥‹à¤— करे +2900 +7-जिप के बारे में +7-जिप यह निःशà¥à¤²à¥à¤• सॉफ़à¥à¤Ÿà¤µà¥‡à¤¯à¤° है. फिर भी, आप पंजीकृत(रजिसà¥à¤Ÿà¤°à¥à¤¡) होकर७-ज़िप के विकास में सहयोग कर सकते हैं. +3000 +तंतà¥à¤° जरूरी मातà¥à¤°à¤¾ में मेमोरी(सà¥à¤®à¥ƒà¤¤à¤¿) वितरित नही कर सकता है +इनमे कोई भी तà¥à¤°à¥à¤Ÿà¤¿ नहीं है +{0} चयनित वसà¥à¤¤à¥(à¤à¤) +'{0}' फ़ोलà¥à¤¡à¤° सरà¥à¤œà¤¿à¤¤ नहीं कर सकता +इस संगà¥à¤°à¤¹ के लिये अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृत संचालन समरà¥à¤¥à¤¿à¤¤ नहीं हैं. +'{0}' फाइल को संगà¥à¤°à¤¹ के रूप में नही खोल सकता +'{0}' गà¥à¤ªà¥à¤¤à¤¿à¤•ृत संगà¥à¤°à¤¹ को नही खोल सकता. गलत कूटशबà¥à¤¦? +असमरà¥à¤¥à¤¿à¤¤ संगà¥à¤°à¤¹ पà¥à¤°à¤•ार +फाइल {0} पहले से मौजूद है +'{0}' फ़ाइल परिवरà¥à¤§à¤¿à¤¤ हà¥à¤ˆ है.\nकà¥à¤¯à¤¾ तà¥à¤® संगà¥à¤°à¤¹ में इसे अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृत करना चाहते हो? +फ़ाइल को अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृत नही कर सकता\n'{0}' +संपादक को शà¥à¤°à¥‚ नही कर सकता. +यह फाइल à¤à¤• विषाणà¥(वायरस) जैसी लगती है(फाइल नाम लंबी खाली जगह नाम में रखता है). +जिस फोलà¥à¤¡à¤° का लंबा मारà¥à¤— है उससे सञà¥à¤šà¤¾à¤²à¤¨ कà¥à¤°à¤¿à¤¯à¤¾ नही बà¥à¤²à¤¾à¤ˆ जा सकती. +तà¥à¤®à¥à¤¹à¥‡ à¤à¤• फाइल का चयन तो करना ही होगा +तà¥à¤®à¥à¤¹à¥‡ à¤à¤• या जà¥à¤¯à¤¾à¤¦à¤¾ फाइलों को चà¥à¤¨à¤¨à¤¾ ही होगा +बहà¥à¤¤ जà¥à¤¯à¤¾à¤¦à¤¾ वसà¥à¤¤à¥à¤à¤ +3300 +बाहर निकाल रहा है +संकà¥à¤šà¤¨ कर रहा है +परीकà¥à¤·à¤£ +खोल रहा है... +तलाशी(सà¥à¤•ैनिंग) कर रहा है... +3400 +बाहर निकाले +&बाहर निकाले: +बाहर निकाली हà¥à¤ˆ फ़ाइलों के लिये सà¥à¤¥à¤¾à¤¨ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ करें. +3410 +मारà¥à¤— सà¥à¤¥à¤¿à¤¤à¤¿ +पूरा मारà¥à¤—नाम +कोई मारà¥à¤— नाम नहीं है +3420 +अधिलेखन रीत +अधिलेखन करने से पहले पूछे +बिना पूछे अधिलेखन(पà¥à¤°à¤¾à¤¨à¥‡ को मिटाना) करें +पहले से मौजूद फ़ाइलस को छोड़े +सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤¨: नामकरण +पहले से मौजूद फ़ाइलस का सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤(ओटोमेटिक) पà¥à¤¨: नामकरण करे +3500 +फ़ाइल पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¨ को पकà¥à¤•ा करें +गनà¥à¤¤à¤µà¥à¤¯ फोलà¥à¤¡à¤° में पहले से ही पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ हà¥à¤ˆ फ़ाइल है. +कà¥à¤¯à¤¾ आप पहले से मौजूद फ़ाइल को बदलना पसंद करेंगे? +इसके साथ? +{0} बाइटà¥à¤¸ +सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤¨: नामकरण +3700 +'{0}' के लिठअसहायक दबाने की पदà¥à¤§à¤¤à¤¿. +डेटा तà¥à¤°à¥à¤Ÿà¤¿'{0}' में. फ़ाइल टूटी हà¥à¤ˆ है. +'{0}' में सीआरसी असफल. फ़ाइल टूटी हà¥à¤ˆ है. +'{0}' गà¥à¤ªà¥à¤¤à¤¿à¤•ृत(à¤à¤¨à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿà¥‡à¤¡) फाइल में डेटा तà¥à¤°à¥à¤Ÿà¤¿. गलत कूटशबà¥à¤¦? +'{0}'गà¥à¤ªà¥à¤¤à¤¿à¤•ृत(à¤à¤¨à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿà¥‡à¤¡) फाइल में सीआरसी असफल. गलत कूटशबà¥à¤¦? +3800 +कूटशबà¥à¤¦(पासवरà¥à¤¡) डाले +कूटशबà¥à¤¦(पासवरà¥à¤¡) डाले: +कूटशबà¥à¤¦ पà¥à¤¨à¤ƒ डाले: +&कूटशबà¥à¤¦(पासवरà¥à¤¡) दिखाओ +कूटशबà¥à¤¦ सहेजे हà¥à¤ से अलग है +कूटशबà¥à¤¦ के लिये सिरà¥à¥ž इंगà¥à¤²à¤¿à¤¶ वरà¥à¤£à¤®à¤¾à¤²à¤¾, अंको और विशेष अकà¥à¤·à¤°à¥‹à¤‚ (!, #, $, ...) का ही उपयोग करें +कूटशबà¥à¤¦ बहà¥à¤¤ जà¥à¤¯à¤¾à¤¦à¤¾ बड़ा है +कूटशबà¥à¤¦(पासवरà¥à¤¡) +3900 +वà¥à¤¯à¤¤à¥€à¤¤ समय: +बाकी बचा समय: +कà¥à¤² आकार: +गति: +पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ किया हà¥à¤†: +दबाने(आकार छोटा करने) का अनà¥à¤ªà¤¾à¤¤: +तà¥à¤°à¥à¤Ÿà¤¿à¤¯à¤¾à¤: +संगà¥à¤°à¤¹: +4000 +संगà¥à¤°à¤¹ में जोड़े +&संगà¥à¤°à¤¹: +&अदà¥à¤¯à¤¤à¤¨à¥€à¤•रण सà¥à¤¥à¤¿à¤¤à¤¿(मोड): +संगà¥à¤°à¤¹ &ढाà¤à¤šà¤¾: +&संकà¥à¤šà¤¨ सà¥à¤¤à¤°: +&संकà¥à¤šà¤¨ विधि: +&शबà¥à¤¦à¤•ोश आकार: +&शबà¥à¤¦ आकार: +ठोस टà¥à¤•डे का आकार: +सीपीयू सूतà¥à¤° संखà¥à¤¯à¤¾: +&परिमाप: +विकलà¥à¤ª +&à¤à¤¸à¤à¥žà¤à¤•à¥à¤¸(SFX) संगà¥à¤°à¤¹ तैयार करें +साà¤à¥€ फाइलें संकà¥à¤šà¤¿à¤¤ करें +गà¥à¤ªà¥à¤¤à¤¿à¤•रण +गà¥à¤ªà¥à¤¤à¤¿à¤•रण पदà¥à¤§à¤¤à¤¿: +फ़ाइल &नाम गà¥à¤ªà¥à¤¤à¤¿à¤•रण करें +संकà¥à¤šà¤¨ के लिये सà¥à¤®à¥ƒà¤¤à¤¿ पà¥à¤°à¤¯à¥‹à¤—: +पà¥à¤°à¤¸à¤¾à¤°à¤£ के लिये सà¥à¤®à¥ƒà¤¤à¤¿ पà¥à¤°à¤¯à¥‹à¤—: +4050 +भणà¥à¤¡à¤¾à¤°à¤£ +सरà¥à¤µà¤¾à¤§à¤¿à¤• तेज +तेज +साधारण +अधिकतम +अतà¥à¤¯à¤¨à¥à¤¤ +4060 +फ़ाइलें जोड़े और पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ करे +फ़ाइले अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृत करें और जोड़े +अवसà¥à¤¥à¤¿à¤¤ फ़ाइलें ताजा करें +फाइलें समकà¥à¤°à¤®à¤£(सिंकà¥à¤°à¥‹à¤¨à¤¾à¤ˆà¥›) करें +4070 +बà¥à¤°à¤¾à¤‰à¤œ या घूमे +सभी फ़ाइलें +अ-ठोस +ठोस +6000 +नकल +ले जायें +में नकल: +में ले जायें: +नकल... +ले जा रहा है... +पà¥à¤¨: नामकरण... +गनà¥à¤¤à¤µà¥à¤¯ फोलà¥à¤¡à¤° चयनित करें. +इस फोलà¥à¤¡à¤° के लिये यह सञà¥à¤šà¤¾à¤²à¤¨ कà¥à¤°à¤¿à¤¯à¤¾ समरà¥à¤¥à¤¿à¤¤ नहीं है. +फ़ाइल या फ़ोलà¥à¤¡à¤° के पà¥à¤¨: नामकरण में तà¥à¤°à¥à¤Ÿà¤¿ +फ़ाइल की नकल करना पकà¥à¤•ा करो +तà¥à¤® संगà¥à¤°à¤¹ में फाइल की पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ करना चाहते हो कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन है +6100 +फ़ाइल मिटाये यह पकà¥à¤•ा करो +फ़ोलà¥à¤¡à¤° मिटायें पकà¥à¤•ा करो +अनेक फ़ाइल मिटायें पकà¥à¤•ा करो +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन है कि तà¥à¤® मिटाना चाहते हो '{0}'? +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन है कि तà¥à¤® फ़ोलà¥à¤¡à¤° मिटाना चाहते हो '{0}' और इसकी सब सामगà¥à¤°à¥€ भी? +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन है कि तà¥à¤® मिटाना चाहते हो इन {0} वसà¥à¤¤à¥à¤“ं को? +मिटा रहा है... +फ़ाइल किंवा फ़ोलà¥à¤¡à¤° मिटाने में तà¥à¤°à¥à¤Ÿà¤¿ +तंतà¥à¤° लंबे मारà¥à¤— वाली फाइल को पà¥à¤¨à¤ƒà¤šà¤•à¥à¤°à¤£ पेटी(रिसाईकल बिन) में नही ले जा सकता है. +6300 +फ़ॊलà¥à¤¡à¤° तैयार करें +फ़ाइल तैयार करें +फ़ोलà¥à¤¡à¤° नाम: +फ़ाइल नाम: +नया फ़ॊलà¥à¤¡à¤° +नया फ़ाइल +फ़ोलà¥à¤¡à¤° तैयार करने में तà¥à¤°à¥à¤Ÿà¤¿ +फ़ाइल तैयार करने में तà¥à¤°à¥à¤Ÿà¤¿ +6400 +टिपà¥à¤ªà¤£à¥€ +&टिपà¥à¤ªà¤£à¥€: +चयन +चयन रदà¥à¤¦ +मà¥à¤–ौटा: +6600 +गà¥à¤£ या संपतà¥à¤¤à¤¿à¤¯à¤¾à¤ +फ़ोलà¥à¤¡à¤°à¥‹à¤‚ का इतिहास +निदानातà¥à¤®à¤• संदेश +संदेश +7100 +संगणक +सञà¥à¤œà¤¾à¤² +दसà¥à¤¤à¤¾à¤µà¥‡à¤œ +पà¥à¤°à¤£à¤¾à¤²à¥€ +7200 +जोड़े +बाहर निकाले +परीकà¥à¤·à¤£ +नकल +ले जायें +मिटायें +सूचना +7300 +फ़ाइल का विभाजन करें +&में विभाजन: +जतà¥à¤¥à¥‹à¤‚ में विभाजन, बाइटà¥à¤¸: +विभाजन कर रहा है... +विभाजन करना पकà¥à¤•ा करे +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन है कि तà¥à¤® फाइल को {0} जतà¥à¤¥à¥‹à¤‚ में विभाजित करना चाहते हो? +मूल फाइल के आकार की तà¥à¤²à¤¨à¤¾ में जतà¥à¤¥à¥‡ का आकार छोटा ही होना चाहिठ+जतà¥à¤¥à¥‡ का आकार गलत है +निरà¥à¤¦à¥‡à¤¶à¤¿à¤¤ जतà¥à¤¥à¤¾ आकार: {0} बाइटस.\n आप संगà¥à¤°à¤¹ को ऎसे जतà¥à¤¥à¥‹à¤‚ में विभाजित करना चाहते है, कà¥à¤¯à¤¾ आपको यकीन है? +7400 +फ़ाइले संयोजित करें +&मेंसंयोजन करे: +संयोजन हो रहा है... +विभाजित फाइल का सिरà¥à¥ž पà¥à¤°à¤¥à¤® भाग ही चयनित करे +फाइल को विभाजित फाइल के भाग के रूप में पहचान नही सकता +विभाजित फाइल का à¤à¤• से जà¥à¤¯à¤¾à¤¦à¤¾ भाग नही ढूà¤à¤¢ सकता +7500 +जाà¤à¤šà¤¯à¥‹à¤—(चेकसम) की गणना कर रहा है... +जाà¤à¤šà¤¯à¥‹à¤—(चेकसम) माहिती +सीआरसी जाà¤à¤šà¤¯à¥‹à¤—(चेकसम) आà¤à¤•ड़ों के लिये : +सीआरसी जाà¤à¤šà¤¯à¥‹à¤—(चेकसम) आà¤à¤•ड़ों और नामों के लिये : +7600 +(कसौटी चिनà¥à¤¹)बेञà¥à¤šà¤®à¤¾à¤°à¥à¤• +सà¥à¤®à¥ƒà¤¤à¤¿ उपयोग: +संकà¥à¤šà¤¨ कर रहा है +पà¥à¤°à¤¸à¤¾à¤°à¤£ हो रहा है +कà¥à¤°à¤®à¤¾à¤‚कन +कà¥à¤² कà¥à¤°à¤®à¤¾à¤‚कन +वरà¥à¤¤à¤®à¤¾à¤¨ +परिणाम +सीपीयू उपयोग +कà¥à¤°à¤®à¤¾à¤‚कन / उपयोग +पास: diff --git a/Utils/7-Zip/Lang/hr.txt b/Utils/7-Zip/Lang/hr.txt new file mode 100644 index 000000000..dd61b97a1 --- /dev/null +++ b/Utils/7-Zip/Lang/hr.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 3.12 : Alan Å imek +; 4.53 : Hasan Osmanagić +; 9.07 : +; 15.05 : 2015-06-15 : Stjepan Treger +; +; +; +; +; +; +; +0 +7-Zip +Croatian +Hrvatski +401 +U redu +Odustani + + + +&Da +&Ne +&Zatvori +Pomoć + +Nastavi +440 +Da za &Sve +Ne za Sv&e +&Stani +Ponovi +U pozadini +U prvom planu +&Pauza +Pauzirano +PoniÅ¡titi? +500 +&Datoteke +&UreÄ‘ivanje +&Izgled +Omiljene mape +&Alati +&Pomoć +540 +&Otvori +Ot&vori mapu +Otvori u &sustavu +Iz&gled +&UreÄ‘ivanje +Prei&menuj +&Kopiraj u... +Premje&sti u... +O&briÅ¡i +Podije&li datoteku... +Spo&ji datoteke... +Svojs&tva +Komentar +IzraÄun kontrolnog zbroja +UsporeÄ‘ivanje +Stvo&ri mapu +Stvori &datoteku +&Izlaz +Poveznica +&Alternativni tokovi +600 +Odaberi &sve +PoniÅ¡ti odabir +&Obrni odabir +Odaberi... +PoniÅ¡ti odabir... +Odabir po tipu +PoniÅ¡ti odabir tipa +700 +&Velike ikone +&Male ikone +&Popis +&Detalji +730 +Neso&rtirano +Sadržaj mapa +&2 okna +Alatne &trake +&Korijen +&Nadmapa +ProÅ¡&le mape... +O&svježi +Automatski osvježi +750 +Alatna traka arhiva +Standardna alatna traka +Velike tipke +Prikaži tekst +800 +Dod&aj u popis omiljenih kao +ZabiljeÅ¡ka +900 +&Mogućnosti... +M&jerenje +960 +&7-Zip pomoć... +&O programu... +1003 +Putanja +Prema nazivu +Tip +Mapa +Prema veliÄini +Sažeta veliÄina +Atributi +Kreirano +Pristupano +Prema mijenjanju +Zbijeno +Komentar +Enkripcija +Podjeli prije +Podjeli poslije +RjeÄnik + +Prema tipu +Anti +NaÄin +Glavni OS +Sustav datoteka +Korisnik +Grupa +Zbijeno +Komentar +Pozicija +U datoteci +Mape +Datoteke +InaÄica +Dio +ViÅ¡edijelni +Razmak +Veza +Blokovi +Dijelova + +64-bitno +Big-endian +CPU +FiziÄka veliÄina +VeliÄina zaglavlja +Kontrolni zbroj +Karakteristike +Virtualna adresa +Jedinstvena oznaka +Kratko ime +Aplikacija stvaranja +VeliÄina sektora +NaÄin +Poveznica +GreÅ¡ka +Ukupni kapacitet +Slobodni prostor +VeliÄina klastera +Naziv +Lokalni naziv +Pružatelj +NT sigurnost +Alternativni tok +Dodatno +Obrisano +Je stablo + + +Tip greÅ¡ke +GreÅ¡ke +GreÅ¡ke +Upozorenja +Upozorenje +Tokovi +Alternativni tokovi +VeliÄina alternativnih tokova +Virtualna veliÄina +VeliÄina raspakiranog +Ukupna fiziÄka veliÄina +Indeks dijela +Podtip +Kratki komentar +Kodna stranica + + + +VeliÄina repa +VeliÄina ugraÄ‘enog odsjeÄka +Poveznica +ÄŒvrsta poveznica +iNode + +Samo za Äitanje +2100 +Mogućnosti +Jezik +Jezik: +UreÄ‘ivaÄ +&Program za ureÄ‘ivanje: +Program za usporeÄ‘ivanje: +2200 +Sustav +Poveži 7-Zip sa: +Svi korisnici +2301 +Integriraj 7-Zip u padajući kontekstni izbornik +Padajući kontekstni izbornik +Stavke kontekstnog izbornika: +Ikone kontekstnog izbornika +2320 + + +Otvori arhiv +Raspakiraj datoteke... +Dodaj u arhiv... +Testiraj arhiv +Raspakiraj ovdje +Raspakiraj u {0} +Dodaj u {0} +Sažimanje i slanje e-poÅ¡tom +Sažimanje u {0} i slanje e-poÅ¡tom +2400 +Mape +&Radna mapa +&Privremena sistemska mapa +&Trenutna +&Navedena: +Koristi samo za izmjenjive diskove +Lokaciju za smjeÅ¡taj privremenih datoteka. +2500 +Postavke +Nadmapa ".." +Prikaži prave ikone datoteka +Prikaži sistemski izbornik +&OznaÄi cijeli redak +Prikaži &linije mreže +Jedan klik za otvaranje stavke +Drugi n&aÄin oznaÄavanja +Koristi raspo&loživu memoriju +2900 +O 7-Zip-u +7-Zip je besplatan softver. +3000 +Sustav ne može pripremiti potrebnu koliÄinu memorije +Nema greÅ¡aka +{0} objekt(a) izabrano +Ne mogu kreirati mapu '{0}' +Obnova nije podržana za ovaj arhiv. +Nemoguće otvoriti datoteku '{0}' kao arhiv +Nemoguće otvoriti kriptiranu arhivu '{0}'. Kriva lozinka? +Tip arhive nije podržan +Datoteka {0} već postoji +Datoteka '{0}' je izmijenjena.\nObnoviti arhiv? +Nije moguće obnoviti datoteku\n'{0}' +Nije moguće zapoÄeti ureÄ‘ivanje. +Datoteka izgleda kao virus (naziv datoteke sadrži dugaÄke razmake). +Operaciju nemoguće pozvati iz mape koja ima dugaÄku putanju. +Morate obilježiti jednu datoteku +Morate obilježiti jednu ili viÅ¡e datoteka +PreviÅ¡e stavki +Nemoguće otvoriti datoteku kao {0} arhivu +Datoteka je otvorena kao {0} arhiva +Arhiva je otvorena sa pomakom +3300 +Raspakiranje +Sažimanje u arhiv +Testiranje +Otvaranje u tijeku... +Skeniram... +Uklanjanje +3320 +Dodavanje +Ažuriranje +Analiziranje +Replikiranje +Repakiranje +Preskakanje +Brisanje +Stvaranje zaglavlja +3400 +Raspakiraj +&Raspakiraj u: +Lokacija za raspakiranje datoteka. +3410 +Putanja mapa: +Potpune putanje +Bez putanja +Apsolutne putanje +Relativne putanje +3420 +NatpiÅ¡i postojeće +Pitaj prije natpisivanja postojećeg +NatpiÅ¡i postojeće bez upozorenja +PreskoÄi postojeće datoteke +Automatska promjena naziva +Automatska promjena naziva postojećih datoteka +3430 +Eliminiraj dupliranje korijenske mape +Vrati sigurnost datoteka +3500 +Potvrdite zamjenu datoteka +Ciljana mapa već sadrži datoteku koja se trenutno obraÄ‘uje. +Zamijeniti postojeću +datoteku s ovom? +{0} bajte +A&utomatska promjena naziva +3700 +Nije podržan naÄin sažimanja za '{0}'. +Podatkovna greÅ¡ka u '{0}'. Datoteka je neispravna. +CRC greÅ¡ka u '{0}'. Datoteka je neispravna. +GreÅ¡ka u kriptiranoj datoteci '{0}'. Kriva lozinka? +CRC greÅ¡ka u kriptiranoj datoteci '{0}'. Kriva lozinka? +3710 +Kriva lozinka? +3721 +Nepodržana metoda kompresije +GreÅ¡ka podataka +CRC neuspjeÅ¡an +Nedostupni podaci +NeoÄekivan kraj podataka +Postoji joÅ¡ podataka nakon glavnih podataka +Nije arhiva +GreÅ¡ka zaglavlja +Kriva lozinka +3763 +NeoÄekivan poÄetak arhive +NepotvrÄ‘en poÄetak arhive + + + +Nepodržano svojstvo +3800 +Unesite lozinku +Unesite lozinku: +Ponovite lozinku: +&Prikaži lozinku +Lozinka nije jednaka +Koristite samo engleska slova, brojeve i specijalne znake (!, #, $, ...) za lozinku +Lozinka je preduga +&Lozinka +3900 +UtroÅ¡eno vrijeme: +Preostalo vrijeme: +VeliÄina: +Brzina: +ObraÄ‘eno: +Omjer kompresije: +GreÅ¡ke: +Arhive: +4000 +Dodaj u arhiv +&Arhiv: +&NaÄin obnove: +&Format arhiva: +Stupanj sažimanja +&Metoda sažimanja: +VeliÄina &rjeÄnika: +&VeliÄina rijeÄi: +VeliÄina bloka u zbijenom: +Broj niti u CPU: +&Parametri: +&Mogućnosti +Kreiraj E&XE arhiv +Sažmi dijeljene datoteke +Kriptiranje +Metoda kriptiranja: +Enkripcija naziva datoteka +KoriÅ¡tenje memorije za sažimanje: +KoriÅ¡tenje memorije za raspakiranje: +ObriÅ¡i datoteke nakon kompresije +4040 +Spremi simboliÄne poveznice +Spremi Ävrste poveznice +Spremi alternativne tokove podataka +Spremi sigurnost datoteka +4050 +Bez sažimanja +Vrlo brzo +Brzo +UobiÄajeno +NajjaÄe +Ultra +4060 +Dodaj i zamjeni datoteke +Obnovi i dodaj datoteke +Osvježi postojeće datoteke +Sinkroniziraj datoteke +4070 +Traži +Sve datoteke +Bez-zbijanja +Zbijeno +6000 +Kopiraj +Premjesti +Kopiraj u: +Premjesti u: +Kopiranje u tijeku... +PremjeÅ¡tanje u tijeku... +Preimenovanje u tijeku... +Odabir odrediÅ¡ne mape. +Operacija nije podržana. +GreÅ¡ka pri preimenovanju datoteke ili mape +Potvrdite kopiranje datoteka +Kopiranje datoteka u arhiv? +6100 +Potvrdite brisanje datoteke +Potvrdite brisanje mape +Potvrdite viÅ¡estruko brisanje datoteka +Obrisati '{0}'? +Obrisati mapu '{0}' i sav njezin sadržaj? +Obrisati ove {0} podatke? +Brisanje u tijeku... +GreÅ¡ka pri brisanju datoteke ili mape +Sustav ne može premjestiti datoteku sa dugaÄkom putanjom u Kantu za recikliranje +6300 +Kreiraj mapu +Kreiraj datoteku +Naziv mape: +Naziv datoteke: +Nova mapa +Nova datoteka +GreÅ¡ka pri kreiranju mape +GreÅ¡ka pri kreiranju datoteka +6400 +Komentar +&Komentar: +Odaberi +PoniÅ¡ti odabir +Maska: +6600 +Svojstva +Kronologija mapa +DijagnostiÄke poruke +Poruka +7100 +RaÄunalo +Mreža +Dokumenti +Sustav +7200 +Dodaj +Raspakiraj +Testiraj +Kopiraj +Premjesti +ObriÅ¡i +Svojstva +7300 +Podijeli datoteku +&Podijeli u: +Razdvajanje na dijelove, bajta: +Dioba... +Potvrdite diobu +Podijeliti datoteku u {0} dijelova? +VeliÄina diobenog dijela mora biti manja od izvorne datoteke +NetoÄna veliÄina bloka +VeliÄina bloka: {0} bajtova.\nJeste li sigurni da želite podijeliti u takve dijelove? +7400 +Spoji datoteke +&Spoji u: +Spajanje... +OznaÄite samo prvu datoteku +Nije pronaÄ‘ena datoteka koja je dio razdijeljenih datoteka +PronaÄ‘ena samo jedna datoteka od razdijeljenih datoteka +7500 +IzraÄunavanje kontrolnog zbroja... +Info kontrolni zbroj +CRC kontrolni zbroj za podatke: +CRC kontrolni zbroj za podatke i nazive: +7600 +Mjerenje +KoriÅ¡tenje memorije: +Sažimanje +Raspakiranje +Ocjena +Ukupna ocjena +Trenutno +Rezultat +CPU zauzeće +Ocjena / Zauzeće +Prolazi: +7700 +Poveznica +Poveznica +Veza od: +Veza do: +7710 +Tip poveznice +ÄŒvrsta poveznica +SimboliÄna poveznica datoteka +SimboliÄna poveznica mapa +Mapa ÄvoriÅ¡ta diff --git a/Utils/7-Zip/Lang/hu.txt b/Utils/7-Zip/Lang/hu.txt new file mode 100644 index 000000000..b7b40ba94 --- /dev/null +++ b/Utils/7-Zip/Lang/hu.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Jozsef Tamas Herczeg +; 9.16 : Nyilas MISY +; +; +; +; +; +; +; +; +; +0 +7-Zip +Hungarian +Magyar +401 +OK +Mégsem + + + +&Igen +&Nem +&Bezárás +Súgó + +&Folytatás +440 +I&gen, mindre +N&em, mindre +Leállítás +Újraindítás +&Háttérben +&ElÅ‘térben +&Szünet +Szünet +Biztos, hogy megszakítja a folyamatot? +500 +&Fájl +S&zerkesztés +&Nézet +Ked&vencek +&Eszközök +&Súgó +540 +M&egnyitás +Megnyitás &belül +Megnyitás kí&vül +&Nézet +S&zerkesztés +Ãtn&evezés +Más&olás mappába... +Ãt&helyezés mappába... +&Törlés +Fájl&darabolás... +Fájl&egyesítés... +T&ulajdonságok +&Megjegyzés +Checksum számolása +Különbség +Mappa létrehozása +Fájl létrehozása +&Kilépés +600 +Min&d kijelölése +Kijelölés megszüntetése +Kijelölés &megfordítása +Kijelölés... +Megszüntetés... +Kijelölés típus alapján +Megszüntetés típus alapján +700 +&Nagy ikonok +&Kis ikonok +&Lista +&Részletek +730 +Rendezetlen +Lapos ikonok +&2 panel +&Eszköztárak +Gyökérmappa megnyitása +Egy szinttel feljebb +Mappa elÅ‘zmények... +&Frissítés +750 +Archiválás eszköztár +Szokásos eszköztár +Nagy gombok +Szövegcímkék megjelenítése +800 +Mappa &hozzáadása a Kedvencekhez mint +KönyvjelzÅ‘ +900 +&Beállítások... +&Teljesítménymérés +960 +&Tartalomjegyzék... +7-Zip &névjegye... +1003 +Útvonal +Név +Kiterjesztés +Mappa +Méret +Tömörített méret +Attribútumok +Létrehozva +Hozzáférés +Módosítva +Tömör +Megjegyzés +Titkosított +Feldarabolás elÅ‘tt +Feldarabolás után +Szótár +CRC +Típus +Anti +Módszer +Gazda OS +Fájlrendszer +Felhasználó +Csoport +Blokk +Megjegyzés +Pozíció +Útvonal elÅ‘tag +Mappák +Fájlok +Verzió +Kötet +Többkötet +Eltolás +Linkek +Blokkok +Kötetek + +64-bit +Big-endian +CPU +Fizikai méret +Fejlécek mérete +Checksum +Karakterisztika +Virtuális cím +ID +Név rendezése +Alkalmazás készítÅ‘je +Szakasz mérete +Mód +Link +Hiba +Teljes méret +Szabad terület +Kluszterméret +Címke +Helyi név +Szolgáltató +2100 +Beállítások +Nyelv +Nyelv: +SzerkesztÅ‘ +&SzerkesztÅ‘: +&Különbség: +2200 +Rendszer +7-Zip társítása: +2301 +7-Zip hozzáadása a parancsértelmezÅ‘ helyi menüjéhez +LépcsÅ‘zetes helyi menü +Helyi menü elemek: +2320 + + +Archívum megnyitása +Fájlok kibontása... +Hozzáad az archívumhoz... +Archívum tesztelése +Kibontás ide +Kibontás ide: {0} +Hozzáadás: {0} +Tömörítés és küldés... +Tömörítés {0} archívumba és küldés +2400 +Mappák +&Munkamappa +A &rendszer ideiglenes mappája +&Jelenlegi +&Meghatározott: +Csak cserélhetÅ‘ meghajtókhoz +Válassza ki az ideiglenes archív fájlok mappáját. +2500 +Beállítások +A ".." elem látható +Az eredeti fájlikonok láthatók +Látható a rendszermenü +&Teljes soros kijelölés +&Rácsvonalak kijelzése +Elem megnyitása egyszeres kattintással +&Alternativ kiválasztási mód +&Nagy memória haszálata +2900 +A 7-Zip névjegye +A 7-Zip ingyenes szoftver. Ha elnyerte a tetszését, s mégis szeretné támogatni a további fejlesztését, regisztrálja 20 USD áron, fizethet hitelkártyával vagy más módon. +3000 +A rendszer nem tudja lefoglalni a szükséges memóriát +Az archívum hibamentes +{0} objektum kijelölve +A(z) '{0}' mappát nem lehet létrehozni +Az aktualizálás ennél az archívumtípusnál nem támogatott. +A(z) '{0}' fájl nem nyitható meg archívként +A(z) '{0}' titkosított archívum nem megnyitható. Hibás a jelszó? +Nem támogatott archívum típus +A(z) {0} fájl már létezik +'{0}'\nA fájl tartalma megváltozott.\nKívánja aktualizálni az archívumban? +A fájl nem aktualizálható:\n'{0}' +A szerkesztÅ‘ nem indítható. +A fájl vírusnak néz ki (a fájlnév hosszú szóközt tartalmaz a nevében). +A művelet nem hívható meg abból a mappából amelynek hosszú az elérési útvonala. +Egy fájlt ki kell jelölnie! +Egy vagy több fájlt ki kell jelölnie +Túl sok elem +3300 +Kibontás +Tömörítés +Tesztelés +Megnyitás... +Vizsgálat... +3400 +Kibontás +&Kibontás ide: +Határozza meg a kibontott fájlok tárolómappáját. +3410 +Útvonal +Teljes útvonal +Nincs útvonal +3420 +Felülírás +Rákérdezés felülírás elÅ‘tt +Felülírás rákérdezés nélkül +A létezÅ‘ fájlok kihagyása +Automatikus átnevezés +A létezÅ‘ fájlok automatikus átnevezése +3500 +Fájlcsere megerÅ‘sítése +A célmappa már tartalmazza a feldolgozott fájlt. +Kívánja lecserélni a létezÅ‘ fájlt +ezzel a fájllal? +{0} bájt +A&utomatikus átnevezés +3700 +A(z) '{0}' tömörítési módja nem támogatott. +Adathiba a következÅ‘ben: '{0}'. A fájl sérült. +CRC-hiba a következÅ‘ben: '{0}'. A fájl sérült. +Adathiba a titkosított fájlban: '{0}'. Hibás a jelszó? +CRC-hiba a titkosított fájlban: '{0}'. Hibás a jelszó? +3800 +Jelszó beírása +Ãrja be a jelszót: +Jelszó újbóli beírása: +A &jelszó megjelenítése +Jelszavak nem egyeznek +Csak ékezetmentes karaktereket, számokat és speciális karaktereket (!, #, $, ...) használjon a jelszavaknak +A jelszó túl hosszú +Jelszó +3900 +Eltelt idÅ‘: +HátralévÅ‘ idÅ‘: +Méret: +Sebesség: +Feldolgozott: +Tömörítési arány: +Hibák: +Archívumok: +4000 +Behelyezés archívumba +&Archívum: +Akt&ualizálás módja: +Arcíhvum &formátuma: +Tömörítés &foka: +Tömörítés &módja: +&Címtár mérete: +&Szó mérete: +Tömör blokk méret: +CPU számok: +&Tulajdonságok: +Beállítások +SF&X archívum létrehozása +Megosztott fájlok tömörítése +Titkosítás +Titkosítási eljárás: +Fájlnevek &titkosítása +A tömörítés memóriahasználata: +A kitömörítés memóriahasználata: +4050 +Raktár +Leggyorsabb +Gyors +Normál +Legnagyobb +Ultra +4060 +Fájlok behelyezése és cseréje +Fájlok aktualizálása és behelyezése +LétezÅ‘ fájlok frissítése +Fájlok szinkronizálása +4070 +Tallózás +Minden fájl +Nem tömör +Tömör +6000 +Másolás +Ãthelyezés +Másolás ide: +Ãthelyezés ide: +Másolás... +Ãthelyezés... +Ãtnevezés... +Válassza ki a cél mappát. +A művelet nem támogatott. +Hiba történt a fájl vagy a mappa átnevezésekor +Fájl másolásának megerÅ‘sítése +Biztos, hogy fájl(oka)t akar másolni az archívumba? +6100 +Fájltörlés megerÅ‘sítése +Mappatörlés megerÅ‘sítése +Több fájltörlés megerÅ‘sítése +Biztos, hogy törölni akarja a következÅ‘t: '{0}'? +Biztos, hogy törölni akarja a(z) '{0}' mappát és annak teljes tartalmát? +Biztos, hogy törölni akarja ezt a(z) {0} elemet? +Törlés... +Hiba történt a fájl vagy a mappa törlésekor +A rendszer nembírja mozgatni a fájlt a hosszú útvonallal a Lomtárba +6300 +Mappa létrehozása +Fájl létrehozása +Mappa neve: +Fájlnév: +Új mappa +Új fájl +Hiba történt a mappa létrehozásakor +Hiba történt a fájl létrehozásakor +6400 +Megjegyzés +&Megjegyzés: +Kijelölés +Megszüntetés +Maszk: +6600 +Tulajdonságok +Mappa elÅ‘zmények +Diagnosztikai üzenetek +Üzenet +7100 +Sajátgép +Hálózati helyek +Dokumentumok +Rendszer +7200 +Hozzáadás +Kibontás +Teszt +Másolás +Ãthelyezés +Törlés +Tulajdonságok +7300 +Fájldarabolás +&Darabolás ide: +Darabolás &kötetekre, bájt: +Darabolás... +Darabolás megerÅ‘sítése +Biztos szét akarja darabolni a fájlt {0} kötetre? +Kötet méretének kissebbnek kell lennie, mint az eredeti fájl mérete +Hibás kötet méret +A megadott kötet mérete: {0} byte.\nBiztos fel akarja darabolni az archívumot ilyen kötetre? +7400 +Fájlegyesítés +&Egyesítés ide: +Egyesítés... +Csak az elsÅ‘ rész kiválasztása a darabolt fájlból +Nem ismeri fel a fájlt, mint darabolt fájl része +Nem talál egynél több részt a darabolt fájlból +7500 +Leírás számolása... +Leírás információ +CRC leírás az adathoz: +CRC leírás az adathoz és névhez: +7600 +Teljesítménymérés +Memóriahasználat: +Tömörítés +Kitömörítés +Értékelés +Összértékelés +Jelenlegi +Eredmény +CPU használata +Becslés / Használat +Menetek: diff --git a/Utils/7-Zip/Lang/hy.txt b/Utils/7-Zip/Lang/hy.txt new file mode 100644 index 000000000..343d0284a --- /dev/null +++ b/Utils/7-Zip/Lang/hy.txt @@ -0,0 +1,501 @@ +;!@Lang2@!UTF-8! +; : Gevorg Papikyan +; 15.00 : Hrant Ohanyan : http://haysoft.org +; +; +; +; +; +; +; +; +; +0 +7-Zip +Armenian +Õ€Õ¡ÕµÕ¥Ö€Õ¥Õ¶ +401 +Ô¼Ô±ÕŽ +Õ‰Õ¥Õ²Õ¡Ö€Õ¯Õ¥Õ¬ + + + +&Ô±ÕµÕ¸ +&ÕˆÕ¹ +&Õ“Õ¡Õ¯Õ¥Õ¬ +Õ•Õ£Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ + +&Õ‡Õ¡Ö€Õ¸Ö‚Õ¶Õ¡Õ¯Õ¥Õ¬ +440 +Ô±ÕµÕ¸ Õ¢Õ¸Õ¬Õ¸Ö€Õ« &Õ°Õ¡Õ´Õ¡Ö€ +ÕˆÕ¹ Õ¢Õ¸Õ¬Õ¸Ö€Õ« &Õ°Õ¡Õ´Õ¡Ö€ +Ô¿Õ¡Õ¶Õ£Õ¶Õ¥ÖÕ¶Õ¥Õ¬ +ÕŽÕ¥Ö€Õ½Õ¯Õ½Õ¥Õ¬ +&Ô½Õ¸Ö€Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¸Ö‚Õ´ +&Ô±Õ¼Õ»Ö‡Õ¸Ö‚Õ´ +&Ô´Õ¡Õ¤Õ¡Ö€ +Ô´Õ¡Õ¤Õ¡Ö€Õ« Õ´Õ¥Õ» Õ§ +Ô¸Õ¶Õ¤Õ°Õ¡Õ¿Õ¥ÕžÕ¬ +500 +&Õ–Õ¡ÕµÕ¬ +&Ô½Õ´Õ¢Õ¡Õ£Ö€Õ¥Õ¬ +&ÕÕ¥Õ½Ö„ +&Ô¸Õ¶Õ¿Ö€ÕµÕ¡Õ¬Õ¶Õ¥Ö€ +Ô³&Õ¸Ö€Õ®Õ«Ö„Õ¶Õ¥Ö€ +&Õ•Õ£Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ +540 +&Ô²Õ¡ÖÕ¥Õ¬ +Ô²Õ¡ÖÕ¥Õ¬ &Õ¶Õ¥Ö€Õ½Õ¸Ö‚Õ´ +Ô²Õ¡ÖÕ¥Õ¬ Õ¤Ö€Õ½&Õ¸Ö‚Õ´ +Ô¸Õ¶Õ¿Ö€Õ¥Õ¬ +&Ô½Õ´Õ¢Õ¡Õ£Ö€Õ¥Õ¬ +ÕŽÕ¥Ö€&Õ¡Õ¶Õ¾Õ¡Õ¶Õ¥Õ¬ +&ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¥Õ¬... +&ÕÕ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¥Õ¬... +&Õ‹Õ¶Õ»Õ¥Õ¬ +ÕÖ€Õ¸Õ°Õ¥Õ¬& Ö†Õ¡ÕµÕ¬Õ¨... +Õ€&Õ¡Õ´Õ¡Õ¯ÖÕ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¨... +Õ€Õ¡Õ¿Õ¯Õ¸Ö‚&Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +Õ„Õ¥Õ¯Õ¶Õ¡Õ¢Õ¡&Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +Õ€Õ¡Õ¶Ö€Õ¡Õ£Õ¸Ö‚Õ´Õ¡Ö€ +Õ€Õ¡Õ´Õ¥Õ´Õ¡Õ¿Õ¥Õ¬ +&ÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ +ÕÕ¿Õ¥Õ²&Õ®Õ¥Õ¬ Ö†Õ¡ÕµÕ¬ +Õ“Õ¡Õ¯&Õ¥Õ¬ +Õ€Õ²Õ¸Ö‚Õ´ +&Ô±ÕµÕ¬Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ°Õ¸Õ½Ö„Õ¥Ö€ +600 +Õ†Õ·Õ¥Õ¬ &Õ¢Õ¸Õ¬Õ¸Ö€Õ¨ +Ô±ÕºÕ¡Õ¶Õ·Õ¥Õ¬ +&ÔµÕ¿Õ¡Ö€Õ¯Õ¥Õ¬ Õ¶&Õ·Õ¸Ö‚Õ´Õ¨ +Õ†Õ·Õ¥Õ¬... +Ô±ÕºÕ¡Õ¶Õ·Õ¥Õ¬... +Õ†Õ·Õ¥Õ¬ Õ¨Õ½Õ¿ Õ¿Õ¥Õ½Õ¡Õ¯Õ« +Ô±ÕºÕ¡Õ¶Õ·Õ¥Õ¬ Õ¨Õ½Õ¿ Õ¿Õ¥Õ½Õ¡Õ¯Õ« +700 +&Õ„Õ¥Õ® ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¡Õ¯Õ¶Õ¥Ö€Õ¸Õ¾ +&Õ“Õ¸Ö„Ö€ ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¡Õ¯Õ¶Õ¥Ö€Õ¸Õ¾ +Õ‘Õ¸Ö‚Ö&Õ¡Õ¯ +&Ô±Õ²ÕµÕ¸Ö‚Õ½Õ¡Õ¯ +730 +Ô±Õ¼Õ¡Õ¶Ö Õ¤Õ¡Õ½Õ¡Õ¾Õ¸Ö€Õ¥Õ¬Õ¸Ö‚ +Õ€Õ¡Ö€Õ© Õ¥Õ²Õ¡Õ¶Õ¡Õ¯ +&2 Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯ +&Ô³Õ¸Ö€Õ®Õ«Ö„Õ¶Õ¥Ö€Õ« Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯ +Ô²Õ¡ÖÕ¥Õ¬ Õ¡Ö€Õ´Õ¡Õ¿Õ¡ÕµÕ«Õ¶ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨ +Õ„Õ¥Õ¯ Õ´Õ¡Õ¯Õ¡Ö€Õ¤Õ¡Õ¯ Õ¾Õ¥Ö€Ö‡ +Ô¹Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¶Õ¥Ö€Õ« ÕºÕ¡Õ¿Õ´Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨... +Ô¹&Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥Õ¬ +Ô»Õ¶Ö„Õ¶Õ¡Õ©Õ¡Ö€Õ´Õ¡ÖÕ¸Ö‚Õ´ +750 +Ô¾Ö€Õ¡Õ£Ö€Õ« Õ¯Õ¸Õ³Õ¡Õ¯Õ¶Õ¥Ö€Õ« Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯ +Ô¿Õ¸Õ³Õ¡Õ¯Õ¶Õ¥Ö€Õ« Õ½Õ¿Õ¡Õ¶Õ¤Õ¡Ö€Õ¿ Õ¾Õ¡Õ°Õ¡Õ¶Õ¡Õ¯ +Õ„Õ¥Õ® Õ¯Õ¸Õ³Õ¡Õ¯Õ¶Õ¥Ö€Õ¸Õ¾ +Ô¿Õ¸Õ³Õ¡Õ¯Õ¶Õ¥Ö€Õ« Õ¡Õ¶Õ¸Ö‚Õ¶Õ¨ +800 +Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨ &Õ¨Õ¶Õ¿Ö€ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ«Õ¶ Õ¸Ö€ÕºÕ¥Õ½ +Ô·Õ»Õ¡Õ¶Õ«Õ· +900 +Ô¿Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€... +Ô±Ö€Õ¿Õ¡Õ¤Ö€Õ¸Õ²Õ¡Õ¯Õ¡Õ¶Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ©Õ¥Õ½Õ¿ +960 +&Ô²Õ¸Õ¾Õ¡Õ¶Õ¤Õ¡Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶... +Ô¾Ö€Õ¡Õ£Ö€Õ« &Õ´Õ¡Õ½Õ«Õ¶... +1003 +ÕˆÖ‚Õ²Õ« +Ô±Õ¶Õ¸Ö‚Õ¶ +Ô¸Õ¶Õ¤Õ¬Õ¡ÕµÕ¶Õ¸Ö‚Õ´ +Ô¹Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ +Õ‰Õ¡Öƒ +ÕÕ¥Õ²Õ´Õ¡Õ® +Õ€Õ¡Õ¿Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +ÕÕ¿Õ¥Õ²Õ®Õ¾Õ¥Õ¬ Õ§ +Õ„Õ¸Ö‚Õ¿Ö„ +Õ“Õ¸ÖƒÕ¸Õ­Õ¾Õ¥Õ¬ Õ§ +Ô±Õ¶Õ¨Õ¶Õ¤Õ°Õ¡Õ¿ +Õ„Õ¥Õ¯Õ¶Õ¡Õ¢Õ¡Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +Ô¿Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ¾Õ¡Õ® Õ§ +ÕÖ€Õ¸Õ°Õ¾Õ¡Õ® Õ§ Õ´Õ«Õ¶Õ¹ +ÕÖ€Õ¸Õ°Õ¾Õ¡Õ® Õ§ Õ°Õ¥Õ¿Õ¸ +Ô²Õ¡Õ¼Õ¡Ö€Õ¡Õ¶ + +ÕÕ¥Õ½Õ¡Õ¯ +Õ€Õ¡Õ¯Õ¡ +Õ„Õ¥Õ©Õ¸Õ¤ +Õ€Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£ +Õ–Õ¡ÕµÕ¬Õ¡ÕµÕ«Õ¶ Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£ +Õ•Õ£Õ¿Õ¾Õ¸Õ² +Ô½Õ¸Ö‚Õ´Õ¢ +Ô¿Õ¸Õ²ÕºÕ¸Ö‚Õ´ +Õ„Õ¥Õ¯Õ¶Õ¡Õ¢Õ¡Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +Ô´Õ«Ö€Ö„ +ÕˆÖ‚Õ²Õ« +Ô¹Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¶Õ¥Ö€ +Õ–Õ¡ÕµÕ¬Õ¥Ö€ +ÕÕ¡Ö€Õ¢Õ¥Ö€Õ¡Õ¯ +Õ€Õ¡Õ¿Õ¸Ö€ +Ô²Õ¡Õ¦Õ´Õ¡Õ°Õ¡Õ¿Õ¸Ö€ +Õ‡Õ¥Õ²Õ¸Ö‚Õ´ +Õ€Õ²Õ¸Ö‚Õ´Õ¶Õ¥Ö€ +Õ€Õ¡Õ¿Õ¾Õ¡Õ®Õ¶Õ¥Ö€ +Õ€Õ¡Õ¿Õ¸Ö€Õ¶Õ¥Ö€ + + + +CPU +Õ–Õ«Õ¦Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¹Õ¡ÖƒÕ¨ +Ô³Õ¬Õ­Õ¡Õ£Ö€Õ¥Ö€Õ« Õ¹Õ¡ÖƒÕ¨ +Ô±Ö€Õ¤ÕµÕ¸Ö‚Õ¶Ö„Õ¨ +Ô²Õ¶Õ¸Ö‚Õ©Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +ÕŽÕ«Ö€Õ¿Õ¸Ö‚Õ¡Õ¬ Õ°Õ¡Õ½ÖÕ¥ + +Ô¿Õ¡Ö€Õ³ Õ¡Õ¶Õ¸Ö‚Õ¶ +ÕÕ¿Õ¥Õ²Õ®Õ¸Õ² +Õ€Õ¡Õ¿Õ¾Õ¡Õ®Õ« Õ¹Õ¡Öƒ +ÔµÕ²Õ¡Õ¶Õ¡Õ¯ +Õ†Õ·Õ¡Õ¶Õ¡ÕµÕ«Õ¶ Õ°Õ²Õ¸Ö‚Õ´ +ÕÕ­Õ¡Õ¬ +Ô¾Õ¡Õ¾Õ¡Õ¬ +Ô±Õ¦Õ¡Õ¿ Õ§ +Ô¿Õ¬Õ¡Õ½Õ¿Õ¥Ö€Õ« Õ¹Õ¡Öƒ +ÕÕ¡Õ¼ +ÕÕ¥Õ²Õ¡ÕµÕ«Õ¶ Õ¡Õ¶Õ¸Ö‚Õ¶ +Õ„Õ¡Õ¿Õ¡Õ¯Õ¡Ö€Õ¡Ö€ +Ô±Õ¶Õ¾Õ¿Õ¡Õ¶Õ£Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ +Ô±ÕµÕ¬Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ°Õ¸Õ½Ö„ + +Õ€Õ¥Õ¼Õ¡Õ¯Õ¡ +Ô¾Õ¡Õ¼ + + +ÕÕ­Õ¡Õ¬Õ« Õ¿Õ¥Õ½Õ¡Õ¯ +ÕÕ­Õ¡Õ¬Õ¶Õ¥Ö€ +ÕÕ­Õ¡Õ¬Õ¶Õ¥Ö€ +Ô¶Õ£Õ¸Ö‚Õ·Õ¡ÖÕ¸Ö‚Õ´ +Ô¶Õ£Õ¸Ö‚Õ·Õ¡ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€ +Õ€Õ¸Õ½Ö„Õ¥Ö€ +Ô±ÕµÕ¬Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ°Õ¸Õ½Ö„Õ¥Ö€ +Ô±ÕµÕ¬Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ°Õ¸Õ½Ö„Õ¥Ö€Õ« Õ¹Õ¡Öƒ +ÕŽÕ«Ö€Õ¿Õ¸Ö‚Õ¡Õ¬ Õ¹Õ¡ÖƒÕ¨ +Ô²Õ¡ÖÕ¾Õ¡Õ® Õ¹Õ¡ÖƒÕ¨ +Ô¸Õ¶Õ¤Õ°Õ¡Õ¶Õ¸Ö‚Ö€ Ö†Õ«Õ¦Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¹Õ¡ÖƒÕ¨ +Õ€Õ¡Õ¿Õ¸Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€Õ¨ +ÔµÕ¶Õ©Õ¡Õ¿Õ¥Õ½Õ¡Õ¯ +Ô¿Õ¡Ö€Õ³ Õ´Õ¥Õ¯Õ¶Õ¡Õ¢Õ¡Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ +Ô¿Õ¸Õ¤Õ¡ÕµÕ«Õ¶ Õ§Õ» + + + +Õ„Õ¶Õ¡ÖÕ¸Ö€Õ¤Õ« Õ¹Õ¡ÖƒÕ¨ +Õ†Õ¥Ö€Õ¯Õ¡Õ¼Õ¸Ö‚ÖÕ¾Õ¡Õ® Õ°Õ¡Õ¿Õ¾Õ¡Õ®Õ« Õ¹Õ¡ÖƒÕ¨ +Õ€Õ²Õ¸Ö‚Õ´ +Ô¿Õ¸Õ·Õ¿ Õ°Õ²Õ¸Ö‚Õ´ +iNode + +Õ„Õ«Õ¡ÕµÕ¶ Õ¯Õ¡Ö€Õ¤Õ¡Õ¬Õ¸Ö‚ + + + + + + +2100 +Ô¿Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€ +Ô¼Õ¥Õ¦Õ¸Ö‚Õ¶ +Ô¼Õ¥Õ¦Õ¸Ö‚Õ¶. +Ô½Õ´Õ¢Õ¡Õ£Õ«Ö€ +&Ô½Õ´Õ¢Õ¡Õ£Õ«Ö€ +&Õ€Õ¡Õ´Õ¥Õ´Õ¡Õ¿Õ¥Õ¬Õ¸Ö‚ Õ®Ö€Õ¡Õ£Õ«Ö€. +2200 +Õ€Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ¨ +Ô±Õ½Õ¸ÖÕ«Õ¡ÖÕ¶Õ¥Õ¬ 7-Zip-Õ¨ Õ°Õ¥Õ¿Ö‡ÕµÕ¡Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ°Õ¥Õ¿Õ +Ô²Õ¸Õ¬Õ¸Ö€ Ö…Õ£Õ¿Õ¾Õ¸Õ²Õ¶Õ¥Ö€Õ¨ +2301 +Õ†Õ¥Ö€Õ¤Õ¶Õ¥Õ¬ 7-Zip-Õ¨ Õ°Õ¡Õ´Õ¡Õ¿Õ¥Ö„Õ½Õ¿Õ¡ÕµÕ«Õ¶ ÖÕ¡Õ¶Õ¯Õ¸Ö‚Õ´ +Ô¿Õ¡Õ½Õ¯Õ¡Õ¤Õ¡ÕµÕ«Õ¶ ÖÕ¡Õ¶Õ¯ +Õ€Õ¡Õ´Õ¡Õ¿Õ¥Ö„Õ½Õ¿Õ¡ÕµÕ«Õ¶ ÖÕ¡Õ¶Õ¯Õ« Õ¢Õ¡Õ²Õ¡Õ¤Ö€Õ«Õ¹Õ¶Õ¥Ö€Õ¨ +ÕŠÕ¡Õ¿Õ¯Õ¥Ö€Õ¡Õ¯Õ¶Õ¥Ö€ Õ°Õ¡Õ´Õ¡Õ¿Õ¥Ö„Õ½Õ¿Õ¡ÕµÕ«Õ¶ ÖÕ¡Õ¶Õ¯Õ¸Ö‚Õ´ +2320 +«Թղթապանակ» +«Արխիվ» +Ô²Õ¡ÖÕ¥Õ¬ Õ¡Ö€Õ­Õ«Õ¾Õ¨ +Ô´Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬ +Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ­Õ«Õ¾Õ«... +Ô¹Õ¥Õ½Õ¿Õ¡Õ¾Õ¸Ö€Õ¥Õ¬ +Ô´Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬ Õ¡ÕµÕ½Õ¿Õ¥Õ² +Ô´Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬{0}-Õ¸Ö‚Õ´ +Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ {0}-Õ«Õ¶ +ÕÕ¥Õ²Õ´Õ¥Õ¬ Ö‡ Õ¸Ö‚Õ²Õ¡Ö€Õ¯Õ¥Õ¬ Õ§Õ¬. ÖƒÕ¸Õ½Õ¿Õ¸Õ¾... +ÕÕ¥Õ²Õ´Õ¥Õ¬ {0}-Õ¸Ö‚Õ´ Ö‡ Õ¸Ö‚Õ²Õ¡Ö€Õ¯Õ¥Õ¬ Õ§Õ¬. ÖƒÕ¸Õ½Õ¿Õ¸Õ¾ +2400 +Ô¹Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¶Õ¥Ö€ +&Ô±Õ·Õ­Õ¡Õ¿Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ +&Õ€Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ¡ÕµÕ«Õ¶ ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯Õ¡Õ¾Õ¸Ö€ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ +&Ô¸Õ¶Õ©Õ¡ÖÕ«Õ¯ +&Õ†Õ·Õ¡Õ¶Õ¡Õ¯Õ¥Õ¬. +Õ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ´Õ«Õ¡ÕµÕ¶ Õ·Õ¡Ö€ÕªÕ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ«Õ¹Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€ +Õ†Õ·Õ¥Ö„ ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯Õ¡Õ¾Õ¸Ö€ Õ¡Ö€Õ­Õ«Õ¾Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€ Õ¿Õ¥Õ² +2500 +Ô¿Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€ +Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¢Õ¡Õ²Õ¡Õ¤Ö€Õ«Õ¹Õ¨ ".." +Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ«Ö€Õ¡Õ¯Õ¡Õ¶ ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨ +Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ¡ÕµÕ«Õ¶ ÖÕ¡Õ¶Õ¯Õ¨ +Ô¿Õ¸Ö‚Ö€Õ½Õ¸Ö€Õ¨ Õ¡Õ´Õ¢Õ¸Õ²Õ» Õ¿Õ¸Õ²Õ¸Õ¾ +Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¢Õ¡ÕªÕ¡Õ¶Õ¡Ö€Õ¡Ö€Õ¶Õ¥Ö€ +Ô²Õ¡ÖÕ¥Õ¬ Õ´Õ¥Õ¯ Õ½Õ¥Õ²Õ´Õ¡Õ´Õ¢ +Õ†Õ·Õ¥Õ¬Õ¸Ö‚ Õ¡ÕµÕ¬Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯ +Õ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ°Õ«Õ·Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ´Õ¥Õ® Õ®Õ¡Õ¾Õ¡Õ¬Õ¶Õ¥Ö€ +2900 +7-Zip-Õ« Õ´Õ¡Õ½Õ«Õ¶ +7-Zip-Õ¨ Õ¡Õ¦Õ¡Õ¿ Õ¿Õ¡Ö€Õ¡Õ®Õ¾Õ¸Õ² Õ®Ö€Õ¡Õ£Õ«Ö€ Õ§: +3000 +Õ‰Õ¯Õ¡ Õ¡Õ¦Õ¡Õ¿ Õ¿Õ¥Õ² +ÕÕ­Õ¡Õ¬Õ¶Õ¥Ö€ Õ¹Õ¯Õ¡Õ¶ +Ô¸Õ¶Õ¿Ö€Õ¾Õ¡Õ® Õ¥Õ¶ {0} Ö†Õ¡ÕµÕ¬Õ¥Ö€ +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Õ½Õ¿Õ¥Õ²Õ®Õ¥Õ¬ '{0}' Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨: +Õ“Õ¸ÖƒÕ¸Õ­Õ´Õ¡Õ¶ Õ£Õ¸Ö€Õ®Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¡ÕµÕ½ Õ¡Ö€Õ­Õ«Õ¾Õ¨ Õ¹Õ« Õ¡Õ»Õ¡Õ¯ÖÕ¸Ö‚Õ´: +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Õ¢Õ¡ÖÕ¥Õ¬ '{0}' Ö†Õ¡ÕµÕ¬Õ¨ Õ¸Ö€ÕºÕ¥Õ½ Õ¡Ö€Õ­Õ«Õ¾ +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Õ¢Õ¡ÖÕ¥Õ¬ '{0}' Õ¯Õ¸Õ²ÖƒÕ¡Õ® Õ¡Ö€Õ­Õ«Õ¾Õ¨: Õ„Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ¥Ö„ Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨: +Ô±Ö€Õ­Õ«Õ¾Õ« Õ¿Õ¥Õ½Õ¡Õ¯Õ¨ Õ¹Õ« Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Ö‚Õ´ +{0} Ö†Õ¡ÕµÕ¬Õ¨ Õ¡Ö€Õ¤Õ¥Õ¶ Õ£Õ¸ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ Õ¸Ö‚Õ¶Õ« +'{0}' Ö†Õ¡ÕµÕ¬Õ¨ ÖƒÕ¸ÖƒÕ¸Õ­Õ¾Õ¥Õ¬ Õ§:\n Ô¹Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥ÕžÕ¬ Õ¡ÕµÕ¶ Õ¡Ö€Õ­Õ«Õ¾Õ¸Ö‚Õ´: +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Õ©Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¨ \n'{0}' +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Õ¢Õ¡ÖÕ¥Õ¬ Õ­Õ´Õ¢Õ¡Õ£Õ«Ö€Õ¨: +Õ–Õ¡ÕµÕ¬Õ¨ Õ¶Õ´Õ¡Õ¶ Õ§ Õ¾Õ«Ö€Õ¸Ö‚Õ½Õ«: +Ô³Õ¸Ö€Õ®Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¹Õ« Õ¯Õ¡Ö€Õ¸Õ² Õ¯Õ¡Õ¿Õ¡Ö€Õ¾Õ¥Õ¬ Õ¡ÕµÕ¶ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ«Ö, Õ¸Ö€Õ¨ Õ¸Ö‚Õ¶Õ« Õ¥Ö€Õ¯Õ¡Ö€ Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°: +Ô¸Õ¶Õ¿Ö€Õ¥Ö„ Õ£Õ¸Õ¶Õ¥ Õ´Õ¥Õ¯ Ö†Õ¡ÕµÕ¬ +Ô¸Õ¶Õ¿Ö€Õ¥Ö„ Õ£Õ¸Õ¶Õ¥ Õ´Õ¥Õ¯ Õ¯Õ¡Õ´ Õ´Õ« Ö„Õ¡Õ¶Õ« Ö†Õ¡ÕµÕ¬Õ¥Ö€ +Ô²Õ¡Õ²Õ¡Õ¤Ö€Õ«Õ¹Õ¶Õ¥Ö€Õ¨ Õ·Õ¡Õ¿ Õ¥Õ¶ +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ¥Õ²Õ¡Õ¾ Õ¢Õ¡ÖÕ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¨ Õ¸Ö€ÕºÕ¥Õ½ {0} Õ¡Ö€Õ­Õ«Õ¾ +Õ–Õ¡ÕµÕ¬Õ¨ Õ¢Õ¡ÖÕ¾Õ¥Õ¬ Õ§ Õ¸Ö€ÕºÕ¥Õ½ {0} Õ¡Ö€Õ­Õ«Õ¾ +Õ–Õ¡ÕµÕ¬Õ¨ Õ¢Õ¡ÖÕ¾Õ¥Õ¬ Õ§ Õ·Õ¥Õ²Õ¸Ö‚Õ´Õ¸Õ¾ +3300 +Ô´Õ¸Ö‚Ö€Õ½ Õ§ Õ¢Õ¥Ö€Õ¾Õ¸Ö‚Õ´ +ÕÕ¥Õ²Õ´Õ¾Õ¸Ö‚Õ´ Õ§ +Ô¹Õ¥Õ½Õ¿Õ¡Õ¾Õ¸Ö€Õ¾Õ¸Ö‚Õ´ Õ§ +Ô²Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§... +ÕÕ¥Õ½Õ¡Õ®Ö€Õ¸Ö‚Õ´... +Õ‹Õ¶Õ»Õ¸Ö‚Õ´ +3320 +Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§ +Ô¹Õ¡Ö€Õ´Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§ +ÕŽÕ¥Ö€Õ¬Õ¸Ö‚Õ®Õ¸Ö‚Õ´ +ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¾Õ¸Ö‚Õ´ Õ§ +ÕŽÕ¥Ö€Õ¡ÖƒÕ¡Õ©Õ¥Õ©Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´ +Ô²Õ¡Ö Õ§ Õ©Õ¸Õ²Õ¶Õ¾Õ¸Ö‚Õ´ +Õ‹Õ¶Õ»Õ¸Ö‚Õ´ +Ô³Õ¬Õ­Õ¡Õ£Ö€Õ¥Ö€Õ« Õ½Õ¿Õ¥Õ²Õ®Õ¸Ö‚Õ´ +3400 +Ô´Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬ +&Ô´Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬Õ +Õ†Õ·Õ¥Ö„ Õ°Õ¡Õ¶Õ¾Õ¸Õ² Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¿Õ¥Õ²Õ¡Õ¤Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨: +3410 +Õ–Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¸Ö‚Õ²Õ«Õ¶. +Ô±Õ´Õ¢Õ¸Õ²Õ»Õ¡Õ¯Õ¡Õ¶& Õ¸Ö‚Õ²Õ«Õ¶Õ¥Ö€ +&Ô±Õ¼Õ¡Õ¶Ö Õ¸Ö‚Õ²Õ«Õ¶Õ¥Ö€Õ« +Ô²Õ¡ÖÕ¡Ö€Õ±Õ¡Õ¯ Õ¸Ö‚Õ²Õ«Õ¶Õ¥Ö€ +Õ€Õ¡Ö€Õ¡Õ¢Õ¥Ö€Õ¡Õ¯Õ¡Õ¶ Õ¸Ö‚Õ²Õ«Õ¶Õ¥Ö€ +3420 +ÕŽÕ¥Ö€Õ¡Õ£Ö€Õ¡Õ¶ÖÕ¸Ö‚Õ´ +Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¸Ö‚Õ´Õ¸Õ¾ +Ô±Õ¼Õ¡Õ¶Ö Õ°Õ¡Õ½Õ¿Õ¡Õ¿Õ´Õ¡Õ¶ +Ô²Õ¡Ö Õ©Õ¸Õ²Õ¶Õ¥Õ¬ +ÕŽÕ¥Ö€Õ¡Õ¶Õ¾Õ¡Õ¶Õ¥Õ¬ +ÕŽÕ¥Ö€Õ¡Õ¶Õ¾Õ¡Õ¶Õ¥Õ¬ Õ£Õ¸ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ Õ¸Ö‚Õ¶Õ¥ÖÕ¸Õ²Õ¶Õ¥Ö€Õ¨ +3430 +ÕŽÕ¥Ö€Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ´Õ¡Õ¿Õ¡ÕµÕ«Õ¶ Õ©Õ²Õ©. Õ¯Ö€Õ¯Õ¶Ö…Ö€Õ«Õ¶Õ¡Õ¯Õ¸Ö‚Õ´Õ¨ +ÕŽÕ¥Ö€Õ¡ÖÕ¶Õ¥Õ¬ Õ´Õ¸Ö‚Õ¿Ö„Õ« Õ©Õ¸Ö‚ÕµÕ¬Õ¿Õ¾Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ +3500 +Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Ö„ Ö†Õ¡ÕµÕ¬Õ« ÖƒÕ¸Õ­Õ¡Ö€Õ«Õ¶Õ¸Ö‚Õ´Õ¨ +Ô¹Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¸Ö‚Õ´ Õ¡Ö€Õ¤Õ¥Õ¶ Õ¯Õ¡ Õ´Õ·Õ¡Õ¯Õ¾Õ¡Õ® Ö†Õ¡ÕµÕ¬: +Õ“Õ¸Õ­Õ¡Ö€Õ«Õ¶Õ¥ÕžÕ¬ Õ¡Õ¼Õ¯Õ¡ Ö†Õ¡ÕµÕ¬Õ¨ +Õ¿Õ¾ÕµÕ¡Õ¬ Ö†Õ¡ÕµÕ¬Õ¸Õ¾: +{0} Õ¢Õ¡ÕµÕ© +ÕŽÕ¥Ö€Õ¡Õ¶Õ¾Õ¡Õ¶Õ¥Õ¬ Õ«Õ¶Ö„. +3700 +'{0}' Ö†Õ¡ÕµÕ¬Õ¨ Õ½Õ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¨ Õ¹Õ« Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Ö‚Õ´ +ÕÕ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ« Õ½Õ­Õ¡Õ¬'{0}'-Õ¸Ö‚Õ´: Õ–Õ¡ÕµÕ¬Õ¨ Õ¾Õ¶Õ¡Õ½Õ¾Õ¡Õ® Õ§: +CRC Õ½Õ­Õ¡Õ¬'{0}'-Õ¸Ö‚Õ´: Õ–Õ¡ÕµÕ¬Õ¨ Õ¾Õ¶Õ¡Õ½Õ¾Õ¡Õ® Õ§: +ÕÕ­Õ¡Õ¬Õ '{0}' Ö†Õ¡ÕµÕ¬Õ« Õ¯Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ´Õ¡Õ¶ Õ¿Õ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ¸Ö‚Õ´: Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ½Õ­Õ¡ÕžÕ¬ Õ§: +CRC Õ½Õ­Õ¡Õ¬ '{0}' Õ¯Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ¾Õ¡Õ® Ö†Õ¡ÕµÕ¬Õ« Õ°Õ¡Õ´Õ¡Ö€: Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ½Õ­Õ¡ÕžÕ¬ Õ§: +3710 +Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ½Õ­Õ¡ÕžÕ¬ Õ§ +3721 +ÕÕ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚ Õ¹Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Õ² Õ¥Õ²Õ¡Õ¶Õ¡Õ¯ +ÕÕ­Õ¡Õ¬ Õ¿Õ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ¸Ö‚Õ´ +CRC Õ½Õ­Õ¡Õ¬ +Ô±Õ¶Õ°Õ¡Õ½Õ¡Õ¶Õ¥Õ¬Õ« Õ¿Õ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€ +ÕÕ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ« Õ¡Õ¶Õ½ÕºÕ¡Õ½Õ¥Õ¬Õ« Õ¡Õ¾Õ¡Ö€Õ¿ +Ô¿Õ¡Õ¶ Õ¿Õ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ Ö…Õ£Õ¿Õ¡Õ¯Õ¡Ö€ Õ¿Õ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ¿Õ¾Õ¡Õ®Õ« Õ¾Õ¥Ö€Õ»Õ¸Ö‚Õ´ +Ô±Ö€Õ­Õ«Õ¾ Õ¹Õ§ +ÕÕ­Õ¡Õ¬ Õ£Õ¬Õ­Õ¡Õ£Ö€Õ¥Ö€Õ¸Ö‚Õ´ +Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ½Õ­Õ¡Õ¬ Õ§ +3763 +Ô±Ö€Õ­Õ«Õ¾Õ« Õ¡Õ¶Õ¨Õ¶Õ¤Õ¸Ö‚Õ¶Õ¥Õ¬Õ« Õ½Õ¯Õ«Õ¦Õ¢ +Ô±Ö€Õ­Õ«Õ¾Õ« Õ¹Õ°Õ¡Õ½Õ¿Õ¡Õ¿Õ¾Õ¡Õ® Õ½Õ¯Õ«Õ¦Õ¢ + + + +Õ‰Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Õ² ÕµÕ¸Ö‚Ö€Õ¡Õ°Õ¡Õ¿Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ +3800 +Õ„Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ¥Õ¬ Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼ +&Õ„Õ¸Ö‚Õ¿Ö„Õ¡Õ£Ö€Õ¥Õ¬ Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼. +Ô¿Ö€Õ¯Õ¶Õ¥Õ¬ Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨. +&Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ£Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ +Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ¹Õ« Õ°Õ¡Õ´Õ¡ÕºÕ¡Õ¿Õ¡Õ½Õ­Õ¡Õ¶Õ¸Ö‚Õ´ +Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ« Õ°Õ¡Õ´Õ¡Ö€ Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Ö„ Õ´Õ«Õ¡ÕµÕ¶ Õ¬Õ¡Õ¿Õ«Õ¶Õ¥Ö€Õ¥Õ¶ Õ¿Õ¡Õ¼Õ¥Ö€, Õ©Õ¾Õ¥Ö€ Ö‡ Õ°Õ¡Õ¿Õ¸Ö‚Õ¯ Õ¶Õ·Õ¡Õ¶Õ¶Õ¥Ö€ (!, #, $, ...) +Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ¥Ö€Õ¯Õ¡Ö€ Õ§ +&Ô³Õ¡Õ²Õ¿Õ¶Õ¡Õ¢Õ¡Õ¼Õ¨. +3900 +Ô±Õ¶ÖÕ¥Õ¬ Õ§. +Õ„Õ¶Õ¡ÖÕ¥Õ¬ Õ§. +Õ‰Õ¡Öƒ. +Ô±Ö€Õ¡Õ£Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶. +Ô¸Õ¶Õ©Õ¡ÖÖ„. +ÕÕ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚ Õ¡Õ½Õ¿Õ«Õ³Õ¡Õ¶ +ÕÕ­Õ¡Õ¬Õ¶Õ¥Ö€. +Ô±Ö€Õ­Õ«Õ¾Õ¶Õ¥Ö€. +4000 +Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ­Õ«Õ¾Õ« +&Ô±Ö€Õ­Õ«Õ¾. +&Õ“Õ¸ÖƒÕ¸Õ­Õ´Õ¡Õ¶ Õ¯Õ¡Ö€Õ£Õ¨. +&Ô±Ö€Õ­Õ«Õ¾Õ« Õ¿Õ¥Õ½Õ¡Õ¯Õ¨. +&ÕÕ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚ Õ¡Õ½Õ¿Õ«Õ³Õ¡Õ¶Õ¨. +&ÕÕ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚ Õ´Õ¥Õ©Õ¸Õ¤Õ¨. +Ô²Õ¡Õ¼Õ¡Ö€Õ¡Õ¶Õ« &Õ¹Õ¡ÖƒÕ¨. +Ô²Õ¡Õ¼Õ« Õ¹&Õ¡ÖƒÕ¨. +Õ€Õ¡Õ¿Õ¾Õ¡Õ®Õ« Õ¹Õ¡ÖƒÕ¨. +CPU Õ°Õ¸Õ½Ö„Õ¥Ö€Õ« Ö„Õ¡Õ¶Õ¡Õ¯Õ¨. +&Õ‘Õ¸Ö‚ÖÕ«Õ¹Õ¶Õ¥Ö€. +&Ô¸Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¶Õ¥Ö€ +ÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ SF&X Õ¡Ö€Õ­Õ«Õ¾ +ÕÕ¥Õ²Õ´Õ¥Õ¬ Õ°Õ¡Õ´Õ¡Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¾Õ¸Õ² Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ¨ +Ô¿Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´ +Ô¿Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ´Õ¡Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯. +&Ô¿Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¡Õ¶Õ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ¨ +Õ€Õ«Õ·Õ¸Õ². Õ®Õ¡Õ¾Õ¡Õ¬Õ¨ Õ½Õ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€. +Õ€Õ«Õ·Õ¸Õ². Õ®Õ¡Õ¾Õ¡Õ¬Õ¨ Õ¤Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€. +ÕÕ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ Õ»Õ¶Õ»Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ¨ +4040 +ÕŠÕ¡Õ°ÕºÕ¡Õ¶Õ¥Õ¬ Õ¶Õ·Õ¡Õ¶Õ¡ÕµÕ«Õ¶ Õ°Õ²Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ +ÕŠÕ¡Õ°ÕºÕ¡Õ¶Õ¥Õ¬ Õ¯Õ¸Õ·Õ¿ Õ°Õ²Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ +ÕŠÕ¡Õ°ÕºÕ¡Õ¶Õ¥Õ¬ Õ¡ÕµÕ¬Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ°Õ¸Õ½Ö„Õ¥Ö€Õ¨ +ÕŠÕ¡Õ°ÕºÕ¡Õ¶Õ¥Õ¬ Õ´Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¨ +4050 +Ô±Õ¼Õ¡Õ¶Ö Õ½Õ¥Õ²Õ´Õ¥Õ¬Õ¸Ö‚ +Ô±Ö€Õ¡Õ£Õ¨Õ¶Õ©Õ¡Ö +Ô±Ö€Õ¡Õ£ +Õ†Õ¸Ö€Õ´Õ¡Õ¬ +Ô±Õ¼Õ¡Õ¾Õ¥Õ¬Õ¡Õ£Õ¸Ö‚ÕµÕ¶ +ÕˆÖ‚Õ¬Õ¿Ö€Õ¡ +4060 +Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ Ö‡ ÖƒÕ¸Õ­Õ¡Ö€Õ«Õ¶Õ¥Õ¬ +Ô¹Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥Õ¬ Ö‡ Õ¡Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ +Ô¹Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥Õ¬ +Õ€Õ¡Õ´Õ¡ÕªÕ¡Õ´Õ¥ÖÕ¶Õ¥Õ¬ +4070 +Ô¹Õ¥Ö€Õ©Õ¥Õ¬ +Ô²Õ¸Õ¬Õ¸Ö€ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ¨ +Õ–Õ¡ÕµÕ¬Õ« Õ¹Õ¡ÖƒÕ¸Õ¾ +Ô±Õ¶Õ¤Õ¡Õ¤Õ¡Ö€ +6000 +ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¥Õ¬ +ÕÕ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¥Õ¬ +ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¥Õ¬Õ +ÕÕ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¥Õ¬Õ +ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¾Õ¸Ö‚Õ´ Õ§... +ÕÕ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¾Õ¸Ö‚Õ´ Õ§... +ÕŽÕ¥Ö€Õ¡Õ¶Õ¾Õ¡Õ¶Õ¾Õ¸Ö‚Õ´ Õ§... +Ô¸Õ¶Õ¿Ö€Õ¥Õ¬ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ +Ô³Õ¸Ö€Õ®Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¹Õ« Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Ö‚Õ´ +ÕÕ­Õ¡Õ¬` Ö†Õ¡ÕµÕ¬Õ¨ Õ¯Õ¡Õ´ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨ Õ¡Õ¶Õ¾Õ¡Õ¶Õ¡ÖƒÕ¸Õ­Õ¥Õ¬Õ«Õ½: +Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Ö„ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« ÕºÕ¡Õ¿Õ³Õ¥Õ¶Õ¸Ö‚Õ´Õ¨ +ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¥ÕžÕ¬ Õ¡ÕµÕ½ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ¨ Õ¡Ö€Õ­Õ«Õ¾Õ« Õ´Õ¥Õ»: +6100 +Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ« Õ»Õ¶Õ»Õ¸Ö‚Õ´Õ¨ +Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Õ¬ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ« Õ»Õ¶Õ»Õ¸Ö‚Õ´Õ¨ +Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ»Õ¶Õ»Õ¸Ö‚Õ´Õ¨ +Ô»Ö€Õ¸ÕžÖ„ ÖÕ¡Õ¶Õ¯Õ¡Õ¶Õ¸Ö‚Õ´ Õ¥Ö„ Õ»Õ¶Õ»Õ¥Õ¬ "{0}"-Õ¨: +Ô»Ö€Õ¸ÕžÖ„ ÖÕ¡Õ¶Õ¯Õ¡Õ¶Õ¸Ö‚Õ´ Õ¥Ö„ Õ»Õ¶Õ»Õ¥Õ¬ "{0}" Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨ Ö‡ Õ¶Ö€Õ¡ ÕºÕ¡Ö€Õ¸Ö‚Õ¶Õ¡Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨: +Ô»Ö€Õ¸ÕžÖ„ ÖÕ¡Õ¶Õ¯Õ¡Õ¶Õ¸Ö‚Õ´ Õ¥Ö„ Õ»Õ¶Õ»Õ¥Õ¬ ({0} Õ°Õ¡Õ¿) Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ¨: +Õ‹Õ¶Õ»Õ¸Ö‚Õ´ Õ§... +ÕÕ­Õ¡Õ¬` Ö†Õ¡ÕµÕ¬Õ¨ Õ¯Õ¡Õ´ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨ Õ»Õ¶Õ»Õ¥Õ¬Õ«Õ½: +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Ô±Õ²Õ¢Õ¡Ö€Õ¯Õ² Õ¿Õ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¥Õ¬ Õ¥Ö€Õ¯Õ¡Ö€ Õ¡Õ¶Õ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ¸Õ¾ Ö†Õ¡ÕµÕ¬Õ¥Ö€: +6300 +ÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ +ÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Ö†Õ¡ÕµÕ¬ +Ô¹Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ« Õ¡Õ¶Õ¸Ö‚Õ¶Õ¨. +Õ–Õ¡ÕµÕ¬Õ« Õ¡Õ¶Õ¸Ö‚Õ¶Õ¨. +Õ†Õ¸Ö€ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ +Õ†Õ¸Ö€ Ö†Õ¡ÕµÕ¬ +ÕÕ­Õ¡Õ¬` Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯ Õ½Õ¿Õ¥Õ²Õ®Õ¥Õ¬Õ«Õ½ +ÕÕ­Õ¡Õ¬` Ö†Õ¡ÕµÕ¬ Õ½Õ¿Õ¥Õ²Õ®Õ¥Õ¬Õ«Õ½ +6400 +Õ„Õ¥Õ¯Õ¶Õ¡Õ¢Õ¡Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +&Õ„Õ¥Õ¯Õ¶Õ¡Õ¢Õ¡Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +Õ†Õ·Õ¥Õ¬ +Ô±ÕºÕ¡Õ¶Õ·Õ¥Õ¬ +Ô´Õ«Õ´Õ¡Õ¯. +6600 +Õ€Õ¡Õ¿Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ +Ô¹Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¶Õ¥Ö€Õ« ÕºÕ¡Õ¿Õ´Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ +Õ€Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ +Õ€Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ +7100 +Õ€Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ«Õ¹ +Õ‘Õ¡Õ¶Ö +Õ“Õ¡Õ½Õ¿Õ¡Õ©Õ²Õ©Õ¥Ö€ +Õ€Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£ +7200 +Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ +Ô´Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬ +Ô¹Õ¥Õ½Õ¿Õ¡Õ¾Õ¸Ö€Õ¥Õ¬ +ÕŠÕ¡Õ¿Õ³Õ¥Õ¶Õ¥Õ¬ +ÕÕ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¥Õ¬ +Õ‹Õ¶Õ»Õ¥Õ¬ +ÕÕ¥Õ²Õ¥Õ¯Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ +7300 +ÕÖ€Õ¸Õ°Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¨ +&ÕÖ€Õ¸Õ°Õ¥Õ¬Õ +ÕÖ€Õ¸Õ°Õ¥Õ¬ &Õ´Õ¡Õ½Õ¥Ö€Õ« (Õ¢Õ¡ÕµÕ©Õ¥Ö€Õ¸Õ¾)` +ÕÖ€Õ¸Õ°Õ¸Ö‚Õ´... +Õ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Ö„ Õ¿Ö€Õ¸Õ°Õ¸Ö‚Õ´Õ¨ +Իրո˚ք Õ¿Ö€Õ¸Õ°Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¨ {0} Õ°Õ¡Õ¿Õ¸Ö€Õ¶Õ¥Ö€Õ« +Õ€Õ¡Õ¿Õ¸Ö€Õ« Õ¹Õ¡ÖƒÕ¨ ÕºÕ¥Õ¿Ö„ Õ§ ÖƒÕ¸Ö„Ö€ Õ¬Õ«Õ¶Õ« Õ¨Õ¶Õ©Õ¡ÖÕ«Õ¯ Ö†Õ¡ÕµÕ¬Õ« Õ¹Õ¡ÖƒÕ«Ö +Ô³Õ¸Ö€Õ®Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ½Õ­Õ¡Õ¬ +Õ€Õ¡Õ¿Õ¸Ö€Õ« Õ¶Õ·Õ¾Õ¡Õ® Õ¹Õ¡ÖƒÕ¨. {0} Õ¢Õ¡ÕµÕ©:\nÕրոհե˚լ Õ¡Ö€Õ­Õ«Õ¾Õ¨ Õ°Õ¡Õ¿Õ¸Ö€Õ¶Õ¥Ö€Õ«: +7400 +Õ€Õ¡Õ´Õ¡Õ¯ÖÕ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¨ +&Õ€Õ¡Õ´Õ¡Õ¯ÖÕ¥Õ¬. +Õ€Õ¡Õ´Õ¡Õ¯ÖÕ¸Ö‚Õ´... +Ô¸Õ¶Õ¿Ö€Õ¥Õ¬ Õ¿Ö€Õ¸Õ°Õ¾Õ¡Õ® Ö†Õ¡ÕµÕ¬Õ« Õ´Õ«Õ¡ÕµÕ¶ Õ¡Õ¼Õ¡Õ»Õ«Õ¶ Õ´Õ¡Õ½Õ¨ +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ¥Õ²Õ¡Õ¾ Õ³Õ¡Õ¶Õ¡Õ¹Õ¥Õ¬ Õ¿Ö€Õ¸Õ°Õ¾Õ¡Õ® Ö†Õ¡ÕµÕ¬Õ¨ +Õ€Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ¥Õ²Õ¡Õ¾ Õ£Õ¿Õ¶Õ¥Õ¬ Õ¿Ö€Õ¸Õ°Õ¾Õ¡Õ® Ö†Õ¡ÕµÕ¬Õ« Õ´Õ¡Õ½Õ¥Ö€Õ¨ +7500 +Checksum-Õ« Õ¸Ö€Õ¸Õ·Õ¸Ö‚Õ´... +Checksum +CRC checksum Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€. +CRC checksum Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Ö‡ Õ¡Õ¶Õ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€. +7600 +Ô±Ö€Õ¿Õ¡Õ¤Ö€Õ¸Õ²Õ¡Õ¯Õ¡Õ¶Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ©Õ¥Õ½Õ¿ +Õ€Õ«Õ·Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ®Õ¡Õ¾Õ¡Õ¬Õ¨. +ÕÕ¥Õ²Õ´Õ¥Õ¬ +Ô´Õ¸Ö‚Ö€Õ½ Õ¢Õ¥Ö€Õ¥Õ¬ +ÕŽÕ¡Ö€Õ¯Õ¡Õ¶Õ«Õ· +Ô¸Õ¶Õ¤Õ°Õ¡Õ¶Õ¸Ö‚Ö€ Õ¾Õ¡Ö€Õ¯Õ¡Õ¶Õ«Õ·Õ¨ +Ô¸Õ¶Õ©Õ¡ÖÕ«Õ¯Õ¨ +Ô±Õ¾Õ¡Ö€Õ¿Õ¸Ö‚Õ¶ Õ¡Ö€Õ¤ÕµÕ¸Ö‚Õ¶Ö„Õ¨ +CPU-Õ« Ö…Õ£Õ¿-Õ¨ +ÕŽÕ¡Ö€Õ¯./Õ•Õ£Õ¿. +Ô±Õ¶ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€. +7700 +Õ€Õ²Õ¸Ö‚Õ´ +Ô¿Õ¡ÕºÕ¥Õ¬ +Ô±Õ²Õ¢ÕµÕ¸Ö‚Ö€. +Õ†ÕºÕ¡Õ¿Õ¡Õ¯. +7710 +Õ€Õ²Õ´Õ¡Õ¶ Õ¿Õ¥Õ½Õ¡Õ¯ +Ô¿Õ¸Õ·Õ¿ Õ°Õ²Õ¸Ö‚Õ´ +Õ†Õ·Õ¡Õ¶Õ¡ÕµÕ«Õ¶ Õ°Õ²Õ¸Ö‚Õ´ (Ö†Õ¡ÕµÕ¬) +Õ†Õ·Õ¡Õ¶Õ¡ÕµÕ«Õ¶ Õ°Õ²Õ¸Ö‚Õ´ (Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯) +Õ„Õ«Õ¡ÖÕ´Õ¡Õ¶ Õ¯Õ¥Õ¿ (Junction) diff --git a/Utils/7-Zip/Lang/id.txt b/Utils/7-Zip/Lang/id.txt new file mode 100644 index 000000000..c4fc1b78b --- /dev/null +++ b/Utils/7-Zip/Lang/id.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.14 : 02/01/2016 : Frans Liando +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Indonesian +Bahasa Indonesia +401 +Oke +Batal + + + +&Ya +&Tidak +&Tutup +Bantuan + +&Lanjut +440 +Ya untuk &semua +Tidak untuk s&emua +Henti +Mulai Ulang +Latar Bela&kang +Latar &Depan +&Jeda +Terjeda +Anda yakin ingin batal? +500 +&Berkas +&Edit +Tam&pilan +&Kesukaan +Pera&latan +Ban&tuan +540 +&Buka +Buka Sisi &Dalam +Buka Sisi L&uar +&Tampilkan +&Edit +&Nama Ulang +&Salin Ke... +P&indahkan Ke... +&Hapus +Be&lah Berkas... +Gabun&g Berkas... +P&roperti +K&omentari +Hitung ceksum +Beda +Buat Direktori +Buat Berkas +&Keluar +Tautan +Alternati&f Aliran +600 +Pi&lih Semua +Batal Pilih Semua +Pilih Sebal&iknya +Pilih... +Batal Pilih... +Pilih Berdasarkan Tipe +Batal Pilih Berdasarkan Tipe +700 +Ikon &Besar +Ikon &Kecil +&Daftar +&Rincian +730 +Tidak Berurutan +Tampilan Datar +&2 Panel +Bilah Ala&t +Buka Akar Direktori +Naik Satu Tingkat +Riwayat Direktori... +&Segarkan +Segarkan Otomatis +750 +Bilah Alat Arsip +Bilah Ala&t Standar +Tombol Besar +Perlihatkan Teks Tombol +800 +Tambah direktori ke Favorit sebagai +Markah +900 +&Pilihan... +&Tolok Ukur +960 +Petun&juk... +Mengen&ai 7-Zip... +1003 +Lintasan +Nama +Ekstensi +Direktori +Ukuran +Ukuran dipak +Atribut +Dibuat +Diakses +Dimodifikasi +Padat +Dikomentari +Dienkripsi +Belah Sebelum +Belah Setelah +Kamus + +Tipe +Anti +Metode +SO Host +Sistem Berkas +Pengguna +Grup +Blok +Komentar +Posisi +Awalan Lintasan +Direktori +Berkas +Versi +Volume +Multivolume +Gelinciran +Tautan +Blok +Volume + +64-bit +Big-endian +CPU +Ukuran Fisik +Ukuran Tajuk +Ceksum +Karakteristik +Alamat Maya +ID +Nama Singkat +Aplikasi Pembuat +Ukuran Sektor +Ragam +Tautan Simbolik +Kesalahan +Ukuran Total +Ruang Kosong +Ukuran Gugus +Label +Nama Lokal +Penyelenggara +Keamanan NT +Alternatif ALiran +Aux +Dihapus +Apakah Pohon + + +Tipe Kesalahan +Kesalahan +Kesalahan +Peringatan +Peringatan +Aliran +Alternatif Aliran +Ukuran Alternatif Aliran +Ukuran Maya +Ukuran Terbongkar +Jumlah Ukuran Fisik +Indeks Volume +SubTipe +Komentar Singkat +Laman Kode + + + +Ukuran Ujung +Ukuran Rintisan Tertanam +Tautan +Tautan Keras +iNode + +Hanya-baca +2100 +Pilihan +Bahasa +Bahasa: +Editor +&Editor: +Be&da: +2200 +Sistem +Asosiasikan 7-Zip dengan: +Semua pengguna +2301 +Integrasikan 7-Zip ke cangkang menu konteks +Menu konteks dikaskade +Butir-butir menu konteks: +Ikon-ikon di menu konteks +2320 + + +Buka arsip +Ekstrak berkas... +Tambah ke arsip... +Uji arsip +Ekstrak di sini +Ekstrak ke {0} +Tambah ke {0} +Mampat dan surat kawat... +Mampat ke {0} dan surat kawat +2400 +Direktori +&Direktori kerja +Direktori temporer &sistem +S&ekarang +&Ditentukan: +Hanya untuk kandar yang dapat dilepas +Tetapkan lokasi untuk berkas arsip sementara. +2500 +Pengaturan +Perlihatkan butir ".." +Perlihatkan ikon asli berkas +Perlihatkan menu sistem +&Memilih baris penuh +Perlihatkan &garis kisi-kisi +Klik-tunggal untuk membuka +Ragam pemilihan &alternatif +Gunakan halaman memori &besar +2900 +Mengenai 7-Zip +7-Zip merupakan perangkat lunak gratis.\n\nTerjemahan oleh Frans Liando. +3000 +Sistem tidak bisa mengalokasikan jumlah memori yang diperlukan +Tidak ada kesalahan +{0} objek terpilih +Tidak bisa membuat Direktori '{0}' +Operasi pembaruan tidaklah didukung untuk arsip ini. +Tidak bisa membuka berkas arsip '{0}' +Tidak bisa membuka arsip terenkripsi '{0}'. Salah kata sandi? +Tipe arsip tidak didukung +Berkas {0} telah ada +Berkas '{0}' telah termodifikasi.\nApakah Anda ingin perbarui berkas dalam arsip? +Tidak bisa perbarui berkas\n'{0}' +Tidak bisa memulai editor. +Berkas ini tampaknya seperti virus (pada nama berkas berisi spasi yang panjang). +Pengoperasian tidak bisa dipanggil dari direktori yang berlintasan panjang. +Anda harus pilih satu berkas +Anda harus pilih satu berkas atau lebih +Terlalu banyak butir +Tidak bisa buka berkas sebagai arsip {0} +Berkas dibuka sebagai arsip {0} +Berkas dibuka dengan gelinciran +3300 +Mengekstrak +Pemampatan +Pengujian +Membuka... +Memindai... +Memindah +3320 +Menambah +Memperbarui +Menganalisa +Mereplikasi +Pak ulang +Melewatkan +Menghapus +Membuat tajuk +3400 +Ekstrak +E&kstrak ke: +Tetapkan lokasi untuk berkas yang diekstrak. +3410 +Ragam lintasan: +Nama lengkap lintasan +Tidak ada nama lintasan +Nama lintasan absolut +Nama lintasan relatif +3420 +Ragam tulis timpa: +Konfirmasikan sebelum tulis timpa +Tulis timpa tanpa konfirmasi +Lewati berkas yang ada +Penamaan ulang automatis +Penamaan ulang automatis terhadap berkas yang ada +3430 +Hilangkan duplikasi direktori akar +Pulihkan keamanan berkas +3500 +Konfirmasi Penggantian Berkas +Direktori tujuan telah berisi berkas yang terproses. +Maukah Anda mengganti berkas yang ada +dengan yang satu ini? +{0} bita +Nama &Ulang Automatis +3700 +Metode mampat untuk '{0}' tidak didukung. +Kesalahan data di '{0}'. Berkas ini rusak. +CRC gagal di '{0}'. Berkas ini rusak. +Kesalahan data di berkas terenkripsi '{0}'. Salah kata sandi? +CRC gagal di berkas terenkripsi '{0}'. Salah kata sandi? +3710 +Salah kata sandi? +3721 +Metode mampat tidak didukung +Kesalahan data +CRC gagal +Data tidak tersedia +Akhir data tidak terduga +Terdapat suatu data setelah akhir muatan data +Bukan arsip +Kesalahan Tajuk +Salah kata sandi +3763 +Awal arsip belum tersedia +Awal arsip belum dikonfirmasi + + + +Fitur tidak didukung +3800 +Masukkan kata sandi +Masukkan kata sandi: +Konfirmasi kata sandi: +&Perlihatkan kata sandi +Kata sandi tidak cocok +Gunakanlah hanya huruf bahasa Indonesia, nomor dan karakter khusus (!, #, $, ...) untuk kata sandi +Kata sandi terlalu panjang +Kata sandi +3900 +Waktu terpakai: +Sisa waktu: +Jumlah ukuran: +Kecepatan: +Terproses: +Rasio mampat: +Kesalahan: +Arsip: +4000 +Tambah ke arsip +&Arsip: +Ragam perbar&u: +&Format arsip: +&Level mampat: +&Metode mampat: +Ukuran &kamus: +Ukuran ka&ta: +Ukuran blok padat: +Jumlah CPU: +&Parameter: +Pilihan +Buat arsip SF&X +Kompres berkas bersama +Enkripsi +Metode enkripsi: +Enkripsi &nama berkas +Pemakaian memori untuk Pemampatan: +Pemakaian memori untuk Pengawamampatan: +Hapus berkas setelah dimampatkan +4040 +Simpan tautan simbolik +Simpan tautan keras +Simpan alternatif aliran data +Simpan keamanan berkas +4050 +Simpan +Tercepat +Cepat +Normal +Maksimum +Ultra +4060 +Tambah dan ganti berkas +Perbarui dan tambah berkas +Segarkan ulang berkas yang ada +Sinkronisasikan berkas +4070 +Ramban +Semua Berkas +Non-padat +Padat +6000 +Salin +Pindah +Salin ke: +Pindah ke: +Menyalin... +Memindah... +Penamaan Ulang... +Pilih direktori tujuan. +Pengoperasian tidak didukung untuk direktori demikian. +Kesalahan Penamaan Ulang Berkas atau Direktori +Konfirmasi Salin Berkas +Anda yakin ingin menyalin berkas ke arsip? +6100 +Konfirmasi Hapus Berkas +Konfirmasi Hapus Direktori +Konfirmasi Hapus Berkas-berkas +Anda yakin ingin hapus '{0}'? +Anda yakin ingin hapus direktori '{0}' dan semua isinya? +Anda yakin ingin hapus {0} butir? +Menghapus... +Kesalahan Penghapusan Berkas atau Direktori +Sistem tidak bisa memindah suatu berkas yang berlintasan panjang ke Recycle Bin +6300 +Buat Direktori +Buat Berkas +Nama Direktori: +Nama berkas: +Direktori Baru +Berkas Baru +Kesalahan Membuat Direktori +Kesalahan Pembuatan Berkas +6400 +Komentar +&Komentari: +Pilih +Tidak Memilih +Masker: +6600 +Properti +Riwayat Direktori +Pesan Diagnosa +Pesan +7100 +Komputer +Jaringan +Dokumen +Sistem +7200 +Tambah +Ekstrak +Uji +Salin +Pindah +Hapus +Info +7300 +Belah Berkas +&Belah ke: +Belah ke &volume, bita: +Membelah... +Konfirmasi Membelah +Anda yakin ingin membelah berkas menjadi {0} volume? +Ukuran volume seharusnya lebih kecil dari pada ukuran asli berkas +Ukuran volume salah +Tentukan ukuran volume: {0} bita.\nAnda Yakin ingin membelah arsip menjadi volume demikian? +7400 +Gabung Berkas +&Gabung ke: +Menggabung... +Pilih bagian pertama saja dari berkas belahan +Tidak bisa mendeteksi berkas sebagai bagian berkas belahan +Tidak bisa menemukan lebih dari satu bagian berkas belahan +7500 +Hitung ceksum... +Informasi ceksum +Ceksum CRC untuk data: +Ceksum CRC untuk data dan nama: +7600 +Tolok Ukur +Pemakaian memori: +Pemampatan +Pengawamampatan +Penilaian +Jumlah Penilaian +Sekarang +Hasil +Pemakaian CPU +Penilaian/Pemakaian +Lulus: +7700 +Tautan +Tautan +Tautan dari: +Tautan ke: +7710 +Tipe Tautan +Tautan Keras +Berkas Tautan Simbolik +Direktori Tautan Simbolik +Cabang Direktori diff --git a/Utils/7-Zip/Lang/io.txt b/Utils/7-Zip/Lang/io.txt new file mode 100644 index 000000000..ccc4f6c91 --- /dev/null +++ b/Utils/7-Zip/Lang/io.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.08 : iZoom +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Ido +Ido +401 +B&one +Abandonar + + + +&Yes +&No +&Klozez +Helpo + +&Durez +440 +Yes por &omni +No por o&mni +Haltez +Ristartez +&Fono +&Avanajo +&Pauzo +Pauzita +Kad vu ya volas abortar? +500 +&Dosiero +&Redakto +&Aspekto +&Favoraji +&Utensili +&Helpo +540 +&Apertigar +Apertigar int&erne +Apertigar e&xter +&Vidigar +&Redaktar +Ch&anjar nomo +Ko&piar aden... +Transp&ozar aden... +E&facar +F&endar dosiero... +Komb&inar dosieri... +In&heraji +Ko&mentar + + +Krear &dosieruyo +Krear dos&iero +E&kirar +600 +Merk&ar omno +Des&merkar omno +&Inversigar merko +Merkar... +Desmerkar... +Merkar segun tipo +Desmerkar segun tipo +700 +&Granda ikoneti +&Mikra ikoneti +&Listo +&Tabelo +730 +&Nearanjite + +&2 paneli +Utens&ila paneli +Apertigar radika dosieruyo +Ad-supre ye un nivelo +Dosieruya historio... +R&inovigar +750 +Utensila panelo di arkivo +Norma utensila panelo +Granda ikoneti +Videbla butontexto +800 +&Adjuntar dosieruyo ad la favorata quale +Lektomerkajo +900 +&Ajusti... +&Experienco dil rapideso +960 +&Konteno... +&Pri 7-Zip... +1003 +Dosiervoyo +Nomo +Dosiernoma sufixo +Dosieruyo +Grandeso +Enarkiva grandeso +Atributi +Kreita +Acesita +Chanjita +Solida +Komentita +Chifrita +Fendita ante +Fendita pos +Vortaro +CRC +Tipo +Kontre +Metodo +Operacala sistemo +Dosiersistemo +Uzero +Grupo +Bloko +Komenturo +Poziciono + + + + + + + + + + + + + + + + + + + + + + + + + +Eroro +Tota kapacivo +Vakanta +Faskogrando +Etiketo +Lokala nomo +Provizanto +2100 +Ajusti +Linguo +Linguo: +Redaktilo +&Redaktilo: + +2200 +Sistemo +Asociar 7-Zip-o kun dosieru: +2301 +Pozar 7-Zip'o en kuntexta menuo di shelo +Kaskada kuntexta menuo +Elementi di kuntexta menuo: +2320 + + +Apertar +Extraktar dosieri... +Adjuntar ad arkivo... +Verifikar arkivo +Extraktez hike +Extraktez aden {0} +Adjuntar ad {0} +Enarkivigar ed sendar elk-posto... +Enarkivigar aden {0} e sendar elk-posto... +2400 +Dosieruyi +&Laborala dosieruyo +&Sistemala provizora dosieruyo +&Nuna +&Definez: +&Uzar nur por deprenebla datumportili +Definar loko por provizora arkiva dosieri. +2500 +Ajusti +Montrar ".."-elemento +Montrar reala dosier-ikoneti +Montrar sistemala menuo +Merkar &tota lineo +Montrar &streki separanta + + + +2900 +Pri progamo... +7-Zip esas gratuita programo. Tamen, vu povas mantenar developado di 7-Zip per enregistrigesar. +3000 + +Erori ne es trovita +{0} objekt(o|i) merkita +Krear dosieruyo '{0}' neposiblesis +Rinovigo ne suportesas por ica arkivo. + + + + +Dosiero '{0}' chanjesis.\nKa vu volas rinovigar lu enarkive? +Rinovigo dil dosiero\n'{0}' faliis +Startigo dil redaktilo. + + + + +Tro multa objekti +3300 +Extrakto +Kompreso +Probado +Aperto... + +3400 +&Extraktar +E&xtraktar aden: +Definez loko por dosieri extraktenda. +3410 +Dosiervoyi +&Absoluta dosiervoyi +&Sen dosiervoyi +3420 +Remplasala skribmodo +&Kun konfirmo +&Sen konfirmo +&Omisar existanta dosieri +Automata nomchanjo +Automata nomchanjo de existanta dosieri +3500 +Konfirmo di nomchanjo +Dosieruyo ja kontenas operacata dosiero. +Kad remplasor esanta dosiero +per la ica? +{0} bayti* +&Automata nomchanjo. +3700 +Kompresmetodo ne esas suportata por dosiero '{0}'. +Datumeroro en '{0}'. Dosiero es fushita. +CRC-eroro en '{0}'. Dosiero es fushita. + + +3800 +Pasovorto +Sugestez pasovorto: + +&Montrar pasovorto + + + +&Pasovorto +3900 +Pasinta tempo: +Restanta tempo: +Grandeso: +Rapideso: + + +Erori: + +4000 +Adjuntar aden arkivo +&Arkivo: +R&emplasomodo: +A&rkiva formato: +Kompreso&grado +&Kompresometodo: +&Vortarograndeso: +Vo&rtograndeso: + + +&Parametri: +Ajustaji +Krear SF&X-arkivo + + + +Chifrar dosier&nomi +Memoruzo por kompresar: +Memoruzo por extraktar: +4050 +Sen kompresar +Maxim rapide +Rapide +Normala kompreso +Maxim granda kompreso +Extreme +4060 +Adjuntar e remplasar dosieri +Rinovigar e adjuntar dosieri +Rifreshigar existanta dosieri +Sinkronizar dosieri +4070 +Inspektar +Omna dosieri + + +6000 +Kopiar +Transpozar +Kopiez aden: +Transpozez aden: +Kopio... +Transpozo... +Nomchanjo... + +Operaco ne suportesas. +Eroro dum nomchanjo di dosiero o dosieruyo + + +6100 +Konfirmo dil efaco di dosiero +Konfirmo dil efaco di dosieruyo +Konfirmo dil efaco di dosieraro +Ka vu ya volas efacar '{0}'? +Ka vu ya volas efacar dosieruyo "{0}" e omna lua kontenaji? +Ka vu ya volas efacar ita {0} objekti? +Efaco... +Eroro dum efacar di dosiero o dosieruyo + +6300 +Krear dosieruyo +Krear dosiero +Dosieruynomo: +Dosiernomo: +Nova dosieruyo +Nova dosiero +Eroro dum dosieruykreo +Eroro dum dosierkreo +6400 +Komento +&Komento: +Merkar +Desmerkar +Masko: +6600 + +Dosieruyhistorio +Diagnozala mesaji +Mesajo +7100 +Komputilo +Reto + +Sistemo +7200 +Adjuntar +Extraktar +Verifikar +Kopiar +Transpozar +Efacar +Informo +7300 +Fendar dosiero +&Fendez aden: +&Fendar por volumini, bayti: +Fendo... + + + + + +7400 +Kombinar dosieri +&Kombinar aden: +Kombino... + + + +7500 + + + + +7600 +Experienco dil rapideso +Memoruzo: +Kompresado +Extraktado +Aprecuro +Tota aprecuro +Kuranta +Rezulta + + +Pasi: diff --git a/Utils/7-Zip/Lang/is.txt b/Utils/7-Zip/Lang/is.txt new file mode 100644 index 000000000..f324c6e94 --- /dev/null +++ b/Utils/7-Zip/Lang/is.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.14 : 2016-04-23 : Stefán Örvar Sigmundsson +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Icelandic +Ãslenska +401 +à lagi +Viðhætta + + + +&Já +&Nei +&Loka +Hjálp + +&Halda áfram +440 +&Já við öllu +&Nei við öllu +Stöðva +Endurræsa +&Bakgrunnur +&Forgrunnur +&Gera hlé +à hléi +Ert þú viss um að þú viljir viðhætta? +500 +&Skrá +&Breyta +S&koða +&Uppáhald +&Verkfæri +&Hjálp +540 +&Opna +Opna að &innanverðu +Opna að &utanverðu +S&koða +&Breyta +&Endurnefna +&Afrita í… +&Færa í… +E&yða +K&ljúfa skrá +S&ameina skrár +E&iginleikar +&Gera athugasemd +Reikna samtölu +Mismunur +Skapa &möppu +Skapa &skrá +&Hætta +&Tengill +&Víxlstraumar +600 +&Velja allt +&Afvelja allt +&Umsnúa vali +&Velja +&Afvelja +&Velja eftir tegund +&Afvelja eftir tegund +700 +&Stórar táknmyndir +S&máar táknmyndir +&Listi +Sm&áatriði +730 +Óflokkað +&Flatsýn +&2 spjöld +&Verkfærastikur +&Opna rótarmöppu +&Upp um eitt stig +M&öppusaga +&Endurglæða +S&jálfendurglæðun +750 +Safnverkfærastika +Stöðluð verkfærastika +Stórir takkar +Sýna takkatexta +800 +&Viðbæta möppu í uppáhald sem +Bókamerki +900 +&Valmöguleikar +&Afkastaprófa +960 +&Efnisyfirlit +&Um 7-Zip +1003 +Slóð +Nafn +Framlenging +Mappa +Stærð +Þjöppuð stærð +Eiginleikar +Skapað +Aðkomið +Dagsetning +Þétt +Athugasemd +Dulkóðað +Kljúfa fyrir +Kljúfa eftir +Orðasafn + +Tegund +And +Aðferð +Stýrikerfi hýsils +Skráakerfi +Notandi +Hópur +Bálkur +Athugasemd +Staðsetning +Slóðarforskeyti +Möppur +Skrár +Útgáfa +Bindi +Fjölbinda +Afsetning +Tenglar +Bálkar +Bindi + +64-bita +Háenda +Gjörvi +Efnisleg stærð +Höfðastærð +Samtala +Einkenni +Sýndarvistfang +Auðkenni +Stutt nafn +Skaparahugbúnaður +Geirastærð +Hamur +Mjúktengill +Villa +Heildarstærð +Laust pláss +Klasastærð +Merki +Staðarnafn +Veitandi +NT-öryggi +Víxlstraumur +Aðstoðar- +Eytt +Er tré + + +Villutegund +Villur +Villur +Viðvaranir +Viðvörun +Straumar +Víxlstraumar +Víxlstraumastærð +Sýndarstærð +Afþjöppuð stærð +Efnisleg heildarstærð +Bindaskrá +Undirtegund +Stutt athugasemd +Kóðasíða + + + +Halastærð +Innfallin stubbastærð +Tengill +Harðtengill +Skráhnútur + +Einungis lesanlegt +2100 +Valmöguleikar +Tungumál +Tungumál: +Ritill +&Ritill: +&Mismunur: +2200 +Kerfi +Tengja 7-Zip við: +Allir notendur +2301 +&Innleiða 7-Zip í samhengisvalmynd skeljar +&Þrepaskipt samhengisvalmynd +Samhengisvalmyndaratriði: +&Táknmyndir í samhengisvalmynd +2320 + + +Opna safn +Afþjappa skrár +Viðbæta í safn +Prófa safn +Afþjappa hér +Afþjappa í „{0}“ +Viðbæta í „{0}“ +Þjappa og senda í rafpósti +Þjappa í „{0}“ og senda í rafpósti +2400 +Möppur +Vinnslumappa +&Tímabundin mappa kerfis +&Núverandi +Til&greind: +N&ota einungis fyrir fjarlægjanleg drif +Tilgreina staðsetningu fyrir tímabundnar safnskrár. +2500 +Stillingar +Sýna „..“ &atriði +Sýna &raunverulegar skráartáknmyndir +Sýna &kerfisvalmynd +&Fullraðaval +Sýna &töflulínur +&Einsmella til að opna atriði +Annars konar &valhamur +Nota stórar &minnissíður +2900 +Um 7-Zip +7-Zip er frjáls hugbúnaður +3000 +Kerfið getur ekki ráðstafað nauðsynlega magninu af minninu +Það eru engar villur +„{0}“ hlutir valdir +Getur ekki skapað möppuna „{0}“ +Uppfærsluaðgerðir eru ekki studdar fyrir þetta safn. +Getur ekki opnað skrána „{0}“ sem safn +Getur ekki opnað dulkóðaða safnið „{0}“. Rangt aðgangsorð? +Óstudd safntegund +Skráin „{0}“ er nú þegar til +Skránni „{0}“ var breytt.\nVilt þú uppfæra hana í safninu? +Getur ekki uppfært skrána\n„{0}“ +Getur ekki ræst ritilinn. +Skráin lítur út eins og veira (skráarnafnið inniheldur löng bil). +Aðgerðina er ekki hægt að kalla í frá möppu sem hefur langa slóð. +Þú verður að velja eina skrá +Þú verður að velja eina eða fleiri skrár +Of mörg atriði +Getur ekki opnað skrána sem „{0}“-safn +Skráin er opin sem „{0}“-safn +Safnið er opið með afsetningu +3300 +Afþjappar +Þjappar +Prófar +Opnar +Skimar +Fjarlægir +3320 +Viðbætir +Uppfærir +Greinir +Endurtekur +Endurpakkar +Sleppir +Eyðir +Skapar höfuð +3400 +Afþjappa +Afþjappa í: +Tilgreindu staðsetningu fyrir afþjöppuðu skrárnar. +3410 +Slóðarhamur: +Full slóðarnöfn +Engin slóðarnöfn +Algild slóðarnöfn +Afstæð slóðarnöfn +3420 +Yfirritunarhamur: +Spyrja áður en yfirritað er +Yfirrita án kvaðningar +Sleppa gildandi skrám +Sjálfendurnefnun +Sjálfendurnefnun gildandi skráa +3430 +Útrýma afritinu af rótarmöppunni +Endurheimta skráaröryggi +3500 +Staðfesta skráaryfirritun +Ãfangastaðsmappan inniheldur nú þegar meðhöndluðu skrána. +Vilt þú yfirrita gildandi skrána +með þessari? +{0} bæti +Sjálfendurnefnun +3700 +Óstudd þjöppunaraðferð fyrir „{0}“. +Gagnavilla í „{0}“. Skráin er brotin +CRC mistókst í „{0}“. Skráin er brotin. +Gagnavilla í dulkóðuðu „{0}“. Rangt aðgangsorð? +CRC mistókst í dulkóðuðu skránni „{0}“. Rangt aðgangsorð? +3710 +Rangt aðgangsorð? +3721 +Óstudd þjöppunaraðferð +Gagnavilla +CRC mistókst +Ótiltæk gögn +Óvæntur endir gagna +Það eru gögn eftir endanum á aðalgögnunum +Er ekki safn +Höfðavillur +Rangt aðgangsorð +3763 +Ótiltækt upphaf safns +Óstaðfest upphaf safns + + + +Óstuddur eiginleiki +3800 +Ritaðu aðgangsorðið +Ritaðu aðgangsorðið: +Endurritaðu aðgangsorðið: +Sýna aðgangsorðið +Aðgangsorðin samsvarast ekki +Notaðu einungis enska stafi, tölur og sérstök rittákn (!, #, $, o.s.frv.) í aðgangsorðunum +Aðgangsorðið er of langt +Aðgangsorð +3900 +Liðinn tími: +Tími eftir: +Heildarstærð: +Hraði: +Meðhöndlað: +Þjöppunarhlutfall: +Villur: +Söfn: +4000 +Viðbæta safni +Safn: +Uppfærsluhamur: +Safnsnið: +Þjöppunarsnið: +Þjöppunaraðferð: +Orðasafnsstærð: +Orðastærð: +Þéttbálkstærð: +Fjöldi gjörvaþráða: +Færibreytur: +Valmöguleikar +Skapa SFX-safn +Þjappa sameiginlegum skrám +Dulkóðun +Dulkóðunaraðferð: +Dulkóða skráarnöfn +Minnisnotkun fyrir þjöppun: +Minnisnotkun fyrir afþjöppun: +Eyða skrám eftir þjöppun +4040 +Geyma mjúktengla +Geyma harðtengla +Geyma víxlgagnastrauma +Geyma skráaröryggi +4050 +Geyma +Hraðast +Hratt +Venjulegt +Hámarks +Öfga- +4060 +Viðbæta og yfirrita skrár +Uppfæra og viðbæta skrám +Hressa við gildandi skrám +Samstilla skrár +4070 +Vafra +Allar skrár +Óþétt +Þétt +6000 +Afrita +Færa +Afrita í: +Færa í: +Afritar +Færir +Endurnefnir +Veldu móttökumöppu. +Aðferðin er ekki stutt fyrir þessa möppu. +Villa við endurnefnun skráar eða möppu +Staðfesta skráarafritun +Ert þú viss um að þú viljir afrita skrárnar í safnið +6100 +Staðfesta skráareyðingu +Staðfesta möppueyðingu +Staðfesta fjölskráaeyðingu +Ert þú viss um að þú viljir eyða „{0}“? +Ert þú viss um að þú viljir eyða möppunni „{0}“ og öllu innihaldinu hennar? +Ert þú viss um að þú viljir eyða þessum {0} atriðum? +Eyðir +Villa við eyðingu skráar eða möppu +Kerfið getur ekki fært skrá með langri slóð í Recycle Bin +6300 +Skapa möppu +Skapa skrá +Möppunafn: +Skráarnafn: +Ný mappa +Ný skrá +Villa við sköpun möppunnar +Villa við sköpun skráarinnar +6400 +Athugasemd +Athugasemd: +Velja +Afvelja +Mát: +6600 +Eiginleikar +Möppusaga +Greiningarskilaboð +Skilaboð +7100 +Tölva +Net +Skjöl +Kerfi +7200 +Viðbæta +Afþjappa +Prófa +Afrita +Færa +Eyða +Upplýsingar +7300 +Kljúfa skrá +Kljúfa í: +Kljúfa í bindi, bæti: +Klýfur +Staðfesta klofning +Ert þú viss um að þú viljir kjúfa skrána í {0} bindi? +Bindisstærð verður að vera minni en stærðin á upprunalegu skránni +Röng bindisstærð +Tilgreindu bindisstærð: {0} bæti.\nErt þú viss um að þú viljir kljúfa safnið í slík bindi? +7400 +Sameina skrár +Sameina í: +Sameinar +Veldu einungis fyrsta hlutann af klofningsskránni +Get ekki greint skrána sem hluta af klofningsskránni +Get ekki fundið meira en einn hluta af klofningsskránni +7500 +Reiknar samtölu +Samtöluupplýsingar +CRC-samtala fyrir gögn: +CRC-samtala fyrir gögn og nöfn: +7600 +Afkastapróf +Minnisnotkun: +Þjöppun +Afþjöppun +Niðurstaða +Heildarniðurstaða +Núverandi +Útkoma +Gjörvanotkun +Niðurstaða / Notkun +Yfirferðir: +7700 +Tengill +Tengill +Tengill frá: +Tengill til: +7710 +Tengiltegund +Harðtengill +Skráarmjúktengill +Skráasafnsmjúktengill +Skráasafnstenging \ No newline at end of file diff --git a/Utils/7-Zip/Lang/it.txt b/Utils/7-Zip/Lang/it.txt new file mode 100644 index 000000000..ee4e3b1cf --- /dev/null +++ b/Utils/7-Zip/Lang/it.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 4.07 : Leandro Spagnol +; : Vincenzo Reale (some corrections) +; 15.05 : 2015-06-17 : TJL73 : http://tjl73.altervista.org/ +; +; +; +; +; +; +; +; +0 +7-Zip +Italian +Italiano +401 +OK +Annulla + + + +&Sì +&No +&Chiudi +Aiuto + +&Riprendi +440 +Sì per &tutti +No per t&utti +Ferma +Riavvia +&In background +&In primo piano +&Pausa +In pausa +Sei sicuro di voler annullare? +500 +&File +&Modifica +&Visualizza +&Preferiti +&Strumenti +&Aiuto +540 +&Apri +Apri in &7-Zip File Manager +Apri in E&xplorer +&Visualizza +Apri con l'&editor predefinito +Rino&mina +&Copia in... +&Sposta in... +&Elimina +&Dividi il file... +&Unisci i file... +&Proprietà +Comme&nto... +Calcola chec&ksum +Comparazione differenze (Diff) +Crea cartella +Crea file +E&sci +Collegamento +&Alternate Data Streams +600 +&Seleziona tutto +&Deseleziona tutto +In&verti selezione +Seleziona... +Deseleziona... +Seleziona per tipo +Deseleziona per tipo +700 +Icone &grandi +Icone &piccole +&Elenco +&Dettagli +730 +Nessun ordine +Vista non strutturata +Interfaccia a &2 pannelli +Barre degli &strumenti +Apri cartella principale +Livello superiore +Cronologia... +&Aggiorna +Aggiornamento automatico +750 +Barra archivio +Barra standard +Icone grandi +Mostra etichette di testo +800 +&Aggiungi la cartella ai Preferiti come +Collegamento +900 +&Opzioni... +&Benchmark +960 +&Guida... +&Informazioni su 7-Zip... +1003 +Percorso +Nome +Estensione +Cartella +Dimensione +Dimensione compressa +Attributi +Creato +Ultimo accesso +Ultima modifica +Solido +Commentato +Cifrato +Dividi prima +Dividi dopo +Dizionario + +Tipo +Estensione +Metodo +OS destinatario +File system +Utente +Gruppo +Blocco +Commento +Posizione +Percorso completo +Cartelle +File +Versione +Unità +Unità multiple +Offset +Collegamenti +Blocchi +Unità + +64-bit +Big-endian +CPU +Dimensione fisica +Dimensione intestazioni +Checksum +Caratteristiche +Indirizzo virtuale +ID +Nome breve +Applicativo origine +Dimensione settore +Modalità +Collegamento simbolico +Errore +Capacità +Disponibili +Dimensione dei cluster +Etichetta +Nome locale +Rete +Sicurezza NT +Flusso alternato +Ausiliario +Eliminato +Ad albero + + +Tipo di errori +Errori +Errori +Avvertimenti +Avvertimento +Flussi +Flussi alternati +Dimensione dei flussi alternati +Dimensione virtuale +Dimensione decompressione +Dimensione fisica totale +Indice del volume +Sottotipo +Commento breve +Pagina dei codici + + + +Dimensione della coda +Dimensione della matrice integrato +Collegamento +Collegamento statico +iNode + +Sola lettura +2100 +Opzioni +Lingua +Lingua: +Editor +&Editor predefinito: +Comparatore &differenze (Diff): +2200 +Sistema +Associa 7-Zip a: +Tutti gli utenti +2301 +Integra 7-Zip nel menu contestuale della shell +Menu contestuale a cascata +Elementi del menu contestuale: +Icone nel menu contestuale +2320 + + +Apri +Estrai i file... +Aggiungi all'archivio... +Verifica l'archivio +Estrai qui +Estrai in {0} +Aggiungi a {0} +Comprimi ed invia per email... +Comprimi in {0} ed invia per email +2400 +Cartelle +Cartella di lavoro +Cartella &TEMP di sistema +&Corrente +&Specificata: +&Utilizza solo per dischi rimovibili +Specifica una cartella per i file temporanei. +2500 +Impostazioni +Mostra l'elemento ".." +Mostra le icone dei file +Mostra le icone di sistema +Selezione a &riga intera +Mostra &griglia +Click singolo per aprire una voce +Modalità di selezione &alternativa +Utilizza pagine &larghe di memoria +2900 +Informazioni +7-Zip è un software libero.\n\nLocalizzazione italiana a cura di:\nTJL73 +3000 +Non è possibile allocare la quantità di memoria richiesta +Nessun errore. +Oggetti selezionati: {0} +Impossibile creare la cartella '{0}' +Non è possibile effettuare aggiornamenti su questo archivio. +Impossibile aprire il file '{0}' come archivio. +Impossibile aprire l'archivio cifrato '{0}'. Password errata? +Archivio non supportato +Il file {0} è già presente +Il file '{0}' è stato modificato.\nVuoi aggiornare l'archivio? +Impossibile aggiornare il file\n'{0}' +Impossibile avviare l'editor. +Il file sembra essere un virus (contiene molti spazi nel nome). +L'operazione non può essere richiamata da una cartella con percorso lungo. +Devi selezionare un file +Devi selezionare almeno un file +Troppi elementi +Impossibile aprire il file come archivio {0} +Il file è aperto come archivio {0} +L'archivio è aperto con offset +3300 +Estrazione in corso +Compressione in corso +Verifica archivio +Apertura in corso... +Scansione... +Rimozione +3320 +Aggiunta +Aggiornamento +Analisi +Replica +Ripacchettizzazione +Salto +Eliminazione +Creazione intestazione +3400 +Estrai +E&strai in: +Specifica una cartella in cui estrarre i file. +3410 +Struttura delle cartelle: +Percorsi completi +Nessun percorso +Percorsi assoluti +Percorsi relativi +3420 +Sovrascrittura: +Chiedi prima di sovrascrivere +Sovrascrivi senza chiedere +Non sovrascrivere i file esistenti +Rinomina automaticamente +Rinomina autom. i file esistenti +3430 +Elimina la duplicazione della radice +Ripristina sicurezza dei file +3500 +Conferma la sovrascrittura del file +File già esistente nella cartella di destinazione. +Vuoi sostituire il file esistente +con questo? +{0} byte +&Rinomina automaticamente +3700 +Metodo di compressione non supportato per '{0}'. +Errore nei dati in '{0}'. Il file è danneggiato. +CRC non corretto in '{0}'. Il file è danneggiato. +Errore nel file cifrato '{0}'. Password errata? +CRC errato nel file cifrato '{0}'. Password errata? +3710 +Password errata? +3721 +Metodo di compressione non supportata +Errore dei dati +CRC errato +Dati non disponibili +Fine dei dati inattesa +Sono presenti dati oltre la fine del blocco utile +Non è un archivio +Errore intestazioni +Password errata +3763 +Inizio dell'archivio non disponibile +Inizio dell'archivio non confermato + + + +Funzionalità non supportata +3800 +Inserisci password +&Inserisci password: +&Reinserisci password: +Mostra pass&word +Password differenti +Per la password, utilizzare solo lettere ASCII, numeri e caratteri speciali (!, #, $, ...) +La password è troppo lunga +Password +3900 +Tempo trascorso: +Tempo rimanente: +Dimensione totale: +Velocità: +Elaborato: +Rapporto compressione: +Errori: +Archivi: +4000 +Aggiungi all'archivio +Nome &archivio: +Modalità a&ggiornamento: +&Formato dell'archivio: +&Livello di compressione: +&Metodo di compressione: +Dimensione &Dizionario: +Dimensioni &Parola: +Dimensione del &blocco solido: +N&umero di flussi (thread) CPU: +Parametri &opzionali: +Opzioni +Crea archivio auto-&estraente +Comprimi file condivisi +Cifratura +Metodo &cifratura: +Cifra anche il &nome dei file +Quantità memoria per compressione: +Quantità memoria per decompressione: +Elimina i file dopo la compressione +4040 +Memorizza collegamenti simbolici +Memorizza collegamenti statici +Memorizza flussi dati alternati +Memorizza sicurezza dei file +4050 +Nessuna +Velocissima +Veloce +Normale +Massima +Ultra +4060 +Aggiungi e sostituisci i file +Aggiorna e aggiungi i file +Aggiorna i file esistenti +Sincronizza i file +4070 +Sfoglia +Tutti i file +Non-solido +Solido +6000 +Copia +Sposta +Copia in: +Sposta in: +Copia in corso... +Spostamento in corso... +Rinomina in corso... +Selezionare la cartella di destinazione. +Operazione non supportata per questa cartella. +Errore nella rinomina del file o cartella +Conferma copia +Sei sicuro di voler copiare questi file nell'archivio +6100 +Conferma l'eliminazione del file +Conferma l'eliminazione della cartella +Conferma l'eliminazione di più elementi +Sei certo di voler eliminare '{0}'? +Sei certo di voler eliminare la cartella '{0}' e tutto il suo contenuto? +Sei certo di voler eliminare questi {0} elementi? +Eliminazione in corso... +Errore nell'eliminazione del file o della cartella +Impossibile spostare un file con percorso lungo nel Cestino +6300 +Crea cartella +Crea file +Nome cartella: +Nome file: +Nuova cartella +Nuovo file +Errore nella creazione della cartella +Errore nella creazione del file +6400 +Commento +&Commento: +Seleziona +Deseleziona +Filtro: +6600 +Proprietà +Cronologia +Messaggi di diagnostica +Messaggio +7100 +Computer +Rete +Documenti +Sistema +7200 +Aggiungi +Estrai +Verifica +Copia +Sposta +Elimina +Proprietà +7300 +Dividi file +&Dividi in: +Di&vidi in più file (dimensione in byte): +Dividi in... +Conferma divisione +Sicuro di voler dividere l'archivio in {0} porzioni? +La dimensione di ciascuna porzione deve essere più piccola della dimensione totale dell'archivio originale +Dimensione non corretta +Dimensione specificata: {0} byte.\nSicuro di voler dividere l'archivio in questo modo? +7400 +Unisci i file +&Unisci in: +Unisci... +Seleziona solo la prima parte del file diviso +Impossibile riconoscere il file come archivio diviso +Impossibile trovare più di una parte dell'archivio diviso +7500 +Calcolo del checksum... +Informazioni sul checksum +CRC checksum sui dati: +CRC checksum su dati e nomi: +7600 +Benchmark +Utilizzo memoria: +Compressione in corso +Decompressione in corso +Valutazione +Valutazione totale +Attuale +Risultante +Utilizzo CPU +Stima / Utilizzo +Passaggi: +7700 +Collegamento +Collega +Origine collegamento: +Destinazione collegamento: +7710 +Tipo di collegamento +Collegamento statico +Collegamento simbolico al file +Collegamento simbolico alla cartella +Giunzione cartella diff --git a/Utils/7-Zip/Lang/ja.txt b/Utils/7-Zip/Lang/ja.txt new file mode 100644 index 000000000..c475e03a0 --- /dev/null +++ b/Utils/7-Zip/Lang/ja.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : Komuro, Mick, 2chBBS-software +; : Crus Mitsuaki +; 9.07 : Stepanushkin Dmitry +; 9.23 : 2011-06-22 : Stepanushkin Dmitry, nabeshin +; 9.33 : 2014-06-17 : Stepanushkin Dmitry +; 15.00 : 2015-04-30 : Stepanushkin Dmitry +; +; +; +; +; +0 +7-Zip +Japanese +日本語 +401 +OK +キャンセル + + + +ã¯ã„(&Y) +ã„ã„ãˆ(&N) +é–‰ã˜ã‚‹(&C) +ヘルプ + +続行(&C) +440 +ã™ã¹ã¦ã« ã¯ã„(&A) +ã™ã¹ã¦ã« ã„ã„ãˆ(&L) +åœæ­¢ +å†é–‹ +ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰(&B) +フォアグラウンド(&F) +ä¸€æ™‚åœæ­¢(&P) +ä¸€æ™‚åœæ­¢ +本当ã«åœ§ç¸®ã‚’å–りやã‚ã¾ã™ã‹ï¼Ÿ +500 +ファイル(&F) +編集(&E) +表示(&V) +ãŠæ°—ã«å…¥ã‚Š(&A) +ツール(&T) +ヘルプ(&H) +540 +é–‹ã(&O) +7-Zipã§é–²è¦§(&I) +関連付ã‘ã§é–‹ã(&U) +表示(&V) +編集(&E) +åå‰ã®å¤‰æ›´(&M) +コピー(&C)... +移動(&M)... +削除(&D) +ファイル分割(&S)... +ファイルçµåˆ(&B)... +プロパティ(&R) +コメント(&N) +ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®è¨ˆç®— +比較 +ãƒ•ã‚©ãƒ«ãƒ€ä½œæˆ +ãƒ•ã‚¡ã‚¤ãƒ«ä½œæˆ +é–‰ã˜ã‚‹(&X) +ãƒªãƒ³ã‚¯ä½œæˆ +代替データストリーム(&A) +600 +å…¨ã¦é¸æŠž(&A) +å…¨ã¦é¸æŠžè§£é™¤ +åè»¢é¸æŠž(&I) +é¸æŠž... +é¸æŠžè§£é™¤... +åŒä¸€å½¢å¼é¸æŠž +åŒä¸€å½¢å¼é¸æŠžè§£é™¤ +700 +大ãã„アイコン(&G) +å°ã•ã„アイコン(&M) +一覧(&L) +詳細(&D) +730 +ä¸¦ã¹æ›¿ãˆè§£é™¤ +フラットビュー +&2åˆ†å‰²ç”»é¢ +ツールãƒãƒ¼(&T) +ルートフォルダを開ã +1ã¤ä¸Šã®éšŽå±¤ã¸ +フォルダ履歴... +æœ€æ–°ã®æƒ…å ±ã«æ›´æ–°(&R) +自動更新 +750 +書庫ツールãƒãƒ¼ +標準ツールãƒãƒ¼ +大ããªãƒœã‚¿ãƒ³ +ボタンã®ãƒ†ã‚­ã‚¹ãƒˆè¡¨ç¤º +800 +ãƒ•ã‚©ãƒ«ãƒ€ã‚’ãŠæ°—ã«å…¥ã‚Šã«è¿½åŠ (&A) +ブックマーク +900 +オプション(&O)... +ベンãƒãƒžãƒ¼ã‚¯(&B) +960 +ヘルプã®è¡¨ç¤º(&C)... +7-Zipã«ã¤ã„ã¦(&A)... +1003 +パス +åå‰ +æ‹¡å¼µå­ +フォルダ +サイズ +圧縮後サイズ +属性 +ä½œæˆæ—¥æ™‚ +アクセス日時 +更新日時 +ソリッド +コメント済㿠+æš—å·åŒ– +åˆ†å‰²å‰ +分割後 +辞書 + +種類 +逆 +圧縮方法 +ホストOS +ファイルシステム +ユーザー +グループ +ブロック +コメント +ãƒã‚¸ã‚·ãƒ§ãƒ³ +パスプレフィックス +フォルダ数 +ファイル数 +ãƒãƒ¼ã‚¸ãƒ§ãƒ³ +ボリューム +多é‡ãƒœãƒªãƒ¥ãƒ¼ãƒ æ›¸åº« +オフセット +リンク数 +使用ブロック数 +ボリューム数 + +64ビット +ビッグエンディアン +CPU +物ç†ã‚µã‚¤ã‚º +ヘッダーサイズ +ãƒã‚§ãƒƒã‚¯ã‚µãƒ  +特性 +仮想アドレス +ID +çœç•¥å +作æˆã‚¢ãƒ—リケーション +セクターサイズ +モード +リンク +エラー +åˆè¨ˆã‚µã‚¤ã‚º +空ã領域 +クラスタサイズ +ラベル +ローカルå +プロãƒã‚¤ãƒ€ +NTセキュリティ +代替データストリーム +補助 +削除済㿠+ã¯ãƒ„リー + + +エラー種類 +エラー +エラー +警告 +警告 +ストリーム +代替データストリーム +代替データストリームサイズ +仮想サイズ +è§£å‡å¾Œã‚µã‚¤ã‚º +物ç†ã‚µã‚¤ã‚ºåˆè¨ˆ +ボリュームインデックス +亜類型 +コメント +コードページ + + + +テイルã®ã‚µã‚¤ã‚º +組ã¿è¾¼ã¿ã‚¹ã‚¿ãƒ–ã®ã‚µã‚¤ã‚º +リンク +ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ +iノード + +読ã¿å–り専用 +2100 +オプション +言語 +言語設定: +外部ツール +編集(&E): +比較(diff)(&D): +2200 +システム +7-Zipã«é–¢é€£ä»˜ã‘るファイル: +å…¨ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ +2301 +シェルコンテキスト(å³ã‚¯ãƒªãƒƒã‚¯ï¼‰ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«7-Zipを登録 +7-Zipをサブメニュー化ã™ã‚‹ +メニュー項目: +コンテキストメニューã«ã‚¢ã‚¤ã‚³ãƒ³ã‚’表示 +2320 +<フォルダ> +<書庫> +é–‹ã +展開... +圧縮... +書庫をテスト +ã“ã“ã«å±•é–‹ +{0}ã«å±•é–‹ +{0}ã«åœ§ç¸® +圧縮ã—ã¦é›»å­ãƒ¡ãƒ¼ãƒ«é€ä¿¡... +{0}ã«åœ§ç¸®ã—ã¦é›»å­ãƒ¡ãƒ¼ãƒ«é€ä¿¡ +2400 +フォルダ +作業フォルダ(&W) +システム一時フォルダ(&S) +カレントフォルダ(&C) +フォルダ指定(&P): +リムーãƒãƒ–ルドライブã®ã¿ä½¿ç”¨ã™ã‚‹ +一時ファイルã®ãŸã‚ã®å ´æ‰€ã‚’指定ã—ã¦ãã ã•ã„ +2500 +設定 +'..'を表示ã™ã‚‹ +å„ファイルã®å®Ÿéš›ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹ +システム(エクスプローラ)ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚‚表示ã™ã‚‹ +行å˜ä½ï¼ˆåˆ—アイテムを一括)ã§é¸æŠžã™ã‚‹(&F) +グリッド線を表示ã™ã‚‹(&G) +シングルクリックã§é–‹ã +カーソル移動ã§é¸æŠžãŒè‡ªå‹•解除ã•れãªã„モード(&A) +大ããªãƒ¡ãƒ¢ãƒªãƒšãƒ¼ã‚¸ã‚’使用ã™ã‚‹(&L) +2900 +7-Zipã«ã¤ã„㦠+7-Zipã¯ãƒ•リーソフトウェアã§ã™ +3000 +è¦æ±‚ã•れãŸé‡ã®ãƒ¡ãƒ¢ãƒªã‚’割り当ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ +正常ã§ã™ +{0}個ã®ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’é¸æŠž +'{0}'フォルダãŒä½œæˆã§ãã¾ã›ã‚“ +ã“ã®æ›¸åº«ã¯æ›´æ–°æ©Ÿèƒ½ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“ +ファイル'{0}'ã¯æ›¸åº«ã¨ã—ã¦é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“ +æš—å·åŒ–ã•ã‚ŒãŸæ›¸åº«'{0}'ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“。パスワードãŒé–“é•ã£ã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ +æœªå¯¾å¿œã®æ›¸åº«å½¢å¼ã§ã™ +{0}ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ +'{0}'ファイルãŒå¤‰æ›´ã•れã¾ã—ãŸã€‚\n書庫を更新ã—ã¾ã™ã‹ï¼Ÿ +ファイルを更新ã§ãã¾ã›ã‚“。\n'{0}' +エディタを起動ã§ãã¾ã›ã‚“。 +ã“ã®ãƒ•ァイルã¯ã€ã‚¦ã‚¤ãƒ«ã‚¹ã®ã‚ˆã†ã«è¦‹ãˆã¾ã™ï¼ˆãƒ•ァイルåã«å¤§é‡ã®ã‚¹ãƒšãƒ¼ã‚¹ã‚’å«ã‚“ã§ã„る)。 +パスãŒé•·ã„フォルダã§ã¯ã“ã®æ“作を実行ã§ãã¾ã›ã‚“。 +1ã¤ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„ +1ã¤ä»¥ä¸Šã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„ +アイテムãŒå¤šéŽãŽã¾ã™ +ファイルを{0}書庫ã¨ã—ã¦é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“ +ファイルãŒ{0}書庫ã¨ã—ã¦é–‹ã‹ã‚Œã¦ã„ã¾ã™ +書庫ãŒã‚ªãƒ•セットを使用ã—ã¦é–‹ã‹ã‚Œã¦ã„ã¾ã™ +3300 +展開中 +圧縮中 +テスト中 +é–‹ã„ã¦ã„ã¾ã™... +スキャン中... +削除中 +3320 +追加中 +更新中 +è§£æžä¸­ +複製中 +å†åœ§ç¸®ä¸­ +スキップ中 +削除中 +ヘッダーã®ä½œæˆä¸­ +3400 +展開 +展開先(&X): +展開先指定 +3410 +パスå出力方法: +フルパス +パスãªã— +絶対パス +相対パス +3420 +ä¸Šæ›¸ãæ–¹æ³• +上書ãã™ã‚‹ã¨ãã¯ç¢ºèªã™ã‚‹ +常ã«ä¸Šæ›¸ã +ファイルãŒå­˜åœ¨ã™ã‚‹ã¨ãã¯ã‚¹ã‚­ãƒƒãƒ— +自動的ã«ãƒªãƒãƒ¼ãƒ  +ファイルãŒå­˜åœ¨ã™ã‚‹ã¨ãã¯è‡ªå‹•リãƒãƒ¼ãƒ  +3430 +ルートフォルダーã®é‡è¤‡ã‚’å›žé¿ +ファイルã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£å±žæ€§ã‚’復元 +3500 +ファイル上書ãç¢ºèª +出力先ã®ãƒ•ォルダã«ã¯æ—¢ã«ä»¥ä¸‹ã®åŒã˜ãƒ•ァイルãŒå­˜åœ¨ã—ã¾ã™ +ç¾åœ¨ã®ãƒ•ァイル +ã«æ¬¡ã®æ–°ã—ã„ファイルを上書ãã—ã¾ã™ã‹ï¼Ÿ +{0}ãƒã‚¤ãƒˆ +自動的ã«ãƒªãƒãƒ¼ãƒ (&U) +3700 +'{0}'ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ãªã„圧縮方å¼ã§ã™ +'{0}'ã§ãƒ‡ãƒ¼ã‚¿ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ファイルã¯å£Šã‚Œã¦ã„ã¾ã™ +'{0}'ã®CRCãŒé•ã„ã¾ã™ã€‚ファイルã¯å£Šã‚Œã¦ã„ã¾ã™ +æš—å·åŒ–ã•れãŸãƒ•ァイル'{0}'ã§ãƒ‡ãƒ¼ã‚¿ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚パスワードãŒé–“é•ã£ã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ +æš—å·åŒ–ã•れãŸãƒ•ァイル'{0}'ã®CRCãŒé•ã„ã¾ã™ã€‚パスワードãŒé–“é•ã£ã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ +3710 +パスワードãŒé–“é•ã£ã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ +3721 +éžå¯¾å¿œåœ§ç¸®æ–¹æ³• +データエラー +CRCãŒé•ã„ã¾ã™ +データå–得失敗 +データä¸è¶³ +データã®ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰å¾Œã«ãƒ‡ãƒ¼ã‚¿ãŒå­˜åœ¨ã—ã¾ã™ +書庫ã§ã¯ã‚りã¾ã›ã‚“ +ヘッダーエラー +パスワードãŒé–“é•ã£ã¦ã„ã¾ã™ +3763 +書庫先頭ã®å–得失敗 +ç„¡åŠ¹ãªæ›¸åº«å…ˆé ­ + + + +éžå¯¾å¿œæ©Ÿèƒ½ +3800 +パスワード入力 +パスワード入力: +パスワードå†å…¥åŠ›ï¼š +パスワードを表示ã™ã‚‹(&S) +パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“ +パスワードã«ã¯åŠè§’英数記å·(!, #, $, ...)ã®ã¿ã‚’使用ã—ã¦ãã ã•ã„。 +パスワードãŒã‚ã¾ã‚Šã«é•·éŽãŽã¾ã™ +パスワード +3900 +çµŒéŽæ™‚間: +残り時間: +サイズåˆè¨ˆï¼š +速度: +å‡¦ç†æ¸ˆã¿ï¼š +圧縮率: +エラー: +書庫数: +4000 +ファイル圧縮 +圧縮先(&A): +更新方法(&U): +書庫形å¼(&F): +圧縮レベル(&L): +圧縮方å¼(&M): +辞書サイズ(&D): +ワードサイズ(&W): +ソリッドブロックサイズ: +CPUスレッド数: +パラメータ(&P): +オプション +自己展開書庫作æˆ(&X) +共有(編集中ã®ï¼‰ãƒ•ァイルも圧縮 +æš—å·åŒ– +æš—å·åŒ–æ–¹å¼ï¼š +ファイルåã‚’æš—å·åŒ–(&N) +圧縮ã«å¿…è¦ãªãƒ¡ãƒ¢ãƒªï¼š +展開ã«å¿…è¦ãªãƒ¡ãƒ¢ãƒªï¼š +圧縮後ã«å…ƒã®ãƒ•ァイルを削除 +4040 +シンボリックリンクをä¿å­˜ +ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’ä¿å­˜ +代替データストリームをä¿å­˜ +ファイルã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£å±žæ€§ã‚’ä¿å­˜ +4050 +無圧縮 +最速 +高速 +標準 +最高 +超圧縮 +4060 +ã™ã¹ã¦ã®ãƒ•ァイル上書ã +ãƒ•ã‚¡ã‚¤ãƒ«è¿½åŠ ã¨æ›´æ–° +変更ã—ãŸãƒ•ァイルã®ã¿æ›´æ–° +ãƒ•ã‚¡ã‚¤ãƒ«ã‚’åŒæœŸã•ã›ã‚‹ +4070 +閲覧 +ã™ã¹ã¦ã®ãƒ•ァイル +ソリッドãªã— +ç„¡åˆ¶é™ +6000 +コピー +移動 +フォルダã¸ã‚³ãƒ”ー: +フォルダã¸ç§»å‹•: +コピーã—ã¦ã„ã¾ã™... +移動ã—ã¦ã„ã¾ã™... +リãƒãƒ¼ãƒ ã—ã¦ã„ã¾ã™... +対象ã®ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„。 +ã“ã®ãƒ•ォルダã§ã¯ã€ãã®æ“作ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。 +ファイルã¾ãŸã¯ãƒ•ォルダã®ãƒªãƒãƒ¼ãƒ ã‚¨ãƒ©ãƒ¼ +ファイルコピーã®ç¢ºèª +本当ã«ãƒ•ァイルを書庫ã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ +6100 +ファイル削除ã®ç¢ºèª +フォルダ削除ã®ç¢ºèª +複数ファイル削除ã®ç¢ºèª +'{0}'を本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ +'{0}'フォルダã¨ãã®ä¸­èº«ã®ã™ã¹ã¦ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ +ã“れらã®{0}個ã®é …目を本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ +削除中... +ファイルã¾ãŸã¯ãƒ•ォルダã®å‰Šé™¤ã‚¨ãƒ©ãƒ¼ +ファイルã®ãƒ‘スãŒé•·ã™ãŽã‚‹ãŸã‚ã€ãƒ•ァイルをã”ã¿ç®±ã«ç§»å‹•ã§ãã¾ã›ã‚“ +6300 +ãƒ•ã‚©ãƒ«ãƒ€ä½œæˆ +ãƒ•ã‚¡ã‚¤ãƒ«ä½œæˆ +フォルダå: +ファイルå: +æ–°ã—ã„フォルダ +æ–°ã—ã„ファイル +フォルダ作æˆã‚¨ãƒ©ãƒ¼ +ファイル作æˆã‚¨ãƒ©ãƒ¼ +6400 +コメント +コメント(&C): +é¸æŠž +é¸æŠžè§£é™¤ +マスク: +6600 +プロパティ +フォルダ履歴 +è¨ºæ–­çµæžœ +メッセージ +7100 +コンピュータ +ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ +ドキュメント +システム +7200 +追加 +展開 +テスト +コピー +移動 +削除 +情報 +7300 +ファイル分割 +分割先(&S): +書庫をサイズã§åˆ†å‰²(&V): +分割中... +分割ã®ç¢ºèª +{0}個ã«ãƒ•ァイルを分割ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ +分割後ã®ã‚µã‚¤ã‚ºã¯å…ƒã®ãƒ•ァイルサイズよりå°ã•ã„サイズを指定ã—ã¦ãã ã•ã„ +䏿­£ãªãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚µã‚¤ã‚º +é¸æŠžã•れãŸãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚µã‚¤ã‚ºï¼š{0}ãƒã‚¤ãƒˆ\nã“ã®ã‚µã‚¤ã‚ºã«æ›¸åº«ã‚’分割ã—ã¾ã™ã‹ï¼Ÿ +7400 +ファイルçµåˆ +çµåˆå…ˆ(&C): +çµåˆä¸­... +分割ファイルã®å…ˆé ­ã®ãƒ•ァイルã ã‘é¸æŠžã—ã¦ãã ã•ã„ +分割ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ +分割ファイルã®ä¸€éƒ¨ã—ã‹è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ +7500 +ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¨ˆç®—中... +ãƒã‚§ãƒƒã‚¯ã‚µãƒ æƒ…å ± +データã®CRCãƒã‚§ãƒƒã‚¯ã‚µãƒ ï¼š +データã¨åå‰ã®CRCãƒã‚§ãƒƒã‚¯ã‚µãƒ ï¼š +7600 +ベンãƒãƒžãƒ¼ã‚¯ +å¿…è¦ãƒ¡ãƒ¢ãƒªï¼š +圧縮中 +展開中 +評価 +ç·åˆè©•価 +ç¾åœ¨ +çµæžœ +CPU使用率 +評価 / 使用率 +テスト回数: +7700 +リンク +ãƒªãƒ³ã‚¯ä½œæˆ +リンク元: +リンク先: +7710 +リンク種類 +ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ +ファイルã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ +ディレクトリã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ +ディレクトリã®ã‚¸ãƒ£ãƒ³ã‚¯ã‚·ãƒ§ãƒ³ diff --git a/Utils/7-Zip/Lang/ka.txt b/Utils/7-Zip/Lang/ka.txt new file mode 100644 index 000000000..a920e7318 --- /dev/null +++ b/Utils/7-Zip/Lang/ka.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.23 : 2011-09-25 : Translated by Giorgi Maghlakelidze, original translation by Dimitri Gogelia, +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Georgian +ქáƒáƒ áƒ—ული +401 +OK +გáƒáƒ£áƒ¥áƒ›áƒ”ბრ+ + + +&დიáƒáƒ® +&áƒáƒ áƒ +&დáƒáƒ®áƒ£áƒ áƒ•რ+დáƒáƒ®áƒ›áƒáƒ áƒ”ბრ+ +&გáƒáƒ’რძელებრ+440 +დიáƒáƒ® &ყველáƒáƒ¡áƒáƒ—ვის +áƒáƒ áƒ ყვე&ლáƒáƒ¡áƒáƒ—ვის +შეწყვეტრ+ხელáƒáƒ®áƒšáƒ +&ფáƒáƒœáƒ£áƒ áƒáƒ“ +&წინრპლáƒáƒœáƒ–ე +&შეჩერებრ+&შეჩერებული +ნáƒáƒ›áƒ“ვილáƒáƒ“ გსურთ მáƒáƒ¥áƒ›áƒ”დების შეწყვეტáƒ? +500 +&ფáƒáƒ˜áƒšáƒ˜ +&დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებრ+&ხედი +რ&ჩეულები +&ხელსáƒáƒ¬áƒ§áƒáƒ”ბი +&დáƒáƒ®áƒ›áƒáƒ áƒ”ბრ+540 +&გáƒáƒ®áƒ¡áƒœáƒ +გáƒáƒ®áƒ¡áƒœáƒ &შიგნით +გáƒáƒ®áƒ¡áƒœáƒ გáƒ&რეთ +დáƒ&თვáƒáƒšáƒ˜áƒ”რებრ+დáƒ&მუშáƒáƒ•ებრ+გáƒáƒ“áƒ&რქმევრ+&áƒáƒ¡áƒšáƒ˜áƒ¡ მáƒáƒ—áƒáƒ•სებáƒ... +&გáƒáƒ“áƒáƒ¢áƒáƒœáƒ... +&წáƒáƒ¨áƒšáƒ +&ფáƒáƒ˜áƒšáƒ˜áƒ¡ დáƒáƒ§áƒáƒ¤áƒ... +&ფáƒáƒ˜áƒšáƒ”ბის გáƒáƒ”რთიáƒáƒœáƒ”ბáƒ... +თ&ვისებები +კáƒáƒ›áƒ”ნ&ტáƒáƒ áƒ˜ +სáƒáƒ™áƒáƒœáƒ¢áƒ áƒáƒšáƒ ჯáƒáƒ›áƒ˜áƒ¡ დáƒáƒ—ვლრ+Diff +სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის შექმნრ+ფáƒáƒ˜áƒšáƒ˜áƒ¡ შექმნრ+გ&áƒáƒ›áƒáƒ¡áƒ•ლრ+600 +&ყველáƒáƒ¤áƒ áƒ˜áƒ¡ მáƒáƒœáƒ˜áƒ¨áƒ•ნრ+მáƒáƒœáƒ˜áƒ¨áƒ•ნის გáƒáƒ£áƒ¥áƒ›áƒ”ბრ+მáƒáƒœáƒ˜áƒ¨áƒ•ნის შებრუნებრ+მáƒáƒ˜áƒœáƒ˜áƒ¨áƒœáƒáƒ¡... +მáƒáƒ˜áƒ®áƒ¡áƒœáƒáƒ¡ მáƒáƒœáƒ˜áƒ¨áƒ•ნáƒ... +მáƒáƒœáƒ˜áƒ¨áƒ•ნრტიპის მიხედვით +მáƒáƒœáƒ˜áƒ¨áƒ•ნის მáƒáƒ®áƒ¡áƒœáƒ ტიპის მიხედვით +700 +&დიდი ხáƒáƒ¢áƒ£áƒšáƒ”ბი +&პáƒáƒ¢áƒáƒ áƒ ხáƒáƒ¢áƒ£áƒšáƒ”ბი +&სირ+&დáƒáƒ¬áƒ•რილებით +730 +დáƒáƒ£áƒšáƒáƒ’ებელი +ბრტყელი ხედი +&2 პáƒáƒœáƒ”ლი +&ხელსáƒáƒ¬áƒ§áƒáƒ—რზáƒáƒšáƒ˜ +ძირეული სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის გáƒáƒ®áƒ¡áƒœáƒ +სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“იდáƒáƒœ გáƒáƒ¡áƒ•ლრ+სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეების ისტáƒáƒ áƒ˜áƒ... +&გáƒáƒœáƒáƒ®áƒšáƒ”ბრ+750 +დáƒáƒáƒ áƒ¥áƒ˜áƒ•ების ზáƒáƒšáƒ˜ +ძირითáƒáƒ“ი ზáƒáƒšáƒ˜ +დიდი ღილáƒáƒ™áƒ”ბი +წáƒáƒ áƒ¬áƒ”რები ღილáƒáƒ™áƒ”ბზე +800 +&სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის რჩეულებში დáƒáƒ›áƒáƒ¢áƒ”ბრრáƒáƒ’áƒáƒ áƒª +სáƒáƒœáƒ˜áƒ¨áƒœáƒ” +900 +&გáƒáƒ›áƒáƒ áƒ—ვáƒ... +&წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘ის შემáƒáƒ¬áƒ›áƒ”ბრ+960 +სáƒáƒ áƒ©áƒ”ვი... +7-Zip-ის შესáƒáƒ®áƒ”ბ... +1003 +მდებáƒáƒ áƒ”áƒáƒ‘რ+სáƒáƒ®áƒ”ლი +გáƒáƒ¤áƒáƒ áƒ—áƒáƒ”ბრ+სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე +ზáƒáƒ›áƒ +შეკუმშულის ზáƒáƒ›áƒ +áƒáƒ¢áƒ áƒ˜áƒ‘უტები +შექმნილირ+გáƒáƒ®áƒ¡áƒœáƒ˜áƒšáƒ˜áƒ +შეცვლილირ+უწყვეტი +კáƒáƒ›áƒ”ნტáƒáƒ áƒ˜ +დáƒáƒ¨áƒ˜áƒ¤áƒ áƒ£áƒšáƒ˜áƒ +დáƒáƒ§áƒáƒ¤áƒ სáƒáƒœáƒáƒ› +დáƒáƒ§áƒáƒ¤áƒ შემდეგ +ლექსიკáƒáƒœáƒ˜ +CRC +ტიპი +áƒáƒœáƒ¢áƒ˜ +მეთáƒáƒ“ი +სისტემრ+ფáƒáƒ˜áƒšáƒ£áƒ áƒ˜ სისტემრ+მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბელი +ჯგუფი +ბლáƒáƒ™áƒ˜ +კáƒáƒ›áƒ”ნტáƒáƒ áƒ˜ +მდებáƒáƒ áƒ”áƒáƒ‘რ+მდებáƒáƒ áƒ”áƒáƒ‘ის თáƒáƒ•სáƒáƒ áƒ—ი +სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეები +ფáƒáƒ˜áƒšáƒ”ბი +ვერსირ+ტáƒáƒ›áƒ˜ +მრáƒáƒ•áƒáƒšáƒ¢áƒáƒ›áƒ˜áƒáƒœáƒ˜ +წáƒáƒœáƒáƒªáƒ•ლებრ+ბმულები +ბლáƒáƒ™áƒ”ბი +ტáƒáƒ›áƒ”ბი + +64 ბიტი +Big-endian +CPU +ფიზიკური ზáƒáƒ›áƒ +სáƒáƒ—áƒáƒ£áƒ áƒ”ბის ზáƒáƒ›áƒ +სáƒáƒ™áƒáƒœáƒ¢áƒ áƒáƒšáƒ ჯáƒáƒ›áƒ˜ +თვისებები +ვირტუáƒáƒšáƒ£áƒ áƒ˜ მისáƒáƒ›áƒáƒ áƒ—ი +ID +მáƒáƒ™áƒšáƒ” სáƒáƒ®áƒ”ლი +შემქმნელი პრáƒáƒ’რáƒáƒ›áƒ +სექტáƒáƒ áƒ˜áƒ¡ ზáƒáƒ›áƒ +რეჟიმი +ბმული +შეცდáƒáƒ›áƒ +სრული მáƒáƒªáƒ£áƒšáƒáƒ‘რ+თáƒáƒ•ისუფáƒáƒšáƒ˜ სივრცე +კლáƒáƒ¡áƒ¢áƒ”რის ზáƒáƒ›áƒ +წáƒáƒ áƒ¬áƒ”რრ+áƒáƒ“გილáƒáƒ‘რივი სáƒáƒ®áƒ”ლი +მáƒáƒ›áƒ¬áƒáƒ“ებელი +2100 +გáƒáƒ›áƒáƒ áƒ—ვრ+ენები +ენáƒ: +რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜ +რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜: +&Diff: +2200 +სისტემრ+áƒáƒ¡áƒáƒªáƒ˜áƒ áƒ”ბრ7-Zip-თáƒáƒœ: +2301 +7-Zip-ის გáƒáƒ áƒ¡áƒ˜áƒ¡ კáƒáƒœáƒ¢áƒ”ქსტურ მენიუში ჩáƒáƒ“გმრ+კáƒáƒ¡áƒ™áƒáƒ“ური კáƒáƒœáƒ¢áƒ”ქსტური მენიუ +კáƒáƒœáƒ¢áƒ”ქსტური მენიუს შემáƒáƒ“გენლáƒáƒ‘áƒ: +2320 +<სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე> +<áƒáƒ áƒ¥áƒ˜áƒ•ი> +áƒáƒ áƒ¥áƒ˜áƒ•ის გáƒáƒ®áƒ¡áƒœáƒ +ფáƒáƒ˜áƒšáƒ”ბის áƒáƒ›áƒáƒ¦áƒ”ბáƒ... +áƒáƒ áƒ¥áƒ˜áƒ•ში ჩáƒáƒ›áƒáƒ¢áƒ”ბáƒ... +áƒáƒ áƒ¥áƒ˜áƒ•ის შემáƒáƒ¬áƒ›áƒ”ბრ+áƒáƒ›áƒáƒ¦áƒ”ბრáƒáƒ¥ +áƒáƒ›áƒáƒ¦áƒ”ბრ{0}-ში +{0}-ში ჩáƒáƒ›áƒáƒ¢áƒ”ბრ+შეკუმშვრდრელფáƒáƒ¡áƒ¢áƒ˜áƒ— გáƒáƒ’ზáƒáƒ•ნáƒ... +{0}-ში შეკუმშვრდრელფáƒáƒ¡áƒ¢áƒ˜áƒ— გáƒáƒ’ზáƒáƒ•ნრ+2400 +სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეები +&მუშáƒáƒáƒ‘ის სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე +&სისტემური დრáƒáƒ”ბითი სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე +&მიმდინáƒáƒ áƒ” +&მითითებული: +გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნებრცვლáƒáƒ“ი მეხსიერების მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘ებისთვის +მიუთითეთ მდებáƒáƒ áƒ”áƒáƒ‘რდრáƒáƒ”ბითი áƒáƒ áƒ¥áƒ˜áƒ•ებისáƒáƒ—ვის. +2500 +გáƒáƒ›áƒáƒ áƒ—ვრ+".." ელემენტის ჩვენებრ+ფáƒáƒ˜áƒšáƒ—რნáƒáƒ›áƒ“ვილი ხáƒáƒ¢áƒ£áƒšáƒ”ბის ჩვენებრ+სისტემური მენიუს ჩვენებრ+კურსáƒáƒ áƒ˜ &მთელ სტრიქáƒáƒœáƒ–ე +ჩვენებრ&ცხრილის სáƒáƒ®áƒ˜áƒ— +ელემენტთრგáƒáƒ®áƒ¡áƒœáƒ ერთი წკáƒáƒžáƒ˜áƒ— +მáƒáƒœáƒ˜áƒ¨áƒœáƒ•ის &áƒáƒšáƒ¢áƒ”რნáƒáƒ¢áƒ˜áƒ£áƒšáƒ˜ რეჟიმი +&დიდი მეხსიერების ბლáƒáƒ™áƒ”ბის გáƒáƒ›áƒáƒ§áƒ”ნებრ+2900 +7-Zip-ის შესáƒáƒ®áƒ”ბ +7-Zip áƒáƒ áƒ˜áƒ¡ თáƒáƒ•ისუფლáƒáƒ“ გáƒáƒ•რცელებáƒáƒ“ი პრáƒáƒ’რáƒáƒ›áƒ£áƒšáƒ˜ უზრუნველყáƒáƒ¤áƒ. +3000 +შეუძლებელირსáƒáƒ­áƒ˜áƒ áƒ ზáƒáƒ›áƒ˜áƒ¡ მეხსიერების გáƒáƒ›áƒáƒ§áƒáƒ¤áƒ +შეცდáƒáƒ›áƒ”ბი áƒáƒ  მáƒáƒ˜áƒ«áƒ”ბნრ+მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜áƒ {0} áƒáƒ‘იექტი +ვერ მáƒáƒ®áƒ”რხდრ'{0}' სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეს შექმნრ+áƒáƒ› ტიპის áƒáƒ áƒ¥áƒ˜áƒ•ისáƒáƒ—ვის ცვლილების áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ ხელმიუწვდáƒáƒ›áƒ”ლიáƒ. +'{0}' ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ áƒ¥áƒ˜áƒ•áƒáƒ“ გáƒáƒ®áƒ¡áƒœáƒ ვერ მáƒáƒ®áƒ”რხდრ+'{0}' დáƒáƒ¨áƒ˜áƒ¤áƒ áƒ£áƒšáƒ˜ áƒáƒ áƒ¥áƒ˜áƒ•ის გáƒáƒ®áƒ¡áƒœáƒ ვერ მáƒáƒ®áƒ”რხდáƒ. áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ პáƒáƒ áƒáƒšáƒ˜? +áƒáƒ áƒ¥áƒ˜áƒ•თრáƒáƒ› სáƒáƒ®áƒ”áƒáƒ‘ის გáƒáƒ®áƒ¡áƒœáƒ შეუძლებელირ+ფáƒáƒ˜áƒšáƒ˜ '{0}' უკვე áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს +ფáƒáƒ˜áƒšáƒ˜ '{0}' შეიცვáƒáƒšáƒ.\nგნებáƒáƒ•თ მისი áƒáƒ áƒ¥áƒ˜áƒ•ში გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ? +შეუძლებელირ\n'{0}'-ის გáƒáƒœáƒáƒ®áƒšáƒ”ბრ+შეუძლებელირრედáƒáƒ¥áƒ¢áƒáƒ áƒ˜áƒ¡ გáƒáƒ¨áƒ•ებáƒ. +ფáƒáƒ˜áƒšáƒ˜ შესáƒáƒ«áƒšáƒáƒ áƒáƒ¦áƒ›áƒáƒ©áƒœáƒ“ეს ვირუსი (სáƒáƒ®áƒ”ლი შეიცáƒáƒ•ს ძáƒáƒšáƒ˜áƒáƒœ ბევრ თáƒáƒ•მáƒáƒ§áƒ áƒ˜áƒš ჰáƒáƒ áƒ¡). +შეუძლებელირგრძელ-სáƒáƒ®áƒ”ლიáƒáƒœáƒ˜ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“იდáƒáƒœ ქმედების შესრულებრ+უნდრáƒáƒ˜áƒ áƒ©áƒ˜áƒáƒ— ერთი ფáƒáƒ˜áƒšáƒ˜ +უნდრáƒáƒ˜áƒ áƒ©áƒ˜áƒáƒ— ერთი áƒáƒœ მეტი ფáƒáƒ˜áƒšáƒ˜ +მეტისმეტáƒáƒ“ ბევრი ელემენტი +3300 +მიმდინáƒáƒ áƒ”áƒáƒ‘ს áƒáƒ›áƒáƒ¦áƒ”ბრ+მიმდინáƒáƒ áƒ”áƒáƒ‘ს შეკუმშვრ+მიმდინáƒáƒ áƒ”áƒáƒ‘ს შემáƒáƒ¬áƒ›áƒ”ბრ+მიმდინáƒáƒ áƒ”áƒáƒ‘ს გáƒáƒ®áƒ¡áƒœáƒ... +მიმდინáƒáƒ áƒ”áƒáƒ‘ს áƒáƒ›áƒáƒ™áƒ˜áƒ—ხვáƒ... +3400 +áƒáƒ›áƒáƒ¦áƒ”ბრ+áƒ&მáƒáƒ¦áƒ”ბáƒ: +მიუთითეთ áƒáƒ“გილი áƒáƒ›áƒáƒ¡áƒáƒ¦áƒ”ბი ფáƒáƒ˜áƒšáƒ”ბისáƒáƒ—ვის. +3410 +მდებáƒáƒ áƒ”áƒáƒ‘რ+სრული მდებáƒáƒ áƒ”áƒáƒ‘რ+მდებáƒáƒ áƒ”áƒáƒ‘ის გáƒáƒ áƒ”შე +3420 +ზედგáƒáƒ“áƒáƒ¬áƒ”რრ+ზედგáƒáƒ“áƒáƒ¬áƒ”რის დáƒáƒ¡áƒ¢áƒ£áƒ áƒ˜ +ზედგáƒáƒ“áƒáƒ¬áƒ”რრდáƒáƒ¡áƒ áƒ£áƒ áƒ˜áƒ¡ გáƒáƒ áƒ”შე +áƒáƒ áƒ¡áƒ”ბული ფáƒáƒ˜áƒšáƒ”ბის გáƒáƒ›áƒáƒ¢áƒáƒ•ებრ+áƒáƒ•ტáƒ-გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვრ+áƒáƒ áƒ¡áƒ”ბული ფáƒáƒ˜áƒšáƒ”ბის áƒáƒ•ტáƒ-გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვრ+3500 +ფáƒáƒ˜áƒšáƒ˜áƒ¡ ზედგáƒáƒ“áƒáƒ¬áƒ”რის დáƒáƒ¡áƒ¢áƒ£áƒ áƒ˜ +სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე უკვე შეიცáƒáƒ•ს დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებულ ფáƒáƒ˜áƒšáƒ¡. +გსურთ ჩáƒáƒáƒœáƒáƒªáƒ•ლáƒáƒ— áƒáƒ áƒ¡áƒ”ბული ფáƒáƒ˜áƒšáƒ˜ +áƒáƒ®áƒáƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜áƒ—? +{0} ბáƒáƒ˜áƒ¢áƒ˜ +áƒ&ვტáƒ-გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვრ+3700 +შეკუმშვის შეუთáƒáƒ•სებáƒáƒ“ი მეთáƒáƒ“ი '{0}'-თვის. +მáƒáƒœáƒáƒªáƒ”მების შეცდáƒáƒ›áƒ '{0}'-ში. ფáƒáƒ˜áƒšáƒ˜ დáƒáƒ–იáƒáƒœáƒ”ბულიáƒ. +CRC-ის შეცდáƒáƒ›áƒ '{0}'-ში. ფáƒáƒ˜áƒšáƒ˜ დáƒáƒ–იáƒáƒœáƒ”ბულიáƒ. +მáƒáƒœáƒáƒªáƒ”მების შეცდáƒáƒ›áƒ დáƒáƒ¨áƒ˜áƒ¤áƒ áƒ£áƒš ფáƒáƒ˜áƒšáƒ¨áƒ˜ '{0}'. áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ პáƒáƒ áƒáƒšáƒ˜? +CRC ჩáƒáƒ˜áƒ¨áƒáƒšáƒ დáƒáƒ¨áƒ˜áƒ¤áƒ áƒ£áƒš ფáƒáƒ˜áƒšáƒ¨áƒ˜ '{0}'. áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ პáƒáƒ áƒáƒšáƒ˜? +3800 +პáƒáƒ áƒáƒšáƒ˜áƒ¡ შეყვáƒáƒœáƒ +შეიყვáƒáƒœáƒ”თ პáƒáƒ áƒáƒšáƒ˜: +პáƒáƒ áƒáƒšáƒ˜ ხელáƒáƒ®áƒšáƒ: +პáƒáƒ áƒáƒšáƒ˜áƒ¡ &ჩვენებრ+პáƒáƒ áƒáƒšáƒ”ბი áƒáƒ  დáƒáƒ”მთხვრ+პáƒáƒ áƒáƒšáƒáƒ“ შეიყვáƒáƒœáƒ”თ მხáƒáƒšáƒáƒ“ ლáƒáƒ—ინური áƒáƒ¡áƒáƒ”ბი, ციფრები დრგáƒáƒœáƒ¡áƒáƒ™áƒ£áƒ—ერებული სიმბáƒáƒšáƒáƒ”ბი (!, #, $, ...) +პáƒáƒ áƒáƒšáƒ˜ მეტისმეტáƒáƒ“ გრძელირ+პáƒáƒ áƒáƒšáƒ˜ +3900 +გáƒáƒ¡áƒ£áƒšáƒ˜ დრáƒ: +დáƒáƒ áƒ©áƒ”ნილი დრáƒ: +ჯáƒáƒ›áƒ£áƒ áƒ˜ ზáƒáƒ›áƒ: +სიჩქáƒáƒ áƒ”: +დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებული: +შეკუმშვის დáƒáƒœáƒ”: +შეცდáƒáƒ›áƒ: +áƒáƒ áƒ¥áƒ˜áƒ•ები: +4000 +áƒáƒ áƒ¥áƒ˜áƒ•ში ჩáƒáƒ›áƒáƒ¢áƒ”ბრ+&áƒáƒ áƒ¥áƒ˜áƒ•ი: +&გáƒáƒœáƒáƒ®áƒšáƒ”ბის რეჟიმი: +áƒáƒ áƒ¥áƒ˜áƒ•ის &ფáƒáƒ áƒ›áƒáƒ¢áƒ˜: +შეკუმშვის &დáƒáƒœáƒ”: +შეკუმშვის &მეთáƒáƒ“ი: +&ლექსიკáƒáƒœáƒ˜áƒ¡ ზáƒáƒ›áƒ: +&სიტყვის ზáƒáƒ›áƒ: +უწყვეტი ბლáƒáƒ™áƒ˜áƒ¡ ზáƒáƒ›áƒ: +CPU ნáƒáƒ™áƒáƒ“ების áƒáƒ“ენáƒáƒ‘áƒ: +&პáƒáƒ áƒáƒ›áƒ”ტრები: +დáƒáƒ›áƒáƒ¢áƒ”ბითი +შეიქმნáƒáƒ¡ SF&X áƒáƒ áƒ¥áƒ˜áƒ•ი +გáƒáƒ–იáƒáƒ áƒ”ბული ფáƒáƒ˜áƒšáƒ”ბის შეკუმშვრ+დáƒáƒ¨áƒ˜áƒ¤áƒ áƒ•რ+დáƒáƒ¨áƒ˜áƒ¤áƒ áƒ•ის მეთáƒáƒ“ი: +ფáƒáƒ˜áƒšáƒ—რ&სáƒáƒ®áƒ”ლების დáƒáƒ¨áƒ˜áƒ¤áƒ áƒ•რ+მეხსიერებრშეკუმშვისáƒáƒ—ვის: +მეხსიერებრáƒáƒ›áƒáƒ¦áƒ”ბისáƒáƒ—ვის: +4050 +შეკუმშვის გáƒáƒ áƒ”შე +უსწრáƒáƒ¤áƒ”სი +სწრáƒáƒ¤áƒ˜ +ჩვეულებრივი +მáƒáƒ¦áƒáƒšáƒ˜ +უმáƒáƒ¦áƒšáƒ”სი +4060 +ფáƒáƒ˜áƒšáƒ—რდáƒáƒ›áƒáƒ¢áƒ”ბრდრშეცვლრ+ფáƒáƒ˜áƒšáƒ—რგáƒáƒœáƒáƒ®áƒšáƒ”ბრდრდáƒáƒ›áƒáƒ¢áƒ”ბრ+ფáƒáƒ˜áƒšáƒ—რგáƒáƒœáƒáƒ®áƒšáƒ”ბრ+ფáƒáƒ˜áƒšáƒ—რსინქრáƒáƒœáƒ˜áƒ–ებრ+4070 +დáƒáƒ—ვáƒáƒšáƒ˜áƒ”რებრ+ყველრფáƒáƒ˜áƒšáƒ˜ +წყვეტილი +უწყვეტი +6000 +áƒáƒ¡áƒšáƒ˜áƒ¡ áƒáƒ¦áƒ”ბრ+გáƒáƒ“áƒáƒ¢áƒáƒœáƒ +áƒáƒ¡áƒšáƒ˜áƒ¡ მáƒáƒ—áƒáƒ•სებáƒ: +გáƒáƒ“áƒáƒ¢áƒáƒœáƒ: +áƒáƒ¡áƒšáƒ˜áƒ¡ áƒáƒ¦áƒ”ბáƒ... +გáƒáƒ“áƒáƒ¢áƒáƒœáƒ... +გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვáƒ... +áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ დáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ”ბის სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე. +ქმედებრშუთáƒáƒ•სებელირმიმდინáƒáƒ áƒ” სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ესთáƒáƒœ. +ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒœ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვის შეცდáƒáƒ›áƒ +ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¡áƒšáƒ˜áƒ¡ შექმნის დáƒáƒ¡áƒ¢áƒ£áƒ áƒ˜ +ნáƒáƒ“მვილáƒáƒ“ გსურთ ფáƒáƒ˜áƒšáƒ”ბის áƒáƒ áƒ¥áƒ˜áƒ•ში ჩáƒáƒ›áƒáƒ¢áƒ”ბრ+6100 +ფáƒáƒ˜áƒšáƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ˜áƒ¡ თáƒáƒœáƒ®áƒ›áƒáƒ‘რ+სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის წáƒáƒ¨áƒšáƒ˜áƒ¡ თáƒáƒœáƒ®áƒ›áƒáƒ‘რ+რáƒáƒ›áƒ“ენიმე ფáƒáƒ˜áƒšáƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ˜áƒ¡ თáƒáƒœáƒ®áƒ›áƒáƒ‘რ+დáƒáƒ áƒ¬áƒ›áƒ£áƒœáƒ”ბული ხáƒáƒ áƒ—, რáƒáƒ› გინდáƒáƒ— წáƒáƒ¨áƒáƒšáƒáƒ— '{0}'? +დáƒáƒ áƒ¬áƒ›áƒ£áƒœáƒ”ბული ხáƒáƒ áƒ—, რáƒáƒ› გინდáƒáƒ— წáƒáƒ¨áƒáƒšáƒáƒ— '{0}' სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე დრმთელი მისი შიგთáƒáƒ•სი? +დáƒáƒ áƒ¬áƒ›áƒ£áƒœáƒ”ბული ხáƒáƒ áƒ—, რáƒáƒ› გინდáƒáƒ— წáƒáƒ¨áƒáƒšáƒáƒ— {0} ელემენტები? +იშლებáƒ... +ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒœ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის წáƒáƒ¨áƒšáƒ˜áƒ¡ შეცდáƒáƒ›áƒ +სისტემáƒáƒ¡ áƒáƒ  შეუძლირგáƒáƒ“áƒáƒ˜áƒ¢áƒáƒœáƒáƒ¡ სáƒáƒœáƒáƒ’ვე ყუთში ფáƒáƒ˜áƒšáƒ˜ მეტისმეტáƒáƒ“ გრძელი მისáƒáƒ›áƒáƒ áƒ—ით. +6300 +სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის შექმნრ+ფáƒáƒ˜áƒšáƒ˜áƒ¡ შექმნრ+სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის სáƒáƒ®áƒ”ლი: +ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლი: +áƒáƒ®áƒáƒšáƒ˜ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე +áƒáƒ®áƒáƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜ +შეცდáƒáƒ›áƒ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის შექმნისáƒáƒ¡ +შეცდáƒáƒ›áƒ ფáƒáƒ˜áƒšáƒ˜áƒ¡ შექმნისáƒáƒ¡ +6400 +კáƒáƒ›áƒ”ნტáƒáƒ áƒ˜ +&კáƒáƒ›áƒ”ნტáƒáƒ áƒ˜: +მáƒáƒœáƒ˜áƒ¨áƒ•ნრ+მáƒáƒœáƒ˜áƒ¨áƒ•ნის გáƒáƒ£áƒ¥áƒ›áƒ”ბრ+ნიღáƒáƒ‘ი: +6600 +თვისებები +სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეთრისტáƒáƒ áƒ˜áƒ +დიáƒáƒ’ნáƒáƒ¡áƒ¢áƒ˜áƒ™áƒ£áƒ áƒ˜ შეტყáƒáƒ‘ინებრ+შეტყáƒáƒ‘ინებრ+7100 +კáƒáƒ›áƒžáƒ˜áƒ£áƒ¢áƒ”რი +ქსელი +დáƒáƒ™áƒ£áƒ›áƒ”ნტები +სისტემრ+7200 +დáƒáƒ›áƒáƒ¢áƒ”ბრ+áƒáƒ›áƒáƒ¦áƒ”ბრ+შემáƒáƒ¬áƒ›áƒ”ბრ+áƒáƒ¡áƒšáƒ˜ +გáƒáƒ“áƒáƒ¢áƒáƒœáƒ +წáƒáƒ¨áƒšáƒ +ცნáƒáƒ‘ები +7300 +ფáƒáƒ˜áƒšáƒ˜áƒ¡ დáƒáƒ§áƒáƒ¤áƒ +&დáƒáƒ˜áƒ§áƒáƒ¤áƒ: +დáƒáƒ˜áƒ§áƒáƒ¡ &ტáƒáƒ›áƒ”ბáƒáƒ“, ზáƒáƒ›áƒ˜áƒ— (ბáƒáƒ˜áƒ¢áƒ”ბში): +დáƒáƒ§áƒáƒ¤áƒ... +დáƒáƒ§áƒáƒ¤áƒ˜áƒ¡ დáƒáƒ¡áƒ¢áƒ£áƒ áƒ˜ +ნáƒáƒ›áƒ“ვილáƒáƒ“ გსურთ ფáƒáƒ˜áƒšáƒ˜áƒ¡ დáƒáƒ§áƒáƒ¤áƒ {0} ნáƒáƒ¬áƒ˜áƒšáƒáƒ“? +ნáƒáƒ¬áƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒ უნდრიყáƒáƒ¡ სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜ ფáƒáƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒáƒ–ე ნáƒáƒ™áƒšáƒ”ბი +ნáƒáƒ¬áƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒ მიუღებელირ+მითითებული ნáƒáƒ¬áƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒ: {0} ბáƒáƒ˜áƒ¢áƒ˜.\nნáƒáƒ›áƒ“ვილáƒáƒ“ გსურთ áƒáƒ¡áƒ”თი ზáƒáƒ›áƒ˜áƒ¡ ნáƒáƒ¬áƒ˜áƒšáƒ”ბáƒáƒ¡ დáƒáƒ§áƒáƒ— ფáƒáƒ˜áƒšáƒ˜? +7400 +ფáƒáƒ˜áƒšáƒ”ბის შეერთებრ+&შეერთებáƒ: +შეერთებáƒ... +მáƒáƒœáƒ˜áƒ¨áƒœáƒ”თ დáƒáƒ§áƒáƒ¤áƒ˜áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜áƒ¡ მხáƒáƒšáƒáƒ“ პირველი ნáƒáƒ¬áƒ˜áƒšáƒ˜ +რáƒáƒ’áƒáƒ áƒª ჩáƒáƒœáƒ¡, ფáƒáƒ˜áƒšáƒ˜ áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს დáƒáƒ§áƒáƒ¤áƒ˜áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜áƒ¡ ნáƒáƒ¬áƒ˜áƒšáƒ¡ +ვერ მáƒáƒ˜áƒ–ებნრდáƒáƒ§áƒáƒ¤áƒ˜áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜áƒ¡ ერთზე მეტი ნáƒáƒ¬áƒ˜áƒšáƒ˜ +7500 +სáƒáƒ™áƒáƒœáƒ¢áƒ áƒáƒšáƒ ჯáƒáƒ›áƒ˜áƒ¡ დáƒáƒ—ვლáƒ... +სáƒáƒ™áƒáƒœáƒ¢áƒ áƒšáƒ ჯáƒáƒ›áƒ˜áƒ¡ შესáƒáƒ®áƒ”ბ +CRC ჯáƒáƒ›áƒ˜ მáƒáƒœáƒáƒªáƒ”მთáƒáƒ—ვის: +CRC ჯáƒáƒ›áƒ˜ სáƒáƒ®áƒ”ლთრდრმáƒáƒœáƒáƒªáƒ”მთáƒáƒ—ვის: +7600 +წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘ის შემáƒáƒ¬áƒ›áƒ”ბრ+გáƒáƒ›áƒáƒ§áƒ”ნებული მეხსიერებáƒ: +შეკუმშვრ+გáƒáƒ¨áƒšáƒ +შეფáƒáƒ¡áƒ”ბრ+სáƒáƒ”რთრშეფáƒáƒ¡áƒ”ბრ+მიმდინáƒáƒ áƒ” +შემáƒáƒ¯áƒáƒ›áƒ”ბელი +CPU დáƒáƒ¢áƒ•ირთვრ+შეფáƒáƒ¡./დáƒáƒ¢áƒ•ირთვრ+გáƒáƒ¢áƒáƒ áƒ”ბáƒ: diff --git a/Utils/7-Zip/Lang/kaa.txt b/Utils/7-Zip/Lang/kaa.txt new file mode 100644 index 000000000..0ac118e38 --- /dev/null +++ b/Utils/7-Zip/Lang/kaa.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Atabek Murtazaev +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Karakalpak - Latin +Qaraqalpaqsha - Latın +401 +OK +Biykar etiw + + + +&Awa +&Yaq +&Jabıw +Ja'rdem + +&Dawam etiw +440 +&Barlıg'ına awa +Ba&rlıg'ına yaq +Toqtatıw +Qaytadan baslaw +&Artqı fong'a +Aldıng'ı &fong'a +&Pauza +Pauza qılıng'an +Anıq biykar etiwdi qa'leysizbe? +500 +&Fayl +&Du'zetiw +&Ko'rinis +&Saylandılar +A's&baplar +&Ja'rdem +540 +&Ashıw +&İshinde ashıw +&Sırtında ashıw +&Ko'riw +&Du'zetiw +Atın o'&zgertiw +Bul jerge &nusqasın alıw... +Bul jerge ko'shiriw... +O'shiriw +&Fayldı bo'liw... +Fayllardı &biriktiriw... +Sazlawla&r +Kom&mentariy... +Qadag'alaw summası +Diff +Papka jaratıw +Fayl jaratıw +Sh&ıg'ıw +600 +Barlıg'ın &saylaw +Saylawdı alıp taslaw +Saylawdı &teris awdarıw +Saylaw... +Saylawdı alıp taslaw... +Tu'ri boyınsha saylaw +Tu'ri boyınsha saylawdı alıp taslaw +700 +U'&lken ikonalar +Kishi &ikonalar +&Dizim +&Keste +730 +Ta'rtipsiz +Tegis ko'rinis +&2 panel +&A'sbaplar paneli +Derek papkasın ashıw +Bir da'reje joqarıg'a ko'teriliw +Papkalar tariyxı... +&Jan'alaw +750 +Arxivator knopkalar paneli +Standart knopkalar paneli +U'lken knopkalar +Knopkalar tekstin ko'rsetiw +800 +&Papkanı saylandılarg'a qosıw +Belgi +900 +&Sazlawlar... +&O'nimlilikti tekseriw +960 +&Mazmunı... +&7-Zip haqqında... +1003 +Jol +Atı +Ken'eytpe +Papka +Ko'lemi +Qısılg'andag'ı ko'lemi +Attributları +Jaratılg'an +Ashılg'an +O'zgertilgen +U'ziliksiz +Kommentariy berilgen +Shifrlengen +deyin bo'lingen +keyin bo'lingen +So'zlik +CRC +Tu'ri +Anti +Usıl +Basqarıwshı OS +Fayl sisteması +Paydalanıwshı +Topar +Blok +Kommentariy +Ornı +Jol prefiksi +Papkalar +Fayllar +Versiya +Tom +Ko'p tomlı +Jıljıw +Siltewler +Bloklar +Tomlar + +64-bit +Big-endian +Protsessor +Fizikalıq ko'lemi +Baslama ko'lemi +Qadag'alaw summası +Xarakteristika +Virtual adresi +ID +Qısqa atı +Jaratıwshı bag'darlama +Sektor ko'lemi +Rejim +Siltew +Qa'te +Ulıwma ko'lem +Bos orın +Klaster ko'lemi +Belgi +Jergilikli atı +Provayder +2100 +Sazlawlar +Til +Til: +Redaktor +&Redaktor: +&Diff: +2200 +Sistema +To'mendegi fayllardı 7-Zip penen baylanıstırıw: +2301 +7-Zip ti qabıq kontekst menyuine qosıw +Kaskadlı kontekst menyu +Kontekst menyu elementleri: +2320 + + +Arxivti ashıw +Fayllardı shıg'arıp alıw... +Arxivke qosıw... +Arxivti sınaw +Usı jerge shıg'arıw +Mına jerge shıg'arıw: {0} +Mınag'an qosıw: {0} +Qısıw ha'm email arqalı jiberiw... +Mınag'an qısıw: {0} ha'm email arqalı jiberiw +2400 +Papkalar +&İslewshi papka +&Sistemanın' waqtınshalıq papkası +Ha'zirgi &papka +&Ko'rsetilgen: +Tek alınbalı tasıg'ıshlar ushın paydalanıw +Waqtınshalıq arxiv fayllardın' ornın ko'rsetin'. +2500 +Sazlawlar +".." elementti ko'rsetiw +Fayldın' haqıyqıy ikonaların ko'rsetiw +Sistema menyuin ko'rsetiw +&Tolıq joldı saylaw +Tor &sızıqların ko'rsetiw +Elementti bir basıwdan ashıw +Saylawdın' &alternativ usılı +U'lken &yad betlerin paydalanıw +2900 +7-Zip haqqında +7-Zip bul biypul bag'darlama +3000 +Sistema kerekli bolg'an yad mug'darın ajırata almadı +Qa'te tabılmadı +{0} obekt saylang'an +'{0}' papkasın jaratıw iske aspadı +Bul arxiv ushın jan'alaw operatsiyaları qollanılmaydı. +'{0}' faylın arxiv sıpatında ashıw iske aspadı +Shifrlang'an '{0}' arxivin ashıw iske aspadı. Parol qa'te emespe? +Qollanbaytug'ın arxiv tu'ri +{0} faylı a'lle qashan bar (jaratılg'an) +'{0}' faylı o'zgertilgen.\nOnı arxiv ishinde jan'alawdı qa'leysizbe? +Mına fayldı jan'alaw iske aspadı\n'{0}' +Redaktordı ashıw iske aspadı. +Fayl virusqa uqsaydı (fayl atında uzın bos orınlar qollanılg'an). +Operatsiya uzun jollı papkadan ju'klene almaydı. +Siz bir fayl saylawın'ız kerek +Siz bir yamasa onnan ko'p fayllardı saylawın'ız kerek +Elementler sanı dım ko'p +3300 +Shıg'arılmaqta +Qısılmaqta +Sınaw +Ashılmaqta... +Skanerlenbekte... +3400 +Shıg'arıw +&Bul jerge shıg'arıw: +Shıg'arılatug'ın fayllar ushın orın ko'rsetin'. +3410 +Jol usılı +Tolıq jol atları +Jolsız +3420 +U'stinen jazıw usılı +U'stine jazıwdan aldın soraw +Soramastan u'stine jazıw +Aldınnan bar fayllardı o'tkizip jiberiw +Avtomat ta'rizde qayta at beriw +Aldınnan bar fayllarg'a avtomat ta'rizde qayta at beriw +3500 +Fayldın' u'stinen jazıwdı tastıyqlaw +Tayınlang'an papka a'lle qashan islengen fayldı o'z ishine alg'an. +Siz bar fayldı +mına fayl menen almastırıwdı qa'leysizbe? +{0} bayt +A&vtomat ta'rizde qayta at beriw +3700 +'{0}' faylı ushın tanıs bolmag'an qısıw usılı. +'{0}' faylında mag'lıwmat qa'tesi tabıldı. Fayl buzılg'an. +'{0}' faylında CRC qa'tesi tabıldı. Fayl buzılg'an. +'{0}' shifrlang'an faylında mag'lıwmat qa'tesi tabıldı. Parol qa'te emespe? +'{0}' shifrlang'an faylında CRC qa'tesi tabıldı. Parol qa'te emespe? +3800 +Paroldi kiritiw +Paroldi kiritin': +Paroldi qayta kiritin': +Paroldi &ko'rsetiw +Paroller sa'ykes kelmedi +Parol ushın tek latın a'lipbesi ha'riplerin, sanlar ha'm arnawlı simvollardı (!, #, $, ...) paydalanın' +Parol dım uzın +Parol +3900 +O'tken waqıt: +Qalg'an waqıt: +Tolıq ko'lem: +Tezlik: +İslengen ko'lem: +Qısıw da'rejesi: +Qa'teler: +Arxivler: +4000 +Arxivke qosıw +&Arxiv: +&Jan'alaw usılı: +Arxiv &formatı: +Qısıw &da'rejesi: +Qısıw &usılı: +&So'zlik ko'lemi: +So'z &ko'lemi: +Blok ko'lemi: +CPU ag'ımlar sanı: +&Parametrler: +Sazlawlar +SF&X arxivin jaratıw +Jazıw ushın ashılg'an fayllardı qısıw +Shifrlaw +Shifrlaw usılı: +Fayl a&tların shifrlaw +Qısıwg'a arnalg'an yad: +Ajıratıwg'a arnalg'an yad: +4050 +Qısıwsız +En' tez +Tez +Qa'dimgi +En' joqarı +Ultra +4060 +Fayllardı qosıw ha'm almastırıw +Fayllardı jan'alaw ha'm qosıw +Bar fayllardı jan'alaw +Fayllardı sinxronlastırıw +4070 +Belgilew +Barlıq fayllar +Fayl ko'lemi boyınsha +U'ziliksiz +6000 +Nusqasın alıw +Ko'shiriw +Mına papkag'a nusqasın alıw: +Mına papkag'a ko'shiriw: +Nusqa alınbaqta... +Ko'shirilmekte... +Qayta at berilmekte... +Papkanı saylan'. +Ko'rsetilgen operatsiya bul papka ushın qollanılmaydı. +Fayl yaki papkag'a qayta at beriwde qa'te ju'z berdi +Fayldın' nusqasın alıwdı tastıyqlan' +Siz bul fayllardı anıq arxivke ko'shiriwdi qa'leysizbe +6100 +Fayl o'shiriliwin tastıyqlaw +Papka o'shiriliwin tastıyqlaw +Fayllar toparının' o'shiriliwin tastıyqlaw +'{0}' degendi anıq o'shiriwdi qa'leysizbe? +'{0}' papkası ha'm onın' ishindegilerdi anıq o'shiriwdi qa'leysizbe? +Bul obektlerdi ({0} dana) anıq o'shiriwdi qa'leysizbe? +O'shirilmekte... +Fayl yaki papkanı o'shiriwde qa'te ju'z berdi +Sistema uzın jollı fayllardı sebetke ko'shire almaydı +6300 +Papka jaratıw +Fayl jaratıw +Papka atı: +Fayl atı: +Jan'a papka +Jan'a fayl +Papkanı jaratıwda qa'te ju'z berdi +Fayldı jaratıwda qa'te ju'z berdi +6400 +Kommentariy +&Kommentariy: +Saylaw +Saylawdı alıp taslaw +Maska: +6600 +Sazlawlar +Papkalar tariyxı +Diagnostik xabarlar +Xabar +7100 +Kompyuter +Tarmaq +Hu'jjetler +Sistema +7200 +Qosıw +Shıg'arıw +Sınaw +Nusqa alıw +Ko'shiriw +O'shiriw +Mag'lıwmat +7300 +Fayldı bo'liw +&Mınag'an bo'liw: +Tomlarg'a &bo'liw (baytlarda): +Bo'linbekte... +Bo'liwdi tastıyqlan' +Siz fayldı {0} bo'lekke anıq bo'liwdi qa'leysizbe? +Bo'lek ko'lemi original fayl ko'leminen kishi bolıwı kerek +Tom ko'lemi natuwrı berilgen +Tomnın' ko'rsetilgen ko'lemi: {0} bayt.\nArxivti bunday tomlarg'a anıq bo'liwdi qa'leysizbe? +7400 +Fayllardı biriktiriw +&Mınag'an biriktiriw: +Biriktirilmekte... +Bo'lingen fayldın' tek birinshi bo'legin saylaw kerek +Fayl bo'lingen fayldın' bo'legi retinde tanılmadı +Bo'lingen fayldın' birden ko'p bo'legi tabılmadı +7500 +Qadag'alaw summasın esaplaw... +Qadag'alaw summası mag'lıwmatı +Mag'lıwmatlar ushın CRC qadag'alaw summası: +Mag'lıwmatlar ha'm atamalar ushın CRC qadag'alaw summası: +7600 +O'nimlilikti tekseriw +Yad ko'lemi: +Qısıw +Ajıratıw +Reyting +Ulıwma reyting +Ha'zirgi +Ja'mi +Awırlıq +Reyting / Awır. +O'tkenler: diff --git a/Utils/7-Zip/Lang/kk.txt b/Utils/7-Zip/Lang/kk.txt new file mode 100644 index 000000000..0db20e07a --- /dev/null +++ b/Utils/7-Zip/Lang/kk.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Arslan Beisenov, Arman Beisenov +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Kazakh +Қазақша +401 +Жарайды +Болдырмау + + + +&Иә +&Жоқ +&Жабу +Ðнықтама + +&ЖалғаÑтыру +440 +Бәріне &Ð¸Ñ +Бәріне &жоқ +Тоқтату +Қайта Ñ–Ñке қоÑу +&Фонды +&Ðлдыңғы жоÑпарға +&Ò®Ñ–Ð·Ñ–Ð»Ñ +ҮзіліÑте +ОперациÑны тоқтату керек пе? +500 +&Файл +&Өңдеу +&ÐšÓ©Ñ€Ñ–Ð½Ñ–Ñ +&Таңдаулы +С&ÐµÑ€Ð²Ð¸Ñ +&Ðнықтама +540 +&Ðшу +Ішінен &ашу +Сыртынан ашу +Қарау +&Өңдеу +Қайта атау +&Көшіру... +&Жылжыту... +&Жою +Файлды бөлшектеу... +Файлды біріктіру... +Сипаттар +Комме&нтарий... +Бақылау ÑомаÑÑ‹ +Diff +&Қалта жаÑау +Файл жаÑау +Шығу +600 +Бәрін ерекшелеу +Ерекшелеуді алаÑтау +&Ерекшелеуді көрÑету +Ерекшелеу... +Ерекшедеужі алаÑтау... +Түрі б-ша ерекшелеу +Түрі б-ша ерекшелеуді алаÑтау +700 +&Үлкен таңбаша +&Кішк. таңбаша +Тізім +&КеÑте +730 +СұрыптауÑыз +Жалпақ режим +&2 тақта +&Құралдар тақтаÑÑ‹ +Ðегізгі қалтады ашу +Бір деңгей жоғары өту +Қалта тарихы... +Жаңарту +750 +Мұрағаттауыш батырма тақтаÑÑ‹ +Батырманың кәдімгі тақтаÑÑ‹ +Үлкен батырмалар +Батырмада жазулар +800 +Қалтаны таңдаулыға баÑқаша Ò¯Ñтеу +Таңдаулы +900 +Баптау... +Өнімді теÑтілеу +960 +&БаÑты... +Бағдарламада... +1003 +Жол +Ðты +Кеңейтімі +Қалта +Көлем +Сығылған +Ðтрибут +ЖаÑалған +Ðшылған +Өзгерген +ҮзіліÑÑіз +Комментарий +Шифрланған +дейін бөлінген +кейін бөлінген +Сөздік +CRC +Түрі +Ðнти +ТәÑіл +Жүйе +Файлдық жүйе +Пайдаланушы +Топ +Блок +Комментарий +Орны +Жолы +Қалта +Файл +ÐÒ±Ñқа +Том +Көп томды +Жылжу +Сілтеме +Блок +Том + +64-bit +Big-endian +ПроцеÑÑор +Физикалық көлемі +Тақырып көлемі +Бақылау ÑомаÑÑ‹ +ХарактериÑтика +Виртуальды мекен-жай +ID +ҚыÑқа аты +ЖаÑаушы +Сектор көлемі +Режим +Сілтеме +Қателік +Сыйымы +Ð‘Ð¾Ñ +КлаÑтер көлемі +Белгі +Жергілікті аты +Провайдер +2100 +Баптау +Тіл +Тіл: +Өңдегіш +&Өңдегіш: +&Diff: +2200 +Жүйе +7-Zip файлмен аÑÑорциÑлау: +2301 +Мұқабаның мәтінміндің мәзіріне 7-Zip қою +КаÑкадты мәтінмәндік мәзір +Мәтінміндік мәзірдің Ñлементтері: +2320 +<Қалта> +<Мұрағат> +Мұрағат ашу +Бумадан шешу +Мұрағатқа Ò¯Ñтеу... +ТеÑтілеу +Мұнда шешу +{0} дегенде шешу +{0} дегенге Ò¯Ñтеу +Сығып Ñ-поштамен жіберу... +{0} дегенде Ñығып, Ñ-поштамен жіберу +2400 +Қалта +&Ð–Ò±Ð¼Ñ‹Ñ Ò›Ð°Ð»Ñ‚Ð°ÑÑ‹ +&Жүйелік уақытша қалта +&Ðғымдық +&Сұрау: +Тек алмалы таÑығыштарға ғана пайдалану +Уақытша мұрағаттардың орнын нұÑқаңыз. +2500 +Баптау +".." Ñлементті көрÑету +Файлдың шынайы таңбашаÑын көрÑету +Жүйелік мәзірді көрÑету +Барлық жолаққа меңзер +Бөлгіштерді көрÑету +Бір шерткеннен ашу +Белгілеудің альтернативті режимі +Жадтың үлкен беттерін пайдалану +2900 +7-Zip туралы +7-Zip - тегін таратылатын бағдарлама. +3000 +Ð‘Ð¾Ñ Ð¶Ð°Ð´ жоқ +Қателік табылған жоқ +Ерекшеленген ныÑан: {0} +'{0}' қалтаÑын жаÑау мүмкін ÐµÐ¼ÐµÑ +Көтермейтін мұрағат үшін Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ó©Ð·Ð³ÐµÑ€Ñ‚Ñ–Ð»ÐµÐ´Ñ–. +'{0}' файлды мұрағат ретінде ашу мүмкін ÐµÐ¼ÐµÑ +Шифрланған '{0}' мұрағатты ашу мүмкін емеÑ. КілтÑөз Ð´Ò±Ñ€Ñ‹Ñ ÐµÐ¼ÐµÑ Ð¿Ðµ? +Көтермейтін мұрағат түрі +{0} деген файл бар +'{0}' файлы өзгерді.\nОны мұрағатта жаңарту керек пе? +\n'{0}' файлды жаңарту мүмкін ÐµÐ¼ÐµÑ +Өңдегішті ашу мүмкін ÐµÐ¼ÐµÑ +Файл вируÑқа Ò±Ò›Ñайды (файл аты ұзақ жолды мәÑелені құрайды). +ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ò›Ð°Ð»Ñ‚Ð°Ò“Ð° жолдың ұзақтығынан орындалмайды +Сізге бір файл таңдау керек +Сізге бір не бірнеше файл таңдау керек +Өте көп Ñлемент +3300 +Шешу +КомпреÑÑÐ¸Ñ +ТеÑтілеу +Ðшылу... +Сканерлеу... +3400 +Шығару +&Мұнда шешу: +Шығарылатын файл орнын нұÑқаңыз. +3410 +Жолдар +&Толық жол +&ЖолÑыз +3420 +Қайта жазу +&РаÑтаумен +&РаÑтауÑыз +Өткізіп &жіберу +Ðвтоматты қайта атау. +Бар файлды автом. қайта атау +3500 +Файлды ауыÑтыру раÑтау +Қалтада Ñ–Ñ Ð¶Ò¯Ñ€Ð³Ñ–Ð·Ñ–Ð»ÐµÑ‚Ñ–Ð½ файл бар. +Файлды ауыÑтыру +келеÑÑ– файлмен ба? +{0} байт +Ðвтоматты қайта атау +3700 +'{0}' файлы үшін Ñығу әдіÑін көтермейді. +'{0}' мәліметінде қателік. Файл зақымдалған. +'{0}' CRC қателік. Файл зақымдалған. +Шифрланған '{0}' файлында мәліміт қате. КілтÑөз Ð´Ò±Ñ€Ñ‹Ñ ÐµÐ¼ÐµÑ Ð¿Ðµ? +Шифрланған '{0}' файлында CRС қате. КілтÑөз Ð´Ò±Ñ€Ñ‹Ñ ÐµÐ¼ÐµÑ Ð¿Ðµ? +3800 +КілтÑөзді енгізу +&КілтÑөзді енгізіңіз: +&КілтÑөзді қайталаңыз: +&КілтÑөзді көрÑету +КілтÑөздер ÑÓ™Ð¹ÐºÐµÑ ÐµÐ¼ÐµÑ +КілтÑөзге тек ағылшын әліпбиін пайдаланыңыз, Ñандар және арнайы нышандар (!, #, $, ...) +КілтÑөз өте ұзақ +&КілтÑөз +3900 +Өтті: +Қалды: +Барлығы: +Жылд.: +Көлем: +Сығу дәрежеÑÑ–: +Қате: +Мұрағат: +4000 +Мұрағатқа Ò¯Ñтеу +&Мұрағат: +&Өзгерту режимі: +&Мұрағат пішімі: +&Сығу деңгейі: +&Сығу тәÑілі: +Сөздік &көлемі: +Сөз &көлемі: +Блог көлемі: +Ðғым Ñаны: +&Параметр: +&Баптау +SF&X-мұрағат жаÑау +Ðшылған файд жазу үшін Ñығу +Шифрлау +Шифрлау тәÑілі: +&Файлдың атын шифрлау +Бууға арналған көлем: +Шешуге арналған көлем: +4050 +СығуÑыз +Жылдам +Шапшаң +Кәдімгі +Ең жоғарғы +Ультра +4060 +Ò®Ñтеу, ауыÑтыру +Жаңарту, Ò¯Ñтеу +Жаңату +ТеңеÑтіру +4070 +Сапыру +Барлық файл +Файл көлемі б-ша +ҮзіліÑÑіз +6000 +Көшіру +Жылжыту +Мұнда көшіру: +Мұнда жылжыту: +Көшіру... +Жылжыту... +Ðтын өзгерту... +Қалтаны нұÑқаңыз +Бұл қалтаға Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ ÐºÓ©Ñ‚ÐµÑ€Ð¼ÐµÐ¹Ð´Ñ–. +Файл не қалтаның атын өзгерту мүмкін ÐµÐ¼ÐµÑ +Файлды көшіруді раÑтау +Мына файлдарды мұрағатқа көшіру керек пе +6100 +Файлды жоюды раÑтау +Қалтаны жоюды раÑтау +Бірнеше файлды жоюды раÑтау +"{0}" дегенді жою керек пе? +"{0}" қалтаÑын және оның ішіндегілерін жою керек пе? +({0} дана) ныÑандарды жою керек пе? +Жойылу... +Файл не қалтаны жою қате +Ұзақ жолды файлдарды Ñебетке жоюды жүйе көтермейді +6300 +Қалта жаÑау +Файл жаÑау +Қалта аты: +Файл аты: +Жаңа қалта +Жаңа файл +Қалтаны жаÑау қате +Файлды жаÑау кезінде қателік болды +6400 +Комментарий +&Комментарий: +Ерекшелеу +ÐлаÑтау +МаÑка: +6600 +Сипаттар +Қалта тарихы +Хабарлама +Хабарлама +7100 +Компьютер +Желі +Құжаттар +Жүйе +7200 +Ò®Ñтеу +Шығару +ТеÑтілеу +Көшіру +Жылжыту +Жою +Ðқпарат +7300 +Файлды бөлшектеу +&Бөлшектеу: +Томға бөлшектеу (байтқа): +Бөлшектеу... +Бөлшектеуді раÑтау +Файлд {0} бөлікке бөлшектеу керек пе? +Том көлемі файлдың ÐºÑ–Ñ€Ñ–Ñ ÐºÓ©Ð»ÐµÐ¼Ñ–Ð½ÐµÐ½ аз болу керек +Томның көлемін енгізу қате +Томның орнатылған көлемі: {0} байт.\nМұрағатты томға бөлшектеу керек пе? +7400 +Файлдарды біріктіру +&Мұнда біріктіру: +Біріктіру... +Бөлшектенген файлдың бірінші бөлігін таңдау керек +Бөлшектенген файлды тану мүмкін ÐµÐ¼ÐµÑ +Бөлшектенген файлдың бөліктерін табу мүмкін ÐµÐ¼ÐµÑ +7500 +Бақылау ÑомаÑын еÑептеу... +Бақылау ÑомаÑÑ‹ +Мәлімет үшін CRC бақылау ÑомаÑÑ‹: +Мәлімет және атау үшін CRC бақылау ÑомаÑÑ‹: +7600 +Өнімділікке теÑтілеу +Жад көлемі: +Буу +Шешу +Рейтинг +Жалпы рейтинг +Ðғымдық +ÐәтижеÑÑ– +Ðуырлық +Рейтинг / ЖеңіÑ. +Өтулер: diff --git a/Utils/7-Zip/Lang/ko.txt b/Utils/7-Zip/Lang/ko.txt new file mode 100644 index 000000000..5e9644d58 --- /dev/null +++ b/Utils/7-Zip/Lang/ko.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : ZannyLim (임재형) +; : bzImage +; 4.52 : Hyeong il Kim (kurt Sawyer) +; 9.07 : Dong-yoon Han (한ë™ìœ¤) +; 15.12 : Winterscenery (Ji-yong BAE) +; 16.02 : Add translation and Modify Typos by Winterscenery (Ji-yong BAE) +; +; +; +; +; +0 +7-Zip +Korean +한국어 +401 +í™•ì¸ +취소 + + + +예(&Y) +아니오(&N) +닫기(&C) +ë„ì›€ë§ + +계ì†(&C) +440 +ëª¨ë‘ ì˜ˆ(&A) +ëª¨ë‘ ì•„ë‹ˆì˜¤(&L) +중지 +다시 시작 +ë‚®ì€ ìˆœìœ„ë¡œ(&B) +ìš°ì„  순위로(&F) +ì¼ì‹œì •ì§€(&P) +ì¼ì‹œì •ì§€ ë¨ +ì •ë§ë¡œ 취소하시겠습니까? +500 +파ì¼(&F) +편집(&E) +보기(&V) +ì¦ê²¨ì°¾ê¸°(&A) +ë„구(&T) +ë„움ë§(&H) +540 +열기(&O) +ë‚´ë¶€ 열기(&I) +외부 열기(&U) +íŒŒì¼ ë·°ì–´(&V) +편집(&E) +새 ì´ë¦„(&M) +복사(&C)... +ì´ë™(&M)... +ì‚­ì œ(&D) +íŒŒì¼ ë‚˜ëˆ„ê¸°(&S)... +íŒŒì¼ í•©ì¹˜ê¸°(&B)... +ì†ì„±(&R) +설명(&N)... +ì²´í¬ì„¬ 계산 +íŒŒì¼ ë¹„êµ +í´ë” 만들기 +íŒŒì¼ ë§Œë“¤ê¸° +ë내기(&X) +ì—°ê²° +대체 ë°ì´í„° 스트림(&A) +600 +ëª¨ë‘ ì„ íƒ(&A) +ëª¨ë‘ ì„ íƒ ì·¨ì†Œ +ì„ íƒ í•­ëª© 반전(&I) +ì„ íƒ... +ì„ íƒ ì·¨ì†Œ... +íŒŒì¼ í˜•ì‹ìœ¼ë¡œ ì„ íƒ +íŒŒì¼ í˜•ì‹ìœ¼ë¡œ ì„ íƒ ì·¨ì†Œ +700 +í° ì•„ì´ì½˜(&G) +ìž‘ì€ ì•„ì´ì½˜(&M) +목ë¡(&L) +ìžì„¸ížˆ(&S) +730 +ì •ë ¬ 안함 +íŽ¼ì³ ë³´ê¸° +2 패ë„(&2) +ë„구 모ìŒ(&T) +최ìƒìœ„ í´ë” 열기 +한단계 위로 +í´ë” 히스토리... +새로 고침(&R) +ìžë™ 새로 고침 +750 +ì••ì¶• ë„구 ëª¨ìŒ +표준 ë„구 ëª¨ìŒ +í° ë²„íŠ¼ +버튼 í…스트 보기 +800 +ì¦ê²¨ì°¾ê¸°ì— 추가(&A) +ë¶ë§ˆí¬ +900 +옵션(&P)... +벤치마í¬(&B) +960 +ë„ì›€ë§ í•­ëª©(&C)... +7-Zip ì •ë³´(&A)... +1003 +경로 +ì´ë¦„ +í™•ìž¥ìž +í´ë” +í¬ê¸° +ì••ì¶•ëœ í¬ê¸° +ì†ì„± +만든 ë‚ ì§œ +액세스한 ë‚ ì§œ +수정한 ë‚ ì§œ +솔리드 +설명 +암호화 +나누기 ì´ì „ +나누기 후 +사전 +CRC +í˜•ì‹ +안티 +ì••ì¶• ë°©ì‹ +ìƒì„±í•œ OS +íŒŒì¼ ì‹œìŠ¤í…œ +ì‚¬ìš©ìž +그룹 +블럭 +설명 +위치 +경로 ì ‘ë‘ +í´ë” +íŒŒì¼ +버전 +볼륨 +다중볼륨 +오프셋 +ì—°ê²° +ë¸”ë¡ +볼륨 + +64-bit +Big-endian +CPU +ë¬¼ë¦¬ì  í¬ê¸° +í•´ë” í¬ê¸° +ì²´í¬ì„¬ +특성 +ê°€ìƒ ì£¼ì†Œ +ID +ì§§ì€ ì´ë¦„ +ìƒì„± ì‘용프로그램 +섹터 í¬ê¸° +모드 +기호 ì—°ê²° +오류 +ì „ì²´ í¬ê¸° +여유 공간 +í´ëŸ¬ìŠ¤í„° í¬ê¸° +ë¼ë²¨ +로컬 ì´ë¦„ +ì œê³µìž +NT 보안 +대체 ë°ì´í„° 스트림 +ë³´ì¡° +ì‚­ì œ +Is Tree + + +오류 유형 +오류 +오류 +경고 +경고 +스트림 +대체 ë°ì´í„° 스트림 +대체 ë°ì´í„° 스트림 í¬ê¸° +ê°€ìƒ í¬ê¸° +ì••ì¶• í•´ì œ 후 í¬ê¸° +용량 실제 í¬ê¸° +볼륨 ì¸ë±ìФ +ë³´ì¡°í˜•ì‹ +ì£¼ì„ +코드 페ì´ì§€ + + + +í…Œì¼ í¬ê¸° +임베디드 ìŠ¤í… í¬ê¸° +ì—°ê²° +하드 ì—°ê²° +i노드 + +ì½ê¸° ì „ìš© +2100 +옵션 +언어 +언어: +편집기 +íŒŒì¼ íŽ¸ì§‘ê¸°(&E): +íŒŒì¼ ë¹„êµ(&D): +2200 +시스템 +7-Zip 으로 ì—°ê²°: +모든 ì‚¬ìš©ìž +2301 +7-Zip íƒìƒ‰ê¸° 메뉴 사용 +íƒìƒ‰ê¸° 메뉴 ê³„ë‹¨ì‹ ë³´ê¸° +íƒìƒ‰ê¸° 메뉴 항목: +íƒìƒ‰ê¸° 메뉴 ì•„ì´ì½˜ 보기 +2320 +<í´ë”> +<압축파ì¼> +ì••ì¶•íŒŒì¼ ì—´ê¸° +ì••ì¶• 풀기... +압축파ì¼ì— 추가... +ì••ì¶•íŒŒì¼ í…ŒìŠ¤íŠ¸ +ì—¬ê¸°ì— ì••ì¶• 풀기 +{0}ì— í’€ê¸° +{0}ì— ì¶”ê°€ +압축해서 ì´ë©”ì¼ ë³´ë‚´ê¸° +{0}로 압축해서 ì´ë©”ì¼ ë³´ë‚´ê¸° +2400 +í´ë” +작업 í´ë”(&W) +시스템 임시 í´ë”(&S) +현재 í´ë”(&C) +지정 í´ë”(&S): +ì´ë™ì‹ 드ë¼ì´ë¸Œì—서만 사용 +ì••ì¶•ì— ê´€ê³„ëœ íŒŒì¼ì´ 임시ì ìœ¼ë¡œ 사용할 위치 지정. +2500 +설정 +ìƒìœ„ í´ë” ".." 항목 보기 +실제 íŒŒì¼ ì•„ì´ì½˜ 보기 +시스템 메뉴 보기 +í–‰ ì „ì²´ ì„ íƒ(&F) +눈금선 보기(&G) +한 번 í´ë¦­ìœ¼ë¡œ 항목 열기 +ìš°ì„  ì„ íƒì  ì„ íƒ ëª¨ë“œ +í° ë©”ëª¨ë¦¬ 페ì´ì§€ 사용 +2900 +7-Zip ì •ë³´ +7-Zip ì€ ë¬´ë£Œ 소프트웨어입니다. +3000 +ì‹œìŠ¤í…œì´ í•„ìš”í•œ ì–‘ì˜ ë©”ëª¨ë¦¬ë¥¼ 할당할 수 ì—†ìŒ +오류 ì—†ìŒ +{0} í•­ëª©ì´ ì„ íƒë¨ +'{0}' í´ë”를 ìƒì„±í•  수 ì—†ìŒ +ì—…ë°ì´íЏ ìž‘ì—…ì´ ì´ ì••ì¶•íŒŒì¼ì—서는 ì§€ì›ë˜ì§€ 않습니다. +íŒŒì¼ '{0}'ì„(를) 압축파ì¼ë¡œ ì—´ 수 ì—†ìŒ +ì•”í˜¸í™”ëœ ì••ì¶•íŒŒì¼ '{0}'ì„(를) ì—´ 수 없습니다. 잘못 ìž…ë ¥ëœ ì•”í˜¸? +ì§€ì›ë˜ì§€ 않는 ì••ì¶•íŒŒì¼ ìœ í˜• +{0} 파ì¼ì€ ì´ë¯¸ 존재함 +íŒŒì¼ '{0}'ì´ ìˆ˜ì •ë˜ì—ˆìŠµë‹ˆë‹¤.\n압축파ì¼ì— ì—…ë°ì´íЏ 하시겠습니까? +'{0}' 파ì¼ì„ ì—…ë°ì´íЏ í•  수 없습니다. +편집기를 시작할 수 없습니다. +해당 파ì¼ì´ ë°”ì´ëŸ¬ìФ 같습니다 (íŒŒì¼ ì´ë¦„ì— ê¸¸ë‹¤ëž€ ê³µë°±ì´ ë“¤ì–´ìžˆìŒ). +긴 ê²½ë¡œë¡œëœ í´ë”ì—서 해당 ìž‘ì—…ì„ í˜¸ì¶œí•  수 없습니다. +반드시 한 ê°œì˜ íŒŒì¼ì„ ì„ íƒí•´ì•¼í•¨ +반드시 한 ê°œ ì´ìƒì˜ 파ì¼ì„ ì„ íƒí•´ì•¼ 함 +í•­ëª©ì´ ë„ˆë¬´ ë§ŽìŒ +{0} 압축파ì¼ë¡œ 파ì¼ì„ ì—´ 수 없습니다 +{0} 압축파ì¼ë¡œ 파ì¼ì´ 열리고 있습니다 +ì••ì¶•íŒŒì¼ ì˜¤í”„ì…‹ì„ ì‚¬ìš©í•˜ì—¬ ì—´ë ¤ 있습니다 +3300 +ì••ì¶• 푸는 중 +압축하는 중 +검사 중 +여는 중... +검색 중... +ì‚­ì œ 중 +3320 +추가 중 +ì—…ë°ì´íЏ 중 +ë¶„ì„ ì¤‘ +ë®ì–´ 쓰는 중 +다시 ì••ì¶• 중 +건너뛰는 중 +ì‚­ì œ 중 +í—¤ë” ìž‘ì„± 중 +3400 +ì••ì¶• 풀기 +ì••ì¶• 풀기(&X): +ì••ì¶• 풀린 파ì¼ì˜ 위치를 지정합니다. +3410 +경로 모드 +ì „ì²´ 경로명 +경로명 ì—†ìŒ +절대 경로명 +ìƒëŒ€ 경로명 +3420 +ë®ì–´ì“°ê¸° 모드 +ë®ì–´ì“°ê¸° ì „ì— í™•ì¸ +물어보지 않고 ë®ì–´ì“°ê¸° +존재하는 íŒŒì¼ ê±´ë„ˆë›°ê¸° +ìžë™ìœ¼ë¡œ ì´ë¦„ 바꾸기 +존재하는 íŒŒì¼ ì´ë¦„ 바꾸기 +3430 +최ìƒìœ„ í´ë”ì˜ ì¤‘ë³µì„ ë°©ì§€ +íŒŒì¼ ë³´ì•ˆ ì†ì„±ì„ ë³µì› +3500 +íŒŒì¼ ë®ì–´ì“°ê¸° í™•ì¸ +ëŒ€ìƒ í´ë”ì— ì´ë¯¸ 파ì¼ì´ 존재합니다. +존재하는 파ì¼ì„ +ì´ê²ƒìœ¼ë¡œ ë®ì–´ì“°ê¸° 하시겠습니까? +{0} ë°”ì´íЏ +ìžë™ìœ¼ë¡œ ì´ë¦„ 바꾸기(&U) +3700 +'{0}'ì€ ì§€ì›í•˜ì§€ 않는 ì••ì¶• ë°©ì‹ìž…니다. +'{0}'ì— ë°ì´í„° 오류가 있습니다. 파ì¼ì´ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. +'{0}'ì˜ CRC 검사를 실패했습니다. 파ì¼ì´ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. +암호화 íŒŒì¼ '{0}'ì— ë°ì´í„° 오류가 있습니다. 암호가 틀리나요? +암호화 íŒŒì¼ '{0}'ì˜ CRC 검사를 실패했습니다. 암호가 틀리나요? +3710 +잘못 ìž…ë ¥ëœ ì•”í˜¸? +3721 +ì§€ì›í•˜ì§€ 않는 ì••ì¶• 방법 +ë°ì´í„° 오류 +CRCê°€ 다릅니다 +사용할 수없는 ë°ì´í„° +ë°ì´í„°ì˜ 예기치 ì•Šì€ ì¢…ë£Œ +페ì´ë¡œë“œ ë°ì´í„°ì˜ 종료 í›„ì— ì¼ë¶€ ë°ì´í„°ê°€ìžˆë‹¤. +ì••ì¶•ë˜ì§€ 않습니다. +í—¤ë” ì˜¤ë¥˜ +암호가 잘못ë˜ì—ˆìŠµë‹ˆë‹¤. +3763 +사용할 수 없는 ì‹œìž‘ì˜ ì••ì¶•íŒŒì¼ +확ì¸ë˜ì§€ 않는 ì‹œìž‘ì˜ ì••ì¶•íŒŒì¼ + + + +ì§€ì›í•˜ì§€ 않는 기능 +3800 +암호 ìž…ë ¥ +암호 ìž…ë ¥: +암호 다시 ìž…ë ¥: +암호 보기(&S) +암호가 ì¼ì¹˜í•˜ì§€ ì•ŠìŒ +암호로는 ì˜ë¬¸ìž, ìˆ«ìž ê·¸ë¦¬ê³  특수 ë¬¸ìž (!, #, $, ...)ë§Œ 사용 +암호가 너무 ê¹ë‹ˆë‹¤. +암호 +3900 +경과 시간: +ë‚¨ì€ ì‹œê°„: +ì „ì²´ í¬ê¸°: +ì†ë„: +처리ë¨: +ì••ì¶• 효율: +오류: +압축파ì¼: +4000 +압축파ì¼ì— 추가 +압축파ì¼(&A): +ì—…ë°ì´íЏ 모드(&U): +ì••ì¶•íŒŒì¼ í˜•ì‹(&F): +ì••ì¶• 레벨(&L): +ì••ì¶• ë°©ì‹(&M): +사전 í¬ê¸°(&D): +단어(word) í¬ê¸°(&W): +솔리드 ë¸”ë¡ í¬ê¸°: +CPU 스레드 수: +매개변수(&P): +옵션 +ìžë™(SFX) ì••ì¶•íŒŒì¼ ìƒì„±(&X) +공유하고있는 íŒŒì¼ ì••ì¶• +암호화 +암호화 ë°©ì‹: +íŒŒì¼ ì´ë¦„ 암호화(&N) +압축시 사용 메모리: +ì••ì¶• 풀기시 사용 메모리: +ì••ì¶• 후 ì›ë³¸ 파ì¼ì„ ì‚­ì œ +4040 +심볼릭 ì—°ê²°ì„ ì €ìž¥ +하드 ì—°ê²°ì„ ì €ìž¥ +대체 ë°ì´í„° ìŠ¤íŠ¸ë¦¼ì„ ì €ìž¥ +íŒŒì¼ ë³´ì•ˆ ì†ì„±ì„ 저장 +4050 +저장 +가장 빠름 +빠름 +보통 +최고 +가장 ëŠë¦¼ +4060 +파ì¼ì„ 추가하고 ë®ì–´ì“°ê¸° +파ì¼ì„ ì—…ë°ì´íŠ¸í•˜ê³  추가 +존재하는 파ì¼ë§Œ 새롭게 하기 +ì••ì¶•íŒŒì¼ ë‚´ìš©ì„ ë™ê¸°í™” +4070 +찾아보기 +모든 íŒŒì¼ +솔리드 사용 않함 +솔리드 +6000 +복사 +ì´ë™ +í´ë”로 복사: +í´ë”로 ì´ë™: +복사 중... +ì´ë™ 중... +ì´ë¦„ 바꾸는 중... +ëŒ€ìƒ í´ë”를 ì„ íƒí•˜ì„¸ìš”. +ì§€ì›ë˜ì§€ 않는 작업입니다. +íŒŒì¼ ë˜ëŠ” í´ë” ì´ë¦„ 바꾸기 실패 +íŒŒì¼ ë³µì‚¬ í™•ì¸ +파ì¼ì„ 압축파ì¼ë¡œ 복사 하시겠습니까? +6100 +íŒŒì¼ ì‚­ì œ í™•ì¸ +í´ë” ì‚­ì œ í™•ì¸ +여러 íŒŒì¼ ì§€ìš°ê¸° í™•ì¸ +'{0}'ì„(를) 삭제하시겠습니까? +í´ë” '{0}'와 ê·¸ 모든 ë‚´ìš©ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ? +ì´ {0} í•­ëª©ë“¤ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ? +ì‚­ì œ 중... +íŒŒì¼ ë˜ëŠ” í´ë” ì‚­ì œ 실패 +ì‹œìŠ¤í…œì´ ê¸´ ê²½ë¡œì˜ íŒŒì¼ì„ 휴지통으로 ì´ë™í•  수 ì—†ìŒ +6300 +í´ë” 만들기 +íŒŒì¼ ë§Œë“¤ê¸° +í´ë” ì´ë¦„: +íŒŒì¼ ì´ë¦„: +새 í´ë” +새 íŒŒì¼ +í´ë” 만들기 오류 +íŒŒì¼ ë§Œë“¤ê¸° 오류 +6400 +설명 +설명(&C): +ì„ íƒ +ì„ íƒ ì·¨ì†Œ +마스í¬: +6600 +ì†ì„± +í´ë” 히스토리 +진단 메시지 +메시지 +7100 +컴퓨터 +ë„¤íŠ¸ì›Œí¬ +문서 +시스템 +7200 +추가 +ì••ì¶• 풀기 +테스트 +복사 +ì´ë™ +ì‚­ì œ +ì†ì„± +7300 +íŒŒì¼ ë¶„í• í•˜ê¸° +분할하기(&S): +볼륨 나누기, ë°”ì´íЏ(&V): +분할하는 중... +ë¶„í•  í™•ì¸ +ì •ë§ {0} 볼륨들로 ë¶„í•  하시겠습니까? +볼륨 í¬ê¸°ê°€ ì›ë³¸ 파ì¼ë³´ë‹¤ 작아야만 합니다. +볼륨 í¬ê¸°ê°€ ë¶€ì ì ˆí•©ë‹ˆë‹¤. +ì§€ì •ëœ ë³¼ë¥¨ í¬ê¸°: {0} ë°”ì´íЏ.\nì´ ë³¼ë¥¨ í¬ê¸°ë¡œ ë¶„í•  하시겠습니까? +7400 +íŒŒì¼ í•©ì¹˜ê¸° +합치기(&B): +íŒŒì¼ í•©ì¹˜ëŠ” 중... +첫번째 파ì¼ë§Œ ì„ íƒí•˜ì‹œì˜¤ +분할한 파ì¼ì˜ 한 부분으로 ì¸ì‹í•  수 ì—†ìŒ +ë¶„í•  파ì¼ì˜ 한 부분 ì´ìƒì„ ì°¾ì„ ìˆ˜ ì—†ìŒ +7500 +ì²´í¬ì„¬ 계산중... +ì²´í¬ì„¬ ì •ë³´ +ë°ì´í„° CRC ì²´í¬ì„¬: +ë°ì´í„°ì™€ ì´ë¦„ CRC ì²´í¬ì„¬: +7600 +ë²¤ì¹˜ë§ˆí¬ +메모리 사용량: +ì••ì¶• 중 +ì••ì¶• 푸는 중 +í‰ê°€ +ì „ì²´ í‰ê°€ +현재 +ê²°ê³¼ +CPU 사용량 +í‰ê°€ / 사용량 +통과: +7700 +ì—°ê²° +ì—°ê²° 만들기 +ì›ë³¸: +ì—°ê²°: +7710 +ì—°ê²° 유형 +하드 ì—°ê²° +파ì¼ì˜ 심볼릭 ì—°ê²° +ë””ë ‰í† ë¦¬ì˜ ì‹¬ë³¼ë¦­ ì—°ê²° +디렉토리 ì ‘í•© diff --git a/Utils/7-Zip/Lang/ku-ckb.txt b/Utils/7-Zip/Lang/ku-ckb.txt new file mode 100644 index 000000000..a6b52cea5 --- /dev/null +++ b/Utils/7-Zip/Lang/ku-ckb.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Ara Bakhtiar +; 4.66 : Ara Qadir : http://www.chawg.org +; +; +; +; +; +; +; +; +; +0 +7-Zip +Kurdish - Sorani +کوردی +401 +باشە +پاشگەزبوونەوە + + + +&بەڵێ +&نەخێر +&داخستن +یارمەتی + +&بەردەوامبوون +440 +بەڵێ بۆ &هەموو +نەخێر بۆ Ù‡Û•&موو +وەستاندن +دەستپێکردنەوە +&پاشەبنەما +Ù¾&ێشەبنەما +&ڕاگرتن +ڕاگیردرا +دڵنیایت Ù„Û• پاشگەزبوونەوە؟ +500 +&ÙØ§ÛŒÙ„ +&دەستکاری +&بینین +د&ڵخوازەکان +&ئامڕازەکان +&یارمەتی +540 +&کردنەوە +کردنەوە Ù„Û•&ناو خۆدا +کردنەوە Ù„Û• &دەرەوە +&بینین +&دەستکاری +&ناوگۆڕین +&لەبەرگرتنەوە بۆ... +&گواستنەوە بۆ... +&سڕینەوە +&لەتکردنی Ù¾Û•Ú•Ú¯Û•... +&Ù¾ÛŽÚ©Û•ÙˆÛ• لکاندنی پەڕگەکان... +&تایبەتمەندییەکان +Ù„&ێدوان +ژماردنی checksum + +دروستکردنی بوخچە +دروستکردنی Ù¾Û•Ú•Ú¯Û• +دەر&چوون +600 +هەمووی دیاری بکە +هەموو دیاریکراوەکان لاببە +%پێچەوانەکردنەوەی دیاریکراو +دیاری بکە... +دیاری Ù…Û•Ú©Û•... +بە Ù¾ÛŽÛŒ جۆر دیاری بکە +لابردنی دیاریکراوەکان بەپێ جۆر +700 +ئایکۆنی &گەورە +ئایکۆنی &بچوک +&لیست +&وردەکاری +730 +ڕیزنەکراو +بینین بەشێوەی Ùلات +&2 پانێڵ +&جێ ئامڕاز +کردنەوەی بوخچەی Ú•Û•Ú¯ +یەک ئاست بۆ سەرەوە +مێژووی بوخچەکان... +&بووژاندنەوە +750 +جێ ئامڕازی ئەرشیڤ +جی ئامڕازی بنچینە +دوگمەی گەورە +پیشاندانی دەقی دوگمەکان +800 +&زیادکردنی بوخچە بۆ دڵخوازەکان ÙˆÛ•Ú© +دڵخوازی +900 +&هەڵبژاردنەکان +&نیشانەی پێوان +960 +&ناوەڕۆکەکان... +&دەربارەی 7-Zip... +1003 +Ú•ÛŽÚ•Û•Ùˆ +ناو +پاشگر +بوخچە +قەبارە +قەبارەی پێچراو +تایبەتمەندی +دروستکراوە +بینراوە +دەستکاریکراوە +Ú•Û•Ù‚ +لێدوانی لەسەر دراوە +پارێزراو +لەتکردن Ù¾ÛŽØ´ +لەتکردن پاش +Ùەرهەنگ +CRC +جۆر +دژ +ڕێباز +سیستەمی خانەخوێ +سیستەمی Ù¾Û•Ú•Ú¯Û• +بەکارهێنەر +گوروپ +بلۆک +لێدوان +جێگە +Ù€ÛŒ Ú•ÛŽÚ•Û•Ùˆ Prefix +بوخچەکان +پەڕگەکان +وەشان +قەبارەکان +ÙØ±Û• قەبارە +Offset +بەستەرەکان +بلۆکەکان +قەبارەکان + +٦٤-بت +Big-endian +CPU +قەبارەی Ùیزیکی +قەبارەی سەر +کۆپشکنین +تایبەتمەندی +ناونیشانی ڕاستی + + + + + + +Ù‡Û•ÚµÛ• +سەرجەمی قەبارە +بۆشایی بەتاڵ +قەبارەی Ú©Û†Ù…Û•ÚµÛ•Ú©Û• +نیشان +ناوی ناوخۆیی +دابینکەر +2100 +ەەڵبژاردنەکان +زمان +زمان: +دەستکاریکەر +&دەستکاریکەر: + +2200 +سیستەم +7-Zip پەیوەست بکە بە: +2301 +7-Zip بکە Ù†ÛŽÙˆ لیستەی مێنیوەوە +مێنیو بکە بە یەک هاوپۆل +کەرەستەکانی Ù†ÛŽÙˆ مێنیو: +2320 +<بوخچە> +<ئەرشیڤ> +کردنەوەی ئەشیڤ +دەرکێشانی پەڕگەکان +زیادکردن بۆ ئەرشیڤ +تاقیکردنەوەی ئەرشیڤ +لێرە دەریبکێشە +دەرکێشان بۆ {0} +زیادکردنی بۆ {0} +پەستاندن Ùˆ پەیامی ئەلیکترۆنی... +بیپەستێنە بۆ {0} Ùˆ بە پەیامی ئەلیکترۆنی بینێرە +2400 +بوخچەکان +بوخچەی &کارکردن +بوخچەی کاتی &سیستەم +&ئێستایی +&دیاریکراو: +تەنها بۆ ئەو وەگەڕخەرانە بەکاری بهێنە Ú©Û• توانای لابردنیان هەیە (removable disk) +شوێنێک دیاری بکە بۆ Ù¾Û•Ú•Ú¯Û• کاتییەکانی ئەرشیڤ. +2500 +ڕێکخستەکان +شتەکانی ".." پیشانبدە +ئایکۆنی ڕاستەقینەی پەڕگەکان پیشانبدە +مێنیوی سیستەم پیشانبدە +دیاریکردنی هەموو &ڕیزەکە +پیشاندانی Ù‡ÛŽÚµÛ• &grid ـەکان + +جۆری دیاریکردنی &جێگرەوە/ ئەڵتەرناتیڤ +Ù¾Û•Ú•Û•ÛŒ بیرگەی &گەورە بەکارببە +2900 +7-Zip دەربارەی +7-Zip پڕۆگرامێکی خۆڕایە. Ù„Û•Ú¯Û•Úµ ئەوەشدا، ئەتوانی پاڵپشت بیت Ù„Û• پەرەپێدانی 7-Zip. +3000 +سیستەم ناتوانێت بڕی پێویست Ù„Û• بیرگە دابین بکات +هیچ هەڵەیەک نییە +{0} شت دیاریکراوە +ناتوانرێ بوخچەی '{0}' دروستبکرێت. +کارپێکردنی نوێکاری پاڵپشت نەکراوە بۆ ئەم ئەرشیڤە. +ناتوانرێت Ù¾Û•Ú•Ú¯Û•ÛŒ '{0}' بکرێتەوە ÙˆÛ•Ú© ئەرشیڤ. +ناتوانرێت ئەرشیڤی پارێزراوی '{0}' بکرێتەوە. ئایا تێپەڕەوشە هەڵەیە؟ +جۆری ئەرشیڤ پاڵپشتی نەکراوە +Ù¾Û•Ú•Ú¯Û•ÛŒ {0} پێشتر ەەیە +Ù¾Û•Ú•Ú¯Û•ÛŒ '{0}' دەستکاریکراوە. ئەتەوێت Ù„Û• ئەرشیڤەکەدا نوێی بکەیتەوە؟ +ناتوانرێ Ù¾Û•Ú•Ú¯Û•ÛŒ \n'{0}' نوێبکرێتەوە +ناتوانرێ دەستکاریکەر دەستپێبکرێت. +Ù¾Û•Ú•Ú¯Û•Ú©Û• Ù„Û• ڤایرۆس دەچێت (ناوی Ù¾Û•Ú•Ú¯Û•Ú©Û• بۆشایی زۆری تیادایە). +ناتوانرێت ئەو کردارە بانگبکرێت Ù„Û• بوخچەیەکەوە Ú©Û• Ú•ÛŽÚ•Û•ÙˆÛŽÚ©ÛŒ درێژی ەەیە. +پێویستە پەڕگەیەک دیاریبکەیت +پێویستە پەڕگەیەک یان زیاتر دیاریبکەیت +شتی(item) زۆر Ù‡Û•Ù† +3300 +دەری دەکێشێ +دەی پەستێنێ... +تاقیدەکاتەوە +دەیکاتەوە... +دەی پشکنێت... +3400 +دەرکێشان +&دەرکێشان بۆ: +شوێنێک دیاری بکە بۆ Ù¾Û•Ú•Ú¯Û• دەرکێشراوەکان +3410 +جۆری Ú•ÛŽÚ•Û•Ùˆ +ناوی Ú•ÛŽÚ•Û•ÙˆÛŒ تەواوەتی +ناوی Ú•ÛŽÚ•Û•Ùˆ نییە +3420 +جۆری بەسەردا نووسینەوە +بپرسە Ù¾ÛŽØ´ بەسەردا نووسینەوە +بەسەردا بنووسەوە بەبێ ڕەزامەندی +Ù¾Û•Ú•Ú¯Û• هەبووەکان بپەڕێنە +خۆکار ناوگۆڕین +خۆکار ناوگۆڕینی Ù¾Û•Ú•Ú¯Û• هەبووەکان +3500 +دڵنیابە Ù„Û• جێگرتنەوەی Ù¾Û•Ú•Ú¯Û• +بوخچەی مەبەست پەڕگەیەکی تیادایە بە هەمان ناو. +ئەتەوێت Ù¾Û•Ú•Ú¯Û• هەبووەکان جێبگیردرێتەوە؟ +Ù„Û•Ú¯Û•Úµ ئەم دانەیە؟ +{0} بایت +ناوگۆڕینی &خۆکار +3700 +ڕێبازێکی پاڵپشتی نەکراوی پەستاندن بۆ '{0}'. +زانیاری '{0}' هەڵەیە. Ù¾Û•Ú•Ú¯Û• تێکشکاوە. +CRC سەرکەوتوو نەبوو. Ù¾Û•Ú•Ú¯Û• تێکشکاوە. +زانیاری هەڵەیە Ù„Û• Ù¾Û•Ú•Ú¯Û•ÛŒ پارێزراودا '{0}'. ئایا تێپەڕەوشە هەڵەیە؟ +CRC هەڵەیە Ù„Û• Ù¾Û•Ú•Ú¯Û•ÛŒ پارێزراودا '{0}'. ئایا تێپەڕەوشە هەڵەیە؟ +3800 +نووسینی تێپەڕەوشە: +تێپەڕەوشە بنووسە: +تێپەڕەوشە بنووسەوە: +&پیشاندانی تێپەڕەوشە +تێپەڕەوشەکان ÙˆÛ•Ú© یەک نین +تەنها پیتە ئینگلیزییەکان، ژمارە Ùˆ نووسە تیبەتییەکان ($ØŒ %ØŒ #) بۆ تێپەڕەوشە بەکاربهێنە +تێپەڕەوشە زۆر درێژە +تێپەڕەوشە +3900 +Ú©. دەستپێکردوو: +کاتی ماوە: +سەرجەمی قەبارە: +خێرایی: +جێبەجێکراوە: +Ú•ÛŽÚ˜Û•ÛŒ پەستاندن: +هەڵەکان: +ئەرشیڤەکان: +4000 +زیادکردن بۆ ئەرشیڤ +&ئەرشیڤ: +&جۆری نوێکاری: +&Ùۆڕماتی ئەرشیڤ: +&ئاستی پەستاندن: +&ڕێبازی پەستاندن: +قەبارەی &Ùەرەەنگ: +قەبارەی &وشە: +قەبارەی بلۆکی Ú•Û•Ù‚: +ژمارەی دەزووەکانی CPU: +&هاوکۆڵکەکان: +هەڵبژاردنەکان +دروستکردنی ئەرشیڤی SF&X +پەستاندنی Ù¾Û•Ú•Ú¯Û• ئاڵوگۆڕکراوەکان +پاراستن +ڕێبازی پاراستن +&ناوی پەڕگەکان بپارێزە (encrypt) +Ú•ÛŽÚ˜Û•ÛŒ بەکارهێنانی بیرگە بۆ پەستاندان: +Ú•ÛŽÚ˜Û•ÛŒ بەکارهێنانی بیرگە بۆ کردنەوەی پەستێنراو: +4050 +پاشەکەوت +خێراترین +خێرا +ئاسایی +زۆرترین +سەروو +4060 +زیادکردن Ùˆ جێگرتنەوەی پەڕگەکان +نوێکردنەوە Ùˆ زیادکردنی Ù¾Û•Ú•Ú¯Û• +بووژاندنەوەی Ù¾Û•Ú•Ú¯Û• هەبووەکان +ـکردنی پەڕگەکان Synchronize +4070 +هەڵدەوە/ Browse +هەموو پەڕگەکان +نا-Ú•Û•Ù‚ +Ú•Û•Ù‚ +6000 +لەبەرگرتنەوە +گواستنەوە +لەبەرگتنەوە بۆ: +گواستنەوە بۆ: +لەبەری دەگرێتەوە... +دەیگوازێتەوە بۆ... +ناوی دەگۆڕێ... +بوخچەی مەبەست دیاری بکە. +ئەو کارە پاڵپشتی نەکراوە +Ù‡Û•ÚµÛ• هەیە Ù„Û• ناو گۆڕینی Ù¾Û•Ú•Ú¯Û• یان بوخچەکان. +دڵنیابە Ù„Û• لەبەرگرتنەوەی Ù¾Û•Ú•Ú¯Û• +دڵنیایت Ù„Û• لەبەرگرتنەوەی پەڕگەکان بۆ ئەرشیڤ؟ +6100 +دڵنیابە Ù„Û• سڕینەوەی Ù¾Û•Ú•Ú¯Û• +دڵنیابە Ù„Û• سڕینەوەی بوخچە +دڵنیابە Ù„Û• سڕینەوەی هەموو پەڕگەکان +دڵنیایت Ù„Û• سڕینەوەی '{0}'ØŸ +دڵنیایت Ù„Û• سڕینەوەی بوخچەی '{0}' Ùˆ هەموو ناوەڕۆکەکانی؟ +دڵنیایت Ù„Û• سڕینەوەی ئەم {0} شتە؟ +دەی سڕێتەوە... +Ù‡Û•ÚµÛ• هەیە Ù„Û• سڕینەوەی پەڕگەکان یا بوخچەکان +سیستەم ناتوانێت پەڕگەیەک بگوێزێتەوە بۆ تەنەکەی خۆڵ بە Ú•ÛŽÚ•Û•ÙˆÛŒ درێژەوە +6300 +دروستکردنی بوخچە +دروستکردنی Ù¾Û•Ú•Ú¯Û• +ناوی بوخچە: +ناوی Ù¾Û•Ú•Ú¯Û•: +بەخچەی نوێ +Ù¾Û•Ú•Ú¯Û•ÛŒ نوێ +Ù‡Û•ÚµÛ• هەیە Ù„Û• دروستکردنی بوخچە +Ù‡Û•ÚµÛ• هەیە Ù„Û• دروستکردنی پەڕگەدا +6400 +لێدوان +&لێدوان: +دیاری بکە +دیاری Ù…Û•Ú©Û• +دەمامک: +6600 +تایبەتمەندییەکان +مێژووی بوخچەکان +پەیامی لێکۆڵینەوە/ پشکنین +پەیام +7100 +کۆمپیوتەر +ڕایەڵە +بەڵگەنامەکان +سیستەم +7200 +زیادکردن +دەرکێشان +تاقیکردنەوە +لەبەرگرتنەوە +گواستنەوە +سڕینەوە +زانیاری +7300 +لەتکردنی Ù¾Û•Ú•Ú¯Û• +&لەتی بکە بۆ: +لەتی بکە بۆ &قەبارە Ùˆ بایت:‌ +لەتی دەکات... +دڵنیابە Ù„Û• لەتکردن +دڵنیایت Ù„Û• لەتکردنی Ù¾Û•Ú•Ú¯Û•ÛŒ {0} بۆ دوو قەبارە؟ +پێویستە قەبارەی هەر یەک Ù„Û• لەتەکان بچوکتربێت Ù„Û• قەبارەی Ù¾Û•Ú•Ú¯Û• لەتکراوەکە +قەبارەی لەتکراوەکە هەڵەیە +قەبارەی دیاریکراوی لەتکراوەکە: {0} بایت.\nدڵنیایت Ù„Û• لەتکردنی ئەرشیڤەکە بۆ ئەو قەبارانە؟ +7400 +پێکەوەلکاندنی پەڕگەکان +%Ù¾ÛŽÚ©Û•ÙˆÛ•ÛŒ بلکێنە بۆ: +Ù¾ÛŽÚ©Û•ÙˆÛ•ÛŒ دەلکێنێت... +تەنها Ù¾Û•Ú•Ú¯Û•ÛŒ یەکەم دیاری بکە +ناتوانێت Ù¾Û•Ú•Ú¯Û• بدۆزێتەوە ÙˆÛ•Ú© بەشێک Ù„Û• Ù¾Û•Ú•Ú¯Û• لەتکراوەکە +ناتوانێت Ù„Û• بەشێک زیاتر بدۆزێتەوە Ù„Û• Ù¾Û•Ú•Ú¯Û• لەتکراوەکە +7500 +ژماردنی کۆپشکنین... +زانیاری کۆپشکنین +کۆپشکنینی CRC بۆ دراوە: +کۆپشکنینی CRC بۆ دراوە Ùˆ ناوەکان: +7600 +نیشانەی پێوان +Ú•ÛŽÚ˜Û•ÛŒ بەکارهێنراوی بیرگە: +پەستاندن +کردنەوەی پەستێنراو +هەڵسەنگاندن +سەرجەمی هەڵسەنگاندن +ئێستایی +ئەنجام +CPU Ú•ÛŽÚ˜Û•ÛŒ بەکارهێنراوی +Ú•ÛŽÚ˜Û•ÛŒ بەکارەێنراو / هەڵسەنگاندن +دەرچوونەکان: diff --git a/Utils/7-Zip/Lang/ku.txt b/Utils/7-Zip/Lang/ku.txt new file mode 100644 index 000000000..e5fb38f53 --- /dev/null +++ b/Utils/7-Zip/Lang/ku.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.37 : Rizoyê Xerzî +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Kurdish +Kurdî +401 +Temam +Betal + + + +&Erê +&Na +Bi&gire +Alîkarî + +Bi&domîne +440 +&Ji Bo Hemûyî Erê +Ji &Bo Hemûyî Na +Raweste +Dîsa Destpêke +L%i PiÅŸt +Li &Pêş +&Rawestîne +Rawestiya - +Ma bila betal bibe? +500 +&Dosya +&Bipergalîne +&Nîşan Bide +Bi&jare +&Amûr +A&lîkarî +540 +&Veke +&Di Panelê De Veke +Di &Paceyê De Veke +&Nîşan Bide +&Sererast bike +&Navekî Nû Bidê +&Ji Ber Bigire +B&ar Bike +Jê B&ibe +Parçe Bi&ke... +Bike &Yek... +&Taybetî +Da&xuyanî +checksum heseb bike + +Pe&ldankeke Nû +Do&siyeke Nû +De&rkeve +600 +&Hemûyî hilbijêre +He&mû hilijartinê rake +Be&revajî wê hilbijêre +&Hilbijêre... +Hilbijarti&nê Rake... +Vî cureyî hilbijêre +Hilbijartina cure rake +700 +&Dawêrên Mezin +D&awêrên Biçûk +&Lîste +&Hûragahî +730 +Bê Dor +xuyakirina sade +&2 Panelan veke +Da&rikê amûran +Peldanka Kok Veke +Astekê Berjor +Dîroka Peldankê... +&Nû Bike +750 +Darikê arşîvê +Darikê standart +BiÅŸkojkên mezin +Bila nivîsa biÅŸkojkan bixuye +800 +Pe&ldanka derbasdar veke +Cih +900 +&Vebijêrk... +&Pîvana Çalakbûnê +960 +&Naverok... +D&er barê 7-Zip de... +1003 +Rê +Nav +Cure +Peldank +Mezinahî +Mezinahiya di arşîvê de +Taybetiyên xweser +Çêbûyî +GihaÅŸtî +Guhertî +HiÅŸk +Daxuyankirî +Şîfrekirî +Parçeyê borî +Parçeyê piÅŸtre +Ferheng +CRC +Cure +Dij +Awayê ÅŸidandinê +Platform +Pergala Dosiyê +Bikarhêner +Kom +Stûn +Daxuyanî +Cih +Path Prefix + + + + + + + + + + + + + + + + + + + + + + + + +Çewtî +Hemû Mezinahî +Cihê Vala +Mezinahiya telpikî +Etîket +Navê Herêmî +Derfetkar +2100 +Vebijêrk +Ziman +Ziman: +Per&galker +Pergalkerê De&qê: + +2200 +Pergal +Bi 7-Zip re têkildar bike: +2301 +Bila di pêşekên naverokê de 7-Zip bixuye +Pêşeka naverokê ya sûlavî +Hêmanên peÅŸeka naverokê: +2320 + + +Arşîvê veke +Dosiyan derxe... +Bike Arşîv... +Arşîvê bihêçîne +Valake vir +Peldanka {0} derxe +Wekî {0} bike arşîv +BiÅŸidîne û bişîne... +Wekî {0} biÅŸidîne û bişîne +2400 +Peldank +Peldanka &Xebatê +&Peldanka TEMP a Pergalê +P&eldanka Derbasdar +Pe&ldanka Navborî: +Bi tenê ji bo ajokarên derketî bi kar bîne +Ji bo dosiyên demdemî yên arşîvê cih belî bike. +2500 +Mîheng +Bila hêmana ".." xuya bike +Bila dawêrên dosiyên rastî xuya bikin +Bila pêşeka pergalê xuya bike +Bila &hemû rêzikê bibore +Bila &xêzên tabloyê xuya bike + +&Kipa hilbijartina alternatîf +bîra berfireh bikar bîne +2900 +Der barê 7-Zip de +7-Zip nivîsbariyeke azad e. Lê, tu dikarî wekî tomarkirin desteka pêşxistina 7-zip bibî. +3000 + +Çewtî nîn e. +{0} heb hêman hilbijartî ne +Peldanka '{0}' nayê çêkirin +Tu nikarî vê arşîvê rojane bikî. + + + + +Dosiya '{0}' hatiye guhartin.\nMa bila di arşîvê bête rojanekirin? +Dosiya '{0}' nehate rojanekirin +Pergalkerê deqê nehate destpêkirin. + + + + +Hêman zêde ne +3300 +Tên derxistin +tên ÅŸidandin +tê hêçandin +vedibe... +Tê raguhestin +3400 +Derxe +&Cihê Dê Derkevê: +Ji bo dosya derkevinê cihekî belî bike. +3410 +Navê Rê +Navê tevahî yên rê +Bila navên rê tune bin +3420 +Dosiyên heyî +Ji bo li ser binivîse bipirse +Bê pirs li ser binivîse +Derxistin +Navekî nû li yên di arşîvê de bike +Navekî nû li yên heyî bike +3500 +Rewla Lisernivîsandinê +Di dosiya armanckirî de bi vî navî dosiyek heye. Bila li ser bête nivîsîn? +Dosiya heyî: +Dosiya tê derxistin: +{0} bayt +Na&vekî nû lê bike +3700 +Ji bo '{0}' awayê ÅŸidandinê nehate nasîn. +'{0}' xerabe ye. (Çewtiya daneyê) +'{0}' xerabe ye. (Çewtiya CRC) + + +3800 +Têketina Şîfreyê +Şîfreyê binivîse: + +Bi&la şîfre bixuye + + + +Şîfre +3900 +Dema borî: +Dema mayî: +Mezinahî: +Lez: + + +Çewt: + +4000 +Bike Arşîv +&Arşîv: +A&wayê rojanekirinê: +Awa&yê arşîvê: +A&sta ÅŸidandinê: +Awayê ÅŸi&dandinê: +Me&zinahiya ferhengê: +M&ezinahiya bêjeyê: + + +&Parametre: +Vebijêrk +Bila ew bixwe derxe (SFX) + + + +Navên dosiyê bike şîfre +Bikaranîna bîrê (Åžidandin): +Bikaranîna bîrê (Vekirin): +4050 +Bêyî ÅŸidandin +Leztirîn +Bi Lez +Asayî +Herî Pir +Ultra +4060 +Dosiyan têxê, yên heyî derxe +Dosiyan têxê, yên kevin rojane bike +Bi tenê yên kevin rojane bike +Dosiyan bike wekî hev +4070 +Bibîne +Hemû dosya + + +6000 +Ji Ber Bigire +Bar Bike +Cihê Dê Were Jibergirtin: +Cihê Dê Were Barkirin: +tê jibergirtin... +tê barkirin... +navekî nû tê lêkirin... + +Kirin ne pêkan e. +Çewtiya Navlêkirinê +Erêkirina Jibergirtinê +Ma bila dosî ji bo arşîvê bên jibergirtin +6100 +Erêkirina jêbirina dosiyê +Erêkirina jêbirina peldankê +Erêkirina jêbirina gelek dosiyan +Ma bila dosiya '{0}' bête jêbirin? +Ma bila peldanka '{0}' û yên tê de bên jêbirin? +Ma bila hêmana {0} bête jêbirin? +tê jêbirin... +Çewtiya Jêbirinê + +6300 +Peldankeke nû +Dosiyeke Nû +Navê peldankê: +Navê Dosiyê: +Peldankeke Nû +Dosiyeke Nû +Çewtiya Çêkirina peldankê +Çewtiya çêkirina Dosiyê +6400 +Daxuyanî +&Daxuyanî: +Hilbijêre +Hilbijartinê rake +Derbirîna hilbijartinê: +6600 + +Rabirdûya Peldankê +Peyamên haydariyê +Peyam +7100 +Komputer +Tor + +Pergal +7200 +Bike Arşîv +Derxe +Bihêçîne +Ji Ber Bigire +Bar Bike +Jê Bibe +Agahî +7300 +Bike Parçe +Di &vê peldankê de parçe bike: +Wekî Bayt/&cilt bike parçe: +tê parçekirin... + + + + + +7400 +Bike Yek +Di vê &peldankê de bike yek: +tê yekirin... + + + +7500 +Hesabê sererastkirî... +Agahiyên hesabê sererast +CRC hesabê sererast bo data: +CRC hesabê sererast bo data û nav: +7600 +Çalakiya komputerê +Bikaranîna birê: +Åžidandin +Vekirin +Puan +bi guloverî puanan +Carî +Encam + + +Serkeftî: diff --git a/Utils/7-Zip/Lang/ky.txt b/Utils/7-Zip/Lang/ky.txt new file mode 100644 index 000000000..3fff8815b --- /dev/null +++ b/Utils/7-Zip/Lang/ky.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.20 : Kalil uulu Bolot +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Kyrgyz +Кыргызча +401 +OK +Ðйнуу + + + +&Ооба +&Жок +&Жабуу +Жардам + +&Улантуу +440 +Ооба &баарына +Жок б&аарына ÑÐ¼ÐµÑ +Токто +Кайта иштетүү +&Фоном +&Ðлдыңкы планга +&Тыныгуу +Тыныгууда +Сиз чын Ñле операциÑны токтоткуңуз келип жатабы? +500 +&Файл +&Оңдоо +&Кейп +&Тандалган +С&ÐµÑ€Ð²Ð¸Ñ +&Жардам +540 +&Ðчуу +Ичи&нен ачуу +Сырты&нан ачуу +Көрүү +&Редактирлөө +Ðтын& өзгөртүү +&Буга көчүрүү... +&Буга ордун которуу... +&Өчүрүү +Фа&лды бөлүштүрүү... +Ф&айлдарды кошуу... +КаÑ&иети +Комме&нтарий +Контролдук жыйынтык +Diff +&Баштык жаратуу +Фай&л жаратуу +Ч&ыгуу +600 +Баарын б&өлүү +Бөлүнгөндү алуу +&Бөлүүнү к&аратуу +Бөлүү... +Бөлүнгөндү алуу... +Түзү менен бөлүү +Түзү менен бөлүнгөндү алуу +700 +&Чоң белгилер +&Кичине белгилер +Тиз&ме +&Таблица +730 +ИргөөÑүз +Түз түзүлүш +&2 Панель +&ÐÑпап панелдери +Түпкү баштыкты ачуу +Бир деңгÑÑлге өйдө өтүү +Баштыктардын тарыхы... +Ж&аңыртуу +750 +Ðрхиватордун баÑкычтарынын панели +Стандарттык баÑкыч панели +Чоң баÑкычтар +БаÑкычтагы жазуулар +800 +Кантип тандалганга& баштыкты кошуу +Чөп кат +900 +Оңдоп-түздөмөлөр... +Өндүрүмдүүлүктү теÑтирлөө +960 +&Мазмуну... +Программа &жөнүндө... +1003 +Жол +ÐÑ‚ +Кенейтүү +Баштык +Көлөм +КыÑылган +Ðтрибуттар +Жаралган +Ðчылган +Өзгөртүлгөн +ҮзгүлтүкÑүз +Комментарий +Шифрланган +Чейин бөлүнгөн +Кийин Бөлүнгөн +Сөздүк +CRC +Түр +Ðнти +Ðмал +СиÑтема +Файлдык ÑиÑтема +Колдонуучу +Топ +Блок +Комментарий +ЭÑлеген ахывал +Жол +Баштыктар +Файлдар +ВерÑиÑÑÑ‹ +Том +Көптомдуу +Жылдыруу +Сүрүштүрүү +Блоктор +Томдор + +64-bit +Big-endian +ПроцеÑÑор +Физикалык көлөм +Баш аттардын көлөмү +Текшерүү жыйынтык +Мүнөздөмөлөр +Виртуалдык дарек +ID +КыÑка ат +Жараткан +Сектордун көлөмү +Түзүлүш +Сүрүштүрүү +Ката +Сыйдыргычтык +Бош +Размер клаÑтера +Белги +Локалдык ат +Провайдер +2100 +Оңдоп-түздөмөлөр +Тил +Тил: +Редактор +&Редактор: +&Diff: +2200 +СиÑтема +7-Zip менен файлдарды бириктирүү: +2301 +7-Zipти менюнун контекÑттик кыртышына жайгаштыруу +КаÑкадттык контекÑттик меню +КонтекÑттик менюнун Ñлементтери: +2320 +<Баштык> +<Ðрхив> +Ðрхивди ачуу +Таңгагын чечүү +Ðрхивке кошуу... +ТеÑтирлөө +Мында таңгагын чечүү +Буга таңгагын чечүү {0} +Буга кошуу {0} +КыÑып жана аны email менен жиберүү... +Буга кыÑып {0} жана email менен жиберүү +2400 +Баштыктар +&Иштөө баштык +&Убактылуу ÑиÑтемалык баштык +&Учурдагы +&Тапшыруу: +Котормолуу алып жүрүүчүлөргө гана колдонуу +Убактылуу архивтерге турган ордун көрÑөтүңүз. +2500 +Оңдоп-түздөмөлөр +".." Ñлементин көрÑөтүү +Файлдардын реалдуу иконкаларын көрÑөтүү +СиÑтемалык менюну көрÑөтүү +КурÑор жалпы Ñапка +Бөлгүчтөрдү көрÑөтүү +Бир баÑуу менен ачуу +Белгинин алтернативалык режими +ЭÑтин чоң барактарын колдонуу +2900 +7-Zip программа жөнүндө +7-Zip Ñркин таратылуучу программа.Бирок Ñиз 7-Zipтин иштетүүÑүн колдогуңуз келÑе,Ñиз программаны каттатып койÑоңуз болот. +3000 +Эркин ÑÑке тутуу жетишÑиз +Ката табылган жок +{0} ÐерÑелер бөлүнгөн +'{0}' баштыкты жаратуу ишке ашкан жок +Бул архив үчүн өзгөртүү операциÑлары колдолбойт. +'{0}' архивтей кылып ачуу ишке ашкан жок +Шифрленген архивди ачуу ишке ашкан жок '{0}'. КупуÑ-белги туура ÑмеÑ? +Ðрхивдин колдоо кылынбаган түрлөрү +{0} деген файл бар +'{0}' файлы өзгөртүлгөн.\nСиз аны архивде жаңырткыңыз келип жатабы? +\n'{0}' файлын жаңыртуу ишке ашкан жок +Редакторду иштетүү, ишке ашкан жок +Файл вируÑка окшош (файлдын аты ырааттуу бош жерди камтыйт). +Баштыктын ичинен Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð°Ñ‚ÐºÐ°Ñ€Ñ‹Ð»Ð±Ð°Ð¹Ñ‚, жолдун узактыгынан. +Сиз бир фалды бөлүшүңүз керек +Сиз бир нече файлды бөлүшүңүз керек +Өтө көп Ñлементтерди камтыйт +3300 +Таңгагын чечүү +КомпреÑÑиÑлоо +ТеÑтирлөө +Ðчуу... +Сканирлөө... +3400 +Чыгаруу +& Буга таңгагын чечүү: +Чыгарып жаткан файлдар үчүн ордун көрÑөтүңүз. +3410 +Жолдор +То&лук жолдор +&ЖолÑуз +3420 +Кайта жазуу +&Далилдөө менен +Д&алилдөөÑүз +Өткө&Ñ€Ò¯Ò¯ +Ðвтоматтык түрдө атын өзгөртүү. +Бар файлдардын аттарын автоматтык түрдө өзгөртүү. +3500 +Файлды алмаштырууну далилдөө +Баштык иштеп чыгарылган файлды камтыйт. +Бар файлдарды алмаштыруу +кийинки файл менен? +{0} байт +Ðвтоматтык түрдө атын өзгөртүү. +3700 +'{0}' файлдагы колдобоочу кыÑуу амалы. +'{0}' берилүүÑүндөгү ката.файл бузук. +'{0}' CRCте ката.файл бузук. +'{0}' шифрленген файлда ката. Туура ÑÐ¼ÐµÑ ÐºÑƒÐ¿ÑƒÑ-белги? +'{0}' шифрленген файл үчүн CRCте ката. Туура ÑÐ¼ÐµÑ ÐºÑƒÐ¿ÑƒÑ-белги? +3800 +КупуÑ-белгини киргизүү +&КупуÑ-белгини киргизиңиз: +&КупуÑ-белгини кайталаңыз: +&КупуÑ-белгини көрÑөтүү +КупуÑ-белгилер бири-бирине туура келбейт +КупуÑ-белги үчүн латын алфавитиндеги Ñимволдорду гана колдонуңуз,Ñандарды жана атайын (!, #, $, ...) Ñимволдорун +КупуÑ-белги өтө узун +&КупуÑ-белги +3900 +Өттү: +Калды: +Баары: +Ылдамдык: +Көлөм: +КыÑуунун даражаÑÑ‹: +Каталар: +Ðрхивтер: +4000 +Ðрхивке кошуу +&Ðрхив: +&Өзгөртүүнүн режими: +&Ðрхивдин форматы: +&КыÑуунун деңгÑÑли: +&КыÑуунун амалы: +Сөздүктүн &көлөмү: +Сөздүн к&өлөмү: +Блоктун көлөмү: +Ðгымдардын Ñаны: +&Параметрлер: +&Оңдоп-түздөмөлөр +SF&X-архивди жаратуу +Файлдарды жаздыруу үчүн ачууну кыÑуу +Шифрлөө +Шифрлөөнүн амалы: +&Файлдардын атын шифрлөө +Салып бекитүү үчүн ÑÑтин көлөмү: +Таңгагын чечүү үчүн ÑÑтин көломү: +4050 +КыÑууÑуз +Ылдамдуу +Бат +Кадимкидей +ЭÑÒ£ жогорку +Ультра +4060 +Кошуп жана алмаштыруу +Жаңыртып жана кошуу +Жаңыртуу +Калптандыруу +4070 +Барактоо +Баардык файлдар +Файлдын көлөмүндөй +ҮзгүлтүкÑүз +6000 +Көчүрүү +Которуштуруу +Буга көчүрүү: +Буга которуштуруу: +Көчүрүү... +Ордун которуу... +Ðтын өзгөртүү... +Баштыкты көрÑөтүңүз. +ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð±ÑƒÐ» баштык үчүн колдолбойт. +Баштыктын же файлдын атын өзгөртүүдө ката +Файлдарды көчүрүүнү аныктоо +Сиз бул файлдарды архивке көчүрүүнү чын Ñле каалап жатаÑызбы +6100 +Файлдын өчүрүүÑүн аныктоо +Баштыктын өчүрүүÑүн аныктоо +Файлдын тобун өчүрүүÑүн аныктоо +Сиз "{0}" өчүрүүнү чын Ñле каалап жатаÑызбы? +Сиз "{0}" баштыктын ичиндегилери менен өчүрүүнү чын Ñле каалап жатаÑызбы? +({0} даана.) нерÑелерди өчүрүүнү чын Ñле каалап жатаÑызбы? +Өчүрүү... +Баштыкты же файлды өчүрүүдө ката +СиÑтема узун жолдуу файлдарды өчүрүүбаштыкка өчүрүү операциÑÑын колдобойт +6300 +Баштык жаратуу +Файл жаратуу +Баштыктын аты: +Файлдын аты: +Жаңы баштык +Жаңы файл +Баштык жаратуудан ката +Файл жаратуудан ката +6400 +Комментарий +&Комментарий: +Бөлүү +Бөлүнгөндү алып Ñалуу +МаÑка: +6600 +КаÑиет +Баштыктардын тарыхы +Билдирүү +Билдирүү +7100 +Компьютер +Желе +Иш кагаздар +СиÑтема +7200 +Кошуу +Чыгаруу +ТеÑтирлөө +Көчүрүү +Ордун которуу +Өчүрүү +Маалымат +7300 +Файлды бөлүштүрүү +&Буга бөлүштүрүү: +(байт ) көлөмү менен томдорго бөлүштүрүү: +Бөлүштүрүү... +Бөлүштүрүүнү аныктоо +Сиз файлды {0} бөлүккө бөлгүңүз келип жатабы? +Томдун көлөмү баштапкы файлдын көлөмүнөн кичине болушу керек +Томдордун көлөмүн берүүдө ката +Отургузулган томдун көлөмү: {0} байт.\nСиз чын Ñле архивди ушундай томдорго бөлгүңүз келип жатабы? +7400 +Файлдарды бириктирүү +&Буга бириктирүү: +Биригүү... +Бөлүштүрүлгөн файлдын биринчи бөлүгүн гана бөлүү керек +Бөлүштүрүлгөн файлды таану ишке ашкан жок +Бөлүштүрүлгөн файлдын бир бөлүгүн дагы табуу ишке ашкан жок +7500 +Текшерүүнүн жыйынтыгын ÑÑептөө... +Текшерүүнүн жыйынтыгы +Маалымат үчүн CRC текшерүү жыйынтыгы: +Маалымат жана аттар үчүн CRC текшерүү жыйынтыгы: +7600 +Өндүрүмдүүлүктү теÑтирлөө +ЭÑтин көлөмү: +Салып бекитүү +Таңгагын чечүү +Рейтинг +Жалпы рейтинг +Учурдагы +Жыйынтыгы +Жүк +Рейтинг / Жүк. +Өтүүлөр: diff --git a/Utils/7-Zip/Lang/lij.txt b/Utils/7-Zip/Lang/lij.txt new file mode 100644 index 000000000..bf31dacee --- /dev/null +++ b/Utils/7-Zip/Lang/lij.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : GENOVES.com.ar +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Ligurian +Zeneize +401 +D'acòrdio +Anulla + + + +&Sci +&No +Sæ&ra +Agiutto + +&Continoa +440 +Sci pe &Tutti +No pe T&utti +Ferma +Inandia torna +Into &sfondo +&In primmo cian +&Paoza +In paoza +Ti ê seguo de voei anulâ? +500 +&Archivio +&Modifica +&Vixoalizza +&Preferii +&Strumenti +A&giutto +540 +&Arvi +Arvi into Manezatô d'archivi 7-Zip +Arvi inte Explorer +&Vixoalizza +&Modifica +Ri&nomina +&Còpia inte... +&Spòsta inte... +Scancel&la +&Dividi l'archivio... +&Unisci i archivi... +P&ropietæ +Comen&ta... +Calcola somma de contròllo +Dif +Crea cartella +Crea archivio +Sc&iòrti +600 +Seleçionn-a &tutto +Deseleçionn-a tutto +In&verti seleçion +Seleçionn-a... +Deseleçionn-a... +Seleçionn-a pe tipo +Deseleçionn-a pe tipo +700 +Figue &grende +Figue picinn-e +&Listin +&Dæti +730 +Nisciun ordine +Vista ciatta +&2 barcoîn +Bare di &Strumenti +Arvi cartella prinçipâ +Livello supeiô +Cronologia... +&Agiorna +750 +Bara di strumenti Archivio +Bara di strumenti Normali +Figue grende +Mostra etichette de tèsto +800 +&Azonzi a cartella a-i Preferii comme +Colegamento +900 +&Ã’psioin... +&Ponto de riferimento +960 +&Goidda... +&Informaçioin in sce de 7-Zip... +1003 +Percorso +Nomme +Estension +Cartella +Mezua +Mezua Conpressa +Atributi +Creou +Urtimo acesso +Urtima modifica +Sòlido +Comentou +Criptou +Dividi primma +Dividi dòppo +Diçionaio +CRC +Tipo +Anti +Metodo +OS destinaçion +Archivio do scistemma +Utente +Gruppo +Blòcco +Comento +Poxiçion +Prefisso da destinaçion +Cartelle +Archivi +Verscion +Volumme +Multivolumme +Offset +Colegamenti +Blòcchi +Volummi + +64-bit +Big-endian +CPU +Mezua fixica +Mezua de titoli +Somma de contròllo +Carateristiche +Indirisso Virtoale +ID +Nomme curto +Aplicaçion de creaçion +Mezua da seçion +Mòddo +Colegamento +Erô +Capaçitæ totale +Spaçio disponibile +Mezua de particole (cluster) +Etichetta +Nomme locale +Proveditô +2100 +Ã’psioin +Lengoa +Lengoa: +Editô +&Editô: +&Dif: +2200 +Scistemma +Asòccia 7-Zip a: +2301 +Integra 7-Zip into menù contestoale +Menù contestoale a cascaa +Elementi do menù contestoale: +2320 + + +Arvi +Estranni i archivi... +Azonzi a l'archivio... +Contròlla l'archivio +Estranni chi. +Estranni inte {0} +Azonzi a {0} +Conprimmi e invia pe email... +Conprimmi in {0} e invia pe email +2400 +Cartelle +Cartella de tra&vaggio +Cartella &Temp de Scistemma +&Corente +&Specificâ: +Deuvia solo pe dischi estraibili +Specifica unna cartella pe-i archivi tenporanni. +2500 +Inpostaçioin +Mostra l'elemento ".." +Mostra e icöne di archivi +Mostra e icöne do scistemma +Seleçionn-a a &riga intrega +Mostra &grixella +Sciacâ unna vòtta sola pe arvî un elemento +&Mòddo de seleçion alternativo +Deuvia grende &pagine de memöia +2900 +Dæti +7-Zip o l'é un programa libero e de badda. +3000 +O scistemma o no peu separâ a quantitæ de memöia necesaia +Nisciun erô +{0} ògetti seleçionæ +Inposcibile creâ a cartella '{0}' +No l'é poscibile efetoâ agiornamenti in sce quest'archivio. +Inposcibile arvî l'archivio '{0}' comme conpilaçion +Inposcibile arvî a conpilaçion criptâ '{0}'. Scoretta a paròlla d'ordine? +Tipo de conpilaçion no consentia +L'archivio {0} za o l'existe +L'archivio '{0}' o l'é stæto modificou.\nTi veu agiornâ l'archivio? +Inposcibile agiornâ l'archivio\n'{0}' +Inposcibile inandiâ l'editô. +L'archivio o pâ d'ese un virus (o seu nomme o gh'à di spaççi longhi). +L'òperaçion a no peu conpletase da unna cartella da percorso longo. +Ti devi seleçionâ un archivio +Ti devi seleçionâ ùn ò ciù archivi +Tròppi elementi +3300 +Estraçion in corso... +Conprescion in corso... +Contròllo in corso... +Avertua in corso... +Controlemmo... +3400 +Estranni +&Estranni inte: +Specifica unna cartella dove estrae i archivi. +3410 +Strutua de cartelle +Percorsci conpleti +Nisciun percorso +3420 +Sorvescritua +Domanda primma de sorvescrive +Sorvescrivi sensa domandâ +No sorvescrive i archivi existenti +Rinomina outomaticamente +Rinomina outomaticamente i archivi existenti +3500 +Conferma a sostitoçion de l'archivio +A cartella destinaçion a contegne za l'archivio fæto. +Ti voriesci sostitoî l'archivio +con questo? +{0} byte +Rinomina &outomaticamente +3700 +Metodo de conprescion no consentio pe '{0}'. +Erô di dæti inte '{0}'. L'archivio o l'é danezou. +CRC no coretto inte '{0}'. L'archivio o l'é danezou. +Erô di dæti inte l'archivio criptou '{0}'. Scoretta a paròlla d'ordine? +CRC falio inte l'archivio criptou '{0}'. Scoretta a paròlla d'ordine? +3800 +Introduxi paròlla d'ordine +Introduxi paròlla d'ordine: +Ripeti a paròlla d'ordine: +&Mostra paròlla d'ordine +E paròlle d'ordine no coincidan +Deuvia solo segni de l'ingleize, numeri e carateri speciali (!, #, $, ...) pe-a paròlla d'ordine +Paròlla d'ordine tròppo longa +Paròlla d'ordine +3900 +Tenpo trascorso: +Tenpo rimanente: +Mezua: +Velocitæ: +Procesou: +Tascia de conprescion: +Eroî: +Conpilaçion: +4000 +Azonzi a l'archivio +&Archivio: +Modalitæ d'a&giornamento: +&Formato de l'archivio: +&Livello de conprescion: +&Metodo de conprescion: +Mezua &Diçionaio: +Mezue da Pa&ròlla: +Mezua do blòcco sòlido: +Numero de thread CPU: +&Parametri: +Ã’psioin +Crea archivio outo-estraente +Conprimmi archivi condivixi +Critografia +Mòddo de criptâ: +Cripta o &nomme di archivi +Utilizzo da memöia pe conprescion: +Utilizzo da memöia pe deconprescion: +4050 +Nisciunn-a +Velociscima +Veloce +Normale +Mascima +Ultra +4060 +Azonzi e sostitoisci i archivi +Agiorna e azonzi i archivi +Agiorna i archivi existenti +Sincronizza i archivi +4070 +Sfeuggia +Tutti i archivi +No-sòlido +Sòlido +6000 +Còpia +Spòsta +Còpia inte: +Spòsta verso: +Còpia in corso... +Spostamento in corso... +Rinominaçion in corso... +Çerni cartella de destinaçion. +L'òperaçion a no l'é consentia. +Erô into rinominâ l'archivio ò a cartella +Conferma a còpia d'archivi +Ti ê seguo de voei copiâ di archivi a unna conpilaçion? +6100 +Conferma l'eliminaçion de l'archivio +Conferma l'eliminaçion da cartella +Conferma l'eliminaçion de ciù elementi +Ti ê seguo de voei eliminâ '{0}'? +Ti ê seguo de voei eliminâ a cartella '{0}' e tutto o seu contegnuo? +Ti ê seguo de voei eliminâ questi {0} elementi? +Eliminaçion in corso... +Erô inte l'eliminaçion de l'archivio ò da cartella +O scistemma o no peu caciâ via un archivio da percorso longo +6300 +Crea Cartella +Crea archivio +Nomme da cartella: +Nomme d'archivio: +Neuva cartella +Neuvo archivio +Erô inta creaçion da cartella +Erô inta creaçion de l'archivio +6400 +Comento +&Comento: +Seleçionn-a +Deseleçionn-a +Filtro: +6600 +Propietæ +Cronologia +Mesaggi diagnòstichi +Mesaggio +7100 +Calcolatô +Ræ +Documenti +Scistemma +7200 +Azonzi +Estranni +Contròlla +Còpia +Spòsta +Cancella +Propietæ +7300 +Dividi Archivio +&Dividi inte: +Di&vidi in ciù archivi, mezua in byte: +Dividimmo... +Conferma a divixon +Ti ê seguo de voei separâ l'archivio inte {0} volummi? +A mezua de volumme a deve ese ciù picinn-a de quella de l'òriginale +Scoretta a mezua do volumme +Mezua de volumme specificâ: {0} byte.\nTi ê seguo de voei separâ l'archivio inte quelli volummi? +7400 +Unisci i archivi +&Unisci inte: +Unimmo... +Seleçionn-a solo a primma parte de l'archivio divizo +No se gh'atreuva un archivio comme parte d'un archivio divizo +No se gh'atreuva ciù d'unna parte d'un archivio divizo +7500 +Calcolemmo a somma de contròllo... +Dæti da somma de contròllo +Somma de contròllo CRC pe dæti: +Somma de contròllo CRC pe dæti e nommi: +7600 +Ponto de riferimento +Utilizzo da memöia: +Conprescion in corso +Deconprescion in corso +Valutaçion +Valutaçion totale +Atoale +Derivou +Utilizzo de CPU +Rating / Utilizzo +Pasaggi: diff --git a/Utils/7-Zip/Lang/lt.txt b/Utils/7-Zip/Lang/lt.txt new file mode 100644 index 000000000..7f8fb71e9 --- /dev/null +++ b/Utils/7-Zip/Lang/lt.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 2.30 : Marius Navickas : http://www.teisininkas.lt/ivairus/7-zip: +; 4.57 : Domas Jokubauskis +; 15.05 : Vaidas777 (terminų Å¡altinis: www.raÅ¡tija.lt) +; +; +; +; +; +; +; +; +0 +7-Zip +Lithuanian +Lietuvių +401 +Gerai +AtÅ¡aukti + + + +&Taip +&Ne +&Uždaryti +Elektroninis žinynas + +&TÄ™sti +440 +T&aip Visiems +Ne v&isiems +Sustabdyti +IÅ¡ naujo +&Fone +&Pirminis procesas +&Laikinai sustabdyti +Laikinai sustabdyta +Ar jÅ«s esate tikri, kad norite atÅ¡aukti? +500 +&Failas +K&eisti +&Rodyti +MÄ—gi&amiausi +Ä®ran&kiai +&Elektroninis žinynas +540 +&Atverti +Atverti v&iduje +Atverti iÅ¡&orÄ—je +&Rodyti +K&eisti +Pervadi&nti +&Kopijuoti į... +&Perkelti į... +Å alin&ti +&Skaidyti failÄ…... +Jungti &failus... +Savy&bÄ—s +Kome&ntuoti +SkaiÄiuoti kontrolinÄ™ sumÄ… +Sulyginti +Sukurti aplankÄ… +Sukurti failÄ… +IÅ¡ei&ti +Nuoroda +&AlternatyvÅ«s srautai +600 +PažymÄ—ti &viskÄ… +NužymÄ—ti viskÄ… +Atv&irkÅ¡tinis žymÄ—jimas +Parinkti... +AtžymÄ—ti... +Pasirinkti pagal tipÄ… +AtžymÄ—ti pagal tipÄ… +700 +Did&elÄ—s piktogramos +&Mažos piktogramos +&SÄ…raÅ¡as +&IÅ¡samiai +730 +Nerūšiuotos +Nepaisyti aplankų +&2 skydeliai +&Mygtukų juostos +Atverti Å¡akninį aplankÄ… +Lygiu aukÅ¡Äiau +Aplankų istorija... +&Atnaujinti +AutomatiÅ¡kai atnaujinti +750 +Archyvo mygtukų juosta +StandartinÄ— mygtukų juosta +Dideli mygtukai +Rodyti užraÅ¡us ant mygtukų +800 +&PridÄ—ti aplankÄ… prie mÄ—giamiausiųjų kaip +MÄ—giamiausias +900 +&Nuostatos... +&Spartos bandymas +960 +&Turinys... +&Apie 7-Zip... +1003 +Kelias +Pavadinimas +PlÄ—tinys +Aplankas +Dydis +Dydis archyve +Atributai +Sukurta +Naudota +Pakeista +Vientisas +Komentaras +Å ifruotas +Perskyra prieÅ¡ +Perskyra paskui +Žodynas + +Tipas +Anti +BÅ«das +Kompiuterio OS +Bylų sistema +Naudotojas +GrupÄ— +Blokas +Komentaras +Pozicija +Kelio prieÅ¡dÄ—lis +Aplankai +Failai +Versija +Tomas +Daugiatomis +Poslinkis +Nuorodos +Blokai +Tomai + +64-bit +Mažėjantys baitai +Procesorius +Fizinis dysis +AntraÅ¡tÄ—s dydis +KontrolinÄ— suma +Charakteristikos +Virtualus adresas +ID +Trumpas pavadinimas +KÅ«rÄ—jo programa +Sektoriaus dydis +Moda +SimbolinÄ— nuoroda +Klaida +Visas dydis +Laisva vieta +Blokinio dydis +ŽymÄ— +Vietinis pavadinimas +TeikÄ—jas +NT saugumas +Alternatyvus srautas +Pagalbinis +IÅ¡trintas +Medis + + +Klaidos tipas +Klaidos +Klaidos +PerspÄ—jimai +PerspÄ—jimas +Srautai +AlternatyvÅ«s srautai +Alternatyvių srautų dydis +Virtualus dydis +IÅ¡pakuoto dydis +Visas fizinis dydis +Tomo numeris +Subtipas +Trumpas komentaras +Kodų lentelÄ— + + + +Pabaigos dydis +Ä®terpto bloko dydis +Nuoroda +Patvarioji nuoroda +iNode + +Tik skaityti +2100 +Nustatymai +Kalba +Kalba: +Redaktorius +R&edaktorius: +&Sulyginimas: +2200 +Sistema +Susieti 7-Zip su: +Visi vartotojai +2301 +Integruoti 7-Zip į kontekstinį meniu +Pakopinis kontekstinis meniu +Kontekstinio meniu įraÅ¡ai: +Piktogramos kontekstiniame meniu +2320 + + +Atverti archyvÄ… +IÅ¡skleisti failus... +Ä®traukti į archyvÄ…... +Patikrinti archyvÄ… +IÅ¡skleisti Äia +IÅ¡skleisti į {0} +Ä®traukti į {0} +Suglaudinti ir iÅ¡siųsti el. paÅ¡tu... +Suglaudinti į {0} ir iÅ¡siųsti el. paÅ¡tu +2400 +Aplankai +&Darbinis aplankas +&Sisteminis laikinas aplankas +D&abartinis +Nurodyta&s: +Naudoti tik iÅ¡imamiems diskams +Nurodyti vietÄ… laikiniems archyviniams failams. +2500 +Nustatos +Rodyti „..“ failų sÄ…raÅ¡e +Rodyti tikras failų piktogramas +Rodyti sisteminį meniu +&ŽymÄ—ti visÄ… eilutÄ™ +Rodyti tinklelio linija&s +Atverti vienu spustelÄ—jimu +&Kitoks žymÄ—jimo bÅ«das +Naudoti didžiu&lius atmintinÄ—s puslapius +2900 +Apie 7-Zip +7-Zip yra nemokama programa. +3000 +Sistema begali skirti reikalingo atminties kiekio +Klaidų nerasta +Pasirinkta {0} objektų: +Negalima sukurti aplanko „{0}“ +Å io archyvo negalima atnaujinti. +Negalima atverti „{0}“ failo kaip archyvo +Negalima atverti Å¡ifruoto archyvo „{0}“. Neteisingas slaptažodis? +Nepalaikomas archyvo tipas +Failas pavadinimu {0} yra +Failas „{0}“ buvo pakeistas.\nAr norite jį atnaujinti archyve? +Negalima atnaujinti failo\n„{0}“ +Negalima paleisti redaktoriaus. +Å is failas panaÅ¡us į virusÄ… (failo pavadinime yra pasikartojanÄių tarpų) +Å is veiksmas negali bÅ«ti vykdomas iÅ¡ aplanko, kuris turi ilgÄ… keliÄ… +JÅ«s privalote pažymÄ—ti vienÄ… failÄ… +JÅ«s privalote pažymÄ—ti bent vienÄ… failÄ… +Per daug elementų +Negalima atverti failo kaip {0} archyvo +Failas yra atvertas kaip {0} archyvas +Archyvas yra atvertas su ofsetu +3300 +IÅ¡skleidžiama +Glaudinama +Tikrinama +Atidaroma... +Skenuojama... +Å alinama +3320 +Glaudinama +Atnaujinama +Analizuojama +Dubliuojama +Glaudinama iÅ¡ naujo +Praleidžiama +Å alinama +Kuriama antraÅ¡tÄ— +3400 +IÅ¡skleisti +IÅ¡&skleisti į: +Nurodyti vietÄ… iÅ¡skleidžiamiesiems failams. +3410 +Kelio moda: +Pilni keliai +Jokių kelių +AbsoliutÅ«s keliai +Santykiniai keliai +3420 +PerraÅ¡ymo režimas +Paklausti prieÅ¡ perraÅ¡ant +PerraÅ¡yti neįspÄ—jant +Praleisti esanÄius failus +AutomatiÅ¡kai pervadinti +AutomatiÅ¡kai pervadinti esanÄius failus +3430 +PaÅ¡alinti Å¡akninio aplanko pasikartojimÄ… +Atstatyti failų saugumo nuostatas +3500 +Failų pakeitimo patvirtinimas +Paskirtame aplanke jau yra apdorojamas failas. +Ar norÄ—tumÄ—te pakeisti esanÄiÄ… failÄ… +Å¡iuo failu? +{0} baitų +A&utomatinis pervadinimas +3700 +Nepalaikomas suglaudinimo metodas failui „{0}“. +Duomenų klaida „{0}“. Failas pažeistas. +CRC klaida „{0}“. Failas pažeistas. +Duomenų klaida Å¡ifruotame faile „{0}“. Neteisingas slaptažodis? +CRC neatitikimas Å¡ifruotame faile „{0}“. Neteisingas slaptažodis? +3710 +Neteisingas slaptažodis? +3721 +Nepalaikomas suglaudinimo metodas +Duomenų klaida +CRC neatitikimas +Nepasiekiami duomenys +NetikÄ—ta duomenų pabaiga +Yra papildomi duomenys po naudingų duomenų +Tai nÄ—ra archyvas +Klaida antraÅ¡tÄ—se +Klaidingas slaptažodis +3763 +Nepasiekiama archyvo pradžia +Nepatvirtinta archyvo pradžia + + + +Nepalaikoma ypatybÄ— +3800 +Slaptažodžio įvedimas +Ä®veskite slaptažodį: +Pakartokite slaptažodį: +&Rodyti slaptažodį +Slaptažodžiai nesutampa +Slaptažodžiui naudokite tik lotyniÅ¡kas raides, numerius bei specialiuosius simbolius (!, #, $, ...) +Slaptažodis yra per ilgas +Slaptažodis +3900 +PraÄ—jÄ™s laikas: +LikÄ™s laikas: +Dydis: +Sparta: +Apdorota: +Suglaudinimo laipsnis: +Klaidos: +Archyvai: +4000 +Ä®traukti į archyvÄ… +&Archyvas: +Atna&ujinimo režimas: +Archyvo &formatas: +Suglaudinimo &lygis: +Glaudini&mo bÅ«das: +Žo&dyno dydis: +Ž&odžio dydis: +Vientiso bloko dydis: +CPU gijų skaiÄius: +&Parametrai: +Nuostatos +Sukurti iÅ¡&sipakuojantį archyvÄ… +Glaudinti atvertus įraÅ¡ymui failus +Å ifravimas +Å ifravimo metodas: +Už&Å¡ifruoti failų pavadinimus +AtmintinÄ—s naudojimas suglaudinimui: +AtmintinÄ—s naudojimas iÅ¡skleidimui: +IÅ¡trinti failus suglaudinus +4040 +Ä®siminti simbolines nuorodas +Ä®siminti patvariasias nuorodas +Ä®siminti alternatyvius duomenų srautus +Ä®siminti failų saugumo nuostatas +4050 +Mažiausias +Greitesnis +Greitas +Normalus +Didžiausias +Smarkiausias +4060 +Ä®traukti ir pakeisti failus +Atnaujinti ir įtraukti failus +Atnaujinti esanÄius failus +Sinchronizuoti failus +4070 +NarÅ¡yti +Visus failus +Ne vientisas +Vientisas archyvas +6000 +Kopijuoti +Perkelti +Kopijuoti į: +Perkelti į: +Kopijuojama... +Perkeliama... +Pervadinama... +Pasirinkite paskirties aplankÄ…. +Å iam aplankui veiksmas nepalaikomas. +Klaida pervadinant failÄ… ar aplankÄ… +Failų kopijavimo patvirtinimas +Ar jÅ«s esate įsitikinÄ™, jog norite kopijuoti failus į archyvÄ…? +6100 +Patvirtinkite failo Å¡alinimÄ… +Patvirtinkite aplanko Å¡alinimÄ… +Patvirtinkite kelių failų Å¡alinimÄ… +Ar esate įsitikinÄ™, jog norite paÅ¡alinti „{0}“? +Ar esate įsitikinÄ™, jog norite paÅ¡alinti „{0}“ aplankÄ… ir visÄ… jo turinį? +Ar esate įsitikinÄ™, jog norite paÅ¡alinti Å¡iuos {0} elementus? +Å alinama... +Klaida trinant failÄ… ar aplankÄ… +Sistema negali perkelti failo į Å¡iukÅ¡linÄ™, kadangi per ilgas kelias +6300 +Sukurti aplankÄ… +Sukurti failÄ… +Aplanko pavadinimas: +Failo pavadinimas: +Naujas aplankas +Naujas failas +Klaida kuriant aplankÄ… +Klaida kuriant failÄ… +6400 +Komentaras +&Komentaras: +PažymÄ—ti +Panaikinti žymÄ—jimÄ… +Å ablonas: +6600 +Nuostatos +Aplankų istorija +Diagnostiniai praneÅ¡imai +PraneÅ¡imas +7100 +Kompiuteris +Tinklas +Dokumentai +Sistema +7200 +Glaudinti +IÅ¡skleisti +Bandyti +Kopijuoti +Perkelti +Å alinti +Informacija +7300 +Skaidyti failÄ… +&Skaidyti į: +Skaidyti į dalis bai&tais: +Skaidoma... +Skaidymo patvirtinimas +Ar jÅ«s esate įsitikinÄ™, jog norite failÄ… skaidyti į {0} dalis? +Dalies dydis privalo bÅ«ti mažesnis už dalijamo failo dydį +Neteisingas dalies dydis +Nurodytas dalies dydis: {0} baitai.\nAr jÅ«s esate įsitikinÄ™, jog norite archyvÄ… skaidyti į tokias dalis? +7400 +Sujungti failus +&Sujungti į: +Sujungiami failai... +PažymÄ—kite tik pirmÄ… suskaidyto archyvo failÄ… +Nepavyko atpažinti suskaldyto failo +Nepavyko surasti daugiau nei vienos suskaldymo failo dalies +7500 +SkaiÄiuojama kontrolinÄ— suma... +KontrolinÄ—s sumos informacija +Duomenų CRC kontrolinÄ— suma: +Duomenų ir failų pavadinimų CRC kontrolinÄ— suma: +7600 +Spartos bandymas +AtmintinÄ—s naudojimas: +Suglaudinama +IÅ¡skleidžiama +Ä®vertis +Galutinis įvertis +Dabartinis +Galutinis +CPU naudojimas +Ä®vertis/naudojimas +Kartai: +7700 +Nuoroda +Sujungti +Å altinis: +Tikslas: +7710 +Nuorodos tipas +Patvarioji nuoroda +Failo simbolinÄ— nuoroda +Aplanko simbolinÄ— nuoroda +Sujungimo taÅ¡kas (Junction) diff --git a/Utils/7-Zip/Lang/lv.txt b/Utils/7-Zip/Lang/lv.txt new file mode 100644 index 000000000..85e4a1555 --- /dev/null +++ b/Utils/7-Zip/Lang/lv.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.10 : Armands RadzuÅ¡ka +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Latvian +LatvieÅ¡u +401 +&Labi +&Atcelt + + + +&JÄ +&NÄ“ +Aiz&vÄ“rt +&RokasgrÄmata + +&TurpinÄt +440 +JÄ &visiem +NÄ“ v&isiem +Stop +PÄrstartÄ“t +&FonÄ +&PriekÅ¡plÄnÄ +Pa&uze +PauzÄ“ts +Vai piekrÄ«tat pÄrtraukt Å¡o darbÄ«bu? +500 +&Fails +&LaboÅ¡ana +&Izskats +Ie&cienÄ«tÄs +&RÄ«ki +&PalÄ«dzÄ«ba +540 +&AtvÄ“rt +AtvÄ“rt &iekÅ¡pusÄ“ +AtvÄ“rt Ärp&usÄ“ +Ap&skate +&Labot +PÄ&rdÄ“vÄ“t +&KopÄ“t uz... +PÄr&vietot uz... +&DzÄ“st +&SadalÄ«t failu... +Ap&vienot failus... +Īpašī&bas +&PiezÄ«mes + + +Izveidot &mapi +Izveidot &failu +&Beigt +600 +IezÄ«mÄ“t &visu +Atcelt vis&u +I&nvertÄ“t iezÄ«mÄ“jumu +Ie&zÄ«mÄ“t... +&Atcelt... +I&ezÄ«mÄ“t pÄ“c tipa +A&tcelt pÄ“c tipa +700 +&Lielas ikonas +&Mazas ikonas +&Saraksts +SÄ«&kÄk +730 +&Nešķirot + +&2 paneļi +&RÄ«ku joslas +&AtvÄ“rt saknes mapi +LÄ«meni &uz augÅ¡u +Mapju &vÄ“sture... +&PÄrlasÄ«t +750 +ArhÄ«va rÄ«ku josla +Standarta rÄ«ku josla +Lielas pogas +ParÄdÄ«t pogu tekstu +800 +&Pievienot mapi iecienÄ«tajÄm kÄ +IecienÄ«tÄs +900 +&UzstÄdÄ«jumi... +&DarbspÄ“jas pÄrbaude +960 +&RokasgrÄmatas saturs... +&Par 7-Zip... +1003 +Ceļš +Nosaukums +PaplaÅ¡inÄjums +Mape +Lielums +Saspiests +AtribÅ«ti +Izveidots +AtvÄ“rts +PÄrveidots +BlÄ«vs +PiezÄ«mes +Å ifrÄ“ts +DalÄ«ts pirms +DalÄ«ts pÄ“c +VÄrdnÄ«ca +CRC +Veids +Anti +Paņēmiens +SistÄ“ma +Failu sistÄ“ma +LietotÄjs +Grupa +Bloks +PiezÄ«mes +PozÄ«cija + + + + + + + + + + + + + + + + + + + + + + + + + +Kļūda +Tilpums +BrÄ«vÄ vieta +KlÄstera lielums +Nosaukums +LokÄlais nosaukums +Provaiders +2100 +UzstÄdÄ«jumi +Valoda +Valoda: +LaboÅ¡ana +&LaboÅ¡anas programma: + +2200 +SistÄ“ma +PiesaistÄ«t 7-Zip pie: +2301 +&IntegrÄ“t 7-Zip Windows vides kontekstizvÄ“lÄ“ +&KaskÄdveida kontekstizvÄ“le +KontekstizvÄ“les elementi: +2320 + + +AtvÄ“rt arhÄ«vu +Izvilkt failus... +Ielikt arhÄ«vÄ... +PÄrbaudÄ«t arhÄ«vu +Izvilkt Å¡eit +Izvilkt {0} mapÄ“ +Ielikt {0} +Saspiest, sÅ«tÄ«t pa e-pastu... +Saspiest {0}, sÅ«tÄ«t pa e-pastu +2400 +Mapes +&Darba mape +&SistÄ“mas pagaidfailu mape +&TekoÅ¡Ä +&Noteikt: +&Izmantot tikai mainÄmajiem nesÄ“jiem +NorÄdiet vietu arhÄ«vu pagaidfailiem. +2500 +UzstÄdÄ«jumi +ParÄdÄ«t ".." &vienÄ«bu +ParÄdÄ«t Ä«stÄs &failu ikonas +ParÄdÄ«t &sistÄ“mas izvÄ“li +&Pilnas rindas iezÄ«mēšana +ParÄdÄ«t at&daloÅ¡Äs lÄ«nijas + + + +2900 +Par 7-Zip +7-Zip ir bezmaksas programma, tomÄ“r, reÄ£istrÄ“joties jÅ«s varat 7-Zip izstrÄdÄÅ¡anu atbalstÄ«t. +3000 + +Kļūdu nav. +IezÄ«mÄ“ts(i) {0} objekts(i) +Mapi '{0}' neizdevÄs izveidot. +Å is arhÄ«vs neatbalsta pÄrveidoÅ¡anu. + + + + +Fails '{0}' ir pÄrveidots.\nVai vÄ“laties to atjauninÄt arÄ« arhÄ«vÄ? +Failu nav iespÄ“jams uzlabot\n'{0}' +Nav iespÄ“jams palaist laboÅ¡anas programmu. + + + + +Par daudz vienÄ«bu. +3300 +IzvilkÅ¡ana +saspieÅ¡ana +PÄrbaude +AtvÄ“rÅ¡ana... + +3400 +IzvilkÅ¡ana +&Izvilkt uz: +NorÄdiet vietu izvelkamiem failiem. +3410 +Ceļi +Pilni &ceļu nosaukumi +&Bez ceļu nosaukumiem +3420 +PÄrrakstīšana +&JautÄt pirms pÄrrakstīšanas +PÄrra&kstÄ«t bez jautÄÅ¡anas +I&zlaist esoÅ¡os failus +A&utopÄrdÄ“vēšana +AutomÄtiski pÄrdÄ“vÄ“t esoÅ¡os failu +3500 +Apstipriniet faila aizvietoÅ¡anu +MÄ“rÄ·a mape jau satur apstrÄdÄjamo failu. +Vai vÄ“laties aizvietot esoÅ¡o failu +ar Å¡o? +{0} baiti +AutopÄrdÄ“vēšana +3700 +NeatbalstÄ«ts saspieÅ¡anas paņēmiens '{0}' failam. +Datu kļūda '{0}'. Fails ir bojÄts. +CRC kļūda '{0}'. Fails ir bojÄts. + + +3800 +Paroles ievadīšana +Ievadiet paroli: + +Par&ole redzama + + + +&Parole +3900 +PagÄjuÅ¡ais laiks: +AtlikuÅ¡ais laiks: +Lielums: +Ä€trums: + + +Kļūdas: + +4000 +PievienoÅ¡ana arhÄ«vam +Ar&hÄ«vs: +PÄr&veidoÅ¡anas režīms: +ArhÄ«va &formÄts: +&SaspieÅ¡anas lÄ«menis: +&SaspieÅ¡anas paņēmiens: +&VÄrdnÄ«cas lielums: +VÄr&da lielums: + + +Parame&tri: +&UzstÄdÄ«jumi +Izveidot SF&X arhÄ«vu + + + +Å ifrÄ“t failu &nosaukumus +Atmiņa arhivēšanai: +Atmiņa atarhivēšanai: +4050 +UzkrÄÅ¡ana nesaspiežot +Ä€trÄkais +Ä€trais +Parastais +MaksimÄlÄ saspieÅ¡ana +Ultra +4060 +Pievienot un aizvietot failus +AtjauninÄt un pievienot failus +AtjauninÄt esoÅ¡os failus +SinhronizÄ“t failus +4070 +PÄrlÅ«koÅ¡ana +Visi faili + + +6000 +KopÄ“t +PÄrvietot +KopÄ“t uz: +PÄrvietot uz: +Kopēšana... +PÄrvietoÅ¡ana... +PÄrdÄ“vēšana... + +DarbÄ«ba nav atbalstÄ«ta. +Faila vai mapes pÄrdÄ“vēšanas kļūda + + +6100 +Faila dzēšanas apstiprinÄjums +Mapes dzēšanas apstiprinÄjums +VairÄku failu dzēšanas apstiprinÄjums +Vai piekrÄ«tat '{0}' dzēšanai? +Vai piekrÄ«tat mapes '{0}' un visa tÄs satura dzēšanai? +Vai piekrÄ«tat Å¡o {0} vienÄ«bu dzēšanai? +Dzēšana... +Faila vai mapes dzēšanas kļūda + +6300 +Mapes izveidoÅ¡ana +Faila izveidoÅ¡ana +Mapes nosaukums: +Faila nosaukums: +Jauna mape +Jauns fails +Mapes izveidoÅ¡anas kļūda +Faila izveidoÅ¡anas kļūda +6400 +PiezÄ«mes +&PiezÄ«mes: +IezÄ«mēšana +IezÄ«mÄ“juma atcelÅ¡ana +Å ablons: +6600 + +Mapju vÄ“sture +Diagnostikas paziņojumi +Paziņojums +7100 +Dators +TÄ«kls + +SistÄ“ma +7200 +Ievietot +Izvilkt +PÄrbaude +KopÄ“t +PÄrvietot +DzÄ“st +Info +7300 +SadalÄ«t failu +&DalÄ«t uz: +&DalÄ«t sÄ“jumos, baitos: +Dalīšana... + + + + + +7400 +Apvienot failus +&Apvienot uz: +ApvienoÅ¡ana... + + + +7500 + + + + +7600 +DarpspÄ“jÄ«bas pÄrbaude +Atmiņas pielietojums: +Arhivēšana +Atarhivēšana +VÄ“rtÄ“jums +KopÄ“jais vÄ“rtÄ“jums +PatreizÄ“jais +RezultÄ“joÅ¡ais + + +IzdoÅ¡anÄs: diff --git a/Utils/7-Zip/Lang/mk.txt b/Utils/7-Zip/Lang/mk.txt new file mode 100644 index 000000000..f2d7a0b92 --- /dev/null +++ b/Utils/7-Zip/Lang/mk.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.09 : Gabriel Stojanoski +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Macedonian +МакедонÑки +401 +Ок +Откажи + + + +&Да +&Ðе +&Затвори +Помош + +П&родолжи +440 +Да &Сите +Ðе Ð&иедна +Стоп +РеÑтартирај +По&задина +&Ðапред +&Пауза +Паузирано +Дали Ñигурно Ñакате да откажете? +500 +&Датотека +&Уреди +&Изглед +&Омилени +&Ðлатки +&Помош +540 +&Отвори +Отвори &Внатре +Отвори &Ðадвор +&Поглед +&Уреди +&Преименувај +&Копирај Во... +&ПремеÑти Во... +&Избриши +&Подели датотека... +Ком&бинирај датотеки... +&КарактериÑтики +К&оментар + + +Креирај Директориум +Креирај Датотека +&Излези +600 +Селектирај &Се +ДеÑелектирај Се +&Обратна Селекција +Селектирај... +ДеÑелектирај... +Селектирај по Тип +ДеÑелектирај по Тип +700 +&Големи Икони +&Мали Икони +&ЛиÑта +&Детали +730 +Ðеподредени + +&2 Панели +&Ðлатници +Отвори го оÑновниот директориум +Едно Ðиво Ðагоре +ИÑторија на Директориумите... +&Обнови +750 +Ðлатница на Ðрхивата +Стандардна Ðлатница +Големи Копчиња +ТекÑÑ‚ Ðа Копчињата +800 +&Додади го директориумот во Омилени +Забелешки +900 +&Опции... +&ТеÑÑ‚ +960 +&Содржина... +&За 7-Zip... +1003 +Патека +Име +ЕкÑтензија +Директориум +Големина +Пакувана Големина +Ðтрибути +Креирано +ПриÑтапено +Променето +ЦелоÑна +ОбјаÑнета +Енкриптирана +Подели Пред +Подели ПоÑле +Речник +CRC +Тип +Ðнти +Метод +Оперативен СиÑтем +Датотечен СиÑтем +КориÑник +Група +Блок +Коментар +Позиција + + + + + + + + + + + + + + + + + + + + + + + + + +Грешка +Вкупна Големина +Слободен ПроÑтор +Голем на КлаÑтерите +Етикета +Име +Провајдер +2100 +Опции +Јазик +Јазик: +Едитор +&Едитор: + +2200 +СиÑтем +Придружи го 7-Zip Ñо: +2301 +Интегрирај го 7-Zip во додатно мени +КаÑкадно додатно мени +Во додатното мени: +2320 +<Директориум> +<Ðрхива> +Отвори архива +Отпакувај датотеки... +Додади во Ðрхива... +ТеÑтирај архива +Отпакувај овде +Отпакувај во {0} +Додади во {0} +КомпреÑирај и прати на e-mail... +КомпреÑирај во {0} и иÑпрати +2400 +Директориуми +&Работен директориум +&СиÑтемÑки привремен директориум +&Моментален +&Одреди: +Само за преноÑни уреди +Одреди локација за привремените архивÑки датотеки. +2500 +ПодеÑувања +Прикажи ".." предмет +Прикажи виÑтинÑки икони +Прикажи ÑиÑтемÑко мени +&Селектирај &цел ред +Прикажи &мрежа + + + +2900 +За 7-Zip +7-Zip е беÑплатен архивер. Меѓутоа, вие можете да дадете поддршка на понатамошното развивање на 7-Zip Ñо вашето региÑтрирање. +3000 + +Ðема грешки +{0} објект(и) избрано +Ðе е можно креирање на директориумот '{0}' +Оваа операција не е поддржана за овој тип на архива. + + + + +Датотеката '{0}' е модифицирана.\nДали Ñакате да ја обновите во архивата? +Ðе е можно обновување на датотеката\n'{0}' +Грешка при Ñтартување на Едиторот. + + + + +Премногу објекти +3300 +Отпакување +КомпреÑирање +ТеÑтирање +Отворање... + +3400 +Отпакувај +Отпакувај &во: +Одреди локација за отпакуваните датотеки. +3410 +Патеки +ЦелоÑна патека +Без патека +3420 +Презапишување +Прашај пред да презапишеш +Презапиши без прашување +ИзоÑтави поÑтоечки датотеки +ÐвтоматÑки преименувај +ÐвтоматÑки преименувај поÑтоечки датотеки +3500 +Потврди Замена на Датотеки +Конечниот директориум веќе ја Ñодржи датотеката. +Дали Ñакате да ја замените поÑтоечката датотека +Ñо оваа? +{0} бајти +&ÐвтоматÑки преименувај +3700 +Ðеподдржан метод за компреÑија за '{0}'. +Грешка во податоците во '{0}'. Датотеката е оштетена. +CRC грешка во '{0}'. Датотеката е оштетена. + + +3800 +ВнеÑи лозинка +ВнеÑи лозинка: + +&Прикажи ја лозинката + + + +Лозинка +3900 +Поминато време: +ПреоÑтанато време: +Големина: +Брзина: + + +Грешки: + +4000 +Додади во архива +&Ðрхива: +&Додавање: +&Формат на Ðрхива: +&Ðиво на компреÑија: +&Метод на компреÑија: +Големина на &речникот: +Големина на &зборот: + + +&Параметри: +Опции +Креирај SFX ар&хива + + + +&Енкриптирај ги имињата +ИÑкориÑÑ‚ мемор за компреÑ: +ИÑкориÑÑ‚ мемор за декомпреÑ: +4050 +Спакувај +Ðајбрзо +Брзо +Ðормално +МакÑимално +Ултра +4060 +Додади и замени датотеки +Обнови и додади датотеки +Обнови ги поÑтоечките датотеки +Синхронизирај ги датотеките +4070 +Барај +Сите Датотеки + + +6000 +Копирај +ПремеÑти +Копирај Во: +ПремеÑти Во: +Копирање... +ПремеÑтување... +Преименување... + +ПоÑтапката не е поддржана. +Грешка при преименувањето на Датотеката или Директориумот + + +6100 +Потврдете го Бришењето на Датотеката +Потврдете го Бришењето на Директориумот +Потврдете го бришењето на повеќе датотеки +Дали Ñте Ñигурни за бришењето на '{0}'? +Дали Ñте Ñигурни за бришењето на директориумот '{0}' и неговата Ñодржина? +Дали Ñте Ñигурни за бришењето на овие {0} датотеки? +Бришење... +Грешка при бришењето на Датотеката или Директориумот + +6300 +Креирај Директориум +Креирај датотека +Име на Директориумот: +Име на Датотеката: +Ðов Директориум +Ðова датотека +Грешка при креирањето на Директориумот +Грешка при креирањето на датотеката +6400 +Коментар +&Коментар: +Селектирај +ДеÑелектитај +МаÑкирај: +6600 + +ИÑторија на Директориумите +Дијагноза +Порака +7100 +Компјутер +Мрежа + +СиÑтем +7200 +Додади +Отпакувај +ТеÑтирај +Копирај +ПремеÑти +Избриши +Инфо +7300 +Подели датотека +&Подели на: +&Подели на делови, бајти: +Делење... + + + + + +7400 +СоÑтави Датотеки +&СоÑтави на: +СоÑтавување... + + + +7500 + + + + +7600 +ТеÑÑ‚ +ИÑкориÑÑ‚ Меморија: +КомпреÑирање +ДекомпреÑирање +Проценка +Вкупна Проценка +Моментално +Резултат + + +Поминато: diff --git a/Utils/7-Zip/Lang/mn.txt b/Utils/7-Zip/Lang/mn.txt new file mode 100644 index 000000000..9ab889ebf --- /dev/null +++ b/Utils/7-Zip/Lang/mn.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 3.12 : Bayar +; : Bayarsaikhan +; +; +; +; +; +; +; +; +; +0 +7-Zip +Mongolian +Монгол Ñ…Ñл +401 +За +Болих + + + +&Тийм +&Үгүй +&Хаах +ТуÑламж + +&ҮргÑлжлүүл +440 +Бүг&д тийм +Бүгд Ò¯&гүй +Ð—Ð¾Ð³Ñ +Дахин ачаалла +&ÐÑ€ талд +&Өмнө тал +&Түр Ð·Ð¾Ð³Ñ +Түр зогÑлоо +Та үнÑÑ…ÑÑÑ€ болих гÑж байна уу? +500 +&Файл +&ЗаÑах +&ҮзүүлÑÑ… +Д&уртай зүйл +&Ð¥ÑÑ€ÑгÑлүүд +&ТуÑламж +540 +&ÐÑÑÑ… +Дотор &нÑÑÑ… +Гадна &нÑÑÑ… +&Харах +&ЗаÑварлах +ÐÑÑ€ Ñ&олих +...Ñ€Ò¯Ò¯ &Хуулах... +...руу &Зөөх... +&УÑтгах +&Файл хуваах... +Файлуудыг нÑгтгÑÑ…... +&МÑдÑÑлÑл үзÑÑ… +Тай&лбар + + +Ð¥Ð°Ð²Ñ‚Ð°Ñ Ò¯Ò¯ÑгÑÑ… +Файл Ò¯Ò¯ÑгÑÑ… +Га&рах +600 +Бүгдийг Ñо&нгох +Сонгохоо болих +&Сонголтоо Ñргүүл +Сонгох... +Сонгохгүй... +Төрлөөр нь Ñонгох +Төрлөөр нь Ñонгохгүй +700 +Том& дүрÑүүд +Жи&жиг дүрÑүүд +&ЖагÑаалт +&ДÑлгÑÑ€Ñнгүй +730 +Ðнгилаагүй + +&2 Ñамбарууд +&Багажны Ñамбар +Гол хавтÑыг нÑÑÑ… +ÐÑг төвшин дÑÑш +ХавтаÑны түүх... +&СÑргÑÑ +750 +Aрхив багажны Ñамбар +Стандарт багажны Ñамбар +Том товчлуурууд +Товчлуурын текÑтийг үзүүл +800 +&ХавтÑыг дуртайдаа нÑмÑÑ… Ò¯Ò¯ +Хавчуурга +900 +&Сонголтууд... +&БÑнчмарк +960 +&Ðгуулгууд... +&7-Зип-ийн тухай... +1003 +Зам +ÐÑÑ€ +Өргөтгөл +Ð¥Ð°Ð²Ñ‚Ð°Ñ +Ð¥ÑмжÑÑ +БагцалÑан Ñ…ÑмжÑÑ +Чанар +Ò®Ò¯ÑгÑÑÑн +ХандÑан +ӨөрчилÑөн +Баталгаатай +Тайлбар хийгдÑÑн +ÐууцлагдÑан +Өмнө хувааÑан +Дараа хувааÑан +Толь бичиг +CRC +Төрөл +ЭÑÑ€Ñг +Ðрга +ХоÑÑ‚ ҮС +Файл ÑиÑтем +Ð¥ÑÑ€ÑглÑгч +БүлÑг +Түгжих +Тайлбар +Байрлал + + + + + + + + + + + + + + + + + + + + + + + + + +Ðлдаа +Ðийт Ñ…ÑмжÑÑ +ХооÑон зай +КлаÑтерын зай +ÐÑÑ€ +Локаль ÐÑÑ€ +Хангагч +2100 +Сонголтууд +Ð¥Ñл +Ð¥Ñл: +ЗаÑварлагч +&ЗаÑварлагч: + +2200 +СиÑтем +7-Зипийг дараахтай нÑгтгÑÑ…: +2301 +7-Зип-ийг шелл контекÑÑ‚ цÑÑÑ‚Ñй нийлүүлÑÑ… +КонтекÑÑ‚ цÑÑийг цувуулан харуул +КонтекÑÑ‚ цÑÑийн төрлүүд: +2320 +<ХавтаÑ> + +Ðрхив нÑÑÑ… +Файлуудыг задал... +Ðрхивт нÑм... +Ðрхивийн шалгалт +Энд задал +{0} руу задал +{0} Ñ€Ò¯Ò¯ нÑм +Шахах ба Шуудандах... +{0} Ñ€Ò¯Ò¯ шахах ба Шууданд +2400 +ХавтÑууд +&Ðжлын Ñ…Ð°Ð²Ñ‚Ð°Ñ +&СиÑтем\завÑрын Ñ…Ð°Ð²Ñ‚Ð°Ñ +&Одоогийн +&ТодорхойлÑон: +Зөвхөн зөөврийн төхөөрөмж Ñ…ÑÑ€ÑглÑÑ… +ЗавÑрын архив файл Ò¯Ò¯ÑгÑÑ… байрлалыг тодорхойл. +2500 +Тохируулгууд +Зүйл ".." үзүүлÑÑ… +ЖинхÑÐ½Ñ Ñ„Ð°Ð¹Ð» дүрÑийг харуулах +СиÑтемийн цÑÑ Ñ…Ð°Ñ€ÑƒÑƒÐ» +&БүтÑн мөр Ñонгох +&Мөрийн дундах Ð·ÑƒÑ€Ð°Ð°Ñ Ñ…Ð°Ñ€ÑƒÑƒÐ»Ð°Ñ… + +&СайжруулÑан Сонгох горим +&Том Ñанах ойн Ñ…ÑƒÑƒÐ´Ð°Ñ Ñ…ÑÑ€ÑглÑÑ… +2900 +7-Zip-ийн тухай +7-Zip бол үнÑгүй програм. ГÑлÑÑ Ñ‡ та 7-Зип-д бүртгүүлÑн хөгжүүлÑгчдийг дÑмжиж болно. БүртгүүлÑÑн Ñ…ÑÑ€ÑглÑгчид техникийн дÑмжлÑг авах болно. +3000 + +Ðлдаа алга байна +{0} зүйл(үүд) ÑонгогдÑон байна +Ð¥Ð°Ð²Ñ‚Ð°Ñ Ò¯Ò¯ÑгÑж чадахгүй '{0}' +ДÑмжигдÑÑгүй архивийг задлах шинÑчлÑлт хийх. + + + + +Файл '{0}' өөрчлөгдлөө.\nТа архивт шинÑчлÑлт хиймÑÑÑ€ байна уу? +Файлыг шинÑчилж чадÑангүй\n'{0} +ЗаÑварлагчийг нÑÑж чадÑангүй. + + + + +ДÑндүү их юм байна +3300 +Задалж байна... +Шахаж байна +Шалгаж байна +ÐÑÑж байна... + +3400 +Задал +З&адлах газар: +ЗадалÑан файлуудын байрлалыг тодорхойл. +3410 +Замын горим +БүтÑн замын нÑÑ€ +Параметр алга +3420 +Давхарлаж бичих горим +Давхарлаж бичхÑÑÑÑÑ Ó©Ð¼Ð½Ó© аÑуух +ÐÑуултгүй давхарлаж бичих +Байгаа файлыг алгаÑах +Ðвтоматаар нÑÑ€ Ñолих +Байвал нÑрийг нь Ñолих +3500 +Файл дахин байрлуулахыг батлах +Ð¥Ð°Ð²Ñ‚Ð°Ñ Ñ„Ð°Ð¹Ð»Ñ‹Ð³ агуулÑан байна. +Байгаа файлуудыг дахин байрлуулах уу +ЭнүүнтÑй юу? +{0} битүүд +A&втомат нÑÑ€ Ñолих +3700 +Дараах файлд шахалтын арга дÑмжигдÑÑгүй байна '{0}'. +'{0}'өгөгдлийн алдаа. Файл ÑвдÑÑ€ÑÑн байна. +'{0}'CRC бүтÑÑнгүй. Файл ÑвдÑÑ€ÑÑн байна. + + +3800 +Ðууц үгÑÑ Ð¾Ñ€ÑƒÑƒÐ»Ð°Ñ… +Ðууц үгÑÑ Ð¾Ñ€ÑƒÑƒÐ»Ð°Ñ…: + +&Ðууц үг харуулах + + + +Ðууц үг +3900 +ӨнгөрÑөн хугацаа: +ҮлдÑÑн хугацаа: +Ð¥ÑмжÑÑ: +Хурд: + + +Ðлдаанууд: + +4000 +Ðрхивт нÑм +&Aрхив: +&ШинÑчлÑÑ… горим: +Ðрхив &өргөтгөл: +Шахалтын &төвшин: +Шахах &арга: +&Толь бичгийн Ñ…ÑмжÑÑ: +&Үгийн Ñ…ÑмжÑÑ: + + +&Параметерүүд: +Сонголтууд +SF&X архив Ò¯Ò¯ÑгÑÑ… + + + +&Файлын нÑрүүдийг нууцал +Шахаж байгаа Ñанах ойн Ñ…ÑÑ€ÑглÑÑ: +Задалж байгаа Ñанах ойн Ñ…ÑÑ€ÑглÑÑ: +4050 +Хадгалах +ДÑÑд хурданаар +Хурдан +Энгийн +ДÑÑд Ñ…ÑмжÑÑгÑÑÑ€ +Ултра +4060 +ÐÑмÑÑ… ба дахин байрлуулах +ШинÑчлÑÑ… ба дахин байрлуулах +Байгаа файлуудыг дахин унших +Файлуудыг тааруулах +4070 +ÐÑгжих +Бүх файлууд + + +6000 +Хуулах +Зөөх +хуулахдаа: +Зөөхдөө: +Хуулж байна... +Зөөж байна... +ÐÑÑ€ Ñолиж байна... + +ҮйлдÑл дÑмжигдÑÑгүй байна. +Файл болон хавтÑын нÑрийг Ñолиход алдаатай +Файл хуулахыг магадлах +Та үнÑÑ…ÑÑÑ€ файлуудыг архив руу хуулахыг Ñ…Ò¯ÑÑж байна уу +6100 +Файл уÑтгахыг батал +Ð¥Ð°Ð²Ñ‚Ð°Ñ ÑƒÑтгахыг батал +Олон файл уÑтгахыг батал +Та'{0}'-ийг уÑтгах гÑж байна уу? +'{0}' Ñ…Ð°Ð²Ñ‚Ð°Ñ Ð±Ð¾Ð»Ð¾Ð½ бүх агуулгыг уÑтгах гÑж байна уу? +{0} зүйлүүдийг уÑтгах гÑж байна уу? +УÑтгаж байна... +Файл болон хавтÑыг уÑтгахад алдаатай + +6300 +Ð¥Ð°Ð²Ñ‚Ð°Ñ Ò¯Ò¯ÑгÑÑ… +Файл Ò¯Ò¯ÑгÑÑ… +Ð¥Ð°Ð²Ñ‚Ð°Ñ Ð½ÑÑ€: +Файл нÑÑ€: +Ð¨Ð¸Ð½Ñ Ñ…Ð°Ð²Ñ‚Ð°Ñ +Ð¨Ð¸Ð½Ñ Ñ„Ð°Ð¹Ð» +Ð¥Ð°Ð²Ñ‚Ð°Ñ Ò¯Ò¯ÑгÑÑ…Ñд алдаа гарав +Файл Ò¯Ò¯ÑгÑÑ…Ñд алдаа гарав +6400 +Тайлбар +&Тайлбар: +Сонгох +Сонгохгүй +MaÑк: +6600 + +ХавтÑын түүх +ШинжилгÑÑний Ð·ÑƒÑ€Ð²Ð°Ñ +Ð—ÑƒÑ€Ð²Ð°Ñ +7100 +Компьютер +СүлжÑÑ + +СиÑтем +7200 +ÐÑм +Задал +Шалгах +Хуулах +Зөөх +УÑтгах +Шинж... +7300 +Хуваах файл: +&Файл хуваах газар: +ЭзлÑхүүн Ñ€Ò¯Ò¯ хуваах, битүүд: +Хувааж байна... + + + + + +7400 +ÐÑгтгÑÑ… файлууд: +&ÐÑгтгÑÑ… газар: +ÐÑгтгÑж байна... + + + +7500 + + + + +7600 +БÑнчмарк +Санах ойн Ñ…ÑÑ€ÑглÑÑ: +Шахаж байна +Задалж байна +ҮнÑлж байна +Ðийт үнÑлгÑÑ +Одоогийн +Хариуг гаргаж байна + + +ӨнгөрÑөн: diff --git a/Utils/7-Zip/Lang/mng.txt b/Utils/7-Zip/Lang/mng.txt new file mode 100644 index 000000000..f0c0859df --- /dev/null +++ b/Utils/7-Zip/Lang/mng.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 7-Zip 9.20 +; Saqirilatu Mongolqileb +; QQ:136087084 Email:saqirilatu@126.com +; Mongol soft QQ bulug â… : 39338772 â…¡:38803882 +; Toli Mongolian IME +; http://hi.baidu.com/saqirilatuu/item/9438213716f316ebe7bb7a8d +;last updated: 2014-1-1 +; +; +; +; +0 +7-Zip +Mongolian (Unicode) +ᠮᠤᠩᠭᠤᠯ ᠬᠡᠯᠡ +401 +ᠲᠡᠭᠡ +ᠤᠰᠠᠳᠬᠠᠬᠤ + + + +ᠲᠡᠭᠡ (&Y) +ᠪᠣᠯᠢ (&N) +ᠬᠠᠭᠠᠬᠤ (&C) +ᠬᠠᠪᠰᠤᠷᠤᠮᠵᠢ + +ᠵᠠᠯᠭᠠᠭᠠᠳ (&C) +440 +ᠪᠦᠭᠦᠳᠡ ᠲᠡᠭᠡ (&A) +ᠪᠦᠭᠦᠳᠡ ᠪᠣᠯᠢ (&L) +ᠵᠣᠭᠰᠣᠭᠠᠬᠤ +ᠳᠠᠬᠢᠨ ᠡᠬᠢᠯᠡᠬᠦ +á  á ·á ¤ ᠲᠠᠯ᠎ᠠ (&B) +ᠡᠮᠦᠨ᠎ᠡ ᠲᠠᠯ᠎ᠠ (&F) +ᠵᠣᠭᠰᠣᠭᠠᠬᠤ (&P) +ᠨᠢᠭᠡᠨᠲᠡ ᠵᠣᠭᠰᠣᠪᠠ +ᠲᠠ ᠦᠨᠡᠬᠡᠷ ᠤᠰᠠᠳᠬᠠᠬᠤ ᠦᠦ ︖ +500 +ᠹᠠᠶᠢᠯ (&F) +ᠨᠠᠶᠢᠷᠠᠭᠤᠯᠬᠤ (&E) +ᠦᠵᠡᠬᠦ (&V) +ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤ (&A) +ᠪᠠᠭᠠᠵᠢ (&T) +ᠬᠠᠪᠰᠤᠷᠤᠮᠵᠢ (&H) +540 +ᠨᠡᠭᠡᠭᠡᠬᠦ (&O) +ᠣᠳᠣᠬᠢ ᠴᠣᠩᠬᠣ  ᠶᠢ ᠨᠡᠭᠡᠭᠡᠬᠦ (&I) +ᠰᠢᠨ᠎ᠡ ᠴᠣᠩᠬᠣ ᠪᠠᠶᠢᠭᠤᠯᠤᠭᠠᠳ ᠨᠡᠭᠡᠭᠡᠬᠦ (&U) +ᠵᠢᠷᠤᠭ ᠦᠵᠡᠬᠦ (&V) +ᠨᠠᠶᠢᠷᠠᠭᠤᠯᠬᠤ (&E) +ᠲᠠᠬᠢᠨ ᠨᠡᠷᠡᠯᠡᠬᠦ (&M) +ᠬᠣᠣᠰᠯᠠᠬᠤ (&C) +ᠰᠢᠯᠵᠢᠭᠦᠯᠬᠦ (&M) +ᠤᠰᠠᠳᠬᠠᠬᠤ (&D) +ᠹᠠᠶᠢᠯ ᠬᠤᠪᠢᠶᠠᠬᠤ (&S)... +ᠹᠠᠶᠢᠯ  ᠢ ᠨᠡᠶᠢᠯᠡᠭᠦᠯᠬᠦ (&B)... +ᠰᠢᠨᠵᠢ ᠴᠢᠨᠠᠷ (&R) +ᠲᠠᠶᠢᠯᠪᠤᠷᠢ (&N) +ᠹᠠᠶᠢᠯ ᠰᠢᠯᠭᠠᠬᠤ +ᠹᠠᠶᠢᠯ ᠠᠳᠠᠯᠢᠳᠬᠠᠬᠤ +ᠰᠢᠨ᠎ᠡ ᠬᠠᠪᠲᠠᠰᠤ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ +ᠹᠠᠶᠢᠯ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ +ᠭᠠᠷᠬᠤ (&X) +600 +ᠪᠦᠬᠦᠨ  ᠢ ᠰᠣᠩᠭᠣᠬᠤ (&A) +ᠪᠦᠬᠦᠨ  ᠢ ᠤᠰᠠᠳᠬᠠᠬᠤ +á ¡á °á ¡á ·á ­á ¦ ᠰᠣᠩᠭᠣᠬᠤ (&I) +ᠰᠣᠩᠭᠣᠬᠤ ... +ᠤᠰᠠᠳᠬᠠᠬᠤ ᠪᠠᠨ ᠰᠣᠩᠭᠣᠬᠤ ... +ᠠᠳᠠᠯᠢ ᠬᠡᠯᠪᠡᠷᠢ  ᠶᠢᠨ ᠹᠠᠶᠢᠯ  ᠢ ᠰᠣᠩᠭᠣᠬᠤ +ᠠᠳᠠᠯᠢ ᠬᠡᠯᠪᠡᠷᠢ  ᠶᠢᠨ ᠹᠠᠶᠢᠯ  ᠢ ᠤᠰᠠᠳᠬᠠᠬᠤ +700 +ᠶᠡᠬᠡ ᠵᠢᠷᠤᠭ (&G) +ᠪᠠᠭ᠎ᠠ ᠵᠢᠷᠤᠭ (&M) +ᠵᠢᠭᠰᠠᠭᠠᠬᠤ (&L) +ᠨᠠᠷᠢᠨ ᠠᠭᠤᠯᠭ᠎ᠠ (&D) +730 +ᠮᠥᠷᠯᠡᠬᠦ ᠦᠭᠡᠢ +ᠲᠡᠭᠰᠢ ᠬᠡᠪ +ᠬᠣᠣᠰ ᠨᠢᠭᠤᠷ (&2) +ᠪᠠᠭᠠᠵᠢ  ᠶᠢᠨ ᠰᠠᠮᠪᠠᠷ᠎ᠠ (&T) +ᠦᠨᠳᠦᠰᠦ ᠬᠠᠪᠲᠠᠰᠤ ᠨᠡᠭᠡᠭᠡᠬᠦ +ᠳᠡᠭᠡᠭᠰᠢ +ᠬᠠᠪᠲᠠᠰᠤᠨ â€á £ ᠲᠡᠦᠬᠡ ... +ᠰᠢᠨᠡᠳᠬᠡᠬᠦ (&R) +750 +ᠳᠠᠩᠰᠠᠨ â€á £ ᠪᠠᠭᠠᠵᠢ  ᠶᠢᠨ ᠰᠠᠮᠪᠠᠷ᠎ᠠ +ᠪᠠᠷᠢᠮᠵᠢᠶ᠎ᠠ ᠪᠠᠭᠠᠵᠢ  ᠶᠢᠨ ᠰᠠᠮᠪᠠᠷ᠎ᠠ +ᠶᠡᠬᠡ ᠳᠠᠷᠤᠪᠴᠢ +ᠳᠠᠷᠤᠪᠴᠢ  ᠶᠢᠨ ᠦᠰᠦᠭ ᠢᠯᠡᠷᠡᠬᠦ +800 +ᠬᠠᠳᠠᠭᠠᠯᠠᠮᠵᠢ ᠲᠠᠭᠠᠨ ᠨᠡᠮᠡᠬᠦ (&A) +ᠱᠣᠰᠢᠭ᠎ᠠ +900 +ᠰᠣᠩᠭᠣᠯᠲᠠ (&O) +ᠥᠭᠭᠦᠭᠳᠡᠯ ᠰᠢᠯᠭᠠᠯᠲᠠ (&B) +960 +ᠬᠠᠪᠰᠤᠷᠤᠮᠵᠢ ᠦᠵᠡᠬᠦ (&C) +7-Zip â€á £ ᠲᠤᠬᠠᠢ (&A) +1003 +ᠵᠠᠮ +ᠨᠡᠷᠡᠶᠢᠳᠦᠯ +ᠥᠷᠭᠡᠳᠭᠡᠭᠰᠡᠨ ᠨᠡᠷ᠎ᠡ +ᠬᠠᠪᠲᠠᠰᠤ +ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠠᠪᠴᠢᠶᠠᠭᠰᠠᠨ â€á £ ᠳᠠᠷᠠᠭᠠᠬᠢ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠰᠢᠨᠵᠢ ᠴᠢᠨᠠᠷ +ᠪᠠᠶᠢᠭᠤᠯᠤᠭᠰᠠᠨ á ´á  á ­ +ᠦᠵᠡᠭᠰᠡᠨ á ´á  á ­ +ᠵᠠᠰᠠᠭᠰᠠᠨ á ´á  á ­ +ᠬᠠᠳᠠᠭᠤᠷ +ᠲᠠᠶᠢᠯᠪᠤᠷᠢ +ᠪᠠᠲᠤᠵᠢᠭᠤᠯᠬᠤ +ᠡᠮᠦᠨ᠎ᠡ ᠨᠢ ᠬᠤᠪᠢᠶᠠᠬᠤ +ᠰᠡᠭᠦᠯᠡᠷ ᠨᠢ ᠬᠤᠪᠢᠶᠠᠬᠤ +ᠲᠣᠯᠢ ᠪᠢᠴᠢᠭ  ᠦᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +CRC +ᠲᠥᠷᠥᠯ +ᠠᠷᠢᠯᠭᠠᠬᠤ ᠵᠦᠢᠯ +ᠲᠣᠭᠠᠴᠠᠬᠤ á  á ·á ­á Žá   +ᠭᠣᠣᠯ ᠠᠵᠢᠯᠯᠠᠬᠤ ᠰᠢᠰᠲ᠋ᠧᠮ +ᠹᠠᠶᠢᠯ  ᠤᠨ ᠰᠢᠰᠲ᠋ᠧᠮ +ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ +ᠪᠦᠯᠦᠭ +ᠥᠰᠦᠭ  ᠦᠨ ᠬᠡᠰᠡᠭ +ᠲᠠᠶᠢᠯᠪᠤᠷᠢ +ᠣᠷᠣᠨ ᠲᠣᠭᠲᠠᠭᠠᠬᠤ +ᠵᠠᠮ  ᠤᠨ ᠡᠮᠦᠨ᠎ᠡ ᠬᠡᠰᠡᠭ +ᠬᠠᠪᠲᠠᠰᠤ +ᠹᠠᠶᠢᠯ +ᠬᠡᠪ +ᠡᠪᠬᠡᠮᠡᠯ +ᠣᠯᠠᠨ ᠡᠪᠬᠡᠮᠡᠯ ᠠᠪᠴᠢᠭᠤᠯᠬᠤ +ᠬᠠᠵᠠᠭᠠᠢ ᠰᠢᠯᠵᠢᠭᠦᠯᠬᠦ +ᠵᠠᠯᠭᠠᠬᠤ +ᠥᠰᠦᠭ  ᠦᠨ ᠬᠡᠰᠡᠭ +ᠡᠪᠬᠡᠮᠡᠯ ᠬᠤᠪᠢᠶᠠᠬᠤ + +64 ᠣᠷᠣᠨ +ᠶᠡᠬᠡ ᠦᠰᠦᠭ  ᠦᠨ ᠬᠡᠰᠡᠭ  ᠦᠨ ᠳᠠᠷᠠᠭᠠᠯᠠᠯ +CPU +ᠹᠢᠽᠢᠺ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠹᠠᠶᠢᠯ  ᠤᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠨᠡᠶᠢᠯᠡᠪᠦᠷᠢ  ᠶᠢ ᠰᠢᠯᠭᠠᠬᠤ +ᠣᠨᠴᠠᠯᠢᠭ +ᠬᠡᠶᠢᠰᠪᠦᠷᠢ ᠬᠠᠶ᠋ᠢᠭ +ID +ᠵᠢᠭᠠᠬᠠᠨ ᠹᠠᠶᠢᠯ  ᠤᠨ ᠨᠡᠷ᠎ᠡ +ᠫᠷᠦᠭᠷᠡᠮ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ +ᠳᠡᠪᠢᠭᠦᠷ  ᠦᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠬᠡᠪ ᠵᠠᠭᠪᠤᠷ +ᠵᠠᠯᠭᠠᠬᠤ +ᠪᠤᠷᠤᠭᠤ +ᠶᠡᠷᠤᠩᠬᠡᠢ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠬᠡᠷᠡᠭᠯᠡᠭᠰᠡᠨ ᠣᠷᠣᠨ ᠵᠠᠢ +ᠪᠠᠭᠴᠠ  ᠶᠢᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠡᠪᠬᠡᠮᠡᠯ  ᠦᠨ ᠲᠡᠮᠳᠡᠭ +ᠲᠤᠰ ᠭᠠᠵᠠᠷ  ᠤᠨ ᠨᠡᠷᠡᠶᠢᠳᠦᠯ +ᠬᠠᠩᠭᠠᠭᠴᠢ +2100 +ᠰᠣᠩᠭᠣᠯᠲᠠ +ᠬᠡᠯᠡ +ᠬᠡᠯᠡ ᠰᠣᠩᠭᠣᠬᠤ᠄ +ᠨᠠᠶᠢᠷᠠᠭᠤᠯᠤᠭᠴᠢ +ᠲᠣᠭᠲᠠᠭᠰᠠᠨ ᠨᠠᠶᠢᠷᠠᠭᠤᠯᠤᠭᠴᠢ (&E): +ᠲᠣᠭᠲᠠᠭᠰᠠᠨ ᠹᠠᠶᠢᠯ  ᠢ ᠠᠳᠠᠯᠢᠳᠬᠠᠬᠤ (&D): +2200 +ᠰᠢᠰᠲ᠋ᠧᠮ +7-Zip ᠪᠠᠷ ᠹᠠᠶᠢᠯ  ᠤᠨ ᠲᠥᠷᠥᠯ  ᠢ ᠬᠣᠯᠪᠣᠭᠳᠠᠭᠤᠯᠬᠤ á „ +2301 +7-Zip á ¶á ‹á ¢ ᠪᠠᠷᠠᠭᠤᠨ ᠳᠠᠷᠤᠪᠴᠢ ᠳ᠋ᠥ ᠨᠡᠮᠡᠬᠦ +ᠪᠠᠷᠠᠭᠤᠨ ᠳᠠᠷᠤᠪᠴᠢ ᠳ᠋ᠥ ᠳᠠᠪᠬᠤᠴᠠᠭᠤᠯᠬᠤ +ᠪᠠᠷᠠᠭᠤᠨ ᠳᠠᠷᠤᠪᠴᠢ ᠳ᠋ᠥ ᠢᠯᠡᠷᠡᠬᠦ ᠺᠣᠳ᠋  ᠢ ᠰᠣᠩᠭᠣᠬᠤ +2320 +<ᠬᠠᠪᠲᠠᠰᠤ > +< ᠡᠪᠬᠡᠮᠡᠯ > +ᠠᠪᠴᠢᠮᠠᠯ  ᠢ ᠨᠡᠭᠡᠭᠡᠬᠦ +ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ  ᠢ á ­á  á ·á ­á  á ¨ ᠠᠪᠬᠤ ... +ᠠᠪᠴᠢᠮᠠᠯ ᠳ᠋ᠥ ᠨᠡᠮᠡᠬᠦ ... +ᠠᠪᠴᠢᠮᠠᠯ  ᠢ ᠰᠢᠯᠭᠠᠬᠤ +ᠳᠣᠣᠷᠠᠬᠢ á ­á  á ·á ´á  á ­ ᠳ᠋ᠥ á ­á  á ·á ­á  á ¨ ᠠᠪᠬᠤ +{0}ᠤᠷᠤᠭᠤ ᠵᠠᠳᠠᠯᠬᠤ +{0} ᠳ᠋ᠥ ᠨᠡᠮᠡᠬᠦ +ᠠᠪᠴᠢᠶᠠᠭᠠᠳ ᠢᠮᠸᠯ ᠶᠠᠪᠤᠭᠤᠯᠬᠤ ... +ᠠᠪᠴᠢᠶᠠᠭᠠᠳ {0}á ¶á ‹á ¢ ᠢᠯᠡᠭᠡᠬᠦ +2400 +ᠬᠠᠪᠲᠠᠰᠤ +ᠠᠵᠢᠯ  ᠤᠨ ᠬᠠᠪᠲᠠᠰᠤ (&W) +ᠰᠢᠰᠲ᠋ᠧᠮ \ ᠵᠠᠰᠠᠪᠤᠷᠢ  ᠶᠢᠨ ᠬᠠᠪᠲᠠᠰᠤ (&S) +ᠣᠳᠣ  ᠶᠢᠨ ᠬᠠᠪᠲᠠᠰᠤ (&C) +ᠲᠣᠭᠲᠠᠮᠠᠯ ᠪᠠᠶᠢᠷᠢ (&S) +ᠵᠥᠪᠬᠡᠨ ᠵᠥᠭᠡᠭᠡᠪᠦᠷᠢ  ᠶᠢᠨ ᠲᠥᠬᠥᠭᠡᠷᠦᠮᠵᠢ ᠳ᠋ᠥ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ +ᠲᠦᠷ á ´á  á ­  ᠤᠨ ᠠᠪᠴᠢᠮᠠᠯ ᠹᠠᠶᠢᠯ ᠡᠭᠦᠰᠬᠡᠬᠦ ᠪᠠᠶᠢᠷᠢᠯᠠᠯ  ᠢ ᠲᠣᠳᠣᠷᠬᠠᠶᠢᠯᠠᠯ +2500 +ᠢᠯᠡᠷᠡᠬᠦ +ᠢᠯᠡᠷᠡᠬᠦ “..†ᠵᠦᠢᠯ ( ᠳᠡᠭᠡᠭᠰᠢ ᠬᠣᠣᠰ ᠲᠣᠪᠴᠢᠳᠠᠭᠠᠳ ) +ᠦᠨᠡᠨ ᠵᠢᠷᠤᠭ ᠨᠢ ᠢᠯᠡᠷᠡᠬᠦ +ᠰᠢᠰᠲ᠋ᠧᠮ  ᠦᠨ ᠲᠣᠪᠶᠣᠭ ᠨᠢ ᠢᠯᠡᠷᠡᠬᠦ +ᠪᠦᠬᠦ ᠮᠥᠷ  ᠢ ᠰᠣᠩᠭᠣᠬᠤ (&F) +ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤᠲᠠᠰᠤ ᠢᠯᠡᠷᠡᠬᠦ (&G) +ᠲᠣᠪᠴᠢᠳᠠᠭᠠᠳ ᠨᠡᠭᠡᠭᠡᠬᠦ +7-Zip ᠤᠯᠠᠮᠵᠢᠯᠠᠯᠲᠤ ᠬᠡᠪ  ᠢ ᠰᠣᠩᠭᠣᠬᠤ (&A) +ᠶᠡᠬᠡ á ·á  á ®  ᠤᠨ ᠨᠢᠭᠤᠷ  ᠢ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ (&L) +2900 +7-Zip  ᠶᠢᠨ ᠲᠤᠬᠠᠢ +7-Zip ᠪᠣᠯ ᠲᠥᠯᠥᠪᠦᠷᠢ ᠦᠭᠡᠢ ᠰᠣᠹᠲ á ‚ ᠲᠠ ᠬᠠᠨᠳᠢᠪ  ᠤᠨ ᠬᠡᠯᠪᠡᠷᠢ ᠪᠠᠷ 7 -zip á ¶á ‹á ¢ ᠳᠡᠮᠵᠢᠵᠦ ᠪᠣᠯᠣᠨ᠎ᠠ á ‚ ᠮᠣᠩᠭᠣᠯ ᠰᠣᠹᠲ  ᠤᠨ ᠪᠦᠯᠦᠭ ᠨᠢᠭᠡ 39338772 ᠬᠣᠶᠠᠷ 38803882 ᠵᠢᠨ ᠰᠠᠴᠤᠷᠠᠯᠲᠤ ᠮᠣᠩᠭᠣᠯᠴᠢᠯᠠᠪᠠ á ‚ QQ 136087084 Email: saqirilatu@126.com +3000 +ᠰᠢᠰᠲ᠋ᠧᠮ á ·á  á ®  ᠢ ᠨᠢ ᠬᠤᠪᠢᠶᠠᠵᠤ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ +ᠪᠤᠷᠤᠭᠤ ᠦᠭᠡᠢ +{0}  ᠢ ᠰᠣᠩᠭᠣᠬᠤ +{0}†ᠬᠠᠪᠲᠠᠰᠤ ᠪᠠᠶᠢᠭᠤᠯᠵᠤ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ +ᠲᠣᠰ ᠠᠪᠴᠢᠮᠠᠯ  ᠤᠨ ᠰᠢᠨᠡᠳᠬᠡᠬᠦ  ᠶᠢ ᠳᠡᠮᠵᠢᠬᠦ ᠦᠭᠡᠢ +ᠠᠪᠴᠢᠮᠠᠯ ᠨᠡᠭᠡᠭᠡᠵᠦ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ {0}†+ᠪᠠᠲᠤ ᠠᠪᠴᠢᠮᠠᠯ ᠨᠡᠭᠡᠭᠡᠵᠦ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ “{0}†ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠪᠤᠷᠤᠭᠤ +ᠳᠡᠮᠵᠢᠬᠦ ᠦᠭᠡᠢ ᠠᠪᠴᠢᠮᠠᠯ  ᠤᠨ ᠬᠡᠯᠪᠡᠷᠢ +{0} ᠹᠠᠶᠢᠯ ᠨᠢᠭᠡᠨᠲᠡ ᠪᠠᠶᠢᠨ᠎ᠠ +ᠹᠠᠶᠢᠯ“{0}â€á ¥á ­á ¡á ·á ¡á ´á ¢á ¯á ¡á ­á ³á ¡á ªá ¡ \nᠲᠠ ᠠᠪᠴᠢᠮᠠᠯ  ᠳᠠᠬᠢ ᠹᠠᠶᠢᠯ  ᠢᠶᠠᠨ ᠰᠢᠨᠡᠳᠬᠡᠬᠦ ᠦᠦ ? +ᠹᠠᠶᠢᠯ  ᠢ ᠰᠢᠨᠡᠳᠬᠡᠵᠦ ᠳᠡᠶᠢᠯᠦᠭᠰᠡᠨ ᠦᠭᠡᠢ \n“{0}â€á ²á ¤á ° ᠠᠪᠴᠢᠮᠠᠯ ᠪᠤᠷᠤᠭᠤ á ­á  á ·á ´á  á ¢ +ᠭᠠᠳᠠᠨᠠᠬᠢ ᠨᠠᠶᠢᠷᠠᠭᠤᠯᠭ᠎ᠠ  ᠶᠢ ᠠᠵᠢᠯᠯᠠᠭᠤᠯᠵᠤ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ +ᠲᠤᠰ ᠹᠠᠶᠢᠯ ᠬᠣᠣᠷ ᠲᠠᠢ ( ᠹᠠᠶᠢᠯ  ᠤᠨ ᠨᠡᠷ᠎ᠡ ᠳ᠋ᠥ ᠣᠯᠠᠨ ᠬᠣᠭᠣᠰᠤᠨ ᠵᠠᠢ ᠪᠠᠶᠢᠨ᠎ᠠ )。 +ᠬᠡᠲᠦᠷᠬᠡᠢ ᠤᠷᠲᠤ á ‚ ᠠᠵᠢᠯᠯᠠᠭᠤᠯᠵᠤ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ +ᠲᠠ ᠵᠢᠭᠠᠪᠠᠯ ᠨᠢᠭᠡ ᠹᠠᠶᠢᠯ ᠰᠣᠩᠭᠣᠨ᠎ᠠ +ᠲᠠ ᠬᠠᠮᠤᠭ ᠪᠠᠭ᠎ᠠ  ᠳᠠᠭᠠᠨ ᠨᠢᠭᠡ ᠹᠠᠶᠢᠯ ᠰᠣᠩᠭᠣᠨ᠎ᠠ +ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ ᠬᠡᠲᠦᠷᠬᠡᠢ ᠣᠯᠠᠨ +3300 +á ¶á  á ­ á ­á  á ·á ­á  á ¨ ᠠᠪᠴᠤ ᠪᠠᠶᠢᠨ᠎ᠠ .... +ᠠᠪᠴᠢᠶᠠᠬᠤ +ᠰᠢᠯᠭᠠᠬᠤ +á ¶á ¡á ¬ ᠨᠡᠭᠡᠭᠡᠵᠦ ᠪᠠᠶᠢᠨ᠎ᠠ ... +ᠬᠠᠶᠢᠵᠤ ᠪᠠᠶᠢᠨ᠎ᠠ ... +3400 +á ­á  á ·á ­á  á ¨ ᠠᠪᠬᠤ +(&X)  ᠠᠴᠠ á ­á  á ·á ­á  á ¨ ᠠᠪᠬᠤ : +ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ  ᠢ á ­á  á ·á ­á  á ¨ ᠠᠪᠤᠭᠰᠠᠨ ᠬᠠᠪᠲᠠᠰᠤ  ᠶᠢᠨ ᠪᠠᠶᠢᠷᠢ +3410 +ᠵᠠᠮ  ᠤᠨ ᠬᠡᠯᠪᠡᠷᠢ +ᠪᠦᠷᠢᠨ ᠵᠠᠮ +ᠵᠠᠮ ᠦᠭᠡᠢ +3420 +ᠰᠣᠯᠢᠬᠤ ᠬᠡᠯᠪᠡᠷᠢ +ᠰᠣᠯᠢᠬᠤ  ᠠᠴᠠ ᠡᠮᠦᠨ᠎ᠡ ᠠᠰᠠᠭᠤᠨ᠎ᠠ +ᠰᠠᠨᠠᠭᠤᠯᠬᠤ ᠦᠭᠡᠢ ᠰᠢᠭᠤᠳ ᠰᠣᠯᠢᠬᠤ +ᠪᠠᠶᠢᠬᠤ ᠹᠠᠶᠢᠯ  ᠢ ᠥᠰᠦᠷᠬᠡᠶᠢᠯᠨᠨ ᠭᠠᠷᠬᠤ +ᠠᠦ᠋ᠲ᠋ᠣ᠋ ᠵᠢᠨᠷ ᠨᠡᠷᠡᠯᠡᠬᠦ +ᠣᠳᠣᠬᠢ ᠹᠠᠶᠢᠯ  ᠢᠶᠠᠨ ᠨᠡᠷᠡᠯᠡᠬᠦ +3500 +ᠹᠠᠶᠢᠯ  ᠢ ᠰᠣᠯᠢᠨ᠎ᠠ +ᠲᠣᠰ ᠬᠠᠪᠲᠠᠰᠤ ᠳ᠋ᠥ ᠠᠳᠠᠯᠢ ᠨᠡᠷᠡᠶᠢᠳᠦᠯ ᠲᠠᠢ ᠹᠠᠶᠢᠯ ᠪᠠᠶᠢᠨ᠎ᠠ +ᠣᠳᠣ ᠪᠠᠶᠢᠬᠤ ᠹᠠᠶᠢᠯ  ᠢᠶᠠᠨ +ᠰᠣᠯᠢᠬᠤ +{0}ᠦᠰᠦᠭ  ᠦᠨ ᠰᠢᠷᠬᠡᠭ +ᠠᠦ᠋ᠲ᠋ᠣ᠋ ᠰᠢᠨ᠎ᠡ ᠨᠡᠷᠡᠯᠡᠬᠦ (&U) +3700 +ᠳᠡᠮᠵᠢᠬᠦ ᠦᠭᠡᠢ ᠠᠪᠴᠢᠮᠠᠯ ᠲᠤᠭᠠᠴᠢᠯᠳᠠ “{0}â€ã€‚ +ᠲᠣᠭ᠎ᠠ ᠪᠠᠷᠢᠮᠲᠠ “{0}†ᠪᠤᠷᠤᠭᠤ á ­á  á ·á ´á  á ¢ á ‚ ᠹᠠᠶᠢᠯ ᠡᠪᠳᠡᠷᠡᠭᠰᠡᠨ á ¡ +CRC ᠰᠢᠯᠭᠠᠭᠠᠳ“{0}â€á ¢á ¯á  á ­á ³á  á µá  á ¢ á ‚ ᠹᠠᠶᠢᠯ ᠡᠪᠳᠡᠷᠡᠭᠰᠡᠨ á ¡ +ᠪᠠᠲᠤ ᠹᠠᠶᠢᠯ “{0}† ᠤᠨ ᠲᠣᠭ᠎ᠠ ᠪᠠᠷᠢᠮᠲᠠ ᠨᠢ ᠪᠤᠷᠤᠭᠤ á ‚ ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠪᠤᠷᠤᠭᠤ +ᠪᠠᠲᠤ ᠹᠠᠶᠢᠯ “{0}†CRC  ᠵᠢᠨ ᠰᠢᠯᠭᠠᠭᠰᠠᠨ ᠲᠣᠭ᠎ᠠ ᠪᠠᠷᠢᠮᠲᠠ ᠨᠢ ᠪᠤᠷᠤᠭᠤ á ‚ ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠪᠤᠷᠤᠭᠤ +3800 +ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠣᠷᠣᠭᠤᠯᠬᠤ +ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠣᠷᠣᠭᠤᠯᠬᠤ á „ +ᠳᠠᠬᠢᠨ ᠣᠷᠣᠭᠤᠯᠬᠤ +ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠢᠯᠡᠷᠡᠬᠦ (&S) +ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠪᠤᠷᠤᠭᠤ +ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠵᠥᠪᠬᠡᠨ á  á ©á ­á á ¯á ¢ ᠬᠡᠯᠡ ᠪᠣᠯᠣᠨ ᠲᠣᠭ᠎ᠠ ᠬᠢᠭᠡᠳ ᠣᠨᠴᠠᠭᠠᠢ ᠲᠡᠮᠳᠡᠭ (!ã€#ã€$...) +ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠬᠡᠲᠦᠷᠬᠡᠢ ᠤᠷᠲᠤ +ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ +3900 +ᠬᠡᠷᠡᠭᠰᠡᠭᠰᠡᠨ á ´á  á ­ á „ +ᠦᠯᠡᠳᠡᠭᠰᠡᠨ á ´á  á ­ á „ +ᠶᠡᠷᠤᠩᠬᠡᠢ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +ᠬᠤᠷᠳᠤᠴᠠ á „ +ᠨᠢᠭᠡᠨᠲᠡ ᠰᠢᠢᠳᠪᠦᠷᠢᠯᠡᠭᠰᠡᠨ ᠨᠢ á „ +ᠠᠪᠴᠢᠶᠠᠭᠰᠠᠨ ᠬᠡᠮᠵᠢᠶ᠎ᠡ á „ +ᠪᠤᠷᠤᠭᠤ á ­á  á ·á ´á  á ¢ á „ +ᠠᠪᠴᠢᠮᠠᠯ á „ +4000 +ᠠᠪᠴᠢᠮᠠᠯ ᠳ᠋ᠥ ᠨᠡᠮᠡᠬᠦ +ᠠᠪᠴᠢᠮᠠᠯ (&A): +ᠰᠢᠨᠡᠳᠬᠡᠬᠦ ᠬᠡᠯᠪᠡᠷᠢ (&U): +ᠠᠪᠴᠢᠮᠠᠯ  ᠤᠨ ᠬᠡᠯᠪᠡᠷᠢ (&F): +ᠠᠪᠴᠢᠶᠠᠬᠤ ᠳᠡᠰ (&L): +ᠠᠪᠴᠢᠶᠠᠬᠤ á  á ·á ­á Žá   (&M): +ᠲᠣᠯᠢ  ᠶᠢᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ (&D): +ᠳᠠᠩ ᠦᠭᠡᠰ  ᠦᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ (&W): +ᠲᠣᠭ᠎ᠠ ᠪᠠᠷᠢᠮᠲᠠ  ᠶᠢᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ +CPU ᠬᠡᠷᠡᠭᠯᠡᠭᠰᠡᠨ ᠬᠡᠮᠵᠢᠶ᠎ᠡ +ᠲᠣᠭ᠎ᠠ ᠪᠠᠷᠢᠮᠲᠠ (&P): +ᠰᠣᠩᠭᠣᠯᠲᠠ +ᠥᠪᠡᠷᠲᠡᠭᠡᠨ ᠠᠴᠢᠶᠠᠯᠠᠭᠴᠢ ᠫᠷᠦᠭᠷᠡᠮ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ (&X) +ᠠᠪᠴᠢᠮᠠᠯ ᠹᠠᠶᠢᠯ  ᠢᠶᠠᠨ ᠬᠤᠪᠢᠶᠠᠯᠴᠠᠬᠤ +ᠪᠠᠲᠤᠵᠢᠭᠤᠯᠬᠤ +ᠪᠠᠲᠤᠵᠢᠭᠤᠯᠬᠤ ᠲᠣᠭᠠᠴᠠᠬᠤ á  á ·á ­á Žá   +ᠪᠠᠲᠤ ᠹᠠᠶᠢᠯ  ᠤᠨ ᠨᠡᠷᠡᠶᠢᠳᠦᠯ (&N) +ᠠᠪᠴᠢᠶᠠᠯᠠᠬᠤ ᠳ᠋ᠥ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ á ·á  á ® +ᠵᠠᠳᠠᠯᠬᠤ ᠳ᠋ᠥ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ á ·á  á ® +4050 +ᠵᠥᠪᠬᠡᠨ ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤ +ᠣᠨᠴᠠ ᠬᠤᠷᠳᠤᠨ ᠠᠪᠴᠢᠶᠠᠬᠤ +ᠬᠤᠷᠳᠤᠨ ᠠᠪᠴᠢᠶᠠᠬᠤ +ᠪᠠᠷᠢᠮᠵᠢᠶ᠎ᠠ ᠠᠪᠴᠢᠶᠠᠬᠤ +ᠬᠠᠮᠤᠭ ᠶᠡᠬᠡ ᠠᠪᠴᠢᠶᠠᠬᠤ +ᠴᠢᠨᠠᠷᠯᠠᠩᠭᠤᠢ ᠠᠪᠴᠢᠶᠠᠬᠤ +4060 +ᠹᠠᠶᠢᠯ ᠨᠡᠮᠡᠭᠡᠳ ᠰᠣᠯᠢᠬᠤ +ᠹᠠᠶᠢᠯ  ᠢ ᠰᠢᠨᠡᠳᠬᠡᠭᠡᠳ ᠨᠡᠮᠡᠬᠦ +ᠪᠠᠶᠢᠬᠤ ᠹᠠᠶᠢᠯ  ᠢ ᠰᠢᠨᠡᠳᠬᠡᠬᠦ +ᠠᠪᠴᠢᠮᠠᠯ  ᠤᠨ ᠠᠭᠤᠯᠭ᠎ᠠ  ᠶᠢ ᠵᠡᠷᠭᠡᠴᠡᠭᠦᠯᠬᠦ +4070 +ᠦᠵᠡᠬᠦ ... +ᠪᠦᠬᠦ ᠹᠠᠶᠢᠯ +ᠲᠡᠭᠡ +ᠪᠤᠯᠢ +6000 +ᠬᠣᠣᠰᠯᠠᠬᠤ +ᠰᠢᠯᠵᠢᠭᠦᠯᠬᠦ +ᠬᠣᠣᠰᠯᠠᠭᠤᠯᠤᠨ á „ +ᠰᠢᠯᠵᠢᠭᠦᠯᠦᠨ +ᠬᠣᠣᠰᠯᠠᠵᠤ ᠪᠠᠶᠢᠨ᠎ᠠ ... +ᠰᠢᠯᠵᠢᠭᠦᠯᠵᠦ ᠪᠠᠶᠢᠨ᠎ᠠ ... +á ¶á  á ­ ᠰᠢᠨ᠎ᠡ ᠨᠡᠷᠡᠶᠢᠳᠴᠦ ᠪᠠᠶᠢᠨ᠎ᠠ ... +ᠬᠠᠪᠲᠠᠰᠤ ᠰᠣᠩᠭᠣᠬᠤ +ᠣᠳᠣᠬᠢ ᠠᠵᠢᠯᠯᠠᠭ᠎ᠠ  ᠶᠢ ᠳᠡᠮᠵᠢᠬᠦ ᠦᠭᠡᠢ +ᠹᠠᠶᠢᠯ ᠪᠠ ᠬᠠᠪᠲᠠᠰᠤ  ᠶᠢ ᠲᠠᠬᠢᠨ ᠨᠡᠷᠡᠶᠢᠳᠴᠦ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ +ᠹᠠᠶᠢᠯ  ᠢ ᠬᠣᠣᠰᠯᠠᠬᠤ ᠦᠦ ︖ +ᠹᠠᠶᠢᠯ  ᠢ ᠠᠪᠴᠢᠮᠠᠯ ᠳ᠋ᠥ ᠬᠣᠣᠰᠯᠠᠬᠤ ᠦᠦ ︖ +6100 +ᠹᠠᠶᠢᠯ ᠤᠰᠠᠳᠬᠠᠬᠤ +ᠬᠠᠪᠲᠠᠰᠤ  ᠶᠢ ᠤᠰᠠᠳᠬᠠᠬᠤ +ᠣᠯᠠᠨ ᠹᠠᠶᠢᠯ  ᠢ ᠤᠰᠠᠳᠬᠠᠬᠤ +ᠦᠨᠡᠬᠡᠷ“{0}â€â€¯á ¶á ¢ ᠤᠰᠠᠳᠬᠠᠬᠤ ᠦᠦ ? +ᠦᠨᠡᠬᠡᠷ“{0}â€á ¬á  á ªá ²á  á °á ¤  ᠶᠢᠨ ᠪᠦᠬᠦ ᠠᠭᠤᠯᠭ᠎ᠠ  ᠶᠢ ᠤᠰᠠᠳᠬᠠᠬᠤ ᠦᠦ ? +ᠦᠨᠡᠬᠡᠷ {0} ᠵᠢ ᠤᠰᠠᠳᠬᠠᠬᠤ ᠦᠦ ? +ᠤᠰᠠᠳᠬᠠᠵᠤ ᠪᠠᠶᠢᠨ᠎ᠠ ... +ᠹᠠᠶᠢᠯ ᠪᠠ ᠬᠠᠪᠲᠠᠰᠤ  ᠶᠢ ᠤᠰᠠᠳᠬᠠᠵᠤ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ +ᠰᠢᠰᠲ᠋ᠧᠮ ᠬᠡᠲᠦᠷᠬᠡᠢ ᠤᠷᠲᠤ ᠵᠠᠮ ᠲᠠᠢ ᠹᠠᠶᠢᠯ  ᠢ ᠬᠣᠭ ᠬᠤᠷᠢᠶᠠᠭᠴᠢ ᠳ᠋ᠥ ᠰᠢᠯᠵᠢᠭᠦᠯᠵᠦ ᠳᠡᠶᠢᠯᠬᠦ ᠦᠭᠡᠢ +6300 +ᠰᠢᠨ᠎ᠡ ᠬᠠᠪᠲᠠᠰᠤ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ +ᠰᠢᠨ᠎ᠡ ᠹᠠᠶᠢᠯ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ +ᠬᠠᠪᠲᠠᠰᠤ  ᠶᠢᠨ ᠨᠡᠷᠡᠶᠢᠳᠦᠯ á „ +ᠹᠠᠶᠢᠯ  ᠤᠨ ᠨᠡᠷ᠎ᠡ +ᠰᠢᠨ᠎ᠡ ᠬᠠᠪᠲᠠᠰᠤ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ +ᠰᠢᠨ᠎ᠡ ᠹᠠᠶᠢᠯ ᠪᠠᠶᠢᠭᠤᠯᠬᠤ .txt +ᠬᠠᠪᠲᠠᠰᠤ ᠪᠠᠶᠢᠭᠤᠯᠵᠤ ᠳᠡᠶᠢᠯᠦᠭᠰᠡᠨ ᠦᠭᠡᠢ +ᠰᠢᠨ᠎ᠡ ᠹᠠᠶᠢᠯ ᠪᠠᠶᠢᠭᠤᠯᠵᠤ ᠳᠡᠶᠢᠯᠦᠭᠰᠡᠨ ᠦᠭᠡᠢ +6400 +ᠲᠠᠶᠢᠯᠪᠤᠷᠢ +ᠲᠠᠶᠢᠯᠪᠤᠷᠢ (&C): +ᠰᠣᠩᠭᠣᠬᠤ +ᠰᠣᠩᠭᠣᠭᠰᠠᠨ  ᠢᠶᠠᠨ ᠤᠰᠠᠳᠬᠠᠬᠤ +ᠨᠣᠮᠧᠷ á „ +6600 +ᠰᠢᠨᠵᠢ ᠴᠢᠨᠠᠷ +ᠬᠠᠪᠲᠠᠰᠤ  ᠶᠢᠨ ᠲᠡᠦᠬᠡ +ᠣᠨᠣᠰᠢᠯᠠᠭᠰᠠᠨ ᠰᠤᠷᠠᠭ +ᠰᠤᠷᠠᠭ +7100 +ᠮᠢᠨᠤ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ +ᠰᠦᠯᠵᠢᠶᠡᠨ â€á £ ᠬᠠᠨᠢ +ᠮᠢᠨᠤ ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ +ᠰᠢᠰᠲ᠋ᠧᠮ +7200 +ᠨᠡᠮᠡᠬᠦ +á ­á  á ·á ­á  á ¨ ᠠᠪᠬᠤ +ᠰᠢᠯᠭᠠᠬᠤ +ᠬᠣᠣᠰᠯᠠᠬᠤ +ᠰᠢᠯᠵᠢᠭᠦᠯᠬᠦ +ᠤᠰᠠᠳᠬᠠᠬᠤ +ᠰᠤᠷᠠᠭ +7300 +ᠹᠠᠶᠢᠯ ᠰᠢᠯᠭᠠᠬᠤ +ᠹᠠᠶᠢᠯ  ᠢ (&S) ᠵᠦᠭ ᠰᠠᠯᠭᠠᠬᠤ᠄ +ᠡᠪᠬᠡᠮᠡᠯ ᠬᠤᠪᠢᠶᠠᠬᠤ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ (&V): +ᠰᠠᠯᠭᠠᠵᠤ ᠪᠠᠶᠢᠨ᠎ᠠ ... +ᠰᠠᠯᠭᠠᠬᠤ ᠦᠦ +ᠲᠠ ᠹᠠᠶᠢᠯ  ᠢᠶᠠᠨ {0} ᠬᠡᠰᠡᠭ ᠬᠤᠪᠢᠶᠠᠬᠤ ᠦᠦ ︖ +ᠡᠪᠬᠡᠮᠡᠯ ᠬᠤᠪᠢᠶᠠᠭᠰᠠᠨ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ ᠨᠢ ᠤᠭ ᠹᠠᠶᠢᠯ  ᠠᠴᠠ ᠪᠠᠭ᠎ᠠ ᠪᠠᠶᠢᠬᠤ ᠬᠡᠷᠡᠭᠲᠡᠢ +ᠡᠪᠬᠡᠮᠡᠯ ᠬᠤᠪᠢᠶᠠᠬᠤ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ ᠨᠢ ᠪᠤᠷᠤᠭᠤ +ᠡᠪᠬᠡᠮᠡᠯ ᠬᠤᠪᠢᠶᠠᠬᠤ ᠶᠡᠬᠡ ᠪᠠᠭ᠎ᠠ  ᠶᠢ ᠲᠣᠭᠲᠠᠭᠠᠬᠤ {0} ᠦᠰᠦᠭ  ᠦᠨ ᠰᠢᠷᠬᠡᠭ \nᠲᠠ ᠳᠣᠣᠷᠠᠬᠢ ᠹᠠᠶᠢᠯ  ᠢ ᠬᠤᠪᠢᠶᠠᠬᠤ ᠦᠦ ? +7400 +ᠹᠠᠶᠢᠯ ᠨᠡᠶᠢᠯᠡᠭᠦᠯᠬᠦ +ᠹᠠᠶᠢᠯ  ᠢ (&S) ᠳ᠋ᠥ ᠨᠡᠶᠢᠯᠡᠭᠦᠯᠬᠦ +ᠨᠡᠶᠢᠯᠡᠭᠦᠯᠵᠦ ᠪᠠᠶᠢᠨ᠎ᠠ ... +ᠬᠤᠪᠢᠷᠢ ᠡᠪᠬᠡᠮᠡᠯ  ᠦᠨ ᠲᠦᠷᠦᠭᠦᠦ ᠹᠠᠶᠢᠯ  ᠢ ᠰᠣᠩᠭᠣᠭᠠᠷᠠᠢ +ᠬᠤᠪᠢᠷᠢ ᠡᠪᠬᠡᠮᠡᠯ  ᠢ ᠲᠠᠨᠢᠬᠤ ᠦᠭᠡᠢ +ᠪᠤᠰᠤᠳ ᠬᠤᠪᠢᠷᠢ ᠡᠪᠬᠡᠮᠡᠯ ᠬᠠᠶᠢᠵᠤ ᠣᠯᠣᠭᠰᠠᠨ ᠦᠭᠡᠢ +7500 +ᠰᠢᠯᠭᠠᠵᠤ ᠪᠠᠶᠢᠨ᠎ᠠ ... +ᠰᠢᠯᠭᠠᠭᠰᠠᠨ ᠰᠤᠷᠠᠭ +CRC ᠲᠣᠭ᠎ᠠ ᠪᠠᠷᠢᠮᠲᠠ ᠰᠢᠯᠭᠠᠬᠤ +CRC ᠲᠣᠭ᠎ᠠ ᠪᠠᠷᠢᠮᠲᠠ ᠪᠠ ᠹᠠᠶᠢᠯ  ᠤᠨ ᠨᠡᠷ᠎ᠡ  ᠶᠢ ᠰᠢᠯᠭᠠᠬᠤ : +7600 +ᠥᠭᠭᠦᠭᠳᠡᠯ ᠰᠢᠯᠭᠠᠯᠲᠠ +á ·á  á ® ᠬᠡᠷᠡᠭᠯᠡᠯᠲᠡ á „ +ᠠᠪᠴᠢᠶᠠᠬᠤ +ᠵᠠᠳᠠᠯᠬᠤ +ᠣᠨᠣᠭ᠎ᠠ ᠥᠭᠬᠦ +ᠶᠡᠷᠤᠩᠬᠡᠢ ᠣᠨᠣᠭ᠎ᠠ +ᠣᠳᠣᠬᠢ +ᠦᠷ᠎ᠡ ᠳ᠋ᠦᠩ +CPUᠬᠡᠷᠡᠭᠯᠡᠭᠰᠡᠨ ᠬᠡᠮᠵᠢᠶ᠎ᠡ +ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ  ᠶᠢᠨ ᠣᠨᠣᠭ᠎ᠠ +ᠪᠠᠲᠤᠯᠠᠭᠳᠠᠭᠰᠠᠨ á ¡ á „ diff --git a/Utils/7-Zip/Lang/mng2.txt b/Utils/7-Zip/Lang/mng2.txt new file mode 100644 index 000000000..ad99c235e --- /dev/null +++ b/Utils/7-Zip/Lang/mng2.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 7-Zip 9.20 +; Saqirilatu Mongolqileb +; QQ:136087084 Email:saqirilatu@126.com +; Mongol soft QQ bulug â… : 39338772 â…¡:38803882 +; Toli Mongolian IME +; http://hi.baidu.com/saqirilatuu/item/9438213716f316ebe7bb7a8d +;last updated: 2013-12-11 +; Update and Spelling corrected Bayarsaikhan +; +; +; +0 +7-Zip +Mongolian (MenkCode) +î—«î—–î— î—¥î— +401 +î—¹î—î—¥î—î— +î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ + + + +î—¹î—î—¥î—î— (&Y) +î—œî——î—±î— (&N) +î—£î—î—šî—šî—î—î—î—“ (&C) +î—£î—î—žî—µî—–î—¿î—–î—­î—½î— + +î—¼î—î—î—šî—šî—î—–î—Œ (&C) +440 + î—¹î—î—¥î—î— (&A) + î—œî——î—±î— (&L) +î—î—î—î—î—î—“ +î—¹î— î— +î—‹î—î—¿î—“ î—¹î—î—°î—Ž (&B) + î—¹î—î—° (&F) +î—î—î—î—î—“ (&P) +î—î— î—î—î—î— + î—‹î—–î—‘î—šî—î—¥î— î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ î—–î—“ ? +500 +î—î—‘î—‘î—° (&F) +î—˜î—î—‘î—‘î—¿î—î—šî—šî—–î—±î—î—î—“ (&E) +î—‹î—–î—‘î—½î— (&V) +î—£î—î—ºî—î—šî—šî—î—±î—î—î—î—“ (&A) +î—›î—î—šî—šî—î—½î— (&T) +î—£î—î—žî—µî—–î—¿î—–î—­î—½î— (&H) +540 +î—˜î—î—¥î—î—¥î— (&O) + î—î—ªî—î—î—“ î—¼î— î—˜î—î—¥î—î—¥î— (&I) + î—î—ªî—î—î—“ î—›î—î—î—–î—Œ î—˜î—î—¥î—î—¥î— (&U) + î—‹î—–î—‘î—½î— (&V) +î—˜î—î—‘î—‘î—¿î—î—šî—šî—–î—±î—î—î—“ (&E) +î—¹î— î—˜î—î—¿î—î—±î— (&M) +î—î—î—î—“ (&C) + (&M) +î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ (&D) +î—î—‘î—‘î—° î—î—î—î—“ (&S)... +î—î—‘î—‘î—° î— î—˜î—î—‘î—‘î—±î— (&B)... +î—î—½î— î—»î—‘î—šî— (&R) +î—¹î—î—‘î—‘î—±î—œî——î—¿î— (&N) +î—î—‘î—‘î—° î—î—î—î—“ +î—î—‘î—‘î—° î—‹î—î—ºî—î—î—î—î—î—î—î—“ + î—£î—î—žî—ºî— î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ +î—î—‘î—‘î—° î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ +î—¤î—î—¿î—î—î—“ (&X) +600 + î— î—³î—–î—î—î—î—“ (&A) + î— î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ +î—‹î—µî— î—î—î—î—“ (&I) +î—î—î—î—“ ... +î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ î—›î—î—Œ î—î—î—î—“ ... +î—‹î—î—ºî—î—±î— î—¥î—î—î—¿î— î—‘î—‘î—Œ î—î—‘î—‘î—° î— î—³î—–î—î—î—î—“ +î—‹î—î—ºî—î—±î— î—¥î—î—î—¿î— î—‘î—‘î—Œ î—î—‘î—‘î—° î— î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ +700 +î—¾î—î—¥î—î— î—¼î—‘î—¿î—–î—§ (&G) +î—›î—  (&M) +î—î—î—µî—î—šî—šî—î—î—î—“ (&L) +î—˜î—î—¿î—‘î—Œ î—‹î— (&D) +730 +î—«î—–î—‘î—¿î—±î— î—‹î—–î—‘î—¥î—î— +î—¹î—î—ªî—µî— î—¥î—î— +  (&2) +î—›î—î—šî—šî—î—½î— î—‘î—‘î—Œ î—³î—î—­î—›î— (&T) +î—‹î—–î—‘î— î—£î—î—žî—ºî— î—˜î—î—¥î—î—¥î— +î—¹î—î—¥î—î—ªî—µî— +î—£î—î—žî—ºî— î—“ î—¹î—î—–î—¥î—î— ... +î—î—–î—î—¥î— (&R) +750 +î—¹î—î—î—î—Œ î—“ î—›î—î—šî—šî—î—½î— î—‘î—‘î—Œ î—³î—î—­î—›î— +î—›î—î—î—Ž î—›î—î—šî—šî—î—½î— î—‘î—‘î—Œ î—³î—î—­î—›î— +î—¾î—î—¥î—î— î—¹î—î—¿î—–î—žî—»î— +î—¹î—î—¿î—–î—žî—»î— î—‘î—‘î—Œ î—‹î—–î—‘î—µî—–î—‘î— î—‹î—‘î—±î—î—¿î— +800 +î—£î—î—ºî—î—šî—šî—î—±î—î—­î—½î— î—¹î—î—šî—šî—î—Œ î—˜î—î—­î— (&A) + +900 +î— (&O) +î—î—° î— (&B) +960 +î—£î—î—žî—µî—–î—¿î—–î—­î—½î— î—‹î—–î—‘î—½î— (&C) +7-Zip î—“ î—î—î—î— (&A) +1003 +î—¼î—î—¬ +î—˜î—î—¿î— +î—‹î—–î—‘î—¿î—¥î—î—–î—î—¥î—î—î—Œ î—˜î— +î—£î—î—žî—ºî— +î—¾î—î—¥î—î— î—›î— +î—‹î—î—î—î—î—µî—î—Œ î—“ î—¹î—î—¿î—î—šî—šî— î—¾î—î—¥î—î— î—›î— +î—î—½î— î—»î—‘î—šî— +î—›î—î—î—î—µî—î—Œ î—»î—î—§ +î—‹î—–î—‘î—½î—î—î—Œ î—»î—î—§ +î—¼î—î—µî—î—î—î—µî—î—Œ î—»î—î—§ +î—£î—î—ºî— +î—¹î—î—‘î—‘î—±î—œî——î—¿î— +î—›î—î—î—î—“ + î—˜î— î—£î—–î—›î—‘î—¾î—î—î—î—“ +î—³î—î— î—˜î— î—£î—–î—›î—‘î—¾î—î—î—î—“ +î—¹î—–î—±î— î—›î—‘î—»î—‘î—‘î— î—–î—Œ î—¾î—î—¥î—î— î—›î— +CRC + +î—‹î—î—î—î—î—“  +î—î—»î—î—î—î—“ î—‹î— + î—‹î—î—î—î—î—“ î˜î—¬ +î—î—‘î—‘î—° î—–î—Œ î˜î—¬ +î—¥î—î—¿î—î—î—ªî—»î— +î—œî——î—‘î—±î—–î—‘î— +î—‹î—–î—‘î—µî—–î—‘î— î—–î—Œ î—¥î—î—µî—î—‘î— +î—¹î—î—‘î—‘î—±î—œî——î—¿î— +î—‹î—–î—¿î—–î—Œ î—î—î—ºî—î—šî—šî—î—î—î—“ +î—¼î—î—¬ î—–î—Œ  î—¥î—î—µî—î—‘î— +î—£î—î—žî—ºî— +î—î—‘î—‘î—° +î—¥î—î— +î—‹î—žî—¥î—î—­î—î—° +î—‹î—–î—±î—î—Œ î—‹î—žî—¥î—î—­î—î—° î—‹î—î—î—î—“ +î—£î—î—½î—î—šî—šî—î— î—³î—‘î—±î—½î—‘î—¦î——î—±î—¦î—• +î—¼î—î—î—î—î—“ +î—‹î—–î—‘î—µî—–î—‘î— î—–î—Œ î—¥î—î—µî—î—‘î— +î—‹î—žî—¥î—î—­î—î—° î—î—î—î—“ + +64 î—‹î—–î—¿î—–î—Œ +î—¾î—î—¥î—î— î—‹î—–î—‘î—µî—–î—‘î— î—–î—Œ î—¥î—î—µî—î—‘î— î—–î—Œ î—¹î—î—¿î—î—šî—šî—î—±î—î—° +CPU + î—¾î—î—¥î—î— î—›î— +î—î—‘î—‘î—° î—–î—Œ î—¾î—î—¥î—î— î—›î— +î—˜î—î—‘î—‘î—±î—î—œî——î—¿î— î— î—³î—‘î—±î—šî—šî—î—î—î—“ +î—‹î—–î—î—»î— +î—¥î—î—‘î—‘î—µî—œî——î—¿î— î—£î— +ID +î—î—î—î—î—Œ î—î—‘î—‘î—° î—–î—Œ î—˜î— +î—¢î˜î—¿î—–î—î—¬ î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ +î—¹î— î—–î—Œ î—¾î—î—¥î—î— î—›î— +î—¥î—î— î—¼î—î—î— +î—¼î—î—î—î—î—“ + +î—¾î—î—¿î—–î—î—î— î—¾î—î—¥î—î— î—›î— +î—¥î—î—¿î—î—î—î—Œ î—‹î—–î—¿î—–î—Œ î—¼î—î— +î—›î—î—î— î—‘î—‘î—Œ î—¾î—î—¥î—î— î—›î— +î—‹î—žî—¥î—î—­î—î—° î—–î—Œ î—¹î—î—­î—ºî—î—‘î— + î—¤î—î—½î— î—–î—Œ î—˜î—î—¿î— +î—£î—î—î—î—î—î—»î— +2100 +î— +î—¥î— +î—¥î— î—î—î—î—“ : +î—˜î—î—‘î—‘î—¿î—î—î—î—»î— +î—î—î—ºî—î—î—î—µî—î—Œ î—˜î—î—‘î—‘î—¿î—î—î—î—»î— (&E): +î—î—î—ºî—î—î—î—µî—î—Œ î—î—‘î—‘î—° î— î—‹î—î—ºî—î—î—î—î—î—î—î—“ (&D): +2200 +î˜î—¬ +7-Zip î—›î— î—î—‘î—‘î—° î—–î—Œ  î— î—£î—–î—±î—œî——î—î—î—ºî—î—šî—šî—–î—±î—î—î—“ : +2301 +7-Zip î—¼î— î—›î—î—¿î—î—šî—šî—–î—Œ î—¹î—î—¿î—–î—žî—»î— î—ºî—“ î—˜î—î—­î— +î—›î—î—¿î—î—šî—šî—–î—Œ î—¹î—î—¿î—–î—žî—»î— î—ºî—“ î—¹î—î—žî—î—î—–î—»î—î—šî—šî—–î—±î—î—î—“ +î—›î—î—¿î—î—šî—šî—–î—Œ î—¹î—î—¿î—–î—žî—»î— î—ºî—“ î—‹î—‘î—±î—î—¿î—  î— î—³î—–î—î—î—î—“ +2320 +<î—£î—î—žî—ºî— > +< î—‹î—žî—¥î—î—­î—î—° > +î—‹î—î—î—° î— î—˜î—î—¥î—î—¥î— +î—«î—î—¹î˜î—¿î—‘î—¾î—î—° î— î—¤î—î—¿î—šî—šî—î—Œ î—‹î—î—žî—î—î—“ ... +î—‹î—î—î—°  î—˜î—î—­î— ... +î—‹î—î—î—° î— î—³î—‘î—±î—šî—šî—î—î—î—“ +î— î—¤î—î—¿î—»î—î—§  î—¤î—î—¿î—šî—šî—î—Œ î—‹î—î—žî—î—î—“ +{0}î—‹î—–î—¿î—–î—šî—šî—“ î—¼î—î—ºî—î—±î—î—î—“ +{0}  î—˜î—î—­î— +î—‹î—î—î—šî—šî—î—–î—Œ î—‹î—‘î—­î˜î—° î—¾î—î—î—î—“ ... +î—‹î—î—î—šî—šî—î—–î—Œ {0} î—¼î— î—‹î—‘î—±î—î—¥î— +2400 +î—£î—î—žî—ºî— +î—‹î— î—–î—Œ î—£î—î—žî—ºî— (&W) +î˜î—¬ \î—¼î—î—µî—î—œî——î—¿î— î—‘î—‘î—Œ î—£î—î—žî—ºî—(&S) + î—‘î—‘î—Œ î—£î—î—žî—ºî— (&C) +î—î—î—ºî—î—­î—î—° î—›î—î—‘î—‘î—¿î— (&S) +î—î—Œ î—î—¥î—î—œî——î—¿î— î—‘î—‘î—Œ î—î—¿î—–î—­î—½î— î—ºî—“ î—¥î—î—¿î—î— + î—»î—î—§ î—–î—Œ î—‹î—î—î—° î—î—‘î—‘î—° î—î—¥î— î—›î—î—‘î—‘î—¿î—‘î—±î—î—° î— î—¹î—–î—ºî—–î—¿î—î—î—î—‘î—‘î—° +2500 +î—‹î—‘î—±î—î—¿î— +î—‹î—‘î—±î—î—¿î— “..â€î—¼î—–î—‘î—‘î—° (î—¹î—î—¥î—î—ªî—µî— î—£î—–î—–î—´ î—î—šî—šî—î—–î—Œ ) +î—‹î—–î—‘î—šî—î—Œ  î—˜î— î—‹î—‘î—±î—î—¿î— +î˜î—¬ î—–î—Œ  î—˜î— î—‹î—‘î—±î—î—¿î— +  î— î—³î—–î—î—î—î—“ (&F) +î—î—Œ î—‹î—–î—ºî— î—‹î—‘î—±î—î—¿î— (&G) +î—î—šî—šî—î—–î—Œ î—˜î—î—¥î—î—¥î— +7-Zip î—‹î—–î—±î—î— î—¥î—î— î— î—³î—–î—î—î—î—“ (&A) +î—¾î—î—¥î—î— î—¿î—î—¬ î—–î—Œ  î— î—¥î—î—¿î—î— (&L) +2900 +7-Zip  î—î—î—î— +7-Zip  î—¹î—–î—‘î—±î—–î—œî——î—¿î— î—‹î—–î—‘î—¥î—î— î—³î—–î˜…î—¹î—’   î—£î—î—î—ºî—‘î— î—–î—Œ î—¥î—î—î—¿î— î—›î— 7-Zip î—¼î— î—¹î—  î—«î—–î—  î—‘î—‘î—Œ î—œî——î—‘î—±î—–î—‘î— â… 39338772 â…¡ 38803882  î—³î—î— î—«î—–î—î—î—›î—î— î—£î—î—î—î—î—“ î—‹î— QQ 136087084 Email: saqirilatu@126.com +3000 +î˜î—¬ î—¿î—î—¬ î— î—˜î— î—£î—–î—›î—‘î—¾î— î—¹î— î—‹î—–î—‘î—¥î—î— + î—‹î—–î—‘î—¥î—î— +{0} î—¼î— î—³î—–î—î—î—î—“ +{0}†î—î—žî—ºî— î— î—¹î— î—‹î—–î—‘î—¥î—î— + î—‹î—î—î—° î—–î—Œ î—î—–î—î—¥î— î—¼î— î—¹î— î—‹î—–î—‘î—¥î—î— +î—‹î—î—î—° î—˜î—î—¥î—î—¥î— î—¹î— î—‹î—–î—‘î—¥î—î—“{0}†+î—›î— î—‹î—î—î—° î— î—˜î—î—¥î—î—¥î— î—¹î— î—‹î—–î—‘î—¥î—î—“{0}â€î—˜î—‘ î˜î˜€ î—˜î— î—œî——î—¿î—–î—šî—šî—“ ? +î—¹î— î—‹î—–î—‘î—¥î—î— î—‹î—î—î—° î—–î—Œ î—¥î—î—î—¿î— +{0} î—î—‘î—‘î—° î—î— î—›î— +î—î—‘î—‘î—° “{0}â€î—‹î—–î—‘î—¥î—î—¿î—î—î—î—›î—î— \n î—‹î—î—î—° î—ºî— î—î—‘î—‘î—° î—î—Œ î—î—–î—î—¥î— î—–î—“ ? +î—î—‘î—‘î—° î— î—³î—‘î—šî—î—–î—î—¥î— î—¹î—î—î—Œ î—‹î—–î—‘î—¥î—î— \n“{0}â€ï¼Œî—¹î—–î—´ î—‹î—î—î—°  î—¤î—î—¿î—»î—î— +î—¤î—î—ºî—î—šî— î—˜î—î—‘î—‘î—¿î— î—¼î— î—‹î—î— î—¹î— î—‹î—–î—‘î—¥î—î— + î—î—‘î—‘î—°  î—¹î—î— ( î—î—‘î—‘î—° î—–î—Œ î—˜î—  î—‹î—–î—±î—î—Œ  î—¼î—î— î—›î— )。 +î—¥î—î—î— î—‹î—–î—¿î—ºî—“ î—‹î—î— î—¹î— î—‹î—–î—‘î—¥î—î— + î—î—›î—î—° î—î— î˜‚î—î—‘î—‘î—° î— + î—£î—î—­î—–î—§ î—›î— î—¹î—î—šî—šî—î—Œ î—î— î˜‚î—î—‘î—‘î—° î— +î—«î—î—¹î˜î—¿î—‘î—¾î—î—° î—¥î—î—î— î—‹î—–î—±î—î—Œ +3300 +î—¾î—î—§ î—¤î—î—¿î—šî—šî—î—Œ î—‹î— î—›î— .... +î—‹î—î—î—î—î—“ +î—î—î—î—“ +î—¾î—î—§ î—˜î—î—¥î—î—¥î— î—›î— ... +î—£î— î—›î— ... +3400 +î—¤î—î—¿î—šî—šî—î—Œ î—‹î—î—žî—î—î—“ +(&X)  î—¤î—î—¿î—šî—šî—î—Œ î—‹î—î—žî—î—: +î—«î—î—¹î˜î—¿î—‘î—¾î—î—° î— î—¤î—î—¿î—šî—šî—î—Œ î—‹î—î—î—î—µî—î—Œ î—£î—î—žî—ºî— î—–î—Œ î—›î—î—‘î—‘î—¿î— +3410 +î—¼î—î—¬ î—–î—Œ î—¥î—î—î—¿î— + î—¼î—î—¬ +î—¼î—î—¬ î—‹î—–î—‘î—¥î—î— +3420 +î—î—î—“ î—¥î—î—î—¿î— +î—î—î—“   î—‹î—î—µî— +î—³î—î—šî—î—šî—šî—–î—±î—î—î—“ î—‹î—–î—‘î—¥î—î— î—³î—‘î—šî—šî—–î—–î—Œ î—î—î—“ +î—›î—î—‘î—‘î—î—î—“ î—î—‘î—‘î—° î— î—‹î—–î—‘î—µî—–î—¿î—¥î—î—‘î—‘î—±î—î—Œ î—¤î—î—¿î—î—î—“ +î—‹î— î— î—˜î—î—¿î—î—±î— + î—î—‘î—‘î—° î—î—Œ î—˜î—î—¿î—î—±î— +3500 +î—î—‘î—‘î—° î— î—³î—–î—±î—‘î—™î—Ž + î—£î—î—žî—ºî—  î—‹î—î—ºî—î—±î— î—˜î—î—¿î— î—¹î—î— î˜‚î—î—‘î—‘î—° î—›î— + î—›î—î—‘î—‘î—î—î—“ î—î—‘î—‘î—° î—î—Œ +î—î—î—“ +{0} î—‹î—–î—‘î—µî—–î—‘î— î—–î—Œ î—î—‘î— +î—‹î— î—î—Œ  î—˜î—î—¿î—î—±î— (&U) +3700 +î—¹î— î—‹î—–î—‘î—¥î—î— î—‹î—î—î—° î— “{0}â€ã€‚ + î—›î— “{0}â€î—œî——î—¿î—–î—šî—šî—“ î—¤î—î—¿î—»î—î— ï¼Œî˜‚î—î—‘î—‘î—° î—‹î—žî—ºî—î—¿î—î—î—Œ î—‹î— +CRC î—î—šî—šî—î—–î—Œ “{0}â€î—‹î—‘î—±î—î—î—î—ºî—î—½î—î—,î—î—‘î—‘î—° î—‹î—žî—ºî—î—¿î—î—î—Œ î—‹î— +î—›î— î—î—‘î—‘î—° “{0}â€î—–î—Œ  î—›î— î—˜î— î—œî——î—¿î—–î—šî—šî—“ , î˜î˜€ î—˜î— î—œî——î—¿î—–î—šî—šî—“ ? +î—›î— î—î—‘î—‘î—° “{0}â€CRC î—‘î—‘î—Œ î—î—î—î—µî—î—Œ  î—›î— î—˜î— î—œî——î—¿î—–î—šî—šî—“ , î˜î˜€ î—˜î— î—œî——î—¿î—–î—šî—šî—“ ? +3800 + î˜î˜€ î—î—Œ î—‹î—–î—¿î—–î—šî—šî—–î—±î—î—î—“ + î˜î˜€ î—î—Œ î—‹î—–î—¿î—–î—šî—šî—–î—±î—î—î—“ : +î—¹î— î—‹î—–î—¿î—–î—šî—šî—–î—±î—î—î—“ : + î˜î˜€ î—‹î—‘î—±î—î—¿î— (&S) + î˜î˜€ î—˜î— î—œî——î—¿î—–î—šî—šî—“ + î˜î˜€ î—˜î— î—¼î—–î—‘î—žî—¥î—î—Œ î—‹î—î—î—ªî—¥î—²î— î—¥î—   î—î—–î—Œ î—‹î—–î—î—»î—î—šî—šî—î— î—¹î—î—­î—ºî—î—‘î— (!ã€#ã€$...) + î˜î˜€ î—¥î—î—î— î—‹î—–î—¿î—ºî—“ + î˜î˜€ +3900 +î—¥î—î—¿î—î—î—î—Œ î—»î—î—§ : +î—‹î—–î—‘î—±î—î—ºî—î—î—Œ î—»î—î—§ : +î—¾î—î—¿î—–î—î—î— î—¾î—î—¥î—î— î—›î— : + : +î—î— î—î—î—î—Œ î—˜î— ï¼š +î—‹î—î—î—î—î—µî—î—Œ î—¥î—î—î—Ž : + î—¤î—î—¿î—»î—î—: +î—‹î—î—: +4000 +î—‹î—î—î—°  î—˜î—î—­î— +î—‹î—î—î—° (&A): +î—î—–î—î—¥î— î—¥î—î—î—¿î— (&U): +î—‹î—î—î—° î—–î—Œ î—¥î—î—î—¿î— (&F): +î—‹î—î—î—î—î—“ î—¹î—î—´ (&L): +î—‹î—î—î—î—î—“ î—‹î— (&M): +î—¹î—–î—±î— î—‘î—‘î—Œ î—¾î—î—¥î—î— î—›î— (&D): +î—¹î—î—î—‘î— î—‹î—–î—‘î—¥î—î—´ î—–î—Œ î—¾î—î—¥î—î— î—›î— (&W): + î—›î— î—‘î—‘î—Œ î—¾î—î—¥î—î— î—›î— : +CPU î—¥î—î—î—Ž : + î—›î— (&P): +î— +î—‹î—–î—‘î—›î—î—¿î—ºî—î—¥î—î—Œ î—‹î—î—î—±î—î—î—î—»î— î—¢î˜î—¿î—–î—î—¬ î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ (&X) +î—‹î—î—î—­î—î—° î—î—‘î—‘î—° î—î—Œ î—î—î—î—î—“ +î—›î—î—î—î—“ +î—›î—î—î—î—“ î—î—»î—î—î—î—“ î—‹î— : +î—›î— î—î—‘î—‘î—° î—–î—Œ î—˜î—î—¿î— (&N) +î—‹î—î—î—±î—î—î—î—“  î—¥î—î—¿î—î— î—¿î—î—¬ : +î—¼î—î—ºî—î—±î—î—î—“  î—¥î—î—¿î—î— î—¿î—: +4050 +î—î—Œ î—£î—î—ºî—î—šî—šî—î—±î—î—î—î—“ +î—‹î—–î—  î—‹î—î—î—î—î—“ + î—‹î—î—î—î—î—“ +î—›î—î—î—Ž î—‹î—î—î—î—î—“ +î—£î—î—­î—–î—§ î—¾î—î—¥î—î— î—‹î—î—î—î—î—“ +î—î—¿î—±î—î—î—ªî—šî—šî—–î— î—‹î—î—î—î—î—“ +4060 +î—î—‘î—‘î—° î—˜î—î—­î—î—¥î—î—–î—Œ î—î—î—“ +î—î—‘î—‘î—° î— î—³î—‘î—šî—î—–î—î—¥î—î—¥î—î—–î—Œ î—˜î—î—­î— +î—›î—î—‘î—‘î—î—î—“ î—î—‘î—‘î—° î— î—³î—‘î—šî—î—–î—î—¥î— +î—‹î—î—î—° î—–î—Œ î—‹î— î—¼î— î—¼î—î—¿î—¥î—î—»î— +4070 +î—‹î—–î—‘î—½î— ... + î—î—‘î—‘î—° +î—¹î—î—¥î—î— +î—œî——î—±î— +6000 +î—î—î—î—“ + +î—: +: +î— î—›î— ... + î—›î— ... +î—¾î—î—§  î—˜î—î—¿î—î—‘î—‘î—–î— î—›î— ... +î—£î—î—žî—ºî— î—î—î—î—“ + î—‹î—î— î—¼î— î—¹î— î—‹î—–î—‘î—¥î—î— +î—î—‘î—‘î—° î—›î—î— î—£î—î—žî—ºî— î— î—¹î— î—˜î—î—¿î—î—‘î—‘î—–î— î—¹î— î—‹î—–î—‘î—¥î—î— +î—î—‘î—‘î—° î— î—£î—–î—–î—µî—±î—î—î—î—“ î—–î—“ +î—î—‘î—‘î—° î— î—‹î—î—î—°  î—î—î—î—“ +6100 +î—î—‘î—‘î—° î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ +î—£î—î—žî—ºî— î— î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ +î—‹î—–î—±î—î—Œ î—î—‘î—‘î—° î— î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ +î—‹î—–î—‘î—šî—î—¥î—“{0}â€î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ î—–î—“ ? +î—‹î—–î—‘î—šî—î—¥î—“{0}â€î—£î—î—žî—ºî— î—‘î—‘î—Œ  î—‹î— î—¼î— î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ î—–î—“ ? +î—‹î—–î—‘î—šî—î—¥î— {0} î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ ? +î—‹î—–î—µî—î—–î—î—î—î— î—›î— ... +î—î—‘î—‘î—° î—›î—î— î—£î—î—žî—ºî— î—¼î— î—‹î—–î—µî—î—–î—î—î—î— î—¹î— î—‹î—–î—‘î—¥î—î— . +î˜î—¬ î—¥î—î—î— î—‹î—–î—¿î—ºî—“ î—¼î—î—¬ î—¹î—î— î˜‚î—î—‘î—‘î—° î— î—£î—–î—§ î—î—î—î—»î— î—ºî—“  î—¹î— î—‹î—–î—‘î—¥î—î— +6300 + î—£î—î—žî—ºî— î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ + î—î—‘î—‘î—° î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ +î—£î—î—žî—ºî— î—‘î—‘î—Œ î—˜î—î—¿î— : +î—î—‘î—‘î—° î—–î—Œ î—˜î—: + î—£î—î—žî—ºî— î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ + î—î—‘î—‘î—° î—›î—î—‘î—‘î—šî—šî—–î—±î—î—î—“ .txt +î—£î—î—žî—ºî— î—›î— î—¹î—î—î—Œ î—‹î—–î—‘î—¥î—î— + î—î—‘î—‘î—° î—›î— î—¹î—î—î—Œ î—‹î—–î—‘î—¥î—î— +6400 +î—¹î—î—‘î—‘î—±î—œî——î—¿î— +î—¹î—î—‘î—‘î—±î—œî——î—¿î— (&C): +î—î—î—î—“ +î—î—î—î—µî—î—Œ î—î—Œ î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ +î˜î˜€ï¼š +6600 +î—î—½î— î—»î—‘î—šî— +î—£î—î—žî—ºî— î—–î—Œ î—¹î—î—–î—¥î—î— +î—î—î—î—µî—î—Œ î—î—§ +î—î—§ +7100 +î—«î—‘î—šî—“ î˜î˜€ +î—î—Œ î—“ î—£î—î—šî— +î—«î—‘î—šî—“ î—«î—î—¹î˜î—¿î—‘î—¾î—î—° +î˜î—¬ +7200 +î—˜î—î—­î— +î—¤î—î—¿î—šî—šî—î—Œ î—‹î—î—žî—î—î—“ +î—î—î—î—“ +î—î—î—î—“ + +î—‹î—–î—µî—î—–î—î—î—î—î—î—î—“ +î—î—§ +7300 +î—î—‘î—‘î—° î—³î—î—î—î—î—“ +î—î—‘î—‘î—° î— (&S) î—¼î—–î—‘î—‘î— î—³î—î—î—î—î—“ : +î—‹î—žî—¥î—î—­î—î—° î—î—î—î—“ î—¾î—î—¥î—î— î—›î— (&V): +î—³î—î— î—›î— ... +î—³î—î—î—î—î—“ î—–î—“ + î—î—‘î—‘î—° î—î—Œ {0} î—¥î—î—µî—î—‘î— î—£î—–î—›î—‘î—¾î—î—î—î—“ î—–î—“ ? +î—‹î—žî—¥î—î—­î—î—° î—î—î—î—µî—î—Œ î—¾î—î—¥î—î— î—›î— î—˜î— î—‹î—–î—§ î—î—‘î—‘î—°  î—›î— î—›î—î—‘î—‘î—î—î—“ î—¥î—î—¿î—î—î— +î—‹î—žî—¥î—î—­î—î—° î—î—î—î—“ î—¾î—î—¥î—î— î—›î— î—˜î— î—œî——î—¿î—–î—šî—šî—“ +î—‹î—žî—¥î—î—­î—î—° î—î—î—î—“ î—¾î—î—¥î—î— î—›î— î— î—¹î—–î—î—î—ºî—î—šî—šî—î—î—î—“ :{0} î—‹î—–î—‘î—µî—–î—‘î— î—–î—Œ î—î—‘î— ã€‚\n î—¹î—î—¿î—î—šî—šî— î—î—‘î—‘î—° î— î—£î—–î—›î—‘î—¾î—î—î—î—“ î—–î—“ ? +7400 +î—î—‘î—‘î—° î—˜î—î—‘î—‘î—±î— +î—î—‘î—‘î—° î— (&S)  î—˜î—î—‘î—‘î—±î—: +î—˜î—î—‘î—‘î—±î— î—›î— ... +î—£î—–î—›î—‘î—¿î— î—‹î—žî—¥î—î—­î—î—° î—–î—Œ  î—î—‘î—‘î—° î— î—³î—–î—î—î—¿î—î— +î—£î—–î—›î—‘î—¿î— î—‹î—žî—¥î—î—­î—î—° î— î—¹î—î—šî—‘î—î—î—“ î—‹î—–î—‘î—¥î—î— + î—£î—–î—›î—‘î—¿î— î—‹î—žî—¥î—î—­î—î—° î—£î— î—î—î—µî—î—Œ î—‹î—–î—‘î—¥î—î— +7500 +î— î—›î— ... +î—î—î—î—µî—î—Œ î—î—§ +CRC  î—›î— î—î—î—: +CRC  î—›î— î—›î—î— î˜‚î—î—‘î—‘î—° î—–î—Œ î—˜î— î—î—î—: +7600 +î—î—° î— +î—¿î—î—¬ î—¥î—î—¿î—î— : +î—‹î—î—î—î—î—“ +î—¼î—î—ºî—î—±î—î—î—“ +  +î—¾î—î—¿î—–î—î—î— î—‹î—–î—šî—–î—¨î—Ž + + î—î—‘î— +CPU î—¥î—î—¿î—î—î—î—Œ î—¥î—î—î—Ž +î—¥î—î—¿î—î—î—ªî—»î— î—‘î—‘î—Œ  +î—›î—î—î—î—î—ºî—î—î—î—µî—î—Œ î—‹î— ï¼š diff --git a/Utils/7-Zip/Lang/mr.txt b/Utils/7-Zip/Lang/mr.txt new file mode 100644 index 000000000..0a4e5eb9e --- /dev/null +++ b/Utils/7-Zip/Lang/mr.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.42 : अनà¥à¤µà¤¾à¤¦ सà¥à¤¬à¥‹à¤§ गायकवाड (Subodh Gaikwad) +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Marathi +मराठी +401 +ठीक +रदà¥à¤¦ + + + +&हो +&नाही +&बंद +मदत + +&सà¥à¤°à¥ +440 +&सरà¥à¤µ ला हो +&सरà¥à¤µ ला नाही +थांबा +पà¥à¤¨à¥à¤¹à¤¾ सà¥à¤°à¥ करा +&मागे लपवा +&समोर आणा +&विशà¥à¤°à¤¾à¤® +विशà¥à¤°à¤¾à¤® +तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ रदà¥à¤¦ करणà¥à¤¯à¤¾à¤¬à¤¾à¤¬à¤¤ खातà¥à¤°à¥€ आहे का? +500 +&फ़ाइल +&संपादन +&दरà¥à¤¶à¤¨ +आ&वडते +&अवजार +&मदत +540 +&उघडा +&अंदर उघडा +&बाहेर उघडा +&दृशà¥à¤¯ +&संपादक +नाव बदल +&पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¥€... +&हलवा... +&मिटवा +&फ़ाइल तà¥à¤•डे करा... +फ़ाइल जोडा... +लकà¥à¤·à¤£à¤‚ +पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾ + + +फ़ोलà¥à¤¡à¤° तयार करा +फ़ाइल तयार करा +गमन +600 +सरà¥à¤µ निवडा +सरà¥à¤µà¤¾à¤‚ना अनिवडित करा +&निवड उलटी करा +निवडा... +अनिवडा... +पà¥à¤°à¤•ारेदà¥à¤µà¤¾à¤°à¤¾ निवडा +पà¥à¤°à¤•ारेदà¥à¤µà¤¾à¤°à¥‡ अनिवडा +700 +मोठे Icons +लहान Icons +&सà¥à¤šà¥€ +&माहिती +730 +अवà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ +Flat दृशà¥à¤¯ +&२ फ़लक +&अवजार कपà¥à¤ªà¤¾s +Root फ़ोलà¥à¤¡à¤° उघडा +à¤à¤• वरती चढा +फ़ोलà¥à¤¡à¤° इतिहास... +&टवटवीत करा +750 +दफ़तर अवजार कपà¥à¤ªà¤¾ +पà¥à¤°à¤®à¤¾à¤£ अवजार कपà¥à¤ªà¤¾ +मोठे कळ +कळ शबà¥à¤¦ दाखवा +800 +&फ़ोलà¥à¤¡à¤° आवडते मधà¥à¤¯à¥‡ टाका... +पृषà¥à¤  +900 +&परà¥à¤¯à¤¾à¤¯... +&Benchmark +960 +&माहिती... +7-Zip बदà¥à¤¦à¤²... +1003 +मारà¥à¤— +नाव +शेपà¥à¤Ÿ +फ़ोलà¥à¤¡à¤° +आकार +दबलेला आकार +गà¥à¤£à¤§à¤°à¥à¤® +तयार +वापर +बदल +ठोस +भाषà¥à¤¯ +बंधिसà¥à¤¤ +या पà¥à¤°à¥à¤µ तà¥à¤•डे करा +या नंतर तà¥à¤•डे करा +शबà¥à¤¦à¤¾à¤µà¤²à¥€ +CRC +पà¥à¤°à¤•ार +विरà¥à¤¦à¥à¤§ +पदà¥à¤§à¤¤ +यजमान आजà¥à¤žà¤¾à¤µà¤²à¥€ +फ़ाइल पà¥à¤°à¤£à¤¾à¤²à¥€ +उपयोगकरà¥à¤¤à¤¾ +गट +गठà¥à¤ à¤¾ +पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾ +सà¥à¤¥à¤¿à¤¤à¥€ +मारà¥à¤—ाची सà¥à¤°à¥à¤µà¤¾à¤¤ + + + + + + + + + + + + + + + + + + + + + + + + +चà¥à¤• +à¤à¤•ूण आकार +खाली जागा +कà¥à¤²à¤¸à¥à¤Ÿà¤° आकार +शिरà¥à¤·à¤• +लोकल नाव +देणारा +2100 +परà¥à¤¯à¤¾à¤¯ +भाषा +भाषा: +संपादक +&संपादक: + +2200 +पà¥à¤°à¤£à¤¾à¤²à¥€ +7-Zip संबधित करा: +2301 +7-Zip ला shell context मेनà¥à¤¶à¥€ जोडा +Cascaded context menu +Context मेनॠवसà¥à¤¤à¥‚: +2320 + + +दफ़तर उघडा +फ़ाइलà¥à¤¸ बाहेर काढा... +दफ़तरात टाका... +दफ़तर तपासा +येथे बाहेर काढा +बाहेर {0} +{0} येथे टाका +दाबा आणि इमेल करा... +{0} येथे दाबा आणि इमेल करा +2400 +फ़ोलà¥à¤¡à¤° +&चलित फ़ोलà¥à¤¡à¤° +&पà¥à¤°à¤£à¤¾à¤²à¥€à¤šà¥‡ तातà¥à¤ªà¥à¤°à¤¤à¥‡ फ़ोलà¥à¤¡à¤° +&सधà¥à¤¯à¤¾ +&नमà¥à¤¦: +फकà¥à¤¤ काढता येणायà¥à¤°à¤¾ डà¥à¤°à¥‰à¤ˆà¤µà¥à¤¹à¤•रता वापरा +तातà¥à¤ªà¥à¤°à¤¤à¥à¤¯à¤¾ दफ़तर करिता मारà¥à¤— दरà¥à¤¶à¤µà¤¾. +2500 +सà¥à¤¥à¤¿à¤¤à¥€ +वसà¥à¤¤à¥‚ ".." दाखवा +फ़ाइलचे खरे icon दाखवा +पà¥à¤°à¤£à¤¾à¤²à¥€à¤šà¥‡ मेनॠदाखवा +&सरà¥à¤µ ओळ निवडा +&grid रेघा दाखवा + +&अतिरिकà¥à¤¤ निवड पदà¥à¤§à¤¤à¥€ +मोठे सà¥à¤®à¤°à¤£à¤¶à¤•à¥à¤¤à¥€ पृषà¥à¤  वापरा +2900 +7-Zip बदà¥à¤¦à¤² माहिती +7-Zip हे मोफ़त सॉफ़à¥à¤Ÿà¤µà¥‡à¤…र आहे. तरिही, तà¥à¤®à¥à¤¹à¥€ नोंद करà¥à¤¨ याचà¥à¤¯à¤¾ पà¥à¤°à¤—तीला सहायà¥à¤¯ करू शकता. +3000 + +येथे à¤à¤•ही चूक नाही +निवडलेलà¥à¤¯à¤¾ वसà¥à¤¤à¥‚{0} +'{0}' फ़ोलà¥à¤¡à¤° तयार होऊ शकले नाही +या दफ़तरासाठी नà¥à¤¤à¤¨à¥€à¤•रण शकà¥à¤¯ नाही. + + + + +'{0}' ही फ़ाइल बदलली आहे.\nतà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ हे दफ़तरात नà¥à¤¤à¤¨ करायचे आहे का? +फ़ाइल नà¥à¤¤à¤¨ करता येत नाही\n'{0}' +संपादक सà¥à¤°à¥ होत नाही. + + + + +खूपच जासà¥à¤¤ वसà¥à¤¤à¥‚ +3300 +बाहेर +दाब +तपासणी +उघडत आहे... +बारकाईने पाहत आहे... +3400 +बाहेर +&बाहेर: +फ़ाइल बाहेर काढणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ मारà¥à¤— नमूद करा. +3410 +मारà¥à¤— रित +पूरà¥à¤£ पतà¥à¤¤à¤¾ +पतà¥à¤¤à¤¾ नाही +3420 +Overwrite रीत +overwrite करणà¥à¤¯à¤¾à¤ªà¥à¤°à¥à¤µà¥€ विचारा +Overwrite न विचारता करा +असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ असलेलà¥à¤¯à¤¾ फ़ाइल सोडा +सà¥à¤µà¤¯à¤‚चलित नाव बदलवा +असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ असलेलà¥à¤¯à¤¾ फ़ाइलचे आपोआप नाव बदलवा +3500 +फ़ाइल बदलवीणे खातà¥à¤°à¥€ +तà¥à¤¯à¤¾ फ़ोलà¥à¤¡à¤°à¤®à¤§à¥à¤¯à¥‡ अगोदरच कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ फ़ाइल आहे. +असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ असलेली फ़ाइल बदलवायची आहे का? +यानी? +{0} बाइटà¥à¤¸ +सà¥à¤µà¤¯à¤‚चलित नाव बदलवा +3700 +असहायà¥à¤¯à¤• दाब पदà¥à¤§à¤¤'{0}'. +डेटा चूक'{0}'. फ़ाइल तà¥à¤Ÿà¤²à¥‡à¤²à¥€ आहे. +CRC अयशसà¥à¤µà¥€ '{0}'. फ़ाइल तà¥à¤Ÿà¤²à¥‡à¤²à¥€ आहे. + + +3800 +परवलिचा शबà¥à¤¦ टाका +परवलिचा शबà¥à¤¦ टाका: + +परवलिचा शबà¥à¤¦ दाखवा + + + +परवलिचा शबà¥à¤¦ +3900 +à¤à¤¾à¤²à¥‡à¤²à¤¾ वेळ: +निघà¥à¤¨ गेलेला वॆळ: +आकार: +वेग: + + +चूक: + +4000 +दफ़तरात टाका +&दफ़तर: +&नà¥à¤¤à¤¨à¥€à¤•रन रित: +दफ़तर &पà¥à¤°à¤•ार: +दाब &level: +दाब &पदà¥à¤§à¤¤: +&शबà¥à¤¦à¥à¤•ोश आकार: +&शबà¥à¤¦ आकार: + + +&Parameters: +परà¥à¤¯à¤¾à¤¯ +SF&X दफ़तर तयार करा + + + +फ़ाइल &नाव बंधिसà¥à¤¤ करा +दाबणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ सà¥à¤®à¤°à¤£à¤¶à¤•à¥à¤¤à¥€à¤šà¤¾ वापर: +पà¥à¤°à¤¸à¤°à¤£ पावणà¥à¤¯à¤¾à¤¸à¤¾à¤ à¥€ सà¥à¤®à¤°à¤£à¤¶à¤•à¥à¤¤à¥€à¤šà¤¾ वापर: +4050 +साठा +अतिशय वेगवान +वेगवान +साधारण +जासà¥à¤¤à¥€à¤¤ जासà¥à¤¤ +à¤à¤•दमच +4060 +फ़ाइल टाका आणि ठेवा +फ़ाइल टाका आणि नà¥à¤¤à¤¨ करा +असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤à¥€à¤² फ़ाइल ताजे करा +Synchronize फ़ाइल +4070 +बà¥à¤°à¤¾à¤‰à¤ +सरà¥à¤µ फ़ाइल + + +6000 +पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¥€ +हलवा +पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¥€: +हलवा: +पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¥€... +हलवलà¥à¤¯à¤¾ जात आहे... +नविन नाव दिलà¥à¤¯à¤¾ जात आहे... + +कà¥à¤°à¤¿à¤¯à¤¾ करता येणार नाही. +फ़ाइल किंवा फ़ोलà¥à¤¡à¤°à¤²à¤¾ नविन नाव देता येत नाही आहे +फ़ाइलची पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¥€ करणà¥à¤¯à¤¾à¤¸ तà¥à¤®à¤šà¥€ खातà¥à¤°à¥€ आहे का +दफ़à¥à¤¤à¤°à¤¾à¤¤ फ़ाइलची पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¥€ करणà¥à¤¯à¤¾à¤¸ तà¥à¤®à¤šà¥€ खातà¥à¤°à¥€ आहे का +6100 +फ़ाइल मिटवायची खातà¥à¤°à¥€ +फ़ोलà¥à¤¡à¤° मिटवायची खातà¥à¤°à¥€ +अनेक फ़ाइल मिटवायची खातà¥à¤°à¥€ +तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ '{0}' मिटवायची खातà¥à¤°à¥€ आहे का? +तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ '{0}' फ़ोलà¥à¤¡à¤° आणि तà¥à¤¯à¤¾à¤¤à¥€à¤² सरà¥à¤µ वसà¥à¤¤à¥ मिटवायची खातà¥à¤°à¥€ आहे का? +तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ {0} वसà¥à¤¤à¥ मिटवायची खातà¥à¤°à¥€ आहे का? +मिटत आहे... +फ़ाइल किंवा फ़ोलà¥à¤¡à¤° मिटवता येत नाही आहे + +6300 +फ़ॊलà¥à¤¡à¤° तयार करा +फ़ाइल तयार करा +फ़ोलà¥à¤¡à¤° नाव: +फ़ाइलचे नाव: +नविन फ़ॊलà¥à¤¡à¤° +नविन फ़ाइल +फ़ोलà¥à¤¡à¤° तयार करता येत नाही आहे +फ़ाइल तयार करता येत नाही आहे +6400 +पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾ +&पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾: +निवडा +निवड रदà¥à¤¦ +मà¥à¤–वटा: +6600 + +फ़ोलà¥à¤¡à¤°à¤šà¤¾ इतिहास +उपचार संदेश +संदेश +7100 +संगणक +नेटवरà¥à¤• + +पà¥à¤°à¤£à¤¾à¤²à¥€ +7200 +टाका +बाहेर +तपासा +पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¥€ +हलवा +मिटवा +माहिती +7300 +फ़ाइलचे तà¥à¤•डे करा +&येथे तà¥à¤•डे: +तà¥à¤•डे, बाइटà¥à¤¸: +तà¥à¤•डे होत आहे... + + + + + +7400 +फ़ाइल जोडा +&येथे फ़ाइल जोडा: +फ़ाइल जà¥à¤¡à¤¤ आहे... + + + +7500 +Checksum मोजत आहे... +Checksum माहिती +डेटाकरिता CRC checksum : +नाव आणि डेटाकरिता CRC checksum : +7600 +Benchmark +सà¥à¤®à¤°à¤£à¤¶à¤•à¥à¤¤à¥€ वापर: +दाबत आहे +पà¥à¤°à¤¸à¤°à¤£ होत आहे +कà¥à¤°à¤®à¤¾à¤‚कन +à¤à¤•à¥à¤£ कà¥à¤°à¤®à¤¾à¤‚कन +सधà¥à¤¯à¤¾ +परिणाम + + +Passes: diff --git a/Utils/7-Zip/Lang/ms.txt b/Utils/7-Zip/Lang/ms.txt new file mode 100644 index 000000000..19285ca43 --- /dev/null +++ b/Utils/7-Zip/Lang/ms.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.30 : Khairul Ridhwan Bin Omar +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Malay +Bahasa Melayu +401 +OK +Batal + + + +&Ya +&Tidak +&Tutup +Bantuan + +&Teruskan +440 +Ya untuk Semua +Tidak untuk Semua +Henti +Mula Semula +&Latar belakang +&Latar depan +&Berehat +Berehat +Anda yakin untuk membatalkannya? +500 +&Fail +&Edit +&Paparan +K&egemaran +&Alat +&Bantuan +540 +&Buka +Buka di D&alam +Buka di L&uar +&Paparan +&Edit +Nam&akan semula +&Salin ke... +&Pindahkan ke... +Hapus +&Bahagi/belah Fail... +Gab&ung Fail... +P&roperti +Kom&en + + +Buat Folder +Buat Fail +K&eluar +600 +Pilih &Semua +Jangan Pilih Semua +&Sonsangkan Pilihan +Pilih... +Tidak Memilih... +Pilih Berdasarkan Jenis +Tidak Memilih Berdasarkan Jenis +700 +Ikon B&esar +Ikon K&ecil +&Senarai +&Butiran +730 +Tidak Tersusun + +&2 Panel +&Toolbar +Buka Root Folder +Ke atas Satu Aras +Folder Sejarah... +&Segarkan Semula +750 +Toolbar Arkib +Toolbar Standard +Bebutang Besar +Perlihatkan Teks Bebutang +800 +&Tambah folder pada Kegemaran sebagai +Penanda Buku +900 +&Opsyen... +&Tanda Aras +960 +&Kandungan... +&Perihal 7-Zip... +1003 +Bahagian +Nama +Sambungan +Folder +Saiz +Saiz Paket +Atribut +Dibuat +Diakses +Diubah Suai +Solid +Komen +Terenkripsi +Terpisah Sebelum +Terpisah Selepas +Kamus +CRC +Jenis +Anti +Kaedah +Sistem Operasi +Sistem Fail +Pengguna +Kumpulan +Blok +Komen +Posisi + + + + + + + + + + + + + + + + + + + + + + + + + +Ralat +Saiz Keseluruhan +Ruang Kosong +Saiz Kluster +Label +Nama Tempatan +Penyedia +2100 +Opsyen +Bahasa +Bahasa: +Editor +&Editor: + +2200 +Sistem +Kongsikan 7-Zip dengan: +2301 +Integrasikan 7-Zip ke shell konteks menu +Cascaded konteks menu +Item pada konteks menu: +2320 + + +Buka arkib +Ekstrak fail... +Tambahkan ke arkib... +Uji arkib +Ekstrak di sini +Ekstrak ke {0} +Tambahkan ke {0} +Padatkan dan kirimkan melalui email... +Padatkan ke {0} dan kirimkan melalui email +2400 +Folder +&Folder kerja +&Folder sementara sistem +&Sekarang +&Ditentukan: +Hanya untuk pemacu mudah alih +Tentukan lokasi untuk arkib fail sementara. +2500 +Seting +Perlihatkan ".." item +Perlihatkan ikon asli dari fail +Perlihatkan menu sistem +&Pilih barisan penuh +Perlihatkan garisan grid + +&Mod Pilihan Alternatif +Gunakan muka surat memori yang &besar +2900 +Perihal 7-Zip +7-Zip adalah perisian percuma. Sokong pembangunan 7-Zip dengan melakukan pendaftaran. +3000 + +Tidak ada ralat +{0} buah objek telah terpilih +Tidak dapat membuat folder '{0}' +Tidak menyokong pengemaskinian untuk arkib ini. + + + + +Fail '{0}' telah terubah suai.\nApakah anda ingin mengemaskininya pada arkib? +Tidak dapat mengemaskini fail\n'{0}' +Tidak dapat membuka editor. + + + + +Terlalu banyak item +3300 +Sedang mengekstrak +Memampatkan +Pengujian +Membuka... + +3400 +Ekstrak +Ekstrak ke: +Tentukan lokasi untuk pengekstrakan fail. +3410 +Mod laluan +Laluan nama penuh +Tidak pakai nama laluan +3420 +Mod tulis semula +Tanya sebelum menulis semula +Tulis semula tanpa perlu diberitahu +Abaikan fail yang ada +Namakan semula automatik +Namakan automatik fail yang ada +3500 +Pastikan penggantian fail +Folder tujuan telah berisi fail yang telah terproses. +Mahukah anda menggantikan fail yang ada +dengan yang ini? +{0} baits +N&amakan semula Automatik +3700 +Kaedah pemampatan untuk '{0}' tidak disokong. +Data ralat di '{0}'. Fail ini rosak. +CRC gagal di '{0}'. Fail ini rosak. + + +3800 +Masukkan kata laluan +Masukkan kata laluan: + +&Perlihatkan kata laluan + + + +Kata laluan +3900 +Telah berlalu: +Selesai dalam: +Saiz: +Kecepatan: + + +Ralat: + +4000 +Tambahkan ke arkib +&Arkib: +&Mod kemaskini: +Format arkib: +Aras &mampatan: +Kaedah mampatan: +&Saiz kamus: +&Saiz perkataan: + + +&Parameter: +Opsyen +Buat arkib SF&X + + + +Enkripsi nama &fail +Penggunaan memori untuk Memampatkan: +Penggunaan memori untuk Menyah-mampatkan: +4050 +Untuk Penyimpanan +Lebih cepat +Cepat +Normal +Maksimum +Ultra +4060 +Tambah dan gantikan fail +Kemaskini dan tambahkan fail +Perbaharui fail yang ada +Menyesuaikan fail +4070 +Selusur... +Semua Fail + + +6000 +Salin +Pindah +Salin ke: +Pindah ke: +Sedang menyalin... +Sedang memindah... +Namakan semula... + +Operasi tidak disokong. +Ralat, ketika namakan semula Fail atau Folder +Pasti salinkan fail +Anda yakin untuk menyalinkan fail kepada arkib +6100 +Pasti penghapusan fail +Pasti penghapusan folder +Pasti penghapusan fail-fail +Anda yakin untuk menghapus '{0}'? +Anda yakin untuk menghapus folder '{0}' dan semua isi kandungannya? +Anda yakin untuk menghapus item {0}? +Penghapusan... +Ralat ketika menghapuskan Fail atau Folder + +6300 +Buat Folder +Buat Fail +Nama Folder: +Nama Fail: +Folder Baru +Fail Baru +Ralat, tidak dapat Membuat Folder +Ralat, tidak dapat Membuat Fail +6400 +Komen +&Komen: +Pilih +Tidak Memilih +Topeng: +6600 + +Folder Sejarah +Mesej diagnostik +Mesej +7100 +Komputer +Rangkaian + +Sistem +7200 +Tambah +Ekstrak +Uji +Salin +Pindah +Hapus +Maklumat +7300 +Pisahkan Fail +&Pisahkan ke: +Bahagi/belah ke &nilai, baits: +Pembelahan ... + + + + + +7400 +Gabungan Fail +&Gabung ke: +Penggabungan ... + + + +7500 + + + + +7600 +Tanda Aras +Penggunaan memori: +Pemampatan +Penyah-mampatan +Rating +Total Rating +Sekarang +Keputusan + + +Lulus: diff --git a/Utils/7-Zip/Lang/nb.txt b/Utils/7-Zip/Lang/nb.txt new file mode 100644 index 000000000..c90522a41 --- /dev/null +++ b/Utils/7-Zip/Lang/nb.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.45 : Jostein Christoffer Andersen +; : Kjetil Hjartnes +; : Robert Grønning +; +; +; +; +; +; +; +; +0 +7-Zip +Norwegian Bokmal +Norsk BokmÃ¥l +401 +OK +Avbryt + + + +&Ja +&Nei +&Lukk +Hjelp + +&Fortsett +440 +Ja til &alt +Nei til a< +Stopp +Start pÃ¥ nytt +&Bakgrunn +&Forgrunn +&Stopp +Stoppet +Vil du avbryte? +500 +&Fil +&Rediger +&Vis +&Bokmerker +Verk&tøy +&Hjelp +540 +&Ã…pne +Ã…pne &internt +Ã…pne &eksternt +&Vis +&Rediger +Gi nytt &navn +&Kopier til … +&Flytt til … +S&lett +&Del opp arkiv … +&Sett sammen arkiv … +E&genskaper +&Kommentar … +Beregn sjekksum + +Ny &mappe … +Ny f&il … +&Avslutt +600 +Merk &alle +Merk i&ngen +Merk &omvendt +Merk … +Merk &ikke … +Merk &valgt type +Merk i&kke valgt type +700 +&Store ikoner +S&mÃ¥ ikoner +&Liste +&Detaljer +730 +Usortert +&Flat visning +&To felt +&Verktøylinjer +Rotmappe +GÃ¥ opp et nivÃ¥ +Mappelogg … +&Oppdater +750 +Arkivverktøylinje +Standardverktøylinje +Store knapper +Knappetekst +800 +&Bokmerk denne mappen som +Bokmerke +900 +&Innstillinger … +&Yteprøve … +960 +&Innhold +&Om 7-Zip +1003 +Plassering +Navn +Filetternavn +Mappe +Størrelse +Komprimert størrelse +Attributter +Opprettet +Ã…pnet +Endret +Kompakt +Kommentert +Kryptert +Oppdeling før +Oppdeling etter +Ordbok +CRC +Type +Anti +Metode +Vert-OS +Filsystem +Bruker +Gruppe +Blokk +Kommentar +Posisjon +Stiprefiks + + + + + + + + + + + + + + + + + + + + + + + + +Feil +Total plass +Ledig plass +Sektorgruppestørrelse +Etikett +Lokalt navn +Forsyner +2100 +Innstillinger +SprÃ¥k +SprÃ¥k: +Redigering +&Redigeringsprogram: + +2200 +System +Assosier 7-Zip med: +2301 +Integrer 7-Zip i programmenyen +Forgrenet programmeny +Valg i programmenyen: +2320 + + +Ã…pne arkiv +Pakk ut … +Legg til arkiv … +Test arkiv +Pakk ut internt +Pakk ut til {0} +Legg til {0} +Komprimer og send med e-post … +Komprimer til {0} og send med e-post +2400 +Mapper +&Arbeidsmappe +Systemets &midlertidige mappe +&NÃ¥værende +&Egendefinert: +Kun for flyttbare stasjoner +Angi plassering for midlertidige filer. +2500 +Innstillinger +Vis element for Ã¥ gÃ¥ opp et &nivÃ¥ +Vis egentlige fil&ikoner +Vis system&meny +Merk &hele rader +Vis &rutenett + +&Alternativ merking +Bruk &store minnesider +2900 +Om 7-Zip +7-Zip er gratis programvare, men du kan støtte utviklingen av 7-Zip ved Ã¥ registrere deg. +3000 + +Fant ingen feil. +{0} element(er) merket +Klarte ikke opprette mappen «{0}» +Oppdateringsfunksjoner støttes ikke for dette arkivet. +Kan ikke Ã¥pne filen «{0}» som arkiv +Kan ikke Ã¥pne det krypterte arkivet «{0}». Sjekk at du har riktig passord. + + +Filen «{0}» har blitt endret.\nVil du oppdatere den i arkivet? +Klarte ikke oppdatere filen\n«{0}» +Klarte ikke starte redigeringsprogram. + + + + +For mange elementer +3300 +Pakker ut +Komprimerer +Testing +Ã…pner … +Skanner … +3400 +Pakk ut +&Pakk ut til: +Angi plassering for filer som skal pakkes ut. +3410 +Filstier +Fullstendige filstier +Ingen filstier +3420 +Overskrivelse +Bekreft før overskrivelse +Overskriv uten bekreftelse +Hopp over filer som finnes allerede +Navngi nye filer automatisk +Navngi filer som finnes automatisk +3500 +Bekreft filoverskrivelse +Den behandlede filen finnes i mÃ¥lmappen allerede. +Vil du overskrive filen +med denne? +{0} byte +Navngi a&utomatisk +3700 +Komprimeringsmetoden støttes ikke for «{0}». +Datafeil i «{0}». Filen er ødelagt. +CRC-feil i «{0}». Filen er ødelagt. +Datafeil i den krypterte filen «{0}». Sjekk at du har riktig passord. +CRC feilet i den krypterte filen «{0}». Sjekk at du har riktig passord. +3800 +Angi passord +Angi passord: +Bekreft passord: +&Vis passord +Passordene er ikke like +Du kan bare bruke engelske bokstaver, tall eller spesialtegn (!, #, $, …) i passordet +Passordet er for langt +Passord +3900 +Tidsforbruk: +Gjenværende tid: +Størrelse: +Hastighet: + + +Feilet: + +4000 +Legg til arkiv +Filn&avn: +&Oppdateringsmetode: +&Format: +Komprimerings&nivÃ¥: +Komprimerings&metode: +Ord&bokstørrelse: +&Ordstørrelse: +Solid blokk størrelse: +Antall CPU trÃ¥der: +&Parametre: +&Innstillinger +Selvutpakkende arkiv («SF&X») + +Kryptering +Krypteringsmetode: +Kr&ypter filnavn +Minnebruk ved komprimering: +Minnebruk ved dekomprimering: +4050 +Ukomprimert +Raskest +Rask +Normal +Maksimum +Ultra +4060 +Legg til og overskriv filer +Oppdater og legg til filer +Oppdater filer +Synkroniser filer +4070 +Bla gjennom +Alle filer +Ikkje-solid +Solid +6000 +Kopier +Flytt +Kopier til: +Flytt til: +Kopierer … +Flytter … +Navngir … +Velg mÃ¥lmappe. +Operasjonen støttes ikke. +Det oppstod en feil da filen eller mappen skulle navngis +Bekreft at fil skal kopieres +Vil du kopiere filene til arkivet +6100 +Bekreft at fil skal slettes +Bekreft at mappe skal slettes +Bekreft at flere filer skal slettes +Vil du slette «{0}»? +Vil du slette mappen «{0}» med alt innhold? +Vil du slette disse {0} elementene? +Sletter … +Det oppstod en feil da filen eller mappen skulle slettes + +6300 +Ny mappe +Ny fil +Mappenavn: +Filnavn: +Ny mappe +Ny fil +Det oppstod en feil da mappen skulle opprettes +Det oppstod en feil da filen skulle opprettes +6400 +kommentar +&Kommentar: +Merk +Merk ikke +Filter: +6600 + +Mappelogg +Diagnosemeldinger +Melding +7100 +Datamaskin +Nettverk + +System +7200 +Legg til +Pakk ut +Prøv +Kopier +Flytt +Slett +Egenskaper +7300 +Del opp arkiv +&Del opp som: +&Del opp til flere delarkiv i størrelsen: +Deler opp … +Bekreft deling +Er du sikker pÃ¥ at du vil dele arkivet i {0} delarkiv? +Delarkivene mÃ¥ være mindre enn originalarkivet +Ugyldig delarkivstørrelse +Valgt delarkivstørrelse: {0} byte.\nEr du sikker pÃ¥ at du vil dele arkivet med denne størrelsen? +7400 +Sett sammen arkiv +&Sett sammen som: +Setter sammen … +Velg bare det første delarkivet + + +7500 +Beregner sjekksum … +Sjekksuminformasjon +CRC-sjekksum for data: +CRC-sjekksum for data og filnavn: +7600 +Yteprøve +Minnebruk: +Komprimering +Dekomprimering +Ytelse +Samlet ytelse +NÃ¥værende +Resultat +CPU bruk +Ytelse / Bruk +BestÃ¥tt: diff --git a/Utils/7-Zip/Lang/ne.txt b/Utils/7-Zip/Lang/ne.txt new file mode 100644 index 000000000..7c3f29cb8 --- /dev/null +++ b/Utils/7-Zip/Lang/ne.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.37 : Shiva Pokharel, Mahesh Subedi +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Nepali +नेपाली +401 +ठीक छ +रदà¥à¤¦ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ + + + +&हो +&होइन +&बनà¥à¤¦ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +मदà¥à¤¦à¤¤ + +&जारी राखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +440 +&सबैलाई हो +&कसैलाई होइन +रोकà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पà¥à¤¨: सà¥à¤°à¥ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&पृषà¥à¤ à¤­à¥à¤®à¤¿ +&अगà¥à¤°à¤­à¥à¤®à¤¿ +&पज गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पज गरिà¤à¤•ो +तपाईठरदà¥à¤¦ गरà¥à¤¨ यकिन हà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› ? +500 +&फाइल +&समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&हेरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&रà¥à¤šà¤¾à¤‡à¤à¤•ो +&उपकरण +&मदà¥à¤¦à¤¤ +540 +&खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +भितà¥à¤°à¤ªà¤Ÿà¥à¤Ÿà¤¿ खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +बाहरिपटà¥à¤Ÿà¤¿ खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&हेरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पà¥à¤¨: नामकरण गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&यसमा पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ बनाउनà¥à¤¹à¥‹à¤¸à¥... +&यसमा सारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥... +&मेटà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&फाइल विभाजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥... +फाइलहरू संयोजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥... +&गà¥à¤£ +टिपà¥à¤ªà¤£à¥€ +checksum गणना गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ + +फोलà¥à¤¡à¤° सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +फाइल सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +निसà¥à¤•नà¥à¤¹à¥‹à¤¸à¥ +600 +सबै चयन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सबै मेटà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&चयन उलà¥à¤Ÿà¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥ +चयन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥... +चयन हटाउनà¥à¤¹à¥‹à¤¸à¥... +पà¥à¤°à¤•ार अनà¥à¤¸à¤¾à¤° चयन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पà¥à¤°à¤•ार अनà¥à¤¸à¤¾à¤° चयन हटाउनà¥à¤¹à¥‹à¤¸à¥ +700 +ठूलो पà¥à¤°à¤¤à¤¿à¤®à¤¾ +सानो पà¥à¤°à¤¤à¤¿à¤®à¤¾ +&सूची +&वरà¥à¤£à¤¨ +730 +कà¥à¤°à¤®à¤¬à¤¦à¥à¤§ नगरिà¤à¤•ो +फà¥à¤²à¥à¤¯à¤¾à¤Ÿ दृशà¥à¤¯ +&२ पà¥à¤¯à¤¾à¤¨à¤² +&उपकरणपटà¥à¤Ÿà¥€ +पà¥à¤°à¤®à¥‚ल फोलà¥à¤¡à¤° खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +à¤à¤• सà¥à¤¤à¤° माथि +फोलà¥à¤¡à¤°à¤•ो इतिहार... +&ताजा गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +750 +सङà¥à¤—à¥à¤°à¤¹ उपकरणपटà¥à¤Ÿà¥€ +मानक उपकरणपटà¥à¤Ÿà¥€ +ठूलो बटन +बटनको पाठ देखाउनà¥à¤¹à¥‹à¤¸à¥ +800 +&यस रूपमा रूचाइà¤à¤•ोमा फोलà¥à¤¡à¤° थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पà¥à¤¸à¥à¤¤à¤•चिनो +900 +&विकलà¥à¤ª... +&बेञà¥à¤šà¤®à¤¾à¤°à¥à¤• +960 +&सामगà¥à¤°à¥€... +&7-जिपका बारेमा... +1003 +मारà¥à¤— +नाम +विसà¥à¤¤à¤¾à¤° +फोलà¥à¤¡à¤° +साइज +पà¥à¤¯à¤¾à¤• गरिà¤à¤•ो साइज +विशेषता +सिरà¥à¤œà¤¿à¤¤ +पहà¥à¤à¤š +परिमारà¥à¤œà¤¿à¤¤ +ठोस +टिपà¥à¤ªà¤£à¥€ +गà¥à¤ªà¥à¤¤à¤¿à¤•ृत +यस पहिले विभाजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +यस पछि विभाजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +शबà¥à¤¦à¤•ोश +CRC +पà¥à¤°à¤•ार +बिरोधि +विधि +होसà¥à¤Ÿ OS +फाइल पà¥à¤°à¤£à¤¾à¤²à¥€ +पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ +समूह +रोक +टिपà¥à¤ªà¤£à¥€ +सà¥à¤¥à¤¾à¤¨ +मारà¥à¤— पà¥à¤°à¤¤à¥à¤¯à¤¯ + + + + + + + + + + + + + + + + + + + + + + + + +तà¥à¤°à¥à¤Ÿà¤¿ +जमà¥à¤®à¤¾ साइज +सà¥à¤µà¤¤à¤¨à¥à¤¤à¥à¤° रिकà¥à¤¤à¤¸à¥à¤¥à¤¾à¤¨ +समूह साइज +लेबà¥à¤² +सà¥à¤¥à¤¾à¤¨à¤¿à¤¯ नाम +पà¥à¤°à¤¦à¤¾à¤¯à¤• +2100 +विकलà¥à¤ª +भाषा +भाषा: +समà¥à¤ªà¤¾à¤¦à¤• +&समà¥à¤ªà¤¾à¤¦à¤•: + +2200 +पà¥à¤°à¤£à¤¾à¤²à¥€ +यससà¤à¤— 7-जिप समà¥à¤¬à¤¨à¥à¤§à¤¿à¤¤: +2301 +शेल पà¥à¤°à¤¸à¤™à¥à¤— मेनà¥à¤®à¤¾ 7-जिप लाई समà¥à¤®à¤¿à¤²à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सोपानी पà¥à¤°à¤¸à¤™à¥à¤— मेनॠ+पà¥à¤°à¤¸à¤™à¥à¤— मेनॠवसà¥à¤¤à¥: +2320 + + +सङà¥à¤—à¥à¤°à¤¹ खोलà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +फाइलहरू निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥... +सङà¥à¤—à¥à¤°à¤¹à¤®à¤¾ थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥... +सङà¥à¤—à¥à¤°à¤¹ जाà¤à¤šà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +यहाठनिकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +{0} मा निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +{0} मा थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सङà¥à¤•à¥à¤šà¤¨ गरेर इमेल गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥... +{0} मा सङà¥à¤•à¥à¤šà¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ र इमेल गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +2400 +फोलà¥à¤¡à¤° +&कारà¥à¤¯ फोलà¥à¤¡à¤° +&पà¥à¤°à¤£à¤¾à¤²à¥€ टेमà¥à¤ª(असà¥à¤¥à¤¾à¤¯à¥€) फोलà¥à¤¡à¤° +&चालू +&निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ: +हटाउन योगà¥à¤¯ डà¥à¤°à¤¾à¤‡à¤­à¤¹à¤°à¥‚का लागि मातà¥à¤° पà¥à¤°à¤¯à¥‹à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +असà¥à¤¥à¤¾à¤¯à¥€ सङà¥à¤—à¥à¤°à¤¹ फाइलका लागि सà¥à¤¥à¤¾à¤¨ तोकà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ । +2500 +सेटिङ +".." वसà¥à¤¤à¥ देखाउनà¥à¤¹à¥‹à¤¸à¥ +वासà¥à¤¤à¤µà¤¿à¤• फाइल पà¥à¤°à¤¤à¤¿à¤®à¤¾ देखाउनà¥à¤¹à¥‹à¤¸à¥ +पà¥à¤°à¤£à¤¾à¤²à¥€ मेनॠदेखाउनà¥à¤¹à¥‹à¤¸à¥ +&पूरा पङà¥à¤•à¥à¤¤à¤¿ चयन +गà¥à¤°à¤¿à¤¡ रेखा देखाउनà¥à¤¹à¥‹à¤¸à¥ + +&वैकलà¥à¤ªà¤¿à¤• चयन मोड +ठूलो सà¥à¤®à¥ƒà¤¤à¤¿ पृषà¥à¤  पà¥à¤°à¤¯à¥‹à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +2900 +7-जिपका बारेमा +7-जिप निशà¥à¤²à¥à¤• सफà¥à¤Ÿà¤µà¥‡à¤¯à¤° हो। यदà¥à¤¯à¤ªà¥€,तपाईà¤à¤²à¥‡ दरà¥à¤¤à¤¾ गरेर 7-जिपलाई सहयोग गरà¥à¤¨ सकà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› । +3000 + +तà¥à¤¯à¤¹à¤¾à¤ तà¥à¤°à¥à¤Ÿà¤¿ छैन +{0} वसà¥à¤¤à¥(हरू) चयन गरियो +'{0}'फोलà¥à¤¡à¤° सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨ सकिदैन +यो सङà¥à¤—à¥à¤°à¤¹à¤•ा लागि अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• सञà¥à¤šà¤¾à¤²à¤¨ समरà¥à¤¥à¤¨ गरà¥à¤¦à¥ˆà¤¨ + + + + +'{0}'फाइल परिमारà¥à¤œà¤¨ गरिà¤à¤•ो छ ।\nतपाईà¤à¤²à¥‡ यसलाई सङà¥à¤—à¥à¤°à¤¹à¤®à¤¾ अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरà¥à¤¨ चाहनà¥à¤¹à¥à¤¨à¥à¤› ? +फाइल अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरà¥à¤¨ सकिदैन\n'{0}' +समà¥à¤ªà¤¾à¤¦à¤• सà¥à¤°à¥ गरà¥à¤¨ सकिदैन + + + + +धेरै वसà¥à¤¤à¥ +3300 +निकालà¥à¤¦à¥ˆà¤› +सङà¥à¤•à¥à¤šà¤¨ +परीकà¥à¤·à¤£ +खोलà¥à¤¦à¥ˆà¤›... +सà¥à¤•à¥à¤¯à¤¾à¤¨à¤¿à¤™... +3400 +निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +यसलाई निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥: +निकालिà¤à¤•ो फाइलका लागि सà¥à¤¥à¤¾à¤¨ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +3410 +मारà¥à¤— मोड +पूरा मारà¥à¤—नाम +मारà¥à¤—नामहरू छैन +3420 +अधिलेखन मोड +अधिलेखन गरà¥à¤¨à¥ अगाडि सोधà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पà¥à¤°à¥‹à¤®à¥à¤Ÿà¤¬à¤¿à¤¨à¤¾ अधिलेखन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +अवसà¥à¤¥à¤¿à¤¤ फाइलहरू फडà¥à¤•ाउनà¥à¤¹à¥‹à¤¸à¥ +सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤¨: नामकरण +सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤¨: नामकरण अवसà¥à¤¥à¤¿à¤¤ फाइलहरू +3500 +फाइल पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¨ यकिन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +गनà¥à¤¤à¤µà¥à¤¯ फोलà¥à¤¡à¤°à¤²à¥‡ पहिले नै पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ गरिà¤à¤•ो फाइल समावेश गरà¥à¤¦à¤› +अवसà¥à¤¥à¤¿à¤¤ फाइलमा पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¨ गरà¥à¤¨ चाहनà¥à¤¹à¥à¤¨à¥à¤› +योसà¤à¤—? +{0} बाइट +सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤¨: नामकरण +3700 +'{0}'का लागि असमरà¥à¤¥à¤¿à¤¤ सङà¥à¤•à¥à¤šà¤¨ विधि +'{0}'लगत तà¥à¤°à¥à¤Ÿà¤¿ । फाइल बिगà¥à¤°à¥‡à¤•ो छ +'{0}' मा CRC असफल । फाइल बिगà¥à¤°à¥‡à¤•ो छ + + +3800 +पासवरà¥à¤¡ पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पासवरà¥à¤¡ पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥: + +&पासवरà¥à¤¡ देखाउनà¥à¤¹à¥‹à¤¸à¥ + + + +पासवरà¥à¤¡ +3900 +वà¥à¤¯à¤¤à¥€à¤¤ समय: +पà¥à¤¨: नामकरण समय: +साइज: +गति: + + +तà¥à¤°à¥à¤Ÿà¤¿: + +4000 +सङà¥à¤—à¥à¤°à¤¹à¤®à¤¾ थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&सङà¥à¤—à¥à¤°à¤¹: +&अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• मोड: +सङà¥à¤—à¥à¤°à¤¹ ढाà¤à¤šà¤¾: +सङà¥à¤•à¥à¤šà¤¨ सà¥à¤¤à¤°: +सङà¥à¤•à¥à¤šà¤¨ विधि: +&शबà¥à¤¦à¤•ोश साइज: +&शबà¥à¤¦ साइज: + + +&परिमिति: +विकलà¥à¤ª +SF&X सङà¥à¤—à¥à¤°à¤¹ सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ + + + +फाइलनाम गà¥à¤ªà¥à¤¤à¤¿à¤•रण गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सङà¥à¤•à¥à¤šà¤¨à¤•ा लागि सà¥à¤®à¥ƒà¤¤à¤¿ पà¥à¤°à¤¯à¥‹à¤—: +असङà¥à¤•à¥à¤šà¤¨à¤•ा लागि सà¥à¤®à¥ƒà¤¤à¤¿ पà¥à¤°à¤¯à¥‹à¤—: +4050 +भणà¥à¤¡à¤¾à¤° गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सब भनà¥à¤¦à¤¾ छिटो +छिटो +साधारण +अधिकतम +अतà¥à¤¯à¤¨à¥à¤¤ +4060 +फाइल थपेर पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +फाइलहरू अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरेर थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +अवसà¥à¤¥à¤¿à¤¤ फाइल ताजा गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +फाइल समकà¥à¤°à¤®à¤£ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +4070 +बà¥à¤°à¤¾à¤‰à¤œ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सबै फाइल + + +6000 +पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +यसमा पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥: +यसमा सारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥: +पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ गरà¥à¤¦à¥ˆà¤›... +सारà¥à¤¦à¥ˆà¤›... +पà¥à¤¨: नामकरण... + +सञà¥à¤šà¤¾à¤²à¤¨ समरà¥à¤¥à¤¨ गरà¥à¤¦à¥ˆà¤¨ +फाइल वा फोलà¥à¤¡à¤° पà¥à¤¨: नामकरण गरà¥à¤¦à¤¾ तà¥à¤°à¥à¤Ÿà¤¿ +फाइल पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ गरà¥à¤¨ यकिन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +तपाईठफाइलहरू सङà¥à¤—à¥à¤°à¤¹à¤®à¤¾ पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ गरà¥à¤¨ निशà¥à¤šà¤¿à¤¤ हà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› +6100 +फाइल मेटà¥à¤¨ यकिन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +फोलà¥à¤¡ मेटà¥à¤¨ यकिन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +बहà¥à¤µà¤¿à¤§ फाइल मेटà¥à¤¨ यकिन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +तपाईठ'{0}'मेटà¥à¤¨ निशà¥à¤šà¤¿à¤¤ हà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› ? +तपाईठ'{0}' फोलà¥à¤¡à¤° यसको सबै सामगà¥à¤°à¥€ मेटà¥à¤¨ निशà¥à¤šà¤¿à¤¤ हà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› ? +तपाईठ{0} वसà¥à¤¤à¥à¤¹à¤°à¥‚ मेटà¥à¤¨ निशà¥à¤šà¤¿à¤¤ हà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› ? +मेटà¥à¤¦à¥ˆà¤›... +फाइल वा फोलà¥à¤¡à¤° मेटà¥à¤¦à¤¾ तà¥à¤°à¥à¤Ÿà¤¿ + +6300 +फोलà¥à¤¡à¤° सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +फाइल सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +फोलà¥à¤¡à¤° नाम: +फाइल नाम: +नयाठफोलà¥à¤¡à¤° +नयाठफाइल +फोलà¥à¤¡à¤° सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¦à¤¾ तà¥à¤°à¥à¤Ÿà¤¿ +फाइल सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¦à¤¾ तà¥à¤°à¥à¤Ÿà¤¿ +6400 +टिपà¥à¤ªà¤£à¥€ +&टिपà¥à¤ªà¤£à¥€: +चयन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +चयन हटाउनà¥à¤¹à¥‹à¤¸à¥ +मासà¥à¤•: +6600 + +फोलà¥à¤¡à¤° इतिहार +निदानातà¥à¤®à¤• सनà¥à¤¦à¥‡à¤¶ +सनà¥à¤¦à¥‡à¤¶ +7100 +कमà¥à¤ªà¥à¤¯à¥à¤Ÿà¤° +सञà¥à¤œà¤¾à¤² + +पà¥à¤°à¤£à¤¾à¤²à¥€ +7200 +थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +निकालà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +परीकà¥à¤·à¤£ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सारà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +मेटà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +सूचना +7300 +फाइल विभाजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&यसमा विभाजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥: +भोलà¥à¤¯à¥à¤®, बाइटमा विभाजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥: +विभाजन गरà¥à¤¦à¥ˆà¤›... + + + + + +7400 +फाइल संयोजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ +&यसमा संयोजन गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥: +संयोजन गरà¥à¤¦à¥ˆà¤›... + + + +7500 +Checksum गणना गरà¥à¤¦à¥ˆà¤›... +Checksum सूचना +लगतका लागि CRC checksum: +लगत र नामहरूका लागि CRC checksum: +7600 +बेञà¥à¤šà¤®à¤¾à¤°à¥à¤• +सà¥à¤®à¥ƒà¤¤à¤¿ उपयोग: +सङà¥à¤•à¥à¤šà¤¨ +असङà¥à¤•à¥à¤šà¤¨ +दर +जमà¥à¤®à¤¾ दर +हालको +नतिजा + + +पास: diff --git a/Utils/7-Zip/Lang/nl.txt b/Utils/7-Zip/Lang/nl.txt new file mode 100644 index 000000000..c91ecdffa --- /dev/null +++ b/Utils/7-Zip/Lang/nl.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : Bert van Velsen +; 4.26 : Jeroen van der Weijde. +; : Harm Hilvers +; 9.07 : Jeroen Tulp +; 15.00 : Jeroen Tulp +; +; +; +; +; +; +0 +7-Zip +Dutch +Nederlands +401 +OK +Annuleren + + + +&Ja +&Nee +A&fsluiten +Help + +&Hervatten +440 +Ja op &alles +Nee op a&lles +Stop +Herstarten +&Achtergrond +&Voorgrond +&Pauzeren +Gepauzeerd +Weet u zeker dat u wilt annuleren? +500 +&Bestand +Be&werken +Bee&ld +&Favorieten +E&xtra +&Help +540 +&Openen +Open B&innen +Open B&uiten +Bee&ld +&Bewerken +&Hernoemen +&Kopiëren naar... +&Verplaatsen naar... +Verwij&deren +Bestand &opsplitsen... +Bestanden &samenvoegen... +&Eigenschappen +O&pmerking +&Checksum berekenen +Ver&gelijken +Nieuwe &map +&Nieuw bestand +&Sluiten +Koppe&ling +&Alternate Streams +600 +&Alles selecteren +A&lles de-selecteren +Selectie &omkeren +&Selecteer... +&De-selecteer... +Selecteer op &type +De-selecteer op t&ype +700 +&Grote pictogrammen +&Kleine pictogrammen +&Lijst +&Details +730 +&Ongesorteerd +&Platte weergave +&2 Panelen +&Werkbalken +&Root map openen +Één &niveau omhoog +&Mappen Geschiedenis... +&Verversen +&Automatisch verversen +750 +&Archief werkbalk +&Standaard werkbalk +Grote kn&oppen +Knop&tekst weergeven +800 +&Map toevoegen aan Favorieten +Favoriet maken +900 +&Opties... +&Benchmark +960 +&Inhoud... +&Over 7-Zip... +1003 +Pad +Naam +Extensie +Map +Grootte +Ingepakte grootte +Kenmerken +Aangemaakt +Laatst geopend +Gewijzigd +Compact +Commentaar +Gecodeerd +Gesplitst voor +Gesplitst na +Woordenboek + +Type +Anti +Methode +Gastheer OS +Bestandssysteem +Gebruiker +Groep +Blok +Commentaar +Positie +Pad Prefix +Mappen +Bestanden +Versie +Volume +Multivolume +Offset +Koppelingen +Blokken +Volumes + +64-bit +Big-endian +CPU +Fysieke grootte +Kop grootte +Checksum +Karakteristieken +Virtueel Adres +ID +Korte Naam +Aanmaak Applicatie +Sector Grootte +Modus +Symbolische Kpoppeling +Fout +Capaciteit +Beschikbaar +Clustergrootte +Label +Lokale naam +Provider +NT Beveiliging +Alternate Stream +Aux +Verwijderd +Is Structuur + + +Error Type +Errors +Errors +Waarschuwingen +Waarschuwing +Streams +Alternate Streams +Alternate Streams Grootte +Virtuele Grootte +Uitgepakte Grootte +Totale Fysieke Grootte +Volume Index +SubType +Kort Commentaar +Tekstcodering + + + +Tail Grootte +Embedded Stub Grootte +Koppeling +Harde Koppeling +iNode + +Alleen-lezen +2100 +Opties +Taal +Taal: +Editor +&Editor: +&Vergelijken: +2200 +Systeem +Associeer 7-Zip met: +All users +2301 +7-Zip in het contextmenu integreren. +Trapsgewijs contextmenu +Contextmenu items: +Pictogrammen in contexmenu +2320 + + +Open archief +Bestanden uitpakken... +Toevoegen aan archief... +Testen archief +Uitpakken (hier) +Uitpakken naar {0} +Toevoegen aan {0} +Comprimeer en verstuur... +Comprimeer naar {0} en verstuur +2400 +Mappen +&Werkmap +&Tijdelijke systeemmap +&Huidige +&Gespecificeerd: +Alleen voor verwisselbare schijven gebruiken. +Specificeer een locatie voor tijdelijke archiefbestanden. +2500 +Instellingen +Toon ".." &item +Toon &echte bestandspictogrammen +Toon &systeem contextmenu +&Selecteer gehele rij +Toon &rasterlijnen +Enkele klik om een item te openen +&Alternatieve selectiemodus +&Gebruik grote geheugenpagina's +2900 +Over 7-Zip +7-Zip is gratis software. Echter, u kunt de ontwikkeling van 7-Zip ondersteunen door u te registreren. +3000 +Het systeem kan de benodigde hoeveelheid geheugen niet alloceren +Er zijn geen fouten. +{0} item(s) geselecteerd +Kan map '{0}' niet aanmaken. +Bijwerkfuncties niet ondersteund voor dit archief. +Kan bestand '{0}' niet openen als archief. +Kan het gecodeerde archief '{0}' niet openen. Verkeerd wachtwoord? +Niet ondersteund archief type +Bestand {0} bestaat reeds +Bestand '{0}' is gewijzigd.\nWilt u het bijwerken in het archief? +Kan bestand\n'{0}' niet bijwerken. +Kan de editor niet starten. +Het bestand lijkt op een virus (het bevat veel opeenvolgende spaties in de naam). +De actie kan niet worden uitgevoerd vanuit een folder met een dermate lang pad. +U moet 1 bestand selecteren +U moet 1 of meerdere bestanden selecteren +Te veel items +Kan het bestand niet openen als {0} archief +Het bestand is geopend als {0} archief +Het archiefis geopend met een offset +3300 +Uitpakken +Comprimeren +Testen +Openen... +Scannen... +Verwijderen +3320 +Toevoegen +Bijwerken +Analyseren +Repliceren +Opnieuw inpakken +Overslaan +Verwijderen +Kop aanmaken +3400 +&Uitpakken +U&itpakken naar: +Specificeer een locatie voor de uitgepakte bestanden. +3410 +Padmethode +Volledige padnamen +Geen padnamen +Absolute padnamen +Relatieve padnamen +3420 +Overschrijfmethode +Vraag voor overschrijven +Overschrijven zonder bevestiging +Bestaande bestanden overslaan +Automatisch hernoemen +Automatisch hernoemen van bestaande bestanden +3430 +Verwijder duplicaat van de hoofdmap +Herstellen bestandsbeveiliging +3500 +Bevestig vervangen bestand +Doelmap bevat reeds het verwerkte bestand. +Wilt u het bestaande bestand vervangen +door dit bestand? +{0} bytes +A&utomatisch hernoemen +3700 +Niet ondersteunde compressiemethode voor '{0}'. +Gegevensfout in '{0}'. Bestand is beschadigd. +CRC mislukt in '{0}'. Bestand is beschadigd. +Gegevensfout in het gecodeerde bestand '{0}'. Verkeerd wachtwoord? +CRC mislukt in het gecodeerde bestand '{0}'. Verkeerd wachtwoord? +3710 +Verkeerd wachtwoord? +3721 +Niet ondersteunde compresssiemethode +Gegevens fout +CRC mislukt +Data niet beschikbaar +Data eindigd onverwachts +Er is nog wat data na het einde van de payload data +Is geen archief +Kop Error +Verkeerd wachtwoord +3763 +Start van archief is niet beschikbaar +Start van archief is niet bevestigd + + + +Niet ondersteunde functie +3800 +Wachtwoord ingeven +Wachtwoord &ingeven: +Wachtwoord bevestigen: +Wachtwoord &tonen +Wachtwoorden komen niet overeen. +Gebruik alleen alfanumerieke en speciale karakters (!, #, $, ...) voor het wachtwoord +Wachtwoord is te lang. +&Wachtwoord +3900 +Verstreken tijd: +Overgebleven tijd: +Grootte: +Snelheid: +Verwerkt: +Compressie verhouding: +Fouten: +Archieven: +4000 +Toevoegen aan archief +&Archief: +&Bijwerkmethode: +Archief &formaat: +Compressie&niveau: +Compressie&methode: +&Woordenboekgrootte: +W&oordgrootte: +Compacte b&lokgrootte: +Aantal CP&U-threads: +&Parameters: +Opties +SF&X archief maken +Comprimeer &gedeelde bestanden +Codering +Cod&eermethode: +Codee&r bestandsnamen +Geheugengebruik bij het inpakken: +Geheugengebruik bij het uitpakken: +Verwijder bestanden na inpakken +4040 +Symboische koppelingen opslaan +Harde koppelingen opslaan +Alternate data streams opslaan +Bestandsbeveiliging opslaan +4050 +Opslaan +Snelst +Snel +Normaal +Maximum +Ultra +4060 +Bestanden toevoegen en vervangen +Bestanden bijwerken en toevoegen +Bestaande bestanden opfrissen +Bestanden synchroniseren +4070 +Bladeren +Alle bestanden +Niet compact +Compact +6000 +Kopiëren +Verplaatsen +Kopiëren naar: +Verplaatsen naar: +Bezig met kopiëren... +Bezig met verplaatsen... +Bezig met hernoemen... +Selecteer een doelmap. +Functie wordt niet ondersteund. +Fout bij het hernoemen van een bestand of map +Bevestig kopiëren van bestand +Weet u zeker dat u deze bestanden naar het archief wilt kopiëren +6100 +Verwijdering bestand bevestigen +Verwijdering map bevestigen +Verwijdering van meerdere bestanden bevestigen +Weet u zeker dat u '{0}' wilt verwijderen? +Weet u zeker dat u de map '{0}' en alle onderliggende items wilt verwijderen? +Weet u zeker dat u deze {0} items wilt verwijderen? +Bezig met verwijderen... +Fout bij het verwijderen van een bestand of map +Het systeem kan een bestand met een lang pad niet verplaatsen naar de Prullenbak +6300 +Map maken +Bestand maken +Naam van de map: +Bestandsnaam: +Nieuwe map +Nieuw bestand +Fout bij het maken van de map +Fout bij het maken van het bestand. +6400 +Opmerking +&Opmerking: +Selecteren +De-selecteren +Masker: +6600 +Eigenschappen +Mappen Geschiedenis +Diagnostische berichten +Bericht +7100 +Computer +Netwerk +Documenten +Systeem +7200 +Toevoegen +Uitpakken +Testen +Kopiëren +Verplaatsen +Verwijderen +Info +7300 +Opsplitsen bestand +&Opsplitsen naar: +Opsplitsen in &volumes (grootte in bytes): +Bezig met opsplitsen... +Bevestigen opsplitsen +Weet u zeker dat u het bestand wilt opsplitsen in {0} volumes? +De volumegrootte moet kleiner zijn dan de grootte van het oorspronkelijke bestand. +Verkeerde volumegrootte +Gespecificeerde volumegrootte: {0} bytes.\nWeet u zeker dat u het archief zo wilt splitsen? +7400 +Bestanden samenvoegen +&Samenvoegen naar: +Bezig met samenvoegen... +Selecteer alleen het eerste bestand. +Kan het bestand niet herkennen als onderdeel van een gesplitst bestand +Kan niet meer dan 1 deel van een gesplitst bestand +7500 +Bezig met checksum berekenen... +Checksum informatie +CRC checksum voor gegevens: +CRC checksum voor gegevens en namen: +7600 +Benchmark +Geheugengebruik: +Inpakken +Uitpakken +Waarde +Totale waarde +Huidig +Resultaat +CPU-gebruik +Waarde / gebruik +Doorgangen: +7700 +Koppeling +Koppeling +Koppeling van: +Koppeling naar: +7710 +Koppeling Type +Harde Koppeling +Bestand Symbolische Koppeling +Map Symbolische Koppeling +Mapsplitsing diff --git a/Utils/7-Zip/Lang/nn.txt b/Utils/7-Zip/Lang/nn.txt new file mode 100644 index 000000000..bcd7fc8ab --- /dev/null +++ b/Utils/7-Zip/Lang/nn.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.45 : Robert Grønning +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Norwegian Nynorsk +Norsk Nynorsk +401 +OK +Avbryt + + + +&Ja +&Nei +&Lukke +Hjelp + +&Hald fram +440 +Ja til &alt +N&ei til alt +Stopp +Start pÃ¥ nytt +&Bakgrunn +&Forgrunn +&Pause +Sett pÃ¥ pause +Er du sikker pÃ¥ du vil avbryte? +500 +&Fil +&Redigere +&Vis +F&avorittar +Verk&tøy +&Hjelp +540 +&Opna +Opna &Inni +Opna &Utanfor +&Vis +&Redigere +Endra &namn +&Kopiere til... +&Flytt til... +&Slett +&Del opp fil... +Set saman filer... +&Eigenskapar +Ko&mmentar +Rekna ut kontrollnummer + +Opprett mappe +Opprett fil +&Avslutta +600 +&Merk alle +Fjern alle markeringar +&Omvendt markering +Marker... +Fjern markering... +Merk etter type +Fjern markering etter type +700 +S&tore ikon +S&mÃ¥ ikon +&Lista +&Detaljar +730 +Assortert +Flat vising +&2 felt +&Verktøylinjer +Opna kjeldemappa +Opp eit nivÃ¥ +Mappelogg... +&Oppdatere +750 +Arkiv verktøylinje +Standard verktøylinjer +Store knappar +Vis knappetekst +800 +&Legg mappe til i favorittar som +Bokmerke +900 +&Val... +&Yting test +960 +&Innhold... +&Om 7-Zip... +1003 +Bane +Namn +Fil etternamn +Mappe +Størrelse +Komprimert Størrelse +Eigenskapar +Oppretta +Opna +Endra +Solid +Kommentert +Kryptert +Delt før +Delt etter +Ordbok +CRC +Type +Anti +Metode +Vert OS +Filsystem +Brukar +Gruppe +Blokkering +Kommentar +Posisjon +Bane prefiks + + + + + + + + + + + + + + + + + + + + + + + + +Feil +Total størrelse +Ledig plass +Klyngje størrelse +Etikett +Lokalt namn +Leverandør +2100 +Val +SprÃ¥k +SprÃ¥k: +Redigeringsprogram +&Redigeringsprogram: + +2200 +System +Forbind 7-Zip med: +2301 +Legg inn 7-Zip i programmenyen +Forgreina programmeny +Programmeny val: +2320 + + +Opna arkiv +Pakk ut filer... +Legg til i arkiv... +Test arkiv +Pakk ut her +Pakk ut til {0} +Legg til i {0} +Komprimere og send som epost... +Komprimere til {0} og send som epost +2400 +Mapper +&Arbeidsmappe +&Midlertidig mappe +&Noverande +&Eigendefinert: +Berre for flyttbare stasjonar +Oppgje plassering for midlertidige arkiv filer. +2500 +Innstillingar +Vis ".." element +Vis dei ordentlege fil ikona +Vis system meny +&Merk heile rader +Vis &rutenett + +&Alternativ markerings modus +Bruk &store minnesider +2900 +Om 7-Zip +7-Zip er fri programvare. Du kan støtta utviklinga av 7-Zip ved Ã¥ registrere deg. +3000 + +Ingen feil +{0} objekt(ar) valt +Kan ikkje oppretta mappe '{0}' +Dette arkivet manglar støtte for Ã¥ kunne oppdaterast. +Kan ikkje opna fila '{0}' som eit arkiv +Kan ikkje opna det krypterte arkivet '{0}'. Feil passord? + + +Fila '{0}' blei endra.\nVil du oppdatere den i arkivet? +Kan ikkje oppdatere fil\n'{0}' +Kan ikkje starta redigeringsprogram. + + + + +For mange gonger +3300 +Pakkar ut +Komprimerer +Testing +Opnar... +Undersøkjer... +3400 +Pakk ut +Pakk ut &til: +Vel ei mappe for ut-pakka filer. +3410 +Bane modus +Fulstendig banenamn +Ingen banenamn +3420 +Overskriving modus +Bekrefta før overskriving +Skriv over utan bekrefting +Hopp over eksisterande filer +Endra filnamn automatisk +Endra filnamn automatisk for eksisterande filer +3500 +Bekrefta overskriving av fil +MÃ¥lmappa inneheld allereie ei behandla fil. +Vil du overskriva den eksisterande fila +med denne? +{0} byte +&Skift filnamn automatisk +3700 +Kompresjonsmetoden er ikkje støtta for '{0}'. +Data feil i '{0}'. Fila er øydelagt. +CRC feila pÃ¥ '{0}'. Fila er øydelagt. +Data feil i den krypterte fila '{0}'. Feil passord? +CRC feila i den krypterte fila '{0}'. Feil passord? +3800 +Skriv inn passord +Skriv inn passord: +Skriv inn passordet pÃ¥ nytt: +&Vis passord +Passorda er ikkje like +Bruk berre Engelske bokstavar, tal og spesielle teikn (!, #, $, ...) i passordet +Passordet er for langt +Passord +3900 +Tid brukt: +Tid gjenstÃ¥r: +Størrelse: +Fart: + + +Feil: + +4000 +Legg til i arkiv +&Arkiv: +&Oppdaterings modus: +Arkiv &format: +Kompresjons &nivÃ¥: +Kompresjons &metode: +O&rdbok størrelse: +Or&d størrelse: +Solid blokk størrelse: +Anntal CPU trÃ¥der: +&Parameter: +Val +Opprett SF&X arkiv + +Krypter +Krypter metode: +&Krypter filnamn +Minnebruk ved kompresjon: +Minnebruk ved ut-pakking: +4050 +Lagre +Raskast +Rask +Normal +Maksimum +Ekstrem +4060 +Legg til og skriv over filer +Oppdatere og legg til filer +Frisk opp eksisterande filer +Synkroniser filer +4070 +Bla igjennom +Alle filer +Ikkje-solid +Solid +6000 +Kopiere +Flytt +Kopiere til: +Flytt til: +Kopierer... +Flyttar... +Endrar namn... +Vel mÃ¥lmappe. +Støttar ikkje handlinga. +Feil ved endring av namn pÃ¥ fil eller mappe +Godkjenne filkopiering +Er du sikker pÃ¥ at du vil kopiere filer til arkiv +6100 +Godkjenne sletting av fil +Godkjenne sletting av mappe +Godkjenne sletting av fleire filer +Er du sikker pÃ¥ at du vil sletta '{0}'? +Er du sikker pÃ¥ at du vil sletta mappa '{0}' og alt innhold i den? +Er du sikker pÃ¥ at du vil sletta desse {0} elementa? +Slettar... +Feil ved sletting av fil eller mappe + +6300 +Opprett mappe +Opprett fil +Mappe namn: +Filnamn: +Ny mappe +Ny fil +Feil ved oppretting av mappe +Feil ved oppretting av fil +6400 +Kommentar +&Kommentar: +Marker +Fjern markering +Maske: +6600 + +Mappe logg +Diagnose meldingar +Melding +7100 +Datamaskin +Nettverk + +System +7200 +Legg til +Pakk ut +Test +Kopiere +Flytt +Slett +Informasjon +7300 +Del opp fil +&Del opp til: +Splitt opp i deler, byte: +Delar opp... +Godkjenne oppdeling +Er du sikker pÃ¥ at du vil dele opp fila i {0} delar? +Størrelsen pÃ¥ delane mÃ¥ vera mindre enn størrelsen pÃ¥ originalfila +Feil del-størrelse +Oppgitt del-størrelse: {0} byte.\nEr du sikker pÃ¥ du vil dele arkivet opp i slike deler? +7400 +SlÃ¥ saman filer +&SlÃ¥ saman til: +SlÃ¥r saman... +Berre vel den første fila + + +7500 +Reknar ut kontrollnummer... +Informasjon om kontrollnummer +CRC kontrollnummer for data: +CRC kontrollnummer for data og namn: +7600 +Yting test +Minnebruk: +Kompresjon +Ut-pakking +Yting +Total yting +Noverande +Resultat +CPU bruk +Yting / Bruk +Gonger: diff --git a/Utils/7-Zip/Lang/pa-in.txt b/Utils/7-Zip/Lang/pa-in.txt new file mode 100644 index 000000000..8633ed4fb --- /dev/null +++ b/Utils/7-Zip/Lang/pa-in.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.53 : Gurmeet Singh Kochar +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Punjabi, Indian +ਪੰਜਾਬੀ +401 +ਠੀਕ ਹੈ +ਰੱਦ ਕਰੋ + + + +ਹਾਂ (&Y) +ਨਹੀਂ (&N) +ਬੰਦ ਕਰੋ (&C) +ਮੱਦਦ + +ਜਾਰੀ ਕਰੋ (&C) +440 +ਸਾਰਿਆਂ ਲਈ ਹਾਂ (&A) +ਸਾਰਿਆਂ ਲਈ ਨਹੀਂ (&l) +ਰà©à¨•à©‹ +ਮà©à©œ ਚਾਲੂ ਕਰੋ +ਬੈਕਗਰਾਉਂਡ (&B) +ਫੋਰਗਰਾਉਂਡ (&F) +ਪੋਜ਼ (&P) +ਪੋਜ਼ ਹੋਇਆ +ਕੀ ਤà©à¨¸à©€à¨‚ ਨਿਸ਼ਚਿੱਤ ਹੀ ਰੱਦ ਕਰਨਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ? +500 +ਫਾਇਲ (&F) +ਸੋਧ (&E) +ਵੇਖੋ (&V) +ਪਸੰਦੀਦਾ (&a) +ਸੰਧ (&T) +ਮੱਦਦ (&H) +540 +ਖੋਲੋ (&O) +ਅੰਦਰ ਖੋਲੋ (&I) +ਬਾਹਰ ਖੋਲੋ (&u) +ਵਿਖਾਓ (&V) +ਸੋਧ ਕਰੋ (&E) +ਨਾਂ ਬਦਲੋ (&m) +ਨਵੇਂ ਟਿਕਾਣੇ ਤੇ ਨਕਲ ਉਤਾਰੋ (&C)... +ਨਵੇਂ ਟਿਕਾਣੇ ਤੇ ਭੇਜੋ (&M)... +ਹਟਾਓ (&D) +ਫਾਇਲ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡੋ (&S)... +ਫਾਇਲ ਦੇ ਹਿੱਸੇ ਜੋੜੋ (&b)... +ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ (&r) +ਟਿੱਪਣੀ (&n) +ਚੈਕਸੱਮ ਗਣਨਾ ਕਰੋ + +ਫੋਲਡਰ ਬਣਾਓ +ਫਾਇਲ ਬਣਾਓ +ਬਾਹਰ ਨਿਕਲੋ (&x) +600 +ਸਭ ਚà©à¨£à©‹ (&A) +ਸਭ ਚੋਣ ਰੱਦ ਕਰੋ +ਉਲਟ ਚੋਣ ਕਰੋ (&I) +ਚà©à¨£à©‹... +ਚੋਣ ਰੱਦ ਕਰੋ... +ਕਿਸਮ ਨਾਲ ਚà©à¨£à©‹ ਕਰੋ +ਕਿਸਮ ਨਾਲ ਚੋਣ ਰੱਦ ਕਰੋ +700 +ਵੱਡੇ ਆਈਕਾਨ (&g) +ਛੋਟੇ ਆਈਕਾਨ (&m) +ਸੂਚੀ (&L) +ਵੇਰਵੇ ਸਹਿਤ (&D) +730 +ਨਾ ਕà©à¨°à¨®-ਬੱਧ +ਫਲੈਟ ਦà©à¨°à¨¿à¨¸à¨¼ +&2 ਪੈਨਲ +ਟੂਲਬਾਰ (&T) +ਰੂਟ ਫੋਲਡਰ ਖੋਲੋ +ਇੱਕ ਪੱਧਰ ਉੱਤੇ +ਫੋਲਡਰ ਅਤੀਤ... +ਤਾਜ਼ਾ ਕਰੋ(&R) +750 +ਆਕਾਈਵ ਟੂਲਬਾਰ +ਸਧਾਰਨ ਟੂਲਬਾਰ +ਵੱਡੇ ਬਟਨ +ਬਟਨ ਟੈਕਸਟ ਵਿਖਾਓ +800 +ਫੋਲਡਰ ਪਸੰਦੀਦਾ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ (&A) +ਬà©à©±à¨•ਮਾਰਕ +900 +ਚੋਣਾਂ (&O)... +ਬੈਂਚਮਾਰਕ (&B) +960 +ਵਿਸ਼ਾ ਸੂਚੀ (&C)... +7-ਜ਼ਿੱਪ ਬਾਰੇ (&A)... +1003 +ਮਾਰਗ +ਨਾਂ +à¨à¨•ਸਟੈਂਸ਼ਨ +ਫੋਲਡਰ +ਸਾਈਜ਼ +ਪੈਕਡ ਸਾਈਜ਼ +ਲੱਛਨ +ਬਣਤਰ ਸਮਾਂ +ਪਹà©à©°à¨š ਸਮਾਂ +ਸੋਧ ਸਮਾਂ +ਠੋਸ +ਟਿੱਪਣੀ +à¨à¨¨à¨•à©à¨°à¨¿à¨ªà¨Ÿà¨¡ +Split Before +Split After +ਡਿਕਸ਼ਨਰੀ +ਸੀ-ਆਰ-ਸੀ (CRC) +ਕਿਸਮ +à¨à¨‚ਟੀ (Anti) +ਢੰਗ +ਮੇਜ਼ਬਾਨ ਔ-à¨à©±à¨¸ +ਫਾਇਲ ਸਿਸਟਮ +ਯੂਜ਼ਰ +ਸਮੂਹ +ਬਲੋਕ +ਟਿੱਪਣੀ +ਸਥਿੱਤੀ +ਮਾਰਗ ਅਗੇਤਰ +ਫੋਲਡਰ +ਫਾਇਲਾਂ +ਵਰਜਨ +ਵੋਲà©à©±à¨® +ਮਲਟੀਵੋਲà©à©±à¨® +ਔਫ਼ਸੈਟ +ਲਿੰਕ +ਬਲੋਕ +ਵੋਲà©à©±à¨® + + + + + + + + + + + + + + + +ਸਮੱਸਿਆ +ਕà©à©±à¨² ਸਾਈਜ਼ +ਖ਼ਾਲੀ ਥਾਂ +ਕਲੱਸਟਰ ਸਾਈਜ਼ +ਲੇਬਲ +ਸਥਾਨਕ ਨਾਂ +ਉਪਲੱਬਧ ਕਰਤਾ +2100 +ਚੋਣਾਂ +ਭਾਸ਼ਾ +ਭਾਸ਼ਾ: +à¨à¨¡à©€à¨Ÿà¨° +ਟੈਕਸਟ à¨à¨¡à©€à¨Ÿà¨° (&E): + +2200 +ਸਿਸਟਮ +7-ਜ਼ਿੱਪ ਨਾਲ ਹੇਠਾਂ ਦਿੱਤੇ ਫਾਇਲ à¨à¨•ਸਟੈਂਸ਼ਨ ਜੋੜੋ: +2301 +ਸ਼ੈੱਲ ਕੰਨਟੈਕਸਟ ਮੇਨੂੰ ਨਾਲ 7-ਜ਼ਿੱਪ ਨੂੰ à¨à¨•ੀਕਿਰਤ ਕਰੋ +ਕੈਸਕੇਡਡ ਕੰਨਟੈਕਸਟ ਮੇਨੂੰ +ਕੰਨਟੈਕਸਟ ਮੇਨੂੰ ਆਈਟਮਾਂ: +2320 +<ਫੋਲਡਰ> +<ਆਕਾਈਵ> +ਆਕਾਈਵ ਖੋਲੋ +ਫਾਇਲਾਂ ਕੱਡੋ... +ਆਕਾਈਵ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ... +ਆਕਾਈਵ ਪਰਖੋ +ਫਾਇਲਾਂ ਇੱਥੇ ਕੱਡੋ +{0} ਵਿੱਚ ਕੱਡੋ +{0} ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ +ਨਪੀੜੋ ਅਤੇ ਈਮੇਲ ਕਰੋ... +{0} ਵਿੱਚ ਨਪੀੜੋ ਅਤੇ ਈਮੇਲ ਕਰੋ +2400 +ਫੋਲਡਰ +ਵਰਕਿੰਗ ਫੋਲਡਰ (&W) +ਸਿਸਟਮ ਆਰਜ਼ੀ (temp) ਫੋਲਡਰ (&S) +ਇਸ ਸਮੇਂ ਚà©à¨£à¨¿à¨† (&C) +ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ (&S): +ਸਿਰਫ਼ ਹਟਾਈ ਜਾ ਸੱਕਨ ਵਾਲੀਆਂ ਡਰਾਈਵ ਲਈ ਵਰਤੋਂ ਕਰੋ +ਆਰਜ਼ੀ ਆਕਾਈਵ ਫਾਇਲਾਂ ਲਈ ਟਿਕਾਣਾ ਦੱਸੋ। +2500 +ਸੈਟਿੰਗ +".." ਆਈਟਮ ਵਿਖਾਓ +ਅਸਲੀ ਫਾਇਲ ਆਈਕਾਨ ਵਿਖਾਓ +ਸਿਸਟਮ ਮੇਨੂੰ ਵਿਖਾਓ +ਪੂਰੀ ਕਤਾਰ ਚà©à¨£à©‹ (&F) +ਗà©à¨°à¨¿à¨¡ ਲਾਈਨਾਂ ਵਿਖਾਓ (&g) + +ਵਿਕਲਪਕ ਚà©à¨£à¨¾à¨“ ਢੰਗ (&A) +ਵੱਡੇ ਮੈਮੋਰੀ ਪੇਜ ਵਰਤੋ (&l) +2900 +7-ਜ਼ਿੱਪ ਬਾਰੇ +7-ਜ਼ਿੱਪ ਇੱਕ ਮà©à¨«à¨¼à¨¤ ਸਾਫ਼ਟਵੇਅਰ ਹੈ। ਪਰ ਫੇਰ ਵੀ, ਤà©à¨¸à©€à¨‚ ਰਜਿਸਟਰ ਕਰਕੇ 7-ਜ਼ਿੱਪ ਦੇ ਵਿਕਾਸ ਵਿੱਚ ਸਮਰਥਨ ਪਾ ਸੱਕਦੇ ਹੋ।\n\nਪੰਜਾਬੀ ਵਿੱਚ ਅਨà©à¨µà¨¾à¨¦ ਕੀਤਾ (Translation Done By):\nGurmeet Singh Kochar (ਗà©à¨°à¨®à©€à¨¤ ਸਿੰਘ ਕੋਚਰ)\n +3000 + +ਕੋਈ ਸਮੱਸਿਆਵਾਂ ਨਹੀਂ ਹਨ +ਚà©à¨£à©‡ ਪਦਾਰਥ: {0} +'{0}' ਫੋਲਡਰ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸੱਕਿਆ +ਅੱਪਡੇਟ ਔਪਰੇਸ਼ਨ ਇਸ ਆਕਾਈਵ ਲਈ ਸਹਿਯੋਗੀ ਨਹੀਂ ਹਨ। +'{0}' ਫਾਇਲ ਨੂੰ ਆਕਾਈਵ ਤਰà©à¨¹à¨¾à¨‚ ਨਹੀਂ ਖੋਲਿਆ ਜਾ ਸੱਕਿਆ +'{0}' à¨à¨¨à¨•à©à¨°à¨¿à¨ªà¨Ÿà¨¡ ਆਕਾਈਵ ਨਹੀਂ ਖੋਲਿਆ ਜਾ ਸੱਕਿਆ। ਗਲ਼ਤ ਪਾਸਵਰਡ? + + +'{0}' ਫਾਇਲ ਸੋਧ ਦਿੱਤੀ ਗਈ ਹੈ।\nਕੀ ਤà©à¨¸à©€à¨‚ ਉਸਨੂੰ ਆਕਾਈਵ ਵਿੱਚ ਅੱਪਡੇਟ ਕਰਨਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ? +ਫਾਇਲ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸੱਕੀ\n'{0}' +à¨à¨¡à©€à¨Ÿà¨° ਚਾਲੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸੱਕਿਆ। + + + + +ਬਹà©à©±à¨¤ ਸਾਰੀਆਂ ਆਈਟਮਾਂ +3300 +ਕੱਡੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ +ਨਪੀੜਨ ਕਾਰਜ ਚੱਲ ਰਿਹਾ ਹੈ +ਪਰਖ ਚੱਲ ਰਹੀ ਹੈ +ਖੋਲੀ ਜਾ ਰਹੀ ਹੈ... +ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ... +3400 +ਕੱਡੋ +ਇੱਥੇ ਕੱਡੋ (&x): +ਕੱਡੀਆਂ ਜਾਉਣ ਵਾਲੀਆਂ ਫਾਇਲਾਂ ਲਈ ਟਿਕਾਣਾ ਦੱਸੋ। +3410 +ਮਾਰਗ ਢੰਗ +ਪੂਰੇ ਮਾਰਗ ਨਾਂ +ਕੋਈ ਮਾਰਗ ਨਾਂ ਨਹੀਂ +3420 +ਉਪਰੀਲੇਖਨ ਢੰਗ +ਉਪਰੀਲੇਖਨ ਤੋਂ ਪਹਿਲਾਂ ਤਸਦੀਕ +ਬਿਨà©à¨¹à¨¾à¨‚ ਤਸਦੀਕ ਉਪਰੀਲੇਖਨ +ਮੌਜੂਦਾ ਫਾਇਲਾਂ ਨਾਂ ਕੱਡੋ +ਆਪੇ ਨਾਂ ਬਦਲ ਦਿਓ +ਮੌਜੂਦਾ ਫਾਇਲਾਂ ਦਾ ਆਪੇ ਨਾਂ ਬਦਲ ਦਿਓ +3500 +ਫਾਇਲ ਬਦਲਨ ਦੀ ਤਸਦੀਕ +ਕਾਰਵਾਈ ਕੀਤੀ ਜਾਉਂਦੀ ਫਾਇਲ ਨਿਯਤ ਫੋਲਡਰ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। +ਕੀ ਤà©à¨¸à©€à¨‚ ਮੌਜੂਦਾ ਫਾਇਲ ਨੂੰ +ਇਸ ਫਾਇਲ ਨਾਲ ਬਦਲਨਾ ਚਾਹੋਗੇ? +{0} ਬਾਈਟ +ਆਪੇ ਨਾਂ ਬਦਲੀ ਕਰੋ (&u) +3700 +'{0}' ਲਈ ਨਪੀੜਨ ਢੰਗ ਸਹਿਯੋਗੀ ਨਹੀਂ। +'{0}' ਵਿੱਚ ਡਾਟਾ ਸਮੱਸਿਆ। ਫਾਇਲ ਟà©à©±à¨Ÿà©€ ਹੋਈ ਹੈ। +'{0}' ਵਿੱਚ ਸੀ-ਆਰ-ਸੀ ਅਸਫ਼ਲ ਰਿਹਾ। ਫਾਇਲ ਟà©à©±à¨Ÿà©€ ਹੋਈ ਹੈ। +'{0}' à¨à¨¨à¨•à©à¨°à¨¿à¨ªà¨Ÿà¨¡ ਫਾਇਲ ਵਿੱਚ ਡਾਟਾ ਸਮੱਸਿਆ। ਗਲ਼ਤ ਪਾਸਵਰਡ? +'{0}' à¨à¨¨à¨•à©à¨°à¨¿à¨ªà¨Ÿà¨¡ ਫਾਇਲ ਵਿੱਚ ਸੀ-ਆਰ-ਸੀ ਅਸਫ਼ਲ ਰਿਹਾ। ਗਲ਼ਤ ਪਾਸਵਰਡ? +3800 +ਪਾਸਵਰਡ ਭਰੋ +ਪਾਸਵਰਡ ਭਰੋ: +ਪਾਸਵਰਡ ਮà©à©œ ਭਰੋ: +ਪਾਸਵਰਡ ਵਿਖਾਓ (&S) +ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ +ਪਾਸਵਰਡ ਲਈ ਸਿਰਫ਼ ਅੰਗà©à¨°à©‡à¨œà¨¼à©€ ਅੱਖਰ, ਅੰਕ, ਅਤੇ ਖ਼ਾਸ ਅੱਖਰਾਂ (!, #, $, ...) ਦੀ ਹੀ ਵਰਤੋਂ ਕਰੋ +ਪਾਸਵਰਡ ਬਹà©à©±à¨¤ ਲੰਬਾ ਹੈ +ਪਾਸਵਰਡ +3900 +ਬੀਤਿਆ ਸਮਾਂ: +ਰਹਿੰਦਾ ਸਮਾਂ: +ਕà©à©±à¨² ਸਾਈਜ਼: +ਗਤੀ: +ਨਿਬੇੜੀਆਂ ਬਾਈਟ: +ਨਪੀੜਨ ਅਨà©à¨ªà¨¾à¨¤: +ਸਮੱਸਿਆਵਾਂ: +ਆਕਾਈਵਾਂ: +4000 +ਆਕਾਈਵ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ +ਆਕਾਈਵ (&A): +ਅੱਪਡੇਟ ਢੰਗ (&U): +ਆਕਾਈਵ ਫੌਰਮੈਟ (&f): +ਨਪੀੜਨ ਪੱਧਰ (&l): +ਨਪੀੜਨ ਢੰਗ (&m): +ਡਿਕਸ਼ਨਰੀ ਸਾਈਜ਼ (&D): +ਵਰਡ ਸਾਈਜ਼(&W): +ਠੋਸ ਬਲੋਕ ਸਾਈਜ਼: +ਸੀ-ਪੀ-ਯੂ ਥਰੈੱਡ ਗਿਣਤੀ: +ਪੈਰਾਮੀਟਰ (&P): +ਚੋਣਾਂ +SF&X ਆਕਾਈਵ ਬਣਾਓ +ਵਰਤੀਆਂ ਜਾਉਂਦੀਆਂ ਫਾਇਲਾਂ ਨੂੰ ਵੀ ਨਪੀੜੋ +à¨à¨¨à¨•à©à¨°à¨¿à¨ªà¨¸à¨¼à¨¨ +à¨à¨¨à¨•à©à¨°à¨¿à¨ªà¨¸à¨¼à¨¨ ਢੰਗ: +ਫਾਇਲਾਂ ਦੇ ਨਾਂ à¨à¨¨à¨•à©à¨°à¨¿à¨ªà¨Ÿ ਕਰੋ (&n) +ਨਪੀੜਨ ਲਈ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ: +ਆਕਾਈਵ ਖੋਲਨ ਲਈ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ: +4050 +ਸਿਰਫ਼ ਇਕੱਤਰਤਾ +ਬਹà©à©±à¨¤ ਤੇਜ਼ +ਤੇਜ਼ +ਆਮ +ਵੱਧੋਂ ਵੱਧ +ਸਭ ਤੋਂ ਵੱਧ +4060 +ਫਾਇਲਾਂ ਸ਼ਾਮਲ ਕਰੋ ਅਤੇ ਬਦਲੋ +ਫਾਇਲਾਂ ਸ਼ਾਮਲ ਅਤੇ ਅੱਪਡੇਟ ਕਰੋ +ਮੌਜੂਦਾ ਫਾਇਲਾਂ ਤਾਜ਼ਾ ਕਰੋ +ਫਾਇਲਾਂ ਸਮਕਾਲਵਰਤੀ ਕਰੋ +4070 +ਬਰਾਊਜ਼ +ਸਾਰੀਆਂ ਫਾਇਲਾਂ +ਨਾ-ਠੋਸ +ਠੋਸ +6000 +ਨਵੇਂ ਟਿਕਾਣੇ ਤੇ ਨਕਲ ਉਤਾਰੋ +ਨਵੇਂ ਟਿਕਾਣੇ ਤੇ ਭੇਜੋ +ਹੇਠਾਂ ਦਿੱਤੇ ਟਿਕਾਣੇ ਤੇ ਨਕਲ ਉਤਾਰੋ: +ਹੇਠਾਂ ਦਿੱਤੇ ਟਿਕਾਣੇ ਤੇ ਭੇਜੋ: +ਨਕਲ ਉਤਾਰੀ ਜਾ ਰਹੀ ਹੈ... +ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ... +ਨਾਂ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ... +ਨਿਯਤ ਫੋਲਡਰ ਚà©à¨£à©‹ +ਕਾਰਵਾਈ ਸਹਿਯੋਗੀ ਨਹੀਂ ਹੈ। +ਫਾਇਲ ਜਾਂ ਫੋਲਡਰ ਦਾ ਨਾਂ ਬਦਲਣ ਵਿੱਚ ਸਮੱਸਿਆ +ਫਾਇਲ ਦੀ ਨਕਲ ਉਤਾਰਣ ਦੀ ਤਸਦੀਕ +ਕੀ ਤà©à¨¸à©€à¨‚ ਨਿਸ਼ਚਿੱਤ ਫਾਇਲਾਂ ਦੀ ਆਕਾਈਵ ਵਿੱਚ ਨਕਲ ਉਤਾਰਨਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ +6100 +ਫਾਇਲ ਹਟਾਉਣ ਦੀ ਤਸਦੀਕ +ਫੋਲਡਰ ਹਟਾਉਣ ਦੀ ਤਸਦੀਕ +ਬਹà©-ਫਾਈਲਾਂ ਹਟਾਉਣ ਦੀ ਤਸਦੀਕ +'{0}' ਨੂੰ ਹਟਾਉਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ? +ਕੀ ਤà©à¨¸à©€à¨‚ ਨਿਸ਼ਚਿੱਤ ਫੋਲਡਰ '{0}' ਅਤੇ ਉਸਦੇ ਵਿੱਚਲੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ? +ਕੀ ਤà©à¨¸à©€à¨‚ ਨਿਸ਼ਚਿੱਤ ਇਨà©à¨¹à¨¾à¨‚ {0} ਆਈਟਮਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ? +ਹਟਾਉਣ ਦੀ ਕਾਰਵਾਈ ਚੱਲ ਰਹੀ ਹੈ... +ਫਾਇਲ ਜਾਂ ਫੋਲਡਰ ਹਟਾਉਣ ਵਿੱਚ ਸਮੱਸਿਆ + +6300 +ਫੋਲਡਰ ਬਣਾਓ +ਫਾਇਲ ਬਣਾਓ +ਫੋਲਡਰ ਨਾਂ: +ਫਾਇਲ ਨਾਂ: +ਨਵਾਂ ਫੋਲਡਰ +ਨਵੀਂ ਫਾਇਲ +ਫੋਲਡਰ ਬਨਾਉਣ ਵਿੱਚ ਸਮੱਸਿਆ +ਫਾਇਲ ਬਨਾਉਣ ਵਿੱਚ ਸਮੱਸਿਆ +6400 +ਟਿੱਪਣੀ +ਟਿੱਪਣੀ (&C): +ਚà©à¨£à©‹ +ਚੋਣ ਰੱਦ ਕਰੋ +ਮਾਸਕ: +6600 +ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ +ਫੋਲਡਰ ਅਤੀਤ +ਡਾਈਗਨੋਸਟਿੱਕ ਸੰਦੇਸ਼ +ਸੰਦੇਸ਼ +7100 +ਕੰਪਿਊਟਰ +ਨੈੱਟਵਰਕ + +ਸਿਸਟਮ +7200 +ਸ਼ਾਮਲ ਕਰੋ +ਕੱਡੋ +ਪਰਖ ਕਰੋ +ਨਕਲ ਉਤਾਰੋ +ਨਵੇਂ ਟਿਕਾਣੇ ਤੇ ਭੇਜੋ +ਹਟਾਓ +ਜਾਣਕਾਰੀ +7300 +ਫਾਇਲ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡੋ +ਹੇਠਾਂ ਦਿੱਤੇ ਟਿਕਾਣੇ ਉੱਤੇ ਹਿੱਸੇ ਕਰੋ (&S): +ਵੋਲà©à©±à¨®à¨¾à¨‚ ਵਿੱਚ ਵੰਡੋ, ਬਾਈਟ (&v): +ਫਾਇਲ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡੀ ਜਾ ਰਹੀ ਹੈ... +ਹਿੱਸੇ ਕਰਨ ਦੀ ਤਸਦੀਕ +ਕੀ ਤà©à¨¸à©€à¨‚ ਨਿਸ਼ਚਿੱਤ ਫਾਇਲ ਦੇ {0} ਵੋਲà©à©±à¨®à¨¾à¨‚ ਵਿੱਚ ਹਿੱਸੇ ਕਰਨਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ? +ਵੋਲà©à©±à¨® ਸਾਈਜ਼ ਅਸਲੀ ਫਾਇਲ ਦੇ ਸਾਈਜ਼ ਤੋਂ ਛੋਟਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ +ਵੋਲà©à©±à¨® ਸਾਈਜ਼ ਗਲ਼ਤ ਹੈ +ਦਿੱਤਾ ਗਿਆ ਵੋਲà©à©±à¨® ਸਾਈਜ਼: {0} ਬਾਈਟ।\nਕੀ ਤà©à¨¸à©€à¨‚ ਨਿਸ਼ਚਿੱਤ ਆਕਾਈਵ ਨੂੰ ਦਿੱਤੇ ਗਠਵੋਲà©à©±à¨®à¨¾à¨‚ ਵਿੱਚ ਵੰਡਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ? +7400 +ਫਾਇਲ ਦੇ ਹਿੱਸੇ ਜੋੜੋ +ਹੇਠਾਂ ਦਿੱਤੇ ਟਿਕਾਣੇ ਉੱਤੇ ਹਿੱਸੇ ਜੋੜੋ(&C): +ਹਿੱਸੇ ਜੋੜੇ ਜਾ ਰਹੇ ਹਨ... +ਸਿਰਫ਼ ਪਹਿਲੀ ਫਾਇਲ ਚà©à¨£à©‹ + + +7500 +ਚੈਕਸੱਮ ਗਣਨਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ... +ਚੈਕਸੱਮ ਜਾਣਕਾਰੀ +ਡਾਟਾ ਲਈ ਸੀ-ਆਰ-ਸੀ ਚੈਕਸੱਮ: +ਡਾਟਾ ਅਤੇ ਨਾਮਾਂ ਲਈ ਸੀ-ਆਰ-ਸੀ ਚੈਕਸੱਮ: +7600 +ਬੈਂਚਮਾਰਕ +ਮੈਮੋਰੀ ਵਰਤੋਂ: +ਨਪੀੜਨ ਕਾਰਜ +ਖੋਲਣ ਕਾਰਜ +ਦਰਜ਼ਾ +ਕà©à©±à¨² ਦਰਜ਼ਾ +ਇਸ ਸਮੇਂ +ਰੀਸੱਲਟਿੰਗ +ਸੀ-ਪੀ-ਯੂ ਵਰਤੋਂ +ਦਰਜ਼ਾ / ਵਰਤੋਂ +ਪਾਸ: diff --git a/Utils/7-Zip/Lang/pl.txt b/Utils/7-Zip/Lang/pl.txt new file mode 100644 index 000000000..e8d20b880 --- /dev/null +++ b/Utils/7-Zip/Lang/pl.txt @@ -0,0 +1,477 @@ +;!@Lang2@!UTF-8! +; : cienislaw +; : pixel +; 9.07 : F1xat +; 9.33 : Åukasz Maria P. Pastuszczak +; +; +; +; +; +; +; +0 +7-Zip +Polish +Polski +401 +OK +Anuluj + + + +&Tak +&Nie +&Zamknij +Pomoc + +&Kontynuuj +440 +Ta&k na wszystkie +Ni&e na wszystkie +Zatrzymaj +Ponów +&TÅ‚o +&Pierwszy plan +&Wstrzymaj +Wstrzymano +Czy na pewno chcesz anulować? +500 +&Plik +&Edycja +&Widok +&Ulubione +&NarzÄ™dzia +Pomo&c +540 +&Otwórz +Otwórz &wewnÄ…trz +Otwórz na &zewnÄ…trz +Pod&glÄ…d +&Edytuj +ZmieÅ„ &nazwÄ™ +Kopiuj &do... +&PrzenieÅ› do... +&UsuÅ„ +Podzie&l plik... +Złą&cz pliki... +WÅ‚&aÅ›ciwoÅ›ci +Ko&mentarz +Oblicz sumÄ™ kontrolnÄ… +Diff +Utwórz &folder +U&twórz plik +Za&koÅ„cz +Dow&iÄ…zanie +600 +Z&aznacz wszystko +&Odznacz wszystko +Odwróć &zaznaczenie +Zaznacz... +Odznacz... +Zaznacz wedÅ‚ug typu +Odznacz wedÅ‚ug typu +700 +&Duże ikony +&MaÅ‚e ikony +&Lista +&Szczegóły +730 +Nieposortowane +Widok pÅ‚aski +&2 panele +&Paski narzÄ™dzi +Otwórz folder główny +Do góry o jeden poziom +Historia folderów... +&OdÅ›wież +Automatyczne odÅ›wieżanie +750 +Pasek archiwum +Pasek standardowy +Duże przyciski +Pokaż etykiety tekstowe +800 +&Dodaj folder do ulubionych jako +ZakÅ‚adka +900 +&Opcje... +&Test wydajnoÅ›ci +960 +&Zawartość +7-Zip - i&nformacje +1003 +Åšcieżka +Nazwa +Rozszerzenie +Folder +Rozmiar +Rozmiar po spakowaniu +Atrybuty +Utworzony +Ostatnio otwarty +Zmodyfikowany +CiÄ…gÅ‚y +Z komentarzem +Zaszyfrowany +Podzielony przed +Podzielony po +SÅ‚ownik + +Typ +Anty +Metoda +Pochodzenie +System plików +Użytkownik +Grupa +Blok +Komentarz +Pozycja +Prefiks Å›cieżki +Foldery +Pliki +Wersja +Wolumin +Wielowoluminowy +PrzesuniÄ™cie +DowiÄ…zania +Bloki +Woluminy + +64-bitowy +Big-endian +Procesor +Rozmiar fizyczny +Rozmiar nagłówków +Suma kontrolna +Charakterystyki +Adres wirtualny +Numer seryjny woluminu +Krótka nazwa +Generator +Rozmiar sektora +Tryb +DowiÄ…zanie symboliczne +Błąd +CaÅ‚kowity rozmiar +Wolne miejsce +Rozmiar klastra +Etykieta +Nazwa lokalna +Dostawca +Zabezpieczenia NT +Alternatywny strumieÅ„ + +UsuniÄ™ty +Drzewo + + +Rodzaj błędu +Błędy +Błędy +Ostrzeżenia +Ostrzeżenie +Strumienie +Alternatywne strumienie +Rozmiar alternatywnych strumieni +Rozmiar wirtualny +Rozmiar po rozpakowaniu +CaÅ‚kowity rozmiar fizyczny +Numer woluminu +Podtyp +Krótki komentarz +Strona kodowa + + + + + +DowiÄ…zanie +DowiÄ…zanie twarde +I-wÄ™zeÅ‚ +2100 +Opcje +JÄ™zyk +JÄ™zyk: +Edytor +&Edytor: +&Diff: +2200 +System +Skojarz program 7-Zip z: +2301 +Zintegruj program 7-Zip z menu kontekstowym powÅ‚oki +Kaskadowe menu kontekstowe +Elementy menu kontekstowego: +Ikony w menu kontekstowym +2320 + + +Otwórz archiwum +Wypakuj pliki... +Dodaj do archiwum... +Testuj archiwum +Wypakuj tutaj +Wypakuj do {0} +Dodaj do {0} +Skompresuj i wyÅ›lij e-mailem... +Skompresuj do {0} i wyÅ›lij e-mailem +2400 +Foldery +Folder roboczy +&Systemowy folder tymczasowy +&Bieżący +&Wskazany: +Użyj tylko dla dysków wymiennych +Wskaż lokalizacjÄ™ dla tymczasowych plików archiwów. +2500 +Ustawienia +Pokaż element „..†+Pokaż prawdziwe ikony plików +Pokaż menu systemowe +Zaznaczaj &caÅ‚y rzÄ…d +&Pokaż linie siatki +Pojedyncze klikniÄ™cie otwiera element +&Alternatywny tryb zaznaczania +&Użyj dużych stron pamiÄ™ci +2900 +7-Zip - informacje +7-Zip jest programem darmowym. +3000 +System nie może przydzielić wymaganej iloÅ›ci pamiÄ™ci +Nie wykryto błędów +Zaznaczono {0} obiekt(ów) +Nie można utworzyć folderu „{0}†+Operacje aktualizacji nie sÄ… obsÅ‚ugiwane dla tego archiwum. +Nie można otworzyć pliku „{0}†jako archiwum +Nie można otworzyć zaszyfrowanego archiwum „{0}â€. NieprawidÅ‚owe hasÅ‚o? +NieobsÅ‚ugiwany typ archiwum +Plik {0} już istnieje +Plik „{0}†zostaÅ‚ zmodyfikowany.\nCzy chcesz zaktualizować go w archiwum? +Nie można zaktualizować pliku\n„{0}†+Nie można uruchomić edytora. +Plik wyglÄ…da na wirusa (nazwa pliku zawiera dÅ‚ugi ciÄ…g spacji). +Operacja nie może być wywoÅ‚ana z folderu, który ma dÅ‚ugÄ… Å›cieżkÄ™. +Musisz zaznaczyć jeden plik +Musisz zaznaczyć jeden lub wiÄ™cej plików +Zbyt dużo elementów +3300 +Wypakowywanie +Kompresowanie +Testowanie +Otwieranie... +Skanowanie... +3400 +Wypakuj +&Wypakuj do: +Wskaż lokalizacjÄ™ dla wypakowanych plików. +3410 +Tryb Å›cieżek: +PeÅ‚ne Å›cieżki +Bez Å›cieżek +BezwzglÄ™dne Å›cieżki +WzglÄ™dne Å›cieżki +3420 +Tryb nadpisywania: +Monituj przed nadpisaniem +Nadpisuj bez monitowania +PomiÅ„ istniejÄ…ce pliki +Automatycznie zmieÅ„ nazwy +Automatycznie zmieÅ„ nazwy istniejÄ…cych plików +3430 +Wyeliminuj podwojenie folderu głównego +Przywróć zabezpieczenia plików +3500 +Potwierdź zamianÄ™ pliku +Folder docelowy zawiera już przetwarzany plik. +Czy chcesz zamienić istniejÄ…cy plik +na nastÄ™pujÄ…cy? +{0} bajtów +Automatycznie &zmieÅ„ nazwy +3700 +NieobsÅ‚ugiwana metoda kompresji pliku „{0}â€. +Błąd danych w „{0}â€. Plik jest uszkodzony. +CRC nie powiodÅ‚a siÄ™ dla „{0}â€. Plik jest uszkodzony. +Błąd danych w zaszyfrowanym pliku „{0}â€. NieprawidÅ‚owe hasÅ‚o? +CRC nie powiodÅ‚a siÄ™ dla zaszyfrowanego pliku „{0}â€. NieprawidÅ‚owe hasÅ‚o? +3710 +NieprawidÅ‚owe hasÅ‚o? +3721 +NieobsÅ‚ugiwana metoda kompresji +Błąd danych +CRC nie powiodÅ‚a siÄ™ +NiedostÄ™pne dane +Nieoczekiwany koniec danych +Pewne dane znajdujÄ… siÄ™ za koÅ„cem bloku użytecznych danych +Nie rozpoznano archiwum +Błąd nagłówków +3763 +NiedostÄ™pny poczÄ…tek archiwum +Niepotwierdzony poczÄ…tek archiwum + + + +NieobsÅ‚ugiwana funkcja +3800 +Wprowadź hasÅ‚o +Wprowadź hasÅ‚o: +Wprowadź ponownie hasÅ‚o: +Pokaż &hasÅ‚o +HasÅ‚a nie zgadzajÄ… siÄ™ +W haÅ›le używaj tylko liter alfabetu angielskiego, cyfr i znaków specjalnych (!, #, $, ...) +HasÅ‚o jest zbyt dÅ‚ugie +HasÅ‚o +3900 +UpÅ‚ynęło czasu: +PozostaÅ‚o czasu: +CaÅ‚kowity rozmiar: +Szybkość: +Przetworzono: +Współczynnik kompresji: +Błędy: +Archiwów: +4000 +Dodaj do archiwum +&Archiwum: +&Tryb aktualizacji: +&Format archiwum: +StopieÅ„ &kompresji: +&Metoda kompresji: +&Rozmiar sÅ‚ownika: +Rozmiar &sÅ‚owa: +Rozmiar bloku ciÄ…gÅ‚ego: +Liczba wÄ…tków: +&Parametry: +Opcje +&Utwórz archiwum SFX +Kompresuj pliki współdzielone +Szyfrowanie +Metoda szyfrowania: +&Zaszyfruj nazwy plików +Użycie pamiÄ™ci dla kompresji: +Użycie pamiÄ™ci dla dekompresji: +UsuÅ„ pliki po skompresowaniu +4040 +Zachowaj dowiÄ…zania symboliczne +Zachowaj dowiÄ…zania twarde +Zachowaj alternatywne strumienie danych +Zachowaj zabezpieczenia plików +4050 +Bez kompresji +Najszybsza +Szybka +Normalna +Maksymalna +Ultra +4060 +Dodaj i zamieÅ„ pliki +Aktualizuj i dodaj pliki +OdÅ›wież istniejÄ…ce pliki +Synchronizuj pliki +4070 +PrzeglÄ…daj +Wszystkie pliki +NieciÄ…gÅ‚y +CiÄ…gÅ‚y +6000 +Kopiuj +PrzenieÅ› +Kopiuj do: +PrzenieÅ› do: +Kopiowanie... +Przenoszenie... +Zmienianie nazwy... +Wybierz folder docelowy. +Operacja nie jest obsÅ‚ugiwana dla tego folderu. +Błąd podczas zmiany nazwy pliku lub folderu +Potwierdź kopiowanie plików +Czy na pewno chcesz skopiować pliki do archiwum +6100 +Potwierdź usuniÄ™cie pliku +Potwierdź usuniÄ™cie folderu +Potwierdź usuniÄ™cie wielu plików +Czy na pewno chcesz usunąć plik „{0}â€? +Czy na pewno chcesz usunąć folder „{0}†i całą zawartość? +Elementów: {0} - czy na pewno chcesz je usunąć? +Usuwanie... +Błąd podczas usuwania pliku lub folderu +System nie może przenieść pliku o dÅ‚ugiej Å›cieżce do Kosza +6300 +Utwórz folder +Utwórz plik +Nazwa folderu: +Nazwa pliku: +Nowy folder +Nowy plik +Błąd podczas tworzenia folderu +Błąd podczas tworzenia pliku +6400 +- komentarz +&Komentarz: +Zaznacz +Odznacz +Maska: +6600 +WÅ‚aÅ›ciwoÅ›ci +Historia folderów +Komunikaty diagnostyczne +Komunikat +7100 +Komputer +Sieć +Dokumenty +System +7200 +Dodaj +Wypakuj +Testuj +Kopiuj +PrzenieÅ› +UsuÅ„ +Informacje +7300 +Podziel plik +&Podziel do: +Rozmiar &woluminów (bajty): +Dzielenie... +Potwierdź podziaÅ‚ +Czy na pewno chcesz podzielić plik na {0} woluminów? +Rozmiar woluminu musi być mniejszy od rozmiaru oryginalnego pliku +NieprawidÅ‚owy rozmiar woluminu +OkreÅ›lony rozmiar woluminu: {0} bajtów.\nCzy na pewno chcesz podzielić archiwum na takie woluminy? +7400 +Złącz pliki +&Złącz do: +ÅÄ…czenie... +Zaznacz tylko pierwszÄ… część podzielonego pliku +To nie jest poprawna część podzielonego pliku +Nie można odnaleźć co najmniej jednej części podzielonego pliku +7500 +Obliczanie sumy kontrolnej... +Informacja o sumie kontrolnej +Suma kontrolna CRC dla danych: +Suma kontrolna CRC dla danych i nazw: +7600 +Test wydajnoÅ›ci +Użycie pamiÄ™ci: +Kompresja +Dekompresja +Ocena +CaÅ‚kowita ocena +Aktualnie +Wynik +Użycie CPU +Ocena / Użycie +Przebiegi: +7700 +DowiÄ…zanie +Dowiąż +Element źródÅ‚owy: +Element docelowy: +7710 +Rodzaj dowiÄ…zania +DowiÄ…zanie twarde +DowiÄ…zanie symboliczne pliku +DowiÄ…zanie symboliczne katalogu +Połączenie katalogów diff --git a/Utils/7-Zip/Lang/ps.txt b/Utils/7-Zip/Lang/ps.txt new file mode 100644 index 000000000..baef904d0 --- /dev/null +++ b/Utils/7-Zip/Lang/ps.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.53 : 2007-12-26 : Pathanisation Project : pathanisation.pakhtosoft.com +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Pashto +پښتو +401 +Ù‡ÙˆÚ©Û +بندول + + + +هو& +نه& +بندول& +مرسته + +پرمختلل& +440 +ټولو ته هو& +Ù¼&ولو ته نه +تمول +بياپÛلول +شاليد& +پاسليد& +Úنډول& +Ú…Ù†Ú‰ÛØ¯Ù„ÛŒ +په ډاډمنه توګه غواړئ Ú†Û Ø¨Ù†Ø¯ ÙŠÛ Ú©Ú“Ø¦ØŸ +500 +دوتنه& +سمون& +ليد& +Ø®&واپوري +توکي& +مرسته& +540 +پرانيستل& +دننه& پرانيستل +بهر Ù¾&رانيستل +ليد& +سمون& +بي&انومول +...ته Ù„Ù…ÛØ³Ù„& +...ته خوÚول& +ړنګول& +...دوتنه چول& +...Ø¯ÙˆØªÙ†Û ÙŠÙˆÚ&ايول +ÚØ§Ù†ØªÙŠØ§ÙˆÛ +څرګند&ون +Ú†Ûکسم Ø´Ù…ÛØ±Ù„ + +Ù¾ÙˆÚšÛ Ø¬ÙˆÚ“ÙˆÙ„ +دوتنه جوړول +Ùˆ&تون +600 +ټول ټاکل& +ټول ناټاکل +ټاکنه نسکورول& +...ټاکل +...ناټاکل +پر ډول ټاکل +پر ډول ناټاکل +700 +لو&ÛŒ انÚورنونه +Ùˆ&اړه انÚورنونه +Ù„Ú“& +خبرتياوÛ& +730 +ناڼلي +پوړ ليد +۲†چوکاټه& +توکپټÛ& +ÙˆÙ„Û Ù¾ÙˆÚšÛ Ù¾Ø±Ø§Ù†ÙŠØ³ØªÙ„ +يو Ú©Ú†Ù‡ برول +...پوښيو مخينه +تاندول& +750 +ارشيو توکپټه +کره توکپټه +Ù„ÙˆÛŒÛ ØªÚ¼Û +د تڼيو Ù„ÙŠÚ©Ù†Û ÚšÙˆØ¯Ù„ +800 +Ù¾ÙˆÚšÛ Ø®ÙˆØ§Ù¾ÙˆØ±Ùˆ ته زياتول Ù„Ú©Ù‡& +Ù†ÚšÙ‡ +900 +...غوراوي& +بنچمارک& +960 +...منÚپانګه& +...Û·â€-زÛÙ¾ په اړه& +1003 +يونلور +نوم +شاتاړی +Ù¾ÙˆÚšÛ +Ú©Ú† +بنډل شوی Ú©Ú† +Ú…Ø§Ù†ØªÙŠØ§ÙˆÛ +جوړشوی +رسی +بدلون +Ú©Ù„Ú© +څرګندون +کوډييز +چول Ù…Ø®Ú©ÚšÛ +چول وروسته +ويÛپانګه +CRC +ډول +مخال٠+Ù„Ûله +کوربه چغ +دوتنه غونډال +کارن +ډله +غونډ +څرګندون +ÚØ§ÛŒ +يونلور مختاړی +Ù¾ÙˆÚšÛ +Ø¯ÙˆØªÙ†Û +نسخه +ډکون +ګڼډکون +Ø§ÙØ³ÛÙ¼ +Ù¾Ûوندونه +غوڼدونه +ډکونونه + + + + + + + + + + + + + + + +ØªÛØ±ÙˆØªÙ†Ù‡ +بشپړ Ú©Ú† +Ù¾Ø§ØªÛ ØªØ´Ù‡ +Úومبک Ú©Ú† +Ù†ÚšÚ©Ù‡ +ÚØ§ÛŒÙŠ Ù†ÙˆÙ… +برابروونى +2100 +غوراوي +ژبه +:ژبه +سمونګر +:سمونګر& + +2200 +غونډال +:له Û·â€-زÛÙ¾ سره ملول +2301 +Û·â€-زÛÙ¾ Ø³ÙŠÙ¾Û ØªÚ“Ø§Ùˆ ØºÙˆØ±Ù†Û Ú©ÚšÛ Ø²ÙŠØ§ØªÙˆÙ„ +Úړبهيزه تړاو ØºÙˆØ±Ù†Û +:تړاو ØºÙˆØ±Ù†Û ØªÙˆÚ©ÙŠ +2320 +<پوښÛ> +<ارشيو> +ارشيو پرانيستل +...Ø¯ÙˆØªÙ†Û ÙˆÙŠØ³ØªÙ„ +...ارشيو ته زياتول +ارشيو ازمويل +دلته ويستل +ته ويستل {0}†+ته زياتول {0} +...Ø²ÛØ±Ù„ او برÛÚšÙ„ +ته زياتول او برÛÚšÙ„ {0} +2400 +Ù¾ÙˆÚšÛ +&کارنه Ù¾ÙˆÚšÛ +&لنډمهاله غونډال Ù¾ÙˆÚšÛ +&Ø§ÙˆØ³Ù†Û +&Ú…Ø§Ù†Ú«Ú“Û +ÙŠÙˆØ§Ø²Û Ù„Ù‡ Ù„ÛØ±Ûدونکو چليÚونو لپاره کارول +.د لنډمهاله ارشيو دوتنو لپاره ÚØ§ÛŒ وټاکئ +2500 +Ø§Ù…Ø³ØªÙ†Û +توکي ښودل ".." +د دوتنو ريښتيني انÚورنونه ښودل +غونډال ØºÙˆØ±Ù†Û ÚšÙˆØ¯Ù„ +ټول کيل ټاکل& +Ú©Ø±ÚšÛ ÚšÙˆØ¯Ù„ + +انډوليز Ù¼Ø§Ú©Ù†Û Ø§Ú©Ø±& +لوی ياد مخونه کارول& +2900 +Û·â€-زÛÙ¾ په اړه +.دا يو وړيا ساوتری دی. خو، په نومکښلو سره د ساوتري د پرمختګ ملاتړ کولی شئ +3000 + +Ù‡ÛÚ… ØªÛØ±ÙˆØªÙ†Ù‡ نشته +ټاکل شوي څيزونه {0} +Ù¾ÙˆÚšÛ Ø¬ÙˆÚ“ÙˆÙ„ÛŒ نه شي '{0}' +.اوسمهاله چلښتونه Ø¯Û Ø§Ø±Ø´ÙŠÙˆ لپاره منلي نه دي +'{0}' دوتنه Ù„Ú©Ù‡ د ارشيو نه شي پرانيستلی +کوډييز ارشيو پرانيستلی نه شي '{0}'. ناسمه ØªÛØ±Ù†ÙˆÙŠÛØŸ + + +.'{0}' دوتنه Ú©ÚšÛ Ø¨Ø¯Ù„ÙˆÙ† راغلی\nپه ارشيو Ú©ÚšÛ ÙŠÛ Ø§ÙˆØ³Ù…Ù‡Ø§Ù„ÙˆÙ„ غواړئ؟ +'{0}'\nدوتنه اوسمهالولی نه شي +سمونګر Ù¾Ûلولی نه شي + + + + +Ú‰ÛØ± زيات توکي +3300 +وباسي +Ø²ÛØ±Ù„ Ú©ÙŠÚ–ÙŠ +ازموينه +...پرانيستل Ú©ÙŠÚ–ÙŠ +...Úیريږي +3400 +ويستل +:ته Ùˆ&يستل +.د ويستلو دوتنو لپاره يو ÚØ§ÛŒ وټاکئ +3410 +يونلور اکر +بشپړ يونلورنومونه +Ù‡ÛÚ… يونلورنومونه +3420 +سرليکلو اکر +سرليکلو نه Ù…Ø®Ú©ÚšÛ Ù¾ÙˆÚšØªÙ„ +Ø¨Û Ù„Ù‡ Ù¾Ø§Ø±Ù„ÙŠÚ©Û Ø³Ø±Ù„ÙŠÚ©Ù„ +شته Ø¯ÙˆØªÙ†Û Ù¾Ø±Ûښودل +خپله بيانومول +شته Ø¯ÙˆØªÙ†Û Ø®Ù¾Ù„Ù‡ بيانومول +3500 +دوتنه ÚØ§Ûناستی باورييل +.موخه Ù¾ÙˆÚšÛ Ø¯Ù…Ø®Ù‡ Ø¨Ù‡ÙŠØ±Ù„Û Ø¯ÙˆØªÙ†Û Ù„Ø±ÙŠ +غواړئ Ú†Û Ø´ØªÙ‡ دوتنه ÚØ§ÛÙ†Ø§Ø³ØªÛ Ú©Ú“Ø¦ +له Ø¯Û Ø³Ø±Ù‡ØŸ +باÛټه {0} +خپله ب&يانومول +3700 +.لپاره Ù†Ø§Ù…Ù†Ù„Û Ø²ÛØ±Ù†Û Ù„Ûله '{0}' +.Ú©ÚšÛ Ø§ÙˆÙ…ØªÙˆÚ© ستونزه '{0}' دوتنه ماته ده +.Ú©ÚšÛ Ø³Ø±Ø³ Ù¾Ø§ØªÛ Ø±Ø§ØºÛŒ '{0}' دوتنه ماته ده +Ú©ÙˆÚ‰ÙŠÙŠØ²Û Ø¯ÙˆØªÙ†Û '{0}' Ú©ÚšÛ Ø§ÙˆÙ…ØªÙˆÚ© ستونزه. ناسمه ØªÛØ±Ù†ÙˆÙŠÛØŸ +په Ú©ÙˆÚ‰ÙŠÙŠØ²Û Ø¯ÙˆØªÙ†Û '{0}' Ú©ÚšÛ Ø³Ø±Ø³ Ù¾Ø§ØªÛ Ø±Ø§ØºÛŒ. ناسمه ØªÛØ±Ù†ÙˆÙŠÛØŸ +3800 +ØªÛØ±Ù†ÙˆÙŠÛ وليکئ +:ØªÛØ±Ù†ÙˆÙŠÛ وليکئ +:ØªÛØ±Ù†ÙˆÙŠÛ بيا وليکئ +ØªÛØ±Ù†ÙˆÙŠÛ ښودل& +ØªÛØ±Ù†ÙˆÙŠÛ سمون نه خوري +ØªÛØ±Ù†ÙˆÙŠÛ لپاره ÙŠÙˆØ§Ø²Û Ø§Ù†Ú«Ø±ÙŠØ²ÙŠ توري، Ø´Ù…ÛØ±Û او ÚØ§Ù†Ú«Ú“ÙŠ Ù„ÙˆÚšÛ (!, #, $, ...) وکاروئ +ØªÛØ±Ù†ÙˆÙŠÛ Ú‰ÛØ±Ù‡ اوږده ده +ØªÛØ±Ù†ÙˆÙŠÛ +3900 +:ØªÛØ± مهال +:Ù¾Ø§ØªÛ Ù…Ù‡Ø§Ù„ +:بشپړ Ú©Ú† +:چټکتیا +:بهيرلی +:Ø²ÛØ±Ù„Ùˆ نسبت +:ØªÛØ±ÙˆØªÙ†Ù‡ +:ارشيونه +4000 +ارشيو ته زياتول +:ارشيو& +:اوسمهاليز اکر& +:ارشيو بڼه& +:Ø²ÛØ±Ù†Û &Ú©Ú†Ù‡ +:Ø²ÛØ±Ù†Û &Ù„Ûله +:ويÛÙ¾Ø§Ù†Ú«Û Ú©Ú†Ù‡& +:ÙˆÙŠÛ Ú©Ú†& +:Ú©Ù„Ú© غونډ Ú©Ú† +:د مبي مزيو Ø´Ù…ÛØ± +:ارزښتمني& +غوراوي +ارشيو جوړول SF&X +ÙˆÙ†Ú‰ÙˆÙ„Û Ø¯ÙˆØªÙ†Û Ø²ÛØ±Ù„ +کوډییزونه +:Ú©ÙˆÚ‰ÛŒÛŒØ²ÙˆÙ†Û Ù„Ûله +دوتنه &نومونه کوډييزول +:Ø²ÛØ±Ù„Ùˆ لپاره ياد کارونه +:Ù†Ø§Ø²ÛØ±Ù„Ùˆ لپاره ياد کارونه +4050 +Ø²ÛØ±Ù…Ù„ +Ú‰ÛØ± Ú†Ù¼Ú© +Ú†Ù¼Ú© +ليوی +زيات +Ú‰ÛØ± زيات Ú†Ù¼Ú© +4060 +Ø¯ÙˆØªÙ†Û Ø²ÙŠØ§ØªÙˆÙ„ او ÚØ§Ûناستول +Ø¯ÙˆØªÙ†Û Ø§ÙˆØ³Ù…Ù‡Ø§Ù„ÙˆÙ„ او زياتول +شته Ø¯ÙˆØªÙ†Û ØªØ§Ù†Ø¯ÙˆÙ„ +Ø¯ÙˆØªÙ†Û Ù‡Ù…Ù…Ù‡Ø§Ù„ÙˆÙ„ +4070 +لټول +Ù¼ÙˆÙ„Û Ø¯ÙˆØªÙ†Û +نا-Ú©Ù„Ú© +Ú©Ù„Ú© +6000 +Ù„Ù…ÛØ³Ù„ +خوÚول +:ته Ù„Ù…ÛØ³Ù„ +:ته خوÚول +...لميسل Ú©ÙŠÚ–ÙŠ +...خوÚÙŠÚ–ÙŠ +بيانوميږي +.موخه Ù¾ÙˆÚšÛ ÙˆÙ¼Ø§Ú©Ø¦ +.چلښت منلی نه دی +Ø¯ÙˆØªÙ†Û ÙŠØ§ Ù¾ÙˆÚšÛ Ø¨ÙŠØ§Ù†ÙˆÙ…ÙˆÙ„Ùˆ ستونزه +Ø¯ÙˆØªÙ†Û Ù„Ù…ÛØ³Ù„ باورييل +په ډاډمنه توګه Ø¯ÙˆØªÙ†Û Ø§Ø±Ø´ÙŠÙˆ ته Ù„Ù…ÛØ³Ù„ غواړئ؟ +6100 +Ø¯ÙˆØªÙ†Û Ú“Ù†Ú«ÙˆÙ†Ù‡ باورييل +Ù¾ÙˆÚšÛ Ú“Ù†Ú«ÙˆÙ†Ù‡ باورييل +Ú«Ú¼Ùˆ دوتنو ړنګونه باورييل +په ډاډمنه توګه '{0}' ړنګول غواړئ؟ +په ډاډمنه توګه '{0}' Ù¾ÙˆÚšÛ Ø§Ùˆ د Ø¯Û Ù¼ÙˆÙ„Ù‡ منÚپانګه ړنګول غواړئ؟ +په ډاډمنه توګه دا {0} توکي ړنګول غواړئ؟ +...Ú“Ù†Ú«ÙŠÚ–ÙŠ +Ø¯ÙˆØªÙ†Û ÙŠØ§ Ù¾ÙˆÚšÛ Ú“Ù†Ú«ÙˆÙ„Ùˆ ستونزه + +6300 +Ù¾ÙˆÚšÛ Ø¬ÙˆÚ“ÙˆÙ„ +دوتنه جوړول +:Ù¾ÙˆÚšÛ Ù†ÙˆÙ… +:دوتنه نوم +Ù†ÙˆÛ Ù¾ÙˆÚšÛ +Ù†ÙˆÛ Ø¯ÙˆØªÙ†Ù‡ +Ù¾ÙˆÚšÛ Ø¬ÙˆÚ“ÙˆÙ„Ùˆ ستونزه +Ø¯ÙˆØªÙ†Û Ø¬ÙˆÚ“ÙˆÙ„Ùˆ ستونزه +6400 +څرګندون +:څرګندون& +ټاکل +ناټاکل +:ÙˆØ±Ø¨ÙˆØ²Û +6600 +ÚØ§Ù†ØªÙŠØ§ÙˆÛ +پوښيو مخينه +Ø±Ù†Ú Ù†ÙˆÙ…ÛØ±Ù†Û استوزه +استوزه +7100 +سولګر +جال + +غونډال +7200 +زياتول +ويستل +ازمويل +Ù„Ù…ÛØ³Ù„ +خوÚول +ړنګول +Ø®Ø¨Ø±ØªÙŠØ§ÙˆÛ +7300 +دوتنه چول +:ته چول& +:ډکونونو، باÛټونو ته چول& +...چول Ú©ÙŠÚ–ÙŠ +چونه باورييل +په ډاډمنه توګه دوتنه په {0} ډکونونو ÙˆÛØ´Ù„ غواړئ؟ +ډکون Ú©Ú† بايد د Ø¯ÙˆØªÙ†Û Ø§Ø± Ú©Ú† نه ÙˆÚ“ÙˆÚ©ÛŒ وي +ناسم ډکون Ú©Ú† +.باÛټه {0} :ټاکلی ډکون Ú©Ú†\nپه ډاډمنه توګه غواړئ Ú†Û Ø§Ø±Ø´ÙŠÙˆ په Ø¯Ø§Ø³Û Ú‰Ú©ÙˆÙ†ÙˆÙ†Ùˆ وويشئ؟ +7400 +Ø¯ÙˆØªÙ†Û ÙŠÙˆÚØ§ÙŠÙˆÙ„ +:ته ÙŠÙˆÚØ§ÙŠÙˆÙ„& +...ÙŠÙˆÚØ§ÙŠÚ–ÙŠ +ÙŠÙˆØ§Ø²Û Ù„Ù…Ú“Û Ø¯ÙˆØªÙ†Ù‡ ټاکل + + +7500 +...Ú†Ûکسم Ø´Ù…ÛØ±ÙŠÚ–ÙŠ +Ú†Ûکسم Ø®Ø¨Ø±ØªÙŠØ§ÙˆÛ +:Ú†Ûکسم CRC اومتوک لپاره +:Ú†Ûکسم CRC اومتوک او نومونو لپاره +7600 +بنچمارک +:ياد کارونه +Ø²ÛØ±ÙŠÚ–ÙŠ +Ù†Ø§Ø²ÛØ±ÙŠÚ–ÙŠ +کچونه +بشپړه کچونه +اوسنی +پايليز +مبي کارونه +کچونه / کارونه +:تيريږي diff --git a/Utils/7-Zip/Lang/pt-br.txt b/Utils/7-Zip/Lang/pt-br.txt new file mode 100644 index 000000000..a44134242 --- /dev/null +++ b/Utils/7-Zip/Lang/pt-br.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : Francisco Jr +; 4.37 : Fabricio Biazzotto +; 15.07 : Atualizado por Felipe +; +; +; +; +; +; +; +; +0 +7-Zip +Portuguese Brazilian +Português Brasileiro +401 +OK +Cancelar + + + +&Sim +&Não +&Fechar +Ajuda + +&Continuar +440 +Sim pra &Todos +Não pra T&odos +Parar +Reiniciar +&Em 2º plano +&Em 1º plano +&Pausar +Pausado +Você tem certeza que você quer cancelar? +500 +&Arquivo +&Editar +&Visualizar +F&avoritos +&Ferramentas +&Ajuda +540 +&Abrir +Abrir &por Dentro +Abrir p&or Fora +&Visualizar +&Editar +Re&nomear +&Copiar Para... +&Mover Para... +&Apagar +&Dividir arquivo... +Com&binar arquivos... +P&ropriedades +Comen&tário +Calcular checksum +Diff +Criar Pasta +Criar Arquivo +S&air +Link +&Correntes Alternantes +600 +Selecionar &Tudo +Desmarcar Tudo +&Inverter Seleção +Selecionar... +Desmarcar... +Selecionar por Tipo +Desfazer seleção por Tipo +700 +Ãco&nes Grandes +Ãc&ones Pequenos +&Lista +&Detalhes +730 +Desorganizado +Visualização Plana +&2 Painéis +&Barra de Ferramentas +Abrir a Pasta Raiz +Um Nível Acima +Histórico das Pastas... +&Atualizar +Auto-Atualizar +750 +Barra de Ferramentas do Arquivo Compactado +Barra de Ferramentas Padrão +Botões Grandes +Mostrar o Texto dos Botões +800 +&Adicionar a pasta aos Favoritos como +Favorito +900 +&Opções... +&Benchmark +960 +&Conteúdo... +&Sobre o 7-Zip... +1003 +Caminho +Nome +Extensão +Pasta +Tamanho +Tamanho Compactado +Atributos +Criado +Acessado +Modificado +Sólido +Comentado +Criptografado +Dividir Antes +Dividir Depois +Dicionário + +Tipo +Anti +Método +Sistema Operacional Hospedeiro +Sistema de Arquivos +Usuário +Grupo +Bloco +Comentário +Posição +Prefixo do Caminho +Pastas +Arquivos +Versão +Volume +Multivolume +Offset +Links +Blocos +Volumes + +64 bits +Big-endian +CPU +Tamanho Físico +Tamanho dos Cabeçalhos +Checksum +Características +Endereço Virtual +ID +Nome Curto +Aplicativo Criador +Tamanho do Setor +Modo +Link Simbólico +Erro +Tamanho Total +Espaço Livre +Tamanho do Cluster +Rótulo +Nome Local +Provedor +Segurança da NT +Corrente Alternante +Aux +Apagado +É Ãrvore + + +Tipo de Erro +Erros +Erros +Avisos +Aviso +Correntes +Correntes Alternantes +Tamanho das Correntes Alternantes +Tamanho Virtual +Tempo Descompactado +Total do Tamanho Físico +Ãndice do Volume +Sub-Tipo +Comentário Curto +Página do Código + + + +Tamanho da Cauda +Tamanho do Toco Embutido +Link +Link Rígido +iNode + +Somente-Leitura +2100 +Opções +Idioma +Idioma: +Editor +&Editor: +&Diff: +2200 +Sistema +Associar o 7-Zip com: +Todos os usuários +2301 +Integrar o 7-Zip ao menu de contexto do shell +Menu de contexto em cascata +Itens do menu de contexto: +Ãcones no menu de contexto +2320 + + +Abrir arquivo compactado +Extrair arquivos... +Adicionar ao arquivo compactado... +Testar arquivo compactado +Extrair Aqui +Extrair para {0} +Adicionar para {0} +Comprimir e enviar por email... +Comprimir para {0} e enviar por email +2400 +Pastas +&Pasta de trabalho +&Pasta temporária do sistema +&Atual +&Especificada: +Usar só pra drives removíveis +Especifique um local pros arquivos compactados temporários. +2500 +Configurações +Mostrar o item ".." +Mostrar os ícones reais dos arquivos +Mostrar o menu do sistema +&Selecionar a linha inteira +Mostrar as &linhas de grade +Clique único pra abrir um item +&Modo de seleção alternativo +Usar &grandes páginas de memória +2900 +Sobre o 7-Zip +7-Zip é um software grátis +3000 +O sistema não pôde alocar a quantia requerida de memória +Não há erros +{0} objeto(s) selecionado(s) +Não pôde criar a pasta '{0}' +Operações de atualização não são suportadas por este arquivo compactado. +Não pôde abrir o arquivo '{0}' como arquivo compactado +Não pôde abrir o arquivo compactado encriptado '{0}'. Senha errada? +Tipo de arquivo compactado não suportado +O arquivo {0} já existe +O arquivo '{0}' foi modificado.\nVocê quer atualizá-lo no arquivo compactado? +Não pôde atualizar o arquivo\n'{0}' +Não pôde iniciar o editor. +O arquivo parece um vírus (o nome do arquivo contém espaços longos no nome). +A operação não pode ser chamada de uma pasta que tem um caminho longo. +Você deve selecionar um arquivo +Você deve selecionar um ou mais arquivos +Itens demais +Não pôde abrir o arquivo como {0} arquivo compactado +O arquivo está aberto como {0} arquivo compactado +O arquivo compactado está aberto com o offset +3300 +Extraindo +Comprimindo +Testando +Abrindo... +Escaneando... +Removendo +3320 +Adicionando +Atualizando +Analisando +Replicando +Re-compactando +Ignorando +Apagando +Criando cabeçalho +3400 +Extrair +E&xtrair para: +Especifique um local pros arquivos extraídos. +3410 +Modo do caminho: +Nomes dos caminhos completos +Sem nomes de caminhos +Nomes dos caminhos absolutos +Nomes dos caminhos relativos +3420 +Modo de sobrescrição: +Perguntar antes de sobrescrever +Sobrescrever sem alertar +Ignorar os arquivos existentes +Auto-renomear +Auto-renomear os arquivos existentes +3430 +Eliminar duplicação da pasta raiz +Restaurar a segurança do arquivo +3500 +Confirmar a Substituição dos Arquivos +A pasta destino já contém o arquivo processado. +Você gostaria de substituir o arquivo existente +por este? +{0} bytes +A&uto-Renomear +3700 +Método de compressão não suportado por '{0}'. +Erro nos dados de '{0}'. O arquivo está danificado. +O CRC falhou em '{0}'. O arquivo está danificado. +Erros nos dados do arquivo encriptado '{0}'. Senha errada? +O CRC falhou no arquivo encriptado '{0}'. Senha errada? +3710 +Senha errada? +3721 +Método de compressão não suportado +Erro dos dados +O CRC falhou +Dados indisponíveis +Fim inesperado dos dados +Há alguns dados após o fim da carga dos dados +Não é arquivo compactado +Erro dos Cabeçalhos +Senha errada +3763 +Início indisponível do arquivo compactado +Início não confirmado do arquivo compactado + + + +Função não suportada +3800 +Inserir senha +Inserir senha: +Re-inserir a senha: +&Mostrar senha +As senhas não combinam +Usar apenas letras em Inglês, números e caracteres especiais (!, #, $, ...) para a senha +A senha é muito longa +Senha +3900 +Tempo decorrido: +Tempo restante: +Tamanho total: +Velocidade: +Processados: +Taxa de compressão: +Erros: +Arquivos: +4000 +Adicionar ao arquivo compactado +&Arquivo compactado: +&Modo de atualização: +Formato do &arquivo compactado: +Nível da &compressão: +Método de &compressão: +&Tamanho do dicionário: +&Tamanho da palavra: +Tamanho do bloco sólido: +Número de threads da CPU: +&Parâmetros: +Opções +Criar ar&quivo compactado SFX +Comprimir arquivos compartilhados +Encriptação +Método de encriptação: +Criptografar os &nomes dos arquivos +Uso de memória pra Compressão: +Uso de memória para Descompressão: +Apagar arquivos após a compressão +4040 +Armazenar links simbólicos +Armazenar links rígidos +Armazenar correntes de dados alternantes +Armazenar segurança do arquivo +4050 +Armazenar +Mais rápida +Rápida +Normal +Máximo +Ultra +4060 +Adicionar e substituir arquivos +Atualizar e adicionar arquivos +Atualizar arquivos existentes +Sincronizar arquivos +4070 +Navegar +Todos os Arquivos +Não-sólido +Sólido +6000 +Copiar +Mover +Copiar para: +Mover para: +Copiando... +Movendo... +Renomeando... +Selecionar a pasta destino. +A operação não é suportada por esta pasta. +Erro ao Renomear o Arquivo ou Pasta +Confirmar a Cópia do Arquivo +Você tem certeza que você quer copiar os arquivos pra dentro do arquivo compactado? +6100 +Confirmar a Exclusão do Arquivo +Confirmar a Exclusão da Pasta +Confirmar a Exclusão de Múltiplos Arquivos +Você tem certeza que você quer apagar '{0}'? +Você tem certeza que você quer apagar a pasta '{0}' e todo o conteúdo dela? +Você tem certeza que você quer apagar estes {0} itens? +Apagando... +Erro ao Apagar o Arquivo ou Pasta +O sistema não pode mover um arquivo com caminho longo para o Recycle Bin +6300 +Criar Pasta +Criar Arquivo +Nome da pasta: +Nome do Arquivo: +Nova Pasta +Novo Arquivo +Erro ao Criar a Pasta +Erro ao Criar o Arquivo +6400 +Comentário +&Comentário: +Selecionar +Desmarcar +Máscara: +6600 +Propriedades +Histórico das Pastas +Mensagens de diagnóstico +Mensagem +7100 +Computador +Rede +Documentos +Sistema +7200 +Adicionar +Extrair +Testar +Copiar +Mover +Apagar +Info +7300 +Dividir Arquivo +&Dividir para: +Dividir em &volumes, bytes: +Dividindo... +Confirmar a Divisão +Você tem certeza que você quer dividir o arquivo em {0} volumes? +O tamanho do volume deve ser menor do que o tamanho do arquivo original +Tamanho do volume incorreto +Tamanho do volume especificado: {0} bytes.\nVocê tem certeza que você quer dividir o arquivo compactado em tais volumes? +7400 +Combinar Arquivos +&Combinar em: +Combinando... +Selecionar só a primeira parte do arquivo dividido +Não pôde detectar o arquivo como parte do arquivo dividido +Não pôde achar mais do que uma parte do arquivo dividido +7500 +Calculando checksum... +Informação do checksum +Checksum do CRC pros dados: +Checksum do CRC pros dados e nomes: +7600 +Benchmark +Uso da memória: +Comprimindo +Descomprimindo +Avaliação +Total da Avaliação +Atual +Resultando +Uso da CPU +Avaliação / Uso +Passos: +7700 +Link +Link +Link de: +Link para: +7710 +Tipo de Link +Link Rígido +Link Simbólico do Arquivo +Link Simbólico do Diretório +Junção do Diretório diff --git a/Utils/7-Zip/Lang/pt.txt b/Utils/7-Zip/Lang/pt.txt new file mode 100644 index 000000000..6a378478b --- /dev/null +++ b/Utils/7-Zip/Lang/pt.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : Carlos Macao +; : João Alves +; : João Frade (100 NOME TR) +; 4.46 : Rui Costa +; 9.17 : Sérgio Marques +; 15.00 : Rui Aguiar +; +; +; +; +; +0 +7-Zip +Portuguese Portugal +Português +401 +OK +Cancelar + + + +&Sim +&Não +&Fechar +Ajuda + +&Continuar +440 +Sim p/ &Todos +Não p/ T&odos +Parar +Reiniciar +&Segundo plano +P&rimeiro plano +&Pausar +Em pausa +Quer mesmo cancelar? +500 +&Ficheiro +&Editar +&Ver +F&avoritos +Ferramen&tas +&Ajuda +540 +&Abrir +Abrir &dentro +Abrir &fora +&Ver +&Editar +Mudar& o nome +&Copiar para... +&Mover para... +&Eliminar +&Separar ficheiro... +Com&binar ficheiros... +P&ropriedades +Come&ntário +Calcular o checksum +Diff +Criar pasta +Criar ficheiro +&Sair +Link +&Alternar Fluxo +600 +Seleccionar &Tudo +Desmarcar tudo +&Inverter selecção +Seleccionar... +Desmarcar... +Seleccionar por tipo +Desmarcar por tipo +700 +Ãcones &grandes +Ãcones &pequenos +&Lista +&Detalhes +730 +Sem ordem +Vista plana +&2 painéis +&Barras de ferramentas +Abrir pasta root +Subir um nível +Histórico de pastas... +&Actualizar +Auto Actualizar +750 +Barra de ferramentas do arquivo +Barra de ferramentas pré-definida +Botões grandes +Mostrar a legenda dos botões +800 +&Adicionar a pasta aos favoritos como +Marcador +900 +&Opções... +&Desempenho +960 +&Conteúdo... +&Acerca do 7-Zip... +1003 +Caminho +Nome +Extensão +pasta +Tamanho +Tamanho comprimido +Atributos +Criado +Acedido +Modificado +sólido +Comentado +Encriptado +Separar antes +Separar depois +Dicionário + +Tipo +Anti +Método +SO anfitrião +Sistema de ficheiros +Utilizador +Grupo +Bloco +Comentário +Posição +Prefixo do destino +pastas +ficheiros +Versão +Volume +Multivolume +Não definido +Ligações +Blocos +Volumes + +64-bit +Big-endian +CPU +Tamanho físico +Tamanho dos cabeçalhos +Soma de verificação +Características +Endereço virtual +ID +Abreviatura +Criador da aplicação +Tamanho do sector +Modo +Ligação +Erro +Tamanho total +Espaço livre +Tamanho do sector +Etiqueta +Nome local +Fornecedor +Segurança NT +Alternar Fluxo +Aux +Excluído +É Ãrvore + + +Tipo de Erro +Erros +Erros +Avisos +Aviso +Fluxo +Alternar Fluxo +Alternate Tamanho de Fluxos +Tamanho Virtual +Tamanho Descompactado +Tamanho Físico Total +Ãndice de Volume +SubTipo +Breve Comentário +Página de Código + + + +Tamanho Tail +Tamanho Stub Incorporado +Link +Link do Disco Rígido +iNode + +Só de leitura +2100 +Opções +Idioma +Idioma: +Editor +&Editor: +&Diff: +2200 +Sistema +Associar o 7-Zip com: +Todos os utilizadores +2301 +Integrar o 7-Zip no menu de contexto +Menu de contexto em cascata +Itens do menu de contexto: +Icons no menu de contexto +2320 + + +Abrir arquivo +Extrair ficheiros... +Adicionar ao arquivo... +Testar arquivo +Extrair para aqui +Extrair para {0} +Adicionar a {0} +Comprimir e enviar por e-mail... +Comprimir para {0} e enviar por e-mail +2400 +pastas +&Pasta de trabalho +Pasta &temporária +&Actual +&Especificada: +Utilizar só para discos amovíveis +Especifique a pasta para os ficheiros temporários. +2500 +Definições +Mostrar item ".." +Mostrar os ícones reais dos ficheiros +Mostrar o menu do sistema +Selecção de linha &completa +Mostrar as linhas da &grelha +Clique uma vez para abrir um item +Modo de seleçção &alternativo +Utilizar páginas de &memória grandes +2900 +Acerca do 7-Zip +O 7-Zip é um programa gratuito.\n\nO 7-Zip foi traduzido por: Rui Aguiar\n\trui_a_aguiar@hotmail.com +3000 +O sistema não consegue alocar a memória necessária +Não existem erros +{0} objecto(s) seleccionado(s) +Não é possível criar a pasta '{0}' +Este tipo de arquivo não permite actualizações. +Não é possível abrir o ficheiro '{0}' como arquivo +Não é possível abrir o arquivo encriptado '{0}'. Palavra-passe errada? +O arquivo não é suportado +Já existe o ficheiro {0} +O ficheiro '{0}' foi modificado.\nQuer actualizá-lo no arquivo? +Não foi possível actualizar o ficheiro\n'{0}' +Não foi possível iniciar o editor. +O ficheiro parece ser um vírus (o nome do ficheiro contém muitos espaços em branco). +A operação não pode ser invocada a partir de uma pasta com uma longa localização. +Tem que seleccionar um ficheiro +Tem que seleccionar um ou mais ficheiros +Demasiados itens +Não é possível abrir o ficheiro como arquivo {0} +Ficheiro aberto como arquivo {0} +Arquivo aberto com offset +3300 +A extrair... +A comprimir +A testar... +A abrir... +A pesquisar... +Removendo +3320 +A adicionar... +A actualizar... +A analisar... +Replicando +A recomprimir... +A ignorar... +A eliminar +Criando cabeçalho +3400 +Extrair +E&xtrair para: +Especifique o destino para os ficheiros extraídos. +3410 +Modo de nome de pasta +Nome de pastas completo +Sem nome de pastas +Caminhos absolutos +Caminhos relativos +3420 +Modo de sobrescrever +Perguntar antes de substituir +Sem confirmação +Ignorar ficheiros existentes +Mudar o nome automaticamente. +Mudar o nome automomaticamente os ficheiros existentes +3430 +Eliminar a duplicação da pasta de raiz +Restaurar segurança de ficheiros +3500 +Confirmar substituição de ficheiro +A pasta já possui um ficheiro com o mesmo nome. +Deseja substituir o ficheiro existente +por este? +{0} bytes +Mudar o nome a&utomaticamente +3700 +O método de compressão é inválido para '{0}'. +Erro de dados em '{0}'. O arquivo está danificado. +CRC falhou em '{0}'. O arquivo está danificado. +Erro de dados no ficheiro encriptado '{0}'. Palavra-passe errada? +CRC falhou no ficheiro encriptado '{0}'. Palavra-passe errada? +3710 +Palavra-passe errada? +3721 +Método de compressão não suportado +Erro nos dados +O CRC falhou +Dados indisponíveis +Fim inesperado nos dados +Existem alguns dados após o final dos dados de carga útil +Não é um arquivo +Erro nos Cabeçalhos +Palavra-passe errada +3763 +Início de arquivo indisponível +Início de arquivo não confirmado + + + +Funcionalidade não suportada +3800 +Insira a palavra-passe +Introduza a palavra-passe: +Reintroduza a palavra-passe: +&Mostrar palavra-passe +As palavras-passe não coincidem +Para a palavra-passe, utilize apenas letras inglesas, números e os caracteres especiais (!, #, $, ...) +A palavra-passe é muito comprida +Palavra-passe +3900 +Tempo decorrido: +Tempo restante: +Tamanho: +Velocidade: +Processado: +Rácio de compressão: +Erros: +Arquivos: +4000 +Adicionar ao arquivo +&Arquivo: +&Modo de actualização: +&Formato do arquivo: +Níve&l de compressão: +Método de &compressão: +Tamanho do &dicionário: +&Tamanho da &palavra: +Tamanho dos blocos sólidos: +Nº de processos do CPU: +&Parâmetros: +Opções +Criar arquivo SF&X +Comprimir ficheiros partilhados +Encriptação +Método de encriptação: +Encriptar &nomes de ficheiros +Utilização de memória para compressão: +Utilização de memória para descompressão: +Excluir ficheiros após compressão +4040 +Armazenar links simbólicos +Armazenar links do disco rígido +Armazenar fluxo de dados alternados +Armazenar segurança de ficheiros +4050 +Guardar +Muito rápido +Rápido +Normal +Máxima +Ultra +4060 +Adicionar e substituir ficheiros +Actualizar e adicionar ficheiros +Actualizar ficheiros +Sincronizar ficheiros +4070 +Procurar +Todos os ficheiros +Não sólido +sólido +6000 +Copiar +Mover +Copiar para: +Mover para: +A copiar... +A mover... +A mudar o nome... +Seleccione a pasta de destino. +Operação não suportada. +Erro ao mudar o nome do ficheiro ou pasta +Confirmar a cópia dos ficheiros +Quer mesmo copiar os ficheiros para o arquivo? +6100 +Confirmar a eliminação do ficheiro +Confirmar a eliminação da pasta +Confirmar a eliminação de múltiplos ficheiros +Quer mesmo eliminar o '{0}'? +Quer mesmo eliminar a pasta '{0}' e todo o seu conteúdo? +Quer mesmo eliminar os itens {0}? +A eliminar... +Erro ao eliminar o ficheiro ou pasta +O sistema não consegue mover para a reciclagem um ficheiro com uma localização longa +6300 +Criar pasta +Criar ficheiro +Nome da pasta: +Nome do ficheiro: +Nova Pasta +Novo ficheiro +Erro ao criar a pasta +Erro ao criar ficheiro +6400 +Comentário +&Comentário: +Seleccionar +Desseleccionar +Máscara: +6600 +Propriedades +Histórico de pastas +Mensagens de diagnóstico +Mensagem +7100 +Computador +Rede +Documentos +Sistema +7200 +Adicionar +Extrair +Testar +Copiar +Mover +Eliminar +Info +7300 +Separar ficheiro +&Separar para: +Separar por &volumes, bytes: +A separar... +Confirmar separação +Quer mesmo separar o ficheiro em {0} volumes? +O tamanho do volume tem de ser inferior ao tamanho do ficheiro original +Tamanho do volume incorrecto +Tamanho do volume especificado: {0} bytes.\nQuer mesmo separar o arquivo nestes volumes? +7400 +Combinar ficheiros +&Combinar para: +A combinar... +Seleccione apenas o primeiro ficheiro +Não foi possivel apagar o ficheiro como parte do ficheiro dividido +Não foi possível encontrar mais do que uma parte do ficheiro dividido +7500 +A calcular o checksum... +Informações do checksum +CRC checksum para dados: +CRC checksum para dados e nome: +7600 +Desempenho +Utilização de Memória: +A comprimir +A descomprimir +Desempenho +Desempenho Total +Actual +Resultante +Utilização CPU +Desemp. / Utiliza. +Passagens: +7700 +Link +Link +Link de: +Link para: +7710 +Link Tipo +Link do Disco Rígido +Link do Ficheiro Simbólico +Link do Directório Simbólico +Directório de Junção \ No newline at end of file diff --git a/Utils/7-Zip/Lang/ro.txt b/Utils/7-Zip/Lang/ro.txt new file mode 100644 index 000000000..0498a8e95 --- /dev/null +++ b/Utils/7-Zip/Lang/ro.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.59 : Lucian Nan : http://www.prizeeinternational.com +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Romanian +Română +401 +Bine +Anulare + + + +&Da +&Nu +&ÃŽnchide +Ajutor + +&Continuă +440 +Da, pe &toate +N&ici unul +OpreÅŸte +Restartează +ÃŽn &fundal +La &suprafaţă +&Pauză +ÃŽn pauză +EÅŸti sigur că vrei să anulezi? +500 +&FiÅŸier +&Editează +&Vizualizează +F&avorite +&Unelte +&Ajutor +540 +&Deschide +Deschide î&n +Deschide în &afară +&Vizualizeză +&Editează +&RedenumeÅŸte +&Copiază la... +&Mută la... +Åžter&ge +ÃŽmparte &fiÅŸierul... +&UneÅŸte fiÅŸierele... +&Proprietăţi +Comen&tariu +Calculează suma de verificare + +Crează director +Crează fiÅŸier +&IeÅŸire +600 +&Selectează tot +&Deselectează tot +&Inversează selecÅ£ia +Selectează... +Deselectează... +Selectează după tip +Deselectează după tip +700 +IconiÅ£e m&ari +IconiÅ£e m&ici +&Listă +&Detalii +730 +Nesortat +Vedere plană +&2 panouri +Bare de &unelte +Deschide directorul rădăcină +Un nivel mai sus +Istoria directoarelor... +&ÃŽmprospătează +750 +Bara de arhivare +Bara de unelte standard +Butoane mari +Arată textul butoanelor +800 +&Adaugă directorul în Favorite ca +Semn de carte +900 +&OpÅ£iuni... +&Banc de încercare +960 +&ConÅ£inut... +&Despre 7-Zip... +1003 +Calea +Nume +Extensie +Director +Mărime +Mărimea pachetului +Atribute +Creată +Accesată +Modificată +Solidă +Comentat +Criptat +ÃŽmparte înainte +ÃŽmparte după +DicÅ£ionar +CRC +Tip +Anti +Metoda +SO gazdă +FiÅŸier de sistem +Utilizator +Grup +Blochează +Comentariu +PoziÅ£ia +Prefixul destinaÅ£iei +Directoare +FiÅŸiere +Versiunea +Volum +Multivolume +Ofset +Legături +Blocuri +Volume + +64-bit +Big-endian +CPU +Mărime fizică +Mărimea antetelor +Checksum +Caracteristici +Adresa virtuală + + + + + + +Eroare +Mărimea totală +SpaÅ£iu liber +Mărimea grupului +Etichetă +Nume local +Distribuitor +2100 +OpÅ£iuni +Limba +Limba: +Editor +&Editor: + +2200 +Sistem +Asociază 7-Zip cu: +2301 +Integrează 7-Zip în contextul meniului shell +Contextul meniului în cascadă +Obiectele meniului: +2320 + + +Deschide arhiva +Dezarhivează fiÅŸierele... +Adaugă într-o arhivă... +Testează arhiva +Dezarhivează aici +Dezarhivează în {0} +Adaugă în {0} +Arhivează ÅŸi trimite email... +Arhivează în {0} ÅŸi trimite email +2400 +Directoare +&Directorul de lucru +Directorul &tempotar al sistemului +&Actual +&Specificat: +Utilizează numai pentru discurile detaÅŸabile +Specifică o destinaÅ£ie pentru arhivele temporare. +2500 +Setări +Arată ".." obiect +Arată iconiÅ£ele reale ale fiÅŸierului +Arată meniul sistemului +Selectează &tot rândul +Arată liniile de ghidare + +Mod de selectare &alternativă +Utilizează pagini &mari de memorie +2900 +Despre 7-Zip +7-Zip este un program gratuit. Oricum, poÅ£i contribui la dezvoltarea 7-Zip înregistrându-te. +3000 +Sistemul nu poate aloca memoria necesară +Nu sunt erori +{0} obiect(e) selectat(e) +Nu pot crea directorul '{0}' +OperaÅ£iile de actualizare nu sunt suportate pentru această arhivă. +Nu pot deschide fiÅŸierul '{0}' ca arhivă +Nu pot deschide arhiva criptată '{0}'. Parola greÅŸită? +Tip de arhivă nesuportat +FiÈ™ierul {0} există deja +FiÅŸierul '{0}' a fost modificat.\nDoreÅŸti să îl actualizez în arhivă? +Nu pot actualiza fiÅŸierul\n'{0}' +Nu pot porni editorul. +The file looks like a virus (the file name contains long spaces in name). +OperaÈ›ia nu poate fi apelată dintr-un director cu cale lungă. +Trebuie să alegi un fiÈ™ier +Trebuie să alegi unul sau mai multe fiÈ™iere +Prea multe obiecte +3300 +Dezarhivez +Arhivare +Testez +Deschid... +Citesc... +3400 +Dezarhivează +Dezarhivează în: +Specifică o destinaÅ£ie pentru fiÅŸierele dezarhivate. +3410 +Modul destinaÅ£ie +Numele întreg al destinaÅ£iei +Fără locaÅ£ie +3420 +Modul de înlocuire +ÃŽntreabă înainte de a înlocui +ÃŽnlocuieÅŸte fară a întreba +Sări peste fiÅŸierele existente +Auto redenumire +Auto redenumeÅŸte fiÅŸierele existente +3500 +Aprobă înlocuirea fiÅŸierului +FiÅŸierul există deja în directorul destinaÅ£ie. +DoriÅ£i să înlocuiÅ£i fiÅŸierul existent +cu acesta? +{0} octeÅ£i +A&uto redenumire +3700 +Metodă de arhivare nesuportată pentru '{0}'. +Eroare de date la '{0}'. FiÅŸierul este corupt. +Verificarea CRC a eÅŸuat pentru '{0}'. FiÅŸierul este corupt. +Erori de date la fiÅŸierul criptat '{0}'. Parolă greÅŸită? +Verificarea CRC a eÅŸuat pentru fiÅŸierul criptat '{0}'. Parolă greÅŸită? +3800 +Introdu parola +Introdu parola: +Reintrodu parola: +&Arată parola +Parolele nu sunt identice +UtilizaÅ£i numai litere, cifre ÅŸi caracterele speciale (!, #, $, ...) pentru parolă +Parola este prea lungă +Parola +3900 +Timp trecut: +Timp rămas: +Mărimea: +Viteza: +Procesat: +Rata de comprimare: +Erori: +Arhive: +4000 +Adaugă într-o arhivă +&Arhivează: +Modul de a&ctualizare: +&Formatul arhivei: +&Nivel de arhivare: +&Metoda de arhivare: +Mărimea &dicÅ£ionarului: +Mărimea &cuvântului: +Mărimea blocului solid: +Numărul de procesoare utilizate: +&Parametri: +OpÅ£iuni +Crează arhivă SF&X +Arhivează fiÅŸierele partajate +Criptare +Metoda de criptare: +Criptează &numele fiÅŸierului +Memorie utilizată pentru arhivare: +Memorie utilizată pentru dezarhivare: +4050 +Stochează +Imediată +Rapidă +Normală +Maximă +Ultra +4060 +Adaugă ÅŸi înlocuieÅŸte fiÅŸierele +Actualizează ÅŸi adaugă fiÅŸierele +Actualizează fiÅŸierele existente +Sincronizează fiÅŸierele +4070 +Caută +Toate fiÅŸierele +NEsolid +Solid +6000 +Copiază +Mută +Copiază la: +Mută la: +Copiez... +Mut... +Redenumesc... +Alege directorul destinaÅ£ie. +OperaÅ£ia nu este suportată. +Eroare la redenumirea fiÅŸierului sau directorului +Aprobă copierea fiÅŸierului +EÅŸti sigur că vrei să copiezi fiÅŸierele în arhivă +6100 +Aprobă ÅŸtergerea fiÅŸierului +Aprobă ÅŸtergerea directorului +Aprobă ÅŸtergerea mai multor fiÅŸiere +EÅŸti sigur că vrei să ÅŸtergi '{0}'? +EÅŸti sigur că vrei să ÅŸtergi directorul '{0}' ÅŸi tot conÅ£inutul lui? +EÅŸti sigur că vrei să ÅŸtergi aceste {0} obiecte? +Åžterg... +Eroare la ÅŸtergerea fiÅŸierului sau directorului +Sistemul nu poate muta un fiÅŸier cu cale lungă la CoÅŸul de gunoi +6300 +Crează director +Crează fiÅŸier +Numele directorului: +Numele fiÅŸierului: +Director nou +FiÅŸier nou +Eroare la crearea directorului +Eroare la crearea fiÅŸierului +6400 +Comentariu +&Comentariu: +Selectează +Deselectează +Masca: +6600 +Proprietăţi +Istoria directoarelor +Mesaje de diagnosticare +Mesaj +7100 +Computer +ReÅ£ea +Documente +Sistem +7200 +Arhivează +Dezarhivează +Testează +Copiază +Mută +Åžterge +Info +7300 +ÃŽmparte fiÅŸierul +ÃŽ&mparte în: +ÃŽmparte în &volume, octeÅ£i: +ÃŽmpart... +Confirmă împărÅ£irea +EÅŸti sigur că vrei să imparÅ£i arhiva în {0} volume (părÅ£i)? +Dimensiunea volumului trebuie să fie mai mică decât dimensiunea fiÅŸierului original +Dimensiunea volumului este incorectă +Dimensiunea volumului specificat: {0} octeÅ£i.\nEÅŸti sigur că vrei să împarÅ£i arhiva în mai multe volume (părÅ£i)? +7400 +UneÅŸte fiÅŸierele +&UneÅŸte în: +Unesc... +Alege doar prima parte din fiÅŸierul împărÈ›it +Nu pot detecta fiÈ™ierul ca parte a fiÈ™ierului împărÈ›it +Nu găsesc mai mult de o parte din fiÈ™ierul împărÈ›it +7500 +Calculez suma de control... +InformaÅ£ii despre suma de control +Suma de control CRC pentru conÅ£inut: +Suma de control CRC pentru conÅ£inut ÅŸi nume: +7600 +Banc de încercare +Memorie utilizată: +Arhivez +Dezarhivez +Rata +Rata totală +Actual +Rezultate +Utilizarea procesorului +Rata / Utilizare +Trecute: diff --git a/Utils/7-Zip/Lang/ru.txt b/Utils/7-Zip/Lang/ru.txt new file mode 100644 index 000000000..7e5cf4960 --- /dev/null +++ b/Utils/7-Zip/Lang/ru.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.10 : 2015-10-31 : Igor Pavlov +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Russian +РуÑÑкий +401 +OK +Отмена + + + +&Да +&Ðет +&Закрыть +Помощь + +&Продолжить +440 +Да Ð´Ð»Ñ &вÑех +Ðет Ð´Ð»Ñ Ð²&Ñех +Стоп +ПерезапуÑк +&Фоном +&Ðа передний план +&Пауза +Ðа паузе +Ð’Ñ‹ дейÑтвительно хотите прервать операцию? +500 +&Файл +&Правка +&Вид +&Избранное +С&ÐµÑ€Ð²Ð¸Ñ +&Справка +540 +&Открыть +Открыть &внутри +Открыть Ñнару&жи +ПроÑмотр +&Редактировать +Переи&меновать +&Копировать в... +&ПеремеÑтить в... +&Удалить +Ра&збить файл... +О&бъединить файлы... +Сво&йÑтва +Комме&нтарий... +ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма +Сравнить +&Создать Папку +Созд&ать Файл +Ð’&ыход +СÑылка +&Ðльтернативные Потоки +600 +Выделить в&Ñе +Убрать выделение +&Обратить в&ыделение +Выделить... +Убрать выделение... +Выделить по типу +Убрать выделение по типу +700 +&Крупные значки +&Мелкие значки +СпиÑ&ок +&Таблица +730 +Без Ñортировки +ПлоÑкий режим +&2 Панели +&Панели инÑтрументов +Открыть корневую папку +Переход на один уровень вверх +ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð°Ð¿Ð¾Ðº... +О&бновить +Ðвтообновление +750 +Панель кнопок архиватора +Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ кнопок +Большие кнопки +ÐадпиÑи на кнопках +800 +Добавить папку в &избранное как +Закладка +900 +ÐаÑтройки... +ТеÑтирование производительноÑти +960 +&Оглавление... +О &программе... +1003 +Путь +Ð˜Ð¼Ñ +РаÑширение +Папка +Размер +Сжатый +Ðтрибуты +Создан +Открыт +Изменен +Ðепрерывный +Комментарий +Зашифрован +Разбит До +Разбит ПоÑле +Словарь + +Тип +Ðнти +Метод +СиÑтема +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ Ð¡Ð¸Ñтема +Пользователь +Группа +Блок +Комментарий +ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ +Путь +Папок +Файлов +ВерÑÐ¸Ñ +Том +Многотомный +Смещение +СÑылок +Блоков +Томов + + + +ПроцеÑÑор +ФизичеÑкий Размер +Размер Заголовков +ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ð¡ÑƒÐ¼Ð¼Ð° +ХарактериÑтики +Виртуальный ÐÐ´Ñ€ÐµÑ + +Короткое Ð˜Ð¼Ñ +Создатель +Размер Сектора +Режим +Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ð¡Ñылка +Ошибка +ЕмкоÑть +Свободно +Размер клаÑтера +Метка +Локальное Ð¸Ð¼Ñ +Провайдер +NT БезопаÑноÑть +Ðльтернативный Поток + +Удаленный +Дерево + + +Тип Ошибки +Ошибки +Ошибки +ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ +Предупреждение +Потоки +Ðльтернативные Потоки +Размер Ðльтернативных потоков +Виртуальный Размер +РаÑпакованный Размер +Общий ФизичеÑкий Размер +Ðомер Тома +Подтип +Короткий Комментарий +ÐšÐ¾Ð´Ð¾Ð²Ð°Ñ Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° + + + +Размер ОÑтатка +Размер Ð’Ñтроенного Блока +СÑылка +ЖеÑÑ‚ÐºÐ°Ñ Ð¡Ñылка +iNode + +Только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ +2100 +ÐаÑтройки +Язык +Язык: +Редактор +&Редактор: +&Программа ÑравнениÑ: +2200 +СиÑтема +ÐÑÑоциировать 7-Zip Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸: +Ð’Ñе пользователи +2301 +Ð’Ñтроить 7-Zip в контекÑтное меню оболочки +КаÑкадное контекÑтное меню +Элементы контекÑтного меню: +Иконки в контекÑтном меню +2320 +<Папка> +<Ðрхив> +Открыть архив +РаÑпаковать +Добавить к архиву... +ТеÑтировать +РаÑпаковать здеÑÑŒ +РаÑпаковать в {0} +Добавить к {0} +Сжать и отправить по email... +Сжать в {0} и отправить по email +2400 +Папки +&Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° +&СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° +&Ð¢ÐµÐºÑƒÑ‰Ð°Ñ +&Задать: +ИÑпользовать только Ð´Ð»Ñ Ñменных ноÑителей +Укажите положение Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… архивов. +2500 +ÐаÑтройки +Показывать Ñлемент ".." +Показывать реальные иконки файлов +Показывать ÑиÑтемное меню +КурÑор на вÑÑŽ Ñтроку +Показывать разделители +Открывать одним щелчком +Ðльтернативный режим пометки +ИÑпользовать большие Ñтраницы памÑти +2900 +О программе 7-Zip +7-Zip ÑвлÑетÑÑ Ñвободно раÑпроÑтранÑемой программой. +3000 +ÐедоÑтаточно Ñвободной памÑти +Ошибок не найдено +Выделено объектов: {0} +Ðе удалоÑÑŒ Ñоздать папку '{0}' +Операции Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ поддерживаютÑÑ Ð´Ð»Ñ Ñтого архива. +Ðе удалоÑÑŒ открыть файл '{0}' как архив +Ðе удалоÑÑŒ открыть зашифрованный архив '{0}'. Ðеверный пароль? +Ðеподдерживаемый тип архива +Файл {0} уже ÑущеÑтвует +Файл '{0}' был изменен.\nÐ’Ñ‹ хотите обновить его в архиве? +Ðе удалоÑÑŒ обновить файл\n'{0}' +Ðе удалоÑÑŒ запуÑтить редактор +Файл похож на Ð²Ð¸Ñ€ÑƒÑ (Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ñодержит длинную поÑледовательноÑть пробелов). +ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ может быть иÑполнена из папки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ð¼ÐµÐµÑ‚ длинный путь. +Ð’Ñ‹ должны выделить один файл +Ð’Ñ‹ должны выделить один или неÑколько файлов +Слишком много Ñлементов +Ðе удалоÑÑŒ открыть файл как {0} архив +Файл открыт как {0} архив +Ðрхив открыт Ñо Ñмещением +3300 +РаÑпаковка +Упаковка +ТеÑтирование +Открытие... +Сканирование... +Удаление +3320 +Добавление +Обновление +Ðнализ +Копирование +Перепаковка +ПропуÑк +Удаление +Создание заголовков +3400 +Извлечь +&РаÑпаковать в: +Укажите положение Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÐºÐ°ÐµÐ¼Ñ‹Ñ… файлов. +3410 +Пути к файлам: +Полные пути +Без путей +ÐбÑолютные пути +ОтноÑительные пути +3420 +ПерезапиÑÑŒ: +С подтверждением +Без Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ +ПропуÑкать +Переименовать автоматичеÑки +Переименовать ÑущеÑтвующие +3430 +УÑтранить дублирование корневой папки +УÑтанавливать права доÑтупа +3500 +Подтверждение замены файла +Папка уже Ñодержит обрабатываемый файл. +Заменить ÑущеÑтвующий файл +Ñледующим файлом? +{0} байтов +Переименовать автом. +3700 +Ðеподдерживаемый метод ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° '{0}'. +Ошибка в данных в '{0}'. Файл иÑпорчен. +Ошибка CRC в '{0}'. Файл иÑпорчен. +Ошибка в данных зашифрованного файла '{0}'. Ðеверный пароль? +Ошибка CRC Ð´Ð»Ñ Ð·Ð°ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð³Ð¾ файла '{0}'. Ðеверный пароль? +3710 +Ðеверный пароль? +3721 +Ðеподдерживаемый метод ÑÐ¶Ð°Ñ‚Ð¸Ñ +Ошибка в данных +Ошибка CRC +ÐедоÑтупные данные +Ðеожиданный конец данных +ЕÑть данные поÑле конца блока полезных данных +Ðе ÑвлÑетÑÑ Ð°Ñ€Ñ…Ð¸Ð²Ð¾Ð¼ +Ошибка в заголовках +Ðеверный пароль +3763 +ÐедоÑтупно начало архива +Ðеподтвержденное начало архива + + + +ÐÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть +3800 +Ввод Ð¿Ð°Ñ€Ð¾Ð»Ñ +&Введите пароль: +Повторите пароль: +&Показать пароль +Пароли не Ñовпадают +Ð”Ð»Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¸Ñпользуйте только Ñимволы латинÑкого алфавита, цифры и Ñпециальные Ñимволы (!, #, $, ...) +Пароль Ñлишком длинный +&Пароль +3900 +Прошло: +ОÑталоÑÑŒ: +Ð’Ñего: +СкороÑть: +Размер: +Степень ÑжатиÑ: +Ошибок: +Ðрхивов: +4000 +Добавить к архиву +&Ðрхив: +&Режим изменениÑ: +&Формат архива: +&Уровень ÑжатиÑ: +&Метод ÑжатиÑ: +Размер &ÑловарÑ: +Размер Ñ&лова: +Размер блока: +ЧиÑло потоков: +&Параметры: +&Опции +Создать SF&X-архив +Сжимать открытые Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи файлы +Шифрование +Метод шифрованиÑ: +&Шифровать имена файлов +Объем памÑти Ð´Ð»Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²ÐºÐ¸: +Объем памÑти Ð´Ð»Ñ Ñ€Ð°Ñпаковки: +УдалÑть файлы поÑле ÑÐ¶Ð°Ñ‚Ð¸Ñ +4040 +СохранÑть Ñимвольные ÑÑылки +СохранÑть жеÑткие ÑÑылки +СохранÑть альтернативные потоки +СохранÑть права доÑтупа +4050 +Без ÑÐ¶Ð°Ñ‚Ð¸Ñ +СкороÑтной +БыÑтрый +Ðормальный +МакÑимальный +Ультра +4060 +Добавить и заменить +Обновить и добавить +Обновить +Синхронизировать +4070 +ПролиÑтать +Ð’Ñе файлы +По размеру файла +Ðепрерывный +6000 +Копировать +ПеремеÑтить +Копировать в: +ПеремеÑтить в: +Копирование... +Перемещение... +Переименование... +Укажите папку. +ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ поддерживаетÑÑ Ð´Ð»Ñ Ñтой папки. +Ошибка при переименовании файла или папки +Подтверждение ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² +Ð’Ñ‹ дейÑтвительно хотите Ñкопировать Ñти файлы в архив +6100 +Подтверждение ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° +Подтверждение ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¿ÐºÐ¸ +Подтверждение ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ файлов +Ð’Ñ‹ дейÑтвительно хотите удалить "{0}"? +Ð’Ñ‹ дейÑтвительно хотите удалить папку "{0}" и вÑе ее Ñодержимое? +Ð’Ñ‹ дейÑтвительно хотите удалить Ñти объекты ({0} шт.)? +Удаление... +Ошибка при удалении файла или папки +СиÑтема не поддерживает операцию ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² Ñ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ð¼Ð¸ путÑми в корзину +6300 +Создать папку +Создать файл +Ð˜Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸: +Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: +ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° +Ðовый файл +Ошибка при Ñоздании папки +Ошибка при Ñоздании файла +6400 +Комментарий +&Комментарий: +Выделить +Убрать выделение +МаÑка: +6600 +СвойÑтва +ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð°Ð¿Ð¾Ðº +Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ +Сообщение +7100 +Компьютер +Сеть +Документы +СиÑтема +7200 +Добавить +Извлечь +ТеÑтировать +Копировать +ПеремеÑтить +Удалить +Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ +7300 +Разбить файл +&Разбить в: +Разбить на &тома размером (в байтах): +Разбиение... +Подтверждение Ñ€Ð°Ð·Ð±Ð¸ÐµÐ½Ð¸Ñ +Ð’Ñ‹ дейÑтвительно хотите разбить файл на {0} чаÑтей? +Размер тома должен быть меньше размера иÑходного файла +Ошибка в поле Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° томов +УÑтановленный размер тома: {0} байтов.\nÐ’Ñ‹ дейÑтвительно хотите разбить архив на такие тома? +7400 +Объединить файлы +&Объединить в: +Объединение... +Ðеобходимо выделить только первую чаÑть разбитого файла +Ðе удалоÑÑŒ раÑпознать разбитый файл +Ðе удалоÑÑŒ найти более одной чаÑти разбитого файла +7500 +ВычиÑление контрольной Ñуммы... +ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма +ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма CRC Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…: +ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма CRC Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… и имен: +7600 +ТеÑтирование производительноÑти +Объем памÑти: +Упаковка +РаÑпаковка +Рейтинг +Общий рейтинг +Текущий +Итоговый +Ðагрузка +Рейтинг / Ðагр. +Проходов: +7700 +СÑылка +СвÑзать +ИÑточник: +Цель: +7710 +Тип ÑÑылки +ЖеÑÑ‚ÐºÐ°Ñ ÑÑылка +Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка (Файл) +Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка (Папка) +Точка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (Junction) diff --git a/Utils/7-Zip/Lang/sa.txt b/Utils/7-Zip/Lang/sa.txt new file mode 100644 index 000000000..c919de2e0 --- /dev/null +++ b/Utils/7-Zip/Lang/sa.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Vinayy Sharrma, अनà¥à¤µà¤¾à¤¦à¤‚ विनय शरà¥à¤®à¤¾ संसà¥à¤•ृतमॠगरà¥à¤µ कà¥à¤°à¥, जय हिनà¥à¤¦à¤‚ ! जय संसà¥à¤•ृतमà¥! à¤à¤¤à¤¤à¥ साधारण अनà¥à¤µà¤¾à¤¦à¤‚ असà¥à¤¤à¤¿ +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Sanskrit, Indian, हिनà¥à¤¦à¥à¤¸à¥à¤¤à¤¾à¤¨à¤‚ +संसà¥à¤•ृत +401 +ठीक असà¥à¤¤à¤¿ +रदà¥à¤¦ + + + +&हाठ+&ना +&बंद कà¥à¤°à¥ +मददं + +&जारी रखे +440 +&सरà¥à¤µà¤¸à¥à¤¯ हाठ+&सरà¥à¤µà¤¸à¥à¤¯ ना +रूको +पà¥à¤¨à¤ƒ शà¥à¤°à¥ कà¥à¤°à¥ +&पॄषà¥à¤ à¥à¤­à¥‚मि +&अगà¥à¤°à¤­à¥‚मि(डेसà¥à¤•à¥à¤Ÿà¥‹à¤ª) +&विशà¥à¤°à¤¾à¤® +विशà¥à¤°à¤¾à¤®à¤¿à¤¤à¤‚ +तà¥à¤µà¤® रदà¥à¤¦ करना चाहते हो. तà¥à¤®à¥à¤¹à¥‡à¤‚ यकीन असà¥à¤¤à¤¿ कà¥à¤¯à¤¾? +500 +&फ़ाइलमॠ+&संपादनमॠ+&दरà¥à¤¶à¤¨à¤®à¥ +&मनपसंदमॠ+&औजारमॠ+&मददमॠ+540 +&अनावृतं +&अंदर अनावृतं +&बहिः अनावृतं +&दृशà¥à¤¯à¤®à¥ +&संपादनमॠ+&पà¥à¤¨: नामकरणमॠ+&में नकल बनाये... +&में ले जायें... +&मिटायें +&फ़ाइलसà¥à¤¯ विभाजनं कà¥à¤°à¥... +&फ़ाइलसà¥à¤¯ संयोजनं कà¥à¤°à¥... +&संपतà¥à¤¤à¤¿à¤¯à¤¾à¤ वा गà¥à¤£à¤‚ +&टिपà¥à¤ªà¤£à¥€ +&जाà¤à¤š योगसà¥à¤¯ गणनां कà¥à¤°à¥ +&अनà¥à¤¤à¤° +&फोलà¥à¤¡à¤°à¤‚ निरà¥à¤®à¤¾à¤£à¤®à¥ कà¥à¤°à¥ +&फ़ाइलं निरà¥à¤®à¤¾à¤£à¤®à¥ कà¥à¤°à¥ +&निरà¥à¤—मन +600 +&सरà¥à¤µ चयनं कà¥à¤°à¥ +&सरà¥à¤µ अचयनितं कà¥à¤°à¥ +&चयन उलटा कà¥à¤°à¥ +चयनं कà¥à¤°à¥... +अचयनं कà¥à¤°à¥... +पà¥à¤°à¤•ार दà¥à¤µà¤¾à¤°à¤¾ चयनमॠ+पà¥à¤°à¤•ार दà¥à¤µà¤¾à¤°à¤¾ अचयनमॠ+700 +विशाल पà¥à¤°à¤¤à¥€à¤•ं +लघॠपà¥à¤°à¤¤à¥€à¤•ं +&सूची +&वरà¥à¤£à¤¨à¤‚ +730 +अवितरितमॠ+चौड़ा दृशà¥à¤¯ +&२ फ़लक +&औजार पटà¥à¤Ÿà¥€à¤¯à¤¾à¤ +मूल फोलà¥à¤¡à¤°à¤‚ अनावृतं +à¤à¤• सà¥à¤¤à¤° उरà¥à¤§à¥à¤µ चà¥à¥‡ +फ़ोलà¥à¤¡à¤°à¥‹ का इतिहास... +&ताजा कà¥à¤°à¥ +750 +संगà¥à¤°à¤¹à¤®à¥ उपकरणपटà¥à¤Ÿà¥€ +मानक औजार पटà¥à¤Ÿà¥€ +विशाल खटके(बटन) +खटके(बटन) के शबà¥à¤¦ दिखायें +800 +&फोलà¥à¤¡à¤°à¤‚ मनपसंद में ऎसे जोड़े... +पà¥à¤¸à¥à¤¤à¤šà¤¿à¤¨à¥à¤¹à¤®à¥ +900 +&विकलà¥à¤ªà¤®à¥... +&बेञà¥à¤šà¤®à¤¾à¤°à¥à¤•मà¥(पà¥à¤°à¤¾à¤®à¤¾à¤£à¤¿à¤• तà¥à¤²à¤¨à¤¾) +960 +&सामगà¥à¤°à¥€... +7-जिप विषय... +1003 +मारà¥à¤— +नाम +विसà¥à¤¤à¤¾à¤°à¤‚ +फोलà¥à¤¡à¤°à¤‚ +आकारं +कà¥à¤² आकारं +विशेषता वा गà¥à¤£à¤§à¤°à¥à¤® +सरà¥à¤œà¤¿à¤¤à¤‚ +चालितमॠ+परिवरà¥à¤§à¤¿à¤¤à¤‚ +ठोस +टिपà¥à¤ªà¤£à¥€ +गà¥à¤ªà¥à¤¤à¤¿à¤•ृतमॠ+के पूरà¥à¤µ विभाजनं(टà¥à¤•डे) कà¥à¤°à¥ +के पशà¥à¤šà¤¾à¤¤ विभाजनं(टà¥à¤•डे) कà¥à¤°à¥ +शबà¥à¤¦à¤•ोशं +सीआरसी +पà¥à¤°à¤•ारं +विरोधी +पदà¥à¤§à¤¤à¤¿ +ओपरेटिंग सिसà¥à¤Ÿà¤® +फ़ाइलं पà¥à¤°à¤£à¤¾à¤²à¥€ +पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ +समूहमॠ+रोक वा टà¥à¤•ड़े +पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾ +सà¥à¤¥à¤¾à¤¨à¤‚ +मारà¥à¤— पà¥à¤°à¤¤à¥à¤¯à¤¯à¤‚ +फोलà¥à¤¡à¤°à¥à¤¸ +फाइलà¥à¤¸ +संसà¥à¤•रणमॠ+जतà¥à¤¥à¤¾ +अनेक जतà¥à¤¥à¥‡ +ओफसेट +कडियाठ+टà¥à¤•ड़े +जतà¥à¤¥à¥‡ + +64-बिट +विशाल-à¤à¤¨à¥à¤¡à¤¿à¤¯à¤¨ +सीपीयू +भौतिक आकारं +शीरà¥à¤·à¤•ाः आकारं +जाà¤à¤šà¤¯à¥‹à¤— +चरितà¥à¤°à¤¤à¤¾à¤Žà¤‚ +आभासी पता +आईडी +संकà¥à¤·à¤¿à¤ªà¥à¤¤à¤ƒ नामं +सरà¥à¤œà¤• अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤—ं +सेकà¥à¤Ÿà¤°à¤¸à¥à¤¯ आकारं +सà¥à¤¥à¤¿à¤¤à¤¿ +कड़ी +तà¥à¤°à¥à¤Ÿà¤¿ +कà¥à¤² आकारं +सà¥à¤µà¤¤à¤¨à¥à¤¤à¥à¤° रिकà¥à¤¤à¤¸à¥à¤¥à¤¾à¤¨à¤‚(खाली जगह) +कà¥à¤²à¤¸à¥à¤Ÿà¤°(समूह) आकारं +धà¥à¤¯à¤¾à¤¨à¤¾à¤•रà¥à¤·à¤•ं(लेबलमà¥) +सà¥à¤¥à¤¾à¤¨à¤¿à¤¯ नाममॠ+पà¥à¤°à¤¦à¤¾à¤¯à¤•मॠ+2100 +विकलà¥à¤ªà¤®à¥ +भाषा +भाषा: +संपादकमॠ+&संपादक: +&अनà¥à¤¤à¤°: +2200 +पà¥à¤°à¤£à¤¾à¤²à¥€ वा तंतà¥à¤°à¤®à¥ +संबधित कà¥à¤°à¥ 7-जिप के साथ: +2301 +7-जिपसà¥à¤¯ शेल(कवच) पà¥à¤°à¤¸à¤‚ग मेनॠमें जोडें +सोपानीकृत(केसà¥à¤•ेडेड) पà¥à¤°à¤¸à¤‚ग मेनॠ+पà¥à¤°à¤¸à¤‚ग(कोनà¥à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ) मेनॠवसà¥à¤¤à¥à¤à¤: +2320 +<फोलà¥à¤¡à¤°à¤‚> +<संगà¥à¤°à¤¹à¤®à¥(आरà¥à¤šà¤¿à¤µ)> +संगà¥à¤°à¤¹à¤®à¥ अनावृतं +फ़ाइलà¥à¤¸ बहिः निकाले... +संगà¥à¤°à¤¹à¤®à¥ में जोड़े... +संगà¥à¤°à¤¹à¤®à¤¸à¥à¤¯ जाà¤à¤š कà¥à¤°à¥ +यहीं बहिः निकाले +{0} में बहिः निकाले +{0} में जोड़े +संकà¥à¤šà¤¨à¤‚ à¤à¤µà¤®à¥ ईमेलमॠकà¥à¤°à¥... +{0} में दबायें à¤à¤µà¤®à¥ ईमेलं कà¥à¤°à¥ +2400 +फ़ोलà¥à¤¡à¤°à¥à¤¸ +&कारà¥à¤¯à¤°à¤¤ फोलà¥à¤¡à¤°à¤‚ +&पà¥à¤°à¤£à¤¾à¤²à¤¯à¤¾à¤¸à¥à¤¯ असà¥à¤¥à¤¾à¤¯à¥€(टेमà¥à¤ªà¤°à¤°à¥€) फोलà¥à¤¡à¤°à¤‚ +&चालू +&निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ: +मातà¥à¤° हटाने योगà¥à¤¯(रिमूवेबल) डà¥à¤°à¤¾à¤ˆà¤µà¤¾à¤¯ ही पà¥à¤°à¤¯à¥‹à¤—ं कà¥à¤°à¥ +असà¥à¤¥à¤¾à¤¯à¥€ संगà¥à¤°à¤¹à¤®à¥ फाइलाय सà¥à¤¥à¤¾à¤¨à¤‚ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤‚ कà¥à¤°à¥(बतायें). +2500 +वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤à¤ +दिखाओ ".."वसà¥à¤¤à¥ +वासà¥à¤¤à¤µà¤¿à¤• फ़ाइल पà¥à¤°à¤¤à¤¿à¤®à¤¾à¤¯à¥‡à¤‚ दिखाओ +तंतà¥à¤°à¤¸à¥à¤¯ मेनॠदिखाओ +&पूरà¥à¤£ पनà¥à¤•à¥à¤¤à¤¿à¤¸à¥à¤¯ चयनं +&गà¥à¤°à¤¿à¤¡(जाल) रेखा दिखाओ +वसà¥à¤¤à¥ अनावृताय à¤à¤•ं ही(सिंगल)-कà¥à¤²à¤¿à¤•मॠ+&वैकलà¥à¤ªà¤¿à¤• चयनं सà¥à¤¥à¤¿à¤¤à¤¿ +&विशालॠसà¥à¤®à¥ƒà¤¤à¤¿ पृषà¥à¤ à¤¸à¥à¤¯ पà¥à¤°à¤¯à¥‹à¤—ं कà¥à¤°à¥ +2900 +7-जिप विषय +7-जिपं à¤à¤¤à¤¤ निःशà¥à¤²à¥à¤• सॉफ़à¥à¤Ÿà¤µà¥‡à¤¯à¤° असà¥à¤¤à¤¿. तथापि, भवानॠपंजीकृतं(रजिसà¥à¤Ÿà¤°à¥à¤¡) होकर७-ज़िपसà¥à¤¯ विकास में सहयोग कर सकते असà¥à¤¤à¤¿. +3000 +तंतà¥à¤°à¤®à¥ आवशà¥à¤¯à¤• मातà¥à¤°à¤¾ में मेमोरी(सà¥à¤®à¥ƒà¤¤à¤¿) वितरितं ना कर सकता असà¥à¤¤à¤¿ +इनमे कोई भी तà¥à¤°à¥à¤Ÿà¤¿ ना असà¥à¤¤à¤¿ +{0} चयनित वसà¥à¤¤à¥(à¤à¤) +'{0}' फोलà¥à¤¡à¤°à¤‚ सरà¥à¤œà¤¿à¤¤ ना कर सकता +à¤à¤¤à¤¤à¥ संगà¥à¤°à¤¹à¤®à¤¸à¥à¤¯ अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृत संचालन समरà¥à¤¥à¤¿à¤¤ ना असà¥à¤¤à¤¿. +'{0}' फाइल को संगà¥à¤°à¤¹à¤®à¥ के रूप में ना खोल सकता +'{0}' गà¥à¤ªà¥à¤¤à¤¿à¤•ृतमॠसंगà¥à¤°à¤¹à¤®à¥ को ना खोल सकता. मिथà¥à¤¯à¤¾ कूटशबà¥à¤¦à¤®à¥? +असमरà¥à¤¥à¤¿à¤¤ संगà¥à¤°à¤¹à¤®à¥ पà¥à¤°à¤•ारं +फाइलं {0} पहले से मौजूद असà¥à¤¤à¤¿ +'{0}' फ़ाइल परिवरà¥à¤§à¤¿à¤¤à¤‚ हà¥à¤ˆ असà¥à¤¤à¤¿.\nकà¥à¤¯à¤¾ तà¥à¤® संगà¥à¤°à¤¹à¤®à¥ में इसे अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृतं करना चाहते हो? +फ़ाइल को अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृतं ना कर सकता\n'{0}' +संपादक को शà¥à¤°à¥‚ ना कर सकता. +यह फाइलं à¤à¤• विषाणà¥(वायरस) जैसी लगती असà¥à¤¤à¤¿(फाइलं नाम लंबी खाली जगह नाम में रखता असà¥à¤¤à¤¿). +जिस फोलà¥à¤¡à¤°à¤‚ का लंबा मारà¥à¤— असà¥à¤¤à¤¿ उससे सञà¥à¤šà¤¾à¤²à¤¨à¤‚ कà¥à¤°à¤¿à¤¯à¤¾ ना बà¥à¤²à¤¾à¤ˆ जा सकती. +तà¥à¤®à¥à¤¹à¥‡ à¤à¤• फाइलं का चयन तो करना ही होगा +तà¥à¤®à¥à¤¹à¥‡ à¤à¤• वा अधिक फाइलों को चà¥à¤¨à¤¨à¤¾ ही होगा +अतà¥à¤¯à¤§à¤¿à¤• वसà¥à¤¤à¥à¤à¤ +3300 +बहिः निकाल रहा असà¥à¤¤à¤¿ +संकà¥à¤šà¤¨à¤‚ कर रहा असà¥à¤¤à¤¿ +परीकà¥à¤·à¤£à¤®à¥ +अनावृतं कर रहा असà¥à¤¤à¤¿... +तलाशी(सà¥à¤•ैनिंग) कर रहा असà¥à¤¤à¤¿... +3400 +बहिः निकाले +&बहिः निकाले: +बहिः निकाली हà¥à¤ˆ फ़ाइलों के लिये सà¥à¤¥à¤¾à¤¨à¤‚ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤‚ कà¥à¤°à¥. +3410 +मारà¥à¤— सà¥à¤¥à¤¿à¤¤à¤¿ +पूरà¥à¤£ मारà¥à¤—नामं +कोई मारà¥à¤— नामं ना असà¥à¤¤à¤¿ +3420 +अधिलेखन रीत +अधिलेखन करने से पहले पृचà¥à¤›à¤¾à¤ƒ +बिना पृचà¥à¤›à¤¾à¤ƒ अधिलेखनं(पà¥à¤°à¤¾à¤¨à¥‡ को मिटाना) कà¥à¤°à¥ +पहले से मौजूद फ़ाइलस को छोड़े +सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤¨: नामकरणं +पहले से मौजूद फ़ाइलस का सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤à¤‚(ओटोमेटिक) पà¥à¤¨: नामकरणं कà¥à¤°à¥ +3500 +फ़ाइलं पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¨à¤‚ को पकà¥à¤•ा कà¥à¤°à¥ +गनà¥à¤¤à¤µà¥à¤¯ फोलà¥à¤¡à¤°à¤‚ में पहले से ही पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ हà¥à¤ˆ फ़ाइलं असà¥à¤¤à¤¿. +कà¥à¤¯à¤¾ भवानॠपहले से मौजूद फ़ाइल को बदलना पसंद करेंगे? +इसके साथ? +{0} बाइटà¥à¤¸ +सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤¨: नामकरणमॠ+3700 +'{0}' के लिठअसहायक दबाने की पदà¥à¤§à¤¤à¤¿. +डेटा तà¥à¤°à¥à¤Ÿà¤¿'{0}' में. फ़ाइलं टूटी हà¥à¤ˆ असà¥à¤¤à¤¿. +'{0}' में सीआरसी असफल. फ़ाइलं टूटी हà¥à¤ˆ असà¥à¤¤à¤¿. +'{0}' गà¥à¤ªà¥à¤¤à¤¿à¤•ृतमà¥(à¤à¤¨à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿà¥‡à¤¡) फाइलं में डेटा तà¥à¤°à¥à¤Ÿà¤¿. मिथà¥à¤¯à¤¾ कूटशबà¥à¤¦à¤®à¥? +'{0}'गà¥à¤ªà¥à¤¤à¤¿à¤•ृतमà¥(à¤à¤¨à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿà¥‡à¤¡) फाइलं में सीआरसी असफल. मिथà¥à¤¯à¤¾ कूटशबà¥à¤¦à¤®à¥? +3800 +कूटशबà¥à¤¦à¤®à¥(पासवरà¥à¤¡) डाले +कूटशबà¥à¤¦à¤®à¥(पासवरà¥à¤¡) डाले: +कूटशबà¥à¤¦à¤®à¥ पà¥à¤¨à¤ƒ डाले: +&कूटशबà¥à¤¦à¤®à¥(पासवरà¥à¤¡) दिखाओ +कूटशबà¥à¤¦à¤®à¥ सहेजे हà¥à¤ से अलग असà¥à¤¤à¤¿ +कूटशबà¥à¤¦à¤®à¥ के लिये मातà¥à¤° इंगà¥à¤²à¤¿à¤¶ वरà¥à¤£à¤®à¤¾à¤²à¤¾, अंकाः और विशेष अकà¥à¤·à¤°à¥‹à¤‚ (!, #, $, ...) का ही उपयोग कà¥à¤°à¥ +कूटशबà¥à¤¦à¤®à¥ अतà¥à¤¯à¤§à¤¿à¤• विशाल असà¥à¤¤à¤¿ +कूटशबà¥à¤¦à¤®à¥(पासवरà¥à¤¡) +3900 +वà¥à¤¯à¤¤à¥€à¤¤ समय: +शेष बचा समय: +कà¥à¤² आकारं: +गति: +पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ किया हà¥à¤†: +दबाने(आकारं छोटा करने) का अनà¥à¤ªà¤¾à¤¤à¤‚: +तà¥à¤°à¥à¤Ÿà¤¿à¤¯à¤¾à¤: +संगà¥à¤°à¤¹à¤®à¥: +4000 +संगà¥à¤°à¤¹à¤®à¥ में जोड़े +&संगà¥à¤°à¤¹à¤®à¥: +&अदà¥à¤¯à¤¤à¤¨à¥€à¤•रणं सà¥à¤¥à¤¿à¤¤à¤¿(मोड): +संगà¥à¤°à¤¹à¤®à¥ &ढाà¤à¤šà¤¾: +&संकà¥à¤šà¤¨à¤®à¥ सà¥à¤¤à¤°: +&संकà¥à¤šà¤¨à¤®à¥ विधि: +&शबà¥à¤¦à¤•ोशमॠआकारं: +&शबà¥à¤¦ आकारं: +ठोस टà¥à¤•डे का आकारं: +सीपीयू सूतà¥à¤° संखà¥à¤¯à¤¾: +&परिमाप: +विकलà¥à¤ª +&à¤à¤¸à¤à¥žà¤à¤•à¥à¤¸(SFX) संगà¥à¤°à¤¹à¤®à¥ निरà¥à¤®à¤¾à¤£à¤®à¥ कà¥à¤°à¥ +साà¤à¥€ फाइलें संकà¥à¤šà¤¿à¤¤à¤‚ कà¥à¤°à¥ +गà¥à¤ªà¥à¤¤à¤¿à¤•रणमॠ+गà¥à¤ªà¥à¤¤à¤¿à¤•रणमॠपदà¥à¤§à¤¤à¤¿: +फ़ाइल &नाम गà¥à¤ªà¥à¤¤à¤¿à¤•रणमॠकà¥à¤°à¥ +संकà¥à¤šà¤¨à¤¸à¥à¤¯ सà¥à¤®à¥ƒà¤¤à¤¿ पà¥à¤°à¤¯à¥‹à¤—: +पà¥à¤°à¤¸à¤¾à¤°à¤£à¤¸à¥à¤¯ सà¥à¤®à¥ƒà¤¤à¤¿ पà¥à¤°à¤¯à¥‹à¤—: +4050 +भणà¥à¤¡à¤¾à¤°à¤£à¤®à¥ +सरà¥à¤µà¤¾à¤§à¤¿à¤• तेज +तेज +साधारणमॠ+अधिकतम +अतà¥à¤¯à¤¨à¥à¤¤ +4060 +फ़ाइलें जोड़े à¤à¤µà¤®à¥ पà¥à¤°à¤¤à¤¿à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ कà¥à¤°à¥ +फ़ाइले अदà¥à¤¯à¤¤à¤¨à¥€à¤•ृतं कà¥à¤°à¥ à¤à¤µà¤®à¥ जोड़े +अवसà¥à¤¥à¤¿à¤¤à¤‚ फ़ाइलें ताजा कà¥à¤°à¥ +फाइलें समकà¥à¤°à¤®à¤£(सिंकà¥à¤°à¥‹à¤¨à¤¾à¤ˆà¥›) कà¥à¤°à¥ +4070 +बà¥à¤°à¤¾à¤‰à¤œà¤®à¥ वा घूमे +सरà¥à¤µà¤¾à¤ƒ फ़ाइलें +अ-ठोसं +ठोसं +6000 +नकल +ले जायें +में नकल: +में ले जायें: +नकल... +ले जा रहा असà¥à¤¤à¤¿... +पà¥à¤¨: नामकरणं... +गनà¥à¤¤à¤µà¥à¤¯ फोलà¥à¤¡à¤°à¤‚ चयनित कà¥à¤°à¥. +à¤à¤¤à¤¤à¥ फोलà¥à¤¡à¤°à¤‚ के लिये यह सञà¥à¤šà¤¾à¤²à¤¨à¤‚ कà¥à¤°à¤¿à¤¯à¤¾ समरà¥à¤¥à¤¿à¤¤à¤‚ ना असà¥à¤¤à¤¿. +फ़ाइल वा फोलà¥à¤¡à¤°à¤‚ के पà¥à¤¨: नामकरणं में तà¥à¤°à¥à¤Ÿà¤¿ +फ़ाइल की नकल करना पकà¥à¤•ा कà¥à¤°à¥ +तà¥à¤® संगà¥à¤°à¤¹à¤®à¥ में फाइलं की पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ करना चाहते हो कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन असà¥à¤¤à¤¿ +6100 +फ़ाइल मिटाये यह पकà¥à¤•ा कà¥à¤°à¥ +फोलà¥à¤¡à¤°à¤‚ मिटायें पकà¥à¤•ा कà¥à¤°à¥ +अनेक फ़ाइल मिटायें पकà¥à¤•ा कà¥à¤°à¥ +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन असà¥à¤¤à¤¿ कि तà¥à¤® मिटाना चाहते हो '{0}'? +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन असà¥à¤¤à¤¿ कि तà¥à¤® फोलà¥à¤¡à¤°à¤‚ मिटाना चाहते हो '{0}' और इसकी सरà¥à¤µà¤¾à¤ƒ सामगà¥à¤°à¥€ भी? +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन असà¥à¤¤à¤¿ कि तà¥à¤® मिटाना चाहते हो इन {0} वसà¥à¤¤à¥à¤“ं को? +मिटा रहा असà¥à¤¤à¤¿... +फ़ाइलं किंवा फोलà¥à¤¡à¤°à¤‚ मिटाने में तà¥à¤°à¥à¤Ÿà¤¿ +तंतà¥à¤° लंबे मारà¥à¤— वाली फाइलं को पà¥à¤¨à¤ƒà¤šà¤•à¥à¤°à¤£ पेटी(रिसाईकल बिन) में ना ले जा सकता असà¥à¤¤à¤¿. +6300 +फ़ॊलà¥à¤¡à¤° निरà¥à¤®à¤¾à¤£à¤®à¥ कà¥à¤°à¥ +फ़ाइल निरà¥à¤®à¤¾à¤£à¤®à¥ कà¥à¤°à¥ +फोलà¥à¤¡à¤°à¤‚ नाम: +फ़ाइल नाम: +नवीन फ़ॊलà¥à¤¡à¤° +नवीन फ़ाइलं +फोलà¥à¤¡à¤°à¤‚ निरà¥à¤®à¤¾à¤£à¤®à¥ करने में तà¥à¤°à¥à¤Ÿà¤¿ +फ़ाइल निरà¥à¤®à¤¾à¤£à¤®à¥ करने में तà¥à¤°à¥à¤Ÿà¤¿ +6400 +टिपà¥à¤ªà¤£à¥€ +&टिपà¥à¤ªà¤£à¥€: +चयनमॠ+चयन रदà¥à¤¦ +मà¥à¤–ौटा: +6600 +गà¥à¤£à¤®à¥ वा संपतà¥à¤¤à¤¿à¤¯à¤¾à¤ +फ़ोलà¥à¤¡à¤°à¥‹à¤‚ का इतिहास +निदानातà¥à¤®à¤•ं संदेश +संदेशं +7100 +संगणकमॠ+सञà¥à¤œà¤¾à¤²à¤®à¥ +दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤®à¥ +पà¥à¤°à¤£à¤¾à¤²à¥€ +7200 +जोड़े +बहिः निकाले +परीकà¥à¤·à¤£à¤®à¥ +नकल +ले जायें +मिटायें +सूचना +7300 +फ़ाइलसà¥à¤¯ विभाजनं कà¥à¤°à¥ +&में विभाजनं: +जतà¥à¤¥à¥‹à¤‚ में विभाजनं, बाइटà¥à¤¸: +विभाजनं कर रहा असà¥à¤¤à¤¿... +विभाजनं करना पकà¥à¤•ा कà¥à¤°à¥ +कà¥à¤¯à¤¾ तà¥à¤®à¥à¤¹à¥‡ यकीन असà¥à¤¤à¤¿ कि तà¥à¤® फाइलं को {0} जतà¥à¤¥à¥‹à¤‚ में विभाजित करना चाहते हो? +मूल फाइलं के आकारं की तà¥à¤²à¤¨à¤¾ में जतà¥à¤¥à¥‡ का आकारं छोटा ही होना चाहिठ+जतà¥à¤¥à¥‡ का आकारं मिथà¥à¤¯à¤¾ असà¥à¤¤à¤¿ +निरà¥à¤¦à¥‡à¤¶à¤¿à¤¤ जतà¥à¤¥à¤¾ आकारं: {0} बाइटस.\n भवानॠसंगà¥à¤°à¤¹à¤®à¥ को ऎसे जतà¥à¤¥à¥‹à¤‚ में विभाजितं करना चाहते असà¥à¤¤à¤¿, कà¥à¤¯à¤¾ आपको यकीन असà¥à¤¤à¤¿? +7400 +फ़ाइले संयोजितं कà¥à¤°à¥ +&में संयोजनं कà¥à¤°à¥: +संयोजनं हो रहा असà¥à¤¤à¤¿... +विभाजितं फाइल का मातà¥à¤° पà¥à¤°à¤¥à¤® भागं ही चयनितं कà¥à¤°à¥ +फाइलं को विभाजित फाइलं के भाग के रूप में पहचान ना सकता +विभाजित फाइलं का à¤à¤• से जà¥à¤¯à¤¾à¤¦à¤¾ भाग ना ढूà¤à¤¢ सकता +7500 +जाà¤à¤šà¤¯à¥‹à¤—सà¥à¤¯(चेकसम) गणनां कर रहा असà¥à¤¤à¤¿... +जाà¤à¤šà¤¯à¥‹à¤—(चेकसम) माहिती +सीआरसी जाà¤à¤šà¤¯à¥‹à¤—(चेकसम) आà¤à¤•ड़ों के लिये : +सीआरसी जाà¤à¤šà¤¯à¥‹à¤—(चेकसम) आà¤à¤•ड़ों और नामों के लिये : +7600 +(कसौटी चिनà¥à¤¹à¤‚)बेञà¥à¤šà¤®à¤¾à¤°à¥à¤•मॠ+सà¥à¤®à¥ƒà¤¤à¤¿ उपयोग: +संकà¥à¤šà¤¨à¤‚ कर रहा असà¥à¤¤à¤¿ +पà¥à¤°à¤¸à¤¾à¤°à¤£à¤‚ हो रहा असà¥à¤¤à¤¿ +कà¥à¤°à¤®à¤¾à¤‚कन +कà¥à¤² कà¥à¤°à¤®à¤¾à¤‚कन +वरà¥à¤¤à¤®à¤¾à¤¨à¤®à¥ +परिणाममॠ+सीपीयू उपयोग +कà¥à¤°à¤®à¤¾à¤‚कन / उपयोग +पास: diff --git a/Utils/7-Zip/Lang/si.txt b/Utils/7-Zip/Lang/si.txt new file mode 100644 index 000000000..5a4900181 --- /dev/null +++ b/Utils/7-Zip/Lang/si.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.59 : සුපුන් බුධà·à¶¢à·“à·€ (Supun Budhajeewa) +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Sinhala +සිංහල +401 +හරි +à¶‘à¶´à· + + + +ඔවු (&Y) +à¶±à·à·„à· (&N) +වසන්න (&C) +උදව් + +à¶±à·à·€à¶­ අරඹන්න (&C) +440 +සියල්ලටම ඔවු (&A) +සියල්ලටම à¶±à·à·„à·(&L) +නවතන්න +à¶´à·Šâ€à¶»à¶­à·Šâ€à¶ºà·à¶»à¶¸à·Šà¶· කරන්න +පසුබිමින් (&B) +පෙරබිමින් (&F) +මදකට නවතන්න (&P) +මදකට නවත෠ඇත +ඉවත්වීමට à¶…à·€à·à·Šâ€à¶º à¶¶à·€ විà·à·Šà·€à·à·ƒ ද ? +500 +ගොනුව (&F) +à·ƒà·à¶šà·ƒà·”ම් (&E) +දසුන (&V) +à¶šà·à¶¸à¶­à·’ම (&A) +මෙවලම් (&T) +උදව් (&H) +540 +විවෘත කරන්න (&O) +මෙහිම විවෘත කරන්න (&I) +පිටතින් විවෘත කරන්න (&U) +දසුන (&V) +සංස්කරණය කරන්න (&E) +à¶±à·à·€à¶­ නම් කරන්න (&M) +වෙනත් à¶­à·à¶±à¶šà¶§ à¶´à·’à¶§à¶´à¶­à·Š කරන්න (&C)... +වෙනත් à¶­à·à¶±à¶šà¶§ ගෙනයâ€à¶±à·Šà¶± (&M)... +මකන්න (&D) +ගොනුව බෙදන්න (&S)... +ගොනු à¶‘à¶šà¶­à·” කරන්න (&B)... +වත්කම් (&R) +à¶§à·“à¶šà· (&N) +checksum ගණනය කරන්න + +à¶¶à·„à·à¶½à·”මක් තනන්න +ගොනුවක් තනන්න +ඉවත් වන්න (&X) +600 +සියල්ල à¶­à·à¶»à¶±à·Šà¶± (&A) +à¶­à·à¶»à¶± ලද සියල්ල ඉන් ඉවත් කරන්න +අනෙක් à¶´à·à¶­à·Šà¶­à¶§ à¶­à·à¶»à¶±à·Šà¶± (&I) +à¶­à·à¶»à¶±à·Šà¶±... +තේරීම ඉවත් කරන්න... +වර්ගයෙන් à¶­à·à¶»à¶±à·Šà¶± +වර්ගයෙන් තේරීම ඉවත් කරන්න +700 +විà·à·à¶½ මූර්ති (&G) +කුඩ෠මූර්ති (&M) +ලයිස්තුව (&L) +සවිස්තර (&D) +730 +අසුරන නොලද +à¶´à·à¶­à¶½à·’ දසුන +à¶´à·à¶±à¶½ &2 +මෙවලම් තීරු (&T) +à¶´à·Šâ€à¶»à¶°à·à¶± à¶¶à·„à·à¶½à·”ම විවෘත කරන්න +ඉහළට à¶‘à¶šà·Š ස්ථරයක් +à¶¶à·„à·à¶½à·”ම් අතීතය... +à¶´à·Šâ€à¶»à¶­à·’පූරණය කරන්න(&R) +750 +à·„à·à¶šà·’ළුම් මෙවලම් තීරුව +සම්මත මෙවලම් තීරුව +විà·à·à¶½ බොත්තම් +බොත්තම් පෙළ දක්වන්න +800 +à¶¶à·„à·à¶½à·”ම à¶šà·à¶¸à¶­à·’ම à¶…à¶‚à¶œ වලට à¶‘à¶šà¶­à·” කරන අයුර (&A) +පොත් සලකුණ - à¶…à¶‚à¶š +900 +විකල්ප (&O)... +&Benchmark +960 +අන්තර්ගතය (&C)... +7-Zip පිළිබඳව (&A)... +1003 +මංපෙත +නම +දිගුව +à¶¶à·„à·à¶½à·”ම +විà·à·à¶½à¶­à·Šà·€à¶º +à·„à·à¶šà·’ළුමෙන් පසු විà·à·à¶½à¶­à·Šà·€à¶º +ලක්ෂණ +නිර්මà·à¶«à¶º à¶šà·… දිනය +à¶´à·Šâ€à¶»à·€à·šà·Â à·€à·– දිනය +අළුත් à¶šà·… දිනය +සවි +ටීක෠කොට ඇත +සුරක්ෂිතය +Split Before +Split After +Dictionary +CRC +වර්ගය +Anti +à¶šà·Šâ€à¶»à¶¸à¶º +à¶°à·à¶»à¶š මෙහෙයුම් පද්ධතිය +ගොනු පද්ධතිය +පරිà·à·’ලක +සමූහය +Block +à¶§à·“à¶šà·à·€ +පිහිටීම +Path Prefix +à¶¶à·„à·à¶½à·”ම් +ගොනු +සංස්කරණය +Volume +Multivolume +Offset +සබà·à¶³à·“න් +Blocks +Volumes + +à¶¶à·’à¶§à·Š-64 +Big-endian +මධ්â€à¶ºà¶¸ à·ƒà·à¶šà·ƒà·”ම් පද්ධතිය (CPU) +à¶·à·žà¶­à·’à¶š විà·à·à¶½à¶­à·Šà·€à¶º +à·à·“ර්ෂ විà·à·à¶½à¶­à·Šà·€à¶º +Checksum +මුහුණුවර +Virtual Address + + + + + + +දà·à·‚යක් +සම්පූර්ණ විà·à·à¶½à¶­à·Šà·€à¶º +නිදහස් ඉඩ +Cluster විà·à·à¶½à¶­à·Šà·€à¶º +නම් à¶´à¶­ +Local Name +සපයන්න෠+2100 +විකල්ප +à¶·à·à·‚à·à·€ +à¶·à·à·‚à·à·€: +සංස්කà·à¶»à¶šà¶º +සංස්කà·à¶»à¶šà¶º (&E): + +2200 +පද්ධතිය +7-Zip සමග හවුල් කරන්න: +2301 +Shell context මෙනුව වෙත 7-Zip අන්තර්ගත කරන්න +Context menu à¶…à¶‚à¶œ à¶‘à¶šà·Š අංගයක් යටතේ සඳහන් කරන්නâ€â€â€ +Context මෙනු à¶…à¶‚à¶œ: +2320 +<à¶¶à·„à·à¶½à·”ම> +<à·„à·à¶šà·’ළුම> +à·„à·à¶šà·’ළුම විවෘත කරන්න +ගොනු ලිහන්න... +à·„à·à¶šà·’ළුමකට ඇතුල් කරන්න... +à·„à·à¶šà·’ළුම පරීක්ෂ෠කරන්න +මෙතà·à¶±à¶§ ලිහන්න +{0} වෙත ලිහන්න +{0} වෙත à¶‘à¶šà·Š කරන්න +හකුළ෠විදුලි à¶­à·à¶´à·à¶½à·Š කරන්න... +{0} වෙත හකුළ෠විදුලි à¶­à·à¶´à·à¶½à·Š කරන්න +2400 +à¶¶à·„à·à¶½à·”ම් +සක්â€à¶»à·“ය à¶¶à·„à·à¶½à·”ම් (&W) +පද්ධති à¶­à·à·€à¶šà·à¶½à·’à¶š දෑ (Temp) à¶¶à·„à·à¶½à·”ම (&S) +වත්මන් (&C) +à¶­à·à¶»à¶±à·Šà¶± (&S): +ඉවත් කළ හà·à¶šà·’ à¶°à·à·€à¶š සඳහ෠පමණක් à¶·à·à·€à·’ත෠කරන්න +à¶­à·à·€à¶šà·à¶½à·’à¶š à·„à·à¶šà·’ළුම් ගොනු සඳහ෠ස්ථà·à¶±à¶ºà¶šà·Š දෙන්න. +2500 +සෙටිංග්ස් +".." අංගය පෙන්වන්න +ගොනු වල සත්â€à¶ºÂ à¶¸à·–ර්තිය පෙන්වන්න +පද්ධති මෙනුව පෙන්වන්න +සම්පූර්ණ තීරු තේරීම (&F) +වගු රේභ෠පෙන්වන්න (&G) + +වෛකල්පිත තේරීම් ස්වභà·à·€à¶º (&A) +විà·à·à¶½ මතක à¶´à·’à¶§à·” à¶·à·à·€à·’ත෠කරන්න (&L) +2900 +7-Zip පිළිබඳව +7-Zip නිදහස් මෘදුකà·à¶‚ගයක් වුවත්, ලියà·à¶´à¶¯à·’à¶‚à¶ à·’ වීම මගින් 7-Zip à·„à·’ à·€à·à¶©à·’ දියුණුව සඳහ෠ඔබට දà·à¶ºà¶š විය à·„à·à¶šà·’ය.\n\nමෙම සිංහල à¶·à·à·‚෠පරිවර්තනය G.S.N. සුපුන් බුධà·à¶¢à·“à·€ (budhajeewa@gmail.com) විසින් සිදු කරන ලදී. +3000 +à¶…à·€à·à·Šâ€à¶º මතක à¶´à·Šâ€à¶»à¶¸à·à¶«à¶º පද්ධතියට වෙන් à¶šà¶» ගත නොහà·à¶š +දà·à·‚ නොමà·à¶­ +වස්තු {0}à¶šà·Š à¶­à·à¶»à· ඇත +'{0}' à¶¶à·„à·à¶½à·”ම à¶­à·à¶±à·’ය නොහà·à¶š +මෙම à·„à·à¶šà·’ළුම සඳහ෠යà·à·€à¶­à·Šà¶šà·à¶½ කිරීම් සහයà·à¶œà¶º නොදක්වයි. +'{0}' ගොනුව à·„à·à¶šà·’ළුමක් ලෙස විවෘත කළ නොහà·à¶š +සුරක්ෂිත '{0}' à·„à·à¶šà·’ළුම විවෘත කළ නොහà·à¶š. මුරපදය à·€à·à¶»à¶¯à·’ ද ? +සහයà·à¶œà·“ නොවන à·„à·à¶šà·’ළුම් à¶šà·Šâ€à¶»à¶¸à¶ºà¶šà·Š +{0} ගොනුව දà·à¶±à¶§à¶¸à¶­à·Š ඇත +'{0}' ගොනුව නව්â€à¶º කෙරිනි.\nà·„à·à¶šà·’ළුමෙහි එය යà·à·€à¶­à·Šà¶šà·à¶½ කිරීමට ඔබට à¶…à·€à·à·Šâ€à¶º ද ? +ගොනුව යà·à·€à¶­à·Šà¶šà·à¶½ à¶šà¶½ නොහà·à¶š\n'{0}' +සංස්කà·à¶»à¶šà¶º විවෘත කළ නොහà·à¶š. +ගොනුව වෛරසයක් à·€à·à¶±à·’ය (ගොනු à¶±à·à¶¸à¶ºà·š දිගු හිස් à¶­à·à¶±à·Š ඇත). +දිගු මංපෙතක් ඇති à¶¶à·„à·à¶½à·”මකින් à¶šà·Šâ€à¶»à·’යà·à¶šà·à¶»à·“ත්වය à¶šà·à¶³à·€à·’ය නොහà·à¶š. +à¶‘à¶šà·Š ගොනුවක් පමණක් තේරිය යුතුය. +ගොනු à¶‘à¶šà¶šà·Š à·„à· à·€à·à¶©à·’ ගණනක් තේරිය යුතුය. +à¶…à¶‚à¶œ ඉත෠අධිකය +3300 +ලිහමින් පවතී†+හකුළමින් පවතී +පරීක්ෂ෠කිරීම +විවෘත කරමින් පවතී... +සුපිරික්සමින් පවතී... +3400 +ලිහන්න +ලිහීමට à¶­à·à¶±à¶šà·Š (&X) : +ලිහන ලද ගොනු සඳහ෠ස්ථà·à¶±à¶ºà¶šà·Š à¶­à·à¶»à¶±à·Šà¶±. +3410 +මංපෙත් ස්වභà·à·€à¶º +සම්පූර්ණ මංපෙත් නම් +මංපෙත් නම් à¶…à·€à·à·Šâ€à¶º à¶±à·à¶­ +3420 +උඩින් ලිවීමේ ස්වභà·à·€à¶º +උඩින් ලියන්නට පෙර විමසන්න +විමසීමෙන් තොරව උඩින් ලියන්න +දà·à¶±à¶§à¶¸à¶­à·Š ඇති ගොනු මගහරින්න +ගොනු ස්වයංක්â€à¶»à·’යව à¶´à·Šâ€à¶»à¶­à·’නම් කරන්න +දà·à¶±à¶§à¶¸à¶­à·Š ඇති ගොනු†ප්â€à¶»à¶­à·’නම් කරන්න +3500 +ගොනු à¶´à·Šâ€à¶»à¶­à·’ස්ථà·à¶´à¶±à¶º තහවුරු à¶šà¶» à¶œà·à¶±à·“ම +ගමනà·à¶±à·Šà¶­ à¶¶à·„à·à¶½à·”මේ දà·à¶±à¶§à¶¸à¶­à·Š නිර්මිත ගොනුවක් ඇත. +දà·à¶±à¶§à¶¸ පවතින à¶´à·„à¶­ ගොනුව, +මෙය සමග à¶´à·Šâ€à¶»à¶­à·’ස්ථà·à¶´à¶±à¶º කරන්න ද ? +{0} බයිට (Bytes) +ස්වයංක්â€à¶»à·’යව à¶´à·Šâ€à¶»à¶­à·’නම් කරන්න (&U) +3700 +'{0}' සඳහ෠සහයà·à¶œà¶º නොදක්වන à·„à·à¶šà·’ළුම් à¶šà·Šâ€à¶»à¶¸à¶ºà¶šà·Š. +'{0}' à·„à·’ දත්ත දà·à·‚යකි. ගොනුව බිඳී ඇත. +'{0}' à·„à·’ CRC අසමත් විනි. ගොනුව බිඳී ඇත. +සුරක්ෂිත '{0}' ගොනුවේ දත්ත දà·à·‚යකි. à·€à·à¶»à¶¯à·’ මුරපදයක් ද ? +සුරක්ෂිත '{0}' ගොනුවේ CRC අසමත් විනි. à·€à·à¶»à¶¯à·’ මුරපදයක් ද ? +3800 +මුරපදය ඇතුල් කරන්න +මුරපදය ඇතුල් කරන්න: +මුරපදය à¶±à·à·€à¶­ ඇතුල් කරන්න: +මුරපදය පෙන්වන්න (&S) +මුරපද නොගà·à¶½à¶´à·š +මුරපද සඳහ෠ඉංග්â€à¶»à·’සි අකුරු, ඉලක්කම් සහ විà·à·šà·‚à·’à¶­ සංකේත පමණක් à¶·à·à·€à·’ත෠කරන්න (!, #, $, ...) +මුරපදය දිග à·€à·à¶©à·’ය +මුරපදය +3900 +ගතවූ à¶šà·à¶½à¶º: +ඉතිරි à¶šà·à¶½à¶º: +සම්පූර්ණ විà·à·à¶½à¶­à·Šà·€à¶º: +වේගය: +à¶šà·Šâ€à¶»à·’යà·à·€à¶½à·’යට à¶·à·à¶¢à¶±à¶º වූ à¶´à·Šâ€à¶»à¶¸à·à¶«à¶º: +à·„à·à¶šà·’ළුම් අනුපà·à¶­à¶º: +දà·à·‚: +à·„à·à¶šà·’ළුම්: +4000 +à·„à·à¶šà·’ළුමකට à¶‘à¶šà·Š කරන්න +à·„à·à¶šà·’ළුම (&A): +යà·à·€à¶­à·Šà¶šà·à¶½ කිරීමේ ස්වභà·à·€à¶º (&U): +à·„à·à¶šà·’ළුම් රටà·à·€ (&F): +à·„à·à¶šà·’ළුම් මට්ටම (&L): +à·„à·à¶šà·’ළුම් à¶šà·Šâ€à¶»à¶¸à¶º (&M): +&Dictionary size: +&Word size: +Solid block size: +Number of CPU threads: +à¶´à¶»à·à¶¸à·’à¶­à·’ (&P): +විකල්ප +SF&X à·„à·à¶šà·’ළුමක් තනන්න +හවුල්කà·à¶» ගොනු ද හකුළන්න +සුරà·à¶šà·”ම් +සුරà·à¶šà·”ම් à¶šà·Šâ€à¶»à¶¸à¶º: +ගොනු à¶±à·à¶¸ සුරකින්න (&S) +à·„à·à¶šà·’ලීම සඳහ෠මතක à¶·à·à·€à·’තය: +ලිහීම à¶šà·Šâ€à¶»à·’යà·à·€ සඳහ෠මතක à¶·à·à·€à·’තය: +4050 +à¶­à·à¶±à·Šà¶´à¶­à·Š කරන්න +ඉත෠වේගවත් +වේගවත් +à·ƒà·à¶¸à·à¶±à·Šâ€à¶º +උපරිම +à¶…à¶°à·’ à·„à·à¶šà·’ළුම්†+4060 +ගොනු à¶‘à¶šà·Š à¶šà¶» à¶´à·Šâ€à¶»à¶­à·’ස්ථà·à¶´à¶±à¶º කරන්න +ගොනු යà·à·€à¶­à·Šà¶šà·à¶½ à¶šà¶» à¶‘à¶šà·Š කරන්න +දà·à¶±à¶§à¶¸à¶­à·Š ඇති ගොනු à¶±à·à·€à·”ම් කරන්න +ගොනු සමකà·à¶½à·“ කරන්න +4070 +සොයන්න +සියළු ගොනු +සවි-නොමà·à¶­à·’ +සවි +6000 +à¶´à·’à¶§à¶´à¶­à·Š කරන්න +ගෙනයන්න +වෙනත් à¶­à·à¶±à¶šà¶§ à¶´à·’à¶§à¶´à¶­à·Š කරන්න: +වෙනත් à¶­à·à¶±à¶šà¶§ ගෙනයන්න: +à¶´à·’à¶§à¶´à¶­à·Š කරමින් පවතී... +ගෙනයමින් පවතී... +à¶´à·Šâ€à¶»à¶­à·’නම් කරමින් පවතී... +ගමනà·à¶±à·Šà¶­ à¶¶à·„à·à¶½à·”ම à¶­à·à¶»à¶±à·Šà¶±. +à¶šà·Šâ€à¶»à·’යà·à·€ à¶šà¶½ නොහà·à¶š. +ගොනුව à·„à· à¶¶à·„à·à¶½à·”ම මà·à¶šà·“මේදී දà·à·‚යක් මතු විය +ගොනු à¶´à·’à¶§à¶´à¶­à·Š කිරීම තහවුරු කිරීම +ගොâ€à¶±à·”à·€ à·„à·à¶šà·’ළුම වෙත à¶´à·’à¶§à¶´à¶­à·Š කළ යුතු à¶¶à·€ ඔබට විà·à·Šà·€à·à·ƒ ද +6100 +ගොනු මà·à¶šà·“ම තහවුරු කිරීම +à¶¶à·„à·à¶½à·”ම් මà·à¶šà·“ම තහවුරු කිරීම +à¶¶à·„à·” ගොනු මà·à¶šà·“ම තහවුරු කිරීම +ඔබට '{0}' මà·à¶šà·“මට à¶…à·€à·à·Šâ€à¶ºÂ à¶¶à·€ විà·à·Šà·€à·à·ƒ ද ? +ඔබට '{0}' à¶¶à·„à·à¶½à·”ම à·„à· à¶‘à·„à·’ අන්තර්ගතය මà·à¶šà·“මට à¶…à·€à·à·Šâ€à¶ºÂ à¶¶à·€ විà·à·Šà·€à·à·ƒ ද ? +ඔබට {0} යන වස්තු මà·à¶šà·“මට à¶…à·€à·à·Šâ€à¶ºÂ à¶¶à·€ විà·à·Šà·€à·à·ƒ ද ? +මකමින් පවතී... +ගොනුව à·„à· à¶¶à·„à·à¶½à·”ම මà·à¶šà·“මේ දී දà·à·‚යක් මතු විය +දිගු මංපෙතක් ඇති ගොනුවක් කුණු බඳුනට යà·à·€à·“ම පද්ධතියට à¶šà¶½ නොහà·à¶š. +6300 +à¶¶à·„à·à¶½à·”මක් තනන්න +ගොනුවක් තනන්න +à¶¶à·„à·à¶½à·”ම් à¶±à·à¶¸à¶º: +ගොනු à¶±à·à¶¸à¶º: +නව à¶¶à·„à·à¶½à·”මක් +නව ගොනුවක් +à¶¶à·„à·à¶½à·”ම à¶­à·à¶±à·“මේදී දà·à·‚යක් මතුවිය +ගොනුව à¶­à·à¶±à·“මේදී දà·à·‚යක් මතුවිය +6400 +à¶§à·“à¶šà·à·€ +à¶§à·“à¶šà·à·€ (&C): +à¶­à·à¶»à¶±à·Šà¶± +තේරීම ඉවත් කරන්න +ගොනුවේ à·„à· à¶¶à·„à·à¶½à·”මේ නම හ෠කොටසක්: +6600 +වත්කම් +à¶¶à·„à·à¶½à·”ම් අතීතය +විනිà·à·Šà¶ à·“ය පණිවුඩ +පණිවිඩය +7100 +පරිගණකය +à¶¢à·à¶½à¶º +ලියකියවිලි +පද්ධතිය +7200 +හකුළන්න +ලිහන්න +පරීක්ෂ෠කරන්න +à¶´à·’à¶§à¶´à¶­à·Š කරන්න +ගෙන යන්න +මකන්න +තොරතුරු +7300 +ගොනුව බෙදන්න +ගොනුව බෙද෠කොටස් මෙහි à¶­à·à¶±à·Šà¶´à¶­à·Š කරන්න (&S): +කොටස් වලට බෙදන්න, බයිට (bytes): +ගොනුව බෙදමින් පවතී... +ගොනුව බෙදීම තහවුරු කරන්න +ගොනුව කොටස් {0} à¶šà¶§ බෙදීමට à¶…à·€à·à·Šâ€à¶º à¶¶à·€ ඔබට විà·à·Šà·€à·à·ƒ ද ? +බෙදූ කොටසක විà·à·à¶½à¶­à·Šà·€à¶º, මුල් ගොනුවේ විà·à·à¶½à¶­à·Šà·€à¶ºà¶§ වඩ෠අඩු විය යුතුය +à·€à·à¶»à¶¯à·’ කොටස් විà·à·à¶½à¶­à·Šà·€à¶ºà¶šà·’ +සඳහන් කරන ලද කොටස් විà·à·à¶½à¶­à·Šà·€à¶º බයිට {0} à¶šà·’.\nà·„à·à¶šà·’ළුම මෙවන් කොටස් වලට බෙදියයුතු à¶¶à·€ විà·à·Šà·€à·à·ƒ ද ? +7400 +බෙදූ ගොනු à¶‘à¶šà·Š කරන්න +බෙදූ ගොනු à¶‘à¶šà·Š à¶šà¶» මෙහි à¶­à·à¶±à¶´à¶­à·Š කරන්න (&C): +බෙදූ ගොන à¶‘à¶šà·Š කරමින් පවතී... +පළමු ගොනුව පමණක් à¶­à·à¶»à¶±à·Šà¶± +ගොනුව, බෙදන ලද ගොනුවක කොටසක් ලෙස හඳුනà·à¶œà¶­ නොහà·à¶š. +බෙදන ලද ගොනුවේ කොටස් වලින් à¶‘à¶šà¶šà¶§ වඩ෠සොයà·à¶œà¶­ නොහà·à¶š. +7500 +Checksum calculating... +Checksum information +CRC checksum for data: +CRC checksum for data and names: +7600 +Benchmark +මතක à¶·à·à·€à·’තය: +à·„à·à¶šà·’ළුම් +ලිහුම් +ඇගයුම +සම්පූර්ණ ඇගයුම +වත්මන් +à¶´à·Šâ€à¶»à¶­à·’ඵලිත +CPU à¶·à·à·€à·’à¶­à·à·€ +ඇගයුම / à¶·à·à·€à·’à¶­à·à·€â€ +Passes: diff --git a/Utils/7-Zip/Lang/sk.txt b/Utils/7-Zip/Lang/sk.txt new file mode 100644 index 000000000..9715a09c8 --- /dev/null +++ b/Utils/7-Zip/Lang/sk.txt @@ -0,0 +1,477 @@ +;!@Lang2@!UTF-8! +; : Tomas Tomasek +; 9.07 : Pavel DeveÄka +; 9.38 beta : 2015-01-11 : Roman Horváth +; +; +; +; +; +; +; +; +0 +7-Zip +Slovak +SlovenÄina +401 +OK +ZruÅ¡iÅ¥ + + + +&Ãno +&Nie +&ZavrieÅ¥ +Pomocník + +Po&kraÄovaÅ¥ +440 +Ãno na &vÅ¡etko +Nie na vÅ¡&etko +ZastaviÅ¥ +ReÅ¡tartovaÅ¥ +&Pozadie +P&opredie +Po&zastaviÅ¥ +Pozastavené +Ste si istý, že chcete akciu zruÅ¡iÅ¥? +500 +&Súbor +&UpraviÅ¥ +&ZobraziÅ¥ +&Obľúbené +&Nástroje +&Pomocník +540 +&OtvoriÅ¥ +O&tvoriÅ¥ vnútri +Ot&voriÅ¥ externe +&ZobraziÅ¥ +&UpraviÅ¥ +&PremenovaÅ¥ +&KopírovaÅ¥ do... +P&resunúť do... +O&dstrániÅ¥ +Ro&zdeliÅ¥ súbor... +ZlúÄ&iÅ¥ súbory... +V&lastnosti +Ko&mentár +VypoÄítaÅ¥ kontrolný súÄet +Rozdiel (Diff) +VytvoriÅ¥ prieÄinok +VytvoriÅ¥ súbor +Uko&nÄiÅ¥ +Odkaz... +600 +OznaÄiÅ¥ vÅ¡etko +OdznaÄiÅ¥ vÅ¡etko +InvertovaÅ¥ oznaÄenie +OznaÄiÅ¥... +OdznaÄiÅ¥... +OznaÄiÅ¥ podľa typu +OdznaÄiÅ¥ podľa typu +700 +&Veľké ikony +&Malé ikony +&Zoznam +&Podrobnosti +730 +NetriediÅ¥ +Plochý vzhľad +&2 Panely +P&anely nástrojov +OtvoriÅ¥ koreňový prieÄinok +O úroveň vyššie +História prieÄinkov... +&ObnoviÅ¥ +Automatické obnovenie +750 +Archív +Å tandard +Veľké ikony +Textový popis pod ikonami +800 +PridaÅ¥ prieÄinok medzi obľúbené ako +Záložka +900 +N&astavenia... +&Skúšobný test +960 +&Obsah pomocníka... +O p&rograme 7-Zip +1003 +Cesta +Meno +Prípona +PrieÄinok +VeľkosÅ¥ +VeľkosÅ¥ po kompresii +Atribúty +Vytvorený +Sprístupnený +Zmenený +Jednoliaty +Komentovaný +ZaÅ¡ifrovaný +Rozdelený predtým +Rozdelený potom +Slovník +CRC +Typ +Anti +Metóda +Hostiteľský OS +Súborový systém +Používateľ +Skupina +Blok +Komentár +Pozícia +Predpona cesty +PrieÄinky +Súbory +Verzia +Zväzok +Multizväzok +Ofset +Odkazy +Bloky +Zväzky + +64-bitov +Big-endian +CPU +Fyzická veľkosÅ¥ +VeľkosÅ¥ hlaviÄiek +Kontrolný súÄet +Charakteristiky +Virtuálna adresa +ID +Skrátený názov +Aplikácia +VeľkosÅ¥ sektora +Režim +Symbolický odkaz +Chyba +Celková veľkosÅ¥ +Voľné miesto +VeľkosÅ¥ klastra +Menovka +Lokálny názov +Prevádzkovateľ +BezpeÄnosÅ¥ NT +Alternatívny prúd +Aux +Vymazané +Je strom + + +Typ chyby +Chyby +Chyby +Varovania +Varovanie +Prúdy +Alternatívne prúdy +VeľkosÅ¥ alternatívneho prúdu +Virtuálna veľkosÅ¥ +VeľkosÅ¥ po rozbalení +Celková fyzická veľkosÅ¥ +Index zväzku +Podtyp +Krátky komentár +Kódová stránka + + + +VeľkosÅ¥ zakonÄenia +VeľkosÅ¥ vloženého ústrižku +Odkaz +Pevný odkaz +iNode +2100 +Nastavenia +Jazyk +Jazyk: +Editor +Editor: +VyhľadávaÄ rozdielov (Diff): +2200 +Systém +AsociovaÅ¥ 7-Zip s vybranými typmi súborov: +2301 +IntegrovaÅ¥ 7-Zip do kontextovej ponuky +Kaskádová kontextová ponuka +Položky kontextovej ponuky: +Ikony v kontextovej ponuke +2320 + + +OtvoriÅ¥ archív +RozbaliÅ¥ súbory... +PridaÅ¥ do archívu... +OtestovaÅ¥ archív +RozbaliÅ¥ tu +RozbaliÅ¥ do {0} +PridaÅ¥ do {0} +SkomprimovaÅ¥ a poslaÅ¥ emailom... +SkomprimovaÅ¥ do {0} a poslaÅ¥ emailom +2400 +PrieÄinky +&Pracovný prieÄinok +&Systémový prieÄinok pre doÄasné súbory +&Aktuálny prieÄinok +&Manuálne vybraný prieÄinok: +Po&užiÅ¥ len pre vymeniteľné jednotky +Vyberte prieÄinok pre doÄasné súbory. +2500 +Nastavenia +UkázaÅ¥ položku ".." +UkázaÅ¥ skutoÄné ikony súborov +UkázaÅ¥ systémovú ponuku +OznaÄiÅ¥ celý riadok +ZobraziÅ¥ Äiary mriežky +OtvoriÅ¥ položku jednoduchým kliknutím +Alternatívny režim výberu +Použitie veľkých stránok pamäti +2900 +O programe 7-Zip +7-Zip je voľne šíriteľný softvér +3000 +Systém nemôže alokovaÅ¥ požadované množstvo pamäte +V archíve sa nenaÅ¡li žiadne chyby +{0} vybraných objektov +Nie je možné vytvoriÅ¥ prieÄinok '{0}'. +Operácie aktualizácie nie sú pre tento archív podporované. +Súbor '{0}' nie je možné otvoriÅ¥ ako archív +Nie je možné otvoriÅ¥ Å¡ifrovaný archív '{0}'. Nesprávne heslo? +Nepodporovaný typ archívu +Súbor {0} už existuje. +Súbor '{0}' bol zmenený.\nChcete ho aktualizovaÅ¥ v archíve? +Nie je možné aktualizovaÅ¥ súbor\n'{0}' +Nie je možné spustiÅ¥ editor. +Súbor vyzerá ako vírus. (Meno súboru obsahuje veľa medzier.) +Operácia nemôže byÅ¥ vykonaná v prieÄinku, ktorý má dlhú cestu. +Musíte vybraÅ¥ jeden súbor +Musíte vybraÅ¥ jeden alebo viac súborov +Priveľa položiek +3300 +Rozbaľovanie +Komprimovanie +Výsledok testovania +Otváranie... +Prehľadávanie... +3400 +RozbaliÅ¥ +RozbaliÅ¥ do: +Å pecifikujte prieÄinok pre rozbalené súbory. +3410 +Nastavenie názvov ciest: +Plné názvy ciest +Žiadne názvy ciest +Absolútne názvy ciest +Relatívne názvy ciest +3420 +Nastavenie prepísania: +SpýtaÅ¥ sa pred prepísaním +PrepísaÅ¥ bez výzvy +PreskoÄiÅ¥ existujúce súbory +Automaticky premenovaÅ¥ +Automaticky premenovaÅ¥ existujúce súbory +3430 +EliminovaÅ¥ duplikáty koreňového prieÄinka +ObnoviÅ¥ práva súboru +3500 +Potvrdenie nahradenia súboru +Cieľový prieÄinok už obsahuje rozbaľovaný súbor. +Chcete nahradiÅ¥ existujúci súbor +týmto súborom? +{0} bajtov +&Automaticky premenovaÅ¥ +3700 +Nepodporovaná kompresná metóda pre '{0}'. +Chybné údaje v '{0}'. Súbor je poÅ¡kodený. +CRC zlyhalo v '{0}'. Súbor je poÅ¡kodený. +Chybné údaje v Å¡ifrovanom súbore '{0}'. Nesprávne heslo? +CRC zlyhalo v Å¡ifrovanom súbore '{0}'. Nesprávne heslo? +3710 +Nesprávne heslo? +3721 +Nepodporovaná kompresná metóda +Chybné údaje +CRC zlyhalo +Údaje sú nedostupné +NeoÄakávaný koniec údajov +Za zužitkovateľnými údajmi sa nachádzajú ÄalÅ¡ie údaje +Nie je to archív +Chybné hlaviÄky +3763 +ZaÄiatok archívu je nedostupný +ZaÄiatok archívu nie je potvrdený + + + +Nepodporovaná funkcia +3800 +Zadajte heslo +Zadajte heslo: +Zopakujte heslo: +UkázaÅ¥ heslo +Heslá nie sú zhodné +Používajte len písmená bez diakritiky, Äísla a Å¡peciálne znaky (!, #, $, ...) +Heslo je príliÅ¡ dlhé +Heslo +3900 +Uplynutý Äas: +Zostávajúci Äas: +VeľkosÅ¥: +RýchlosÅ¥: +Spracované: +Úroveň kompresie: +Chyby: +Archívy: +4000 +PridaÅ¥ do archívu +&Archív: +&Nastavenie aktualizácie súborov v existujúcich archívoch: +&Formát archívu: +Ú&roveň kompresie: +&Kompresná metóda: +&VeľkosÅ¥ slovníka: +V&eľkosÅ¥ slova: +Veľk&osÅ¥ jednoliateho bloku: +PoÄe&t CPU vlákien: +&Parametre: +Možnosti +VytvoriÅ¥ samorozbaľovací archív +KomprimovaÅ¥ zdieľané súbory +Å ifrovanie +Metóda Å¡ifrovania: +ZaÅ¡ifrovaÅ¥ mená súborov +Pamäť potrebná na kompresiu: +Pamäť potrebná na dekompresiu: +VymazaÅ¥ súbory po kompresii +4040 +UložiÅ¥ symbolické odkazy +UložiÅ¥ pevné odkazy +UložiÅ¥ alternatívne údajové prúdy +UložiÅ¥ práva súborov +4050 +Bez kompresie +NajrýchlejÅ¡ia +Rýchla +Normálna +Maximálna +Ultra +4060 +PridaÅ¥ a nahradiÅ¥ súbory +AktualizovaÅ¥ a pridaÅ¥ súbory +AktualizovaÅ¥ existujúce súbory +SynchronizovaÅ¥ súbory +4070 +PrehľadávaÅ¥ +VÅ¡etky súbory +Nejednoliaty +Jednoliaty +6000 +KopírovaÅ¥ +Presunúť +KopírovaÅ¥ do: +Presunúť do: +Kopírovanie... +Presúvanie... +Premenovanie... +Vyberte cieľový prieÄinok. +Operácia nie je podporovaná pre tento prieÄinok. +Chyba pri premenovaní súboru alebo prieÄinka +PotvrdiÅ¥ kopírovanie súboru/súborov +Ste si istý, že chcete kopírovaÅ¥ súbor/súbory do archívu +6100 +Potvrdenie odstránenia súboru +Potvrdenie odstránenia prieÄinka +Potvrdenie odstránenia viacerých položiek +Ste si istý, že chcete odstrániÅ¥ súbor '{0}'? +Ste si istý, že chcete odstrániÅ¥ prieÄinok '{0}' a celý jeho obsah? +Ste si istý, že chcete odstrániÅ¥ týchto {0} položiek? +Odstraňovanie... +Chyba pri odstraňovaní súboru alebo prieÄinka +Systém nemôže presunúť do koÅ¡a súbor s dlhou cestou +6300 +VytvoriÅ¥ prieÄinok +VytvoriÅ¥ súbor +Meno prieÄinka: +Meno súboru: +Nový prieÄinok +Nový súbor +Chyba pri vytváraní prieÄinka +Chyba pri vytváraní súboru +6400 +Komentár +&Komentár: +OznaÄiÅ¥ +OdznaÄiÅ¥ +Maska: +6600 +Vlastnosti +História prieÄinkov +Diagnostické správy +Správa +7100 +PoÄítaÄ +SieÅ¥ +Dokumenty +Systém +7200 +PridaÅ¥ +RozbaliÅ¥ +OtestovaÅ¥ +KopírovaÅ¥ +Presunúť +OdstrániÅ¥ +Informácie +7300 +RozdeliÅ¥ súbor +&RozdeliÅ¥ na: +Roz&deliÅ¥ na zväzky bajtov: +Rozdeľovanie... +PotvrdiÅ¥ rozdeľovanie. +Ste si istý, že chcete rozdeliÅ¥ súbor na {0} zväzkov? +VeľkosÅ¥ zväzku musí byÅ¥ menÅ¡ia než veľkosÅ¥ pôvodného súboru. +Nesprávna veľkosÅ¥ zväzku +UrÄená veľkosÅ¥ zväzku: {0} bajtov.\nSte si istý, že chcete rozdeliÅ¥ archív na také zväzky? +7400 +ZlúÄiÅ¥ súbory +&ZlúÄiÅ¥ do: +ZluÄovanie... +Vyberte len prvý súbor. +Nie je možné rozlíšiÅ¥ súbor ako súÄasÅ¥ rozdeleného súboru +Nie je možné nájsÅ¥ viac než jednu ÄasÅ¥ rozdeleného súboru +7500 +VýpoÄet kontrolného súÄtu... +Informácie o kontrolnom súÄte +CRC súÄet pre údaje: +CRC súÄet pre údaje a názvy: +7600 +Skúšobný test +Použitá pamäť: +Komprimovanie +Rozbaľovanie +Hodnotenie +Celkové hodnotenie +Aktuálne +Výsledné +Využitie CPU +Hodn. / Využitie +Testov bez chýb: +7700 +Odkaz +Odkaz +Odkaz z: +Odkaz do: +7710 +Typ odkazu +Pevný odkaz +Súbor symbolického odkazu +PrieÄinok symbolického odkazu +Prekríženie prieÄinkov diff --git a/Utils/7-Zip/Lang/sl.txt b/Utils/7-Zip/Lang/sl.txt new file mode 100644 index 000000000..2c3214a86 --- /dev/null +++ b/Utils/7-Zip/Lang/sl.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : tomazek +; 4.55 : miles +; +; +; +; +; +; +; +; +; +0 +7-Zip +Slovenian +Slovenski +401 +V redu +PrekliÄi + + + +&Da +&Ne +&Zapri +PomoÄ + +&Nadaljuj +440 +Da za &vse +Ne za v&se +Zaustavi +Ponovno zaženi +&Ozadje +O&spredje +&ZaÄasno zaustavi +Zaustavljen +Ste prepriÄani, da želite preklicati? +500 +&Datoteka +&Urejanje +&Pogled +Pr&iljubljene +O&rodja +Po&moÄ +540 +&Odpri +Odpri &znotraj +Odpri zu&naj +P&rikaz +&Urejanje +Prei&menuj +&Kopiraj ... +&Premakni ... +Iz&briÅ¡i +&Razdeli datoteko ... +&Združi datoteke ... +L&astnosti +Opomb&e +IzraÄunaj preskusno vsoto + +Ustvari mapo +Ustvari datoteko +&Izhod +600 +Izberi &vse +Razveljavi izbiro vseh +&Preobrni izbor +Izberi ... +Razveljavi izbiro ... +Izberi glede na vrsto +Razveljavi izbiro glede na vrsto +700 +&Velike ikone +&Majhne ikone +&Seznam +&Podrobnosti +730 +NerazvrÅ¡Äeno +SploÅ¡en pogled +&Dve podokni +&Orodne vrstice +Odpri korensko mapo +Nadrejena raven +Zgodovina mape ... +&Osveži +750 +Orodna vrstica arhiva +Navadna orodna vrstica +Veliki gumbi +Pokaži besedilo gumbov +800 +&Dodaj mapo med Priljubljene kot +Zaznamek +900 +&Možnosti ... +Me&ritev +960 +&Vsebina pomoÄi ... +&O programu 7-Zip ... +1003 +Pot +Ime +Pripona +Mapa +Velikost +Stisnjena velikost +Atributi +Izdelano +Uporabljeno +Spremenjeno +Trdno +Komentirano +Å ifrirano +Razdeli pred +Razdeli po +Slovar +CRC +Vrsta +Anti +Metoda +Gostiteljski OS +DatoteÄni sistem +Uporabnik +Skupina +Blok +Opomba +Položaj +Predpona poti +Mape +Datoteke +RazliÄica +Nosilec +VeÄ nosilcev +Zamik +Povezave +Bloki +Nosilcev + + + + + + + + + + + + + + + +Napaka +Skupna velikost +Prostega prostora +Velikost gruÄe +Oznaka +Krajevno ime +Ponudnik +2100 +Možnosti +Jezik +Jezik: +Urejevalnik +&Urejevalnik: + +2200 +Sistem +Poveži 7-Zip z: +2301 +Integracija 7-Zip v kontekstni meni lupine +Kaskadni kontekstni meni +Izbire kontekstnega menija: +2320 + + +Odpri arhiv +RazÅ¡iri datoteke ... +Stisni v arhiv ... +Preizkusi arhiv +RazÅ¡iri semkaj +RazÅ¡iri v {0} +Dodaj v {0} +Stisni in poÅ¡lji ... +Stisni v {0} in poÅ¡lji po e-poÅ¡ti +2400 +Mape +&Delovna mapa +&Sistemska zaÄasna mapa +&Trenutna mapa +&Navedeno: +Uporabi le za izmenljive pogone +Navedite mesto za zaÄasne arhivske datoteke. +2500 +Nastavitve +Pokaži postavko ".." +Pokaži prave ikone datotek +Pokaži sistemski meni +&Izbor celotne vrstice +Pokaži &mrežne Ärte + +&Alternativni naÄin izbiranja +Uporabi &velike spominske strani +2900 +O programu 7-Zip +7-Zip je brezplaÄen. Njegov razvoj podprete s tem, da se registrirate. +3000 + +Brez napak +Izbran(ih) {0} objekt(ov) +Mape '{0}' ni mogoÄe ustvariti +Za ta arhiv operacije osveževanja niso podprte. +Datoteke '{0}' ni mogoÄe odpreti kot arhiv +Å ifriranega arhiva '{0}' ni mogoÄe odpreti. Je morda geslo napaÄno? + + +Datoteka '{0}' je bila spremenjena.\nJo želite osvežiti v arhivu? +Datoteke ni mogoÄe osvežiti\n'{0}' +Urejevalnika ni mogoÄe pognati. + + + + +PreveÄ izbir +3300 +RazÅ¡irjanje +Stiskanje +PreizkuÅ¡anje +Odpiranje ... +Pregledovanje ... +3400 +RazÅ¡iri +R&azÅ¡iri v: +DoloÄite mesto razÅ¡irjanja datotek. +3410 +Poti +Polne poti +Brez poti +3420 +Prepisovalni naÄin +Zahtevaj potrditev +PrepiÅ¡i brez potrditve +PreskoÄi obstojeÄe datoteke +Samodejno preimenuj +Samodejno preimenuj obstojeÄe datoteke +3500 +Potrditev zamenjave datoteke +Ciljna mapa že vsebuje obdelovano datoteko. +Želite zamenjati obstojeÄo datoteko +s to datoteko? +{0} bajtov +Samodejno &preimenuj +3700 +Nepodprta metoda stiskanja za '{0}'. +Podatkovna napaka v '{0}'. Datoteka je poÅ¡kodovana. +Napaka CRC v '{0}'. Datoteka je poÅ¡kodovana. +Podatkovna napaka v Å¡ifrirani datoteki '{0}'. Je geslo pravilno? +Napaka CRC v Å¡ifrirani datoteki '{0}'. Je geslo pravilno? +3800 +Vnos gesla +Vnesite geslo: +Ponovno vnesite geslo: +&Pokaži geslo +Gesli se ne ujemata +Za geslo uporabite le Ärke, Å¡tevilke in posebne znake angleÅ¡ke abecede (!, #, $, ...) +Geslo je predolgo +Geslo +3900 +PreteÄeni Äas: +Preostali Äas: +Velikost: +Hitrost: +Obdelano: +Razmerje stiskanja: +Napake: +Arhivi: +4000 +Dodaj v arhiv +&Arhiv: +&NaÄin osveževanja: +&Vrsta arhiva: +Raven &stiskanja: +&Metoda stiskanja: +&Velikost slovarja: +Velikost &besede: +Velikost trdnega bloka: +Å tevilo niti CPE: +&Parametri: +Možnosti +Izdelaj arhiv SF&X +Stisni skupne datoteke +Å ifriranje +Metoda Å¡ifriranja: +Å ifriraj &imena datotek +Poraba pomnilnika za stiskanje: +Poraba pomnilnika za razÅ¡irjanje: +4050 +Brez stiskanja +NajhitrejÅ¡e +Hitro +ObiÄajno +NajveÄje stiskanje +Ultra +4060 +Dodaj in zamenjaj datoteke +Osveži in dodaj datoteke +Osveži obstojeÄe datoteke +Sinhroniziraj datoteke +4070 +Prebrskaj +Vse datoteke +Ne-trdno +Trdno +6000 +Kopiraj +Premakni +Kopiraj v: +Premakni v: +Kopiranje ... +Premikanje ... +Preimenovanje ... +Izberite ciljno mapo. +Operacija ni podprta. +Napaka pri preimenovanju datoteke ali mape +Potrditev kopiranja datoteke +Ste prepriÄani, da želite kopirati datoteke v arhiv? +6100 +Potrditev brisanja datoteke +Potrditev brisanja mape +Potrditev brisanja veÄ datotek +Ste prepriÄani, da želite zbrisati '{0}'? +Ste prepriÄani, da želite zbrisati mapo '{0}' in celotno njeno vsebino? +Ste prepriÄani, da želite zbrisati teh {0} postavk? +Brisanje ... +Napaka pri brisanju datoteke ali mape + +6300 +Izdelava mape +Ustvarjanje datoteke +Ime mape: +Ime datoteke: +Nova mapa +Nova datoteka +Napaka pri ustvarjanju mape +Napaka pri ustvarjanju datoteke +6400 +Opomba +&Opomba: +Izberi +Razveljavi izbiro +Maska: +6600 +Properties +Zgodovina map +DiagnostiÄna sporoÄila +SporoÄilo +7100 +RaÄunalnik +Omrežje + +Sistem +7200 +Dodaj +RazÅ¡iri +Preizkusi +Kopiraj +Premakni +IzbriÅ¡i +Informacije +7300 +Razdeli datoteko +&Razdeli na: +Razdeli na &nosilce velikosti (v bajtih): +Razdeljevanje ... +Potrditev razdelitve +Ste prepriÄani, da želite razdeliti datoteko na {0} nosilcev? +Velikost nosilca mora biti manjÅ¡a kot velikost izvorne datoteke +Neveljavna velikost nosilca +Navedena velikost nosilca: {0} bajtov.\nSte prepriÄani, da želite razdeliti arhiv na takÅ¡ne nosilce? +7400 +Združi datoteke +&Združi v: +Združevanje ... +Izberite samo prvo datoteko + + +7500 +IzraÄun preskusne vsote ... +Podatki o preskusni vsoti +Preskusna vsota za podatke: +Preskusna vsota za podatke in imena: +7600 +Meritev +Poraba pomnilnika: +Stiskanje +RazÅ¡irjanje +Ocena +Skupna ocena +Trenutno +KonÄno +Uporaba CPE +Ocena / uporaba +Prehodi: diff --git a/Utils/7-Zip/Lang/sq.txt b/Utils/7-Zip/Lang/sq.txt new file mode 100644 index 000000000..024a2b8f5 --- /dev/null +++ b/Utils/7-Zip/Lang/sq.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.37 : Mikel Hasko +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Albanian +Shqip +401 +Në rregull +Anulim + + + +&Po +&Jo +&Mbyll +Ndihmë + +&Vazhdim +440 +Po për të gjith&a +Jo për të gjit&ha +Ndalo +Rinis +Në &sfond +Në pla&n të parë +&Pushim +Në pushim +Jeni të sigurt se dëshironi ta anuloni? +500 +&Skedari +&Redaktimi +&Pamja +&Të parapëlqyerit +&Veglat +&Ndihma +540 +&Hap +Hap përbre&nda +Hap përjas&hta +&Pamja +&Redakto +Ri&emërto +&Kopjo tek... +&Zhvendos tek... +&Fshi +N&daj skedarin... +Kom&bino skedarët... +&Vetitë +Ko&menti +Llogarit shumën e verifikimit + +Krijo një dosje +Krijo një skedar +&Dil +600 +S&elekto të gjithë +Çse&lekto të gjithë +Anasill selekti&min +Selekto... +Çselekto... +Selekto sipas tipit +Çselekto sipas tipit +700 +Ikona të &mëdha +Ikona të &vogla +&Listë +&Detaje +730 +&Të parenditur +Pamje e rrafshtë +&2 panele +&Shiritat e veglave +Hap dosjen rrënjë +Një nivel më lartë +Historiku i dosjes... +&Rifresko +750 +Shiriti i veglave i arkivit +Shiriti standard i veglave +Butona të mëdhenj +Shfaq tekstin e butonave +800 +&Shto dosjen tek të parapëlqyerit si +Shënuesi +900 +&Opsionet... +&Etapa +960 +&Përmbajtjet... +&Për 7-Zip... +1003 +Shtegu +Emri +Prapashtesa +Dosja +Madhësia +Madhësia e mbërthimit +Atributet +Krijuar më +Hyrë së fundi më +Modifikuar më +I qëndrueshëm +I komentuar +I shifruar +Ndaj para +Ndaj pas +Fjalori +CRC +Tipi +Anti +Metoda +Pronari i sistemit +Sistemi i skedarit +Përdoruesi +Grupi +Blloku +Komenti +Pozicioni +Prefiksi i shtegut + + + + + + + + + + + + + + + + + + + + + + + + +Gabim +Madhësia totale +Hapësira e lirë +Madhësia e cluster-it +Etiketa +Emri lokal +Kujdestari +2100 +Opsionet +Gjuha +Gjuha: +Redaktuesi +&Redaktuesi: + +2200 +Sistemi +Lidh 7-Zip me: +2301 +Integro 7-Zip në kontekst meny +Kaskado kontekst menynë +Elementë të kontekst menysë: +2320 + + +Hap arkivin +Zbërthe skedarët... +Shto në arkiv... +Testo arkivin +Zbërthe këtu +Zbërthe në {0} +Shto tek {0} +Kompreso dhe dërgo me e-mail... +Kompreso në {0} dhe dërgo me e-mail +2400 +Dosje +&Dosja e punës +Dosja e përkohshme e &sistemit +Dosja &aktuale +I sp&ecifikuar: +Përdor vetëm për njësi të largueshme +Specifikoni një vendndodhje për skedarët e përkohshëm të arkivit. +2500 +Rregullimet +Shfaq &artikullin ".." +Shfaq &ikonat e vërteta të skedarëve +Shfaq &menynë e sistemit +Selekto të tërë &rreshtin +Shfaq &vijat e rrjetit + +Mënyrë alternative &selektimi +Përdor &faqe të mëdha të memories +2900 +Për 7-Zip +7-Zip është softuer falas. Megjithatë, ju mund të përkrahni në zhvillimin e 7-Zip duke e regjistruar atë. +3000 + +S'ka gabime +Selektuar {0} objekt(e) +S'mund të krijojë dosjen '{0}' +Operacionet e azhurnimit për këtë arkiv s'përkrahen. + + + + +Skedari '{0}' u modifikua.\nDoni ta azhurnoni atë edhe në arkiv? +S'mund të azhurnojë skedarin\n'{0}' +S'mund të hap redaktuesin. + + + + +Tepër shumë artikuj +3300 +Duke zbërthyer +Duke kompresuar +Duke testuar +Duke hapur... +Duke skanuar... +3400 +Zbërthe +Z&bërthe në: +Specifikoni një vendndodhje për skedarët e zbërthyer. +3410 +Mënyra e Shtegut +Emra të plotë Shtigjesh +Pa emra shtigjesh +3420 +Mënyra e mbishkrimit +Pyet para se të mbishkruaj +Mbishkruaj pa nxitje +Mbikalo skedarët ekzistues +Riemërto automatikisht +Riemërto auto. skedarët ekzistues +3500 +Konfirmo zëvendësimin e skedarëve +Dosja e destinacionit e përmban një herë skedarin e përpunuar. +Dëshironi ta zëvendësoni skedarin ekzistues +me këtë? +{0} bajt +R&iemërtim automatik +3700 +Metodë e papërkrahshme kompresimi për '{0}'. +Gabim të dhënash në '{0}'. Skedari është i prishur. +CRC dështoi '{0}'. Skedari është i prishur. + + +3800 +Fusni fjalëkalimin +Fusni fjalëkalimin: + +&Trego fjalëkalimin + + + +Fjalëkalimi +3900 +Koha e kaluar: +Koha e mbetur: +Madhësia: +Shpejtësia: + + +Gabime: + +4000 +Shto në arkiv +&Arkivi: +&Mënyra e azhurnimit: +&Formati i arkivit: +&Niveli i kompresimit: +Metoda e kompr&esimit: +Ma&dhësia e fjalorit: +Mad&hësia e fjalës: + + +&Parametrat: +Opsionet +Krijo një arkiv SF&X + + + +Shifro em&rat e skedarëve +Shfrytëzimi i memo. për kompresimin: +Shfrytëzimi i memo. për dekompresimin: +4050 +Ruaj +Më i shpejtë +I shpejtë +Normal +Maksimal +Ultra +4060 +Shto dhe zëvendëso skedarët +Azhurno dhe shto skedarët +Azhurno skedarët ekzistues +Sinkronizo skedarët +4070 +Shfleto +Të gjithë skedarët + + +6000 +Kopjo +Zhvendos +Kopjo tek: +Zhvendos tek: +Duke kopjuar... +Duke zhvendosur... +Duke riemërtuar... + +Operacioni s'përkrahet. +Gabim gjatë riemërtimit të skedarit apo dosjes +Konfirmim për kopjimin e skedarëve +Jeni të sigurt që doni të kopjoni skedarë në arkiv +6100 +Konfirmo fshirjen e skedarit +Konfirmo fshirjen e dosjes +Konfirmo fshirjen e shumëfishtë të skedarëve +Jeni të sigurt që doni të fshini '{0}'? +Jeni të sigurt që doni të fshini dosjen '{0}' dhe tërë përmbajtjen e saj? +Jeni të sigurt që doni t'i fshini këto {0} artikuj? +Duke fshirë... +Gabim gjatë fshirjes së skedarit apo dosjes + +6300 +Krijo një dosje +Krijo një skedar +Emri i dosjes: +Emri i skedarit: +Dosje e re +Skedar i ri +Gabim gjatë krijimit të dosjes +Gabim gjatë krijimit të skedarit +6400 +Komenti +&Komenti: +Selekto +Çselekto +Maska: +6600 + +Historiku i dosjes +Mesazhe diagnostikues +Mesazhi +7100 +Kompjuteri +Rrejti + +Sistemi +7200 +Shto +Zbërthe +Testo +Kopjo +Zhvendos +Fshi +Info +7300 +Ndaj skedarin +&Ndaj në: +Ndaj në &volume (madhësia jepet në bajt): +Duke ndarë... + + + + + +7400 +Kombino skedarët +&Kombino në: +Duke kombinuar... + + + +7500 +Duke llogaritur shumën e verifikimit... +Informacionet e shumës së verifikimit +Shuma e verifikimit CRC për të dhënat: +Shuma e verifikimit CRC për të dhënat dhe emrat: +7600 +Etapa +Shfrytëzimi i memories: +Kompresimi +Dekompresimi +Vlerësimi +Vlerësimi total +Aktualisht +Rezultati + + +Kalime: diff --git a/Utils/7-Zip/Lang/sr-spc.txt b/Utils/7-Zip/Lang/sr-spc.txt new file mode 100644 index 000000000..098317335 --- /dev/null +++ b/Utils/7-Zip/Lang/sr-spc.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Lazar +; 9.07 : Ozzii +; +; +; +; +; +; +; +; +; +0 +7-Zip +Serbian - Cyrillic +СрпÑки - ћирилица +401 +У реду +Откажи + + + +Да +Ðе +Затвори +Помоћ + +ÐаÑтави +440 +Да за Ñве +Ðе за Ñве +Стани +Поново +Позадина +Ðа врху +Пауза +Пауза +Да ли Ñте Ñигурни да желите да прекинете? +500 +Датотека +Уређивање +Преглед +Омиљено +Ðлати +Помоћ +540 +Погледај +Отвори Ñа 7-Zip-ом +Отвори Ñа придруженом програмом +Прегледај +Промени +Преименуј +Копирај у... +ПремеÑти у... +Обриши +Подели фајл... +Спој делове... +СвојÑтва +Коментар +Израчунајте проверну величину +разлика +Ðова фаÑцикла +Ðова датотека +Излаз +600 +Изабери Ñве +Поништи избор Ñвега +Обрнути избор +Изабери... +Поништи избор... +Изабери по типу +Поништи избор по типу +700 +Иконе +Ðапоредно Ñлагање +СпиÑак +Детаљи +730 +Без Ñортирања +Раван преглед +2 Прозора +Траке Ñа алаткама +Отвори почетну фаÑциклу +Горе за један ниво +Хронологија... +ОÑвежавање +750 +Рад Ñа архивама +Рад Ñа датотекама +Велика дугмад +Прикажи текÑÑ‚ иÑпод дугмади +800 +Додај +Изабери +900 +Опције... +Benchmark +960 +Помоћ... +О програму... +1003 +Путања +Ðазив +Тип +ФаÑцикла +Величина +Величина у запакованом Ñтању +Ðтрибути +Креирана +ПриÑтупано +Промењено +Солидно +Коментар +Шифровано +Подели пре +Подели поÑле +Речник +ЦРЦ +Тип +Ðнти +Метод +Оперативни ÑиÑтем +СиÑтем датотека +КориÑник +Група +Блок +Коментар +Положај +ÐŸÑ€ÐµÑ„Ð¸ÐºÑ Ð¿ÑƒÑ‚Ð°ÑšÐµ +ФаÑцикле +Датотеке +Верзија +Волумен +ВишеВолумена +ОфÑет +Линкови +Блокови +Волумени + +64-бит +Big-endian +ПроцеÑор +Физичка величина +Величина заглавља +Провера резултата +КарактериÑтике +Виртуелна адреÑа +ИД +Кратко име +Креатор апликације +Величина Ñектора +Ðачин +Линк +Грешка +Укупни капацитет +Слободни проÑтор +Величинa cluster-а +Ðазив +Локално име +Провајдер +2100 +Опције +Језик +Језик: +Промене у датотекама +Програм: +Разлика: +2200 +СиÑтем +7-Zip отвара Ñледеће типове датотека: +2301 +Убаци 7-Zip у ÑиÑтемÑки мени +КаÑкадни ÑиÑтемÑки мени +Ставке ÑиÑтемÑког менија: +2320 + + +Отвори архиву +Издвој датотеке... +Додај у архиву... +ТеÑтирај архиву +Издвој овде +Издвој у {0} +Додај у {0} +Додај и направи e-mail... +Додај у {0} и направи e-mail +2400 +ФаÑцикле +Радна фаÑцикла +КориÑти Windows-ову привремену фаÑциклу +Тренутна +Ðаведена: +КориÑти Ñамо за измењиве медије +Ðаведите локацију за Ñмештање привремених датотека. +2500 +Подешавања +Прикажи ".." +Прикажи праве Ñличице датотека +Прикажи ÑиÑтемÑки мени +Обележи цео ред +Прикажи линије мреже +Један клик за отварање Ñтавке +Ðлтернативни начин за бирање +КориÑти велике меморијÑке блокове +2900 +О програму +7-Zip је беÑплатан програм. +3000 +СиÑтем не може да издвоји потребну количину меморије +Ðије било никаквих грешака +{0} објекат(а) изабрано +Ðе могу да креирам ФаÑциклу '{0}' +Операција оÑвежавања није дозвољена за ову архиву. +Ðе могу да отворим датотеку '(0)' као архива +Ðе могу да отворим шифровану архиву '(0)'. Погрешна лозинка? +Ðеподржан тип архиве +Датотека {0} већ поÑтоји +Датотека '{0}' је измјењена.\nДа ли желите ажурирати архиву? +Ðије могуће ажурирати датотеку\n'{0}' +Ðије могуће започети уређивање. +Датотека изгледа као Ð²Ð¸Ñ€ÑƒÑ (име датотеке Ñадржи пуно размака у имену). +Операција не може бити позвана из фаÑцикле која има дугу путању. +Морате да изаберете неку датотеку +Морате да изаберете једну или више датотека +ИÑувише Ñтавки +3300 +Издвајање +Додајем +ТеÑтирање +Отварање у току... +Скенирање... +3400 +Издвој +Издвој у: +Ðаведи локацију где ће Ñе издвајати датотеке из архива. +3410 +Путање +Пуна путања +Без путање +3420 +Замена +Питај пре него што замениш +Замени без запиткивања +ПреÑкочи поÑтојеће датотеке +ÐутоматÑка промена назива +ÐутоматÑка промена назива поÑтојећих датотека +3500 +Потврди замену датотеке +Циљна фаÑцикла већ Ñадржи датотеку која Ñе тренутно обрађује. +Да ли желите да замените поÑтојећу датотеку +Ñа овом? +{0} бајтова +ÐутоматÑка промена назива +3700 +Ðеподржани метод компреÑије за '{0}'. +Грешка у '{0}'. Датотека је неиÑправана. +CRC грешка у '{0}'. Датотека је неиÑправана. +Грешке у кодирану датотеку '(0)' Погрешна лозинка. +ЦРЦ грешка у шифроване датотеке '(0)' Погрешна лозинка. +3800 +УнеÑите лозинку +УнеÑите лозинку: +Поново унеÑите лозинку: +Прикажи лозинку +Лозинке Ñе не поклапају +КориÑти Ñамо енглеÑка Ñлова, бројева и Ñпецијалних знакова (!, #, $, ...) За лозинке +Лозинка је предугачка +Шифра +3900 +Протекло време: +ПреоÑтало време: +Величина: +Брзина: +Обрађено: +КомпреÑиони одноÑ: +Грешке: +Ðрхиве: +4000 +Додај у архиву +Ðрхива: +Ðадоградња архива: +Формат архиве: +Ðиво компреÑије: +Тип компреÑије: +Dictionary size: +Word size: +Величина чврÑтог блока: +Број низа процеÑора: +Параметри: +Опције +Креирај SFX архиву +КомпреÑија дељене датотека +Шифровање +Метода шифровања: +Шифруј називе датотека +Потребна меморија - компреÑија: +Потребна меморија - декомпреÑија: +4050 +Без компреÑије +Брже +Брзо +Ðормално +МакÑимално +Ðајбрже +4060 +Додај и замени датотеке +ОÑвежи и додај датотеке +Озвежи поÑтојеће датотеке +Синхронизуј датотеке +4070 +Прегледај +Све датотеке +Ðе-чврÑте +ЧврÑто +6000 +Копирај +ИÑеци +Копирај у: +ПремеÑти у: +Копирање у току... +Премештање у току... +Преименовање у току... +Изаберите одредишну фаÑциклу. +Операција није подржана. +Грешка при преименовању датотеке или фаÑцикле +Потврди копирање датотеке +Да ли Ñте Ñигурни да желите да копирате датотеке у архиву +6100 +Потврдите бриÑање датотеке +Потврдите бриÑање фаÑцикле +Потврдите вишеÑтруко бриÑање датотека +ЈеÑте ли Ñигурни да желите да обришете '{0}'? +ЈеÑте ли Ñигурни да желите да обришете фаÑциклу '{0}' и Ñав њен Ñадржај? +ЈеÑте ли Ñигурни да желите да обришете ове {0} податке? +БриÑање у току... +Грешка при бриÑању датотеке или фаÑцикле +СиÑтем не може да премеÑти датотеку Ñа дугом путу у корпу за отпатке +6300 +Креирај фаÑциклу +Креирај датотеку +Име фаÑцикле: +Име датотеке: +Ðова фаÑцикла +Ðова датотека +Грешка при креирању фаÑцикли +Грешка при креирању датотека +6400 +Коментар +Коментар: +Одабери +Поништи избор +МаÑка: +6600 +ОÑобине +Хронологија +ДијагноÑтичке поруке +Поруке +7100 +Рачунар +Мрежа +Документи +СиÑтем +7200 +Додај +Издвој +ТеÑтирај +Копирај +ПремеÑти +Избриши +СвојÑтва +7300 +Подели датотеку +Подели на: +Подели на делове, бајти: +Подела... +Потврда поделе +Да ли Ñте Ñигурни да желите да поделите датотеку на (0) дела? +Величине дела мора бити мањи од величине оригиналне датотеке +ÐеиÑправна величина волумена +Одређена величина волумена: {0} бајтова.\nДа ли Ñте Ñигурни да желите да поделите архиву у тих волумена? +7400 +СаÑтави датотеке +СаÑтави у: +Спајање... +Изаберите Ñамо први део поделе датотеке +Ðе могу да откријем датотеку као део поделе +Ðе може Ñе наћи више од једног дела поделе +7500 +Израчунавање проверне величине... +Информација о проверне величине +ЦРЦ порвера за податак: +ЦРЦ провера за податак и имена: +7600 +Benchmark +Коришћење меморије: +КомпреÑија +ДекомпреÑија +Оцена +Потпуна оцена +Тренутно +Резултат +Употреба процеÑора +Рејтинг/Употреба +Пролази: diff --git a/Utils/7-Zip/Lang/sr-spl.txt b/Utils/7-Zip/Lang/sr-spl.txt new file mode 100644 index 000000000..cf66e8dd8 --- /dev/null +++ b/Utils/7-Zip/Lang/sr-spl.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Lazar +; 9.07 : Ozzii +; +; +; +; +; +; +; +; +; +0 +7-Zip +Serbian - Latin +Srpski - latinica +401 +U redu +Otkaži + + + +Da +Ne +Zatvori +Pomoć + +Nastavi +440 +Da za sve +Ne za sve +Stani +Ponovo +Pozadina +Na vrhu +Pauza +Pauza +Da li ste sigurni da želite da prekinete? +500 +Datoteka +UreÄ‘ivanje +Pregled +Omiljeno +Alati +Pomoć +540 +Pogledaj +Otvori sa 7-Zip-om +Otvori sa pridruženom programom +Pregledaj +Promeni +Preimenuj +Kopiraj u... +Premesti u... +ObriÅ¡i +Podeli fajl... +Spoj delove... +Svojstva +Komentar +IzraÄunajte provernu veliÄinu +razlika +Nova fascikla +Nova datoteka +Izlaz +600 +Izaberi sve +PoniÅ¡ti izbor svega +Obrnuti izbor +Izaberi... +PoniÅ¡ti izbor... +Izaberi po tipu +PoniÅ¡ti izbor po tipu +700 +Ikone +Naporedno slaganje +Spisak +Detalji +730 +Bez sortiranja +Ravan pregled +2 Prozora +Trake sa alatkama +Otvori poÄetnu fasciklu +Gore za jedan nivo +Hronologija... +Osvežavanje +750 +Rad sa arhivama +Rad sa datotekama +Velika dugmad +Prikaži tekst ispod dugmadi +800 +Dodaj +Izaberi +900 +Opcije... +Benchmark +960 +Pomoć... +O programu... +1003 +Putanja +Naziv +Tip +Fascikla +VeliÄina +VeliÄina u zapakovanom stanju +Atributi +Kreirana +Pristupano +Promenjeno +Solidno +Komentar +Å ifrovano +Podeli pre +Podeli posle +ReÄnik +CRC +Tip +Anti +Metod +Operativni sistem +Sistem datoteka +Korisnik +Grupa +Blok +Komentar +Položaj +Prefiks putanje +Fascikle +Datoteke +Verzija +Volumen +ViÅ¡eVolumena +Ofset +Linkovi +Blokovi +Volumeni + +64-bit +Big-endian +Procesor +FiziÄka veliÄina +VeliÄina zaglavlja +Provera rezultata +Karakteristike +Virtuelna adresa +ID +Kratko ime +Kreator aplikacije +VeliÄina sektora +NaÄin +Link +GreÅ¡ka +Ukupni kapacitet +Slobodni prostor +VeliÄina cluster-a +Naziv +Lokalno ime +Provajder +2100 +Opcije +Jezik +Jezik: +Promene u datotekama +Program: +Razlika: +2200 +Sistem +7-Zip otvara sledeće tipove datoteka: +2301 +Ubaci 7-Zip u sistemski meni +Kaskadni sistemski meni +Stavke sistemskog menija: +2320 + + +Otvori arhivu +Izdvoj datoteke... +Dodaj u arhivu... +Testiraj arhivu +Izdvoj ovde +Izdvoj u {0} +Dodaj u {0} +Dodaj i napravi e-mail... +Dodaj u {0} i napravi e-mail +2400 +Fascikle +Radna fascikla +Koristi Windows-ovu privremenu fasciklu +Trenutna +Navedena: +Koristi samo za izmenjive medije +Navedite lokaciju za smeÅ¡tanje privremenih datoteka. +2500 +PodeÅ¡avanja +Prikaži ".." +Prikaži prave sliÄice datoteka +Prikaži sistemski meni +Obeleži ceo red +Prikaži linije mreže +Jedan klik za otvaranje stavke +Alternativni naÄin za biranje +Koristi velike memorijske blokove +2900 +O programu +7-Zip je besplatan program. +3000 +Sistem ne može da izdvoji potrebnu koliÄinu memorije +Nije bilo nikakvih greÅ¡aka +{0} objekat(a) izabrano +Ne mogu da kreiram Fasciklu '{0}' +Operacija osvežavanja nije dozvoljena za ovu arhivu. +Ne mogu da otvorim datoteku '(0)' kao arhiva +Ne mogu da otvorim Å¡ifrovanu arhivu '(0)'. PogreÅ¡na lozinka? +Nepodržan tip arhive +Datoteka {0} već postoji +Datoteka '{0}' je izmjenjena.\nDa li želite ažurirati arhivu? +Nije moguće ažurirati datoteku\n'{0}' +Nije moguće zapoÄeti ureÄ‘ivanje. +Datoteka izgleda kao virus (ime datoteke sadrži puno razmaka u imenu). +Operacija ne može biti pozvana iz fascikle koja ima dugu putanju. +Morate da izaberete neku datoteku +Morate da izaberete jednu ili viÅ¡e datoteka +IsuviÅ¡e stavki +3300 +Izdvajanje +Dodajem +Testiranje +Otvaranje u toku... +Skeniranje... +3400 +Izdvoj +Izdvoj u: +Navedi lokaciju gde će se izdvajati datoteke iz arhiva. +3410 +Putanje +Puna putanja +Bez putanje +3420 +Zamena +Pitaj pre nego Å¡to zameniÅ¡ +Zameni bez zapitkivanja +PreskoÄi postojeće datoteke +Automatska promena naziva +Automatska promena naziva postojećih datoteka +3500 +Potvrdi zamenu datoteke +Ciljna fascikla već sadrži datoteku koja se trenutno obraÄ‘uje. +Da li želite da zamenite postojeću datoteku +sa ovom? +{0} bajtova +Automatska promena naziva +3700 +Nepodržani metod kompresije za '{0}'. +GreÅ¡ka u '{0}'. Datoteka je neispravana. +CRC greÅ¡ka u '{0}'. Datoteka je neispravana. +GreÅ¡ke u kodiranu datoteku '(0)' PogreÅ¡na lozinka. +CRC greÅ¡ka u Å¡ifrovane datoteke '(0)' PogreÅ¡na lozinka. +3800 +Unesite lozinku +Unesite lozinku: +Ponovo unesite lozinku: +Prikaži lozinku +Lozinke se ne poklapaju +Koristi samo engleska slova, brojeva i specijalnih znakova (!, #, $, ...) Za lozinke +Lozinka je predugaÄka +Å ifra +3900 +Proteklo vreme: +Preostalo vreme: +VeliÄina: +Brzina: +ObraÄ‘eno: +Kompresioni odnos: +GreÅ¡ke: +Arhive: +4000 +Dodaj u arhivu +Arhiva: +Nadogradnja arhiva: +Format arhive: +Nivo kompresije: +Tip kompresije: +Dictionary size: +Word size: +VeliÄina Ävrstog bloka: +Broj niza procesora: +Parametri: +Opcije +Kreiraj SFX arhivu +Kompresija deljene datoteka +Å ifrovanje +Metoda Å¡ifrovanja: +Å ifruj nazive datoteka +Potrebna memorija - kompresija: +Potrebna memorija - dekompresija: +4050 +Bez kompresije +Brže +Brzo +Normalno +Maksimalno +Najbrže +4060 +Dodaj i zameni datoteke +Osveži i dodaj datoteke +Ozveži postojeće datoteke +Sinhronizuj datoteke +4070 +Pregledaj +Sve datoteke +Ne-Ävrste +ÄŒvrsto +6000 +Kopiraj +Iseci +Kopiraj u: +Premesti u: +Kopiranje u toku... +PremeÅ¡tanje u toku... +Preimenovanje u toku... +Izaberite odrediÅ¡nu fasciklu. +Operacija nije podržana. +GreÅ¡ka pri preimenovanju datoteke ili fascikle +Potvrdi kopiranje datoteke +Da li ste sigurni da želite da kopirate datoteke u arhivu +6100 +Potvrdite brisanje datoteke +Potvrdite brisanje fascikle +Potvrdite viÅ¡estruko brisanje datoteka +Jeste li sigurni da želite da obriÅ¡ete '{0}'? +Jeste li sigurni da želite da obriÅ¡ete fasciklu '{0}' i sav njen sadržaj? +Jeste li sigurni da želite da obriÅ¡ete ove {0} podatke? +Brisanje u toku... +GreÅ¡ka pri brisanju datoteke ili fascikle +Sistem ne može da premesti datoteku sa dugom putu u korpu za otpatke +6300 +Kreiraj fasciklu +Kreiraj datoteku +Ime fascikle: +Ime datoteke: +Nova fascikla +Nova datoteka +GreÅ¡ka pri kreiranju fascikli +GreÅ¡ka pri kreiranju datoteka +6400 +Komentar +Komentar: +Odaberi +PoniÅ¡ti izbor +Maska: +6600 +Osobine +Hronologija +DijagnostiÄke poruke +Poruke +7100 +RaÄunar +Mreža +Dokumenti +Sistem +7200 +Dodaj +Izdvoj +Testiraj +Kopiraj +Premesti +IzbriÅ¡i +Svojstva +7300 +Podeli datoteku +Podeli na: +Podeli na delove, bajti: +Podela... +Potvrda podele +Da li ste sigurni da želite da podelite datoteku na (0) dela? +VeliÄine dela mora biti manji od veliÄine originalne datoteke +Neispravna veliÄina volumena +OdreÄ‘ena veliÄina volumena: {0} bajtova.\nDa li ste sigurni da želite da podelite arhivu u tih volumena? +7400 +Sastavi datoteke +Sastavi u: +Spajanje... +Izaberite samo prvi deo podele datoteke +Ne mogu da otkrijem datoteku kao deo podele +Ne može se naći viÅ¡e od jednog dela podele +7500 +IzraÄunavanje proverne veliÄine... +Informacija o proverne veliÄine +CRC porvera za podatak: +CRC provera za podatak i imena: +7600 +Benchmark +Korišćenje memorije: +Kompresija +Dekompresija +Ocena +Potpuna ocena +Trenutno +Rezultat +Upotreba procesora +Rejting/Upotreba +Prolazi: diff --git a/Utils/7-Zip/Lang/sv.txt b/Utils/7-Zip/Lang/sv.txt new file mode 100644 index 000000000..adaeeb966 --- /dev/null +++ b/Utils/7-Zip/Lang/sv.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; : Andreas M Nilsson, Christoffer Enqvist +; 4.59 : Bernhard Eriksson +; +; +; +; +; +; +; +; +; +0 +7-Zip +Swedish +Svenska +401 +OK +Avbryt + + + +&Ja +&Nej +&Stäng +Hjälp + +F&ortsätt +440 +Ja till &Alla +Nej till A&lla +Stopp +Starta om +&Bakgrunden +&Förgrunden +&Pausa +Pausad +Är du säker pÃ¥ att du vill avbryta? +500 +&Arkiv +&Redigera +&Visa +&Favoriter +Verkt&yg +&Hjälp +540 +&Öppna +Öppna &internt +Öppna &externt +&Visa +&Redigera +&Byt namn +&Kopiera till... +&Flytta till... +&Ta bort +&Dela upp fil... +&Sätt ihop filer... +E&genskaper +Komme&ntera +Beräkna checksumma + +Skapa mapp +Skapa fil +&Avsluta +600 +Markera &alla +Avmarkera alla +&Invertera markering +Markera... +Avmarkera... +Markera efter typ +Avmarkera efter typ +700 +St&ora ikoner +Sm&Ã¥ ikoner +&Lista +&Detaljerad lista +730 +Osorterade +Platt vy +&2 Paneler +&Verktygsfält +Öppna rotmappen +Upp en nivÃ¥ +Mapphistorik... +&Uppdatera +750 +Verktygsfältet Arkiv +Verktygsfältet Standard +Stora Knappar +Visa Knapptext +800 +&Lägg mappen till Favoriter som +Bokmärke +900 +&Alternativ... +&Benchmark +960 +&InnehÃ¥ll... +&Om 7-Zip... +1003 +Sökväg +Namn +Filändelse +Mapp +Storlek +Storlek komprimerad +Attribut +Skapad +Använd +Ändrad +Sammanhängande (Solid) +Kommenterad +Krypterad +Delad före +Delad efter +Ordlista +CRC +Typ +Anti +Metod +Värd OS +Filsystem +Användare +Grupp +Block +Kommentar +Position +Sökvägs prefix +Kataloger +Filer +Version +Volym +Multivolym +Offset +Länkar +Block +Volymer + +64-bitars +Big-endian +CPU +Fysisk storlek +Storlek pÃ¥ header +Checksumma +Karakteristisk +Virtuell adress + + + + + + +Fel +Total Storlek +Ledigt utrymme +Kluster storlek +Etikett +Datornamn +Nätverkstyp +2100 +Alternativ +SprÃ¥k +SprÃ¥k: +Redigerare +&Redigerare: + +2200 +System +Associera med 7-Zip: +2301 +Lägg till 7-Zip som alternativ i Utforskarens högerklicksmenyn +Placera 7-Zip som en undermeny +Objekt i högerklicksmenyn: +2320 + + +Öppna +Packa upp filer... +Lägg till arkiv... +Kontrollera arkivet +Packa upp här +Packa upp till {0} +Lägg till {0} +Komprimera och skicka som e-post... +Komprimera till {0} och skicka som e-post +2400 +Mappar +&Arbetsmapp +&Systemets temp-mapp +A&ktuell +Spe&cificerad: +Använd enbart för &flyttbara enheter +Ange plats där temporära arkivfiler ska sparas. +2500 +Inställningar +Visa ".." objektet +Visa riktiga ikoner, för filer innehÃ¥llande ikoner (el. länkade) +Visa system-menyn +Markera &hel rad +Visa &rutnät + +&Alternativt markeringsläge +Använd &stora minnessidor +2900 +Om 7-Zip +7-Zip är fri programvara. Du kan emellertid stödja den fortsatta utvecklingen av 7-Zip genom att donera. Den aktuella översättningen pÃ¥ svenska är gjord av Wermlandsdata, baserad pÃ¥ arbete utfört av Andreas M Nilsson och Christoffer Enqvist. +3000 +Systemet kan inte allokera den begärda minnesmängden +Inga fel pÃ¥träffades +{0} objekt markerade +Kan inte skapa mapp '{0}' +Uppdatering stöds inte för det här arkivet. +Kan inte öppna filen '{0}' som ett arkiv +Kan inte öppna det krypterade arkivet '{0}'. Fel lösenord? +Arkiv typen stöds ej +Filen {0} existerar redan +Filen '{0}' har blivit ändrad.\nVill du uppdatera den i arkivet? +Kan inte uppdatera filen\n'{0}' +Kan inte starta redigeraren. +Filen verkar vara ett virus (filnamnet innehÃ¥ller 'lÃ¥nga' mellanslag). +Operation kan inte utföras frÃ¥n en katalog med en sÃ¥ lÃ¥ng sökväg. +Du mÃ¥ste välja en fil +Du mÃ¥ste välja en eller flera filer +För mÃ¥nga objekt +3300 +Packar upp +Komprimerar +Kontrollerar +Öppnar... +Skannar... +3400 +Packa upp +&Packa upp till: +Ange sökväg för uppackade filer. +3410 +&Sökvägstyp +Kompletta sökvägar +Inga sökvägar +3420 +&Överskrivning +FrÃ¥ga före överskrivning +Skriv över befintliga filer +Hoppa över befintliga filer +Automatisk omdöpning +Automatisk omdöpning av befintliga filer +3500 +Bekräfta överskrivning av fil +MÃ¥lmappen innehÃ¥ller redan den behandlade filen. +Vill du skriva över den befintliga filen +med den här? +{0} bytes +A&utomatisk omdöpning +3700 +Komprimeringsmetoden stöds inte för '{0}'. +Datafel i '{0}'. Filen är korrupt. +CRC-fel i '{0}'. Filen är korrupt. +Datafel i den krypterade filen '{0}'. Fel lösenord? +CRC-fel i den krypterade filen '{0}'. Fel lösenord? +3800 +Ange lösenord +Ange lösenord: +Upprepa lösenord: +&Visa lösenord +Lösenorden stämmer inte överens. +Använd endast engelska tecken, siffror och special tecken (!, #, $, ...) till lösenord +Lösenordet är för lÃ¥ngt. +&Lösenord +3900 +Förfluten tid: +Ã…terstÃ¥ende tid: +Storlek: +Hastighet: +Bearbetat: +Komprimeringsgrad: +Fel: +Arkiv: +4000 +Lägg till arkiv +&Arkiv: +&Uppdateringsmetod: +Arkiv&format: +Komprimeringsniv&Ã¥: +&Komprimeringsmetod: +Storlek pÃ¥ &ordlista: +Storlek pÃ¥ o&rd: +Solit block storlek: +Antal trÃ¥dar: +&Parametrar: +Alternativ +Skapa sj&älvuppackande arkiv +Komprimera delade filer +Kryptering +Krypteringsmetod: +Kryptera fil&namn +Minne behövt vid komprimering: +Minne behövt vid dekomprimering: +4050 +Okomprimerat +Snabbaste +Snabb +Normal +Maximal +Ultra +4060 +Lägg till och ersätt filer +Lägg till och uppdatera befintliga filer +Uppdatera enbart befintliga filer +Synkronisera filer +4070 +Bläddra +Alla filer +Icke-solit +Solit +6000 +Kopiera +Flytta +Kopiera till: +Flytta till: +Kopierar... +Flyttar... +Döper om... +Välj mÃ¥lmapp. +Funktionen stöds inte. +Ett fel uppstod under omdöpning av fil eller mapp +Bekräfta kopiering av fil +Är du säker pÃ¥ att du vill kopiera filerna till arkivet +6100 +Bekräfta borttagning av fil +Bekräfta borttagning av mapp +Bekräfta borttagning av flera filer +Är du säker pÃ¥ att du vill ta bort '{0}'? +Är du säker pÃ¥ att du vill ta bort mappen '{0}' och allt dess innehÃ¥ll? +Är du säker pÃ¥ att du vill ta bort de här {0} objekten? +Tar bort... +Ett fel uppstod under borttagning av fil eller mapp +Systemet kan inte flytta en fil med s lng skvg till papperskorgen +6300 +Skapa mapp +Skapa fil +Mappnamn: +Filnamn: +Ny mapp +Ny fil +Fel vid skapande av mapp +Fel vid skapande av fil +6400 +Kommentar +&Kommentar: +Markera +Avmarkera +Filter: +6600 +Egenskaper +Mapphistorik +Diagnostiska meddelanden +Meddelande +7100 +Dator +Nätverk +Dokument +System +7200 +Lägg till +Packa upp +Testa +Kopiera +Flytta +Radera +Info +7300 +Dela Upp Fil +&Dela upp till: +Dela upp i &delar (volymer), bytes: +Delar upp... +Bekräfta uppdelning +Är det säkert du vill dela upp filen i {0} volymer? +Volymstorleken mÃ¥ste vara mindre än storleken pÃ¥ originalfilen. +Felaktig volymstorlek. +Specificerad volymstorlek: {0} byte.\nÄr du säker du vill dela arkivet i sÃ¥dana delar? +7400 +Sätt Ihop Filer +&Sätt ihop till: +Sätter ihop... +Markera bara första filen +Kan inte upptäcka att filen är en del av en uppdelad fil +Kan inte hitta mer än en del av en uppdelad fil +7500 +Beräknar checksumma... +Checksumma information +CRC checksumma för data: +CRC checksumma för data och namn: +7600 +Benchmark +Minnesanvändning: +Komprimering +Dekomprimering +Prestanda +Total prestanda +Aktuellt +Resultat +CPU Användning +Rate / Användning +OmgÃ¥ngar: diff --git a/Utils/7-Zip/Lang/ta.txt b/Utils/7-Zip/Lang/ta.txt new file mode 100644 index 000000000..a65c116df --- /dev/null +++ b/Utils/7-Zip/Lang/ta.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 3.13 : Ve Elanjelian : ThamiZha! team : www.thamizha.com +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Tamil +தமிழ௠+401 +சரி +இரதà¯à®¤à¯ + + + +ஆம௠+வேணà¯à®Ÿà®¾à®®à¯ +மூட௠+உதவி + +தொடரவà¯à®®à¯ +440 +அனைதà¯à®¤à®¿à®±à¯à®•à¯à®®à¯ ஆம௠+அனைதà¯à®¤à®¿à®±à¯à®•à¯à®®à¯ இலà¯à®²à¯ˆ +நிறà¯à®¤à¯à®¤à¯ +மீளà¯à®¤à¯à®µà®™à¯à®•௠+பினà¯à®ªà¯à®²à®®à¯ +à®®à¯à®©à¯à®ªà¯à®²à®®à¯ +தறà¯à®•ாலிகமாக நிறà¯à®¤à¯à®¤à¯ +தறà¯à®•ாலிக நிறà¯à®¤à¯à®¤à®²à¯ +உறà¯à®¤à®¿à®¯à®¾à®•வே இரதà¯à®¤à¯ செயà¯à®¯ விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா? +500 +கோபà¯à®ªà¯ +பதிபà¯à®ªà¯ +பாரà¯à®µà¯ˆ +விரà¯à®ªà¯à®ªà®™à¯à®•ள௠+கரà¯à®µà®¿à®•ள௠+உதவி +540 +திற +உளà¯à®³à¯‡ திற +வெளியே திற +பாரà¯à®µà¯ˆ +பதிபà¯à®ªà¯ +மாறà¯à®±à¯à®ªà¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯ +இஙà¯à®•௠நகலெடà¯... +இஙà¯à®•௠நகரà¯à®¤à¯à®¤à¯... +அழி + + +தனà¯à®®à¯ˆà®•ள௠+கரà¯à®¤à¯à®¤à¯à®°à¯ˆ + + +கோபà¯à®ªà¯ˆ உரà¯à®µà®¾à®•à¯à®•௠+கோபà¯à®ªà¯ உரà¯à®µà®¾à®•à¯à®•௠+வெளியேற௠+600 +அனைதà¯à®¤à¯à®®à¯ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯ +அனைதà¯à®¤à¯à®®à¯ நீகà¯à®•௠+தெரிவை பà¯à®°à®Ÿà¯à®Ÿà¯ +தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯... +நீகà¯à®•à¯... +வகைபà¯à®ªà®Ÿà®¿ தெரிவà¯à®šà¯†à®¯à¯ +வகைபà¯à®ªà®Ÿà®¿ நீகà¯à®•௠+700 +பெரிய உரà¯à®ªà®¿à®•ள௠+சிறிய உரà¯à®ªà®¿à®•ள௠+படà¯à®Ÿà®¿à®¯à®²à¯ +தகவலà¯à®•ள௠+730 +வரிசைபà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà®¾à®¤à®¤à¯ + +2 பலகஙà¯à®•ள௠+கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà¯ˆà®•ள௠+வேர௠அடைவைத௠திற +ஒர௠படி மேல௠+அடைவà¯à®•ளின௠வரலாறà¯... +பà¯à®¤à¯à®•à¯à®•ல௠+750 +காபà¯à®ªà®• கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà¯ˆ +பொதà¯à®µà®¾à®© கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà¯ˆ +பெரிய பொதà¯à®¤à®¾à®©à¯à®•ள௠+பொதà¯à®¤à®¾à®©à¯à®•ளின௠உரையைக௠காடà¯à®Ÿà¯ +800 +அடைவை விரà¯à®®à¯à®ªà®¿à®¯à®µà®±à¯à®±à¯à®³à¯ இபà¯à®ªà®Ÿà®¿ இணை +பà¯à®¤à¯à®¤à®•கà¯à®•à¯à®±à®¿ +900 +விரà¯à®ªà¯à®ªà®¤à¯à®¤à¯‡à®°à¯à®µà¯... +மதிபà¯à®ªà¯€à®Ÿà¯à®Ÿà¯ அளவை +960 +பொரà¯à®³à®Ÿà®•à¯à®•à®®à¯... +7-ஜிபà¯à®ªà¯ˆà®ªà¯ பறà¯à®±à®¿... +1003 +பாதை +பெயர௠+நீடà¯à®Ÿà®¿à®ªà¯à®ªà¯ +அடைவ௠+அளவ௠+கடà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿ அளவ௠+பணà¯à®ªà¯à®•à¯à®•ூற௠+உரà¯à®µà®¾à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ +அனà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ +மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ +திணà¯à®®à®®à¯ +கரà¯à®¤à¯à®¤à¯à®°à¯ˆà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ +மறைகà¯à®•à¯à®±à®¿à®¯à¯€à®Ÿà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ +à®®à¯à®©à¯ பிரி +பின௠பிரி +அகராதி +CRC +வகை +தடà¯à®ªà¯à®ªà¯ +வழி +பà¯à®°à®µà®²à®°à®¿à®©à¯ OS +கோபà¯à®ªà¯ மணà¯à®Ÿà®²à®®à¯ +பயனர௠+கà¯à®´à¯ +கடà¯à®Ÿà®®à¯ +கà¯à®±à®¿à®ªà¯à®ªà¯ + + + + + + + + + + + + + + + + + + + + + + + + + + +தவற௠+மொதà¯à®¤ அளவ௠+காளி இடம௠+கொதà¯à®¤à®£à®¿à®¯à®¿à®©à¯ அளவ௠+விலà¯à®²à¯ˆ +இடதà¯à®¤à¯à®°à®¿ பெயர௠+வழஙà¯à®•à¯à®ªà®µà®°à¯ +2100 +தேரà¯à®µà¯à®•ள௠+மொழி +மொழி: +பதிபà¯à®ªà®¾à®³à®©à¯ +பதிபà¯à®ªà®¾à®³à®©à¯: + +2200 +மணà¯à®Ÿà®²à®®à¯ +7-ஜிபà¯à®ªà¯ˆ இதனà¯à®Ÿà®©à¯ தொடரà¯à®ªà¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯: +2301 +7-ஜிபà¯à®ªà¯ˆ வெறà¯à®±à¯ சூழலà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯à®Ÿà®©à¯ à®’à®°à¯à®™à¯à®•ிணை +விழà¯à®¤à¯Šà®Ÿà®°à¯à®®à¯ சூழல௠படà¯à®Ÿà®¿à®¯à®²à¯ +சூழல௠படà¯à®Ÿà®¿à®¯à®²à¯ உரà¯à®ªà¯à®ªà®Ÿà®¿à®•ளà¯: +2320 +<அடைவà¯> +<காபà¯à®ªà®•à®®à¯> +காபà¯à®ªà®•தà¯à®¤à¯ˆà®¤à¯ திற +கோபà¯à®ªà¯à®•ளை வெளிகà¯à®•ொணரà¯... +காபà¯à®ªà®•தà¯à®¤à®¿à®²à¯ இணை... +காபà¯à®ªà®•தà¯à®¤à¯ˆà®šà¯ சோதனைசெய௠+இஙà¯à®•௠வெளிகà¯à®•ொணர௠+{0}-ல௠வெளிகà¯à®•ொணர௠+{0}-ல௠இணை +இறà¯à®•à¯à®•ி மினà¯à®©à®žà¯à®šà®²à®©à¯à®ªà¯à®ªà¯... +{0}-கà¯à®•௠இறà¯à®•à¯à®•ி அஞà¯à®šà®²à®©à¯à®ªà¯à®ªà¯ +2400 +அடைவà¯à®•ள௠+பணியிலà¯à®³à¯à®³ அடைவ௠+மணà¯à®Ÿà®² தறà¯à®•ாலிக அடைவ௠+நடபà¯à®ªà¯ +கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ: +கழறà¯à®±à¯ இயகà¯à®•ிகளை மடà¯à®Ÿà¯à®®à¯ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯ +கோபà¯à®ªà¯à®•ளைத௠தறà¯à®•ாலிக காபà¯à®ªà®•பà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®®à¯ இடதà¯à®¤à¯ˆà®•௠கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®•. +2500 +அமைவà¯à®•ள௠+".." உரà¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆà®•௠காடà¯à®Ÿà¯ +கோபà¯à®ªà¯ உரà¯à®ªà®¿à®•ளைக௠காடà¯à®Ÿà¯ +மணà¯à®Ÿà®² படà¯à®Ÿà®¿à®¯à®²à¯ˆà®•௠காடà¯à®Ÿà¯ + + + + + +2900 +7-ஜிபà¯à®ªà¯ˆà®ªà¯ பறà¯à®±à®¿ +தமிழாகà¯à®•ம௠(c) 2004 தமிழா! கà¯à®´à¯ - www.thamizha.com/\n\n7-ஜிப௠ஒர௠பரிநிரல௠ஆகà¯à®®à¯. ஆனாலà¯, நீஙà¯à®•ள௠7-ஜிபà¯à®ªà®¿à®©à¯ மேமà¯à®ªà®¾à®Ÿà¯à®Ÿà¯ˆ ஆதரிகà¯à®• விரà¯à®®à¯à®ªà®¿à®©à®¾à®²à¯, பதிவà¯à®ªà¯†à®±à¯à®±à¯à®™à¯à®•ளà¯. பதிவà¯à®ªà¯†à®±à¯à®± பயனராக, நீஙà¯à®•ள௠தொழிலà¯à®¨à¯à®Ÿà¯à®ª உதவியà¯à®®à¯ பெறலாமà¯. +3000 + +தவறà¯à®•ளேதà¯à®®à®¿à®²à¯à®²à¯ˆ +{0} பொரà¯à®³à¯ தெரிவானத௠+'{0}' அடைவை உரà¯à®µà®¾à®•à¯à®• இயலவிலà¯à®²à¯ˆ +இகà¯à®•ாபà¯à®ªà®•தà¯à®¤à®¿à®²à¯ பà¯à®¤à¯à®ªà¯à®ªà®¿à®•à¯à®•à¯à®®à¯ செயலà¯à®•ளà¯à®•à¯à®•௠ஆதரவிலà¯à®²à¯ˆ. + + + + +'{0}' கோபà¯à®ªà¯ மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.\nஇதனை காபà¯à®ªà®•தà¯à®¤à®¿à®²à¯ பà¯à®¤à¯à®ªà¯à®ªà®¿à®•à¯à®• வேணà¯à®Ÿà¯à®®à®¾? +பினà¯à®µà®°à¯à®®à¯ கோபà¯à®ªà¯ˆ பà¯à®¤à¯à®ªà¯à®ªà®¿à®•à¯à®• இயலவிலà¯à®²à¯ˆ\n'{0}' +பதிபà¯à®ªà®¾à®³à®©à¯ˆà®¤à¯ தà¯à®µà®•à¯à®• இயலவிலà¯à®²à¯ˆ. + + + + +மிகவà¯à®®à¯ அதிகமான உரà¯à®ªà¯à®ªà®Ÿà®¿à®•ள௠+3300 +வெளிகà¯à®•ொணரபà¯à®ªà®Ÿà¯à®•ினà¯à®±à®¤à¯ +இறà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®•ினà¯à®±à®¤à¯ +சோதனை... +திறகà¯à®•பà¯à®ªà®Ÿà¯à®•ினà¯à®±à®¤à¯... + +3400 +வெளிகà¯à®•ொணர௠+இஙà¯à®•௠வெளிகà¯à®•ொணரà¯: +வெளிகà¯à®•ொணரà¯à®¨à¯à®¤ கோபà¯à®ªà¯à®•ளà¯à®•à¯à®•ான இடதà¯à®¤à¯ˆà®•௠கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯. +3410 +பாதை à®®à¯à®±à¯ˆà®®à¯ˆ +à®®à¯à®´à¯ பாதைபà¯à®ªà¯†à®¯à®°à¯à®•ள௠+பாதைபà¯à®ªà¯†à®¯à®°à¯à®•ளிலà¯à®²à¯ˆ +3420 +மேலெழà¯à®¤à®²à¯ à®®à¯à®±à¯ˆà®®à¯ˆ +மேலெழà¯à®¤à¯à®µà®¤à®±à¯à®•௠மà¯à®©à¯ கேள௠+கேடà¯à®•ாமல௠மேலெழà¯à®¤à¯ +தறà¯à®ªà¯Šà®´à¯à®¤à¯à®³à¯à®³ கோபà¯à®ªà¯à®•ளைத௠தவிர௠+தானாக மாறà¯à®±à¯à®ªà¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯ + +3500 +கோபà¯à®ªà¯ மாறà¯à®±à®¤à¯à®¤à¯ˆ உறà¯à®¤à®¿à®šà¯†à®¯à¯ +சேரிட அடைவ௠à®à®±à¯à®•னவே செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà¯ˆà®•௠கொணà¯à®Ÿà¯à®³à¯à®³à®¤à¯. +தறà¯à®ªà¯Šà®´à¯à®¤à¯à®³à¯à®³ கோபà¯à®ªà¯ˆ +இதகà¯à®•ொணà¯à®Ÿà¯ மாறà¯à®± விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா? +{0} பைடà¯à®•ள௠+தானாக மாறà¯à®±à¯à®ªà¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯ +3700 +'{0}'-ல௠ஆதரவிலà¯à®²à®¾à®¤ இறà¯à®•à¯à®•ல௠மà¯à®±à¯ˆ. +'{0}'-ல௠தரவà¯à®¤à¯ தவறà¯. கோபà¯à®ªà¯ à®®à¯à®±à®¿à®¨à¯à®¤à¯à®³à¯à®³à®¤à¯. +'{0}'-ல௠CRC தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯. கோபà¯à®ªà¯ à®®à¯à®±à®¿à®¨à¯à®¤à¯à®³à¯à®³à®¤à¯. + + +3800 +கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ உளà¯à®³à®¿à®Ÿà¯à®• +கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ உளà¯à®³à®¿à®Ÿà¯à®•: + +கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ காடà¯à®Ÿà¯ + + + +கடவà¯à®šà¯à®šà¯Šà®²à¯ +3900 +மீதமà¯à®³à¯à®³ நேரமà¯: +மீதமà¯à®³à¯à®³ நேரமà¯: +அளவà¯: +வேகமà¯: + + +தவறà¯à®•ளà¯: + +4000 +காபà¯à®ªà®•தà¯à®¤à®¿à®²à®¿à®£à¯ˆ +காபà¯à®ªà®•à®®à¯: +பà¯à®¤à¯à®ªà®¿à®•à¯à®•à¯à®®à¯ à®®à¯à®±à¯ˆà®®à¯ˆ: +காபà¯à®ªà®• வடிவமà¯: +இறà¯à®•à¯à®• வகை: +இறà¯à®•à¯à®•à¯à®®à¯ வழி: +அகராதி அளவà¯: +வாரà¯à®¤à¯à®¤à¯ˆ அளவà¯: + + +அளபà¯à®°à¯à®•ளà¯: +விரà¯à®ªà¯à®ªà®¤à¯à®¤à¯‡à®°à¯à®µà¯à®•ள௠+SFX காபà¯à®ªà®•ம௠உறà¯à®µà®¾à®•à¯à®•௠+ + + +பெயரை மறைகà¯à®•à¯à®±à®¿à®¯à¯€à®Ÿà®¾à®•à¯à®•௠+இறà¯à®•à¯à®• நினைவக பயனà¯à®ªà®¾à®Ÿà¯: +பெரà¯à®•à¯à®• நினைவக பயனà¯à®ªà®¾à®Ÿà¯: +4050 +தேகà¯à®•௠+அதிவிரைவான +விரைவான +சாதாரண +அதிகமான +சிறபà¯à®ªà®¾à®© +4060 +சேரà¯à®¤à¯à®¤à¯ கோபà¯à®ªà¯à®•ளை மாறà¯à®±à¯ +பà¯à®¤à®¿à®ªà¯à®ªà®¿à®¤à¯à®¤à¯ கோபà¯à®ªà¯à®•ளை சேர௠+உளà¯à®³ கோபà¯à®ªà¯à®•ளைப௠பà¯à®¤à¯à®ªà¯à®ªà®¿ +கோபà¯à®ªà¯à®•ளை ஒதà¯à®¤à®¿à®¯à®•à¯à®•௠+4070 +உலாவ௠+அனைதà¯à®¤à¯ கோபà¯à®ªà¯à®•ளà¯à®®à¯ + + +6000 +நகல௠+நகரà¯à®¤à¯à®¤à¯ +இஙà¯à®•௠நகலெடà¯: +இஙà¯à®•௠நகரà¯à®¤à¯à®¤à¯: +நகலெடà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®•ிறதà¯... +நகரà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯... +பெயரà¯à®®à®¾à®±à¯à®±à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯... + +அதà¯à®¤à®•ைய செயலà¯à®•à¯à®•௠ஆதரவிலà¯à®²à¯ˆ. +கோபà¯à®ªà¯ˆà®¯à¯‹ அடைவையோ பெயரà¯à®®à®¾à®±à¯à®±à¯à®®à¯à®ªà¯‹à®¤à¯ தவற௠+ + +6100 +கோபà¯à®ªà¯ அழிபà¯à®ªà¯ˆ உறà¯à®¤à®¿à®šà¯†à®¯à¯ +அடைவ௠அழிபà¯à®ªà¯ˆ உறà¯à®¤à®¿à®šà¯†à®¯à¯ +பல கோபà¯à®ªà¯ அழிபà¯à®ªà¯ˆ உறà¯à®¤à®¿à®šà¯†à®¯à¯ +'{0}'-஠உறà¯à®¤à®¿à®¯à®¾à®• அழிகà¯à®• விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா? +'{0}' அடைவையà¯à®®à¯ அதிலà¯à®³à¯à®³à®µà®±à¯à®±à®¯à¯à®®à¯ உறà¯à®¤à®¿à®¯à®¾à®•வே அழிகà¯à®• விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா? +இநà¯à®¤ {0} உரà¯à®ªà¯à®ªà®Ÿà®¿à®•ளை உறà¯à®¤à®¿à®¯à®¾à®• அழிகà¯à®• விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா? +அழிகà¯à®•பà¯à®ªà®Ÿà¯à®•ிறதà¯... +கோபà¯à®ªà¯ˆà®¯à¯‹ அடைவையோ அழிகà¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ தவற௠+ +6300 +அடைவ௠உரà¯à®µà®¾à®•à¯à®•௠+கோபà¯à®ªà¯ உரà¯à®µà®¾à®•à¯à®•௠+அடைவின௠பெயரà¯: +கோபà¯à®ªà®¿à®©à¯ பெயரà¯: +பà¯à®¤à®¿à®¯ அடைவ௠+பà¯à®¤à®¿à®¯ கோபà¯à®ªà¯ +அடைவ௠உரà¯à®µà®¾à®•à¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ தவற௠+கோபà¯à®ªà¯ உரà¯à®µà®¾à®•à¯à®•ையில௠தவறேறà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ +6400 +கரà¯à®¤à¯à®¤à¯à®°à¯ˆ +கரà¯à®¤à¯à®¤à¯à®°à¯ˆ: +தெரிவà¯à®šà¯†à®¯à¯ +நீகà¯à®•௠+à®®à¯à®•à®®à¯à®Ÿà®¿: +6600 + +அடைவà¯à®•ளின௠வரலாற௠+அறிவழிச௠செயà¯à®¤à®¿à®•ள௠+செயà¯à®¤à®¿ +7100 +கணினி +பிணையம௠+ +மணà¯à®Ÿà®²à®®à¯ +7200 +இணை +வெளிகà¯à®•ொணர௠+பரிசோதி +நகல௠+நகரà¯à®¤à¯à®¤à¯ +அழி +தகவல௠+7300 + + +கனவளவà¯à®•ளà¯à®•à¯à®•à¯, பைடà¯à®•ளà¯à®•à¯à®•à¯à®ªà¯ பிரி: + + + + + + +7400 + + + + + + +7500 + + + + +7600 +மதிபà¯à®ªà¯€à®Ÿà¯à®Ÿà¯ அளவை +நினைவக பயனà¯: +இறà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®•ையில௠+பெரà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®•ையில௠+பà¯à®³à¯à®³à®¿à®•ள௠+மொதà¯à®¤ பà¯à®³à¯à®³à®¿à®•ள௠+நடபà¯à®ªà¯ +à®®à¯à®Ÿà®¿à®µà®¿à®²à¯ + + +சரியானவை: diff --git a/Utils/7-Zip/Lang/th.txt b/Utils/7-Zip/Lang/th.txt new file mode 100644 index 000000000..96e06cc03 --- /dev/null +++ b/Utils/7-Zip/Lang/th.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.09 : Chayanon Ruamcharoen +; 4.10 : Zafire06 +; 9.13 : Kom10 +; +; +; +; +; +; +; +; +0 +7-Zip +Thai +ไทย +401 +ตà¸à¸¥à¸‡ +ยà¸à¹€à¸¥à¸´à¸ + + + +&ใช่ +&ไม่ +&ออภ+ช่วยเหลือ + +&ดำเนินà¸à¸²à¸£à¸•่อ +440 +ใช่ทั้งหมด +ไม่ทั้งหมด +หยุด +ฟื้นฟู +&ทำงานเป็นพื้นหลัง +&ทำงานเป็นพื้นหน้า +&หยุดชั่วคราว +หยุดชั่วคราว +คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¢à¸à¹€à¸¥à¸´à¸ +500 +&à¹à¸Ÿà¹‰à¸¡ +&à¹à¸à¹‰à¹„ข +&มุมมอง +&รายà¸à¸²à¸£à¹‚ปรด +&เครื่องมือ +&ช่วยเหลือ +540 +&เปิด +เปิดในหน้าต่างเดิม +เปิดในหน้าต่างใหม่ +&มุมมอง +&à¹à¸à¹‰à¹„ข +&เปลี่ยนชื่อ +&คัดลอà¸à¹„ปที่... +&วางที่... +&ลบ +&à¹à¸¢à¸à¹„ฟล์... +รวมไฟล์... +&คุณสมบัติ +&หมายเหตุ +คำนวณ checksum +Diff +สร้างโฟลเดอร์ +สร้างไฟล์ +ออภ+600 +เลือà¸à¸—ั้งหมด +ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¸—ั้งหมด +&สลับà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¸•รงà¸à¸±à¸™à¸‚้าม +เลือà¸... +ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸... +เลือà¸à¸”้วยà¹à¸šà¸šà¸Šà¸™à¸´à¸” +ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¸”้วยà¹à¸šà¸šà¸Šà¸™à¸´à¸” +700 +&ไอคอนขนาดใหà¸à¹ˆ +&ไอคอนขนาดเล็ภ+&à¹à¸ªà¸”งเป็นรายà¸à¸²à¸£ +&à¹à¸ªà¸”งà¹à¸šà¸šà¸¥à¸°à¹€à¸­à¸µà¸¢à¸” +730 +ไม่เลือภ+à¹à¸ªà¸”งไฟล์à¹à¸¥à¸°à¹‚ฟลด์เดอร์ทั้งหมด +&à¹à¸ªà¸”ง 2 à¹à¸œà¸‡ +&à¹à¸–บเครื่องมือ +เปิดราà¸à¹‚ฟลเดอร์ +เลื่อนขึ้นหนึ่งระดับ +ประวัติโฟลเดอร์... +&ฟื้นฟู +750 +à¹à¸–บเครื่องมือเอà¸à¸ªà¸²à¸£ +à¹à¸–บเครื่องมือธรรมดา +ปุ่มขนาดใหà¸à¹ˆ +à¹à¸ªà¸”งข้อความบนปุ่ม +800 +&เพิ่มโฟลเดอร์เข้ารายà¸à¸²à¸£à¹‚ปรด +คั่นหน้าที่ +900 +&ตัวเลือà¸... +&เà¸à¸“ฑ์เปรียบเทียบสมรรถนะ +960 +&เนื้อหาà¹à¸¥à¸°à¸”ัชนี... +&เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š 7-Zip... +1003 +ที่ตั้ง +ชื่อ +ชนิด +โฟลเดอร์ +ขนาด +ขนาดเมื่อถูà¸à¸ˆà¸±à¸”เà¸à¹‡à¸š +ลัà¸à¸©à¸“ะประจำ +สร้างเมื่อ +เข้าถึงเมื่อ +ดัดà¹à¸›à¸£à¹€à¸¡à¸·à¹ˆà¸­ +ต่อเนื่อง +หมายเหตุ +à¸à¸²à¸£à¹€à¸‚้ารหัสลับ +à¸à¹ˆà¸­à¸™à¹à¸šà¹ˆà¸‡ +หลังà¹à¸šà¹ˆà¸‡ +ดิคชันนารี +ซีอาร์ซี +à¹à¸šà¸šà¸Šà¸™à¸´à¸” +ต่อต้าน +วิธีà¸à¸²à¸£ +OS ที่ใช้ +ไฟล์ระบบ +ผู้ใช้ +à¸à¸¥à¸¸à¹ˆà¸¡ +บล็อภ+หมายเหตุ +ตำà¹à¸«à¸™à¹ˆà¸‡ +คำนำหน้าที่ตั้ง +โฟลเดอร์ +ไฟล์ +เวอร์ชั่น +วอลลุ่ม +มัลติวอลลุ่ม +ออฟเซ็ท +ลิ้งค์ +บล็อค +Volumes + +64-บิท +Big-endian +CPU +ขนาดทางà¸à¸²à¸¢à¸ à¸²à¸ž +ขนาดเฮดเดอร์ +Checksum +คุณลัà¸à¸©à¸“ะ +Virtual Address +ID +ชื่อย่อ +ผู้สร้างโปรà¹à¸à¸£à¸¡ +ขนาด Sector +โหมด +ลิงค์ +เà¸à¸´à¸”ข้อผิดพลาด +ขนาดทั้งหมด +ช่องว่างที่เหลืออยู่ +ขนาดà¸à¸¥à¸¸à¹ˆà¸¡ +ป้าย +ชื่อเฉพาะ +ผู้ให้บริà¸à¸²à¸£ +2100 +ตัวเลือภ+ภาษา +ภาษา: +บรรณาธิà¸à¸£à¸“์ +&บรรณาธิà¸à¸£à¸“์: +&Diff: +2200 +ระบบ +ทำให้ 7-Zip ทำงานร่วมà¸à¸±à¸š: +2301 +รวบรวมคำสั่ง 7-Zip ไปที่à¹à¸–บเมนูลัด +à¹à¸¢à¸à¹€à¸›à¹‡à¸™à¹à¸–บคำสั่ง 7-Zip +วัตถุที่ปราà¸à¸à¸šà¸™à¹€à¸¡à¸™à¸¹à¸¥à¸±à¸”: +2320 +<โฟลเดอร์> +<เอà¸à¸ªà¸²à¸£> +เปิดเอà¸à¸ªà¸²à¸£ +à¹à¸¢à¸à¹„ฟล์... +เพิ่มเข้าเอà¸à¸ªà¸²à¸£... +ทดสอบเอà¸à¸ªà¸²à¸£ +à¹à¸¢à¸à¹„ฟล์ที่นี่ +à¹à¸¢à¸à¹„ฟล์ไปที่ {0} +เพิ่มเข้า {0} +บีบอัดà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸µà¹€à¸¡à¸¥à¸¥à¹Œ... +บีบอัดเป็น {0} à¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸µà¹€à¸¡à¸¥à¸¥à¹Œ +2400 +โฟลเดอร์ +&โฟลเดอร์ที่ทำงานอยู่ +&โฟลเดอร์ต่างๆของระบบ +&โฟลเดอร์ปัจจุบัน +&ระบุ: +ใช้สำหรับไดรฟ์à¹à¸šà¸šà¸–อดได้เท่านั้น +ระบุที่ตั้งสำหรับไฟล์เอà¸à¸ªà¸²à¸£à¸Šà¸±à¹ˆà¸§à¸„ราว +2500 +à¸à¸³à¸«à¸™à¸” +à¹à¸ªà¸”งวัตถุ ".." +à¹à¸ªà¸”งไอคอนไฟล์ที่à¹à¸—้จริง +à¹à¸ªà¸”งเมนูระบบ +&เลือà¸à¹€à¸•็มà¹à¸–ว +à¹à¸ªà¸”ง &เส้นà¸à¸£à¸´à¸” +คลิà¸à¸„รั้งเดียวเพื่อเปิดไฟล์ +&โหมดà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¸­à¸·à¹ˆà¸™ +ใช้ &เพจความจำขนาดใหà¸à¹ˆ +2900 +เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š 7-Zip +7-Zip เป็นฟรีà¹à¸§à¸£à¹Œ อย่างไรà¸à¹‡à¸•าม คุณสามารถสนับสนุนà¸à¸²à¸£à¸žà¸±à¸’นาของ 7-Zip ได้โดยà¸à¸²à¸£à¸¥à¸‡à¸—ะเบียน เมื่อคุณเป็นผู้ใช้ที่ลงทะเบียนà¹à¸¥à¹‰à¸§ คุณจะได้รับà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸—างเทคนิคจาà¸à¹€à¸£à¸² +3000 +ระบบไม่สามารถใช้หน่วยความจำตามที่ระบุได้ +ไม่มีข้อผิดพลาด +{0} วัตถุที่เลือà¸à¹„ว้ +ไม่สามารถสร้างโฟลเดอร์ '{0}' +ปรับปรุงà¸à¸²à¸£à¸—ำงานไม่สนับสนุนสำหรับเอà¸à¸ªà¸²à¸£ +ไม่สามารถเปิดไฟล์ '{0}' เป็นเอà¸à¸ªà¸²à¸£à¹„ด้ +ไม่สามารถเปิดไฟล์ที่เข้ารหัสได้ '{0}' พาสเวิร์ดผิดหรือไม่? +ชนิดของไฟล์บีบอัดไม่รองรับ +ไฟล์ {0} มีอยู่à¹à¸¥à¹‰à¸§ +ไฟล์ '{0}' ได้ถูà¸à¸”ัดà¹à¸›à¸£à¹à¸¥à¹‰à¸§\nคุณต้องà¸à¸²à¸£à¸ˆà¸°à¸›à¸£à¸±à¸šà¸›à¸£à¸¸à¸‡à¹€à¸­à¸à¸ªà¸²à¸£à¸«à¸£à¸·à¸­à¹„ม่ +ไม่สามารถปรับปรุงไฟล์\n'{0}' +ไม่สามารถเปิดตัวà¹à¸à¹‰à¹„ขได้ +ไฟล์อาจเป็นไวรัส (ชื่อไฟล์มีช่องว่างยาว) +ไม่สามารถดำเเนินà¸à¸²à¸£à¹„ด้จาà¸à¹‚ฟลเดอร์ที่มีที่ตั้งยาว +ท่านต้องเลือà¸à¹„ฟล์ +ท่านต้องเลือà¸à¹„ฟล์หนึ่งไฟล์หรือมาà¸à¸§à¹ˆà¸² +มีวัตถุมาà¸à¹€à¸à¸´à¸™à¹„ป +3300 +à¸à¸³à¸¥à¸±à¸‡à¹à¸¢à¸à¹„ฟล์ +à¸à¸³à¸¥à¸±à¸‡à¸šà¸µà¸šà¸­à¸±à¸” +à¸à¸³à¸¥à¸±à¸‡à¸—ดสอบ +à¸à¸³à¸¥à¸±à¸‡à¹€à¸›à¸´à¸”... +à¸à¸³à¸¥à¸±à¸‡à¸ªà¹à¸à¸™... +3400 +à¹à¸¢à¸à¹„ฟล์ +à¹à¸¢à¸à¹„ฟล์ไปที่: +ระบุที่ตั้งสำหรับไฟล์ที่à¹à¸¢à¸à¸­à¸­à¸à¸¡à¸² +3410 +ที่ตั้ง +ชื่อที่ตั้งà¹à¸šà¸šà¹€à¸•็ม +ไม่มีชื่อที่ตั้ง +3420 +à¸à¸²à¸£à¸šà¸±à¸™à¸—ึà¸à¸—ับ +ถามà¸à¹ˆà¸­à¸™à¸¡à¸µà¸à¸²à¸£à¸šà¸±à¸™à¸—ึà¸à¸—ับ +บันทึà¸à¸—ับโดยไม่มีข้อความพร้อมรับ +ข้ามไฟล์ที่มีอยู่ +เปลี่ยนชื่ออัตโนมัติ +เปลี่ยนชื่อไฟล์ที่มีอยู่อัตโนมัติ +3500 +ยืนยันà¸à¸²à¸£à¹à¸—นที่ไฟล์ +โฟลเดอร์ปลายทางมีไฟล์ที่ได้ประมวลผลà¹à¸¥à¹‰à¸§ +คุณต้องà¸à¸²à¸£à¹à¸—นที่ไฟล์ที่มีอยู่หรือไม่ +ด้วย +{0} ไบต์ +เปลี่ยนชื่ออัตโนมัติ +3700 +ไม่รองรับวิธีà¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸”นี้สำหรับ '{0}' +ข้อมูลใน '{0}' ผิดพลาด ไฟล์ชำรุด +ซีอาร์ซีใน '{0}' ไม่สามารถใช้à¸à¸²à¸£à¹„ด้ ไฟล์ชำรุด +ข้อมูลในไฟล์บีบอัด '{0}' ผิดพลาด รหัสผ่านไม่ถูà¸à¸•้อง? + +3800 +ใส่รหัสผ่าน +ใส่รหัสผ่าน: +ใส่รหัสผ่านอีà¸à¸„รั้ง: +&à¹à¸ªà¸”งรหัสผ่าน +รหัสผผ่านไม่ตรง +ตั้งรหัสผ่านด้วยอัà¸à¸©à¸£à¸ à¸²à¸©à¸²à¸­à¸±à¸‡à¸à¸¤à¸© หรืออัà¸à¸‚ระ (!, #, $, ...) +รห้สผ่านยาวเà¸à¸´à¸™à¹„ป +รหัสผ่าน +3900 +ใช้เวลาไปà¹à¸¥à¹‰à¸§: +ต้องใช้เวลาอีà¸: +ขนาด: +ความเร็ว: +ดำเนินà¸à¸²à¸£à¹à¸¥à¹‰à¸§: +อัตราส่วนà¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸”: +ความผิดพลาด: +เอà¸à¸ªà¸²à¸£: +4000 +เพิ่มเข้าเอà¸à¸ªà¸²à¸£ +&เอà¸à¸ªà¸²à¸£: +&à¸à¸²à¸£à¸›à¸£à¸±à¸šà¸›à¸£à¸¸à¸‡: +รูปà¹à¸šà¸šà¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸”ที่ต้องà¸à¸²à¸£à¹ƒà¸Šà¹‰: +อัตราà¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸”: +&วิธีà¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸”: +&ขนาดดิคชันนารี: +&ขนาดอัà¸à¸©à¸£: +ขนาด Solid block: +จำนวน CPU threads: +&พารามิเตอร์: +ตัวเลือภ+สร้างเอà¸à¸ªà¸²à¸£ SFX +บีบอัดà¹à¸Šà¸£à¹Œà¹„ฟล์ +à¸à¸²à¸£à¹€à¸‚้ารหัส +วิธีà¸à¸²à¸£à¹€à¸‚้ารหัส: +สร้างรหัสผ่าน +หน่วยความจำที่ใช้ในà¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸”: +หน่วยความจำที่ใช้ในà¸à¸²à¸£à¹à¸•à¸à¸­à¸­à¸: +4050 +เà¸à¹‡à¸šà¹€à¸‰à¸¢à¹† +เร็วที่สุด +เร็ว +ปà¸à¸•ิ +ดี +ดีที่สุด +4060 +เพิ่มà¹à¸¥à¸°à¹à¸—นที่ไฟล์ +ปรับปรุงà¹à¸¥à¸°à¹€à¸žà¸´à¹ˆà¸¡ +ทำให้ไฟล์ที่มีอยู่ใช้à¸à¸²à¸£à¹„ด้ดีขึ้น +ทำให้ไฟล์ประสานà¸à¸±à¸™ +4070 +ค้นดู +ไฟล์ทั้งหมด +Non-solid +Solid +6000 +คัดลอภ+ย้าย +คัดลอà¸à¹„ปที่: +ย้ายที่: +à¸à¸³à¸¥à¸±à¸‡à¸„ัดลอà¸... +à¸à¸³à¸¥à¸±à¸‡à¸§à¸²à¸‡... +à¸à¸³à¸¥à¸±à¸‡à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸Šà¸·à¹ˆà¸­... +เลือà¸à¹‚ฟลเดอร์ที่ตั้ง +à¸à¸²à¸£à¸›à¸à¸´à¸šà¸±à¸•ิà¸à¸²à¸£à¹„ม่สนับสนุน +เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸Šà¸·à¹ˆà¸­à¹„ฟล์หรือโฟลเดอร์ +ยืนยันà¸à¸²à¸£à¸„ัดลอà¸à¹„ฟล์ +ท่านมั่นใจที่จะคัดลอà¸à¹„ฟล์ไปยังเอà¸à¸ªà¸²à¸£à¸«à¸£à¸·à¸­à¹„ม่ +6100 +ยืนยันà¸à¸²à¸£à¸¥à¸šà¹„ฟล์ +ยืนยันà¸à¸²à¸£à¸¥à¸šà¹‚ฟลเดอร์ +ยืนยันà¸à¸²à¸£à¸¥à¸šà¹„ฟล์à¹à¸šà¸šà¸„วบซ้อน +คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸„ุณต้องà¸à¸²à¸£à¸ˆà¸°à¸¥à¸šà¹„ฟล์ '{0}'? +คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸„ุณต้องà¸à¸²à¸£à¸ˆà¸°à¸¥à¸šà¹‚ฟลเดอร์ '{0}' à¹à¸¥à¸°à¸‚้อมูลของมันทั้งหมด +คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¸§à¸±à¸•ถุ {0} เหล่านี้ +à¸à¸³à¸¥à¸±à¸‡à¸¥à¸š... +เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸¥à¸šà¹„ฟล์หรือโฟลเดอร์ +ระบบไม่สามารถย้ายไฟล์ที่ชื่อที่ตั้งยาวไปยังถังขยะได้ +6300 +สร้างโฟลเดอร์ +สร้างไฟล์ +ชื่อโฟลเดอร์: +ชื่อไฟล์: +โฟลเดอร์ใหม่ +ไฟล์ใหม่ +เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹‚ฟลเดอร์ +เหิดข้อผิดพลาดในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹„ฟล์ +6400 +หมายเหตุ +&หมายเหตุ: +เลือภ+ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸ +ตัวพราง: +6600 +คุณสมบัติ +ประวัติโฟลเดอร์ +ข้อความวินิจฉัย +ข้อความ +7100 +คอมพิวเตอร์ +เครือข่าย +เอà¸à¸ªà¸²à¸£ +ระบบ +7200 +เพิ่มเข้า +à¹à¸¢à¸à¹„ฟล์ +ทดสอบ +คัดลอภ+ย้าย +ลบ +เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š +7300 +à¹à¸¢à¸à¹„ฟล์ +&à¹à¸¢à¸à¹„ปยัง: +ขนาดไฟล์ที่ต้องà¸à¸²à¸£à¹à¸šà¹ˆà¸‡, ไบต์: +à¸à¸³à¸¥à¸±à¸‡à¹à¸¢à¸... +ยืนยันà¸à¸²à¸£à¹à¸¢à¸ +ท่านมั่นใจว่าต้องà¸à¸²à¸£à¹à¸¢à¸à¹„ฟล์เป็น {0} volumes? +ขนาด Volume ต้องเล็à¸à¸à¸§à¹ˆà¸²à¸‚นาดไฟล์ต้นฉบับ +ขนาด volume ไม่ถูà¸à¸•้อง +ระบุขนาด volume: {0} ไบท์.\nท่านมั่นใจว่าต้องà¸à¸²à¸£à¹à¸šà¹ˆà¸‡à¹„ฟล์เป็น volumes ดังà¸à¸¥à¹ˆà¸²à¸§? +7400 +รวมไฟล์ +&รวมไปยัง: +à¸à¸³à¸¥à¸±à¸‡à¸£à¸§à¸¡... +เลือà¸à¹€à¸‰à¸žà¸²à¸°à¸ªà¹ˆà¸§à¸™à¹à¸£à¸à¸‚องไฟล์à¹à¸¢à¸ +ไม่สามารถตรวจพบไฟล์ว่าเป็นส่วนหนึ่งของไฟล์à¹à¸¢à¸ +ไม่สามารถหาไฟล์à¹à¸¢à¸à¹„ด้มาà¸à¸«à¸™à¸¶à¹ˆà¸‡ +7500 +à¸à¸³à¸¥à¸±à¸‡à¸„ำนวณ Checksum... +ข้อมูล Checksum +CRC checksum ของข้อมูล: +CRC checksum ของข้อมูลà¹à¸¥à¸°à¸Šà¸·à¹ˆà¸­: +7600 +เà¸à¸“ฑ์เปรียบเทียบสมรรถนะ +หน่วยความจำที่ใช้: +à¸à¸²à¸£à¸šà¸µà¸šà¸­à¸±à¸” +à¸à¸²à¸£à¸¢à¸à¹€à¸¥à¸´à¸à¸šà¸µà¸šà¸­à¸±à¸” +เà¸à¸“ฑ์ความสามารถ +เà¸à¸“ฑ์ความสามารถทั้งหมด +ปัจจุบัน +ผลà¸à¸²à¸£à¸›à¸£à¸°à¹€à¸¡à¸´à¸™ +à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ CPU +ประสิทธิภาพ /à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ +ข้อความ: diff --git a/Utils/7-Zip/Lang/tr.txt b/Utils/7-Zip/Lang/tr.txt new file mode 100644 index 000000000..c0f3ae379 --- /dev/null +++ b/Utils/7-Zip/Lang/tr.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : 2009-09-22 : X-FoRcE +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Turkish +Türkçe +401 +Tamam +İptal + + + +&Evet +&Hayır +&Kapat +Yardım + +De&vam et +440 +Tümüne E&vet +Tümüne Ha&yır +Dur +Tekrar baÅŸlat +&Arka planda +Ö&nde +&Duraklat +Duraklatıldı - +İptal edilsin mi? +500 +&Dosya +Dü&zenle +Gö&rüntüle +Sı&k Kullanılanlar +&Araçlar +&Yardım +540 +&Aç +Pa&nelde Aç +Pence&rede Aç +&Görüntüle +Dü&zenle +Yeni a&d ver +K&opyala +&Taşı +&Sil +&Parçala... +&BirleÅŸtir... +Öz&ellikler +Açıkla&ma +Toplam checksum hesapla +Fark +Yeni k&lasör +Yeni dos&ya +Çı&k +600 +&Tümünü seç +Tüm seçimi ka&ldır +&Aksini seç +Seç... +Seçimi kaldır... +Bu uzantıyı seç +Uzantılı seçimi kaldır +700 +&Büyük Simgeler +&Küçük Simgeler +&Liste +&Detaylar +730 +Sırasız +Düz Görünüm +&2 Panel aç +&Araç çubukları +Kök Klasörü Aç +Bir Seviye Yukarı +Klasör GeçmiÅŸi... +&Yenile +750 +ArÅŸiv çubuÄŸu +Standart çubuk +Büyük düğmeler +Düğme metinleri görünsün +800 +Geçerli &klasörü ekle +Yer +900 +&Seçenekler... +&Performans ölçümü +960 +İç&indekiler... +7-Zip &Hakkında... +1003 +Yol +Ad +Uzantı +Klasör +Boyut +ArÅŸivde boyutu +Öznitelikler +OluÅŸturma +EriÅŸim +DeÄŸiÅŸtirme +Katı +Açıklanmış +ÅžifrelenmiÅŸ +Önceki parça +Sonraki parça +Sözlük +CRC +Tür +Anti +Sıkıştırma ÅŸekli +İşletim sistemi +Dosya Sistemi +Kullanıcı +Grup +Blok +Açıklama +Konum +Yol Öneki +Klasörler +Dosyalar +Sürüm +Cilt +Çoklu Cilt +Konum +BaÄŸlantılar +Bloklar +Ciltler + +64-bit +Big-endian +İşlemci +Fiziksel Boyut +BaÅŸlık Boyutu +Checksum +Karakteristik +Sanal Adres +ID +Kısa İsim +OluÅŸturan Yazılım +Kesim Boyutu +Biçim +BaÄŸlantı +Hata +Toplam Boyut +BoÅŸ Alan +Küme Boyutu +Etiket +Yerel Ad +SaÄŸlayıcı +2100 +Seçenekler +Dil +Dil: +Düzenleyici +Metin &düzenleyici: +&Fark: +2200 +Sistem +7-Zip ile iliÅŸkilendir: +2301 +İçerik menülerinde 7-Zip görünsün +Kademeli içerik menüsü +İçerik menü öğeleri: +2320 + + +ArÅŸivi aç +Dosyaları çıkart... +ArÅŸivle... +ArÅŸivi sına +Burada çıkart +{0} klasörüne çıkart +{0} olarak arÅŸivle +Sıkıştırıp postala... +{0} olarak sıkıştır ve postala +2400 +Klasörler +Ça&lışma klasörü +&Sistem TEMP klasörü +&Geçerli klasör +&Belirtilen klasör: +Sadece çıkarılabilen sürücüler için kullan +Geçici arÅŸiv dosyaları için bir yer belirleyin. +2500 +Ayarlar +".." öğesi görünsün +Gerçek dosya simgeleri görünsün +Sistem menüsü görünsün +&Tüm satır seçilsin +Tabl&o çizgileri görünsün +Öğeyi açmak için tek tıkla +&Alternatif seçim kipi +GeniÅŸ &bellek sayfaları kullan +2900 +7-Zip hakkında +7-Zip özgür bir yazılımdır. Ancak, kayıt olarak 7-zip geliÅŸtirme faaliyetine destek olabilirsiniz. +3000 +Sistem gerekli belleÄŸi ayarlayamadı +Hata yok. +{0} adet öğe seçili +'{0}' klasörü oluÅŸturulamıyor +Bu arÅŸiv üzerinde güncelleme yapamazsınız. +'{0}' arÅŸiv dosyası olarak açılamıyor. +'{0}' dosyası açılamıyor. Åžifreniz yanlış olabilir mi? +Desteklenmeyen arÅŸiv tipi +Dosya {0} zaten mevcut +'{0}' dosyası deÄŸiÅŸmiÅŸ.\nArÅŸivde güncellensin mi? +'{0}' dosyası güncellenemedi +Metin düzenleyici baÅŸlatılamadı. +Bu dosya virüs gibi görünüyor.(Dosya ismi uzun boÅŸluk içeriyor). +The operation cannot be called from a folder that has a long path. +Bir dosya seçmelisiniz +Bir veya daha fazla dosya seçmelisiniz +Çok fazla öğe +3300 +çıkartılıyor +sıkıştırılıyor +Sınanıyor +açılıyor... +Taranıyor... +3400 +Çıkart +&Çıkartılacak yer: +Çıkartılacak dosyalar için bir yer belirleyin. +3410 +Yol adları +Tam yol adları +Yol adları olmasın +3420 +Olan dosyalar +Üzerine yazmak için sor +Sormadan üzerine yaz +Çıkartma +ArÅŸivdekilere yeni ad ver +Olanlara yeni ad ver +3500 +Üzerine Yazma Durumu +Hedef klasörde bu adla bir dosya var. Üzerine yazılsın mı? +Mevcut dosya: +Çıkartılan dosya: +{0} bayt +&Yeni ad ver +3700 +'{0}' için sıkıştırma ÅŸekli tanınamadı. +'{0}' bozuk. (Veri hatası) +'{0}' bozuk. (CRC hatası) +ÅžifrelenmiÅŸ '{0}' dosyası hatalı. Åžifreniz yanlış olabilir mi? +'{0}' dosyasında CRC hatası. Åžifreniz yanlış olabilir mi? +3800 +Parola GiriÅŸi +Parolayı girin: +Åžifre tekrarı: +Par&ola görünsün +Åžifreler birbiriyle uyuÅŸmuyor. +Åžifre için İngilizce harfler, sayılar ve özel karekterden (!, #, $, ...) kullanabilirsiniz. +Åžifre çok uzun +Parola +3900 +Geçen süre: +Kalan süre: +Boyut: +Hız: +İşlenen: +Sıkıştırma oranı: +Hatalı: +ArÅŸivler: +4000 +ArÅŸivle +&ArÅŸiv: +&Güncelleme ÅŸekli: +ArÅŸiv &biçimi: +Sıkıştırma dü&zeyi: +Sı&kıştırma ÅŸekli: +&Sözlük boyutu: +Ke&lime boyutu: +Aralıksız blok boyutu: +İşlemci iÅŸ parçası sayısı: +&Parametreler: +Seçenekler +Ke&ndi çıkartsın (SFX) +Paylaşılan dosyaları sıkıştır +Åžifreleme +Åžifreleme metodu: +Dosya adlarını ÅŸi&frele +Bellek kullanımı (Sıkıştırma): +Bellek kullanımı (Çözme): +4050 +Sıkıştırmasız +En hızlı +Hızlı +Normal +Maksimum +Ultra +4060 +Dosyaları ekle, olanları çıkart +Dosyaları ekle, eskileri güncelle +Sadece eskileri güncelle +Dosyaları eÅŸitle +4070 +Gözat +Tüm dosyalar +Aralıklı +Aralıksız +6000 +Kopyala +Taşı +Kopyalanacak yer: +Taşınacak yer: +Kopyalanıyor... +Taşınıyor... +Dosya Adı DeÄŸiÅŸtiriliyor... +Hedef klasörü seçiniz. +Bu klasör için istenen iÅŸlem desteklenmiyor. +Dosya veya Klasör Adlandırma Hatası +Kopyalama Onayı +Dosyalar arÅŸive kopyalansın mı +6100 +Dosya Silme Onayı +Klasör Silme Onayı +Birden Fazla Dosya Silme Onayı +'{0}' silinsin mi? +'{0}' klasörü ve içindekiler silinsin mi? +{0} silinsin mi? +Siliniyor... +Dosya veya Klasör Silme Hatası +Dosya yolu uzun olduÄŸundan Geri Dönüşüm Kutusuna taşınamıyor +6300 +Yeni klasör +Yeni dosya +Klasör adı: +Dosya Adı: +Yeni Klasör +Yeni Dosya +Klasör OluÅŸturma Hatası +Dosya OluÅŸturma Hatası +6400 +Açıklama +&Açıklama: +Seç +Seçimi kaldır +Seçim ifadesi: +6600 +Özellikler +Klasör GeçmiÅŸi +Tanılayıcı iletiler +İleti +7100 +Bilgisayar +AÄŸ +Belgeler +Sistem +7200 +ArÅŸivle +Çıkart +Sına +Kopyala +Taşı +Sil +Bilgi +7300 +Parçala +Åžu &klasörde parçala: +Bayt/&cilt olarak parçala: +Parçalanıyor... +Silmeyi onaylayın +Dosyayı {0} parçaya ayırmak istediÄŸinizden emin misiniz? +Parça büyüklüğü, orjinal dosya boyutundan küçük olmalıdır +Yanlış cilt boyutu +Belirtilen cilt boyutu: {0} bayt.\nBu boyutta ciltlere ayırmak istediÄŸinize emin misiniz? +7400 +BirleÅŸtir +Åžu &klasörde birleÅŸtir: +BirleÅŸtiriliyor... +Sadece ilk parçayı seçiniz +Parçalanan dosya tespit edilemedi +Parçalanmış dosyanın bir parçadan fazlası bulunamadı +7500 +Checksum deÄŸeri hesaplanıyor... +Checksum bilgisi +Verinin CRC deÄŸeri: +Verinin CRC deÄŸeri ve isimler: +7600 +Bilgisayar performansı +Bellek kullanımı: +Sıkıştırılıyor +Çözülüyor +Puan +Toplam Puan +Mevcut +Sonuç +İşlemci kullanımı +Puan / Kullanım +BaÅŸarılı: diff --git a/Utils/7-Zip/Lang/tt.txt b/Utils/7-Zip/Lang/tt.txt new file mode 100644 index 000000000..878f6cec0 --- /dev/null +++ b/Utils/7-Zip/Lang/tt.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.16 : Amychok : (Ne laÅ­diÄu ke vi scias multajn lingvojn hontu ke vi ne scias patran lingvon) +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Tatar +Татарча +401 +Ярый +Юкка чыгару + + + +&Әйе +Юк& +&Ябырга +Ярдәм + +&Бару +440 +&БарыÑынга әйе +БарыÑынга юк +Стоп +Яңадан +&Җирлектә +&Ðлга +&Тыныш +Тынышта +Сезгә чынлап киләме операциÑне өзәргә? +500 +&Файл +&Төзәтү +&КыÑфәт +&Сайланма +&Кораллар +&Белешмә +540 +&Ðчырга +&Ðчырга Ñчендә +&Ðчырга тышында +&Карау +&РедакциÑләү +ИÑе&м үзгәрү +&Кабатларга монда... +&Күчәрергә монда... +&Бетерергә +&Ватырга файлны... +Берләштерергә &файлларны... +&Үзлекләр +&Ðңлатма +Тикшерү җыелма +Diff +&ЯÑарга папканы... +&ЯÑарга файлны... +&Чыгу +600 +&Сайларга бөтенеÑене +Сайлануны алырга +&Сайлануны әйләндерергә +Сайларга +Сайлануны алырга +Сайларга төр буенча +Ðлырга Ñайлануны төр буенча +700 +&Зур галәмәтләр +&Вак галәмәтләр +&ИÑемлек +&Җәдвәл +730 +СортлауÑыз +ЯÑÑÑ‹ тарыз +&2 тәрәзә +&Кораллар тактаÑÑ‹ +Ðчырга тамыр папканы +Бер дәрәҗәгә Ó©Ñкәрәк +Элеккеге папкалар... +&Яңартырга +750 +Ðрхивчының кнопкалар тактаÑÑ‹ +Кнопкаларның Ñтандарт тактаÑÑ‹ +Зур кнопкалар +Язмалар кнопкаларда +800 +&Ó¨Ñтәрге папканы Ñайланмага, көбәк: +Китап битбилге +900 +&Көйләр... +&Җитештерүчәнлекне cыналу +960 +&Эчтәлек... +7-Zip &турында... +1003 +Юл +ИÑем +Киңәеш +Папка +Зурлык +КыÑык +Үзенчәлекләр +ЯÑалган +Ðчылган +Үзгәртелгән +Бөтен +Ðңлатма +Шифрланган +Ватылган моңа кадәр +Ðннан Ñоң ватылган +Сүзлек +CRC +Төр +Каршы +ЫÑул +СиÑтема +Файл ÑиÑтема +Кулланучы +төркем +Блок +ТәфÑир +Торыш +Юл +Папка +Файл +Сүрүм +Том +Күп томлы +Күченү +Сылтамалар +Блок +Том + +64-бит +Big-endian +Барыштыручы +Физик Зурлыгы +Сәрләүхәрнең зурлыгы +тикшерү җыелма +Сыйфатламалар +Санал ÐдреÑÑ‹ +ID +КыÑка ИÑеме +ЯÑаучы +Бүлемтекнең Зурлыгы +Тарыз +Сылтама +Ялгыш +Сыемлык +Буш +Күмәк зурлыгы +Тамга +Урындагы иÑеме +Җибәрүче +2100 +Көйләр +Тел +Тел: +Мөхәрир +&Мөхәрир: +&Diff: +2200 +СиÑтема +7-Zip бәйләргә: +2301 +Тыгарга 7-Zip'ны Ñрының контекÑÑ‚ менюга +КаÑкадлы контекÑÑ‚ меню +Баглам меню гонÑырлар: +2320 +<Папка> +<Ðрхив> +Ðрхив ачу +Чишү +Ðрхивка Ó©Ñтәрге +Сынарга +Чишенергә монда +Чишенергә: {0}' папкага +Ó¨Ñтәрге: {0}ка +КыÑып җибәрергә e-mail аша... +КыÑып {0}ка, җибәрергә e-mail аша +2400 +Папкалар +&Эш папка +&СиÑтеманың вакытлы папкаÑÑ‹ +&Ðгымдагы +&КүрÑәтергә: +Файдаланырга алмаш таратучылар өчен генә +Сайлагыз урыны вакытлы архивларга +2500 +Көйләр +КүрÑәтергә гонÑырны".." +КүрÑәтергә чынбарлык файлларның Ñынчыкларны +КүрÑәтергә ÑиÑтем меню +КүрÑәткечне бөтен юлга +КүрÑәтергә бүлгечләрне +Ðчырга чиртү белән +Ðльтернатив билге тарызы +Файдаланырга иÑнең зур битләр белән +2900 +7-Zip программа турында +Программа 7-Zip тараттылыра бушлай +3000 +Буш иÑе җитми +Ялгышлар юк +{0} объект Ñайлаган +Ðрхив ÑÑап булмады: {0} +Бу архив өчен үзгәртү операциÑләр Ñшләмилер. +Файл ачып булмады '{0}' архив кебек +Шифрлы архив ацып булмады '{0}'. Пароль туры килмәде? +Программа бу архив төрә белән Ñшләми +Файл {0} бар инде +Файл '{0}' үзгәргән иде.\nСезгә килә Ñңартырга аны архивта? +Файл Ñңартып булмады\n'{0}' +Мөхәрирне җибәреп булмады. +Файл вируÑка охшаган (файл иÑемендә озын аралар Ñзлеклелеге бар). +ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð±Ð°ÑˆÐºÐ°Ñ€Ñ‹Ð»Ð³Ð°Ð½Ð³Ð° булдыралмы папкадан озын юл бөлән. +Сез бер файл Ñайларга тиеш +Сез бер Ñ Ð±ÐµÑ€Ð½Ð¸Ñ‡Ó™ файл Ñайларга тиеш +ГонÑырлар артык күп +3300 +Чишү +КыÑу бара +Сынау +Ðчу... +Тарау... +3400 +Чыгарырга +Чишенергә монда: +КүрÑәтегәз чыгара торган файлларга урынны. +3410 +Юллар +&Тулы юллар +ЮлларÑыз +3420 +Ðлмаш +РаÑлау белән +РаÑлауÑыз +Үткәрергә +ИÑем үзгәрү автом. +ИÑем. үзгәр. автом. +3500 +Файл алмаштыруга раÑлау +Эшкертү торган файл папкада бар инде. +Ðлмаштырырга бар файлны +бу файл белән? +{0} байт +ИÑем үзгәрү автом. +3700 +Бу кыÑу Ñ‹Ñулы файл өчен кулланылмы '{0}'. +Ялгыш мәгълүмәтләрдә '{0}'. Файл бозылган. +Ялгыш CRC'да '{0}'. Файл бозылган. +Ялгыш шифрлы файл мәгълүмәтләрдә '{0}'. Пароль дөреÑме? +Ялгыш шифрлы файл CRC'да '{0}'. Пароль дөреÑме? +3800 +Пароль Ñзу +&Языгыз пароль: +&Кабатлагыз парольны: +&КүрÑәтергә пароль +Парольлар тиңÑез +Парольга Ñзыгыз латин әлифбаÑын галәмәтләрне гына, Ñаннар һәм махÑÑƒÑ Ð³Ð°Ð»Ó™Ð¼Ó™Ñ‚Ð»Ó™Ñ€Ð½Ðµ (!, #, $, ...) +Пароль бик озын +Пароль +3900 +Узган: +Калган: +Барлыгы: +Тизлек: +Зурлыгы: +КыÑу катылыгы: +Ялгыш: +Ðрхив: +4000 +Ðрхивка Ó©Ñтәрге +&Ðрхив: +&Үзгәртү тарызы: +Ðрхив форматы: +&КыÑу дәрәҗәÑе: +&КыÑу Ñ‹Ñулы: +&Лөгать зурлыгы: +&Cүз зурлыгы: +Блок зурлыгы: +Ðгымнарның иÑәбе: +&Параметрлар: +ОпциÑләр +ЯÑарга SF&X-архив +КыÑарга Ñздыруга ачкан файлларны +Шифрлау +Шифрлау Ñ‹Ñулы: +&Шифрларга файллар иÑемнәрне +ИÑнең күләме урау өчен: +ИÑнең күләме Чишү өчен: +4050 +КыÑмаÑка +Бик тиз +Тиз +Гадәти +Иң зур +Ультра +4060 +Ó¨Ñтәрге һәм алмаштырырга +Яңартырга һәм Ó©Ñтәрге +Яңартырга +Синхронлаштыру +4070 +Ðктарырга +Бөтен файллар +Файл зурлыгына Ñайларга +ӨзлекÑез +6000 +Кабатларга +Күчәрергә +Кабатларга монда: +Күчәрергә монда: +Кабатлану... +Күчү... +ИÑем үзгәрү... +КүрÑәтегәз папканы. +Бу папка өчен Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ ÐºÑƒÐ»Ð»Ð°Ð½Ñ‹Ð»Ð¼Ñ‹. +Ялгыш файлның\папканың иÑем үзгәрү чакта +Файлларны кабатларга раÑлау +Сезгә чын киләме кабатларга бу файлларны архивка +6100 +Файл бетерүгә раÑлау +Папка бетерүгә раÑлау +Файллар төркемне бетерүгә раÑлау +Сезгә чын киләме бетерергә "{0}"? +Сезгә чын киләме бетерергә папканы "{0}" һәм өчендәге файлларны? +Сезгә чын киләме бетерергә бу объектларны ({0} данә)? +Бетерү... +Ялгыш файлны/папканы бетерүдә +Файллар бетерүне озын юллар белән кәрзингә ÑиÑтема кулланылмы +6300 +ЯÑарга папканы +ЯÑарга файл +Папка иÑеме: +Файл иÑеме: +Яңа папка +Яңа файл +Ялгыш папка ÑÑаганда +Ялгыш файл ÑÑаганда +6400 +Ðңлатма +&Ðңлатма: +Сайларга +Ðлырга Ñайлануны +Үрнәк: +6600 +Үзлекләр +Элеккеге папкалар +Игъланнар +Игълан +7100 +Санак +Челтәр +Кәгазләр +СиÑтема +7200 +Ó¨Ñтәрге +Чыгарырга +Сынарга +Кабатларга +Күчәрергә +Бетерергә +Хәбәр +7300 +Өзергә файлны +&Өзергә монда: +&Ватырга томларга, шундый зурлыгы бөлән, байт: +Өзелү... +Өзелүгә раÑлау +Сезгә чын киләме өзергә файл {0} бүләккә? +Том зурлыгы чыгыш файлдан азрак булырга тиеш +Ялгыш томлар зурлыкны күрÑәтү кырда +Тәгаенле том зурлыгы: {0} байт.\nСезгә чын киләме архив өзергә шундый томларга? +7400 +Берләштерергә файлларны +&Берләштерергә монда: +Берләштерү... +Кирәк Ñайларга өзелгән файлның беренче бүләкне гына +Өзелгән файлны белеп булмады +Өзелгән файлның табылган бер бүләк гәне +7500 +ХиÑаплау тикшерү җыелманы... +Тикшерү җыелма +CRC'ның тикшерү җыелмаÑÑ‹ мәгълүматлар өчән: +CRC'ның тикшерү җыелмаÑÑ‹ мәгълүматлар һәм иÑемнәр өчән: +7600 +Җитештерүчәнлекне cыналу +ИÑнең күләме: +Урау +Чишү +Шөһрәтлелек +Гомуми шөһрәтлелек +Ðгымдагы +Ðәтиҗәле +Куллану +Шөһрәтлелек / Куллану. +Узу: diff --git a/Utils/7-Zip/Lang/ug.txt b/Utils/7-Zip/Lang/ug.txt new file mode 100644 index 000000000..6257c0708 --- /dev/null +++ b/Utils/7-Zip/Lang/ug.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4.59 : Sahran +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Uyghur +ئۇيغۇرچە +401 +جەزملە +ۋاز ÙƒÛ•Ú† + + + +(&Y)ھەئە +ياق(&N) +ياپ(&C) +ياردەم + +داۋاملاشتۇر(&C) +440 +ھەممىسى ھەئە(&A) +ھەممىسى ياق(&L) +توختا +قايتا باشلا +ئارقا سۇپا(&B) +ئالدى سۇپا(&F) +ۋاقىتلىق توختا(&P) +ۋاقىتلىق توختىتىلدى +راستىنلا ۋاز ÙƒÛچەمسىز؟ +500 +ھۆججەت(&F) +تەھرىر(&E) +كۆرۈنۈش(&V) +يىغقۇچ(&A) +قورال(&T) +ياردەم(&H) +540 +ئاچ(&O) +نۆۋەتتىكى كۆزنەكتە ئاچ(&I) +ÙŠÛÚ­Ù‰ كۆزنەكتە ئاچ(&U) +كۆرۈنۈش(&V) +تەھرىر(&E) +ئات ئۆزگەرت(&M) +كۆچۈرۈش ئورنى(&C)… +يۆتكەش ئورنى(&M)… +ئۆچۈر(&D) +ھۆججەت پارچىلا(&S)… +ھۆججەت بىرلەشتۈر(&B)… +خاسلىق(&R) +ئىزاھات(&N) +ھۆججەت دەلىللە + +ÙŠÛÚ­Ù‰ قىسقۇچ +ÙŠÛÚ­Ù‰ ھۆججەت +Ú†Ûكىن(&X) +600 +ھەممىنى تاللا(&A) +ھەممىنى تاللىما +ئەكسىچە تاللا(&I) +تاللا… +ئەكسىچە تاللا… +ئوخشاش تۈردىكى ھۆججەتنى تاللا +ئوخشاش تۈردىكى ھۆججەتنى ئەكسىچە تاللا +700 +Ú†ÙˆÚ­ سىنبەلگە(&G) +كىچىك سىنبەلگە(&M) +تىزىملىك(&L) +تەپسىلىي(&D) +730 +تەرتىپلەنمىگەن +تەكشىلىك كۆرۈنۈش +&2 يۈز +قورال ستونى(&T) +غول قىسقۇچنى ئاچ +يۇقىرىغا +قىسقۇچ تارىخى… +ÙŠÛڭىلا(&R) +750 +پرىس قورال ستونى +ئۆلچەملىك قورال ستونى +Ú†ÙˆÚ­ كۇنۇپكا +كۇنۇپكا Ø®ÛØªÙ‰Ù†Ù‰ كۆرسەت +800 +يىغقۇچقا قوش(&A) +خەتكۈچ +900 +تاللانما(&O)… +ئۆلچەملىك سىناش(&B) +960 +مۇندەرىجە(&C)… +7-Zip (&A)ھەققىدە +1003 +يول +ئاتى +ÙƒÛڭەيتىلگەن ئاتى +قىسقۇچ +چوڭلۇقى +بوغچا چوڭلۇقى +خاسلىق +قۇرغان ۋاقىت +زىيارەت ۋاقتى +ئۆزگەرتكەن ۋاقىت +پۇختا +ئىزاھات +شىÙىرلانغان +ئاۋال پارچىلا +ÙƒÛيىن پارچىلا +لۇغەت +CRC +تىپى +قارشى +ئۇسۇل +ئاساسىي مەشغۇلات سىستÛمىسى +ھۆججەت سىستÛمىسى +ئىشلەتكۈچى +گۇرۇپپا +بۆلەك +ئىزاھات +ئورۇن +يول ئالدى قوشۇلغۇچى +قىسقۇچ +ھۆججەت +نەشرى +ئەن +ÙƒÛ†Ù¾ ئەن +ئورۇن ھالقىش +ئۇلانما +بۆلەك +ئەنلەش + +64-bit +Big-endian +CPU +Ùىزىكىلىق چوڭلۇقى +ھۆججەت باشى چوڭلۇقى +يىغىندا تەكشۈر +ئالاھىدىلىك +Ù…Û•Û‹Ú¾Û‡Ù… Ø¦Ø§Ø¯Ø±ÛØ³ + + + + + + +خاتالىق +ئومۇمى سىغىمى +ئىشلىتىلىشچان بوشلۇق +توپلاشتۇرغۇچ چوڭلۇقى +ئەن +يەرلىك ئاتى +تەمىنلىگۈچى +2100 +تاللانما +تىل +تىل: +تەھرىرلىگۈچ +تەھرىرلىگۈچ(&E): + +2200 +سىستÛما +7-Zip بىلەن باغلانغان ھۆججەت تىپى: +2301 +7-Zip نى ئوڭ كۇنۇپكا تىزىملىكىگە قوش +ئوڭ تىزىملىكنى دەستىلە +ئوڭ تىزىملىكتە كۆرۈنىدىغان تۈرنى تاللاش +2320 +<قىسقۇچ> +<پرىس> +پرىس ئاچ +ھۆججەت يەش… +پرىسقا قوش +پرىس سىنا +مۇشۇ يەرگە ÙŠÛ•Ø´ +{0} غا يەش‪‬ +{0}‬ غا قوش ‪ +پرىس Û‹Û• ئÛلخەت… +‬ غا پرىسلاپ ئÛلخەتتە يوللا +2400 +قىسقۇچ +خىزمەت مۇندەرىجىسى(&W) +(&S)سىستÛما ۋاقىتلىق قىسقۇچ +(&C)نۆۋەتتىكى +(&S)بەلگىلەنگەن قىسقۇچ: +يان دىسكىغىلا ئىشلىتىلىدۇ +پرىس ھۆججىتىنى ÙŠÛØ´Ù‰Ø¯Ù‰ØºØ§Ù† ۋاقىتلىق ئورۇندىن بىرنى بەلگىلەڭ. +2500 +تەڭشەك +كۆرسەت“..â€ØªÛˆØ± +ھەقىقىي ھۆججەت سىنبەلگىسى كۆرسەت +سىستÛما تىزىملىكىنى كۆرسەت +پۈتۈن قۇر تاللا(&F) +Ø³ÛØªÙƒØ§ كۆرسەت(&G) + +شەيئى تاللاش مودىلى(&A) +Ú†ÙˆÚ­ ئەسلەك Ø¨ÛØªÙ‰ ئىشلەت(&L) +2900 +‎7-Zip†ھەققىدە +â€7-Zip â€Ú¾Û•قسىز Ø¯ÛØªØ§Ù„. ئەمما تىزىملىتىش ئارقىلىق ئۇنى ئÛچىشنى قوللىسىڭىز بولىدۇ. +3000 +سىستÛما لازىملىق ئەسلەكنى تەقسىملىيەلمەيدۇ +خاتالىق يوق +{0} تۈر تاللاندى +“{0}†قىسقۇچ قۇرالمايدۇ +بۇ پرىس ÙŠÛڭىلاش مەشغۇلاتىنى قوللىمايدۇ +'{0}' ھۆججەتنى پرىس سۈپىتىدە ئاچالمايدۇ +'{0}' شىÙىرلانغان پرىسنى ئاچالمايدۇ. ئىم خاتا +قوللىمايدىغان پرىس تÛپى +{0} ھۆججەت مەۋجۇد +“{0}â€Ø¦Û†Ø²Ú¯Û•رتىلدى\nپرىس ھۆججىتىدە ÙŠÛڭىلامسىز؟ +“{0}â€Ú¾Û†Ø¬Ø¬Û•تنى ÙŠÛڭىلىيالمىدى\n +تەھرىرلىگۈچنى قوزغىتالمىدى +بۇ ھۆججەت ۋىرۇستەك تۇرىدۇ (ھۆججەت ئاتىدا ÙƒÛ†Ù¾ بوشلۇق بار) +يولى ئۇزۇن قىسقۇچقا بۇ مەشغۇلاتنى ئÛلىپ بارالمايدۇ. +چوقۇم ھۆججەتتىن بىرنى تاللاڭ +چوقۇم بىر ياكى بىر قانچە ھۆججەت تاللاڭ +تۈر بەك ÙƒÛ†Ù¾ +3300 +ÙŠÛØ´Ù‰Û‹Ø§ØªÙ‰Ø¯Û‡ +پرىسلاۋاتىدۇ +سىناۋاتىدۇ +ئÛچىۋاتىدۇ… +ئىزدەۋاتىدۇ… +3400 +ÙŠÛ•Ø´ +ÙŠÛØ´Ù‰Ø´ ئورنى(&X): +ھۆججەت ÙŠÛØ´Ù‰Ø¯Ù‰ØºØ§Ù† جايدىن بىرنى كۆرسىتىڭ +3410 +يول مودÛلى +تولۇق يول ئاتى +يول ئاتى يوق +3420 +قاپلاش مودÛلى +قاپلاشتىن بۇرۇن سورا +ئەسكەرتمەي قاپلا +مەۋجۇد ھۆججەتتىن ئاتلا +ئۆزلۈكىدىن ئاتىنى ئۆزگەرت +مەۋجۇد ھۆججەت ئاتىنى ئۆزگەرت +3500 +ھۆججەت ئالماشتۇرۇشنى جەزملە +بۇ قىسقۇچ ئوخشاش ئاتلىق ھۆججەتتىن بىرنى ئۆز ئىچىگە ئالغان +بۇنىڭغا مەۋجۇد ھۆججەتنى +ئالماشتۇرامسىز؟ +{0} بايت +ئۆزلۈكىدىن ئات ئۆزگەرت(&U) +3700 +{0} قوللىمايدىغان پرىسلاش مودÛلى +“{0}†سانلىق مەلۇمات خاتا. ھۆججەت بۇزۇلغان +“{0}†ئورۇندىكى CRC تەكشۈرۈش مەغلۇپ بولدى، ھۆججەت بۇزۇلغان +»{0}« شىÙىرلانغان ھۆججەت سانلىق مەلۇماتىدا خاتالىق بار، ئىم خاتا. +“{0}†شىÙىرلانغان ھۆججەت CRC سانلىق مەلۇمات دەلىللەشتە خاتالىق بار، ئىم خاتا. +3800 +ئىم كىرگۈزۈڭ +ئىم كىرگۈزۈڭ: +ئىمنى قايتا كىرگۈزۈڭ +ئىم كۆرسەت(&S) +ئىم ماس كەلمىدى +(!ã€#ã€$...)ئىمغا ئىنگلىزچە ھەرپ، سان Û‹Û• ئالاھىدە ھەرپ-بەلگىلەرلا ئىشلىتىلىدۇ +ئىم بەك ئۇزۇن +ئىم +3900 +كەتكەن ۋاقىت: +قالغان ۋاقىت: +ئومۇمىي چوڭلۇقى: +سۈرئىتى: +بىر تەرەپ قىلىندى: +پرىس نىسبىتى: +خاتالىق: +پرىس: +4000 +پرىسقا قوش +پرىس(&A): +ÙŠÛڭىلاش مودÛلى(&U): +پرىسلاش شەكلى(&F): +پرىسلاش دەرىجىسى(&L): +پرىسلاش مودÛلى(&M): +لۇغەت چوڭلۇقى(&D): +سۆز چوڭلۇقى(&W): +مۇقىم سانلىق مەلۇمات چوڭلۇقى: +CPU ئÛقىم سانى : +Ù¾Ø§Ø±Ø§Ù…ÛØªÙ‰Ø±(&P): +تاللانما +ئۆزى ÙŠÛØ´Ù‰Ù„ىدىغان پرىس ياسا(&X) +ھەمبەھىر ھۆججەت پرىسلا +شىÙىرلاش +شىÙىرلاش ئۇسۇلى: +شىÙىرلىق ھۆججەت ئاتى(&N) +پرىسلاشقا ÙƒÛØ±Û•كلىك ئەسلەك: +ÙŠÛØ´Ù‰Ø´ÙƒÛ• ÙƒÛØ±Û•كلىك ئەسلەك: +4050 +ساقلا +ئەڭ ØªÛØ² +ØªÛØ² +نورمال +ئەڭ Ú†ÙˆÚ­ +ئەڭ زور چەكتە +4060 +ھۆججەت قوش Û‹Û• ئالماشتۇر +ھۆججەت ÙŠÛڭىلا Û‹Û• قوش +مەۋجۇد ھۆججەتنى ÙŠÛڭىلا +ھۆججەت قەدەمداشلا +4070 +كۆز يۈگۈرت +ھەممە ھۆججەت +مۇقىمسىز +مۇقىم +6000 +كۆچۈر +يۆتكە +كۆچۈرۈش ئورنى: +يۆتكەش ئورنى: +كۆچۈرۈۋاتىدۇ… +يۆتكەۋاتىدۇ… +ئاتىنى ئۆزگەرتىۋاتىدۇ… +نىشان قىسقۇچ تاللاڭ +نۆۋەتتىكى مەشغۇلاتنى قوللىمايدۇ +ھۆججەت ياكى قىسقۇچ ئاتىنى ئۆزگەرتىش خاتالىقى +ھۆججەت كۆچۈرۈشنى جەزملە +ھۆججەتنى پرىسقا راستىنلا كۆچۈرەمسىز؟ +6100 +ھۆججەت ئۆچۈرۈشنى جەزملە +قىسقۇچ ئۆچۈرۈشنى جەزملە +ÙƒÛ†Ù¾ ھۆججەت ئۆچۈرۈشنى جەزملە +“{0}†راستىنلا ئۆچۈرەمسىز؟ +“{0}†قىسقۇچ Û‹Û• مەزمۇننى راستىنلا ئۆچۈرەمسىز؟ +{0} تۈرنى راستىنلا ئۆچۈرەمسىز؟ +ئۆچۈرۈۋاتىدۇ… +قىسقۇچ ياكى ھۆججەت ئۆچۈرۈش خاتالىقى +سىستÛما يولى ئۇزۇن بولغان ھۆججەتنى ئەخلەتخاناغا يۆتكىيەلمەيدۇ +6300 +قىسقۇچ قۇر +ھۆججەت قۇر +قىسقۇچ ئاتى +ھۆججەت ئاتى +ÙŠÛÚ­Ù‰ قىسقۇچ +ÙŠÛÚ­Ù‰ ھۆججەت +قىسقۇچ قۇرۇش خاتالىقى +ھۆججەت قۇرۇش خاتالىقى +6400 +ئىزاھات +ئىزاھات(&C) +تاللاش +ئەكسىچە تاللا +ماسكا: +6600 +خاسلىق +قىسقۇچ تارىخى +دىئاگنوز ئۇچۇرى +ئۇچۇر +7100 +ÙƒÙˆÙ…Ù¾ÙŠÛ‡ØªÛØ± +تور قوشنا +پۈتۈكلەر +سىستÛما +7200 +قوش +ÙŠÛ•Ø´ +سىنا +كۆچۈر +يۆتكە +ئۆچۈر +ئۇچۇر +7300 +ھۆججەت پارچىلا +پارچىلاش سانى(&S): +پارچە چوڭلۇقى، بايت(&V): +پارچىلاۋاتىدۇ… +پارچىلاشنى جەزملە +ھۆججەتنى {0} پارچىغا بۆلەمسىز؟ +پارچە چوڭلۇقى چوقۇم ئەسلى ھۆججەتتىن كىچىك بولۇشى لازىم +پارچە چوڭلۇقى خاتا +بايت{0} بەلگىلەنگەن پارچە چوڭلۇقى\nنۆۋەتتىكى ھۆججەتنى پارچىلامسىز؟ +7400 +ھۆججەت بىرلەشتۈر +بىرلەشتۈرۈش(&C): +بىرلەشتۈرۈۋاتىدۇ… +بىرىنچى ھۆججەتنىلا تاللا +بۆلەكلەنگەن ھۆججەت پارچىسى ئىكەنلىكىنى بايقىيالمىدى +باشقا ھۆججەت پارچىسىنى بايقىيالمىدى +7500 +تەكشۈرۈۋاتىدۇ… +تەكشۈرۈش ئۇچۇرى +CRC سانلىق مەلۇمات تەكشۈرۈش: +CRC سانلىق مەلۇمات Û‹Û• ھۆججەت ئاتى تەكشۈرۈش: +7600 +ئاساسىي تەكشۈرۈش +ئىشلىتىلگەن ئەسلەك: +پرىسلاۋاتىدۇ +ÙŠÛØ´Ù‰Û‹Ø§ØªÙ‰Ø¯Û‡ +سۈرئىتى +ئوتتۇرىچە سۈرئىتى +نۆۋەتتە +نەتىجە +CPU ئىشلىتىلىشى +ئىشلىتىش سۈرئىتى +يوللاش: diff --git a/Utils/7-Zip/Lang/uk.txt b/Utils/7-Zip/Lang/uk.txt new file mode 100644 index 000000000..885f30389 --- /dev/null +++ b/Utils/7-Zip/Lang/uk.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; : Andrij Ilechko +; : Mokiy Mazaylo +; : Sergiy Gontaruk +; : Misha Padalka +; 15.02 : 2015-05-19 : Yurii Petrashko +; +; +; +; +; +; +0 +7-Zip +Ukrainian +УкраїнÑька +401 +OK +СкаÑувати + + + +&Так +&ÐÑ– +&Закрити +Довідка + +&Продовжити +440 +Так Ð´Ð»Ñ &вÑÑ–Ñ… +ÐÑ– Ð´Ð»Ñ Ð²Ñ&Ñ–Ñ… +Зупинити +ПерезапуÑтити +&Ðа задньому плані +&Ðа передньому плані +&Пауза +Призупинено +Ви впевнені, що бажаєте ÑкаÑувати операцію? +500 +&Файл +&Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ +&ВиглÑд +&Ð£Ð¿Ð¾Ð´Ð¾Ð±Ð°Ð½Ð½Ñ +&ІнÑтрументи +&Допомога +540 +&Відкрити +Відкрити в&Ñередині +Відкрити &зовні +&ПереглÑнути +&Редагувати +Пере&йменувати +&Копіювати до... +Пере&міÑтити до... +Ви&далити +Роз&бити файл... +Об'&єднати файли... +Ð’&лаÑтивоÑті +Комент&ар +ОбчиÑлити контрольну Ñуму +Порівнювач +Створити папку +Створити файл +Ви&хід +ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ +Ðл&ьтернативні потоки +600 +Ви&брати вÑе +ЗнÑти вибір +&Інвертувати вибір +Вибрати... +ЗнÑти вибір... +Вибрати за типом +ЗнÑти вибір за типом +700 +Вели&кі піктограми +&Дрібні піктограми +&СпиÑок +&Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ +730 +Без ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ +ПлоÑкий виглÑд +&2 панелі +&Панелі інÑтрументів +Відкрити кореневу папку +Вище на один рівень +ІÑÑ‚Ð¾Ñ€Ñ–Ñ Ð¿Ð°Ð¿Ð¾Ðº... +&Оновити +ÐÐ²Ñ‚Ð¾Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ +750 +Панель архіву +Стандартна панель +Великі кнопки +ТекÑÑ‚ на кнопках +800 +&Додати папку до вподобань Ñк +Закладка +900 +&ÐалаштуваннÑ... +&ТеÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті +960 +&ЗміÑÑ‚... +&Про 7-Zip... +1003 +ШлÑÑ… +Ім'Ñ +Ð Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ +Папка +Розмір +Розмір в архіві +Ðтрибути +Створено +Відкрито +Змінено +Ðеперервний +З коментарем +Зашифровано +Розбито до +Розбито піÑÐ»Ñ +Словник + +Тип +Ðнти +Метод +ÐŸÐ¾Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ +Файлова ÑиÑтема +КориÑтувач +Група +Блок +Коментар +ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ +ÐŸÑ€ÐµÑ„Ñ–ÐºÑ ÑˆÐ»Ñху +Папок +Файлів +ВерÑÑ–Ñ +Том +Багатотомний +ЗÑув +ПоÑилань +Блоків +ЧаÑтин + + + +ПроцеÑор +Фізичний розмір +Розмір заголовків +Контрольна Ñума +ВлаÑтивоÑті +Віртуальна адреÑа + +Коротке ім'Ñ +Створено програмою +Розмір Ñектора +Режим +ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ +Помилка +Загальний обÑÑг +Вільний проÑтір +Розмір клаÑтеру +Мітка +Локальне ім'Ñ +Провайдер +Безбека NT +Ðльтернативний потік + +Видалено +Дерево + + +Тип помилки +Помилки +Помилки +ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ +ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ +Потоки +Ðльтернативні потоки +Розмір альтернативних потоків +Віртуальний розмір +Розпакований розмір +Загальний фізичний розмір +Ð†Ð½Ð´ÐµÐºÑ Ñ‚Ð¾Ð¼Ñƒ +Підтип +Короткий коментар +Кодова Ñторінка + + + +Розмір залишку +Розмір вбудованої заглушки +ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ +ЖорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ +iNode + +Лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ +2100 +Опції +Мова +Мова: +Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ +&Редактор: +&Порівнювач: +2200 +СиÑтема +ÐÑоціювати 7-Zip з: +УÑÑ– кориÑтувачі +2301 +Інтегрувати 7-Zip до контекÑтного меню оболонки +КаÑкадне контекÑтне меню +Пункти контекÑтного меню: +Піктограми в контекÑтному меню +2320 +<Папка> +<Ðрхів> +Відкрити архів +Видобути файли... +Додати до архіву... +ТеÑтувати архів +Видобути до поточної папки +Видобути до {0} +Додати до {0} +СтиÑнути та надіÑлати... +СтиÑнути до {0} та надіÑлати +2400 +Папки +&Робоча папка +&СиÑтемна тимчаÑова папка +&Поточна +&Задати: +ВикориÑтовувати тільки Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ… ноÑіїв +Вкажіть Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñових архівних файлів. +2500 +ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ +Відображати елемент ".." +Відображати Ñправжні піктограми файлів +Відображати ÑиÑтемне меню +Вибір &цілого Ñ€Ñдка +Відображати лінії &Ñітки +Відкривати об'єкти одним кліком +&Ðльтернативний режим Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð½Ñ +ВикориÑтовувати &великі Ñторінки пам'Ñті +2900 +Про 7-Zip +7-Zip Ñ” вільним програмним забезпеченнÑм +3000 +СиÑтема не може виділити необхідний обÑÑг пам'Ñті +Без помилок +Обрано об'єктів: {0} +Ðе вдаєтьÑÑ Ñтворити папку '{0}' +ÐžÐ¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ підтримуєтьÑÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð¾Ð³Ð¾ архіву. +Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл '{0}' Ñк архів +Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ зашифрований архів '{0}'. Хибний пароль? +Ðепідтримуватий тип архіву +Файл {0} вже Ñ–Ñнує +Файл '{0}' було змінено.\nБажаєте оновити його в архіві? +Ðеможливо оновити файл\n'{0}' +Ðе вдаєтьÑÑ Ð·Ð°Ð¿ÑƒÑтити редактор. +Файл виглÑдає Ñк Ð²Ñ–Ñ€ÑƒÑ (ім'Ñ Ñ„Ð°Ð¹Ð»Ñƒ міÑтить довгу поÑлідовніÑть пробілів). +Операцію не можна викликати з папки, Ñка має довгий шлÑÑ…. +Ви повинні вибрати один файл +Ви повинні вибрати один або декілька файлів +Забагато елементів +Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл Ñк {0} архів +Файл відкрито Ñк {0} архів +Ðрхів відкрито зі зÑувом +3300 +Ð’Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ +СтиÑÐ½ÐµÐ½Ð½Ñ +ТеÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ +ВідкриттÑ... +СкануваннÑ... +Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ +3320 +Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ +ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ +Ðналіз +Ð ÐµÐ¿Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ +ÐŸÐµÑ€ÐµÐ¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ +ПропуÑк +Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ +Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑ–Ð² +3400 +Видобути +Ð’&идобути до: +Вкажіть Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸Ñ… файлів. +3410 +Обробка шлÑхів +Повні шлÑхи +Без шлÑхів +ÐбÑолютні шлÑхи +ВідноÑні шлÑхи +3420 +Режим перезапиÑу +Запитувати перед перезапиÑом +ПерезапиÑувати без запиту +ПропуÑкати Ñ–Ñнуючі файли +Ðвтоматично перейменовувати +Ðвтоматично перейменовувати Ñ–Ñнуючі файли +3430 +УÑувати Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€ÐµÐ½ÐµÐ²Ð¾Ñ— папки +ВідновлÑти дані безпеки файлу +3500 +Підтвердіть заміну файлу +Папка Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¶Ðµ міÑтить оброблюваний файл. +Бажаєте замінити Ñ–Ñнуючий файл +на такий? +{0} байт +&Ðвтоматично перейменовувати +3700 +Ðепідтривуваний метод ÑтиÑÐ½ÐµÐ½Ð½Ñ Ð´Ð»Ñ '{0}'. +Помилка даних у '{0}'. Файл пошкоджено. +Помилка CRC у '{0}'. Файл пошкоджено. +Помилка даних у зашифрованому файлі '{0}'. Хибний пароль? +Помилка CRC у зашифрованому файлі '{0}'. Хибний пароль? +3710 +Хибний пароль? +3721 +Ðепідтримуваний метод ÑтиÑÐ½ÐµÐ½Ð½Ñ +Помилка даних +Помилка CRC +ÐедоÑтупні дані +Ðеочікуваний кінець даних +ІÑнують деÑкі дані піÑÐ»Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñних даних +Ðе Ñ” архівом +Помилка заголовків +Ðеправильний пароль +3763 +ÐедоÑтупний початок архіву +Ðепідтверджений початок архіву + + + +Ðепідтримувана Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ +3800 +Уведіть пароль +Уведіть пароль: +Повторіть пароль: +&Відображати пароль +Паролі не Ñпівпадають +Ð”Ð»Ñ Ð¿Ð°Ñ€Ð¾Ð»ÑŽ викориÑтовуйте лише англійÑькі літери, цифри та Ñпеціальні Ñимволи (!, #, $, ...) +Пароль занадто довгий +Пароль +3900 +Минуло чаÑу: +ЗалишилоÑÑ: +Загалом: +ШвидкіÑть: +Оброблено: +Ступінь ÑтиÑненнÑ: +Помилок: +Ðрхівів: +4000 +Додати до архіву +&Ðрхів: +&Режим оновленнÑ: +&Формат архіву: +С&тупінь ÑтиÑненнÑ: +&Метод ÑтиÑканнÑ: +&Розмір Ñловника: +Р&озмір Ñлова: +Розмір блоку: +КількіÑть потоків: +&Параметри: +ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ +&Створити SFX архів +СтиÑкати Ñпільні файли +Ð¨Ð¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ +Метод шифруваннÑ: +Шифрувати &імена файлів +Ðеобхідно пам'Ñті Ð´Ð»Ñ ÑтиÑканнÑ: +Ðеобхідно пам'Ñті Ð´Ð»Ñ Ð²Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ: +Видалити файли піÑÐ»Ñ ÑтиÑÐ½ÐµÐ½Ð½Ñ +4040 +Зберігати Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ +Зберігати жорÑткі поÑÐ¸Ð»Ð°Ð½Ð½Ñ +Зберігати альтернативні потоки даних +Зберігати дані безпеки файлу +4050 +Без ÑтиÑÐ½ÐµÐ½Ð½Ñ +Ðайшвидше +Швидке +Ðормальне +МакÑимальне +Ультра +4060 +Додати та замінити файли +Оновити та замінити файли +Оновити Ñ–Ñнуючі файли +Синхронізувати файли +4070 +ПереглÑнути +УÑÑ– файли +За розміром файлу +Ðеперервний +6000 +Копіювати +ПереміÑтити +Копіювати до: +ПереміÑтити до: +КопіюваннÑ... +ПереміщеннÑ... +ПерейменуваннÑ... +Виберіть папку призначеннÑ. +ÐžÐ¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ підтримуєтьÑÑ Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— папки. +Помилка Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ або папки +Підтвердіть ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ +Ви впевнені, що хочете Ñкопіювати файли до архіву +6100 +Підтвердіть Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ +Підтвердіть Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¿Ð°Ð¿ÐºÐ¸ +Підтвердіть Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… файлів +Ви впевнені, що хочете видалити '{0}'? +Ви впевнені, що хочете видалити папку '{0}' Ñ– веÑÑŒ Ñ—Ñ— вміÑÑ‚? +Ви впевнені, що хочете видалити ці елементи ({0} шт.)? +ВидаленнÑ... +Помилка при видаленні файлу або папки +СиÑтемі не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити файл із довгим шлÑхом до Кошика +6300 +Створити папку +Створити файл +Ім'Ñ Ð¿Ð°Ð¿ÐºÐ¸: +Ім'Ñ Ñ„Ð°Ð¹Ð»Ñƒ: +Ðова папка +Ðовий файл +Помилка при Ñтворенні папки +Помилка при Ñтворенні файлу +6400 +Коментар +&Коментар: +Вибрати +ЗнÑти вибір +МаÑка: +6600 +ВлаÑтивоÑті +ІÑÑ‚Ð¾Ñ€Ñ–Ñ Ð¿Ð°Ð¿Ð¾Ðº +ДіагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ +ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ +7100 +Комп'ютер +Мережа +Документи +СиÑтема +7200 +Додати +Видобути +ТеÑтувати +Копіювати +ПереміÑтити +Видалити +Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ +7300 +Розбити файл +&Розбити до: +Розбити на &томи розміром, байт: +РозбиттÑ... +Підтвердіть Ñ€Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ +Ви впевнені, що бажаєте розбити архів на {0} томів? +Розмір тому має бути меншим за розмір вихідного файлу +Ðеправильний розмір тому +Задано розмір тому: {0} байт.\nВи впевнені, що бажаєте розбити архів на такі томи? +7400 +Об'єднати файли +&Об'єднати до: +Об'єднаннÑ... +Виберіть тільки першу чаÑтину розбитого файлу +Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ файл, Ñк чаÑтину розбитого файлу +Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ більше однієї чаÑтини розбитого файлу +7500 +ОбчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— Ñуми... +Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ контрольну Ñуму +Контрольна Ñума CRC Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ…: +Контрольна Ñума CRC Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ… та імен: +7600 +ТеÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті +ВикориÑтано пам'Ñті: +СтиÑÐºÐ°Ð½Ð½Ñ +Ð’Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ +Рейтинг +Загальний рейтинг +Поточні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ +ПідÑумкові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ +Завант. ЦП +Рейтинг/Завант. +Проходів: +7700 +ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ +Пов'Ñзати +Джерело: +Мета: +7710 +Тип поÑÐ¸Ð»Ð°Ð½Ð½Ñ +ЖорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ +Символічне поÑÐ¸Ð»Ð°Ð½Ð½Ñ (файл) +Символічне поÑÐ¸Ð»Ð°Ð½Ð½Ñ (каталог) +Точка з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ (каталог) diff --git a/Utils/7-Zip/Lang/uz.txt b/Utils/7-Zip/Lang/uz.txt new file mode 100644 index 000000000..71762c0ad --- /dev/null +++ b/Utils/7-Zip/Lang/uz.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 9.07 : Sherzod Mamatkulov +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Uzbek +O'zbek +401 +OK +Bekor + + + +&Ha +&Yo'q +&Yopish +Yordam + +&Davom et +440 +H&ammasiga ha +Hammasiga y&o'q +To'xta +Qayta boshla +&Orqa fon +Ol&di fon +&Pauza +Pauza qilingan +Haqiqatdan ham bekor qilishni istaysizmi? +500 +&Fayl +&Tahrir +&Ko'rinish +&Xatcho'plar +&Asboblar +&Yordam +540 +&Ochish +&Ichkarida ochish +&Tashqarida ochish +&Ko'rish +Ta&hrirlash +&Qayta nomlash +&Nusxalash... +Ko'chi&rish... +O'chirish +&Faylni bo'laklash... +Fayllarni &birlashtirish... +&Xossalari +&Sharh... +Nazorat summasini hisoblash +Farq +Papka yaratish +Fayl yaratish +&Chiqish +600 +H&ammasini tanla +Hammasini tashla +&Tanlanishni teskarila +Tanlash... +Tashlash... +Turi bo'yicha tanla +Turi bo'yicha tashla +700 +&Yirik ikonlar +&Mitti ikonlar +&Ro'yxat +&Tafsilotlar +730 +Saralanmagan +Tekis ko'rinish +&2 ta panel +&Uskunalar majmuasi +Ildiz papkasini och +Bir bosqich yuqoriga +Papkalar tarixi... +&Qayta och +750 +Arxiv toolbari +Standart toolbar +Yirik tugmalar +Tugmalar matnini ko'rsat +800 +&Papkani ushbu xatcho'pga qo'sh +Xatcho'p +900 +Tanl&ovlar... +&Baholash +960 +Yordam &tarkibi... +&7-Zip haqida... +1003 +Yo'lak +Nomi +Kengaytma +Papka +Hajmi +Siqilgan hajmi +Atributlari +Yaratilgan +Ochilgan +O'zgartirilgan +Yaxlit +Sharhlangan +Tilsimlangan +Bundan oldin bo'laklangan +Bundan keyin bo'laklangan +Lug'at +CRC +Turi +Anti +Uslub +Mezbon OS +Fayl tizimi +Foydalanuvchi +Guruh +Block +Sharh +Joylashuv +Yo'lak prefiksi +Papkalar soni +Fayllar soni +Versiya +Tom +Ko'p-tomli +Offset +Ulanmalar +Bloklar soni +Tomlar soni + +64-bit +Big-endian +Protsessor +Fizik hajmi +Header hajmi +Nazorat summasi +Tavsifi +Virtual adresi +ID +Qisqa nomi +Yaratgan dastur +Sektor hajmi +Uslubi +Ulanma +Xato +Umumiy hajmi +Bo'sh joy +Klaster hajmi +Yorliq +Lokal nomi +Provayder +2100 +Tanlovlar +Til +Til: +Muharrir +&Muharrir: +&Farq: +2200 +Tizim +Ushbu arxivlarni 7-Zip bilan biriktir: +2301 +7-Zipni qobiq kontekst menyusiga qo'sh +Kontekst menyusi pog'onali bo'lsin +Kontekst menyu bandlari: +2320 + + +Arxivni och +Fayllarni ajrat... +Arxivga qo'sh... +Arxivni sina +Shu joyga ajrat +{0}ga ajrat +{0}ga qo'sh +Siq va emailda jo'nat... +{0}ga siq va emailda jo'nat +2400 +Papkalar +&Ish papkasi +Tizim &vaqtinchalik (temp) papkasi +&Joriy papka +&Tayinlangan: +Faqat olinadigan drayvlar uchun ishlat +Vaqtinchalik arxiv fayllari uchun manzilni tayinlang. +2500 +Sharoit +".." qismini ko'rsat +Fayllarning haqiqiy ikonlarini ko'rsat +Tizim menyusini ko'rsat +&To'liq yo'lakni tanlash +&Panjara chiziqlarini ko'rsat +&Faylni ochish uchun bitta klik yetarli +&Muqobil tanlash uslubini qo'lla +&Yirik xotira pageini ishlat +2900 +7-Zip haqida +7-Zip - bepul dasturiy ta'minot. +3000 +Tizim kerakli miqdordagi xotirani band qila olmadi +Hechqanday xatolik aniqlanmadi +{0} ta qism tanlangan +'{0}' papkasini yarata olmadim +Bu arxivga nisbatan yangilash amallari bajarilmaydi. +'{0}' faylini arxiv sifatida ocha olmadim +Tilsimlangan '{0}' arxivni ocha olmadim. Noto'g'ri parol kiritildimi? +Noma'lum arxiv turi +{0} fayli oldindan mavjud +'{0}' fayli o'zgartirildi.\nUni arxiv ichida yangilashni xohlaysizmi? +Ushbu faylni yangilay olmadim\n'{0}' +Muharrirni ocha olmadim. +Bu fayl virusga o'xshaydi (fayl nomida uzun bo'shliq bor). +Bu amalni uzun yo'lakli papkada chaqirib bo'lmaydi. +Bitta faylni tanlashingiz lozim +Bitta yoki undan ortiq faylni tanlashingiz lozim +Qismlar o'ta ko'p +3300 +Ajratilmoqda +Siquv ketmoqda +sinaldi +Ochilmoqda... +Tekshirilmoqda... +3400 +Ajratish +&Buyerga ajrat: +Ajratilgan fayllar uchun manzil tayinlang. +3410 +Yo'lak uslubi +To'liq yo'lak nomlari +Yo'lak nomi yo'q +3420 +Ustidan yozish uslubi +Yozib yuborishdan oldin so'ra +So'ramasdan yozib yubor +Oldindan mavjud fayllarni tashlab ket +Avtomatik tarzda qayta nomla +Mavjud fayllarni avto qayta nomla +3500 +Fayl ustidan yozishni tasdiqlash +Manziliy papkada ishlangan fayl oldindan mavjud. +Mavjud faylni +bunisi bilan almashtirasizmi? +{0} bayt +A&vtomatik tarzda qayta nomla +3700 +'{0}'dagi siquv metodi notanish. +'{0}'da data xatosi yuz berdi. Fayl zararlangan. +'{0}'da CRC amalga oshmadi. Fayl zararlangan. +Tilsimlangan '{0}' faylida data xatosi yuz berdi. Parol noto'g'ri shekilli +Tilsimlangan '{0}' faylida CRC amalga oshmadi. Parol noto'g'ri shekilli +3800 +Parolni kiritish +Parolni kiriting: +Parolni qayta kiriting: +&Parolni ko'rsat +Parollar bir xil emas +Parol uchun faqat lotincha harflar, raqam va maxsus belgilar (!, #, $, ...) ishlating +Parol haddan tashqari uzun +Parol +3900 +O'tgan vaqt: +Qolgan vaqt: +Jami hajmi: +Tezlik: +Ishlandi: +Siquv nisbati: +Xatolar: +Arxivlar: +4000 +Arxivga qo'shish +&Arxiv: +&Yangilash uslubi: +Arxiv &formati: +Siq&uv bosqichi: +&Siquv metodi: +&Lug'at hajmi: +So'z haj&mi: +Yaxlit blok hajmi: +CPU oqimlari soni: +&Parametrlar: +Tanlovlar +SF&X arxiv yarat +Baham ko'rilgan fayllarni ham siq +Tilsimlash +Tilsimlash metodi: +Fayl &nomlarini tilsimla +Siquvda ishlatiladigan xotira: +Ajratuvda ishlatiladigan xotira: +4050 +Saqlash +Eng tez +Tez +O'rtacha +Eng zo'r +Ultra +4060 +Fayllarni qo'sh va almashtir +Fayllarni yangila va qo'sh +Mavjud fayllarni yangila +Fayllarni sinxronla +4070 +Belgila +Barcha fayllar +No-yaxlit +Yaxlit +6000 +Nusxalash +Ko'chirish +Ushbu katalogga nusxala: +Ushbu katalogga ko'chir: +Nusxalanmoqda... +Ko'chirilmoqda... +Qayta nomlanmoqda... +Manziliy papkani tanlang. +Ushbu papkaga nisbatan bu amalni qo'llab bo'lmaydi +Fayl yoki papkani qayta nomlashda xato yuz berdi +Faylni nusxalashni tasdiqlang +Haqiqatdan ham fayllarni arxivga nusxalashni xohlaysizmi +6100 +Faylni o'chirishni tasdiqlang +Papkani o'chirishni tasdiqlang +Ko'plab fayllarni o'chirishni tasdiqlang +Haqiqatdan ham '{0}'ni o'chirib tashlamoqchimisiz? +Haqiqatdan ham '{0}' papkasini butun tarkibi bilan o'chirib tashlamoqchimisiz? +Haqiqatdan ham ushbu {0} ta qismni o'chirib tashlamoqchimisiz? +O'chirilmoqda... +Fayl yoki papkani o'chirishda xato yuz berdi +Tizim uzun yo'lakli faylni Recycle Bin (Korzina)ga ko'chira olmaydi +6300 +Papka yaratish +Fayl yaratish +Papka nomi: +Fayl nomi: +Yangi papka +Yangi fayl +Papka yaratishda xato yuz berdi +Fayl yaratishda xatolik yuz berdi +6400 +sharhi +&Sharh: +Tanlash +Tashlash +Maska: +6600 +Xossalari +Papkalar tarixi +Diagnostik xabarlar +Xabar +7100 +Kompyuter +Tarmoq +Hujjatlar +Tizim +7200 +Qo'sh +Ajrat +Sina +Nusxala +Ko'chir +O'chir +Ma'lumot +7300 +Faylni bo'laklash +&Ushbu katalogga bo'lakla: +&Tomlarga bo'lakla, bayt: +Bo'laklanmoqda... +Bo'laklash tasdig'i +Haqiqatdan ham faylni {0} ta tomga bo'lmoqchimisiz? +Tom hajmi original fayl hajmidan kichikroq bo'lishi lozim +Tom hajmi noto'g'ri +Berilgan tom hajmi: {0} bayt.\nHaqiqatdan ham arxivni shunaqa bo'laklarga bo'lmoqchimisiz? +7400 +Fayllarni birlashtirish +&Ushbu katalogga birlashtir: +Birlashtirilmoqda... +Bo'lak faylning faqat birinchi qismini tanla +Bu fayl bo'lak faylning qismi emas +Bo'lak faylning bittadan ortiq qismi topilmadi +7500 +Nazorat summasi hisoblanmoqda... +Nazorat summasi ma'lumoti +Data uchun CRC checksum: +Data va nomlar uchun CRC checksum: +7600 +Baholash +Xotira ishlatilishi: +Siqish +Ajratish +Reyting +Umumiy reyting +Joriy +Natijaviy +CPU bandligi +Reyting / Ishlatish +O'tganlar: diff --git a/Utils/7-Zip/Lang/va.txt b/Utils/7-Zip/Lang/va.txt new file mode 100644 index 000000000..b7ecf4bd0 --- /dev/null +++ b/Utils/7-Zip/Lang/va.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 4:26 : Tomas Miralles +; 4.44 : Fernando Verdú +; +; +; +; +; +; +; +; +; +0 +7-Zip +Valencian +Valencià +401 +Acceptar +Cancel·lar + + + +&Si +&No +Tan&car +Ajuda + +&Continuar +440 +Si a &tot +No a t&ot +Parar +Reiniciar +Segon pla +Primer pla +&Pausa +Parat +Està segur que vol cancel·lar? +500 +&Arxiu +&Editar +&Visualitzar +Favorits +Ferramentes +Ajuda +540 +&Obrir +Obrir d&ins +Obrir fora +&Visualitzar +&Editar +Renom&enar +&Copiar a... +&Moure a... +&Suprimir +&Separar fitxer... +Com&binar fitxers... +P&ropietats +Come&ntari +Calcular checksum + +Crear directori +Crear fitxer +Eixir +600 +Seleccion&ar-ho tot +Deseleccionar-ho tot +&Invertir selecció +Seleccionar... +No seleccionar... +Seleccionar per tipus +No seleccionar per tipus +700 +Icones g&rans +Icones menudes +&Llista +&Detalls +730 +No ordenat +Vista plana +&2 Taules +&Barres de ferramentes +Obrir directori arrel +Directori pare +Historial de carpetes... +Actualitza&r +750 +Arxiu +Estàndard +Botons grans +Mostrar text dels botons +800 +&Afegir el directori als Favorits com a +Personal +900 +&Opcions... +&Banc de proves +960 +&Contingut... +Sobre 7-Zip... +1003 +Adreça +Nom +Tipus d'arxiu +Directori +Tamany +Tamany comprimit +Atributs +Creat +ültim accés +Última modificació +Compacte +Comentari +Xifrat +Expandit abans +Expandit després +Diccionari +CRC +Tipus +Anti +Mètode +SO d'origen +Sistema de fitxers +Usuari +Grup +Bloc +Comentari +Posició +Prefix de ruta + + + + + + + + + + + + + + + + + + + + + + + + +Error +Tamany total +Espai lliure +Tamany sector +Etiqueta +Nom local +Proveïdor +2100 +Opcions +Idioma +Idioma: +Editor +&Editor: + +2200 +Sistema +Associar 7-Zip amb: +2301 +Integrar 7-Zip dins el menu contextual de Windows +Menu contextual en cascada +Objectes del menu contextual: +2320 + + +Obrir arxiu +Extraure fitxers... +Afegir a l'arxiu... +Comprovar arxiu +Extraure ací +Extraure a {0} +Afegir a {0} +Comprimir i enviar per correu electrònic... +Comprimir a {0} i enviar per correu electrònic +2400 +Directoris +Directori de &treball +Directori temporal del &sistema +Directori a&ctual +E&specificar directori: +Utilitzar només per a discs extraibles +Especificar un directori per als arxius temporals. +2500 +Ajusts +Mostrar l'objecte ".." +Mostrar icones reals dels fitxers +Mostrar el menú del sistema +Seleccionar &tota la la fila +Mostrar &línies de la taula + +Mode de selecció &alternatiu +Utilitzar pàgines de memòria &grans +2900 +Sobre 7-Zip +7-Zip és un programa lliure (GNU LGPL). Pot col·laborar en el desenvolupament del 7-zip registrant-lo, com a usuari registrat podrà rebre suport tècnic. +3000 + +No hi ha errors +{0} objecte(s) seleccionat(s) +No es pot crear el directori '{0}' +Les operacions d'actualització d'este arxiu no estan suportades. +No es pot obrir el fitxer '{0}' com arxiu +No es pot obrir l'arxiu xifrat '{0}'. contrasenya incorrecta? + + +El fitxer '{0}' ha sigut modificat.\nVol actualitzar-lo a l'arxiu? +No es pot actualitzar el fitxer\n'{0}' +No es pot executar l'editor. + + + + +Massa objectes +3300 +Extraent +Comprimint +Provant +Obrint... +Escanejant... +3400 +Extraure +E&xtraure a: +Seleccione destinació per als fitxers extrets. +3410 +Mode d'adreça +Adreça sencera +Sense adreça +3420 +Sobreescriu +Pregunta abans de sobreescriure +Sobreescriu sense confirmació +Conserva arxius ja existents +Reanomena automàticament +Reanomena automàticament arxius ja existents +3500 +Confirmar substitució de fitxers +El directori de destinació conté un fitxer amb el mateix nom. +Vol substituir el fitxer existent +per este altre? +{0} bytes +Renomenar a&utomàticament +3700 +Mètode de compressió no vàlid per a '{0}'. +Error de dades en '{0}'. L'arxiu està corrupte. +CRC ha fallat en '{0}'. L'arxiu està corrupte. +Errors de dades en l'arxiu xifrat '{0}'. Contrasenya incorrecta? +CRC incorrecte en l'arxiu xifrat '{0}'. Contrasenya incorrecta? +3800 +Introduir contrasenya +Introduir contrasenya: +Reintroduir contrasenya: +Mo&strar contrasenya +Les contrasenyes no coincideixen +Useu només lletres de l'alfabet anglès, números i caràcters especials (!, #, $, ...) per a la contrasenya +Contrasenya massa llarga +Contrasenya +3900 +Temps transcorregut: +Temps restant: +Mida: +Velocitat: + + +Errors: + +4000 +Afegir a l'arxiu +&Arxiu: +Mode d'act&ualització: +&Format de l'arxiu: +&Nivell de compressió: +Tipus de co&mpressió: +Tamany &diccionari: +Tamany ¶ula: + + +&Paràmetres: +Opcions +Crear arxiu SF&X + +Xifrat +Métode de xifrat: +Encriptar el nom dels fitxers +Us de memòria Comprimint: +Us de memòria Descomprimint: +4050 +Sense compressió +La més ràpida +Ràpida +Normal +Màxima +Ultra +4060 +Afegir i substituir fitxers +Actualitzar i afegir fitxers +Actualitzar fitxers existents +Sincronitzar fitxers +4070 +Visualitzar +Tots els fitxers + + +6000 +Copiar +Moure +Copiar a: +Moure a: +Copiant... +Movent... +Renomenant... +Seleccioneu carpeta de destinació. +Operació no permesa. +Error renomenant fitxer o carpeta +Confirmar copia de fitxer +Està segur que vol copiar els fitxers a l'arxiu +6100 +Confirmar supressió del fitxer +Confirmar supressió del directori +Confirmar supressió m�ltiple de fitxers +Està segur de voler suprimir '{0}'? +Està segur de voler suprimir la carpeta '{0}' i tot el seu contingut? +Està segur de voler esborrar estos {0} elements? +Suprimint... +Error esborrant fitxer o carpeta + +6300 +Crear carpeta +Crear fitxer +Nom de carpeta: +Nom de fitxer: +Carpeta nova +Fitxer nou +Error creant carpeta +Error creant el fitxer +6400 +Comentari +&Comentari: +Seleccionar +No seleccionar +Màscara: +6600 + +Historial de directoris +Missatges de diagnosi +Missatge +7100 +El meu ordinador +Entorn de xarxa + +Sistema +7200 +Afegir +Extraure +Provar +Copiar +Moure +Esborrar +Info +7300 +Separar fitxer +&Separar a: +Separar en &volums, bytes: +Separant... +Confirma divissió +Esteu segurs que voleu dividir el fitxer en {0} volums? +La mida del volum ha de ser menor que la mida original del fitxer +Mida incorrecta de volum +Mida del volum especificada: {0} bytes.\nEsteu segurs que voleu dividir l'arxiu en volums? +7400 +Combinar fitxers +&Combinar a: +Combinant... +Seleccioneu només el primer fitxer + + +7500 +Calculant checksum... +Informació checksum +CRC checksum per a les dades: +CRC checksum per a dades i noms: +7600 +Banc de proves +Us de memoria: +Comprimint +Descomprimint +Taxa +Taxa total +Actual +Resultant + + +Passades: diff --git a/Utils/7-Zip/Lang/vi.txt b/Utils/7-Zip/Lang/vi.txt new file mode 100644 index 000000000..05def96a0 --- /dev/null +++ b/Utils/7-Zip/Lang/vi.txt @@ -0,0 +1,404 @@ +;!@Lang2@!UTF-8! +; 2.30 : : Tran Hong Ha +; 4.42 : : Le Vu Hoang +; 4.48 : : Nguyen Hong Quan +; 9.07 : 2011-04-12 : Vietnamize Team +; +; +; +; +; +; +; +0 +7-Zip +Vietnamese +Tiếng Việt +401 +Äồng ý +Há»§y bá» + + + +Có +Không +Äóng +Giúp đỡ + +Tiếp tục +440 +Có tất cả +Không tất cả +Dừng +Làm lại +Chạy ná»n +Chế độ ưu tiên +Dừng +Äã dừng +Bạn chắc chắn muốn há»§y bá»? +500 +Tập tin +Biên tập +Xem +Ưa thích +Công cụ +Giúp đỡ +540 +Mở +Mở tại đây +Mở trong cá»­a sổ khác +Xem +Biên tập +Äổi tên +Sao chép đến... +Di chuyển đến... +Xoá +Chia cắt tệp nén... +Nối tệp nén... +Thuá»™c tính +Chú thích +Tính checksum (md5) +So sánh +Tạo thư mục +Tạo tệp nén +Thoát +600 +Chá»n tất cả +Bá» chá»n tất cả +Äảo lá»±a chá»n +Chá»n... +Bá» chá»n... +Chá»n theo loại +Bá» chá»n theo loại +700 +Biểu tượng lá»›n +Biểu tượng nhá» +Danh sách +Chi tiết +730 +Không sắp xếp +Má»i tập tin và thư mục con +2 bảng +Thanh công cụ +Mở thư mục gốc +Lên má»™t cấp +Lịch sá»­ thư mục... +Nạp lại +750 +Thanh công cụ nén +Thanh công cụ chuẩn +Sá»­ dụng nút lá»›n +Hiển thị chữ trên nút +800 +Thêm thư mục vào 'Ưa thích' như là +Äánh dấu +900 +Tùy chá»n... +Äo tốc độ +960 +Ná»™i dung... +Vá» 7-Zip... +1003 +ÄÆ°á»ng dẫn +Tên +Phần mở rá»™ng +Thư mục +Kích cỡ thá»±c +Kích cỡ nén +Thuá»™c tính +Thá»i Ä‘iểm tạo +Thá»i Ä‘iểm truy xuất +Thá»i Ä‘iểm sá»­a đổi +Kiểu nén Solid +Ghi chú +ÄÆ°á»£c mã hoá +Chia nhá» trước +Chia nhá» sau +Từ Ä‘iển +CRC +Loại +Anti +Phương thức nén +Hệ Ä‘iá»u hành +Tệp hệ thống +Ngưá»i dùng +Tập Ä‘oàn +Số thứ tá»± +Chú thích +Vị trí +ÄÆ°á»ng dẫn đầu +Thư mục +Tập tin +Phiên bản +Kích cỡ +Äa kích cỡ +Offset +Liên kết +Tập tin +Kích cỡ + +64-bit +Big-endian +CPU +Kích cỡ lý thuyết +Kích cỡ hiện tại +Checksum +Äặc Ä‘iểm +Äịa chỉ ảo +ID +Tên ngắn +Trình tạo ứng dụng +Kích cỡ vùng +Chế độ +Liên kết +Lá»—i +Tổng dung lượng +Dung lượng trống +Dung lượng cluster +Nhãn +Tên mạng cục bá»™ +Nhà cung cấp +2100 +Các tùy chá»n +Ngôn ngữ hiển thị +Ngôn ngữ: +Biên tập +Trình biên tập: +Trình so sánh: +2200 +Hệ thống +Kết hợp 7-Zip vá»›i: +2301 +Tích hợp 7-Zip vào menu ngữ cảnh +Xếp tầng menu ngữ cảnh +Menu ngữ cảnh: +2320 + + +Mở tệp nén +Giải nén tệp... +Thêm vào tệp nén... +Kiểm tra tệp nén +Giải nén tại đây +Giải nén vào {0} +Thêm vào {0} +Nén và gởi qua email... +Nén thành {0} và gởi qua email +2400 +Thư mục +Thư mục hiện hành +Hệ thống thư mục tạm +Hiện tại +Äặc biệt: +Chỉ sá»­ dụng cho ổ đĩa di động +Xác định vị trí cho các tệp lưu trữ tạm thá»i. +2500 +Thiết lập +Hiển thị mục ".." +Hiển thị biểu tượng thá»±c cá»§a tệp +Hiển thị menu hệ thống +Chá»n cả dòng +Hiển thị lưới +Nhắp chuá»™t để mở +Chế độ chá»n luân phiên +Sá»­ dụng bá»™ nhá»› lá»›n +2900 +Vá» 7-Zip +7-Zip là má»™t phần má»m miá»…n phí. +3000 +Không thể cấp thêm dung lượng RAM yêu cầu +Không xuất hiện lá»—i +{0} đối tượng đã chá»n +Không thể tạo thư mục '{0}' +Tệp nén này không được há»— trợ cập nhật. +Không thể mở '{0}' như là tệp nén +Không thể mở tập tin nén '{0}' bị mã hóa . Mật khẩu sai? +Không há»— trợ tệp nén này +Tệp {0} Ä‘ang tồn tại +Tệp '{0}' đã bị thay đổi.\nBạn có muốn cập nhật nó vào tập tin nén? +Không thể cập nhật tệp\n'{0}' +Không thể khởi động trình biên tập. +Tập tin này có thể là virus (tên tập tin có chứa khoảng cách dài). +Không thể thá»±c hiện vá»›i má»™t thư mục có đưá»ng dẫn quá dài. +Bạn phải chá»n má»™t tập tin +Bạn phải chá»n má»™t hoặc 2 tập tin +Quá nhiá»u tập tin +3300 +Äang giải nén... +Äang nén... +Äang kiểm tra... +Äang mở... +Äang quét... +3400 +Giải nén +Giải nén vào: +Chá»n nÆ¡i để giải nén tệp. +3410 +Chá»n đưá»ng dẫn +ÄÆ°á»ng dẫn đầy đủ +Không có đưá»ng dẫn +3420 +Chế độ ghi đè +Há»i trước khi ghi đè +Ghi đè không cần há»i +Bá» qua tệp đã có +Tá»± động đổi tên +Tá»± động đổi tên tệp đã có +3500 +Xác nhận thay thế +Thư mục đích đã có tập tin đó. +Bạn có muốn thay thế tập tin đã có +bằng tập tin má»›i? +{0} bytes +Tá»± động đổi tên +3700 +Phương thức nén không há»— trợ cho '{0}'. +Lá»—i dữ liệu trong '{0}'. Tệp đã bị há»ng. +Lá»—i chẵn/lẻ (CRC) trong '{0}'. Tệp đã bị há»ng. +Lá»—i dữ liệu trong tệp nén bị mã hóa '{0}'. Mật khẩu sai? +Kiểm tra CRC thất bại trong tệp nén bị mã hóa '{0}'. Mật khẩu sai? +3800 +Vui lòng nhập mật khẩu +Nhập mật khẩu: +Nhập lại mật khẩu: +Xem mật khẩu +Mật khẩu không khá»›p nhau +Chỉ đặt mật khẩu bằng tiếng Anh, số và những kí tá»± đặc biệt (!, #, $, ...) cho mật khẩu +Mật khẩu quá dài +Mật khẩu +3900 +Thá»i gian đã qua: +Thá»i gian còn lại: +Tổng kích cỡ: +Tốc độ: +Äã nén: +Tá»· lệ nén: +Lá»—i: +Tệp nén: +4000 +Thêm vào tệp nén +Tệp nén: +Chế độ cập nhật: +Dạng tệp nén: +Mức độ nén: +Phương thức nén: +Kích cỡ thư mục: +Kích cỡ văn bản: +Kích cỡ nén Solid: +Số luồng xá»­ lý CPU: +Tham số: +Tùy chá»n +Tạo trình tá»± giải nén tệp +Nén tập tin chia sẻ +Mã hóa +Phương thức mã hóa: +Mã hoá tên tệp +Bá»™ nhá»› dùng cho việc nén: +Bá»™ nhá»› dùng cho việc giải nén: +4050 +Lưu trữ +Nhanh nhất +Nhanh +Bình thưá»ng +Tối Ä‘a +Siêu nhanh +4060 +Thêm và thay thế +Thêm và cập nhật +Cập nhật tập tin đã có +Äồng bá»™ +4070 +Duyệt +Má»i tập tin +Không nén dạng Solid +Solid +6000 +Sao chép +Di chuyển +Sao chép đến: +Di chuyển đến: +Äang thêm... +Äang di chuyển... +Äang đổi tên... +Chá»n thư mục đến. +Thao tác không được há»— trợ cho tập tin này. +Lá»—i khi đổi tên tệp hoặc thư mục +Xác nhận thêm +Bạn muốn thêm vào tệp nén? +6100 +Xác nhận xoá +Xác nhận xoá thư mục +Xác nhận xoá nhiá»u tệp +Bạn có chắc chắn muốn xoá '{0}'? +Bạn có chắc chắn muốn xoá thư mục '{0}' và má»i tập tin bên trong? +Bạn có chắc chắn muốn xoá {0} ? +Äang xóa... +Lá»—i khi Ä‘ang xóa tệp hoặc thư mục +Hệ thống không thể xóa tệp vá»›i đưá»ng dẫn dài vào Thùng rác +6300 +Tạo thư mục +Tạo tệp nén +Tên thư mục: +Tên tệp má»›i: +Thư mục má»›i +Tệp má»›i +Lá»—i khi tạo thư mục +Lá»—i khi tạo tệp +6400 +Chú thích +Chú thích: +Chá»n +Bá» chá»n +Ẩn danh: +6600 +Thuá»™c tính +Lịch sá»­ thư mục +Thông tin chẩn Ä‘oán +Thông tin +7100 +Máy tính +Mạng +Tài liệu +Hệ thống +7200 +Thêm +Giải nén +Kiểm tra +Sao chép +Di chuyển +Xoá +Thông tin +7300 +Chia nhá» tệp +Chia nhá» và lưu tại: +Chia thành nhiá»u phần, bytes: +Äang chia nhá»... +Xác nhận việc chia nhá» +Bạn có chắc muốn chia nhá» tệp nén thành {0} phần? +Kích cỡ má»—i phần phải nhá» hÆ¡n tệp gốc +Kích cỡ phần chia chưa đúng +Kích cỡ phần chia đã đặt: {0} bytes.\nBạn chắc chắn muốn chia tệp nén theo kích cỡ chia đã đặt? +7400 +Nối tệp +Nối thành: +Äang nối... +Chỉ chá»n phần đầu cá»§a tệp bị chia nhá» +Không thể xem tập tin như phần nối cá»§a tệp bị chia cắt +Không tìm thấy thêm phần nối nào cá»§a tệp chia cắt +7500 +Äang tính checksum... +Thông tin checksum +CRC checksum cho dữ liệu: +CRC checksum cho dữ liệu và tên: +7600 +Äo tốc độ +Bá»™ nhá»› sá»­ dụng: +Äang nén +Äang giải nén +Äánh giá +Tổng đánh giá +Hiện thá»i +Kết quả +Mức dùng CPU +Tốc độ / Mức dùng +Äã qua: diff --git a/Utils/7-Zip/Lang/yo.txt b/Utils/7-Zip/Lang/yo.txt new file mode 100644 index 000000000..3fa9560a5 --- /dev/null +++ b/Utils/7-Zip/Lang/yo.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 15.00 : 2015-03-29 : Ibrahim Oyekan +; +; +; +; +; +; +; +; +; +; +0 +7-Zip +Yoruba +Yoruba +401 +O DAA +Pa re + + + +&Bẹẹni +&Bẹẹká» +&Pádé +ÃŒrànlá»wá» + +&Tẹ́-síwájú +440 +Bẹẹni fun &gbogbo ẹ +Bẹẹká» fun &gbogbo ẹ +Dúró +Ṣàtúnbẹ̀rẹ̀ +&Ẹ̣̀hìn-ìgbéhìn +&Ojú-ìgbéhìn +&Dádúró +ÃŒdúró +á¹¢e ẹ dájú pe ẹnyin fẹ́ paarẹ +500 +&Faíli +&Tunká» +&ÃŒwò +&Aàyò +&Iriná¹£áº¹Ì +&ÃŒrànlá»wá» +540 +&á¹¢i +á¹¢i &si ínú +á¹¢i &si íta +&ÃŒwò +&Tunká» +&Tun oruká» ká» +&Ṣẹ̀dà si... +&Gbé si... +&Paarẹ +&Pín faíli... +Ṣà àwá»n faíli kópá»Ì€... +&Àbùdá +&ỌrỠìwòye... +á¹¢e iá¹£iro checksum +íyàtọ̀ +Dá àpò faíli silẹ́ +Dá faíli silẹ́ +&Pádé +ÃŒtá»Ìkasí +&Yiyan agbara détà +600 +Àṣàyàn &gbogbo faíli +Paa Àṣàyàn gbogbo faíli +&Yi Àṣàyàn Padà +Àṣàyàn... +Paa Àṣàyàn... +Àṣàyàn bi irú faíli +Paa Àṣàyàn bi irú faíli +700 +&Àmi Å„lá +&Àmi Kékeré +&Aká»jọ́ +&Awá»n alaye +730 +Lai tá» lẹsẹsẹ +Iwò á¹¢epẹtẹ +&Iriná¹£áº¹Ì méjì +&Pẹpẹ iriná¹£áº¹Ì +á¹¢i pìlẹ̀ +Lá» sókè lẹẹkan +ÃŒtàn àpò faíli... +&Sá»dá»Ì€tun +Isá»dá»Ì€tun aládÃ Ã¡á¹£áº¹Ì +750 +Kó pẹpẹ iriná¹£áº¹Ì jọ́pá» +Ojúlówó pẹpẹ iriná¹£áº¹Ì +Onini Å„lá +Fihàn ÃŒpilẹ̀sọ́ ọ̀rọ̀ Onini +800 +Fi àpò faíli si àpò faíli ayanfẹ +Àmì ìwé +900 +&ÃŒyàn... +&Ala +960na +&Àkóónú... +&Nípa 7-Zip... +1003 +Ọnà +Oruká» +ÃŒká»pá»mó +Àpò faíli +ÃŒwá»n +ÃŒwá»n àkójá»pá»Ì€ +Àwòmá»Ì +Idásílẹ́ +ÃŒráyè sí +Atúná¹£e +Alagbara +ỌrỠìwòye +ÃŒwépọ̀ +Ká»ká» pín +Pín lẹ́hìn +ÃŒwe itúmá»Ì€-èdè + +Irú +Egboogi +Ito lẹsẹsẹ +OS agbalejo +ÃŒlànà ètò fáìlì +Onilò +ÃŒwá»Ìpá»Ì€ +Dínà +ỌrỠìwòye +Ipò +ÃŒpele á»Ì€nà +Àpò faíli +Faíli +Ẹya +Ọ̀pá»Ì€ òǹlò +Ọ̀pá»Ì€ òǹlò á»pá»lá»pá» +Aiá¹£edeede +Awá»n ÃŒtá»Ìkasí +Àká»sílẹ +Awá»n á»Ì€pá»Ì€ òǹlò + +Bíìtì-8 +Endian itóbi +CPU +ÃŒwá»n gangan +ÃŒwá»n àká»sórí +Checksum +Ti ìwà +ÀdírẹÌẹ̀sì àfojúunúṣe +ID +Orúká» kuru +Ohun èlò eleda +ÃŒwá»n apákàan +Móòdù +ÃŒtá»Ìkasí to ni aami +Ìṣiá¹£e +ÃŒwá»n lapapá» +Aaye to ṣẹku +ÃŒwá»n ìṣùpá»Ì€ +Aṣàmì +Agbègbè orúká» +Olùpèsè +Ààbò NT +Yiyan agbara détà +Olurànlá»wá» +Ààtàn +O jẹ igi + + +Irú +Awá»n ìṣiá¹£e +Awá»n ìṣiá¹£e +Awá»n ìkìlá»Ì€ +ÃŒkìlá»Ì€ +Agbara détà +Yiyan agbara détà +ÃŒwá»n Yiyan Agbara +ÃŒwá»n àfojúunúṣe +ÃŒwá»n ìtú erú +ÃŒwá»n gangan lapapá» +Atá»Ìkà á»Ì€pá»Ì€ òǹlò +ẹ̀ka-ìwá»n +á»rỠìwòye kuru +Ojú-ìwé kóòdù + + + +ÃŒwá»n ìrú +ÃŒwá»n àfibá»Ì€ ìyá»kúrò +ÃŒtá»Ìkasí +ÃŒtá»Ìkasí lile +iNode + +Kàn kàá +2100 +ÃŒyàn +Èdè +Èdè: +Aṣàtúná¹£e +&Aṣàtúná¹£e: +&íyàtọ̀: +2200 +ÃŒlànà ètò +Da fáìlì pá»-má» 7-Zip: +Gbogbo onilò +2301 +Sá» 7-Zip pá»Ì€ má» mẹÌnù á»Ì€gàngán ipò ṣẹÌẹ̀lì +MẹÌnù á»Ì€gàngán ipò pérété +Ijẹri ninu mẹÌnù á»Ì€gàngán ipò: +Àmì ninu mẹÌnù á»Ì€gàngán ipò +2320 +<Àpò faíli> +<Àpò faíli àkójọ́pá»> +á¹¢i àpò faíli àkójọ́pá» +Tú faíli silẹ... +Fi si àpò faíli àkójọ́pá»... +Dán àpò faíli àkójọ́pá» wò +Tú faíli si inú ibí +Tú faíli si inú {0} +Fi si {0} +Kó faíli jọ́pá», ko rán í-meèlì... +Kó faíli jọ́pá» si {0} ko rán í-meèlì +2400 +Àpò faíli +&Àpò faíli iá¹£iá¹£áº¹Ì +&ÃŒlànà ètò àpò faíli ibùgbé +&Lá»Ìwá»Ìlá»Ìwá»Ì +&Pàtó kan: +Lò fun àwo àká-á»Ì€rá»Ì€ yiyá» nìkan +Yan ilé fun àpò faíli àkójọ́pá» ibùgbé +2500 +ÃŒtò +Fihàn ".." ijẹri +Fihàn àmì faíli gidi +Fihàn mẹÌnù ìlànà ètò +&Àṣàyàn gbogbo ìlà ìbú +Fihàn &àwá»n ìlà gírìdì +Ìṣíra tẹ̀ lẹÌẹ̀kan láti ṣí ijẹri +&Yiyan móòdù àṣàyàn +Lò &ojú-ìwé ti o nlò ibi ìpamá»Ì Å„lá +2900 +Nípa 7-Zip +Ẹ̀yà àìrídìmú á¹£'ofo ni 7-Zip +3000 +ÃŒlànà ètò ò le pín ibi ìpamá»Ì ti o tó +Kò si iá¹£iá¹£e kankan +Iye àṣàyàn: {0} +Kò lé dá àpò faíli '{0}' +Kò lé ṣàfikùn àpò faíli àkójọ́pá» yí. +Kò lé ṣí àpò faíli '{0}' sí àpò faíli àkójọ́pá» +Kò lé ṣí àpò faíli àkójọ́pá» (ìpàrokò). á»rá»Ì€ aṣínà láìpé +Faíli yí o baamu +Faíli {0} ti wà níbẹ +Faíli '{0}' títúná¹£e.\n á¹£e ẹ fẹ̀ túná¹£e si inú àpò faíli àkójọ́pá»? +Kò le ṣàfikún fun faíli yí \n'{0}' +Kò le ṣí Olótùú. +Faíli yí jỠàkóràn(Ààyè to wa ni àárín oruká» faíli ti poju). +Kò le pè ìmú iá¹£iá¹£áº¹Ì yí láti àpò faíli to ni á»Ì€nà gígùn. +Ẹ gbá»dỠṣàyàn faíli kan. +Ẹ gbá»dỠṣàyàn faíli kan tàbí faíli pupá» +Ijẹri ti ẹ ṣà ti pá»ju +Kò le ṣí faíli yí bí {0} àpò faíli àkójọ́pá» +Faíli yí ti ṣí bí {0} àpò faíli àkójọ́pá» +Àpò faíli àkójọ́pá» yí ti ṣí pẹlu aiá¹£edeede +3300 +ÃŒtúsilẹ +ÃŒkójọ́pá» +ÃŒdánwò +Ìṣíṣí... +Ìṣẹ̀dà àwòrán ... +ÃŒyá»kúrò +3320 +ÃŒfi-sí +Ìṣàfikùn +ÃŒtúpalẹ̀ +ÃŒfijá» +Ìṣatopá» +Mbẹ́ +ÃŒpaarẹ +ÃŒdá àká»sórí +3400 +Túsilẹ +&Tú faíli si inú: +Yan ibi ti awá»n faíli ma tú si. +3410 +Móòdù á»Ì€nà: +Gbogbo oruká» á»Ì€nà +Kò si oruká» á»Ì€nà +Oruká» á»Ì€nà á»lá»Ìgangan +Oruká» á»Ì€nà ìbátan +3420 +Móòdù ìká»sórí: +Béèrè kí ó tó ká» sórí faíli +Ká» sórí faíli lai béèrè +Mà wo faíli tó ti wà níbẹ +Tun oruká» ká» laládàáṣiá¹£áº¹Ì +Tun ká» oruká» faíli tó ti wà níbẹ laládàáṣiá¹£áº¹Ì +3430 +Mú ìfijỠàpò faíli ìpìlẹ̀ kúrò +Da ààbò faíli padà +3500 +Tẹnumọ́ àfirá»Ìpò faíli +Àpò fáìlì èbúté ti ní fáìlì ìgbésẹÌ. +á¹¢e ẹ fẹ̀ ṣàfirá»Ìpò fun fáìlì tó ti wà níbẹ +pẹlu fáìlì yí? +Báìtì {0} +&Tun oruká» ká» laládàáṣiá¹£áº¹Ì +3700 +Ká» si àtìlẹÌyìn fun ètò àkójọ́pá» yí '{0}'. +Ìṣiá¹£e détà ṣẹlẹ ní inú '{0}'. Fáìlì ti bajẹ. +ÃŒkùnà CRC ṣẹlẹ ní inú '{0}'. Fáìlì ti bajẹ. +Ìṣiá¹£e détà ṣẹlẹ ní inú fáìlì pàroko '{0}'. Tun wo á»Ì€rá»Ì€ aṣínà +ÃŒkùnà CRC ṣẹlẹ ní inú fáìlì pàroko '{0}'. Tun wo á»Ì€rá»Ì€ aṣínà +3710 +Tun wo á»Ì€rá»Ì€ aṣínà +3721 +Ko si àtìlẹÌyìn fun ètò àkójọ́pá» yí +Ìṣiá¹£e détà ṣẹlẹ +Détà ò á¹£eélò +ÃŒkùnà CRC +Détà ti parí lójijì +Détà á¹£i wa lẹ̀hìn détà á»Ì€gangan +Kò á¹£e faíli akójọ́pá» +Ìṣiá¹£e àká»lé +Tun wo á»Ì€rá»Ì€ aṣínà +3763 +ÃŒbẹ̀rẹ̀ faíli akójọ́pỠò á¹£eélò +ÃŒbẹ̀rẹ̀ faíli akójọ́pỠò á¹£e tẹnumọ́ + + + +Ko si àtìlẹÌyìn fun àfidámá»Ì€ yí +3800 +Tẹ̀ á»Ì€rá»Ì€ aṣínà +Tẹ̀ á»Ì€rá»Ì€ aṣínà: +ṣítẹ̀ á»Ì€rá»Ì€ aṣínà: +&Fihàn á»Ì€rá»Ì€ aṣínà +Awá»n á»Ì€rá»Ì€ aṣínà ò dá»gba +Lò ábídí, iye tàbí aami Gẹ̀ẹÌsì nìkan (!, #, $, ...) fun á»Ì€rá»Ì€ aṣínà +Ọ̀rá»Ì€ aṣínà ti gùn ju +Ọ̀rá»Ì€ aṣínà +3900 +Àsìkò ti okan: +Àsìkò ti o ku: +ÃŒwá»n lapapá»: +ÃŒyára: +Ìṣètò: +ÃŒpín ÃŒkójọ́pá»: +Awá»n ìṣiá¹£e: +Awá»n faíli àkójọ́pá»: +4000 +Fi si àpò faíli àkójọ́pá» +&Faíli àkójọ́pá»: +&Móòdù ìṣàfikún: +&ÃŒgúnrégé faíli àkójọ́pá»: +&ÃŒpele àkójọ́pá»: +&Ọ̀nà àkójọ́pá»: +&ÃŒwá»n àtúmá»Ì€-èdè: +&ÃŒwá»n ó̩ró̩gbólóhùn: +ÃŒwá»n sèdíwá»: +Iye èròjà atẹ̀lélànà CPU: +&Awá»n afòdiwá»Ì€n: +ÃŒyàn +Dá àpò faíli àkójọ́pá» fun SF&X +Ko faíli alájá»pín jọ́pá» +ÃŒpàrokò +Móòdù ìpàrokò: +&á¹¢e ìpàrokò fun orúká» faíli +ìlò ibi ìpamá»Ì fun àkójọ́pá»: +ìlò ibi ìpamá»Ì fun ìtúsilẹ: +Paarẹ faíli lẹ̀hìn àkójọ́pá» +4040 +Fi ìtá»Ìkasí to ni aami pamá»Ì +Fi ìtá»Ìkasí lile pamá»Ì +Fi agbara détà pamá»Ì +Fi àfirá»Ìpò faíli pamá»Ì +4050 +Ṣàfipamá»Ì +Kíá ju +Kíákíá +Déédéé +Ki o pá»ju +Ki o púpá»Ì€ +4060 +Fi faíli si ki o tun fi rá»Ìpò +Ṣàfikùn faili ki o tun fi si +Sá» awá»n faili lá»Ìwá»Ì di á»Ì€tun +Mú awá»n faíli dá»Ìgba +4070 +Wáròyìn +Gbogbo faíli +Lai le +Lile +6000 +Ṣẹ̀dà +Gbé +Ṣẹ̀dà si: +Gbé si: +Ìṣẹ̀dà +ÃŒgbé... +ÃŒtunká»... +Ṣàyàn èbúté àpò faíli. +ÃŒmú á¹£iá¹£áº¹Ì o ni àtìlẹÌyìn fun àpò faíli. +Ìṣiá¹£e ṣẹlẹ ní ìtunkỠàpò faíli +Tẹnumọ́ ìṣẹ̀dà faíli +á¹¢e áº¹Ì dájú pe ẹ fẹ́ ṣẹ̀dà awá»n faíli yí si àpò faíli àkójọ́pá»? +6100 +Tẹnumọ́ ìpaarẹ faíli +Tẹnumọ́ ìpaarẹ àpò faíli +Tẹnumọ́ ìpaarẹ àpò faíli á»Ì€pá»Ì€ +á¹¢e áº¹Ì dájú pe ẹ fẹ́ paarẹ '{0}'? +á¹¢e áº¹Ì dájú pe ẹ fẹ́ paarẹ '{0}' a àti gbogbo àkóónú ẹ? +á¹¢e áº¹Ì dájú pe ẹ fẹ́ paarẹ iye ijẹri yí {0} ? +ÃŒpaarẹ... +Ìṣiá¹£e ṣẹlẹ ni ìpaarẹ faíli tàbí àpò faíli +ÃŒlànà ètò o le gbé faíli to ni orúká» gígùn si inú Ààtàn +6300 +Dá àpò faíli +Dá faíli +OrúkỠàpò faíli: +Orúká» faíli: +Àpò faíli +Faíli tuntun +Ìṣiá¹£e ṣẹlẹ ni ìdá àpò faíli +Ìṣiá¹£e ṣẹlẹ ni ìdá faíli +6400 +ỌrỠìwòye +&ỌrỠìwòye: +Ṣàyàn +Paa Àṣàyàn +Asáº¹Ì iye: +6600 +Àbùdá +Aká»á»Ìlẹ̀ àpò faíli +Atá»pinpin-Àìṣedédé iṣé +Iṣé +7100 +Ká»Ì€mpútà +Alásopá»Ì€ +Àká»sílẹ̀ +ÃŒlànà ètò +7200 +Fi-sí +Túsilẹ +Dán-wò +Ṣẹ̀dà +Gbé +Paarẹ +ÃŒròyìn +7300 +Pín faíli +&Pín si: +Pín si &á»Ì€pá»Ì€ òǹlò, báìtì: +ÃŒpín... +Tẹnumọ́ ÃŒpín +á¹¢e áº¹Ì dájú pe ẹ fẹ́ pín faíli si á»Ì€pá»Ì€ òǹlò {0}? +Ọ̀̀pá»Ì€ òǹlò láti kéré ju ìwá»n faíli ojulowo lá» +ìwá»n á»Ì€pá»Ì€ òǹlò láìpé +Yan ìwá»n á»Ì€pá»Ì€ òǹlò: {0} báìtì.\ná¹¢e áº¹Ì dájú pe ẹ fẹ́ pín àpò faíli àkójọ́pá» si á»Ì€pá»Ì€ òǹlò awá»n yí? +7400 +Kó faíli pá»Ì€ +&Kó faíli pá»Ì€ si: +ÃŒkópá»Ì€... +Ṣàyàn aká»ká» faíli ìpín nìkan +Ko lè rí faíli ni inu faíli ìpín +Ko lè rí ju apá faíli kan lá» +7500 +ÃŒkà checksum... +ÃŒròyìn Checksum +CRC checksum fun détà: +CRC checksum fun détà àti orúká»: +7600 +Ala +ÃŒlò ibi ìpamá»Ì: +Akójọ́pá» +ÃŒtúsilẹ +ÃŒgbéléwá»Ì€n +Awá»n ìgbéléwá»Ì€n lapapá» +Lá»Ìwá»Ìlá»Ìwá»Ì +èsì +ÃŒlò CPU +ÃŒgbéléwá»Ì€n / ÃŒlò +ÃŒwé ìjáde: +7700 +ÃŒtá»Ìkasí +ÃŒtá»Ìkasí +ÃŒtá»Ìkasí láti: +ÃŒtá»Ìkasí: +7710 +Irú ÃŒtá»Ìkasí +ÃŒtá»Ìkasí lile +Faíli ÃŒtá»Ìkasí to ni aami +Iwé ilana ÃŒtá»Ìkasí to ni aami +Idapá» iwé ilana diff --git a/Utils/7-Zip/Lang/zh-cn.txt b/Utils/7-Zip/Lang/zh-cn.txt new file mode 100644 index 000000000..994abc726 --- /dev/null +++ b/Utils/7-Zip/Lang/zh-cn.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 2.30 : 2002-09-07 : Modern Tiger, kaZek, Hutu Li +; 3.08 : 2003-08-29 : Tunghsiao Liu (aka. Sparanoid) +; 16.00 : 2016-05-16 : Tunghsiao Liu (aka. Sparanoid) +; +; +; +; +; +; +; +; +0 +7-Zip +Chinese Simplified +简体中文 +401 +确定 +å–æ¶ˆ + + + +是(&Y) +å¦(&N) +关闭(&C) +帮助 + +ç»§ç»­(&C) +440 +全是(&A) +å…¨å¦(&L) +åœæ­¢ +釿–°å¼€å§‹ +åŽå°(&B) +å‰å°(&F) +æš‚åœ(&P) +å·²æš‚åœ +您真的è¦å–消å—? +500 +文件(&F) +编辑(&E) +查看(&V) +书签(&A) +工具(&T) +帮助(&H) +540 +打开(&O) +当å‰çª—壿‰“å¼€(&I) +æ–°å»ºçª—å£æ‰“å¼€(&U) +查看(&V) +编辑(&E) +é‡å‘½å(&M) +å¤åˆ¶åˆ°(&C)... +移动到(&M)... +删除(&D) +分割文件(&S)... +åˆå¹¶æ–‡ä»¶(&B)... +属性(&R) +注释(&N) +文件校验 +文件比较 +新建文件夹 +新建文件 +退出(&X) +链接 +äº¤æ›¿æ•°æ®æµ(&A) +600 +全选(&A) +å…¨éƒ¨å–æ¶ˆ +å选(&I) +选择... +å–æ¶ˆé€‰æ‹©... +选择相åŒç±»åž‹çš„æ–‡ä»¶ +å–æ¶ˆé€‰æ‹©ç›¸åŒç±»åž‹çš„æ–‡ä»¶ +700 +大图标(&G) +å°å›¾æ ‡(&M) +列表(&L) +详细信æ¯(&D) +730 +ä¸æŽ’åº +å¹³é“ºæ¨¡å¼ +åŒç‰ˆé¢(&2) +工具æ (&T) +打开根文件夹 +å‘上 +文件夹历å²... +刷新(&R) +自动刷新 +750 +æ¡£æ¡ˆå·¥å…·æ  +æ ‡å‡†å·¥å…·æ  +大按钮 +显示按钮文字 +800 +添加到书签(&A) +书签 +900 +选项(&O) +基准测试(&B) +960 +查看帮助(&C) +关于 7-Zip (&A) +1003 +路径 +åç§° +扩展å +文件夹 +å¤§å° +压缩åŽå¤§å° +属性 +创建时间 +访问时间 +修改时间 +固实 +注释 +加密 +之å‰åˆ†å‰² +之åŽåˆ†å‰² +å­—å…¸å¤§å° + +类型 +剔除项 +算法 +主æ“作系统 +文件系统 +用户 +组 +å­—å— +注释 +å®šä½ +路径å‰ç¼€ +文件夹 +文件 +版本 +å· +多å·åŽ‹ç¼© +åç§» +链接 +å­—å— +åˆ†å· + +64 ä½ +å¤§ç«¯åº +CPU +物ç†å¤§å° +æ–‡ä»¶å¤´å¤§å° +校验和 +ç‰¹å¾ +è™šæ‹Ÿåœ°å€ +ID +短文件å +åˆ›å»ºç¨‹åº +æ‰‡åŒºå¤§å° +æ¨¡å¼ +链接 +错误 +æ€»å¤§å° +å¯ç”¨ç©ºé—´ +ç°‡å¤§å° +å·æ ‡ +本地åç§° +供应者 +NT 安全 +äº¤æ›¿æ•°æ®æµ +Aux +已删除 +树状结构 + + +错误类型 +错误 +错误 +警告 +警告 +æ•°æ®æµ +äº¤æ›¿æ•°æ®æµ +äº¤æ›¿æ•°æ®æµå¤§å° +è™šæ‹Ÿå¤§å° +é‡Šæ”¾å¤§å° +完整物ç†å¤§å° +å·ç´¢å¼• +SubType +短评论 +代ç é¡µ + + + +å°¾éƒ¨å¤§å° +åµŒå…¥å°¾éƒ¨å¤§å° +链接类型 +硬链接 +iNode + +åªè¯» +2100 +选项 +语言 +选择语言: +编辑器 +指定编辑器(&E): +指定文件比较程åº(&D): +2200 +系统 +使用 7-Zip å…³è”的文件类型: +所有用户 +2301 +添加 7-Zip 到å³é”®èœå• +层å å³é”®èœå• +选择在å³é”®èœå•中显示的项目: +å³é”®èœå•显示图标 +2320 +<文件夹> +<档案> +打开压缩包 +æå–文件... +添加到压缩包... +测试压缩包 +æå–到当å‰ä½ç½® +æå–到 {0} +添加到 {0} +压缩并邮寄... +压缩 {0} 并邮寄 +2400 +文件夹 +工作文件夹(&W) +系统临时文件夹(&S) +当剿–‡ä»¶å¤¹(&C) +指定ä½ç½®(&S) +仅用于å¯ç§»åŠ¨è®¾å¤‡ +指定一个存放临时压缩包的ä½ç½®ã€‚ +2500 +显示 +显示「..ã€é¡¹ (åŒå‡»å‘上) +显示真实图标 +显示系统èœå• +整行选择(&F) +显示网格线(&G) +å•击打开项目 +7-Zip 传统选择模å¼(&A) +使用大内存页(&L) +2900 +关于 7-Zip +7-Zip 是一款自由软件。您å¯ä»¥é€šè¿‡æèµ çš„æ–¹å¼æ¥æ”¯æŒ 7-Zip 的开å‘。 +3000 +ç³»ç»Ÿæ— æ³•åˆ†é…æ‰€éœ€å†…å­˜ +未å‘现错误 +选定 {0} 个项目 +无法创建文件夹「{0}〠+䏿”¯æŒæ­¤åŽ‹ç¼©åŒ…çš„æ›´æ–°æ“作。 +无法作为压缩包打开文件「{0}〠+无法打开加密压缩包「{0}ã€ã€‚密ç é”™è¯¯ï¼Ÿ +䏿”¯æŒçš„åŽ‹ç¼©åŒ…æ ¼å¼ +文件 {0} 已存在 +文件「{0}ã€å·²ä¿®æ”¹ã€‚\n你想在压缩文件中更新它? +无法更新文件\n「{0}ã€ã€‚ +无法è¿è¡Œå¤–部编辑。 +此文件似乎是病毒文件(文件å中包å«å¤šä¸ªç©ºæ ¼)。 +无法为过长的路径完æˆè¯¥æ“作。 +您必须选择一个文件 +您至少è¦é€‰æ‹©ä¸€ä¸ªæ–‡ä»¶ +项目太多 +无法作为 {0} 压缩包打开该文件 +文件以 {0} æ ¼å¼æ‰“å¼€ +压缩包包å«åç§» +3300 +正在æå– +正在压缩 +正在测试 +正在打开... +正在æœç´¢... +正在移除 +3320 +正在添加 +正在更新 +æ­£åœ¨åˆ†æž +正在å¤åˆ¶ +正在打包 +正在跳过 +正在删除 +正在创建文件头 +3400 +æå– +æå–到(&X): +指定一个æå–文件的ä½ç½®ã€‚ +3410 +è·¯å¾„æ¨¡å¼ +完整路径 +无路径 +ç»å¯¹è·¯å¾„ +相对路径 +3420 +è¦†ç›–æ¨¡å¼ +在覆盖å‰è¯¢é—® +ä¸æç¤ºè‡ªåŠ¨è¦†ç›– +跳过已ç»å­˜åœ¨çš„æ–‡ä»¶ +自动é‡å‘½å +é‡å‘½å现有文件 +3430 +排除é‡å¤çš„æ ¹æ–‡ä»¶å¤¹ +æ¢å¤æ–‡ä»¶å®‰å…¨è®¾ç½® +3500 +ç¡®è®¤æ–‡ä»¶æ›¿æ¢ +此文件夹已包å«ä¸€ä¸ªç›¸åŒå称的文件。 +是å¦å°†çŽ°æœ‰æ–‡ä»¶ +替æ¢ä¸º +{0} 字节 +è‡ªåŠ¨é‡æ–°å‘½å(&U) +3700 +䏿”¯æŒçš„压缩算法「{0}ã€ã€‚ +æ•°æ®ã€Œ{0}ã€å‘生错误,文件已æŸå。 +CRC 校验「{0}ã€å¤±è´¥ï¼Œæ–‡ä»¶å·²æŸå。 +加密文件「{0}ã€æ•°æ®æœ‰è¯¯ï¼Œå¯†ç é”™è¯¯ï¼Ÿ +加密文件「{0}ã€CRC æ•°æ®æ ¡éªŒæœ‰è¯¯ï¼Œå¯†ç é”™è¯¯ï¼Ÿ +3710 +密ç é”™è¯¯ï¼Ÿ +3721 +䏿”¯æŒçš„压缩算法 +æ•°æ®é”™è¯¯ +CRC 校验失败 +æ•°æ®ä¸å¯ç”¨ +文件末端错误 +有效数æ®å¤–包å«é¢å¤–æ•°æ® +éžåŽ‹ç¼©åŒ… +头部错误 +密ç é”™è¯¯ +3763 +档案起始ä½ç½®ä¸å¯ç”¨ +无法确认档案起始ä½ç½® + + + +䏿”¯æŒæ­¤åŠŸèƒ½ +3800 +è¾“å…¥å¯†ç  +输入密ç ï¼š +釿–°è¾“入: +显示密ç (&S) +密ç ä¸åŒ¹é… +密ç åªå…许英文字符,数字,以åŠç‰¹æ®Šå­—符 (!ã€#ã€$...) +密ç è¿‡é•¿ +å¯†ç  +3900 +已用时间: +剩余时间: +总大å°ï¼š +速度: +已处ç†ï¼š +压缩率: +å‘生错误: +压缩包: +4000 +添加到压缩包 +压缩包(&A): +æ›´æ–°æ–¹å¼(&U): +压缩格å¼(&F): +压缩等级(&L): +压缩方法(&M): +字典大å°(&D): +å•è¯å¤§å°(&W): +固实数æ®å¤§å°ï¼š +CPU 线程数: +傿•°(&P): +选项 +创建自释放程åº(&X) +压缩共享文件 +加密 +加密算法: +加密文件å(&N) +压缩所需内存: +解压缩所需内存: +æ“作完æˆåŽåˆ é™¤æºæ–‡ä»¶ +4040 +ä¿å­˜ç¬¦å·é“¾æŽ¥ +ä¿å­˜ç¡¬é“¾æŽ¥ +ä¿å­˜äº¤æ›¿æ•°æ®æµ +ä¿å­˜æ–‡ä»¶å®‰å…¨è®¾ç½® +4050 +仅存储 +æžé€ŸåŽ‹ç¼© +快速压缩 +标准压缩 +最大压缩 +æžé™åŽ‹ç¼© +4060 +æ·»åŠ å¹¶æ›¿æ¢æ–‡ä»¶ +更新并添加文件 +åªåˆ·æ–°å·²å­˜åœ¨çš„æ–‡ä»¶ +åŒæ­¥åŽ‹ç¼©åŒ…å†…å®¹ +4070 +æµè§ˆ +所有文件 +éžå›ºå®ž +固实 +6000 +å¤åˆ¶ +移动 +å¤åˆ¶åˆ°ï¼š +移动到: +正在å¤åˆ¶... +正在移动... +æ­£åœ¨é‡æ–°å‘½å... +选择目标文件夹。 +䏿”¯æŒå½“剿“作 +无法é‡å‘½å文件或文件夹。 +确认文件å¤åˆ¶ +您确定å¤åˆ¶æ–‡ä»¶åˆ°åŽ‹ç¼©åŒ… +6100 +确认文件删除 +确认文件夹删除 +确认删除多个文件 +确实è¦åˆ é™¤ 「{0}ã€å—? +确实è¦åˆ é™¤æ–‡ä»¶å¤¹ã€Œ{0}ã€ä»¥åŠå…¨éƒ¨å†…容å—? +确实è¦åˆ é™¤è¿™ {0} 项? +正在删除... +无法删除文件或文件夹. +系统无法将过长路径的文件移动到回收站 +6300 +新建文件夹 +新建文件 +文件夹å称: +文件å: +新建文件夹 +新建文件.txt +无法创建文件夹 +无法新建文件 +6400 +注释 +注释(&C): +选择 +å–æ¶ˆé€‰å®š +掩ç ï¼š +6600 +属性 +æ–‡ä»¶å¤¹åŽ†å² +è¯Šæ–­ä¿¡æ¯ +ä¿¡æ¯ +7100 +我的电脑 +网络 +我的文档 +系统 +7200 +添加 +æå– +测试 +å¤åˆ¶ +移动 +删除 +ä¿¡æ¯ +7300 +分割文件 +分割文件到(&S): +分å·å¤§å°ï¼Œå­—节(&V): +正在分割... +确认分割 +您确认è¦å°†æ–‡ä»¶åˆ†å‰²ä¸º {0} 个分å·ï¼Ÿ +分å·å¤§å°å¿…é¡»å°äºŽåŽŸæ–‡ä»¶å¤§å° +分å·å¤§å°é”™è¯¯ +指定分å·å¤§å°ï¼š{0} 字节。\n您确定è¦åˆ†å‰²å½“剿–‡ä»¶å—? +7400 +åˆå¹¶æ–‡ä»¶ +åˆå¹¶æ–‡ä»¶åˆ°(&S): +正在åˆå¹¶... +请选择分å·çš„首个文件 +æ— æ³•è¯†åˆ«æ–‡ä»¶ä¸ºåŽ‹ç¼©åˆ†å· +æ— æ³•æ‰¾åˆ°å…¶ä»–åŽ‹ç¼©åˆ†å· +7500 +正在校验... +æ ¡éªŒä¿¡æ¯ +CRC æ•°æ®æ ¡éªŒï¼š +CRC æ•°æ®åŠæ–‡ä»¶å校验: +7600 +基准测试 +内存使用: +压缩 +解压缩 +评分 +总体评分 +å½“å‰ +结果 +CPU 使用率 +使用率评分 +已通过: +7700 +链接 +链接 +链接自: +链接到: +7710 +链接类型 +硬链接 +文件符å·é“¾æŽ¥ï¼ˆSymbolic Link) +目录符å·é“¾æŽ¥ï¼ˆSymbolic Link) +目录接åˆç‚¹ï¼ˆDirectory Junction) diff --git a/Utils/7-Zip/Lang/zh-tw.txt b/Utils/7-Zip/Lang/zh-tw.txt new file mode 100644 index 000000000..8b89469d7 --- /dev/null +++ b/Utils/7-Zip/Lang/zh-tw.txt @@ -0,0 +1,495 @@ +;!@Lang2@!UTF-8! +; 4.59 : Leon Tseng, sec2, ç¥ç€ +; 9.07 - 15.00 : Jack Pang : http://www.developershome.com/7-zip/ +; +; +; +; +; +; +; +; +; +0 +7-Zip +Chinese Traditional +ç¹é«”中文 +401 +確定 +å–æ¶ˆ + + + +是(&Y) +å¦(&N) +關閉(&C) +說明 + +繼續(&C) +440 +全部皆是(&A) +全部皆å¦(&L) +åœæ­¢ +釿–°é–‹å§‹ +背景作業(&B) +剿™¯ä½œæ¥­(&F) +æš«åœ(&P) +æš«åœ +您確定è¦å–消嗎? +500 +檔案(&F) +編輯(&E) +檢視(&V) +我的最愛(&A) +工具(&T) +說明(&H) +540 +開啟(&O) +在內部開啟(&I) +在外部開啟(&U) +檢視(&V) +編輯(&E) +釿–°å‘½å(&M) +複製到(&C)... +移動到(&M)... +刪除(&D) +分割檔案(&S)... +åˆä½µæª”案(&B)... +內容(&R) +註解(&N) +計算驗證值 +比較檔案 +建立資料夾 +建立檔案 +çµæŸ(&X) +é€£çµ +附加資料æµ(&A) +600 +å…¨é¸(&A) +å…¨ä¸é¸ +åå‘鏿“‡(&I) +é¸å–... +å–æ¶ˆé¸å–... +ä¾é¡žåž‹é¸å– +ä¾é¡žåž‹ä¸é¸å– +700 +大圖示(&G) +å°åœ–示(&M) +清單(&L) +詳細資料(&D) +730 +ä¸æŽ’åº +攤開檢視 +雙窗格(&2) +工具列(&T) +開啟根目錄 +上移一層 +資料夾歷程記錄... +釿–°æ•´ç†(&R) +è‡ªå‹•é‡æ–°æ•´ç† +750 +壓縮檔工具列 +標準工具列 +大型按鈕 +顯示按鈕文字 +800 +將資料夾加入我的最愛為(&A) +書籤 +900 +é¸é …(&O)... +效能測試(&B) +960 +內容(&C)... +關於 7-Zip(&A)... +1003 +路徑 +å稱 +副檔å +資料夾 +å¤§å° +å°è£å¾Œå¤§å° +屬性 +建立日期 +å­˜å–æ—¥æœŸ +修改日期 +緊密 +註解 +加密 +åˆ†å‰²å‰ +分割後 +å­—å…¸å¤§å° + +類型 +防護 +æ–¹å¼ +主機作業系統 +檔案系統 +使用者 +群組 +å€å¡Š +註解 +ä½ç½® +路徑å‰ç¶´ +資料夾 +檔案 +版本 +å· +å¤šå· +åç§» +é€£çµ +å€å¡Š +åˆ†å· + +64 ä½ +å¤§ç«¯åº +CPU +物ç†å¤§å° +æ¨™é ­å¤§å° +驗證值 +特徵 +è™›æ“¬åœ°å€ +ID +簡稱 +å‰µå»ºç¨‹å¼ +扇å€å¤§å° +æ¨¡å¼ +ç¬¦è™Ÿé€£çµ +錯誤 +å…¨éƒ¨å¤§å° +å¯ç”¨ç©ºé–“ +å¢é›†å¤§å° +標籤 +本機å稱 +æä¾›è€… +NT 安全性 +é™„åŠ è³‡æ–™æµ +Aux +刪除日期 +æ˜¯å¦æ¨¹ç‹€çµæ§‹ + + +錯誤類型 +錯誤 +錯誤 +警告 +警告 +è³‡æ–™æµ +é™„åŠ è³‡æ–™æµ +附加資料æµå¤§å° +è™›æ“¬å¤§å° +è§£å°å¾Œå¤§å° +總物ç†å¤§å° +å·ç´¢å¼• +å­é¡žåž‹ +簡短註解 +ä»£ç¢¼é  + + + +æ–‡ä»¶å°¾å¤§å° +åµŒå…¥å¼æ®˜ç«¯å¤§å° +é€£çµ +ç¡¬é€£çµ +iNode + +唯讀 +2100 +é¸é … +語言 +介é¢èªžè¨€: +編輯器 +編輯器(&E): +檔案比較程å¼(&D): +2200 +系統 +使 7-Zip 與之產生關è¯: +所有使用者 +2301 +å°‡ 7-Zip æ•´åˆåˆ°å¿«é¡¯åŠŸèƒ½è¡¨ä¸­ +串è¯å¼å¿«é¡¯åŠŸèƒ½è¡¨ +快顯功能表項目: +快顯功能表顯示圖示 +2320 +<資料夾> +<壓縮檔> +開啟壓縮檔 +解壓縮檔案... +加入壓縮檔... +測試壓縮檔 +解壓縮至此 +解壓縮至 {0} +加入 {0} +壓縮並郵寄... +å£“ç¸®æˆ {0} 並郵寄 +2400 +資料夾 +工作資料夾(&W) +系統暫存資料夾(&S) +ç›®å‰çš„資料夾(&C) +指定的資料夾(&S): +僅用於å¸é™¤å¼ç£ç¢Ÿæ©Ÿ +請指定存放暫存壓縮檔的ä½ç½®ã€‚ +2500 +設定 +顯示 ".." é …ç›® +顯示實際檔案圖示 +顯示系統é¸å–® +整列é¸å–(&F) +顯示格線(&G) +單擊開啟項目 +ä½¿ç”¨æ›¿ä»£é¸æ“‡æ¨¡å¼(&A) +使用大記憶體分é (&L) +2900 +關於 7-Zip +7-Zip 為自由軟體 +3000 +系統未能æä¾›æ‰€éœ€è¨˜æ†¶é«”空間 +沒有任何錯誤 +å·²é¸å– {0} 個物件 +無法建立資料夾 '{0}' +æ­¤å£“ç¸®æª”æœªæ”¯æ´æ›´æ–°æ“作。 +無法開啟壓縮檔 '{0}' +無法開啟加密的壓縮檔 '{0}'。錯誤的密碼? +䏿”¯æ´çš„壓縮檔類型 +檔案 {0} 已存在 +檔案 '{0}' 已被修改éŽã€‚\n您是å¦è¦åœ¨æ­¤å£“縮檔內更新檔案? +無法更新檔案\n'{0}' +無法啟動編輯器。 +檔案似是病毒(檔案åç¨±å«æœ‰å¾ˆå¤šç©ºæ ¼ï¼‰ã€‚ +ä¸èƒ½å®Œæˆæ“作,因資料夾路徑éŽé•·ã€‚ +æ‚¨å¿…é ˆé¸æ“‡ä¸€å€‹æª”案 +æ‚¨å¿…é ˆé¸æ“‡æœ€å°‘一個檔案 +é …ç›®éŽå¤š +無法開啟為 {0} 壓縮檔 +開啟為 {0} 壓縮檔 +壓縮檔以å移值開啟 +3300 +正在解壓縮 +正在壓縮 +測試 +正在開啟... +正在掃瞄... +正在移除 +3320 +正在加入 +正在更新 +æ­£åœ¨åˆ†æž +正在複製 +æ­£åœ¨é‡æ–°å°è£ +æ­£åœ¨ç•¥éŽ +正在刪除 +正在建立標頭 +3400 +解壓縮 +解壓縮至(&X): +請指定存放暫存壓縮檔的ä½ç½®ã€‚ +3410 +路徑模å¼: +完整的路徑å稱 +ä¸è¦è·¯å¾‘å稱 +絕å°è·¯å¾‘ +相å°è·¯å¾‘ +3420 +è¦†å¯«æ¨¡å¼ +覆寫å‰å…ˆè©¢å•我 +覆寫時ä¸è©¢å• +ç•¥éŽç¾æœ‰çš„æª”案 +è‡ªå‹•é‡æ–°å‘½å +è‡ªå‹•é‡æ–°å‘½åç¾æœ‰çš„æª”案 +3430 +刪除é‡è¤‡çš„æ ¹ç›®éŒ„ +æ¢å¾©æª”案安全設定 +3500 +確èªå–代檔案 +目的資料夾已包å«è¦è™•ç†çš„æª”案。 +您è¦å–ä»£ç¾æœ‰çš„æª”案 +而改用這個檔案嗎? +{0} ä½å…ƒçµ„ +è‡ªå‹•é‡æ–°å‘½å(&U) +3700 +'{0}' æœªæ”¯æ´æ­¤å£“縮方å¼ã€‚ +'{0}' ä¸­çš„è³‡æ–™å«æœ‰éŒ¯èª¤ã€‚檔案已æå£žã€‚ +'{0}' çš„ CRC 驗證失敗。檔案已æå£žã€‚ +加密檔 '{0}' ä¸­çš„è³‡æ–™å«æœ‰éŒ¯èª¤ã€‚錯誤的密碼? +加密檔 '{0}' çš„ CRC 驗證失敗。錯誤的密碼? +3710 +錯誤的密碼? +3721 +䏿”¯æ´æ­¤å£“ç¸®æ–¹å¼ +è³‡æ–™å«æœ‰éŒ¯èª¤ +CRC 驗證失敗 +資料ä¸èƒ½ä½¿ç”¨ +è³‡æ–™ç•°å¸¸çµ‚çµ +有效負載盡頭外還有其他資料 +䏿˜¯å£“縮檔 +標頭錯誤 +密碼錯誤 +3763 +壓縮檔的開端ä¸èƒ½ä½¿ç”¨ +未能確èªå£“縮檔的開端 + + + +䏿”¯æ´çš„功能 +3800 +輸入密碼 +輸入密碼: +釿–°è¼¸å…¥å¯†ç¢¼: +顯示密碼(&S) +密碼ä¸ä¸€è‡´ +僅能使用英文字æ¯ã€æ•¸å­—和特殊字元 (!, #, $, ...) 當作密碼 +密碼太長 +密碼 +3900 +ç¶“éŽæ™‚é–“: +剩餘時間: +大å°: +速度: +已處ç†: +壓縮率: +錯誤數: +壓縮檔: +4000 +加入壓縮檔 +壓縮檔(&A): +更新模å¼(&U): +壓縮檔格å¼(&F): +壓縮層級(&L): +壓縮方å¼(&M): +字典大å°(&D): +字組大å°(&W): +çµå¯¦å€å¡Šå¤§å°: +CPU 線程數: +åƒæ•¸(&P): +é¸é … +建立自解壓縮檔(&X) +壓縮共用檔案 +加密 +加密方法: +加密檔å(&N) +壓縮時記憶體使用: +解壓縮時記憶體使用: +壓縮後刪除檔案 +4040 +å„²å­˜ç¬¦è™Ÿé€£çµ +å„²å­˜ç¡¬é€£çµ +å„²å­˜é™„åŠ è³‡æ–™æµ +儲存檔案安全設定 +4050 +å°å­˜ +最快速壓縮 +快速壓縮 +一般壓縮 +最大壓縮 +極致壓縮 +4060 +加入並å–代檔案 +更新並加入檔案 +æ›´æ–°ç¾æœ‰çš„æª”案 +åŒæ­¥è™•ç†æª”案 +4070 +ç€è¦½ +所有檔案 +éžçµå¯¦ +çµå¯¦ +6000 +複製 +移動 +複製到: +移動到: +正在複製... +正在移動... +æ­£åœ¨é‡æ–°å‘½å... +鏿“‡ç›®æ¨™è³‡æ–™å¤¾ã€‚ +未支æ´çš„æ“ä½œã€‚ +釿–°å‘½å檔案或資料夾時發生錯誤 +確èªè¤‡è£½æª”案 +您確定è¦è¤‡è£½æª”案至壓縮檔? +6100 +確èªåˆªé™¤æª”案 +確èªåˆªé™¤è³‡æ–™å¤¾ +確èªåˆªé™¤å¤šå€‹æª”案 +您確定è¦åˆªé™¤ '{0}' å—Ž? +您確定è¦åˆªé™¤è³‡æ–™å¤¾ '{0}' 以åŠå®ƒæ‰€æœ‰çš„內容嗎? +您確定è¦åˆªé™¤é€™ {0} 個項目嗎? +正在刪除... +刪除檔案或資料夾時發生錯誤 +系統ä¸èƒ½ç§»å‹•路徑éŽé•·çš„æª”案到資æºå›žæ”¶ç­’ +6300 +建立資料夾 +建立檔案 +資料夾å稱: +檔案å稱: +新增資料夾 +新增檔案 +建立資料夾時發生錯誤 +建立檔案時發生錯誤 +6400 +註解 +註解(&C): +é¸å– +å–æ¶ˆé¸å– +é®ç½©: +6600 +內容 +資料夾歷程記錄 +è¨ºæ–·è¨Šæ¯ +è¨Šæ¯ +7100 +電腦 +網路 +文件 +系統 +7200 +加入 +解壓縮 +測試 +複製 +移動 +刪除 +資訊 +7300 +分割檔案 +分割到(&S): +分割壓縮檔,ä½å…ƒçµ„(&V): +正在分割... +確èªåˆ†å‰² +您確定è¦åˆ†å‰²æª”案為 {0} 個? +分割大å°å¿…é ˆå°æ–¼åŽŸå§‹æª”æ¡ˆå¤§å° +䏿­£ç¢ºçš„åˆ†å‰²å¤§å° +指定的分割大å°: {0} ä½å…ƒçµ„。\n您確定è¦åˆ†å‰²ç‚ºé€™äº›å£“縮檔嗎? +7400 +åˆä½µæª”案 +åˆä½µåˆ°(&C): +正在åˆä½µ... +僅é¸å–第一個檔案 +æœªèƒ½ç¢ºèªæ­¤æª”案為完整檔案分割出來的一部分 +找ä¸åˆ°å®Œæ•´æª”案的其他部分 +7500 +正在計算驗證值... +驗證值資訊 +資料的 CRC 驗證值: +資料åŠå稱的 CRC 驗證值: +7600 +效能測試 +記憶體使用: +壓縮 +解壓縮 +è©•ç­‰ +整體評等 +ç›®å‰ +çµæžœ +CPU 使用 +è©•ç­‰ / 使用 +é€šéŽæ•¸: +7700 +é€£çµ +é€£çµ +連çµè‡ª: +連çµåˆ°: +7710 +連çµé¡žåž‹ +ç¡¬é€£çµ +æª”æ¡ˆç¬¦è™Ÿé€£çµ +ç›®éŒ„ç¬¦è™Ÿé€£çµ +目錄連接點 diff --git a/Moose Mission Setup/Moose Mission Update/License.txt b/Utils/7-Zip/License.txt similarity index 100% rename from Moose Mission Setup/Moose Mission Update/License.txt rename to Utils/7-Zip/License.txt diff --git a/Moose Mission Setup/Moose Mission Update/Uninstall.exe b/Utils/7-Zip/Uninstall.exe similarity index 97% rename from Moose Mission Setup/Moose Mission Update/Uninstall.exe rename to Utils/7-Zip/Uninstall.exe index e214183c872366a359d7aa664902bd02346dc73e..dab4e4e8a2851f10230b9124d04e7587ba5e6eed 100644 GIT binary patch delta 63 zcmZoDX(*ZSf?4SJ=Z&wY$}yU3Zj_(R$Y?TIRez!QQ@zvN0IskS?EnA( diff --git a/Moose Mission Setup/Moose Mission Update/descript.ion b/Utils/7-Zip/descript.ion similarity index 100% rename from Moose Mission Setup/Moose Mission Update/descript.ion rename to Utils/7-Zip/descript.ion diff --git a/Moose Mission Setup/Moose Mission Update/readme.txt b/Utils/7-Zip/readme.txt similarity index 99% rename from Moose Mission Setup/Moose Mission Update/readme.txt rename to Utils/7-Zip/readme.txt index c6a5e53c1..228e9a0ce 100644 --- a/Moose Mission Setup/Moose Mission Update/readme.txt +++ b/Utils/7-Zip/readme.txt @@ -1,4 +1,4 @@ -7-Zip 16.02 +7-Zip 16.04 ----------- 7-Zip is a file archiver for Windows NT / 2000 / 2003 / 2008 / 2012 / XP / Vista / 7 / 8 / 10. diff --git a/Utils/lua/5.1/bin/lua.exe b/Utils/lua/5.1/bin/lua.exe new file mode 100644 index 0000000000000000000000000000000000000000..d8566c5159e32555fd14b14e01be0678d5dd58b2 GIT binary patch literal 49152 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

    l0F{ACOy+&4u(3r_NBYeLDyYA^V2nRPB0O5 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�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 literal 0 HcmV?d00001 diff --git a/Utils/7-Zip/7zG.exe b/Utils/7-Zip/7zG.exe new file mode 100644 index 0000000000000000000000000000000000000000..0442d42e39985f0256872f8a19c3162aa09b974e GIT binary patch literal 553984 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�tIIOA# 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