Здравствуйте! а как сделать переходы между локациями? Я читал что можно через скрипт сделать, тогда появляется вопрос - как этот скрипт подключить?) подскажите пожалуйста
ADK TeaM ________________________________________________________ Наша команда испытывает дефицит новых идей. Нужна помощь! (Обращаться в ЛС) ________________________________________________________
Kirk767, ну сделал я в p1 и в p2 flags = 0x1 и нифига! Он все равно идет куда хочет. Может дело в том, что НПС заспавнен через скрипт?
ADK TeaM ________________________________________________________ Наша команда испытывает дефицит новых идей. Нужна помощь! (Обращаться в ЛС) ________________________________________________________
Помогите! Мне нужно снять координаты места спавна объекта, но не получается это сделать. Пробовал вычислить с помощью консольной команды, и с помощью PosExtracter 1.2, но не получается. Есть ли ещё какие-то способы?
Репутация: 2844
Регистрация: 08.11.2011
Город: Воронежская обл.
Скит@лец, есть много других программ для снятия координат: informer by stalker 56, Position Informer
или попробуй сам сделать:
ОТКРОЕМ ФАЙЛ PDA.SCRIPT ПРОЖИВАЮЩИЙ В ПАПКЕ SCRIPT И В САМЫЙ КОНЕЦ ЕГО ДОБАВИМ
Код
function get_stat(index) -- index= int return string local text local vid local gvid local a = vector() local text a = db.actor:position() vid = db.actor:level_vertex_id() gvid = db.actor:game_vertex_id() text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid news_manager.send_tip(db.actor, text, nil, nil, 30000) end
и потом в игре просто нажать сделать скриншот f12
Сообщение отредактировал _Мороз - Понедельник, 07.01.2013, 22:13:19
А в gamedata\scripts\bind_stalker.script, в функцию actor_binder:update(delta) перед завершающим end'ом вставить
Код
if true then local hud = get_hud() local cs = hud:GetCustomStatic("cs_debug" ) if cs == nil then hud:AddCustomStatic("cs_debug", true) cs = hud:GetCustomStatic("cs_debug" ) end local lvid, gvid = db.actor:level_vertex_id(), db.actor:game_vertex_id() local pos, dir = db.actor: position(), db.actor:direction() local pos2 = level.vertex_position(lvid) local valid = pos2:distance_to(pos) <= 0.7 local msg = string.format("lvid: %d\\n", lvid) .. string.format("gvid: %d\\n", gvid) .. string.format("pos: %f,%f,%f\\n", pos.x, pos.y, pos.z) .. string.format("dir: %f,%f,%f\\n", dir.x, dir.y, dir.z) .. string.format("valid: %s", tostring(valid)) if cs ~= nil then cs:wnd():TextControl():SetText(msg) end end
и на экране постоянно будет информация о положении ГГ
Но есть еще одна штука, которая позволяет спавнить предметы прямо в игре и получать координаты, SCOP
Kirk767, не факт, что если в скриптах нет этой строчки - она не работает. В ЗП есть функция раскачивания динам.объектов, но её тоже нет в оригинале
Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу. Полноправно вернуться в сообщество планирую после релиза второй части игры. ----------------------------------------------------------------- Всем удачи и не скучать.
Репутация: 269
Регистрация: 10.03.2012
Город: Таганрог, Архангельск
SibireaStalker, Вот у меня была уверенность, что в схеме walker это работает.
Цитата (ColR_iT)
Игра читает в схемах только те параметры, которые ей предписаны, т.е. те, которые находятся в "управляющих" файлах отвечающие за ту или иную схему.
Теперь на счёт механики работы логики... В файле xr_motivator.script, который отвечает за ВСЕХ НПС, в функции net_spawn, которая отрабатывает при выходе НПС в онлайн, вызывается функция setup_gulag_and_logic_on_spawn из файла xr_gulag.script. Эта функция (setup_gulag_and_logic_on_spawn) устанавливает для НПС логику из его custom_data, либо его собственную, либо из гулага, если он находится под каким-то смартом. В любом случае в дальнейшем происходит вызов функции activate_by_section из файла xr_logic.script, назначение функции понятно даже из названия - она активирует схему. Если активация происходит впервые, то название схемы берётся из поля active секции logic, если нет, то из storage ("хранилища") НПС. Самой интересной строкой в функции activate_by_section является вот эта: Код _G[filename].set_scheme(npc, ini, scheme, section, db.storage[npc_id]["gulag_name"]) filename - это имя файла из которого нужно считывать параметры, имя определяется исходя из названия схемы считанное ранее, а set_scheme - это функция, в которой эти параметры инициализируются. Таким образом, игра будет определять ТОЛЬКО те параметры, которые прописаны в данной функции у каждой отдельной схемы, естественно для каждой схемы игра будет определять только её параметры.
А теперь попробуй найти параметр no_move хотя бы в одном файле схем. Да, ты найдёшь его... в файле xr_zoneguard.script, но только учти, что этот файл - балласт и в игре не используется. Это что касается ТЧ. В ЗП ты вообще нигде не найдёшь упоминания об этом.
Итого. Параметр в релизах всех частей НЕ РАБОТАЕТ. То, что ты якобы "видишь" работу данного параметра - это всего лишь особенности работы конкретно схемы remark (см. выше) и не более того.
P.S. в последнем посте Grey_Lord вылет происходит из второй "версии" логики, т.к. не указаны точки пути в файле way_локация.ltx, о чём он сам и сказал. А ошибка значения параметра no_move, в рабочей версии, лишний раз доказывает, что параметр - не что иное, как мусор.
Kirk767, все равно нпс прется куда хочет. Но я заметил одну закономерность. Мой нпс сначала немного стоит потом идёт к первой точке (что конечно хорошо), но после этого уходит восвоясе. Есть варианты сделать так, чтобы он шел ко второй точке?
ADK TeaM ________________________________________________________ Наша команда испытывает дефицит новых идей. Нужна помощь! (Обращаться в ЛС) ________________________________________________________
Репутация: 534
Регистрация: 21.06.2012
Город: Челябинская обл. город Еманжелинск.
Угу, это есть. Вот еще вопрос, как мне сделать так, чтобы деньги можно было подбирать с трупов и сделать ячейку для денег (деньги лежат в рюкзаке и их можно подобрать и выкинуть).
Запомни, слово сделать пишется не с З, а с С Callisto