Добавяне на скривалище към S
Статия от M.O.D.S. Август 2013
Добавяне на кеш към S.T.A.L.K.E.R. Сянката на Чернобил
Здравейте всички! Със сигурност мнозина са играли преследвач и са искали да променят нещо или просто да не страдат от самото начало на играта, а да намерят скривалище, където да лежи картечница и куп всичко. И така, сега ще се опитаме да приложим това и в същото време ще ви обясня как работи всичко на примера на Сенките на Чернобил. Да започнем с най-малкото - намирането на координатите. За целта се нуждаем от чиста версия на S.T.A.L.K.E.R. PM и S.T.A.L.K.E.R. Информация за позицията (вижте връзките). Въпреки че не, ще бъде твърде сложно, нека направим всичко, когато автоматизираме скриптове (благодаря за пътя към лицето под прякора 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
След това отидете до самия край на файла и въведете тези редове:
функция 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
функция main_menu:OnButtonLogCoordinate() local lv > local pos = db.actor:position() dbglog("("..pos.x..","..pos.y..","..pos.z.."),"..lvid..","..gvid) край
Всичко. Готово, запазете и стартирайте играта. Веднага след като стигнем до правилното място за скривалището, излизаме от менюто и натискаме F4. Даннище бъдат запазени вC:\Users\User\Documents\STALKER-SHOC\file.log.
Да погледнем последния ред. Ще има нещо като:
И така, координатите се записват катоx,y,z,level_vertex,game_vertex.
Да започнем с хайвера. Вече ще работим по сценариите, така че се стегнете и се пригответе. Както писах, нека започнем да кодираме. За да подобря образованието ви, ще кажа, че скриптовете за сталкер са написани на езикаLuaи както четох в интернет, синтаксисът е подобен наJava, въпреки че за мен изглежда повече като Delphi - вероятно скептик-паскалист седи в мен). Във всеки случай езикът е доста прост, но не трябва да се отпускате - има много функции.
Нека създадем текстов документ в папкатаgamedata/scripts/. Кръстих гоmytajnik. Нека променим разширението .txt на .script. Да, много напомня за времето, когато кодираха подCounter-Strike 1.6). Между другото, по-добре е да изберете кодиранеANSIи като цяло го изберете в следващите действия. Ще има по-малко проблеми.
Въведете текста в създадения файл:
функция 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
Мисля, че тук всичко е ясно какво към какво се поставя от координатите
Между другото, не поставяйте точка след края) [IMG] ninadaplis.png
Началото е поставено, нека напълним кеша си с неща. За да направите това, нека създадем произволен файл в папкатаgamedata/config. Нарекох гоtajnikazi.ltx. Въвеждаме там какво трябва да се създаде:
[спаун] wpn_val= 1 medkit = 5 medkit_army=10 vodka=40
Затваряме. В резултат на това получихме една шахта, 5 комплекта за първа помощ, 10 армейски комплекта за първа помощ и 40 бутилки водка. Вместо антирада, ние сме щастливи да пием вода) Имената на всичкиелементите могат да бъдат намерени в папкатаgamedata/config/misc, във файловете с началото на търговеца - просто имената на всичко в тази статия едва ли ще се поберат и ми трябва много време да пиша =/ .
Сега нека напишем кеша в общия файл за размножаване. Това еspawn_sections.ltxв папкатаgamedata/config/creatures. Въведете в самия край (ако има такъв, в края, преди реда ;#include) текста:
[tajnikazi]:inv_box visual = equipments\item_rukzak radius = 1 custom_data = scripts\tajnikazi.ltx
Мисля, че освенвизуалнотонищо не трябва да се обяснява. Но визуалното е модел на това как ще изглежда кешът. Имаме го под формата на раница.