Максим Р.
Ну да чуток не прав был:-)Просто когда делал такой диалог, столкнулся с такой проблемой:
malandrinus:
Независимо от способа, которым был инициализирован конкретный диалог, это происходит один раз для этого диалога за всё время запуска игры. Вот к примеру, если один и тот-же диалог прописан двум разным персонажам, то он будет инициализирован при первом разговоре с тем персонажем, с которым актор заговорил первым. При разговоре со вторым персонажем будет уже использован тот-же самый диалог, с тем же графом фраз. Более того, если вы перезагрузили игру (но не вышли из программы), то диалог будет использован с прошлой игры и уже не будет заново инициализирован ни для кого из этих двух NPC.
Самое важное следствие из сказанного - динамически строить граф фраз в зависимости от ситуации не получится. Более того, надо тщательно следить за тем, чтобы ненароком не построить граф фраз иначе, чем в прошлый раз. В противном случае можно нарваться на абсолютно непредсказуемые ошибки, которые зависят от таких вещей, как запустили ли вы программу только что или это уже второй и далее сейв и с каким из NPC вы заговорили раньше и пр. в этом роде. Это будет невозможно отловить и отладить.
give_talk_message тут меня спас:-)
dlg:AddPhrase(guider_dialog_phr_10, "10", "1", -10000)
Подскажите, что конкретно значит эта -10000?Как не поменяю это число - вылет без лога.
отредактировал(а) Stalk15: 27-09-2010 17:56 GMT3 час.
СидырыЧЪ
И на будущее, чтобы ты не спрашивал куда там и что писать, заходь в файл, в самом низу есть строчка, тама прописаны оружия, следом в самый конец допиши свое оружие.
P.S. На статье из вики все-все расписано, я не знаю чего там не понятного, сам по ней учился ;-)
Друзья, как менять 3d модели? Например сталкеру придать визуал кровососа, что для этого нужно? Пробовал в настроках прописывать путь, но ничего не получается.
Stalk15
Ты бы при цитировании указывал бы автора ... эт не только для копирайта, но и ... что б было на кого сетовать. :sarcastic:
Вот это особенно улыбает:
...непредсказуемые ошибки, которые зависят от таких вещей, как запустили ли вы программу только что или это уже второй и далее сейв...
и где ж почитать первоисточник(?), дабы просветиться.
Что-то крою-перекраиваю диалоги и никак на подобные 'сэйвовые' ошибки не могу нарваться. И где ж там в сэйвах графы диалогов прописУются? ;-)
'-10000' - (в твоем вопросе-примете) это приоритетность фразы. В динамичческих диалогах 1-ая фраза (корневая) имеет '0', остальные именно '-10000'. Менять не стОит, не будет и вылетов. win win
Уже не раз тут говорилось: "Не знаешь иль не уверен - НЕ советуй другим!"
Если у тебя что-то НЕ получается, то это не означает что это не работает! Тем более твой опыт в ковыряниях кодов далек от ... даже посредственного.
Упорство и упертость - разные вещи, второе далеко не всегда является 'достоинством'.
С Н А Й П Е Р Выложи лог вылета в тонели с жаркой
А если ты делаешь мод то про мультиплеер можешь забыть мультиплеер сталкера не идёт если стоит ЛЮБОЙ мод (только читеры смогли это обходить)
win win а вот это нееее, я добавлял тока оружие, костюмы, еду, артефакты, вобщем всякую лабуду понадобавлял и у меня мультиплеер работал на ура, а лог с вылетом мне показал что он не можут найти переменную с актёром, вот мне что интересно.......
Дык я как раз корневую фразу и менял '-1000' на '0' - вылетало.А с '-1000' все норм.В статье на АМК тоже корневая фраза с параметром '-1000'.
Или я чего не понял ...:-GЭто не важно, мне просто для интереса ... Главное с '-1000' работает и ладно:-)
Artos Будьте так любезны ответьте на мой пост пожалуйста. :-)
Возможно ли создать проверку если ГГ убил НПС, который был другом для ГГ?
Я просто не могу понять что здесь нужно отслеживать... От когополучен Хит? А главное как это отследить?
win win при подходе к тоннелю игра вылетает без причины, лога просто нету, вот в чём загвоздка, ну там не совсем до тоннеля, там при повороте на тоннель игра у меня ща вылетела, может это как-то связано со странным поведение Круглова? Кстати, странности с Кругловым я заметил ещё тогда, когда добавил тока оружие, вот теперь голову ломаю из-за чего это может быть......не знаешь?
С Н А Й П Е Р не знаю извени
у меня как то вылетало из-за того что я заспавнил ствол за локацию и игра говорил мол ствол не могут найти вертиксы или чё то в этом духе. Может ты положил туда ствол с недоделаным конфигом?
Подскажите что может вызывать такой вылет:
Захожу в игру - все нормально
Перехожу на другую локу - все нормально
Но если я сохранюсь и загружу свое сохранение то получаю такой вылет
Загрузка игры "1.sav"...
* Loading spawn registry...
FATAL ERROR
[error]Expression : data
[error]Function : CVirtualFileReader::CVirtualFileReader
[error]File : E:\priquel\sources\engine\xrCore\FS.cpp
[error]Line : 507
[error]Description : gamedata\spawns\all.spawn
[error]Arguments : Not enough storage is available to process this command.
stack trace:
У меня 2 ядра 2.66 4 гига опертивной, правда видео карта 9800 но уреззаная до 256 мб, Виндовс ХР. Играю на полной динамике, вылетов по памяти было не много
Люди, кто-нибудь ещё может мне помочь??? Ща попробую игру переустановить, может она глюканула......win win не может быть, я все 130 стволов проверял, работают на все 100%
Люди, вопрос такой, если прописать условие спавна, чтобы непись спавнился ночью (думаю тут все знают как это делается cund = {!day}), то непись будет каждый раз спавниться ночью? Допустим, что каждый раз, тогда если его убить, в следующую ночь опять заспавнится или нет?
Просто мне не охота делать респавн, так это работа с гулагами, вот и думаю таким макаром осуществить.
Mehanik Yar Спавн произайдёт только один раз. По существу, нпс спавнится сразу, но благодаря установленному условию, он будет находиться в оффлай, до его выполнения. Так что, это не то, что ты думаешь.
УМНИК97 Но я сделал этот сейф секунду назад! Я загрузил, ввел в консоли save 1 потом load 1 у меня начала загружаться игра и она вылетела с таким логом
Загрузка игры "1.sav"...
* Loading spawn registry...
FATAL ERROR
[error]Expression : data
[error]Function : CVirtualFileReader::CVirtualFileReader
[error]File : E:\priquel\sources\engine\xrCore\FS.cpp
[error]Line : 507
[error]Description : gamedata\spawns\all.spawn
[error]Arguments : Not enough storage is available to process this command.
stack trace:
У меня 2 ядра 2.66 4 гига опертивной, правда видео карта 9800 но уреззаная до 256 мб, Виндовс ХР. Играю на полной динамике, вылетов по памяти было не много
Stalk15
Пока ты будешь кодить по принципу 'сию минуту работает - и ладно', ты так и будет постоянно вопрошать в этом топике почти одно и то же. :-(
Сиюминутная 'рабочесть' не гарантия того, что через 'пару минут' не прекратит работать.
Ну да ... нравится наступать на грабли - дерзай далее! :-) karavan
Собственно singapur22 уже дал ответ, но ... зная тебя, стОит еще пояснить, что хит нужно брать из 'xr_motivator.script' (death_callback(...)) где и возьмешь указанные who и obj.
Можно еще из 'xr_death.script' их взять (в этом скрипте кода поменьше). ;-)
Пишутся (сам видел)- чтобы проверить, достаточно открыть любой сейв Notepad++ и можно лицезреть, что туда пишется куча всего. В том числе и диалоги.
Пример
Тут мои ребята возвращались сШ и пропали. Один из нихD звать Шустрый - нёс мне кой-какую инфу... Ил соЊ,рядом, под бокЁтому` мостaшhНе знx0
скинуXtидят водку глушат? Короче: найди° го, живого x мертђ - главное, чтобы фле xд при нём была.
erlik
То, что в сэйвы пишется 'куча всего' - известно. Но(!) - а 'всего' это как в Греции? :-) Куча мусора и мало полезного ;-)
По сути: разбирался и переписыват и диалог- и таск- и пр. менеджеры. запоминается действительно немало, но если бы ты знал, сколь там неиспользуемого мусора и пр.
То, что ты привел в качестве примера - это стартовый закешированный диалог. Так же может запоминаться и последний, особенно последняя использованная фраза. Но(!) они НЕ используются напрямую, т.е. в связке с граффом диалога. Используется их идентификатор и сама фраза как маска для сравнения.
Если менеджеры немного доработать, то и быстее будут работать и сэйвы разгужаются оч. нехило!
Ну а сэйвовые ошибки из-за графов - я так и ни разу не словил. Графы диалогов в сэйвы НЕ сохраняются.
Вот только Stalk15, так и зажал первоисточник. Мож там что еще интересненького есть, чего он как обычно ... (слона то и не приметил). ;-)
karavan
М-да-а-а, похоже зря я дал выше пояснялку, ты ее и не заметил.
Да и писАть нужно скрипты хоть немного понимаючи. Все наровят что ни попадя в апдейт актору засунуть, да еще без входных аргументов иль еще каких объявленных переменных ...
singapur22 Благодарю! :ye)
У меня еще вопросик относительно проверки.
Вот сделал я такую функцию и по**500140b7e12bf63c3891**== game_object.friend then
news_manager.send_tip(db.actor, "Ты убил друга", 0, nil, 5000)
end
end[/code]
При убийстве НПС друга сообщения не появилось.
Может я не туда прописал в бинд_сталкере? И как правельно пользоватся этой проверкой? :-(
------------------------ Artos Спасибо. :-) Вопрос снят.
Нет, не зря. Я просто не обновился, а сообщение написал.
Курт
Да, придется ничего не поделаешь, если уж взялся делать то доводи дело до конца:ye) на амк форуме спроси если не знаеш как делать
Или на сайте посмотри вроде уже кто-то спрашивал:-)
Ma$ter
Возможных причин твоей проблемы с 'Not enough storage is available to process this command' довольно много. Связаны с некорректной обработкой объектов на старте игры. Конкретно указать довольно сложно, даже если иметь все коды.
Проще всего искать от момента последней рабочей правки сэйва или отключением веток алгоритмов.
Искать нужно в основном в циклах, которые используют или локальные переменные, которые из сэйвов не восстанавливаются и НЕ имеют проверов на наличие/валидность используемых переменных.
Циклы могут быть и довольно разветвленными, если используются перекресные функции ...
Неплохо бы и в лог вывести этап загрузки и попытаться определить место затыка.
karavan Собсно SkyLoader всё объяснил вполне внятно. Только нужно ещё учитывать, что значения:
npc:relation(db.actor)
и
db.actor:relation(npc)
Могут разниться. Хоть в определении friend такое скорее не встречается, то при определении enimy и neutral нужно это обязательно учитывать. И определять отношение в нужном направлении: