Язвить может каждый. Однако если ты сам даешь повод, то и не обижайся, иль обижайся на свой же IQ в данном вопросе.
Суть в том, что ответы тебе нужны, а не мне ...
Ни сим закончили.
Сталкер Монолита
Не может тут быть универсальных ответов.
В ТЧ используется game_story_ids.ltx, в ЗП же он девстено чист. В разных модах по-разному пишут таски/квесты. Все зависит от целей, которые должны выполнятся квестом.
Должно соблюдаться обязательное правило: идентификатор должен быть уникальным т.е. не продублированным с другим. Если ты задашь стандартное значение - то можешь пересечься с уже имеющимся (от разрабов). Или другой модмейкер уже использовал его, а ты используя его коды - получишь коллизию.
Такой вопрос, я хочу добавить на все локи фоновый шум ветра. Но нужно это сделать так, чтобы все другие фоновые звуки(амбанимент, птицы и т.п.) тоже проигрывались. Кто знает как осуществить?
Свобода-Воля
Он верил в мир, он не желал
Прислуживать системе!
За тот огонь, что в нем пылал
Они убили Кенни!
Gun12
Тоже периодически пытаюсь применить: for k,v in pairs(db.storage) do
...
Однако немало нюансов.
- db.storage заполняется на старте игры 'не сразу', нередко уже заработавшие функции упираются в некорректное кол-во.
- объекты из db.storage удаляются скриптами (биндерами и т.п.), нередкость опять попасть в ассинхронный момент, когда id есть, а объекта уже нет, или наоборот.
- ...
Делаю иногда в одной функции двояко: при старте игры сканирую стандартно (for i=1,65534 do), а позже перехожу на db.storage, экономя ресурсы.
Подскажите пожалуйста, товарищи нужна функция которая позволяет убирать оружие из рук ГГ. Не из слота, а делающая оружие не активным. Как например у сидора или в баре где есть безопасные зоны, насколько я знаю там логикой сделано, а мне нужно именно скриптом. Т.е условие такое: Сделать оружие в слоте 1 не активным.
Удаление из инвентаря и мгновенный спавн это не то.
#Artos :
- db.storage заполняется на старте игры 'не сразу'
- ... попасть в ассинхронный момент, когда id есть, а объекта уже нет, или наоборот.
Вопрос. А насколько "не сразу"?.
Если речь будет идти о секунде, то (в рассматриваемом случае) для проверки расстояния это не особо критично, чтобы жертвовать ресурсами.
А проверка на nil и ключа и значения защитит от проблем.
Опять же секунду можно и обождать до апдейта и обновления storage.
Чувствую что не совсем прав, а в чём - пока не пойму.
отредактировал(а) Gun12: 14-05-2010 20:43 GMT3 час. Не стань номинантом премии Дарвина.
Но при "нажатии" на курок вылет вот с этим:
Expression : SG
Function : CRender::model_CreateParticles
File : E:\stalker\patch_1_0004\xr_3da\xrRender_R2\r2.cpp
Line : 330
Description : Particle effect or group doesn't exist
Arguments : weapons\arsenal_shells1
Мне подсказали что какого то партикла не хватает, но какого и где его искать?
Я – хозяин своей судьбы, но только судьба знает, где закончится мой путь.
Gun12
В есть такая функция (xr_co**50016ea8aab1bb10eeba**turn device().precache_frame > 1
end
[/code]device().precache_frame начинает отсчет от 28 (это если ловить скриптом при запуске игры).
Эмпирически заметил, что онлайновые объекты появляются где-то на "20-24".
Точно сказать "сколько длится" невозможно, т.к. все зависит от объектов и их данных, которые при старте читаются, инициализируются, активируются, перезапроверяются ...
Т.к. в это время и иные скрипты грузятся и выполняют свои установки и пр., то может доходить и до секунд (2-5).
То, что можно перепроверять на nil, никто не отрицает, НО(!) где же тогда достижение цели - оптимизация? Ведб перепроверка начинает 'сэедать' ресурсы ...
Да и как говорил, порой уже/еще объект есть, а в db (при/от)сутствует ... тут уже не перепроверишь или же перепроверка по сути и будет сплошным сканированием ...
Да и не все просто и даллее, я же помянул о 'немало' нюансов, которые правда, относятся в основном уже к самопискам(модам). :-)
TheDoktor открой конфиг данной АКСУ, в поисковик вбей название партикла (arsenal_shells1) и он найдет тебе строчку с этим партиклом. Затем сотри его и на его место впиши generic_shells. Все гораздо проще, чем у товарища Gun12))))
Artos это партикл один, который идет в комплекте из Арсенал мода. Он заменят ВЕЗДЕ один партикл generic_shells. Разницы между арсеналовским и ПЫСовским я не видел и не вижу. Стреляет одинаково. Так что "Цель: лишь бы сварганить чО-нить побыстрее или сделать как хочется?" не к месту.:-)
добавлено спустя 4 минут
Artos просто Gun12 стал расписывать более из глубины, показывая на примере. Я же показал как быстрее изменить, т.е "Проще", так как все просто и понятно. С данным вылетом я сталкивался с внедрением Арсенал Мода допустим в Жесть или АМК, просто менял один партикл и все работало.
отредактировал(а) АнархОПанк: 14-05-2010 21:18 GMT3 час.
karavan
Для проигрыша звука используется алгоритм:
Создается объект (ежели его еще нет): snd_obj = sound_object("путь_+_имя_зв_файла")
Запускается у нужный момент (типа так): snd_obj:play_at_pos(db.actor, Position, TimeOut, sound_object.s2d)
Звук имеет длинтельность и будет звучать это время, но объект НЕ уничтожен (если не локальная переменная) и может быть повторно использован.
Ну а играет ли звук - ты сам привел кусок кода, где есть проверка на "играет ли?". Обратное ему значение будет "НЕ играет!".
Что ты под "останокой" разумеешь, тебе наверное только ведомо.
АнархОПанк
Если говорить о конкретном моменте, то не буду спорить какой партикл лучше ... в Арсенале иль GSC ...
Можно тупо посоветовать еще более простой вариант - заменить исходный файл партиклов на арсенальный и ... не нужно будет заниматься поиском никаких строк и их правками.
СтОит все же научиться понимать с чем же ты столкнулся и принимать уже решение осознанно, а не абы лишь бы сделать ...
Artos не собираюсь спорить. Ценю ваше мнение. Но просто, зачем что-то менять, разбирать партиклы, внедрять, собирать и т.д, когда можно просто поменять одну строчечку и дело с концом:-) может это и слишком "Просто" для Вас, но так за то удобнее, т.к разницы между этими двумя партиклами нету.
Если человек захотел использовать в своем моде какой-то новый объект ТО:
1. Берет модель (если это ему уже известно), но НЕ знает что в моделе прописано немало параметров, в том числе и пути+имена к тектурам, которые натягиваются на эту модель ...
- Получает совет: скопировать к себе нужные текстуры иль переименовать свои ... (ПРОСТО!)
2. Столкнулся с нехваткой требуемых партиклов, которые прописаны в бездумно взятом конфиге предмета ...
- получает совет: замени названия на свои ... (ПРОСТО!)
... (не будем загадывать с чем столкнется далее)
Вопрос: Что будет если ... человек захочет другой объект к себе в мод взять?
Вопросы - ответы по кругу?!
А не проще один раз понять все основные 'необходимости', узнать способы/варианты их рещения и в нужное время принимать на свое усмотрение, оставлять/менять/копировать/ ... ?!
karavan
Можно и так.
Можно иначе:
local bPlay = snd_obj0:playing()
if not bPlay then
..
да тут вариаций множество.
Но ты так и не пояснил (ведь я не зря прицепился!) - что для тебя вложено в фразу "Если звук остановился!" :-)
Нужен ли именно момент остановки/окончания проигрыша звука или просто: в какой-то момент определить, что звук не играет уже. Это разные вещи.
Artos сложности выдрать один ствол из Арсенала для одиночки - проблем нет. ДАже не опытный, по логу сможет понять в чем беда, доложить модели например и текстуры. Вылет с партиклом=( Я не опытный? Что делать? Не беда! Хоть и не умею разбирать и собирать партиклы, поставлю стандартный и будет у меня работать!=))))
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.