AndreySol 215 Опубликовано 3 Августа 2014 Наверное, плохо смотрел... Загрузить уровень в LE СДК, найти объект и глянуть как он обзывается в all.spawn... проверял программкой script syntax checker на ошибки, ошибок нет Причем тут синтаксические ошибки, если четко указано что 'wpn_tip_name' равен nil ? Смотри каким образом строка 123 в скрипте news.script связана со смертью НПСов... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Сентября 2014 Как узнать тип патронов в конкретном стволе можно так (ф-ция принимает аргументом ID оружия): function Get_ammo_type(wpn_id) local sobj = alife():object(wpn_id) if not sobj then return nil end local np = net_packet() sobj:STATE_Write(np) local size = np:w_tell() np:r_seek(size - 1) local ammo_type = np:r_u8() -- 0 - 1-й тип боеприпасов, 1 - 2-й тип боеприпасов и т.д. return ammo_type end 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 4 Сентября 2014 Или не так Точно так. Думаю, сваять скрипт разбора строки ammo_class на составные и получение соответствия индекса конкретному значению сможете сами ? сразу его чинишь (это просто) Я не уверен.... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 4 Сентября 2014 и получаю в инвентарь полностью кондиционный объект и после сэйв\лоад - то-же полностью кондиционный ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 16 Сентября 2014 (изменено) Некоторые авторы пополняют в своих модах пакеты, дописывая новые данные...Поэтому вопрос остается. Нет ли чего более универсального для определения текущего типа патронов в стволе? Есть, конечно - вместо частной ф-ции, используемой на "чистых" стволах, использовать к примеру модуль нет-пакетов от Artos. Изменено 16 Сентября 2014 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 23 Сентября 2014 Может кто подсказать что не так? false и true местами поменяй.... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 24 Сентября 2014 Вообще, заметил, что у квестовых предметов нет опции "зафиксировать кость". Наличие костей в модели не зависит от того квестовый он или нет. Если используешь для фейкового и нормального предметов одну и ту-же модель - просто добавь fixed_bone нормальному и будет тебе счастье... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 24 Сентября 2014 Насколько я понимаю, понятие "опция "зафиксировать кость"" это из SDK. Если ты предмет спавнишь скриптом - как с ним можно в SDK работать ? Вот и спросил - как его зафиксировать чтобы он не падал Как всегда - через кость: local pshell = obj:get_physics_shell() if pshell then local element = pshell:get_element_by_bone_name("link") if element then element:fix() end end Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 25 Сентября 2014 @Jeka81, Насчет указания фиксации кости в секции объекта - ничего сказать не могу, не проверял. Но проверю, интересная вещь... В скрипте можно сделать двумя способами: 1). Фиксация на клиентской стороне - создать объект, и после выхода его в он-лайн зафиксировать вышеприведенным кодом. 2). Фиксация на серверной стороне, с внесением изменений в нет-пакет объекта (пример с использованием модуля нет-пакетов от Artos): local ser_obj = alife():create(.....наш объект.....) if ser_obj then ----- фиксируем объект после создания ----- local pk = m_netpk.get(ser_obj) -- запрос нет-пакета if pk and pk:isOk() then local data = pk:get() -- читаем данные из нет-пакета if data then data.fixed_bones = "link" pk:set(data) -- сохраняем данные в нет-пакет end end end Второй способ проще, на мой взгляд... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 25 Сентября 2014 и обнаружилось, что квестовый спавнится не наследуя поворот фейкового Ну так и должно быть - заспавненный скриптом объект не имеет никакого отношения к расстановке объектов в SDK... Насчет ориентации предмета - тот-же нет-пакет: data.direction = vector():set(0,90,0) к сожалению, я новичек в скриптовании и эти два способа только больше меня запутали опять-же, к сожалению, но модострой только посредством ковыряния в SDK и конфигах - однозначно не полноценный. Осваивайте скриптование... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Сентября 2014 Можно попробовать в actor_binder:update сделать: if device().precache_frame <= 1 then ... end Эта проверка сработает после пропуска некоего кол-ва апдейтов от начала загрузки, и соответственно всю загрузку лута в инвентарь. Соответственно можно использовать флаг, который установить по факту precache_frame <= 1 и проверять его в on_item_take. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Сентября 2014 Проясните плиз, что означает такая запись для кондлиста в smart_terrain ? cond = {+garbage_meetstalker_done},{+garbage_meetstalker_die} Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Сентября 2014 (изменено) цитирую из статьи... то, что Вы процитировали - это для одного "блока" условий, заключенного в фигурные скобки. А мой вопрос - как понимать несколько блоков условий через запятую ? Думаю это как подобие оператора 'или' - гулаг работает если есть какое-либо из перечисленных условий. Я правильно понял ? И еще про смарты: можно-ли задать смарту условие наподобии как для логики рестриктора переход в nil. Рестриктор выключается, перестает апдейтится, кушать какие-то ресурсы. Смарту можно что-то подобное сделать ? Изменено 28 Сентября 2014 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 6 Октября 2014 я заспавнил НПС через all.spawn, в игре убил его, и в труп не могу положить вещи секцию из all.spawn в студию... С остальными трупами\инв.ящиками все нормально ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 6 Октября 2014 Вроде все нормально выглядит... Как варианты - что-то в character_profile или в файле логики. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 7 Октября 2014 Проблема решается легко, если спавнить скриптом. Мораль истории: не использовать all.spawn для создания боевых персонажей А как по мне, более правильная мораль - разобраться все-же... 1. Обычно none = true используется в кастом-дате так: [smart_terrains]none = true а у Вас этот параметр прописан в [logic] 2. Логика неписю указана как не существующий (с Ваших слов) конфиг ! Попробуйте убрать вообще весь блок кастом даты. Ну и еще - с CoP не работаю, но object_flags = 0xfffffffb в SoC везде для сталкеров = 0xffffffbf. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 13 Октября 2014 Если спавнишь скриптом, то как задать направление взгляда НПС? Direction можно задать правкой нет-пакета. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Декабря 2014 Каким скриптом можно осуществить передачу предметов из ящика transfer_item вестимо. с учетом того, что список предметов неизвестен если для чистого движка(не правленного) - то можно попробовать перебором всех игровых объектов, и сравнением их парент_ид с ид ящика. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 25 Августа 2017 Только что, diversant сказал: Вопрос 1: тут что нет поиска по теме?! Если есть, подскажите где, а то смотрю и ничего не вижу; Во вкладках разделов форума, сразу после красной "FAQ", вкладка "Поиск". В правом углу, сразу после вкладок, поле с закругленными краями, в нем надпись "Поиск..." и значок лупы. Тяжело не заметить... Только что, diversant сказал: какие параметры отвечают за усталость ГГ в ТЧ Файл actor.ltx(лежит в "папка_куда_установлена_игра\gamedata\config\creatures"), там крутить: Скрытый текст max_walk_weight = 60 ;макс. носимый вес jump_power = 0.01 ;0.005 ;умешьшение силы с прыжком без учета веса ноши jump_weight_power = 0.05 ;0.045 ;умешьшение силы с прыжком с учетом веса ноши, для максимального допустимого веса overweight_jump_k = 5 ;10 ;коэффициент влияние перегрузки прыжок с весом (умножается на jump_weight_power) stand_power = -0.005 walk_power = 0.00001 ;умешьшение силы за секунду во время ходьбы без учета веса ноши walk_weight_power = 0.00005 ;умешьшение силы за секунду во время ходьбы с учетом веса ноши, для макс. веса overweight_walk_k = 5 ;10 ;коэффициент влияние перегрузки ноши (умножается на walk_weight_power) accel_k = 3 ;5 ;коэффициент на бег (умножается walk_power, walk_weight_power) sprint_k = 75 ;150;200 ;коэффициент на "sprint" бег (умножается walk_power, walk_weight_power) cant_walk_power_begin = 0.05 ;порог силы меньше которого актер не может двигаться cant_walk_power_end = 0.10 ;порог силы больше которого актер сможет двигаться cant_sprint_power_begin = 0.25 ;порог силы меньше которого актер не может бежать в спринте cant_sprint_power_end = 0.60 ;порог силы больше которого актер сможет бежать в спринте Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 7 Января 2018 3 часа назад, monk сказал: тоже не нужен, я так понимаю. Правильно понимаешь. Не ленись почаще смотреть в исходные конфиги\скрипты и обязательно изучи материал по ссылке из поста WinCap. 14 часов назад, Rietmon сказал: А так же, когда есть еще один инфо-поршень, рестриктор уже НЕ работал Если я правильно понял тебя, то необходимо полное отключение рестриктора при наличии определенной инфо-порции ? Тогда так: [logic] active = sr_idle@wait [sr_idle@wait] on_info = %+ип_отключения_рестриктора% nil on_actor_inside = sr_idle@wait1 %+spawn_friends_zamok% [sr_idle@wait1] on_info = %+ип_отключения_рестриктора% nil .... .... В этом примере рестриктор будет в "стартовой" секции sr_idle@wait будут проверяться два условия. Первое - инфо-порция "ип_отключения_рестриктора", при активации которой рестриктор будет отключен(переход в секцию "nil"), второе - условие "on_actor_inside", которое сработает когда актер войдет в зону действия рестриктора. Поделиться этим сообщением Ссылка на сообщение