Помощь/подсказки в создании модов
# 1
Суббота, 19.06.2010, 11:40:12

Ранг: Прибывший
Сообщений: 2
Награды: 5
Репутация: 5 Регистрация: 19.06.2010 Город: Армавир    

Помощь/подсказки в создании модов

Тема создана для помощи модмейкерам. Если у кого то есть вопросы, пишите, будем искать решения.


Рекомендую перед вопросом посмотреть:

+Крупнейший форум модостроителей

+Википедия по модифицированию Сталкера

+Программы по модифицированию



SibireaStalker
Сообщения не по теме и про ТЧ будут удалятся без объяснений! >(

В теме запрещены "спасибы", авторы которых будут наказаны. Для этого есть система ЛС.


Внимание! СДК обсуждается в этой теме!

Принимаются вопросы для FAQ! Подробней в теме...


Никто не забыт, ничто не забыто...
# 1581
Четверг, 01.03.2012, 00:07:25

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

А можно ли как-то сделать зоны, в которой не будет звучать звуки амбиента и фоновой музыки?
Если да, то как?


# 1582
Четверг, 01.03.2012, 15:07:15

Ранг: Живая легенда
Сообщений: 1884
Награды: 107
Репутация: 5959 Регистрация: 20.07.2010  

PorShen, гляди, покажу тебе пример на работе сквадов, надеюсь, ты у нас умный и адаптируешь сам:
Code
target_smart = {=is_day} esc_a1, esc_a2 - днем отряд находится в esc_a1, в любом другом случае (ночью) в esc_a2

target_smart = {!is_day} esc_a1, {=is_rain} esc_a2, esc_a3 - если наступает ночь, сквад идет в esc_a1, если идет дождь - в esc_a2, в остальных случаях топает в esc_a3


Lagos, видел ответ на сталкерине. Не забываем по нему шустрить, у меня помимо форума ещё есть жизнь и ответить я могу не всегда...
Насчёт дождя вообще не понял. Тебе нужно его в погодный цикл прописать?


Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу.
Полноправно вернуться в сообщество планирую после релиза второй части игры.
-----------------------------------------------------------------
Всем удачи и не скучать.
# 1583
Четверг, 01.03.2012, 15:39:57

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

SibireaStalker, про дождь разобрался сам.
Про звук не нашёл ничего на сталкерине :(
И вот ещё. Схема sr_sound:
Поставил space_restrictor, прописал логику:

И следует вылет:


В чём я ошибся?


# 1584
Четверг, 01.03.2012, 15:59:30

Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682 Регистрация: 15.09.2010 Город: Краснодар    

SibireaStalker, я так понял можно и в on_info записать так:
on_info = {=is_day} esc_a1 |walker@...
За умного-спасибо)
Lagos
Ну во-первых:
type не может быть от балды.
Это либо:
actor. Задает звук, играемый со стороны актора. Это — звуки пда, всякие сообщения по смс, переговоры пилотов вертолета — все, что нужно играть без потери громкости от удаления источника. За инициализацию и проигрывание звука отвечает скриптовый класс actor_sound.
Либо:
npc. Задает звук, играемый неписем. За инициализацию и проигрывание звука отвечает скриптовый класс npc_sound.
Либо:
3d. Задает звук, играемый объектами. За инициализацию и проигрывание звука отвечает скриптовый класс object_sound.
Либо:
looped. Задает звук, играемый зацикленно. Пример — звуки землетрясения при выбросе. За инициализацию и проигрывание звука отвечает скриптовый класс looped_sound.

Во-вторых проверь привязку схемы sr_sound в xr_sound.script,если её там нету,то кину в ЛС.




Сообщение отредактировал PorShen - Четверг, 01.03.2012, 16:00:58
# 1585
Четверг, 01.03.2012, 16:01:26

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

PorShen, если это мне, то:
type = podzem_sound_random - этот звук прописан в sr_sound.
Как проверить привязку схемы sr_sound в xr_sound.script?


# 1586
Четверг, 01.03.2012, 16:20:30

Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682 Регистрация: 15.09.2010 Город: Краснодар    

Нет,ты не понял.
1.Звуки и пути к ним прописываются в файлах script_sound_локация.ltx,которые находятся в configs/misc/.
2.А в type,даже,если ты и зарегистрировал звук в sr_sound.script ты не можешь указать другой тип,свой,т.к это требует врезки в код движка.

3.Думаю ситуация разъясниться,если ты сделаешь так(сохрани бекап файлов,на всяк случай):
[пример на основе script_sound_music_and_stories.ltx]
В самом начале,после [list_music_and_stories] идёт список "ссылок" на конфиг звука,который находится ещё ниже.
После [list_music_and_stories],пишешь podzem_sound_random.

В самом низу:
[podzem_sound_random]
type = 3d
npc_prefix = false
path = путь
shuffle = rnd
idle = 10,15,100

В саму логику:
[logic]
active = sr_sound

[sr_sound]
snd = podzem_sound_random
rnd = 100
position = random
idle = 5
delay = 7

Насчёт привязки,это касается ph_sound,которая устарела и в ЗП не использовалась.На счёт sr_sound я не знаю или не помню. Пробуй,если всё равно вылет,значит дело в привязке.




Сообщение отредактировал PorShen - Четверг, 01.03.2012, 16:22:25
# 1587
Четверг, 01.03.2012, 17:05:50

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

PorShen, вот что сделал:
1) Файл script_sound.ltx.

2) Файл script_sound_los.ltx

3) Логика space_restrictor:

4)Вылет:

Всё таки привязка?
P.S.S.: поправил script_sound_los.ltx, оставил только один звук, появился такой вылет:

Это уже точно привязка :( ...




Сообщение отредактировал Lagos - Четверг, 01.03.2012, 17:54:53
# 1588
Четверг, 01.03.2012, 18:39:08

Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682 Регистрация: 15.09.2010 Город: Краснодар    

Попробуй лучше с оригинальными script_sound у меня тоже так было,возьми соунд припяти к примеру)

Добавлено (01.03.2012, 18:39:08)
---------------------------------------------
А чего через SDK не делаешь?



# 1589
Четверг, 01.03.2012, 18:42:34

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

PorShen, каким образом?
Я поставил спейс рестриктор в сдк, написал для него логику, скомпилил спавн.
Поправил конфиги.
Вылет.
И то что я создал новый файл роли не играет. У меня для ключевых НПС(моих), уже много файлов для каждой локации и т.д.....
P.S.: Добавил это в конец файла xr_sound.script:
[spoiler]
Code

--' Таблица для хранения созданных саунд обжектов.
sound_object_by_theme = {}
--' type = [random|seq|looped]
function get_sound_object(theme, t_type)
if sound_theme.ph_snd_themes[theme] == nil then
abort("ph_snd_themes for theme %s", tostring(theme))
return
end

if sound_object_by_theme[theme] == nil then
sound_object_by_theme[theme] = {}
end

if t_type == nil then
t_type = "random"
end

--' Выбор следующего айдишника
local play_id = -1
local table_size = table.getn(sound_theme.ph_snd_themes[theme])
if sound_object_by_theme[theme].last_id == nil then
if t_type == "random" then
if table_size >= 2 then
play_id = math.random(1, table_size)
else
play_id = 1
end
else
play_id = 1
end
else
if t_type == "random" then
if table_size >= 2 then
play_id = math.random(1, table_size - 1)
if play_id >= sound_object_by_theme[theme].last_id then play_id = play_id + 1 end
else
play_id = 1
end
else
if sound_object_by_theme[theme].last_id < table_size then
play_id = sound_object_by_theme[theme].last_id + 1
else
if type == "looped" then
play_id = 1
end
end
end   
end

printf("SOUND_OBJECT: selected id [%s] for theme [%s], type [%s], size [%s]", tostring(play_id), tostring(theme), tostring(type), table_size)

if play_id == -1 then
return
end
--' Проверяем создан ли у нас соответствующий саунд обжект или его надо создать
if sound_object_by_theme[theme][play_id] == nil then
if type(sound_theme.ph_snd_themes[theme][play_id]) == "table" then
sound_object_by_theme[theme][play_id.."_r"] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id][1].."_r")
sound_object_by_theme[theme][play_id.."_l"] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id][1].."_l")
else
sound_object_by_theme[theme][play_id] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id])
end
end

sound_object_by_theme[theme].last_id = play_id

--' Возвращаем саунд обжект
if type(sound_theme.ph_snd_themes[theme][play_id]) == "table" then
return sound_object_by_theme[theme][play_id.."_r"], sound_object_by_theme[theme][play_id.."_l"]
else
return sound_object_by_theme[theme][play_id]
end
end

local sound_object_by_path = {}
--' Обертка вокруг функции, возвращающий звуковой объект.
function get_safe_sound_object(path)
if sound_object_by_path[path] == nil then
sound_object_by_path[path] = sound_object(path)
end
return sound_object_by_path[path]
end

function stop_all_sound_object()
for k,v in pairs(sound_object_by_path) do
if v:playing() then
v:stop()
end
end
end
function clear_all_sound_object()
sound_object_by_theme = {}
end
[/spoiler]

И sr_sound прописал в modules.script.
Тот же вылет.




Сообщение отредактировал Lagos - Четверг, 01.03.2012, 21:20:21
# 1590
Суббота, 03.03.2012, 08:55:26

Ранг: Прибывший
Сообщений: 4
Награды: 4
Репутация: 45 Регистрация: 11.04.2011  

как создать smart_terrain через all.spawn(декомпиленый) ?
# 1591
Суббота, 03.03.2012, 13:44:14

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

Jakoro, а чем тебе не нравится СДК?
Через него ведь проще :)


# 1592
Суббота, 03.03.2012, 15:45:50

Ранг: Прибывший
Сообщений: 4
Награды: 4
Репутация: 45 Регистрация: 11.04.2011  

Lagos,
во первых качать долго
во вторых как через сдк вставить терейн в оригиналу не портя локацию к примеру затон
# 1593
Суббота, 03.03.2012, 17:03:27

Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682 Регистрация: 15.09.2010 Город: Краснодар    

Lagos, сейчас одного человека спрошу по поводу твоей просьбы.


# 1594
Суббота, 03.03.2012, 20:18:35

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

Jakoro, спросил бы, научили. Это проще, чем через ACDC.
PorShen, всё, полностью разобрался. Остался теперь другой вопрос.
Зона, в которой не будет слышен внешний амбиент и фоновая музыка. В ТЧ возможно было. В ЗП убрали. Возможно как-либо заменить\восстановить?
Или есть альтернатива?




Сообщение отредактировал Lagos - Воскресенье, 04.03.2012, 01:23:31
# 1595
Воскресенье, 04.03.2012, 03:24:00

Ранг: Прибывший
Сообщений: 4
Награды: 4
Репутация: 45 Регистрация: 11.04.2011  

Lagos,
Сам разобрался :D теперь надо найти хороший координатор <_<


Сообщение отредактировал Jakoro - Воскресенье, 04.03.2012, 03:28:58
# 1596
Воскресенье, 04.03.2012, 13:01:10

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

Jakoro, для снятия координат?
Вот.
Прикрепления: informer_by_Sta.rar (82.6 Kb)


# 1597
Воскресенье, 04.03.2012, 15:41:42

Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682 Регистрация: 15.09.2010 Город: Краснодар    

Можно и в ЗП.
Создать спейс и в нём логику.
[logic]
active = sr_silence
[sr_silence]


# 1598
Воскресенье, 04.03.2012, 17:12:06

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

PorShen, если это опять мне :D , то она не заглушит мой спейс с sr_sound?
Протестил - звуки не убераются.




Сообщение отредактировал Lagos - Воскресенье, 04.03.2012, 19:09:05
# 1599
Воскресенье, 04.03.2012, 19:01:47

Ранг: Познающий
Сообщений: 116
Награды: 1
Репутация: 1682 Регистрация: 15.09.2010 Город: Краснодар    

Она фоновую музыку заглушит.


# 1600
Воскресенье, 04.03.2012, 19:13:28

Ранг: Знаток Зоны
Сообщений: 613
Награды: 27
Репутация: 1197 Регистрация: 17.02.2011 Город: Воронеж    

Porshen, не глушит ничего. Вообще. Не амбиент, ни фон.




Сообщение отредактировал Lagos - Понедельник, 05.03.2012, 18:52:13
Поиск:
Вверх
Правила чата
Мини-чат
+Мини-чат
0