Перейти к контенту

Tkachov

Пользователи
  • Число публикаций

    12
  • Регистрация

  • Последнее посещение

  • AMKoin

    0 [Подарить AMKoin]

Баланс оценок

0

Контакты

  • Сайт
    http://www.teg.gm-rus.ru/
  • ICQ
    481907064
  1. Не знаю про "сколько репы нужно, чтоб монолитовцы вступили в Долг", но есть некоторые файлы скриптов, в которых есть функции, повышающие расположение группировок к игроку. Вроде это gamedata/scripts/xr_effects.script, после комментария -- Функции для работы с отношениями Там сначала сделать другом/нейтралом/врагом, потом ещё функции, дальше есть одна или несколько функций, повышающих расположение группировок. Ищи На строку 805 в файле D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp И ещё что-то то ли про функцию, то ли про неправильный параметр - invalid_parameter_handler
  2. Я тут рылся в скриптах и наткнулся на твои инфопоршни: Покидаешь: pri_a28_actor_in_zone_leave Остаёшься: pri_a28_actor_in_zone_stay
  3. После некоторых экспериментов и "прочёсывания" файлов, я пришёл к следующему умозаключению: Любой заспауненный НПС, который не занесён в какой-то файл (скорее всего так оно и есть, только его найти надо), получает логику простого сталкера, который ходит за командиром (или просто так бродит, этого я не смотрел). Почему я так решил? Да я Сыча заспаунил (т.е. с его specific character id'ом НПС), а он идёт да бормочет про своего "старшего". А ещё я где-то рылся (щас уже не помню, какой-то скрипт), нашёл функцию, читать не стал, длинная была, но точно помню то ли комментарии, то ли названия функций или чего-то в этом роде, где было про проверку id'а НПС - типа, зарегистирован он или нет. Пойду искать дальше, если узнаю чего про спаун НПС - напишу здесь.
  4. По идее (и это скорее всего так и есть) sell - значит "продавать", => это они тебе такое оружие могут продать. Т.е. в игре когда торгуешь, у них не обязательно есть АК, т.к. не всегда они его тебе продадут (из-за этой самой вероятности, я так понимаю). В items нету, значит, нужно идти по другому адресу: gamedata\configs\gameplay\character_desc_*.xml, где * - название локации и вручную вписывать в каждую секцию сталкеров (это там, где конструкция (снизу секции) <actor_dialog></actor_dialog> отсутствует) нужные тебе стволы (т.е. их названия, а также можно написать те же bread=... или вообще #include "gameplay\*.xml", где * - твоё название файла, в который ты запишешь свои стволы, и будешь его менять, чтобы всё время по этим секциям не шататься).
  5. 1) Да, правильно понял. 2) Так и надо сделать. А насчёт той фразы, я думаю, надо просто убрать строку с <dont_has_info>
  6. Записывай в info_*.xml (например, вместо * - zaton или jupiter) <info_portion id="[название инфопоршня]"></info_portion> и в ветку диалога <dialog id="jup_buy_car"> <dont_has_info>[название записанного инфопоршня]</dont_has_info> <phrase_list> <phrase id="0"> ... <phrase id="5"> <text>jup_cars_005</text> <give_info>[название инфопоршня]</give_info> </phrase> </phrase_list> </dialog> Т.е. мы задаём вместе с precondition'ом проверку инфопоршня - если есть, то диалога нет, а если нету - то он есть и в конце (ну, я в 5-ую фразу вставил) диалога, в завершающую (обычно так) фразу выдаём инфопоршень, поэтому диалога не будет. Названия инфопоршня в коде должны быть одинаковыми. Также можно проверять только одну фразу (ставим перед <phrase id="..."> проверку в виде <dont_has_info> или <has_info> (нет или есть инфопоршень)) или ставить несколько проверок, т.е., например, написать ещё диалог, если он "успешно" проходит (например, герой не нагрубил собеседнику и за это получил инфопоршень), можно поговорить с собеседником о машине.
  7. Скорее всего (если я тебя правильно понял), тебе в gamedata/configs/gameplay/character_*.xml Вместо * могут быть items, food, items_2 и т.д. Если что, то такая структура файла: bread = 1, prob=0.5 \n kolbasa = 1, prob=0.5 \n vodka = 1, prob=0.5 \n bread - название предмета (из gamedata/configs/misc/items.ltx) 1 - сколько prob=0.5 - вероятность выпадения (50% стоит)
  8. Пиши это: function money_check() return db.actor:money()>=2000 end Я такой же скрипт писал в ЧН, тоже у меня ругался... Вроде надо писать название вот этого money_check в <precondition></precondition>, вот так: <dialog id="tkach_money"> - id диалога <precondition>dialogs_marsh.money_check</precondition> - проверка денег <phrase_list> - ветки диалога <phrase id="1"> <text>tkach_mon_1</text> <next>2</next> <next>3</next> </phrase> ... <phrase id="0"> <text>tkach_mon_0</text> <next>1</next> </phrase> </phrase_list> </dialog>
  9. Я сейчас только что персонажу "выдал" кучу диалогов, а также визуал и класс Сыча, может он сейчас хоть чего-нибудь поменяет... хоть сольётся с Сычом, там уже разберёмся Теперь у меня всё тот же сталкер, только выглядит как Сыч, а так ничего не изменилось... в принципе, я его и прописывал как квестовых, хотя можно ещё раз попробовать... Далее, <actor_dialog> - это просто ссылка на первую ветку диалога, т.е. например напишем <actor_dialog>tkach_dialog</actor_dialog> и, если у нас есть tkach_dialog, появится возможность поговорить по первой ветке этого диалога, а дальше уже по развитию диалога... А класс я ему, кстати, выдавал со словом commander (т.е. копировал, хотя может это не так важно?) --- Похоже, класс или визуал ничего не меняют... ну, по крайней мере таким персонажам, или придётся через all.spawn или разбираться в остальных файлах, сейчас пойду посмотрю npc_profile и spawn_sections... --- В общем, пока что ничего нового я не нашёл... есть идея создать диалог (можно просто две или три ветки, и без текста (т.е. например dialog_1, dialog_2 и dialog_3)) и вставить <actor_dialog>[название диалога]</actor_dialog> во все секции персонажей какой-нибудь локации (Затона, например), в классе/id'е которых содержится слово commander и искать на локации какую-нибудь "звёздочку", если диалог есть, значит мы ищем в правильном направлении, а если нету, значит или мы вставили диалог не всем таким персонажам, или нам нужно было вставить его совсем другим персонажам... но это уже завтра =)
  10. Кто-нибудь уже пытался спаунить новых персонажей без all.spawn в ЗП? Просто я в ЧН сделал персонажа, щас сделал в Зове Припяти. В принципе, работает всё - спаунится, не вылетает - но говорить со мной персонаж не хочет. Говорит про старшего, но он-то только что был заспаунен и хрен знает, где у него старший, да и вообще он мне нужен как полноценный персонаж. Думаю, это как-то с логикой связано... но я "перепроверял" всё - т.е. не просто копировал из ЧН-овских файлов код, а подстраивал под ЗП (сильно не изменился он), но логика теперь вместе с персонажем в custom_data не прописывается... у некоторых персонажей такая строчка осталось, но закомментированной. В общем, я хочу сделать персонажа, с которым можно поговорить, который будет стоять на месте (а не бродить по локации), и при этом не будет пытаться слиться в одно целое с другим персонажем (как у меня получалось при присваивании ему логики ключевых персонажей вроде барменов, продавцов и техников). Итак, что мне делать?
  11. Я решил "перекинуть" свои старые (сделанные в ЧН) артефакты в Зов Припяти. С артефактом как предмет инвентаря всё нормально - он покупается, продаётся, используется, выкидывается и т.д.. Но как объект он совсем никакой. 1. Я взял модельку настоящую, скопировал, hex-редактором открыл, прописал новую текстуру, длину строки не изменял. Присвоил своему артефакту этот визуал и просто полез в аномалии искать артефакт (именно так вроде в ЧН и работало всё). Артефакта не нашёл... потом здесь увидел про конфиги аномалий. Нашёл их, вставил свои артефакты, начал новую игру, не нашёл артефактов. Потом поставил start_artefact на название секции моего артефакта. Теперь в аномалии просто нет артефактов. Я подумал, что просто его не засекает детектор... нашёл в configs/ui что-то про детектор, вставил строчку с названием моего артефакта. Опять не работает. Решил, что это дело с $spawn в секции, которое равно "artefacts/thermal_5_fire" Только вот я не нашёл нигде artefacts/thermal_5_fire Почему не работает и надо ли мне искать "artefacts/thermal_5_fire"?
×
×
  • Создать...