Привет Гость!
Ты можешь:
Войти или зарегистрироваться

Забыл пароль
Регистрация
Меню сайта
Главная страница
Моды ПК игр Форум Flash игры/журналы Помощь сайту WAP/PDA версия сайта Мы вКонтакте
Категории
Уроки по модификации java [176]
Уроки по переводу java игр [15]
Программы для компьютера [102]
Программы для телефона [85]
Модификация смартфонных игр [15]
Symbian, Android, iPhone и т.д.
Прочее [35]
Уроки по модификации ПК игр [10]
Мини-чат
Главная » Статьи » Уроки по модификации ПК игр

14.08.2013, 19:57

Добавляем тайник в S.T.A.L.K.E.R. Тень Чернобыля

Статья из 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 lvid, gvid = db.actor:level_vertex_id(), db.actor:game_vertex_id()
local pos = db.actor:position()
dbglog("("..pos.x..","..pos.y..","..pos.z.."),"..lvid..","..gvid)
end


Все. Готово, сохраняем и запускаем игру. Как только подошли к нужному месту для тайника выходим в меню и жмем F4. Данные сохранятся в C:\Users\Юзер\Documents\STALKER-SHOC\файл.log.

Смотрим последнюю строчку. Там будет что то типа:

dbg:(-137.06607055664,9.9998416900635,-199.71380615234),101714,629

Так вот, координаты записались в виде 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 ничего объяснять не нужно. А вот визуал- это модель, как будет выглядеть тайник. У нас он в виде рюкзака.

Теперь пропишем в файл общих вещей (devices.ltx в папке gamedata\config\misc) наш рюкзак. Тут уже особо пока в подробности лучше не вдаваться, просто пишите, а в следующих номерах я объясню это).

Вводим:

[inv_box]
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\inventory box"
class = O_INVBOX
cform = skeleton
visual = physics\box\expl_dinamit.ogf
script_binding = bind_physic_object.init


Теперь нужно заспавнить тайник. Сделаем это, после какого нибудь диалога, например после диалога с Кротом на агропроме в файле gamedata/config/gameplay/dialogs_agroprom.xml после строчек
<text>agr_krot_about_agroprom_120</text>
добавим своё:

<action> mytajnik.super_puper_tajnik</action>

Все, готово. Возможно я и не очень понятно объяснил, но статью уже нужно сдавать. Если что непонятно пишите мне в личку на mods.tf9.ru или ищите информацию в интернете^).

Статью писал Az@
Категория: Уроки по модификации ПК игр | Добавил: Aza
Просмотров: 4812 | Комментарии: 4 | Рейтинг: 5.0/2

Всего комментариев: 4
Спам
MadiyarM   (17.08.2013 12:10) [Материал]
Real_hp, +1

Спам
Aza   (17.08.2013 11:26) [Материал]
Ок, сделаю

Спам
Real_hp   (16.08.2013 23:38) [Материал]
Скрины бы поправить. А то они так и остались в тэге [IMG]

Спам
Werewolf   (15.08.2013 19:31) [Материал]
kul2

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

о, привет
Новинки
  • Файлы
  • Статьи
  • Новости

STALCER 3-D
Комментов: 3 | Загрузок: 13
Rise Of Antares
Комментов: 1 | Загрузок: 48
РЕЗНЯ 3D: Not city of sins
Комментов: 0 | Загрузок: 107
Vice Multi-Player 0.1 beta RC 8-4-9-5
Комментов: 0 | Загрузок: 23
GTA San Andreas Beta 1
Комментов: 1 | Загрузок: 179
Galaxy Force 2 FINAL
Комментов: 42 | Загрузок: 1
Haunting abandoned mansion (color mod)
Комментов: 0 | Загрузок: 150
Deadly game Resident Evil 7 DLC
Комментов: 0 | Загрузок: 227
GTA SA FLY
Комментов: 0 | Загрузок: 285
GTA SA Mobile: Definitive Edition
Комментов: 1 | Загрузок: 495

Чат в Телеге
Комментов: 0 | Просмотров: 98
ODN Remake - скриншоты
Комментов: 1 | Просмотров: 107
O. D. N Remake
Комментов: 0 | Просмотров: 158
Новый сайт с мобильными загрузками - Oldfag
Комментов: 7 | Просмотров: 1507
Здорово и вечно 2 свободное человечество анонс номер два
Комментов: 9 | Просмотров: 1445
Дневник разработки "Шизофрения 3D" #2 - Концепция
Комментов: 2 | Просмотров: 1445
Дневник разработки "Шизофрения 3D" #1 - Общая инфа
Комментов: 0 | Просмотров: 1402
Случайный мод
Древнее зло напало на Морровинд. Псевдобог Сота Сил собирает армии корпусных тварей. Кровавая луна появилась на небе. Призрачные врата разрушены и монстры ворвались в города. Началась великая битва добра и зла, которая решит судьбу мира. Только герой сможет уничтожить Сота Сила, только герой сможет изгнать силы зла из Морровинда... Только герой сможет заставить исчезнуть кровавую луну... Стань этим героем, сокруши войска врагов, собери ценнейшие артефакты, познай тайны магического искусства и верши правосудие над злом!
4336 464 15 3.7
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Пользователи
Гости сайта

[ Нас сегодня посетили ]
При копировании материалов, желательно оставлять ссылку на этот сайт!
© Tommy_M 2009-2024 | Хостинг от uCoz