Геныч Defake Если тебе нужно заспавнить у какогото монстра допалнительный предмет, то не нужно копаться в конфигах. Всё равно больше одного не сделаешь.
Можно заспавнить через скрипт. Можно даже написать скрипт, который будет спавнить дополнительные предметы у монстров, постоянно, если таковых не окажется у него в наличии. Тоесть спавн у всех нужных монстров будет производиться при первом же апдейте.
function spawn_leg_snork()
for k,v in pairs(db.storage) do
local obj = level.object_by_id( k )
local sec = obj:section()
if monstrs_items[k] == nil and sec == 'snork_weak' then
alife():create("mutant_snork_leg", obj:position(), obj:level_vertex_id(), obj:game_vertex_id(), obj:id())
alife():create("mutant_snork_leg", obj:position(), obj:level_vertex_id(), obj:game_vertex_id(), obj:id())
monstrs_items[k] = true
end
end
end
Это типа, пример с ногой снорка. Устанавливаем в конфиге снорка нулевой процент вероятности спавна ноги, после смерти. Чтобы не получалось у некоторых 3 ноги, вместо двух.
Данный скрипт вписываем, например в файле db.script.
В том же файле, добавляем в самом верху создание таблицы:
monstrs_items = {}
Затем вписываем в файле bind_stalker.script, в функции update, обновление нашего скрипта:
db.spawn_leg_snork()
Всё, скрипт будет работать. Только это пробная версия. И не полная, так как написана на скорую руку. Например, будет такой глюк, спавн будет обновляться при каждом переходе на другой уровень, и при новой загрузке. Так как таблица в этих случаях сбрасывается в nil.
Чтобы этого не происходило, нужно добавить соответствующие функции save и load, которые будут сохранять данные в таблице.
люди, помогите!! заменил то что даёт волк в самом начале, и после этого стала вылетать игра!
подскажите что делать!
вот это я заменил
function give_weapon_to_actor (trader, actor)
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in")
end
на это
function give_weapon_to_actor (trader, actor)
dialogs.relocate_item_section(trader, "wpn_svd", "in")
dialogs.relocate_item_section(trader, "ammo_7.62x54_7h1", "in")
dialogs.relocate_item_section(trader, "ammo_7.62x54_7h1", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in")
Есть замечательная штука - лог называется.
Дело в том что после вылета содержимое буфера обмена заполняется (Если не понятно - смотри ниже)
Как его увидеть:
1) После вылета, на рабочий стол нажимаешь правой кнопкой мыши и жмешь: "Создать текстовый документ".
2) Открываешь его
3) Нажимаешь в текстовое поле правой кнопкой мыши и жмешь "Вставить" и появляется лог
Вот пример лога:
Description : reloadЭто он не может найти анимацию перезарядки... Arguments : Can't open section 'wpn_knifedich_hud'...В новом оружии wpn_knifedich, и не может открыть худ этого оружия Expression : fatal errorОшибка :-) Function : CModelPool::Instance_CreateКакая-то фигня -)) File : E:\stalker\patch_1_0004\xr_3da\xrRender\ModelPool.cppКакая-то фигня -)) Line : 73Какая-то фигня -)) Description : Какая-то фигня -)) Arguments : Unknown visual typeВот, собственно, что нам нужно - не правильный visual оружия - надо менять модель (Или что то другое связанное с visual-ом)).)
помогите не могу найти 2 файла) :-)
ещё такой вопрос: как называется фаил с оружием у квеетовых персов??
и ещё: как называется фаил с ящиками и тайниками??
Всем привет! У меня вопрос: Как сделать чтобы сидорович не сидел просто так, когда в него стреляешь или режешь ножом?.... я хочу сделать чтобы сидорович во время атаки на него взрывался!(как сталкер в воронке или карусели!)...
ОЧЕНЬ МНЕ ЭТО НУЖНО, ПОМОГИТЕ ПЛИЗ!!! :-)
отредактировал(а) Web Strikеr: 11-07-2009 16:56 GMT3 час.
Ну на данный момент главные вот эти, а так... Ну что то сразу все и в голову не приходит :-)
Ну вот все что пока вспомнил:
Как убрать вступительный ролик?
Как сделать ночь темнее?
Как называются Ящики в ACDC?
Как добавить выбросы?
Как добавить выброс (Уже по скриптам, в каком то месте)?
Как выдавать инфопоршны через координаты? (немного ошибся в начале)
Как добавить сообщения о смерти сталкеров?
Как вообще добавлять сообщения... через рестрикторы например?
Дальше логика (Я в ней вообще не разбираюсь, так что говорить буду по-проще без всяких там "вэй поинтов" :-) )
Как сделать чтобы НПС не уходил со своего места спауна?
Как сделать чтобы НПС ходил между (Когда придет в одно место, спустя час идет в другое) АТП и лагерем новичков?
Как сделать путь для НПС? (Например дежурство)
Как менять путь НПС (См. выше) по инфопоршнам?
Как сделать, чтобы НПС за актером шел?
Как сделать, чтобы За одним НПС шли другие?
Немного глупо да?
отредактировал(а) Геныч Defake: 11-07-2009 18:51 GMT3 час.
Предназначение данной схемы – давать игроку сообщение (подсказку) при входе в рестриктор
name = Название новости.
type = по умолчанию «news»
Тип новостей: «news» – отсылается как глобальная новость, «tips» - отсылается то имени sender-a
* sender = если тип = «tips», то от sender задаёт условный строковый идентификатор иконки персонажа, от которого якобы пришло сообщение. По умолчанию это иконка торговца.
* cond = Необходимые логические условия, при которых подсказка сработает. По дефолту, сработает при входе в зону.
* single = true/false (по умолчанию false). Если параметр в true, то типс будет выдан только один раз,
Пример настроек рестриктора:
[logic]
active = sr_tip
[sr_tip]
name = tips_esc_trader_about_pda
type = tips
cond = {+infoportion1 –infoportion2 }
* showtime = msec – время в миллисекундах, в течение которого сообщение будет находится на экране. – ПОКА НЕ РАБОТАЕТ НОРМАЛЬНО!
Если необходимо проиграть только 1 раз, а это случается часто, то можно добавить следующую строку: on_actor_inside = nil
файл \gamedata\scripts\sr_tip.script
от туда же !!! КОРОЧЕ СМОТРИ ВСЁ ТАМ!!!
отредактировал(а) petrovna: 11-07-2009 18:17 GMT3 час.
чё делать? не открываться файл с нпс(ну, где оружие и т.д.)
выдаёт:
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей XSL. Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.