karavan
Во первых откуда ты возьмёшь переменные Dictanse и obj_id ?
Их же нужно передать в функцию?!?
Конечно будет работать и так, но тогда либо убирай эти переменные, либо используй :
function Check_Distanse(obj_id, Dictanse)
Ну а во-вторых для проверки жив/иёртв есть метод :alive()
Поразмысли сам куда вставить. Artos
А я хотел по поданному Вами примеру заставить думать. Но уже поздно. Alive в студии
С Н А Й П Е Р специально для вас есть мод на 10 новых локаций, туда можно еще впихнуть рыжий лес и мертвый город.
В том уже есть генераторы, Варлаб, Лиманск, Госпиталь, Лесная чаща и пр.
На всех кроме Госпиталя и Лиманска наспавнено монстров и кое где можно и патроны найти и вроде пушку. Я этот мод скачал и немного изменил, теперь там на локациях другая погода и сама она тоже теперь другая, а так же добавлены на локации фоновая музыка и в меню тоже тепрь нескольок муз. тем. Для Госпиталя и Лиманска родная из ЧН.
Можно сделать ответвление от сюжетной линии что то вроде похода к центру зоны.
Теперь по делу, вобщем такая фигня, чтобы попасть в Ваолаб нужно открыть кодовую дверь, но я сделал проще, перенес координаты точки перехода между локациями, но вот если обратно вернуться то точка появления находится за дверью, и выйти невозможно, как теперь саму точку появления переместить? Она как называется? Или это в настройках надо копать?
Artos По поводу оформления учту. :ye) Это просто был копи-паст из блокнота и все отступы пропали. Ну а в целом про метод :alive() думал что он применим только для спавна, про метод .health не знал.
Благодарю. :-cool)
alive() vs alife() - почувствуй разницу(!) и будь внимательнее!
И на 'сон грядущий' почитывай иногда азбуку (lua_help.script), тогда незналок будет поменьше ...
Копи-паст под тег 'сode' - сохраняет форматирование кода (и время/нервы читателя)! Ну вот, сам обращаюсь с глупым вопросом (доработался ...)
Вопрос: В каком файле (\gamedata\config\ui\*.xml - вероятно), задаются координаты новостным строкам, выводящимся на основной игровой экран (не в ПДА!)?
Сам когда-то правил и ... забыл. Что-то никак не найду.
Требуется: Подправить расположение иконки 'автора' новости относительно текста. Да и саму строку немного передвинуть.
Это не метод. Наверное нужно провести небольшой ликбез.
Что такое объект (obj в твоём случае)?
Это некая сущность, для которой существуют заданные значения свойств (атрибутов) и
отредактировал(а) Gun12: 16-05-2010 00:14 GMT3 час. Не стань номинантом премии Дарвина.
Товарищи у меня назрел вопрос по поводу звуков и признатся непогу его не задать.
**50046ea8aab1bb10eeba**[commands\enemy_3]]) -- Команда о том, что враг рядом.
function snd()
snd_obj1:play_at_pos(db.actor, vector():set(0,1,0), 0, sound_object.s2d)
end[/code]
И если этот звук не слышен для НПС, а играет исключительно в голове ГГ, то есть ли возможность скриптом заставить НПС слышать и реагировать на звук.
Gun12 Ну как.... Сборка, SMP1,АМК, НЛС, Немного из НС, чуток из ОГСЕ, что-то из АБС. Вобщем с миром пополам. Однако на локацию пещера переходит а на Свалку вылет
(раз пошла такая "пьянка", уточню//дополню ликбез)
Gun12: По сути это таблица.[/quot**50316ea8aab1bb10eeba**/orange]', то получим:[code]type(obj) == "userdata"[/code], а не "table"!
В чем же разница?
Типовые таблицы можно читать (и соответственно использовать их) различными способами, наиболее известные:[code]for i=1,#Table do ... end
или
for k,v in pairs(Table) do ... end[/code]
Однако все эти методы НЕ применимы к таблицам/массивам типа <userdata>. Причина в том, что в эту таблицу/массив заносятся различные данные/типы данных и для чтения их и методы различны и собственно ключи (keys) как минимум нужно знать.
Т.о. читать/извлекать данные можно только заведомо зная ключ (key) искомого значения (бинарный способ чтения не рассматривается).
Например: local iObjHealth = obj.health - запрос из массива 'obj' (userdata!) по ключу 'health' значения соответствующее кол-ву здоровья объекта.
karavan
Не уверен, но в xr_motivator записаны следующие**50016ea8aab1bb10eeba**e.monster) == snd_type.monster then
,,.
[/code]
В свою очередь в lua_help.script
Так что делай выводы.
Можешь попробовать добавить через тип ambient
Но что из этого выйдет не знаю. Наверное будут шугаться всего и всегда:-) Artos
В кодах Сталкера ей/ему дано особое определение
Не только, точнее не столько, в кодах Сталкера, сколько в самой Lua.
Это тип данных из Си.
А доступ к ним через API.
В общем решил не лезьть туда, куда батько ... :-) и написал
Тут куча нюансов, но по-проще примерно так.
отредактировал(а) Gun12: 16-05-2010 01:40 GMT3 час. Не стань номинантом премии Дарвина.
АнархОПанк
Причин безлоговых вылетов огромное кол-во.
Вылеты при переходах в основном связаны с тем, что модмейкеры, вводя различные дополнения, часто забывают о таких периодах как: старт игры и выход из игры.
Что происходит в эти интервалы времени? Как минимум то, что объекты считываются из сэйва и инициализируются/'входят в онлайн' и соответственно обратные операции. Т.о. есть интервалы, когда объектов еще/уже нет! А различные модмейкерские функции продолжают обрабатывать по стандартным алгоритмам, нередко НЕ имеющих перепроверок на наличие объектов в игре. Вот и ...
Ну или другой тип ошибки/недочета: когда актор переходит уровень на этапе сохранения игры из него 'вываливается' весь набранный хабар. Если работают коды типа drop_item() - то можно представить порой, какова нагрузка при лавинном выбросе вего из рюкзака ...
Поиск причин ошибок при переходах/сэйвах очень не тривиален и слишком конкретен.
Artos спасибо за пояснение.
Вообще, раньше все работало. Теперь чем больше я впихнул, тем больше стал лагать (не из-за ошибок, нет) а из-за нехватки памяти. Даже при настройках на минимум. Да и
Вообще, раньше все работало
я впринципе ни чего и не внедрял после того как тестил. НУ только костюмы да оружие. Наврятли это влияет. Но за пояснение, СПАСИБО!
отредактировал(а) АнархОПанк: 16-05-2010 01:29 GMT3 час.
АнархОПанк: Теперь чем больше я впихнул, тем больше стал лагать (не из-за ошибок, нет) а из-за нехватки памяти.
Большое заблуждение! (или некорректное высказывание)
Лагает (как правило) НЕ из за того, что нехватает памяти. Каждая процессорная операция требует некоторого, хотя и небольшого, НО времени! В единицу времени любой процессор выполняет некоторое (хотя и очень большое, но ограниченное!) кол-во операция.
Если из-за увеличения требуемых операций на обработку 'впихнутого' процессорного времени/производительности не будет хватать - начинаются лаги ('тормоза').
Грешить на нехватку памяти при таких ситуациях и пытаться лечить увеличением ее - бессмысленно. Требуется или оптимизировать код(!) с целью сокращения требуемых операций обработки или сокращать кол-во 'впихнутого' (что подразумевает - сокращение требуемых операций).
Попытки снизить настройки для графики конечно могут дать некоторое облегчение, но ... это уже латание тришкиного кафтана.
Вот почему важно писать коды не абы работало, а с учетом корректности и оптимизации!
Artos Хм... Спасибо!
Просто в "нагруженных" моментах, либо тормозит, а бывает вылет с логом типа "Не хватает памяти". Да и вообще, первый тест (Когда все скрипты были и т.д) все работало. Правдо тормоза были. Снял "Полную динамику" и настройки средне. Не тормозит. Тестил, доходил аж до ЧАЭС. Потом пошло внедрение костюмов, итемсов и т.д., а, и адаптировал "Моннорок аддон" для НС. Я думал из-за этого. А нет.
karavan
Ты полез в очень непростую область.
Сначала посмотри "xr_danger.script" и "xr_reactions.script" ...
СтОит взглянуть еще на "xr_hear.script" из ЗП, т.к. в ТЧ управление звуковыми раздражителями довольно кастрированное.
АнархОПанк
Не стОит слепо и прямолинейно читать/воспринимать любое сообщение игры/системы.
Ведь и не могут предусмотреть всех ситуаций/причин разрабы, писавшие библиотеку этих сообщений!
Да и собственно и не могли бы предусмотреть все, что делают 'шаловливые руки' модмейкеров.
"Нехватает памяти" - запросто может обозначать, например, то, что выделенная область для обработки некоторых операций закончилась ... А выделяться области могут даже НЕ мегабайтами!
Artos Спасибо вобщем суть я понял. И я так понимаю, это не лечится?
Во всяком случае, это не из-за скриптов, с ними все работало. А из-за чего тогда он происходит, не пойму. Костюмы вроде да оружие с предметами, влияния мало оказывают.
Artos И все же мне хотелось бы увидеть функцию поигрыша звука с позиции ГГ, которая была бы слышна для окружающих НПС.
Или это вообще невозможно в ТЧ? Да и вообще в сталкере?
Пробовал сделать вот так:
local snd_obj1 = xr_sound.get_safe_sound_object([[commands\enemy_3]])
function snd()
snd_obj1:play_at_pos(db.actor, vector():set(0,1,0), 0, sound_object.s3d)
end
Но звук в таком случае вообше не играет.
АнархОПанк
Если ты о лагах - то именно из-за скриптов, т.е. из за их неоптимальности и излишних циклах/операциях.
Если о вылете при переходе - тут только с твоими модом можно ковыряться и искать. Писать технологические выводы в лог и читать их/искать ...
Анализом отдельных кусков кода в данном случае и врядли можно обойтись и оч.затратно по времени.
karavan
Ты копаешь НЕ в ту сторону!
Все что ты спрашиваешь - это методы/способы проиграть тот или иной звуковой файл.
Тебе же нужно: как проигрываемый звук сделать раздражителем для неписей.
Извини, сейчас этим заниматься нет никакой охоты, т.к. как уже сказал это очень непростой вопрос, готовых примеров у меня нет.
Если только как-нибудь позже ...
Повторюсь. При переходе с одной локи на другую есть точка появления ГГ, как ее переместить? Или по другому, как она называется? (в Спавне подредактировать).
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.