Полезные методы и функции
Далее идем по пути gamedata/script/bind_stalker.script Функция:
Сразу ниже неё пиши вызов в формате :
Можешь написать эту функцию в любом файле из папки scripts, а можешь создать свой файл и назвать, скажем, my_script, и написать там. Должно быть так : Код
Удаление предмета с заданным именем из игры
ПРИМЕР —‘ убираем финального Клыка
Я добавлю может кому и пригодится.Болотный Доктор
Выдаём предмет ГГ
Размещается в файлах скрипт.
Выдача поршня вставляется под строку действия.
Примечание, что бы выдать два одинаковых предмета пишем
Если надо больше меняем цифру 2 на нужную нам.
Отбираем предмет у ГГ
размещается в файлах скрипт
выдача поршня вставляется под строку действия:
Примечание, что бы отобрать два одинаковых предмета пишем
Если надо больше меняем цифру 2 на нужную нам.
Спавним вещь в инвентарь ГГ
Проверка предмета у ГГ
описание. если есть хотя бы одна вещь, то мы получим фразу, если нет всех нет разговора
Проверка кол-ва предметов у ГГ
Проверка денег у ГГ
Вариант первый(используют ПЫС)
<precondition>имя скрипта.название функции</precondition>
<————Вариант два—————> Использовал на ТЧ, но и в ЗП работает
Сталкер как удалить предмет из инвентаря
object ‘ххххххх_restrictor’: section ‘sr_idle’: field ‘on_npc_in_zone’: there is no object with story_id ‘ххххх’
Важно! Делайте копии оригинальных файлов.. Удаляйте объекты, будучи в полной уверенности, что они больше не нужны!
Для удаления объектов из игры используйте уже имеющийся (закомментированный) блок кода в скрипте bind_stalker.script
[center]Как все это правильно сделать — читаем ниже, под спойлером:
Порядок действий и примеры удаления!
—[[local bad_object_names = —«wpn_lr30025601», «wpn_lr30028817″,»wpn_lr30033589»
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,»Удалили глючный ствол:»..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end]]
2 . Убрать комментарии —[[ в начале перед local и ]] в конце после end — не забываем удалить и двойное тире перед первой строкой, не только скобки!
Пример 1. Удаление глючного ствола
[error]Description : Invalid vertex for object
[error]Arguments : wpn_ ххххххххх
— Где вместо «wpn_хххххххх» — будет название вашего «глючного» ствола (либо любого другого предмета/объекта), который и нужно удалить из игры, вставив его в код для удаления.
Правильный код должен выглядеть так:
local bad_object_names =
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,»Удалили глючный ствол:»..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end
Пример 2. Удаляем глючного наемника на «Дикой территории»
Description : any vertex in patrol path [ ros_sniper2_walk ] in inaccessible for object [ ros_sniper2 ]
— Где вместо «ros_sniper2» , в случае подобного вылета, может быть другое название НПС, смотрим у себя в логе.
Вставлять для удаления то, что идет вслед за inaccessible for object , в конце строки.
Правильный код:
local bad_object_names = ros_sniper2 » >
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,»Удалили глючный ствол:»..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end
При удалении объекта, на который идет ругань в «консоли», типа: ! Cannot find saved game
object ‘ххххххх_restrictor’: section ‘sr_idle’: field ‘on_npc_in_zone’: there is no object with story_id ‘ххххх’
вставляем для удаления это: ххххххх_restrictor , или то, что идет вслед за
— где вместо: ххххххх — будет название вашего заглючившего рестриктора/ объекта.
После успешного удаления лучше (не критично) восстановить комментарии в коде —[[ в начале перед local и ]] в конце после end , по необходимости по ходу игры повторить операции с п.1 для другого объекта (объектов).
Правильный порядок дейтвий при удалении от камрада MAV
Проверка предмета у ГГ
описание. если есть хотя бы одна вещь, то мы получим фразу, если нет всех нет разговора
Проверка кол-ва предметов у ГГ
Отбираем предмет у ГГ
размещается в файлах скрипт
выдача поршня вставляется под строку действия:
Примечание, что бы отобрать два одинаковых предмета пишем
Если надо больше меняем цифру 2 на нужную нам.
Как в игре S.T.A.L.K.E.R. — ЗП выбросить из рюкзака невыбрасываемые предметы
[jup_b32_scanner_device]:device_pda
$spawn = «quest_items\jup_b32_scanner_device»
visual= dynamics\equipments\quest\scanner_artefact.ogf
inv_weight= 2
inv_name= st_jup_b32_scanner_device_name
inv_name_short= st_jup_b32_scanner_device_name
description= st_jup_b32_scanner_device_desc
inv_grid_width= 1
inv_grid_height= 2
inv_grid_x= 9
inv_grid_y= 23
cost= 0
can_trade= false
quest_item = true
custom_data = models\objects\ignore_static.ltx
И там где написано quest_item прописываем вместо true false
Если захочешь продать то ищем can_trade и вместо false ставим true там где cost ставим цену (предмет можно будет выкинуть только если он будет убран из квестовых)
Удаление предмета с заданным именем из игры
ПРИМЕР —‘ убираем финального Клыка
Я добавлю может кому и пригодится.Болотный Доктор
S.T.A.L.K.E.R.: Shadow of Chernobyl: FAQ (Создание нового предмета)
идём в gamedata\config\misc и создаём новый файл с расширением *.ltx например: dom.ltx
пишем в dom.ltx это:
;————это наш дом———————;
[dom]:ammo_base
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\quest_items\yan_x16_documents" ; option for Level Editor
> cform = skeleton
visual = house\fahaz2.ogf
description = dom
$prefetch = 64
radius=1
cost = 0
inv_name = название предмета
inv_name_short = название предмета
inv_weight = 1
inv_grid_width = 2
inv_grid_height = 1
inv_grid_x = 6
inv_grid_y = 19
k_dist = 1
k_disp = 3
k_hit = 1.4
k_impulse = 1.2
k_pierce = 1.35
impair = 1.15
buck_shot = 1
tracer = off
wm_size = 0.05
сохраняем,закрываем.
далее модельку(я выбрал эту fahaz2.ogf ) кидаем в gamedata\meshes\house\fahaz2.ogf (если нет такой папки создаём её!).
даеле идём в gamedata\config\misc открываем items.ltx и в самом конце файла вписуем :
и последнее: запускаем xrSpawner_v0.13.1Betaи находим в списке actor.
пишем туда так:
[spawn]
wpn_binoc
detector_simple
novice_outfit
device_torch
dom
Спавним вещь в инвентарь ГГ
Полезные методы и функции
Далее идем по пути gamedata/script/bind_stalker.script Функция:
Проверка денег у ГГ
Вариант первый(используют ПЫС)
<precondition>имя скрипта.название функции</precondition>
<————Вариант два—————> Использовал на ТЧ, но и в ЗП работает
Как в игре S.T.A.L.K.E.R. — ЗП выбросить из рюкзака невыбрасываемые предметы
[jup_b32_scanner_device]:device_pda
$spawn = «quest_items\jup_b32_scanner_device»
visual= dynamics\equipments\quest\scanner_artefact.ogf
inv_weight= 2
inv_name= st_jup_b32_scanner_device_name
inv_name_short= st_jup_b32_scanner_device_name
description= st_jup_b32_scanner_device_desc
inv_grid_width= 1
inv_grid_height= 2
inv_grid_x= 9
inv_grid_y= 23
cost= 0
can_trade= false
quest_item = true
custom_data = models\objects\ignore_static.ltx
И там где написано quest_item прописываем вместо true false
Если захочешь продать то ищем can_trade и вместо false ставим true там где cost ставим цену (предмет можно будет выкинуть только если он будет убран из квестовых)
Сталкер как удалить предмет из инвентаря
2012 год. Шесть лет прошло с момента Второй катастрофы, затмившей события апреля 1986 года.
Действие игры происходит в Чернобыльской зоне отчуждения, превратившейся из места, где ломались судьбы, в угрозу всему человечеству. Свои тайны Зона раскрывает неохотно, через силу, и редкий герой сможет добраться до самого ее сердца и узнать – какая опасность поджидает его там?
Опасность, по сравнению с которой мародеры и вражеские группировки, все монстры и аномалии Зоны покажутся лишь подготовкой к встрече с чем-то более фатальным и пугающим.
А пока. Готовься, герой. Собирай артефакты и торгуй, прощупывай дорогу и проверяй тылы, хватай рентгены и сражайся – но только выживи! И тогда, быть может, если будешь настойчив и особо везуч, ты узнаешь – почему все это свалилось на тебя.