RTS Warfare на мой взгляд одна из лучших стратегий, которые когда либо существовали. Не смотря на то, что она вышла аж в 2008 году, до сих пор не утратила популярности у фанатов. Стратегия с высокой графикой и реалистичной физикой. Вы видели хоть одну игру в те годы, в которой отлетают куски зданий ровно в том месте куда попал снаряд, тоже самое касается техники - нет бесконечного арсенала, топлива и запчастей для ремонта, а у солдат заканчиваются боеприпасы, кроме того, бойцы способны водить любую гражданскую технику на поле боя, захватывать здания, прятаться за стенами, за деревьями и тд, еще одной отличительной особенностью являлось то, что снаряды не попадают 100%-но во врага, как это было абсолютно во всех других стратегиях, в warfare снаряды могли пролитать мимо или вовсе рекошетить от техники, в отличие от линейки C&C, Warfare была фантастикой для 2008 года.
Существует несколько способов, давай те разберем два из них:
Способ 1.
Идем по этому пути:
папка с игрой/basis/scripts/lua/
Найдем файл с названием constants.lua , откроем его любым текстовым редактором и изменим содержимое на следующий код:
TANK = "tank" CAR = "car" HELI = "heli" SQUAD = "squad" PLAYER = "usa" OBJECT_DONE_SUFFIX = "_shadow" DEMO = false DEMO_MISSIONS = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 } ALL_MISSIONS_AVAILABLE = true
Что мы сделали? Мы изменили ALL_MISSIONS_AVAILABLE = false на true/
Теперь заходим в игру и начинаем "новую игру", на карте видим все миссии.
Если не сработал первый способ, то вот способ 2:
Снова повторяем путь:
папка с игрой/basis/scripts/lua/
Открываем уже другой файл - spawns.lua и заменияем следующим кодом:
Missions = { [1] = "mission_xxx", [2] = "mission_xxx", [3] = "mission_xxx", [4] = "mission_xxx", [5] = "mission_xxx", [6] = "mission_xxx", [7] = "mission_xxx", [8] = "mission_xxx", [9] = "mission_xxx", [10] = "mission_xxx", [11] = "mission_xxx", [12] = "mission_xxx", } HiddenMissions = { [1] = "missionN", [2] = "mission3b", [3] = "mission_port", [4] = "mission_urban_coast", [5] = "mission_castle" }
Сохраняем файл и идем в игру смотреть результат. Если ничего не получилось, значит у вас руки растут не из правильного места =).
Проследуем в папку console:
папка с игрой/basis/console/
В ней лежит один единственный файл - utils.lua. Если приглядется внимательно там уже есть чит код на добавления танка Абрамс в игру и группы дельта-снайперов. Сохраните резервную копию этого файла, ведь если сохранить файл с какой либо ошибкой (например не добавить в конце строки точку запятой и тд), то вообще ничего работать не будет.
Теперь скачиваем мой файл или просто заменяем свой на эти строки:
-- Утилитные функции для консоли. help = function() console.log("***************************************************************************************") console.log(" - utils.vtune(frames, framestep, frames_to_wait, need_exit)") console.log(" Vtune data collection") console.log(" - frames - for how much frames data will be collected") console.log(" - framestep - timer step during data collection, ms") console.log(" - frames_to_wait - for how much frames to wait before data collection") console.log(" - need_exit - set to true to exit the game after data collection") console.log("***************************************************************************************") console.log(" - cheats.giveAbrams(num)") console.log(" Spawns lates versions of Abrams tanks at 10, 10") console.log(" - num - How many abrams to spawn") console.log("***************************************************************************************") console.log(" - cheats.giveSniper()") console.log(" Spawns Snipers squad at 10, 10") console.log("***************************************************************************************") console.log(" - cheats.showAll()") console.log(" Shows enemy units under the fog of war") console.log("***************************************************************************************") console.log(" - cheats.hideAll()") console.log(" Hides enemy units under the fog of war") console.log("***************************************************************************************") end utils = { --- Функция запускает сбор данных vtune'ом. --- frames - количество кадров, в течение которых будут собираться данные --- framestep - шаг таймера за кадр во время сбора данных, мс --- frames_to_wait - количество кадров, которые нужно подождать перед сбором данных --- need_exit - если true, то функция производит выход из приложения по окончанию сбора данных vtune = function(frames, framestep, frames_to_wait, need_exit) if (frames_to_wait ~= nil) then console.waitFrames(frames_to_wait) end game.startVtuning(frames, framestep) console.waitFrames(frames + 1) if (need_exit) then game.exit() end end, } cheats = { --- спаунит Num абрамсов последней модификации в координатах начиная с 10,10 и далее по 5 метров к центру. --- добавляет их в выделение --- без параметров - спаунит один танк q1 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_bmp3", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q2 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_m163_stinger", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q4 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_t72_base", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q5 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_t72_arm", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q6 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_t55", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q7 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_leclerc", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q8 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnHeli("vertolet_mi24_ptur", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q9 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnHeli("vertolet_mi8_nurs", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q10 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_shilka_arm", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q11 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_challenger2", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q12 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnTank("tank_tunguska", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q13 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnCar("car_arv_gun", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q14 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnCar("car_arv_gun_muss", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q16 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnHeli("vertolet_uh1v", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q17 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnHeli("vertolet_mi24_nurs", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q18 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnHeli("vertolet_mi24_bombs", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, q19 = function(num,locl1,locl2) local dist = 5 local x = locl1 - dist local y = locl2 - dist if ((num == nil) or (num < 1)) then num = 1 end for count = 1, num, 1 do local xx = x + count * dist local yy = y + count * dist local zz = game.getLandHeight(xx, yy) game.selectEntity(game.spawnHeli("vertolet_mi24_base", xx, yy, zz, 0, "usa")) end console.log("CHEATS >> Spawned ", num, " Abrams") end, --- показывает всех врагов showAll = function() game.enableHideInvisible(false) console.log("CHEATS >> Enemies are visible now") end, --- прячет всех врагов showAll = function() game.enableHideInvisible(true) console.log("CHEATS >> Enemies are invisible now") end, -- заспаунит снапер сквад в 10, 10 giveSniper = function() game.selectEntity(game.spawnSquad("us_rangers_sniper_01", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q3 = function() game.selectEntity(game.spawnSquad("us_delta_01", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q15 = function() game.selectEntity(game.spawnSquad("us_infantry_ptur_squad_01", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q20 = function() game.selectEntity(game.spawnSquad("us_engineer", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q21 = function() game.selectEntity(game.spawnSquad("us_infantry_01", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q22 = function() game.selectEntity(game.spawnSquad("uk_infantry", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q23 = function() game.selectEntity(game.spawnSquad("ar_artillery_crew_01", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q24 = function() game.selectEntity(game.spawnSquad("ar_commando_01", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, q25 = function() game.selectEntity(game.spawnSquad("ar_mercenary_01", 10, 10, game.getLandHeight(10, 10), 0, "usa")) console.log("CHEATS >> Spawned snipers") end, }
Давайте разберемся, что здесь написано для того, чтобы вы сами смогли изменять файл как вам нравится. найдите строчку, начинающуюся с: q1 = function(num,locl1,locl2) , q1 — это комманда, которую нужно будет набрать в консоле игры, не обязательно использовать "q1", можно придумать свое название чита, например "tank_t_55", но мне было удобно "q1", чтобы не затрачивать много времени, далее, в отличает от оригинального файла я добавил переменные locl1 и locl2 — это координаты Х и У места, куда нужно будет добавить юнит (координаты нужно будет набирать в консоле игры, не нужно прописывать их в этом файле, а то черт знает где появиться ваш танк). Дальше, ищем самую важную строчку: game.selectEntity(game.spawnTank("tank_bmp3", xx, yy, zz, 0, "usa")) , смотрим сперва на spawnTank — означает, что это танк (для легковых автомобилей и легкой бронированной техники используем spawnCar, для вертолетов используем spawnHeli, для солдат используем spawnSquad), после этого бросаем свой взор на "tank_bmp3" — это название техники. Важный момент! Названия находим здесь:
папка с игрой/basis/locale/
Нам понадобятся 4 файла: cars.xml, tanks.xml, squads.xml, helicopters,xml (помните про spawnTank? теперь понимаете для чего это нужно?). Открываем файлы в редакторе или в MS Office Excel , берем название техники и вставляем в utils.lua.
Все сделали? Молодцы! Заходим в игру. Нажимает хоткей: crtl + ` — должно открыться консоль. Переключаем раскладку клавиатуры на английский ctrl + shift. Начинаем набирать комманду:
cheats.q1(1,100,200)
На карте должен появится танк БМП-3, цифры в скобках это : 1 — количество, 100 — координаты по горизонтали , 200 — координаты по вертикали.
Список всех кодов (num, x, y нужно заменить на цифры обязательно!):
cheats.q1(num,x,y) — БМП-3 cheats.q2(num,x,y) — 20-мм зенитная самоходная установка M163 со стингером cheats.q3(num) — Отряд дельта, группа 6 человек (США) cheats.q4(num,x,y) — Танк Т-72 cheats.q5(num,x,y) — Танк Т-72 с дополнительным бронированным корпусом cheats.q6(num,x,y) — Танк Т-55 cheats.q7(num,x,y) — Танк Леклерк - французский танк cheats.q8(num,x,y) — Вертолет Ми-24 с ПТУР, НУРС, бомбы, КП cheats.q9(num,x,y) — Вертолет Ми-8 с ПТУР, НУРС, КП cheats.q10(num,x,y) — Шилка cheats.q11(num,x,y) — Челленджер 2 - танк сухопутных войск Великобритании cheats.q12(num,x,y) — Тунгуска cheats.q13(num,x,y) — Страйкер MGS cheats.q14(num,x,y) — Страйкер MGS, Мк.2, короче это легкий бронетранспортер с артиллерийской пушкой, противокумутятивной сеткой и системой (когда по бронетранспортеру выстрелит например Джавелин ПТУРом, эта система защитит от попадания в корпус) cheats.q15(num) — Противотанковый расчет (ДЖАВЕЛИН, ПТУР) cheats.q16(num,x,y) — UH-1V Хьюи (Летающее корыто без вооружения, я использую для десантирования спецназа на крыши зданий) cheats.q17(num,x,y) — Ми-24 , НУРС cheats.q18(num,x,y) — Ми-24, бомбы cheats.q19(num,x,y) — Ми-24, ничего нет, кроме 30-мм авиапушки (лучше использовать q8 с мультивооружением) cheats.q20(num) — Саперы (Армия США) cheats.q21(num) — Морпехи cheats.q22(num) — (Союзные войска, UK, кроме АГС и М-16 ничего нет) cheats.q23(num) — Иракские союзные силы (АГС) cheats.q24(num) — Коммандос (Ирак) cheats.q25(num) — Союзные силы (Ирак) cheats.giveSniper(num) — Снайперы ДЕЛЬТА (США)
(Скачал когда то с playground). Данная версия модфикса для игры правит баланс игры. Возможно играть станет легче, но добавились новые тактические возможности.
Список изменений:
1. На любую миссию можно взять артилерию (если она у вас конечно есть, так что имеет смысл захватывать ее у противника).
2. Группы снайперов могут водить любую технику (в реале марины многое умеют).
3. Изменено оружие групп снайперов (ранее было м24+м24 теперь баррет+м24).
4. Изменена текстура камуфляжей маринов (с песочки на цифровик).