Влад 9 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 (изменено) Мм.. в xr_motivator.script (death_callback) добавил: alife():release(alife():object(victim:id()), true) и вылетел с Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...\s.t.a.l.k.e.r\gamedata\scripts\smart_terrain.script:1137: attempt to index local 'obj' (a nil value) Поправил smart_terrain.script: local obj = sim:object(npc.id) local strn_id = obj:smart_terrain_id() if strn_id ~= 65535 then sim:object( strn_id ).gulag:clear_dead(obj_id) end local obj = sim:object( obj_id ) if obj ~= nil then local strn_id = obj:smart_terrain_id() if strn_id ~= 65535 then sim:object( strn_id ).gulag:clear_dead(obj_id) end else return end Но вылетел с Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...\s.t.a.l.k.e.r\gamedata\scripts\death_manager.script:116: attempt to index local 'se_obj' (a nil value) Собсно,что делать? Министр Ок,спасибо. Изменено 2 Июля 2010 пользователем Влад Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
Министр 3 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 (изменено) Влад, не удаляй труп сталкера сразу после его смерти, остальные схемы (в частности death_manager) не успевают сделать свои дела, ибо объекта уже нет и везде передается nil (можно было и по логу догадаться в чем косяк). P.S. Юзай таймеры или флаги. Изменено 2 Июля 2010 пользователем Министр Ссылка на комментарий
ФеНиКс 2 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 (изменено) меченый(стрелок) не угадал не для гитары...=) найти эту схему... вот в этом проблема=) в папке со скриптами скриптов много, а который из них тот самый? С реакциями НПСов?=) SkyLoader СПАСибо =) как всегда про файл знал, а вот заглянуть в него не заглянул=) Изменено 2 Июля 2010 пользователем ФеНиКс Ссылка на комментарий
SkyLoader 53 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 (изменено) ФеНиКс, реакции на раздражители находятся в xr_reactions.script. Изменено 2 Июля 2010 пользователем SkyLoader Ссылка на комментарий
ФеНиКс 2 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 а теперь вопрос чем он(этот файл) мне поможет я в нем ничего не нашёл.... Ссылка на комментарий
меченый(стрелок) 5 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 ФеНиКс, у меня , как уже не раз писал, нету ни сталкера(ни в каком виде) ни модов.Исходя из этого я не могу сказать что там делать, я лишь направил на "путь истинный" . А вообще ,посмотри на саму главную функцию в скрипте, binder по моему(ну или что-то связанно с bind ). Ссылка на комментарий
Stalk15 27 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 (изменено) Вот смотрите, есть функция: local stope = false function testych() local npc = level.object_by_id(id) local PosActor = db.actor:position() if npc and IsStalker(npc) and npc:alive() and npc.health > 0.1 then if npc:position():distance_to(PosActor) < 4 then if not stope then news_manager.send_tip(db.actor, "Эй, чоё встал!?.", 0, "stalker", 7000) stope = true end else stope = false end end end Тоесть, если расстояние НПС'а до ГГ меньше 4 метров, то должно сработать действие.Это действие срабатывает, но только при загрузке игры, а правильно функция работать не хочет(ни чего не происходит, если к НПС подойти) ...Не подскажете, где я мог допустить ошибку? Изменено 2 Июля 2010 пользователем Stalk15 Ссылка на комментарий
_Призрак_ 11 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 (изменено) Я так понял что функция у тебя работает только один раз а потом не работает? Если да то вот готовый вариант: local stope = false function testych() local npc = level.object_by_id(id) local PosActor = db.actor:position() if npc and IsStalker(npc) and npc:alive() and npc.health > 0.1 then if npc:position():distance_to(PosActor) < 4 then if not stope then news_manager.send_tip(db.actor, "Эй, чоё встал!?.", 0, "stalker", 7000) stope = true end else stope = false if npc:position():distance_to(PosActor) > 4 and stope then stope = false end end end end Неуверен что работает но думаю что ты понял фишку Изменено 2 Июля 2010 пользователем _Призрак_ Freedom Ссылка на комментарий
Stalk15 27 Опубликовано 2 Июля 2010 Поделиться Опубликовано 2 Июля 2010 (изменено) _Призрак_ Функция работает один раз, но только тогда, когда игра только загрузилась, то есть идет Кlиент:Синхроризация, и как только игра загрузилась - сразу действие срабатывает.А если к неписям подходить, то ни чоё не происходит. На счет твоего кода:Зачем второй раз восстанавливать флаг?Ведь у меня в функции уже это есть: local stope = false local npc = level.object_by_id(id) function testych() local PosActor = db.actor:position() if npc and IsStalker(npc) and npc:alive() and npc.health > 0.1 then if npc:position():distance_to(PosActor) < 4 then if not stope then news_manager.send_tip(db.actor, "Эй, чоё встал!?.", 0, "stalker", 7000) stope = true --флаг-триггер(чтоб действие выполнилось только 1 раз) end else stope = false --восстановления флага, чтоб при каждом подходе к НПС срабатывало действие end end end Ни кто не знает, в чем проблема? max_max_08 Функцию ставлю на апдейт в actor_binder:update(delta).А вот почему функция срабатывает при запуске - не пойму, очень странно Изменено 3 Июля 2010 пользователем Stalk15 Ссылка на комментарий
Гость max_max_08 Опубликовано 3 Июля 2010 Поделиться Опубликовано 3 Июля 2010 А твоя функция откуда обновляется? Судя по описанию в net_spawn. Если так то перемести ее в actor_binder:update(delta) Ссылка на комментарий
gamedatavec 0 Опубликовано 3 Июля 2010 Поделиться Опубликовано 3 Июля 2010 Мужики помогите! Как можно сделать смену файла описания к примеру оружия прямо во время игры! Ссылка на комментарий
iDreD 5 Опубликовано 3 Июля 2010 Поделиться Опубликовано 3 Июля 2010 Смотря для какой игры. Если для ЗП, то там iо функции форэва. А если к ТЧ, то только заменой секции итема на такой же, но с другим описанием. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
меченый(стрелок) 5 Опубликовано 3 Июля 2010 Поделиться Опубликовано 3 Июля 2010 (изменено) gamedatavec, удаляешь предмет со старым описанием, спавнишь такойже предмет но с новым описанием кровоSTALKER, Т.е. предлагаешь изменять описание сразу всем "стволам" данного типа? Изменено 3 Июля 2010 пользователем меченый(стрелок) Ссылка на комментарий
Министр 3 Опубликовано 3 Июля 2010 Поделиться Опубликовано 3 Июля 2010 (изменено) Stalk15, вот я вижу строчку local npc = level.object_by_id(id). Хорошо. А вот откуда берется сам id мне не ясно. Вот это плохо. Изменено 3 Июля 2010 пользователем Министр Ссылка на комментарий
Byurrer 0 Опубликовано 4 Июля 2010 Поделиться Опубликовано 4 Июля 2010 (изменено) кровоSTALKER а можешь по подробнее про тот способ который ты предложил геймдатовцу? Я пробовал удалять и тут же спавнить через скрипт прямо во время игры (скрипт работает при определенных условия через биндер) но эт не выход ведь если играть с снимаемым прицелом то он не спавнить на калаше к примеру! Тогда по другому вопрос поставлю если на этот нет ответа: как заспавнить к примеру калаш с надетым но снимаемым прицелом через скрипт в руках или в инвентарь к ГГ? Изменено 4 Июля 2010 пользователем Byurrer Ссылка на комментарий
Stalk15 27 Опубликовано 4 Июля 2010 Поделиться Опубликовано 4 Июля 2010 (изменено) Byurrer А что не понятного?Если надо заменить описание итема, например, ак-74, просто удали его и сразу же заспавни такой же, но с другим своим описанием, зарание создав второй ак-74 с новым описанием. Изменено 4 Июля 2010 пользователем Stalk15 Ссылка на комментарий
Byurrer 0 Опубликовано 4 Июля 2010 Поделиться Опубликовано 4 Июля 2010 Stalk15 нет нет с этим мне все понятно, пробовал получилось (спасибо что откликнулся) я не знаю как заспавнитьь ак с снимаемым но одетым прцелом, вот что меня интересует!!! Ссылка на комментарий
Влад 9 Опубликовано 4 Июля 2010 Поделиться Опубликовано 4 Июля 2010 (изменено) Народ!Кто может подробно расписать примеры работы с нет-пакетами стволов/НПЦ ? С меня +,и другим тоже пригодилось бы.. malandrinus Спасибо,гляну. Изменено 4 Июля 2010 пользователем Влад Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
Malandrinus 615 Опубликовано 4 Июля 2010 Поделиться Опубликовано 4 Июля 2010 Влад, В acdc есть вся нужная информация. Достаточно иметь нескомпилированную версию acdc (сырец на Perl-е), знать серверный класс объекта и иметь любой рабочий пример с нетпакетами (например создание аномалии или вертолёта от Бардака). Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Stalk15 27 Опубликовано 5 Июля 2010 Поделиться Опубликовано 5 Июля 2010 Вот я вывожу надпись в верхней части экрана через скрипт.Подскажите, как можно эту надпись сделать мигающей? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти