AndrewMor 530 Опубликовано 20 Июня 2014 Так написано-же - в скрипте xr_logic в 126-й строке локальная переменная st равна nil. Открывай в редакторе, который показывает нумерацию строк, ищи 126-ю и гляди че там за nil получился. В оригинальном ТЧ эта строка находится в ф-ции configure_schemes, значит глюк связан с гулагами\логикой НПСов. В том-то и дело, что на локации заспавнены только монстры. И логика, которую всегда прописывал, и везде работала без вылетов. То, что переменная st равна nil - это я понял. Но в скриптах не силен. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 21 Июня 2014 (изменено) Добавь перед строкой "-- если какая-то схема была до этого активна, деактивировать её" вывод npc:id() в лог, будешь знать какой перс конкретно виноват. А что написать-то нужно? Приведи примерчик, если несложно. Просто я ж еще только учусь (с). А монстры да, под своими гулагами были, под схемой mob_home. @Хемуль36рус, А вот не эта, случаем? name = door_100x190_01_0000 Изменено 21 Июня 2014 пользователем AndrewMor Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 30 Июня 2014 Привет всем. Мод на базе ТЧ с маппаком локаций от Кости. В Лиманске (и только в нем) сухие кусты, которые без листьев, непроходимы в принципе. Сквозь них нельзя пройти, как будто на клипбраш натыкаешься. Соответственно, они и не простреливаются. В чем может быть причина? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 30 Июня 2014 (изменено) Еще вопрос. Заспавнил монолитовцев. Обычные - под гулагом, вот логика [logic@limansk_radiowave_post_walker1] active = walker1@limansk_radiowave_post [walker1@limansk_radiowave_post] path_walk = post1_walk path_look = post1_look Они нормально себя ведут, воюют и пр. Отдельно заспавнил их командира, без гулага, без смарт-террейна. Логика в all.spawn [logic] active = walker [walker] path_walk = limans_building_monolit_commander_walk path_look = limans_building_monolit_commander_look Так он зараза такая, хоть и враг, а не воюет, к нему можно подойти в упор. Почему, что в логике не так, мож не дописал чего? ищи патчи к сборке локаций в теме мап-пака. Там это всё пофиксено.Буду премного благодарен за ссылку. AndrewSol, да, это вся логика Что за файл в распакованном all.spawn (версия uACDC 1.35) - way__level_unknown.ltxПрисоединяюсь к вопросу. AndreySol, по логике монолитовца вопрос снимается. В вей- и лукпойнтах не хватало одной буковки, поэтому он тупо стоял на месте и ни на что не реагировал. Изменено 9 Декабря 2014 пользователем Dennis_Chikin Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 2 Июля 2014 (изменено) тополиный пух и другие аномалии с анимированными визуалами А какие это другие аномалии? Все остальные или какие конкретно с анимацией? Ведь та же электра легко активируется любым артом, ею порождаемым. Или я чего-то не понимаю? Изменено 2 Июля 2014 пользователем AndrewMor Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 6 Июля 2014 Подозреваю, что ты о партикле, менять надо direction партикла, он в стейт части. Именно, я так жарки горизонтальные делал. Меняешь координату по оси X или Y и будет тебе счастье. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 7 Июля 2014 (изменено) Max124tipaciferki1, в direction координаты прописываются в виде (x, y, z). Ты вращаешь аномалию по игреку, по вертикальной оси. Я же тебе писал - вращай по икс или зет. Возникла проблема. Пишу новый квест, столкнулся с необъяснимым. Почему-то перестали вызываться свои функции из диалогов (сдача доков, получение патронов). Поначалу работали, потом ни с того, ни с сего, перестали. Причем сам диалог отображается нормально. Для примера код диалога <dialog id="german_first_dialog"> <has_info>go_to_german</has_info> <dont_has_info>german_first_talk</dont_has_info> <phrase_list> <phrase id="0"> <text>german_first_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>german_first_dialog_1</text> <next>2</next> </phrase> <phrase id="2"> <text>german_first_dialog_2</text> <next>3</next> </phrase> <phrase id="3"> <text>german_first_dialog_3</text> <next>4</next> </phrase> <phrase id="4"> <text>german_first_dialog_4</text> <next>5</next> </phrase> <phrase id="5"> <text>german_first_dialog_5</text> <next>6</next> </phrase> <phrase id="6"> <text>german_first_dialog_6</text> <next>7</next> </phrase> <phrase id="7"> <text>german_first_dialog_7</text> <next>8</next> </phrase> <phrase id="8"> <text>german_first_dialog_8</text> <next>9</next> </phrase> <phrase id="9"> <text>german_first_dialog_9</text> <next>10</next> </phrase> <phrase id="10"> <text>german_first_dialog_10</text> <next>101</next> <next>102</next> </phrase> <phrase id="101"> <text>german_first_dialog_101</text> <next>11</next> </phrase> <phrase id="11"> <text>german_first_dialog_11</text> <action>jupiter_dialog.german_give_equipment</action> <next>12</next> </phrase> <phrase id="12"> <text>german_first_dialog_12</text> <give_info>german_first_talk</give_info> <action>dialogs.break_dialog</action> </phrase> <phrase id="102"> <text>german_first_dialog_102</text> <action>dialogs.break_dialog</action> </phrase> </phrase_list> </dialog> Функция из jupiter_dialog.script function german_give_equipment(first_speaker, second_speaker) dialogs.relocate_item_section(first_speaker, "ammo_5.45x39_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_5.45x39_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_5.45x39_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_5.56x45_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_5.56x45_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_5.56x45_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_9x39_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_9x39_ap", "in") dialogs.relocate_item_section(first_speaker, "ammo_9x39_ap", "in") dialogs.relocate_item_section(first_speaker, "medkit_scientic", "in") dialogs.relocate_item_section(first_speaker, "medkit_scientic", "in") dialogs.relocate_item_section(first_speaker, "medkit_scientic", "in") end Также не работает и другая, если ее прописать в эту функцию first_speaker:set_relation(game_object.friend, second_speaker) Сразу повторю, что поначалу они РАБОТАЛИ. Отчего такое молго быть? Проблема с невызовом функций из диалогов решилась. Оказывается, в имени функции нужно было убрать дефис. О, опять старые древние заслуженные грабли ! Минусы, плюсы и прочая псевдографика вообще ни где не должны быть, кроме как в файлах, лежащих в config\text\*, ну, максимум, в строках, которые выводятся непосредственно из скриптов без всяких преобразований. Имен файлов это тоже касается. dc Еще вопрос ко всем, может, не в тему, а всё же: никто не в курсах, нет ли в каком моде к Сталкеру гаусс-пушки с измененным визуалом, не родным из чистой ТЧ? Изменено 9 Декабря 2014 пользователем Dennis_Chikin Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 7 Июля 2014 (изменено) Иногда при выходе из игры возникает вылет: stack trace: 001B:7C812FD3 kernel32.dll 001B:78158E89 MSVCR80.dll, EH_prolog() 001B:02BC6DA8 xrGame.dll 001B:02DE79DD xrGame.dll С чем такое едят? И отчего возникает? А выше показать ? dc dc, лог стер, но выше было что-то типа cl destroy [какие-то цифры]. В меню нажимаешь "Выход в Windows" и на рабочем столе вдруг появляется окошко с жуком. Заметил только на одной локации и в момент, когда возле ГГ куча народу (31 чел). Если отойти от них подальше - никакого окна с жуком не появляется. dc, вот приблизительно это cl setDestroy [48869][37115] cl setDestroy [48870][37115] cl setDestroy [48871][37115] cl setDestroy [48872][37115] только числа другие наверно были. @Dennis_Chikin, в общем, да. Раз на раз не приходится. Но ситуация с жуком возникла-то всего дважды... Изменено 9 Декабря 2014 пользователем Dennis_Chikin Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 22 Июля 2014 @Музафир, тебе правильно ответили. Можно через смарт-террейн по выдаче поршня поменять местоположение НПС, правда, он может не дойти, если в онлайне его кто-нибудь скушает... Пример - смарты на базе Свободы на АС. При выдаче поршня aes_arrive_to все свободовцы срываются в сторону Припяти, бывает, гибнут на подходах к Радару или на самом Радаре, бывает, до Припяти доходят... Ну или спавнить дубля с аналогичным профилем. Пример - Круглов на Янтаре. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 12 Августа 2014 Кто подскажет, как выдрать из Солянки рюкзак, в котором можно хранить свои вещи? С чего начать? Сам рюкзак, как предмет, я вытащил и прописал в торговлю. Он появляется в инвентаре, но при использовании пропадает, а при выбросе - ведет себя как обычный предмет. Его можно опять взять, но нельзя ничего положить. Понятно, что надо прописывать скриптово, но в каких скриптах и функциях это прописано? С чего начать раскопки? Или проще: какая функция отвечает за спавн рюкзака и откуда ее вызывать? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 12 Августа 2014 @Kirgudu, В том-то и дело что в Солянке это было. Рюкзак покупается у торговца, как предмет и появляется в инвентаре. Но при его использовании он из инвентаря пропадает и спавнится под ногами ГГ как обычный рюкзак, т.е. инвентори_бокс. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 13 Августа 2014 "Еле совместил скрипты Солянки со своим модом." Легкий оффтоп. Не спорю, правда, я не скриптер. Скрипты надо учиться писать с легких, с нуля, тогда и самому будет нетрудно написать. А вот убивать на это обучение время - иногда просто жаль. А вот еще вопросик: можно на этот самый рюкзак заспавненный метку на карте повесить? Дома покопаюсь, конечно, думаю, нетрудно это... Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 21 Августа 2014 Привет всем! Столкнулся с проблемкой. Нужно сделать так, что при использовании предмета в инвентори он не пропадал сразу, а пропадал, скажем, после трех использований. Я так понял, что нужно организовать счетчик, и при каждом использовании увеличивать значение переменной на единицу, а потом спавнить предмет в рюкзак по новой, пока значение счетчика не станет равным трем. А вот как сохранить эту переменную, чтобы при сейв-лоаде ее значение не потерялось? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 21 Августа 2014 Нормальный способ один, написать в конфиге предмета Этот способ не подходит, потому что использовав предмет один раз и сохранившись, при загрузке сейва он будет использоваться опять три раза, а не два. А как отловить появление предмета в инвентаре? Dennis_Chikin А можно примерчик, самый простенький, для ознакомления? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 21 Августа 2014 Появление предмета в инвентаре - это случаем не "function actor_binder:on_item_take (obj)" из bind_stalker.script? Например, xr_logic.pstor_store(). Или в нетпакет. То есть АМК-шные функции get_invbox_data и set_invbox_data надо пользовать? Или они работают только для инв. ящика? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 21 Августа 2014 (изменено) Повесил в бинд_сталкер вызов функции function take_sigaret(pid) if obj:section() = "имя_секции_предмета" then-- что-то делаемendend ловлю вылет. Наверно неправильно синтаксис пишу, но не знаю как правильно. Ну и откуда здесь должен взяться obj ? А во-вторых, таки да, синтаксис. Идем на lua.org, берем компилятор, и проверяем им. Документация лежит там же. dc Ну хоть вызов функции-то правильный? ogsm_quests.take_sigaret(obj) Вроде разобрался, но вот вопрос, правильно ли я сохраняю свою переменную? function is_sigaret(npc, item)local kolvolocal section = item:section()if section == "sigaret" thenkolvo = 20xr_logic.pstor_store(db.actor, kolvo, 20)endend Просто с pstor ни разу не разбирался. Вылета нет, но как-то не по себе, не знаю, работает она или нет? "но как-то не по себе" - и это - правильное ощущение. Разбираемся дальше. dc Изменено 22 Августа 2014 пользователем Dennis_Chikin Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 24 Августа 2014 Интересный вопрос. Есть два способа, первый и правильный перейти на шестой или седьмой патч, где есть методы, позволяющие получать и устанавливать максимально переносимый вес, да и вообще там много всего полезного А можно по этому вопросу поподробнее, ибо я как раз и сижу на шестом патче? И по поводу pstor - спасибо за ответ, я уже и сам разобрался. @Wolkodav, Костер прекрасно спавнится через all.spawn. Нужны три секции с именами section_name = lights_hanging_lamp, section_name = space_restrictor, section_name = zone_flame_small с одинаковыми координатами. Но тебе правильно ответили, что бочку/дрова так не заспавнишь, это можно сделать именно в СДК. @Anonim, насчет имен смарта и прочего - это все легко пишется вручную в файл way_имя_локации.ltx Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 24 Августа 2014 В данном случае визуал самого костра ( "koster_negorit" ) - это камни по кругу, а внутри дровишки. У тебя может быть другой визуал, бочка, например. А где такое вообще прописано, а именно - модель и текстуры? ; cse_visual propertiesvisual_name = objects\koster_negoritВ чистом ЗП - не нашел, может, из мода какого? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 28 Августа 2014 Просьба наставить на путь истинный. С чего начать, нужно написать скрипт, проверяющий наличие на локации конкретных видов мобов и конкретного количества НПС по группировкам. Нужно для написания скриптового респавна. Или может уже кто-то что-то такое придумал? Если так, где можно сие посмотреть? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 530 Опубликовано 29 Августа 2014 (изменено) Сталкеры, а какой звуковой файл отвечает за звук шагов ГГ? Как называется и где лежит? Хотелось бы потише его сделать, в СДК это возможно? Путь вроде нашел: sounds\material\actor\step. Но как можно уменьшить громкость всех файлов, что там лежат? Через СДК? Или есть какой другой способ? Изменено 29 Августа 2014 пользователем AndrewMor Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение