Редактирование машин
Задался я как-то целью сделать в "СТАЛКЕРЕ"(версия 1.004) машины, юзабельность которых зависит от наличия в инвентаре ГГ конкретного предмета, а именно: ключей от данного транспорта. Спавн автотехники - пройденный этап,не буду заострять внимание,скажу лишь,что здесь привязал спавн машины к диалогу с коррумпированным майором на Кордоне.Файл dialogs_escape.xml,строки:
<phrase id="11">
esc_bridge_soldiers_start_11
<action>esc_modify.spawn_niva</action> - моя добавка
<next>12</next>
</phrase>

Прописал Ниву, прописал в файлик config\misc\item.ltx ключи от неё таким образом:
;;;;;;;;;;;;--ключи от нивы--;;;;;;;;;;;;
[niva_keys]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\quest_items\niva_keys"
class = II_ATTCH
cform = skeleton
visual = equipments\item_minipda.ogf
radius = 1
description = item_niva_key
inv_name = item_car_key
inv_name_short = item_car_key_s
inv_weight = 0
inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 11
inv_grid_y = 23
cost = 0

Прописал в файл config\creatures\vehicles.ltx ,в блоке"Нивы" строчку вида :
custom_data = scripts\niva_data.ltx.

Ясно, после этого - создал сам файл config\scripts\niva_data.ltx, с содержимым :
[logic]
active = ph_car
[ph_car]
usable = {+actor_has_niva_key}

Добавил в info_l01escape.xml требующуюся инфопорцию:

<info_portion id="actor_has_niva_key"></info_portion>

А дальше интересно: активировать проверку наличия у ГГ ключей додумался так: внедрил в скрипт escape_tasks.script с опросом инфопорций свои строки:
function proceed()
local actor = db.actor
if not has_alife_info("tutorial_artefact_start") and
not has_alife_info("tutorial_artefact_gain") and
actor:object("af_blood_tutorial") ~= nil
then
actor:give_info_portion("tutorial_artefact_gain")
end
-----------------------moi_mod--------------------
if not has_alife_info("actor_has_niva_key") and
actor:object("niva_keys") ~= nil
then
actor:give_info_portion("actor_has_niva_key")
--news_manager.send_tip(db.actor, "find_keys_info")
end
if actor:object("niva_keys")== nil then
actor:disable_info_portion("actor_has_niva_key")
end
----------------------------------------------------
.......и далее по оригиналу.

(закомментил сообщение о находке ключей ,так как оно является нам каждый раз после любой ближайшей загрузки уровня - не доработал:)

Получилось в итоге вот что: актёр нашёл(купил) ключи ,сел в машину и поехал, а потерял или выбросил (продал, пропил и т.д.) - внутрь не попасть, как ни пытайся.

В моём моде: На Кордоне у майора Кузнецова(под мостом) спавнится "Нива" и забытые на ящике с выпивкой - ключи от неё. ГГ платит подвыпившим военным за проход ,и тут же ,подобрав ключи, садится в машину и исчезает,оставив майора со товарищи в большом(сравнительно) убытке.

Второй вариант: Всё то же самое, только военные соображают быстро и открывают огонь на поражение,лишь только актёр садится в "Ниву".Хотя - если не тормозить - и тут успеваешь свинтить.

Сие реализовано так:

сама Нива спавнится мной прямо за мостом:
function spawn_niva()
alife():create("vehicle_niva", vector():set(58.205856,-2.393073,189.756988),345171,98)
-- ключи среди водки и закуски:
alife():create("niva_keys", vector():set(61.393852,-0.143696695,154.954849),349686,97)
end

в файле info_l01escape.xml акция "открыть огонь" привязана к сообщению Торговца об удачном пересечении ж\д насыпи(при условии, естественно, что герой взял чужие ключи):
<info_portion id="esc_find_railroad_passage_done"> - родная часть
<action>esc_modify.kill_thief</action> - добавлено
</info_portion> - родная часть

, т. е. добавлена ссылка на несуществующий пока скрипт esc_modify и функцию в нём kill_thief.

скриптовая часть(scripts\esc_modify.script):
function kill_thief()
if has_alife_info("actor_has_niva_key") then
db.actor:give_info_portion("esc_bridge_pass_fire")
end
end

Логично вот что: если ГГ не взял ключи(или взял, но спохватился и выбросил), то в спину ему никто не стрельнет, однако и машину уже не угнать.

Плюсануть
Поделиться
Класснуть
Запинить
Категория: Полезные статьи | Добавил: PaulGray (21.06.2013)
Просмотров: 1090 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Мини-профиль
Доброй ночи, Прохожий

К сожалению, наша видеокамера не распознала Вас. Предъявите документы или зарегистрируйтесь.
Интернет без назойливой рекламы! Скачай AdBlock!

Логин:
Пароль:

Меню сайта
Расширенное меню


Меню категорий

Энциклопедия [32]
Статьи о сталкере [15]
Полезные статьи [36]
Любительские рассказы [22]
Уроки моддинга [1]

Мини-чат

Новые сообщения на форуме
True Stalker
Дата: 10.12.2016
Бар 100 Рентген
Дата: 10.12.2016
Столовая НИИЧАЗ
Дата: 10.12.2016

Поиск

Группа Вконтакте (new)

Статистика
Stalker Mods - лучший сайт по Сталкеру! Мир Геймеров В тылу врага, моды, аддоны и другое! Новости общение и многое другое, у нас на exelent731.ucoz.ru
Новости,файлы,общение и многое другое, у нас на world-survarium.ucoz.ru   Все в Бар-Реатор Тот самый S.T.A.L.K.E.R.

Моды Тени Чернобыля, Чистое Небо, Зов Припяти. Карты, Читы, Прохождение модовСкрипты, Графика, Шаблоны, Моды, Патчи, Ролевая - Всё для настоящего сталкера!
Все для игры Stalker. Моды, патчи, трейнеры, читы, сохранения, билды.
Онлайн всего: 7
Гостей: 7
Пользователей: 0

Нас сегодня посетили:

Хостинг от uCoz | Design by XemorDio | MODSTALKER © 2009-2016