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. Изменена текстура камуфляжей маринов (с песочки на цифровик).