3. Создаём респавнер в файле all.spawn. Координаты и размеры зоны респавнера, должны быть такими, чтоб инвентарный ящик поместился внутри зоны респавнера:
---------------------------------------------
[10001]
; cse_abstract properties
section_name = respawn
name = имя респавнера
position = координаты x,y,z
direction = 0,0,0
idle_spawn = тип спавна. Инвентарь не имеет типов спавна, поэтому ставится (-1).
parent = ай-ди инвентарного ящика, в котором производить респавн вещей.
item_spawn = (true\false) возможность включения и отключения респавна. Можно задавать условия.
max_count = количество респав-циклов за определённый период времени. (Пока ГГ находится на уровне. После перехода ГГ на другой уровень, счётчик сбрасывается).
4. Создаём вызов респавна. Обычно вызов производится из smart_terrain. В "custom_data" любого подходящего smart_terrain, под секцией [smart_terrain], вписываем вызов респавна:
-AGGRESSOR-
часть деревянных ящиков можно заполнить через файл ph_box_items_count
точнее ассортимент менять здесь ph_box_items_by_communities
ящики типа сидоровского - синие - можно заполнить через скрипт по sid'у -
в файле game_story_ids есть списки сидов ящиков для каждого уровня
вот пример
; Escape
2000 = "esc_simulation_box_1"
2001 = "esc_simulation_box_2" -- это ящик у костра где новички тусуются - я в него спавнил
2002 = "esc_simulation_box_3"
2003 = "esc_simulation_box_4"
2004 = "esc_simulation_box_5"
остальные проверяй сам - если умеешь спавнить через скрипт.
не умеешь - лезь в allspawn - и там ищи секции ящиков - и заполняй чем хошь.
отредактировал(а) erlik: 12-10-2009 21:01 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
-AGGRESSOR-
Насколько я знаю левел вертекс - невидимый небольшой "квадрат" на уровне, а гейм вертекс тоже квадрат, но больших размеров, а служат они для спавна чего угодно.
-AGGRESSOR-
Можешь использовать rs_stats 1(в консоли(самый "плохой вариант")), скачать Position Informer(легко разобраться), или сделать так:
Заходим, предварительно распаковав, в каталог gamedata/scripts/ И там в файле ui_main_menu.script в конце дописываем это:
function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
Теперь в игре идём на то место (или ногами или деморекордом), где спавним обьект, выходим в меню игры, и жмём на клавишу СОЗДАТЕЛИ (CREDITS) - соответственно нашему взоры не предстаёт никакой список создателей, а мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку.
(Взято со stalkerin.gameru.net/wiki)
erlik
Это я в курсе.
Я не знаю куда запихать этот ***
Всё, понял, спасибо.
А вот вопрос.
Я поставил на диалог с сидорычем(самый стартовый) и на всякий случай с шустрым, чтобы при разговоре с ними мне выдавалась инфа о тайнике, но мне она не выдаётся почему-то.
Функция выдачи тайника:
function get_treasure(npc)
treasure_manager.get_treasure_manager():give_treasure("esc_secret_village_rucksack")
end
А вот в диалоге(с сидорычем, шустрого не пишу):
Мб кто знает в чём прикол?
Upd. Проблему решил.
отредактировал(а) Futura: 13-10-2009 18:04 GMT3 час.
в саму функцию добавь переменную эктор
function get_treasure(actor, npc)
treasure_manager.get_treasure_manager():give_treasure("esc_secret_village_rucksack")
end
если порядок переменных такой - то экшен должен быть на фразе эктора.
должно сработать.
добавлено спустя 13 минут
а нет - тут кажись надо наоборот делать - npс, actor
и выдачу с фразу непися - так тайник выдается от непися эктору.
отредактировал(а) erlik: 12-10-2009 22:41 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Сингапур, у тебя в журнале в статье есть скрипт автоиньектора. Можно ли его применить к одному (именно одному) костюму, хочу сделать костюмчик с высокими резистами против всего, хорошим пнв и т.п. Вот у него будут автоиньекции. Немного читерский, но попробую завязать на квест :) Назовем, к примеру, экзоскелет серии "Терминатор" :) в общем да-нет и где чего вбить, немного в скриптах разобрался
Свобода жизни для каждого
Без чьего-либо контроля
Ходить под ярмом - не наше
Мы сами выбираем роли
Пусть нам навязывают что хотят
И делят нас на касты
Не остановить из Свободы ребят!
No gods, no f...n masters!
erlik вотурок ты дал для узнавания айди, там везде место id что писать??и это для создания непися через скрипт?? и еще(извиниза мою тупость= ) ) у тебя там в конце скрипт написан, только он нужн для убийства??не через логику??
добавлено спустя 1 минуту
тоесть, id надо на цЫфру менять?? и все где написано id или нет?? давай уже убьем этого непися))) ну или скинь что у тебя получилось и я пороюсь. но лучше самому разобраться
отредактировал(а) новиков сергей: 13-10-2009 14:15 GMT3 час. создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
новиков сергей
там ниче менять не надо - как есть так и пишем.
только в функции спавна - так где "имя_непися" нужно соответственно поставить айди непися из профиля - из файла там где пишешь его specific_character id (это и есть его как бы имя - или точнее его айди по профилю), группировку, визуал и т.д
что касается самой функции (ложим в xr_effects) - то по идее она должна быть рабочей - хотя 100% гарантии я не даю - не успел еще проверить.
Запустить ее предпочтительнее из логики - в тот момент когда анимка суицида отыграется -
то есть опять же попробовать поставить ее вызов как я писал
on_signal = animation_end | %=make_suicide% --\ первый вариант второй ремарки
если не сработает такой вызов - то попробовать
on_signal = action_end | %=make_suicide% --\ это из того варианта ремарки где есть озвучка сумасшедшего вояки
если и это не сработает -то фиг его знает еще как...
блин щас вспомнил - надо же еще сохраненное значение id непися передать в эту функцию...
function make_suicide()
local obj = level.object_by_id(id_npc)
if obj then
obj:kill(obj)
local snd = xr_sound.get_safe_sound_object([[weapons\t_desert_eagle_shot]]) --\ добавим озвучку - выстрел из пустынного орла
snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
end
надо это у singapur'а поспрашать :-) как правильно сделать - у я то щас не соображу никак.
ты сделай сначала логику неписю с двумя ремарками и проверь будет ли анимка работать (строчку on_signal) не пиши, переход ко второй ремарке делай через поршень (выдавай его в диалоге после нужной фразы) - как там я и писал. а там уже посмотрим.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
проверимс чуть попозже))блин, вот это замарочка)) вродебы всего надо чтобы он отыграл анимацию и хитнул себя досмерти. а такие проблеммы...
добавлено спустя 3 минут
#erlik : новиков сергей
там ниче менять не надо - как есть так и пишем.
только в функции спавна - так где "имя_непися" нужно соответственно поставить айди непися из профиля - из файла там где пишешь его specific_character id (это и есть его как бы имя - или точнее его айди по профилю), группировку, визуал и т.д
это чтоли в файле charactes_desc_**** ??
отредактировал(а) новиков сергей: 13-10-2009 14:54 GMT3 час. создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
#erlik : новиков сергей
там ниче менять не надо - как есть так и пишем.
только в функции спавна - так где "имя_непися" нужно соответственно поставить айди непися из профиля - из файла там где пишешь его specific_character id (это и есть его как бы имя - или точнее его айди по профилю), группировку, визуал и т.д
что касается самой функции (ложим в xr_effects) - то по идее она должна быть рабочей - хотя 100% гарантии я не даю - не успел еще проверить.
Запустить ее предпочтительнее из логики - в тот момент когда анимка суицида отыграется -
то есть опять же попробовать поставить ее вызов как я писал
on_signal = animation_end | %=make_suicide% --\ первый вариант второй ремарки
если не сработает такой вызов - то попробовать
on_signal = action_end | %=make_suicide% --\ это из того варианта ремарки где есть озвучка сумасшедшего вояки
если и это не сработает -то фиг его знает еще как...
блин щас вспомнил - надо же еще сохраненное значение id непися передать в эту функцию...
function make_suicide()
local obj = level.object_by_id(id_npc)
if obj then
obj:kill(obj)
local snd = xr_sound.get_safe_sound_object([[weapons\t_desert_eagle_shot]]) --\ добавим озвучку - выстрел из пустынного орла
snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
end
end
надо это у singapur'а поспрашать :-) как правильно сделать - у я то щас не соображу никак.
ты сделай сначала логику неписю с двумя ремарками и проверь будет ли анимка работать (строчку on_signal) не пиши, переход ко второй ремарке делай через поршень (выдавай его в диалоге после нужной фразы) - как там я и писал. а там уже посмотрим.
ты меня сильно запутал. что мне делать?? то что я процитировал на пердыдущих страницах??АААА.дай номер аськи в лс...
добавлено спустя 1 минуту
или все что ты написал на этой??или они ничем не отличаются???кстати, то что ты прям вот написал что в функции айди надо прописать, это где???блин..моск взорвется щас
добавлено спустя 1 минуту
где в этой функции прописать??блин, я ваще нубок в скриптах и логике...
отредактировал(а) новиков сергей: 13-10-2009 15:08 GMT3 час. создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
новиков сергей
Эх ... давай я лучше сам проверю все - а потом уж рабочий вариант скину - а то так мы полфорума испишем пояснениями куда и что.
а ты прочитай статьи по логике - хотя бы часть - пусть все не поймешь, все равно вопросов меньше будет - ну никто же не будет пояснять что такое инфопоршень или экшен и куда это прописывать.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Всем привет. Не мог бы мне кто-нибудь объяснить, как отслеживать действия неписей? Я хочу сделать так, что бы при смерти НПС выскакивало сообщение (Погиб сталкер: Клан, Причина). Что мне вообще нужно для этого использовать?
[sr_idle]
on_actor_inside = {+инфопоршень1} nil %+инфопоршень2%
Правильно?
Нужно чтоб при входе в рестриктор,если есть инфопоршень1,выдавался инфопоршень2.
новиков сергей
Ну и заставил ты меня попотеть - если бы сам проверил мои варианты было бы проще верный сделать.
В общем сделал я самоубийцу - функция с убийством по айди работает - а вот в логике у меня была допущены мелкая ошибка (вот это {%+suicide%} нужно исправить на это {+suicide} случайно вписал лишние тут знаки %) - и никто даже не поправил - из-за нее непись и не переходил во вторую ремарку.
в общем выяснил что вот это
on_signal = animation_end| %=make_suicide% - не работает
использовал on_signal = action_end| %=make_suicide%
вариант со второй ремаркой где идет анимация и озвучка - и на конец действия чувак с криком "я дурак и у меня справка есть" приставляет ствол к башке мочит себя :-)
singapur22
большое спасибо за твой вариант - но я его для себя оставлю - а другие пусть думают сами как улучшить это дело.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Твоё право. Но если по уму, то можно было просто подправить анимацию suicide так, чтоб непись нажимал на курок, когда пистолет оказывается на уровне головы. Я не знаю как это делается, (не связывался). Но в NLC есть такая анимация (бандит закидывает на плечо двустволку и палит в воздух). Из чего следует, что есть такая возможность, синхронизировать один эпизод анимации с другим.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.