Пиратка , что бы заменить многие звуки алл.спавн открывать не обязательно. Например, тот файл, о котором ты говоришь лежит по адресу: геймдата\соундс\характер_войс\сценарио\трейдер\trader_pda_fox.ogg . Создаёшь свой аудиофайл .ogg в моно, называешь его так же,как оригинальный и заменяешь. Всё.
Я давно хотел вас спросить, как художник художника - вы рисовать умеете?..
Где и в каком файле находится обозначение кол-ва нпс в радиусе от гг???? Если кто не понял я про ту цифру на миникарте в худе что показывает количество нпс неподалёку. Мне нужно убрать эту хрень с экрана.
voven, параметр direction, задаётся в радианах,
т.е. получается, что 1° = 0,017453293 рад.
Если поставить все нули, то НПС будет
смотреть строго на север.
Положительные значения поворачивают
"объект" против часовой стрелки,
отрицательные, соответственно, по
часовой.
Лишь коснется лууунный свет меня,
И в волка оообращусь вмиг я!
Разрежет тииишь ночную воой,
Вновь я теряяяю облик свой!
PoG ne Riba, радиус обнаружения НПС регулируется в конфиге предмета под названием device_pda, конкретно должен интересовать**50036c9725ff35736f77**object("device_torch")
if torch~=nil then
alife():release(alife():object(torch:id()))
end[/code]А также перебор всех предметов:[code]self.object:iterate_inventory(
function(dummy,item)
if item:section()=="device_torch" then
alife():release(alife():object(item:id()))
end
end
,db.actor)[/code]Прекрасно удаляют фонарик (как включенный, так и выключенный). Причём на каждом этапе итерации, из одиннадцати предметов, фонарик всегда был пятым по счёту.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT
Да, я тоже в недоумении, почему простой "точечной" функцией не удаляется фонарик, а приврдит к вылету с аргументом о некорректности заданного объекта. Твоя предложенная функция, повешенная на апдейт, скорее всего решит проблему, но хотелось бы не перегружать апдейт.
И если говорим про предложенную функцию, то вопрос:
мне нужно условие для удаления. Правильно ди сделать так:
function del_torch()
local torch = self.object:object("device_torch")
if torch~=nil then
elseif not has_alife_info ("brown_two_dialog_start") then
alife():release(alife():object(torch:id()))
db.actor:give_info_portion("brown_two_dialog_start")
end
end
antreg, апдейт это не панацея. Я привёл лишь пример, а апдейт использовал только потому, что это самый простой способ сделать что-то по условию, а именно по нажатию на клавишу Tab.
И функции эти прекрасно работают, если их вызвать через диалог, повешать выполнение функции на инфопоршень, да собственно при любом удобном случае. Лично у меня так. Может дело не в функциях?
Покажи лог вылета, который ты получаешь. Может у тебя секция фонарика, что у актора называется иначе. Сам фонарик присутствует, ты проверял?
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Тут может в его классе дело зарыто? class = TORCH_S Насколько помню, с фонариком разные траблы были в старых модах. Было даже такое, что удалённый фонарик, трудно было вернуть обратно в игру.
Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
dimak, класс фонарика CTorch и наследуется он от класса CGameObject, как и практически все объекты в игре. Однозначно класс здесь не причём.
Считаю, что дело именно в секции самого фонаря: либо название не то, либо еще что...
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT В секции возможно. Обычно фонарь, если кто правит, то в основном свет фонаря.
[torch_definition]
range = 60 ; range
range_r2 = 60 ; range
color = 2.0,2.2,1.2,2.2 ; four color components 0.f
color_r2 = 1.0,1.0,1.0,0.2 ; four color components 0.f
omni_range = 1.4 ; range
omni_range_r2 = 0.74 ; range
omni_color = 0.0,1.0,1.0,0.1 ; four color components 0.f
omni_color_r2 = 1.0,1.0,1.0,0.1 ; four color components 0.f
color_animator = empty ; color animator name (empty - not using animator)
spot_texture = internal\internal_light_torch_r2 ; spot texture name (using only in Second Render)
spot_angle = 60 ; spot angle
glow_texture = glow\glow_torch_r2 ; glow texture name (required)
glow_radius = 0.4 ; glow radius
guide_bone = lights_bone ; guid bone name (required)
Пример более яркого фонаря. Даже интересно стало, т.к. никогда с фонарями не заморачивался.
Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
voven Вот такой функцией, я удалял 2 двери на Янтаре, в бункере у Сахара.
function del_yan_sahar_door()
local se_obj = alife():object("door_trader_0000")
if se_obj then
alife():release(se_obj, true)
end
local se_obj = alife():object("door_trader")
if se_obj then
alife():release(se_obj, true)
end
end
У Сладкого одна дверь наз. door_trader
У Сидоровича trader_door
Про захват диалогом чет не понял тебя.
Забыл пояснить. Таким способом удаления использую имя, а не секцию в алл.спавн
Пример удаления перехода с Агропрома на Свалку.
function del_perehod_na_svalku()
local se_obj = alife():object("exit_to_garbage_02")
if se_obj then
alife():release(se_obj, true)
end
end
Вот сам переход в all.spawn
[2566]
; cse_abstract properties
section_name = level_changer
name = exit_to_garbage_02
position = 286.317657470703,0.326649487018585,11.2990140914917
direction = 0.00323583278805017,2.80244830719312e-006,-0.000866068701725453
У меня в моде по сюжету, Сидорович в игре улетает на Новую территорию, и забирает с собой двери, рацию, ноутбук и броник найма, который физ.объект. Одной функцией удалил несколько предметов, включая самого Сидоровича.
function del_esc_trader()
local se_obj = alife():object("escape_trader")
if se_obj then
alife():release(se_obj, true)
end
local se_obj = alife():object("trader_door")
if se_obj then
alife():release(se_obj, true)
end
local se_obj = alife():object("trader_physic_object0014")
if se_obj then
alife():release(se_obj, true)
end
local se_obj = alife():object("trader_physic_object0013")
if se_obj then
alife():release(se_obj, true)
end
local se_obj = alife():object("physic_object0025")
if se_obj then
alife():release(se_obj, true)
end
end
отредактировал(а) dimak: 14-04-2012 19:59 GMT3 час. Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
Допустим переходишь на аграпром, там стоит солдат и куда бы ты не повернулся или не побежал, всё время он как бы захватывал диалогом. Ну тоесть появляешься, и сразу появляется диалог с ним.
Ещё вопрос, возможно глупый. Где файл с секциями машин? При спавне машины через диалог, какое имя писать, например для нивы?
voven Про диалог таким способом, тут не скажу. Про машины. Скриптом можно спавнить. Если игра распакована, чтобы конфиги переместить в мод для настройки иммунитета, т.к. в самих архивах игры машины со слабым иммунитетом и только хватит доехать до первого дерева, и взорвется.
К примеру создаёшь в creatures/spawn_sections.ltx секцию нивы
ВЕРЕС14, вряд ли. Все "статьи" в ПДА, это заранее готовый текст, как правило появляется посредством получения инфопорции. Имена же, преобладающего большинства, НПС генерируются находу, к тому же в любом случае получить имя НПС в качестве строки текста необходимо скриптом, по ходу игры, а внести этот текст в качестве статьи\части статьи ПДА не представляется возможным. Увы.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT имена случайных НПЦ не получится, это понятно. А как насчёт квестовых? Например Юрика. Можно же внести инфопорцию, чтобы появилось его имя в одном из разделов ПДА?
Не говори что мне делать, и я не скажу куда тебе идти! (с)
voven, чтобы НПС... "захватывал" (слово же такое применил) ГГ диалогом, в его логику, для схем
отредактировал(а) ColR_iT: 14-04-2012 22:51 GMT3 час. Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ВЕРЕС14 Только, если отдельным неписям, которые не захватываются гулагами, и у которых в логике стоит проверка на смерть, и к примеру, раздел в журнале ПДА для этого, можно создать новый.
В text/rus в любом файле создаёшь такую примерно запись
string id="enc_dead_stalker"> Раздел "Погибших сталкеров"
Хороший был парень - Вася Пупкин. Жаль парня.
Далее в gameplay к примеру в storyline_info_military.xml, (если не будешь создавать новый файл. Если новый будешь создавать, то вписать инклуд нового файла, нужно в storyline_info_to_diary.xml)
добавляешь
esc_vasja_puprin_text
Далее в файле с инфопоршнами, вписываешь инфопоршн проверки на смерть Васи Пупкина
vasja_pupkin_dead"> vasja_pupkin_dead
В логике васи проверка на смерть
[logic]
active = walker
danger = danger_ignore
combat_ignore = combat_ignore on_death = death
Логика может быть любая, главное, чтобы проверка на смерть присутствовала. Так не делал, но вроде как должно работать. Для других таких персов, уже просто копируешь всё и изменяешь как нужно кроме enc_dead_stalker, т.к. раздел этот уже создан.
Опоздал, правда подробно выдал.......
Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
dimak вроде сделал всё как надо. Попробывал всё это на Лисе. Но при его смерти вылезает следующий лог:
Expression : no_assert
Function : CXML_IdToIndex::GetById
File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h
Line : 112
Description : item not found, id
Arguments : esc_fox_dead
Вылет вроде связан с инфопоршнем, т.е. ид не может ссылаться на его смерть. Хотя в его логике прописал:
[death@esc_stalker_fox]
on_info = %+esc_fox_dead%
Думаю из-за логики смерти и произошёл вылет, т.к. до этого логика смерти была on_info = %+esc_dogs_return%
Может эту логику смерти нужно вписать в инфопоршень?
Не говори что мне делать, и я не скажу куда тебе идти! (с)
ВЕРЕС14 Верно, если при уже есть инфопоршень готовый, то его и используй, только допиши в него артикль и всё.
Только по логу вылета, показало вроде как на отсутствие инфопоршна, и если новый инфопоршн создаёшь, то вписывай его в файлы с инфопоршнами. К примеру info_l01escape.xml
перед
отредактировал(а) dimak: 15-04-2012 17:08 GMT3 час. Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Привет всем!
Объясните пожалуйста, в начале игры выдается квест "Найти Стрелка", как сделать точно так же, но только например найти Шрама. Если кто-нибудь объяснит как сделать чтобы в начале игры с инфопоршня "Найти Стрелка", сделать другой квест буду очень благодарен.
И еще как создаются квесты не на нахождение предметов, а на разговор с другим Неписем, например с новым НПС. Разберите для меня близ со всеми объяснениями...
G-H-O-S-T , признайся, что ты сей час пошутил. Так будет лучше. Ладно еще насчет Стрелка/Шрама, это тебе кто-нибудь объяснит, может быть... Но остальное, разложить по полочкам, прожевать и за тебя же проглотить?...
Я давно хотел вас спросить, как художник художника - вы рисовать умеете?..
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.