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

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

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
Просмотров: 1898 | Комментарии: 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

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

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

Darkest Fear 3D [Alpha]
Комментов: 0 | Загрузок: 3
GTA III JAVA:D
Комментов: 0 | Загрузок: 3
Quantum 2.6
Комментов: 34 | Загрузок: 126
GD OBSCHAYA
Комментов: 1 | Загрузок: 10
GD Normal
Комментов: 0 | Загрузок: 12
SILENT EVIL 3D 2018 v.1.3 Beta (относительно стабильный билд)
Комментов: 48 | Загрузок: 232
Ancient Empires 2. Mod By Black Phoenix. Skirmish Edition 2018 year
Комментов: 2 | Загрузок: 25
Evil Dead Regeneration Java Beta
Комментов: 3 | Загрузок: 85
Walking Zombie :D
Комментов: 4 | Загрузок: 74
Grim Reaper
Комментов: 0 | Загрузок: 53

БЫСТРАЯ НАВИГАЦИЯ ПО САЙТУ
Комментов: 3 | Просмотров: 2525
Работа с EMG Studio
Комментов: 9 | Просмотров: 3847
J2ME Loader - 1.2.5.1 (эмулятор Java на Android)
Комментов: 2 | Просмотров: 1829
M3G to OBJ Converter + Lang Editor
Комментов: 2 | Просмотров: 613
Исходный код Gish Reloaded
Комментов: 2 | Просмотров: 1692
Моды Minecraft PE
Комментов: 0 | Просмотров: 1363
Оптимизация графики
Комментов: 5 | Просмотров: 2418

Неизданное (JAVA)
Комментов: 4 | Просмотров: 100
Splatterhouse: Cry & Fear
Комментов: 6 | Просмотров: 101
КОНКУРС МОДОВ 2018
Комментов: 0 | Просмотров: 127
Old Gameloft games
Комментов: 0 | Просмотров: 207
С наступающим короч)
Комментов: 1 | Просмотров: 560
Silent Evil - что же с релизом?
Комментов: 5 | Просмотров: 437
Alien Shooter на телефон! |Java| (Полное прохождение)
Комментов: 0 | Просмотров: 493
Случайный мод
Тёмный Мод на KD Player
1521 164 20 3.0
Статистика
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Пользователи
Гости сайта

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