Добрый день! Вот сижу и туплю, где то накосячил с инфопоршнями, а точнее с их использованием в диалоге, но хоть тресни не найду ошибку!!!
Создал квест по типу ГГ получает задание у Волка поговорить с бандитами, приходит к ним они его заставляют искать артефакты, потом возвращается отдает их и назад к Волку сдать квест.
Скелет квеста:
Базар с бандитами Вернуться к Волку ui_iconsTotal_kill_stalker blue_location Escape_novice_lager_volk stalker_bandit_esc_kvest_complete
Поговорить с Сучкой green_location stalker_bandit_esc_kvest stalker_bandit_esc_kvest_talked
Разобраться с бандюками blue_location Escape_novice_lager_volk stalker_bandit_esc_kvest_complete
Найти и отдать артефакты blue_location stalker_bandit_esc_kvest stalker_bandit_esc_kvest
Инфопоршни:
bandit_esc
Стринги:
Ну вот и все Волк, нет у тебя больше этой проблемы!!!
Молодец, Меченый. На тебя можно положиться. За это полдниму я твою репутацию в лагере нашем, да и торговец цены скостит тоже... я его попрошу!!!
Ладно не парься, свои люди сочтемся!
Привет Волк, что хотел или так побазарить позвал?
Да как тебе сказать Меченый, есть у меня к тебе просьба одна понимаешь. Тут на старой ферме бандюки беспредельщики поселились, а главарь у них вообще отмороженный, чем то зомбированного напоминает, говорят пришел из центра Зоны... ну в принципе это не важно... повадились они к нам в лагерь ходить и рационы наши тырить, а я из лагеря отлучится не могу, ну сам пойми, на кого я этих новичков оставлю, вот и хотел попросить тебя сходить там и перебазарить с этим отмороженным бандюганом, кликуха еще у него такая интересная, "Сучка"!!!
Ладно помогу, на кого у вас тут еще положиться можно, кроме меня!!!
Ну здорово бродяга. Говорят у тебя тут терки с местными возникли, вроде как ты даже продукты у них тырить повадился, а???
Здоровее видали фраер, ты меня тут на здрасьте не бери, а то я тебе быстро кишечник продырявлю понял? Чо хотел баклан, давай выкладывай!!!
Ладно не гомозись сиделец мне тут нашелся, я пришел не драться, а базар перетереть, короче как договариваться будем, по-хорошему или...
А так и будем фраер, либо я их продолжаю на капусту выставлять, либо ты мне принесешь 2 артефакта грави и этот, как его, Каменный цветок называются, я их продам и наконец то откинусь с этой долбанной Зоны!!!Ну что устроит тебя такой расклад?
Лады Сучка... Хе - хе, принесу я тебе эти артефакты, а погоняло то себе придумал...
Да пошел ты нахер со своими заявами понял козел, братанов своих поучать будешь!!!
Все свалил по-быстрому...
Ах ты падла, пацаны мочи его!!!
На возьми свои артефакты, всю амуницию прорадиактивили уже...
Ну теперь фраерок другой базар, можешь валить и передать этим недоумкам что Сучка откидывается с Зоны!!!
Диалоги:
Инфопоршень bandit_kvest задается через логику бандитов и активирует их обижание на ГГ.
Думаю что заморочка в отмеченных проверках инфопоршней... отметил красным. Кто разбирается подскажите???
Логика бандитов для примера!!!
Загвоздка в том, что при первом обращении к Волку у него появляется сразу 2 ветки диалогов и обе активны, первая и последняя на сдачу квеста, и не появляется 2 ветка диалога у бандюка!!! Функции в диалоге призваны проверять наличие артефактов у ГГ и их отбирание во время диалога.
Бандита сделал скриптом с нумером в game_story. Через использование АМК функций!!!
Функция спавна:
function esc_bandit_kvest() -- Бандит квестовый с Волком разруливает --
local obj = alife():create("stalker_bandit_esc_kvest",vector():set(-15.097,2.72,66.951),261717,88)
local tbl = amk.read_stalker_params(obj)
tbl.sid = 5499
amk.write_stalker_params(tbl, obj)
end
function esc_bandit_pomochniki () -- Помощники квестового бандита --
alife():create("stalker_bandit_esc_kvest1",vector():set(3.008,2.72,65.188),279502,89)
alife():create("stalker_bandit_esc_kvest2",vector():set(3.420,2.72,61.876),280195,89)
alife():create("stalker_bandit_esc_kvest3",vector():set(-10.350,2.72,70.658),266486,88)
end
отредактировал(а) losiara: 17-09-2012 15:49 GMT3 час. Внатуре пацаны, гаси их... Как сделать НПС бессмертным...
Логика в ТЧ!
Здесь нарисована цифра четыре "8", если вы видите восемь, то вам нужно к нам...
Это от куда такой вывод? Этот, как ты выразился , "скрипт" ничто иное, как схема для рестриктора и никакого ограничения на использование по локациям - нет; где заспавнишь рестриктор с логикой sr_aes_deadzone - там и будет отрабатывать схема.
... урон для болта?
А с чего ты вообще решил, что болт наносит урон?
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT
Загвоздка в том, что при первом обращении к Волку у него появляется сразу 2 ветки диалогов и обе активны, первая и последняя на сдачу квеста, и не появляется 2 ветка диалога у бандюка!!!
Получается что не отрабатывает квест целиком!
Точнее отрабатывает, но не полностью и раньше времени!
Да забыл, вот профиль бандита:
losiara, ты и правда с поршнями намутил...
Вот, поп
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT
Все отлично работает, только инфопоршень bandit_kvest выдавать нельзя в том месте иначе он обижает бандитов на ГГ, его нужно выдать в этой ветке диалога:
Как правильно прописать проверку? Или можно вообще обойтись обычной выдачей?
Внатуре пацаны, гаси их... Как сделать НПС бессмертным...
Логика в ТЧ!
Здесь нарисована цифра четыре "8", если вы видите восемь, то вам нужно к нам...
В зависимости, что и в каком количестве проверять.
Можешь глянуть здесь: >>Click Me<< и выбрать наиболее для тебя подходящую.
Или можно вообще обойтись обычной выдачей?
Не понял о чём ты.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
puma-sniper, тогда не вижу проблемы. Загляни как сделано там и ты сам ответишь на свой вопрос. ;)
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT
Я имел ввиду проверку инфопоршней:
"Так же, с помощью инфопоршнов можно отслеживать действия игрока, для того, чтобы, например, вывести в нужное время диалог. и являются предусловиями для текущей фразы/диалога. Первый тэг проверяет наличие данного инфопоршна у игрока, второй – отсутствие."
Под обычной выдачей я подразумевал следующее: bandit_kvest ; выдача инфопорции... В данном случае обижает НПС на ГГ!!! или в предусловии этой ветки диалога с этой инфопорцией (bandit_kvest) не использовать!
Внатуре пацаны, гаси их... Как сделать НПС бессмертным...
Логика в ТЧ!
Здесь нарисована цифра четыре "8", если вы видите восемь, то вам нужно к нам...
losiara, сам по себе инфопоршень не выполняет никаких действий, **50136c9725ff35736f77**]ФУНКЦИЯ ПРОВЕРКИ АРТОВ[/code]иначе диалог появится у бандитов, жаже при отсутствии артов.
Про "обычную выдачу" я так тебя и не понял, что ты имеешь ввиду, уж извини за тупость.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT
Извини, повторюсь, я знаю что инфопоршни являются своего рода метками (флажками) в игре, на инфопорцию "bandit_kvest" у меня подвязана логика бандитов включающая функции killed_by_actor hit_by_actor - назначение их ты конечно же знаешь.
Логика бандита:
Таким образом после слов "вали отсюда и передай этим недоумкам что Сучка откинулся с Зоны", происходит обижание неписей на ГГ, что нецелесообразно!!! Я переставил в диалоге выдачу этой инфопорции в нужное место в другом диалоге, вопрос что делать с:
Тоже переставить в другой диалог по типу:
Что касается precondition, я понял с первого твоего поста, уже прописал!!!
Внатуре пацаны, гаси их... Как сделать НПС бессмертным...
Логика в ТЧ!
Здесь нарисована цифра четыре "8", если вы видите восемь, то вам нужно к нам...
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Кто нибудь шарит в создании гулагов?
Для полноценной работы мода напарники для их переходов на новые локи(Map pack) нужны флаги, что бы они смогли найти новый уровень. В качестве маячков используется гулаг (general_gulag) например mar_lager что на болотах. Он уже есть в паке локаций. Но в ALL SPAWN из новых только он.
все мои попытки создать такие же (название конечно поменял например mar_lager не aver_lager и т.п.) Вылетает.......Внёс изменения в Алл спавн, smart_terrain.script, gulag_escape.script, gulag_escape.ltx, character_desc_aver.xml, actor_need_help.script.
Проверил запятые, описки всё нормально но вылетает.....
Все моды которые используют MAP PACK имеют спаун на новых локах только через скрипты. Но судя по всему они не подходят.Нужно только через ALL Spawn.
Может кто то уже решил эту проблему ранее....Когда я подключил болота на mar_lager лока сама заполнилась нпсами и монстрами они перешли с других уровней(на болотах нет респавнера - а необходимое количество НПС заявлено .Поэтому эти лишние на основных локациях НПС спавнятся там а потом идут на новые локации. Но найти из за нового гулага могут только болота . На остальные локи переходят и изчезают на веки бродя в пустоте...........
В апгрейдах оружия (СКС) нет
распознавателя целей и констракного экрана
вроде вот это: scope_alive_detector = scope_detector
scope_nightvision = scope_contrast
Подскажите как и куда вставить чёб работало - сразу?
(без апгрейда - похоже с ним заморочек еще больше будет)
======================================
Еще вопросик:
На загрузочном экране - у разрабов - есть две анимашки:
вода
и небо
Меня интересует небо. Можно ли увеличить в размере анимашку неба и немного передвинуть ?
И как?
А может кто то может сделать сам - скажу спасибо !
( и будет соавтором новых загрузочных экранов)
Вот скидываю ui_actor_main_menu.dds
с размером анимашки - на Альфе размер и место размещения.
Скачать: 1.42 кб
http://depositfiles.com/files/i1e8xrg7g
или тут:
http://rghost.ru/40450490
http://newest.rusfolder.net/files/32706599
отредактировал(а) Алексеич: 19-09-2012 04:03 GMT3 час. Самое гениальное - это самое простое - но чтобы зделать простое - нужно быть гениальным...
Ребята, подскажите, как из одного мода сталкер переместить в другой оружие со всеми параметрами?Желательно к Сахарову после выполнения квеста лаборатории X16.:sos
#losiara : Mэрвин
Ты бы еще спросил как автомобиль завести, но не руками...&P
Есть куча статей на эту тему, конкретно к Сахарову любую вещь можно добавить редактированием файла "trade_ecolog", который находится по адресу:gamedata\config\misc.
Смотреть!!!
[trader]
buy_condition = ecolog_generic_buy
sell_condition = {+yan_kill_brain_done} ecolog_after_brain_sell, ecolog_start_sell - разброс цен на товары и чем можно торговать
buy_supplies = {+yan_kill_brain_done} supplies_after_brain, supplies_start - ассортимент до и после выполнения квеста с Х16.
Голубеньким выделен тот самый инфопоршень который завершает задание с Х16
Выдержка из статьи:
Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах с именем trade_YYY.ltx[.B], где YYY – это имя торговца(например trade_barman.ltx)
Итак, поехали:
Структура файла на самом деле очень проста, под зачком ; прописаны сами предметы, а после него – комментарий(чтоб понятно было). Например ;Аммуниция.
В квадратные скобки заключены([barman_generic_buy]), как бы сказать, "условия”. Лучше показать на примере:
В самом начале(практически) файла trade_barman.ltx идёт строка содержания [barman_generic_buy], т.е. она означает, что ниже прописанные предметы торговец может купить.
Сами предметы например:
;Артефакты
af_medusa = 1, 0.3
af_cristall_flower = 1, 0.3
af_night_star = 1, 0.3
af_vyvert = 1, 0.3
af_gravi = 1, 0.3
af_gold_fish = 1, 0.3
af_blood = 1, 0.3
af_mincer_meat = 1, 0.3
или
;ADDONS
wpn_addon_scope = 0.7, 0.2
wpn_addon_scope_susat = 0.7, 0.2
Посмотрим какие ещё "условия” содержит этот файл и их значение:
[supplies_start] - начальный ассортимент
[supplies_after_darkvalley] - ассортимент, после выполнения квеста в тёмной долине
[supplies_after_brain] - ассортимент, после "выжигателя мозгов”
[barman_start_sell] - цены по которым торговец(бармен в данн. сл.) продает в начале
[barman_after_darkvalley_sell] - аналогично
[barman_after_brain_sell]
Итак: чтобы добавить предмет к торговцу, после строки [supplies_start], находим интересующую нас категорию(а это может быть: ;Аммуниция/;Оружие/;Броники/;Медикаменты/;Еда и др.) и после всех прописанных в данной категории предметов добавляем ещё одну строчку для своего предмета(а именно название модели(т.к. оно совпадает с названием самого предмета) и после знака = параметры(о них чуть ниже)). Ну я так и знал что вы ничего не поймёте, поэтому пример:
Чтобы добавить бармену винтовку Гаусса, находим строки после условия [supplies_start] -
;Оружие
wpn_pb = 3, 0.6
wpn_walther = 3, 0.6
wpn_mp5 = 3, 0.6
wpn_ak74u = 3, 0.5
и внизу прописываем wpn_gauss = N, n.n
*о значениях после знака = см. ниже.
Все имена оружия, амуниции, снаряжения и т.п. можно найти в папках gamedata\meshes\equipments,
gamedata\meshes\weapons, gamedata\meshes\food.
Заметьте, что wpn_gauss нужно писать без расширения .ogf
Значения:
После знака = у вальтера например стоит цифра 3, а после запятой – 0,6.
Первое, для гаусса у нас стоит N, это количество(в штуках) предметов. Т.е. если поставить значение 999, то у бармена будет 999 гауссов.
А второе:
1. В разделах supplies вторая цифра это вероятность появления данного предмета.
2. В разделе buy - первая цифра максимальная цена покупки, вторая минимальная (зависит от отношения торговца к Меченному - рейтинг, репутация)[Предположительно. – прим.]
3. Соответственно в разделах sell - первая цифра минимальная цена продажи, вторая - максимальная (точнее множитель на "истинную цену" предмета). Tnx GreyL.
В итоге должно получиться:
[supplies_start]
;Оружие
wpn_pb = 3, 0.6
wpn_walther = 3, 0.6
wpn_mp5 = 3, 0.6
wpn_ak74u = 3, 0.5
wpn_gauss = 6, 0.6
И тогда у торговца мы получим ровно 6 винтовок Гаусса.
Все имена оружия, амуниции, снаряжения и т.п. можно найти в папках gamedata\meshes\equipments,
gamedata\meshes\weapons, gamedata\meshes\food.
Заметьте, что wpn_gauss нужно писать без расширения .ogf
Это совершенно не так!!!
В конфиги торговцев нужно вписывать исключительно секции интересующих нас предметов, например для АК-74 это секция wpn_ak74 из файла w_ak74.ltx. Название же модели может быть вообще не пойми чем и состоять оно может даже из цифр, а вот с конфигами этого л**50316c9725ff35736f77**
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Arist
Посмотри пожалуйста как реализован mar_lager на болотах там как то всё по другому. Я взял основу с него.Он сам работает. а его клон нет. Попробую твой вариант....А схема напарников на такой смарт у тебя работает? НПС переходят на локу?. Волк мог не пойти потому, что он привязан к кордону. В XML
файлах на каждую локу под каждый смарт прописаны НПС и у каждого есть айди.например Esc_Wolk
Если ты отреспавниш волка не припяти он попрётся на свой гулаг. на кордон.Если когда он прийдёт а его место занято, тогда пойдёт бродить в поисках подходящего на карте. Я раньше при создания новых НПС прописывал им АЙди из банка игры думая что это влияет на поведение и анимации.Оказалось ошибка.Можнго представить, что я увидел в игре когда на всех гулагах все персы стали спауниться из разных группировок. На кордоне спецназ вперемежку со сталкерами.На агропроме на одной вышке вояка , на другойдед с берданкой, на третьей девица с барретом, на четвёртой зомби. Вобщем хаос полный, пальба да трупы....Если айди стоит у нескольких персов тоигра спаунит их рандомно, если айди только у одного то спаунить будет только его. Например волка. Бродячтие сталкеры по всей игре кажется имеют айди Sim1, sim2, и т.д.Как то так. Немного не в тему ну на всякий случай...Может кто то сделал фикс к MAP PACK с гулагами для переходов.У того, кто шарит в этой теме , это не должно было бы отнять много времени.... Может Ты что нибуть слышал о таком фиксе.....Думаю многие , не только я были бы очень благодарны....
Я меня весь мод построен на командной работе и сборе отряда.....А на половину лок отряды не могут пройти....блин!
dromundus, извиняюсь, что вмешиваюсь, но не смог удержаться не дать комментарий...
Начну с твоего первого поста:
... нужны флаги, что бы они смогли найти новый уровень.
О каком "флаге" идёт речь? Для того, чтобы НПС/мобы могли переходить на подключённые уровни, обязательно должны быть связующие графы на локациях, на той, с которой переходим и на той, на которую переходим (а в паке локаций графы присутствуют). Другое дело, когда нужно чтобы они пошли именно в гулаг, здесь да, нужно и по файлам пробежаться вписывая имя гулага (как правило) в нужное место.
В качестве маячков используется гулаг (general_gulag) например mar_lager что на болотах.
Что ты имеешь ввиду под словом "маячок"? Смарт_террейн, он же гулаг, не важно какой, это всего лишь точка на карте.
Все мои попытки создать такие же (название конечно поменял например mar_lager не aver_lager и т.п.) Вылетает...
Конечно вылетит. Если ты думаешь, что гулаг типа general_lair ограничевается лишь спавн-секцией - ты ошибаешься, для универсальных гулагов так же нужно обязательно писать и точки пути.
Теперь второй пост:
В XML файлах на каждую локу под каждый смарт прописаны НПС и у каждого есть айди. Например Esc_Wolk.
Извини, но вообще какая-то несуразица. В каких-таких .xml файлах ты нашёл, что конкретные НПС прописаны для конкретных локаций? Здесь же, по всей видимости, ты путаешься в определениях, либо не до конца понимаешь их назначение. esc_wolf (а не esc_wolk, как написал ты) это ай-ди профиля Волка. НО!!! Не для всех НПС можно узнать этот самый ай-ди.
Если ты отреспавниш волка не припяти он попрётся на свой гулаг. на кордон.Если когда он прийдёт а его место занято, тогда пойдёт бродить в поисках подходящего на карте.
Если НПС пошёл в определённый гулаг, т.е. попал под схему xr_reach_task, то придя на нужную локацию в нужное место он не обнаружит, что место его занято, он в обязательном порядке приступит к работе, которая резервируется для него, в момент отправки через локации. Таким образом, НПС либо сразу пойдёт к месту работы и обязательно займёт её, либо он сразу будет бродить по графам, пока его не подхватит другой гулаг, или навсегда, если в custom_data прописано условие.
Ну и в заключении отвечу на, возможно, наиболее интересующий тебя вопрос - а какие же точки пути прописывать для гулага типа general_lair? Всё очень просто. Для данного типа гулага игра автоматически ищет подходящие пути из all.spawn, т.е. эти пути не прописаны явно в каком-то скрипте или же конфиге, просто их имена составляются специальным образом. Каким именно можно прочитать здесь: >>Click Me<< в самом конце.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Нужна помощь в модернизации одного скрипта. Целью модернизации является замена проверки НПС.
Вот к примеру отрывок из начальной функции:
function meet_hello_phrases_npcs()
if db.actor:is_talking() then
for k, v in pairs (db.storage) do
local npc_stalker = level.object_by_id(k)
if npc_stalker and IsStalker(npc_stalker) and npc_stalker:is_talking() and npc_stalker.health > 0.51 and not talking then local exceptions = npc_stalker:story_id()
if exceptions ~= 004 and exceptions ~= 009 and exceptions ~= 007 and exceptions ~= 115 and --/Искл
exceptions ~= 515 and exceptions ~= 504 and exceptions ~= 510 and exceptions ~= 571 and exceptions ~= 516 and exceptions ~= 500 then --/ючения
local Community = npc_stalker:character_community()
local rank_npc = ranks.get_obj_rank_name(npc_stalker)
--/Stalkkers
if Community and rank_npc and Community == "stalker" and rank_npc == "novice" then
meet_phrases_stalkers_voise_2()
Выделенное - это своего рода проверка НПС по ID, т.е. прописываешь ID конкретного НПС и на него функция не действует. Так вот мне нужно заменить эту проверку по ID на проверку по профильному имени НПС.
Та же функция только с моим вмешательством:
function meet_hello_phrases_npcs()
if db.actor:is_talking() then
for k, v in pairs (db.storage) do
local npc_stalker = level.object_by_id(k)
if npc_stalker and IsStalker(npc_stalker) and npc_stalker:is_talking() and npc_stalker.health > 0.51 and not talking then local exceptions = alife():object("esc_brigade_leader", "mil_Svoboda_leader", "bar_dolg_leader", "yan_general_ecolog", "bar_dolg_guard_commander")
if exceptions then
local Community = npc_stalker:character_community()
local rank_npc = ranks.get_obj_rank_name(npc_stalker)
--/Stalkkers
if Community and rank_npc and Community == "stalker" and rank_npc == "novice" then
meet_phrases_stalkers_voise_1()
И как итог - функция просто не работает, а все скрипты в игре начали биться.
Новый проект в разработке, ищи в моём журнале.
В теории - всё легко, а вот на деле - гораздо сложнее.
Fantom2323 читай мат часть, ты написал абсолютный бред. Здесь проверка не по айди, а по с**50036c9725ff35736f77**de]"..victim:name().."; "..victim:character_name().."; "..victim:profile_name()[/code]
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.