Додаємо схованку в S
Стаття з M.O.D.S. Серпень 2013
Додаємо схованку в S.T.A.L.K.E.R. Тінь Чорнобиля
Всім привіт! Напевно, багато хто грав у сталкер і хотів щось змінити, або просто з самого початку гри не мучитися, а знайти схованку, де лежатиме кулемет і купа всього-на-всього. Так от зараз ми спробуємо це здійснити, а заразом я поясню вам як це все працює на прикладі Тіней Чорнобиля. Почнемо з найменшого-знаходження координат. Для цього нам знадобиться чиста версія S.T.A.L.K.E.R. ТЧ та програма S.T.A.L.K.E.R. Position Informer (див. посилання). Хоча ні, це буде надто складно, давайте все зробимо при автоматизації скриптів (дякую за спосіб людині під ніком panzyuza). Відкриємо файлui_main_menu.scriptз папкиgamedata/scripts. Шукаємо рядок (через SHIFT+F)self:OnMessageQuitWin(). Як тільки знайшли пропускаємо рядок, пишемо наступне:
elseif dik == DIK_keys.DIK_F4 then self:OnButtonLogCoordinate()
Приблизно має вийти так:if dik == DIK_keys.DIK_Q then self:OnMessageQuitWin() elseif dik == DIK_keys.DIK_F4 then self:OnButtonLogCoordinate() end
Потім, йдемо в самий кінець файлу і вписуємо ці рядки:
function dbglog(fmt. ) local msg = string.format(fmt, . ) local msg_no_ws = string.gsub(msg, "%s", "_") get_console() :execute("dbg:" .. msg_no_ws) get_console():execute("flush") end
function main_menu:OnButtonLogCoordinate() local lv > local pos = db.actor:position() dbglog("("..pos.x..","..pos.y..","..pos.z.."),". .lvid..","..gvid) end
Всі. Готово, зберігаємо та запускаємо гру. Як тільки підійшли до потрібного місця для схованки виходимо в меню і тиснемо F4. Данізбережуться вC:\Users\Юзер\Documents\STALKER-SHOC\файл.log.
Дивимося останній рядок. Там буде щось типу:
Так ось координати записалися у виглядіx,y,z,level_vertex,game_vertex.
Приступаємо зі спавну. Ми будемо вже працювати зі скриптами, тому візьміть себе в руки і готуйтеся. Як я вже писав починаємо кодувати. Для підвищення вашої освіти скажу, що скрипти під сталкер пишуться мовоюLua, і як я вичитав в "інтернетах" синтаксис схожий наJava, хоча як на мене, то він більше схожий на дельфі- напевно в мені сидить скептик-паскаліст). У будь-якому випадку мова досить проста, але і розслаблятися не варто-функцій дуже багато.
Створимо в папціgamedata/scripts/текстовий документ. Я назвав йогоmytajnik. Змінимо розширення .txt на .script. Так, дуже нагадує часи коли кодували підCounter-Strike 1.6). До речі, кодування краще вибиратиANSI, і взагалі в подальших діях теж вибирайте його. Проблем буде менше.
Введемо у створений файл текст:
function super_puper_tajnik() -- Нижче координати local a = vector() a.x = -137.066 a.y = -9.999 a.z = -199.713 alife() :create("tajnikazi",a,101714,629) end
Думаю, тут все зрозуміло, що до чого ставиться з координат
До речі, точку після end ставити не потрібно) [IMG] ninadaplis.png
Початок покладено, заповнимо нашу схованку речами. Для цього створимо в папціgamedata/configбудь-який файл. Я назвав йогоtajnikazi.ltx. Вводимо туди те, що потрібно сповнити:
[spawn] wpn_val= 1 medkit = 5 medkit_army=10 vodka=40
Закриваємо. У результаті в нас вийшло один вал, 5 аптечок, 10 армійських аптечок і 40 пляшок горілки. Замість антирада - водяру пити ради) Назви всіхпредметів можна знайти в папціgamedata/config/misc, у файлах з початком trader-просто назви всього в цій статті навряд чи поміститься, та й довго це мені писати =/.
Тепер пропишемо схованку у файл спільного спавна. Цеspawn_sections.ltxу папціgamedata/config/creatures. Введемо в самому кінці (якщо є, наприкінці, перед рядком ;#include) текст:
[tajnikazi]:inv_box visual = equipments\item_rukzak radius = 1 custom_data = scripts\tajnikazi.ltx
Думаю, крімvisualнічого пояснювати не потрібно. А ось візуал - це модель, як виглядатиме схованка. У нас він як рюкзак.