В этой теме рассматриваются вопросы о реализации тех или иных решений на примерах из модификации "Тайные Тропы 2". Формат, в котором следует задавать вопрос, такой (для примера): "В модификации ТТ2 есть собака-поводырь Болотного Доктора, которая бежит и показывает ГГ тайную тропу. Как была сделана такая собака?"
Общие вопросы по ковырянию можно посмотреть, почитав Шпаргалку
Мириашка, полемика по данному вопросу слишком обширна и не раз уже обсуждалась на всех форумах. В игре как и в жизни не все так просто. И "кости" есть как у ГГ, так и у его противников. И урон при попадании по ним учитывается согласно прописанным коэффициентам. Д'Артанъян: - Жизнь пуста, если в ней нет подвигов и приключений! Атос: - Вы правы, мой друг. Но жизнь бессмысленна, даже если в ней есть приключения.
Рррребятааа,простите что лезу куда попало,но скиньте пожалуйста ссылю на патч,для широкоформатных мониторов на ТТ-2 Я просто когда захожу в игру,там внедиапазона 213.8\240 Hz
Или перекиньте меня туда,где можна скачать это еще раз БИГ сорри Для ТТ2 нет адаптации худа и текстур прицельных сеток под широкоформат. В остальном вполне реально играть на широкоформатном мониторе. Для избавления от возможных глюков с анимациями актёра, рекомендуется выставить игровое разрешение в опциях игры приближенное к стандарту 4:3
Но как?? Я в игре даже ничего клацнуть не могу, как выставить? помоги пожалуйста
Мне уже какой человек говорит что ТТ лучший из всех модов на Сталкера, а я поиграть даже не могу
В главном меню игры есть кнопочка "Опции". Далее, в первой закладке "Видео" есть поле выбора разрешения монитора. Жмём справа поля птичку и в выпадающем меню ищем вариант из перемножающихся цифр. Вот здесь как раз надо взять и поделить первую цифру на вторую. Нужный вариант должен дать результат, близкий к отношению 4:3. То есть, если ипользовать калькулятор, то 4:3 равняется приблизительно 1,33333...
Заранее, не входя в игру, измени разрешение монитора на нужное. Надеюсь кнопками на монике ты умеешь пользоваться? И в дальнейшем задавай такие вопросы в теме прохождения игры!@_Val_
Сообщение отредактировал Cation - Пятница, 09.12.2011, 19:20
Frankenshtayn, для спавна есть отдельная команда, скрипты АМК не нужны. С аномалиями только чуть похуже дело обстоит. Д'Артанъян: - Жизнь пуста, если в ней нет подвигов и приключений! Атос: - Вы правы, мой друг. Но жизнь бессмысленна, даже если в ней есть приключения.
Мне очень понравились тайные тропы 2 Надеюсь новы проект будет таким же интересным! У меня есть пару вопросов почему вы не делаете мод на зп ? там же движок лучше и графика!? Будут ли "Ф.О.Т.О.Г.Р.А.Ф" новые аномалии как в народной солянке куст? Я рад что новый герой не стрелок а то он так задолбал))))) читали ли вы книгу S.T.A.L.K.E.R. В зоне тумана? если нет почитайте)) У вас очень хорошо прописан сюжет в тайных тропах! Желаю успехов в работе!
Добавлено (28.12.2011, 13:56) --------------------------------------------- вопрос; Если ты модами некогда не занимался, что нужно знать и с чего начать?
Эроз, я бы посоветовал тебе начать отсюда, например. Хорошие уроки по модостроению. Дальше, только поиск, много чтения, много анализа чужих кодов и конфигов, много экспериментов, много вылетов... Д'Артанъян: - Жизнь пуста, если в ней нет подвигов и приключений! Атос: - Вы правы, мой друг. Но жизнь бессмысленна, даже если в ней есть приключения.
Сообщение отредактировал Dracula - Среда, 28.12.2011, 15:01
Вопрос : А вы работаете с движком X-Ray SDK 0.7 ? или какой там!? Или только меняете скрипты файлов? И если работаете с движком, есть где нибудь статьи, где и как пользоваться движком?
Ну, раз администрация молчит и занята подготовкой к Новому Году, я ляпну. Эроз, на том же ресурсе, который я тебе указал выше, есть темы и по движку Сталкера. Ты, пожалуйста, сперва почитай про все хорошенько, вдумайся, пойми хоть примерно что и как работает, а потом перечитай свой вопрос. И ты сам поймешь, что ты спросил? Написание модов - задача не простецкая, особенно достойных модов.
Добавлено (30.12.2011, 11:34) --------------------------------------------- Но, как говорится, не Святые горшки лепят (обжигают). Дерзай, начни с простого, самого простого, пробуй и постепенно усложняй себе задачи. Практика тут играет огромную роль, все нужно испытать на себе, в уроках зачастую есть ошибочки и неточности. Д'Артанъян: - Жизнь пуста, если в ней нет подвигов и приключений! Атос: - Вы правы, мой друг. Но жизнь бессмысленна, даже если в ней есть приключения.
Здравствуйте. Сделал на основе ТТ2 (по примеру "бега по телепортам") квест на время с выводом таймера на худ. Вроде все работает, таймер включается, успевает ГГ - засчитывается, не успевает - провал квеста. Но... Возникла проблема. Если во время работы таймера сделать сохранение и его загрузить, то таймер "обнуляется"... Т.е. он просто не загружается и его как бы и не было. В общем, состояние таймера не сохраняется... Нельзя ли подробнее рассказать, как это осуществлено в ТТ2? СПС.
Frankenshtayn, естественно, если ты сам не сохраняешь и не загружаешь значение таймера, то за тебя этого никто делать не будет. Внимательно изучи скрипт time_back, особенно функции LoadBackTimer и SaveBackTimer. Найди, откуда и когда они запускаются и делай по аналогии. Удачи. Д'Артанъян: - Жизнь пуста, если в ней нет подвигов и приключений! Атос: - Вы правы, мой друг. Но жизнь бессмысленна, даже если в ней есть приключения.
особенно функции LoadBackTimer и SaveBackTimer. Найди, откуда и когда они запускаются и делай по аналогии
Эти функции я видел, вот на них и застопорился. Если я правильно понял. то они запускаются из скрипта totalizator запуск вроде связан с фонариком... Но все равно не разобрался... :(
Я, конечно, дико извиняюсь за настырность и непонятливость... Но если это является тайной, или просто неохота помочь начинающему мододелу, так и скажите.
Quote (Frankenshtayn)
Нельзя ли подробнее рассказать, как это осуществлено в ТТ2?
Сообщение отредактировал Frankenshtayn - Четверг, 29.03.2012, 22:55
Добрый день, подскажите, как Вы реализовали артефакт "Ликвидатор"? Заранее спасибо.
Создан новый объект, относящийся к классу артефактов, и имеющий свои характеристики: внешний вид, вес, свойства и прочее. Главная особенность - скриптовый метод деактивации аномалий, срабатывающий при выбросе Ликвидатора на землю. В общих чертах реализация такова..
Добавлено (20.04.2012, 21:42) --------------------------------------------- Спаибо за ответ,не точно сформулировал вопрос про "Ликвидатор"меня именно интересует скриптовый метод.Кроме anom_remover.script и bind_stalker.script ещё используются какие ни будь скрипты(функции)?
По всем остальным моментам - задавайте вопросы в теме "Вопросы-ответы" - ответим. И всё что знаем - разъясним обязательно и подробно.
Добрый день,чуть выше мой вопрос,если ответ на него в соответствии с цитатой,то я испанский лётчик.Присоединяюсь к госп."Если это является тайной" так и напишите.А игнорировать вообще это просто наплевательское отношение на людей.Поучитесь вежливости и отношению к людям на сайте SGM.
Приятного полёта, испанский лётчик! Пробелы после знаков препинания обязательны..
И Вам не скучать, по обращению ко мне я понял, что другого ответа не будет и даю бесплатный совет: лечите "звёздную болезнь" и купите себе учебник "Культура общения в обществе".
Сообщение отредактировал vaka2009 - Суббота, 28.04.2012, 13:13
Всем доброго дня! Подскажите пожалуйста , что у меня с игрой - пистолеты стреляют и дробовик , а автоматы не стреляют , хотя патроны есть. Пробовал ремонтировать , всё равно не стреляют. Спасибо.
Всё автоматическое оружие в данной версии мода стоит на предохранителе. Снимается клавишами 0 или 9. Этот вопрос рассмотрен в другой теме. Здесь задаются вопросы иного плана..
Сообщение отредактировал Cation - Суббота, 05.05.2012, 22:17
Дорогой antreg. Как Вы сделали выброс в финальном забеге по чаэс-2? Подскажите плизз, просто я хочу сделать такой же для своего мода. Это не полноценный выброс, это всего лишь обманка (эффект). Вызывается скриптовой функцией: function run_vibros() из файла: antreg.script или из логики рестриктора (%=start_small_reject% в файле: end_restr.ltx (\gamedata\config\scripts\new\restr))
Добавлено (23.06.2012, 21:47) --------------------------------------------- Люди, можно ли как-нить убрать выброс и таймер в финальном забеге на чаэс-2? Насчёт выброса уже выше сказал, что это не выброс, а просто эффект. Чтобы убрать этот эффект, нужно удалить из логики рестриктора строку: =start_small_reject Насчёт таймера: изучить нужно скриптовый файл: time_back.script
Сообщение отредактировал antreg - Понедельник, 25.06.2012, 14:42
Приветствую Вас. У меня такой вопрос: положил на болотах рюкзак-нычку, выложил туда вещи, потом пришел забирать - вещи смог забрать, а сам рюкзак нет. Как это можно исправить, нелогично ведь - вот он лежит же, а взять нельзя. Хотя в DMX-моде можно их забирать обратно.
Ну насчет нелогичности можно поспорить)))Допустим рюкзак пропитался радиоактивной жижей. Тебе такой нужен? Оружие то можно тампоном(не путать с прокладками) протереть. А кусок радиоактивного брезента? По поводу подбираемости рюкзаков в ДМХ. Есть мод Подбираемые рюкзаки(Ну или по другому называется - погугли, если хочешь). Хочешь - ставь его и адаптируй на свой страх и риск. Если разработчики ТТ2 решили, что рюкзаки должны быть неподбираемыми, то так тому и быть. Надеюсь - вопрос исчерпан?
Понятно, спасибо за ответ.
Сообщение отредактировал Rammka - Вторник, 31.07.2012, 22:05
function spawn_plan() local a = points[math.random(table.getn(points))] local obj = alife():create("new_plan", vector():set(a.position.x,a.position.y,a.position.z), a.lv, a.gv) end
*Семь мест рандомного спавна мешка. У каждого своё при прохождении.
Всем доброго времени суток, у меня вопрос как нормально сменить картинку главного меню? я сменил через фотошоп но там косяки, я не вижу надписи когда новожу курсор на "Новая игра". А так обьяснить трудно.
Даже действуя через фотошоп, сделать картинку для Сталкера не так просто, чтобы она правильно отображалась. Стоит поискать в интернете информацию по работе с текстурами для Сталкера.
Сообщение отредактировал Cation - Вторник, 21.08.2012, 18:58
Здравствуйте. Попробовал отспавнить аномалии по скрипту, согласно тутора: http://antreg.ucoz.ru/forum/5-10-775-16-1298701363 Прописал нетпакет в отдельный скриптовый файл, прописал там же координаты их спавна, прописал поршень на спавн, создал рестриктор на локации для попадания в него ГГ и появления аномалий. Появляются и "работают". Но, при переходе на другую локацию ловлю стабильный вылет:
FATAL ERROR
[error]Expression : no_assert [error]Function : CALifeStoryRegistry::add [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_story_registry.cpp [error]Line : 30 [error]Description : Specified story object is already in the Story registry!
IMAGINE, а ты на ТТ2 свои опыты ставишь или на чем-то другом? Ругань идет на повторный СИД, значит, он уже занят. Кем или чем неясно. Процедура спавна аномалий специфична, тонка и опасна. Уборка аномалии - вообще, колдунство. Однозначно ответить проблематично, нужна исчерпывающая информация об условиях и, собственно, сам код. Д'Артанъян: - Жизнь пуста, если в ней нет подвигов и приключений! Атос: - Вы правы, мой друг. Но жизнь бессмысленна, даже если в ней есть приключения.
Пробую на чистом ТЧ. Скрипт полностью взят из указанного мною выше поста. Добавлена лишь функция на спан аномалий
function get_story_id_not_replay() local ST ST = xr_logic.pstor_retrieve(db.actor, "ScriptAnomId", 0) if type(ST) ~= "number" or ST == nil then ST = 9000 xr_logic.pstor_store(db.actor, "ScriptAnomId", ST) end if type(ST) == "number" or ST ~= nil then ST = ST + 1 xr_logic.pstor_store(db.actor, "ScriptAnomId", ST) end return tonumber(ST) end
function create_anom(name_anom, posit_anom, lvid_anom, gvid_anom, radius_anom, power_anom) local obj = alife():create(name_anom, posit_anom, lvid_anom, gvid_anom)
-----------------------write---------------------- local packet = net_packet() obj:STATE_Write(packet)
-----------------------load----------------------- -- cse_alife_object local game_vertex_id = packet:r_u16() local distance = packet:r_float() local direct_control = packet:r_u32() local level_vertex_id = packet:r_u32() local object_flags = packet:r_u32() local custom_data = packet:r_stringZ() local story_id = packet:r_u32() local spawn_story_id = packet:r_u32()
-- cse_shape local shape_count = packet:r_u8() for i=1,shape_count do local shape_type = packet:r_u8() if shape_type == 0 then -- sphere local center = packet:r_vec3() local radius = packet:r_float() else -- box local box = packet:r_matrix() end end
-- cse_alife_space_restrictor local restrictor_type = packet:r_u8()
-- cse_alife_custom_zone local max_power = packet:r_float() local owner_id = packet:r_u32() local enabled_time = packet:r_u32() local disabled_time = packet:r_u32() local start_time_shift = packet:r_u32()
-- cse_alife_anomalous_zone local offline_interactive_radius = packet:r_float() local artefact_spawn_count = packet:r_u16() local artefact_position_offset = packet:r_u32()
-- se_zone_anom local last_spawn_time_present = packet:r_u8()
if (string.find (name_anom, 'zone_zharka_static') ~= nil or string.find (name_anom, 'zone_witches_galantine') ~= nil or string.find (name_anom, 'zone_mosquito_bald') ~= nil or string.find (name_anom, 'zone_mincer') ~= nil or string.find (name_anom, 'zone_gravi_zone') ~= nil or string.find (name_anom, 'zone_buzz') ~= nil ) and packet:r_elapsed() ~= 0 then abort("left=%d", left) end
-- cse_shape packet:w_u8(1) -- количество фигур packet:w_u8(0) -- тип фигуры: сфера packet:w_vec3(vector():set(0, 0, 0)) if radius_anom ~= nil then packet:w_float(radius_anom) else packet:w_float(1.0) end
-- cse_alife_custom_zone if power_anom ~= nil then packet:w_float(power_anom) else packet:w_float(max_power) end packet:w_u32(owner_id) packet:w_u32(enabled_time) packet:w_u32(disabled_time) packet:w_u32(start_time_shift)
Dracula, к сожалению и это не помогло - вылет тот-же. Уже просто тупо поставил целиком нет-пакет (с изменениями по двум строкам, Вами приведённые), прописал в поршни на спавн аномалий те же самые имена функций, что и в посте-примере, не менял координат и названий аномалий в функции, а вылет имеет по прежнему место быть.
В нет-пакете в секции save имеется дублирование строчки:
IMAGINE, удалять никакие строки нельзя однозначно! Нет-пакет это просто набор байтов размещенных в строго определенной последовательности. При чтении пакета они интерпретируются как переменные (смотри секцию load). local game_vertex_id = packet:r_u16() - означает, что первые два байта из пакета будут интерпретированы как целое без знака и в них содержится game_vertex_id. Следующие за ними 4 байта будут интерпретированы как число с плавающей запятой и присвоены переменной distance. И так далее, до конца пакета. Перед записью нет-пакет должен быть "собран" (заполнен) строго в той же последовательности, что и разбирался. Размерность значений должна быть соблюдена в точности (кроме строковых значений). При сдвижке данных в пакете, на приемной стороне процедура его "разбора" считает неверные данные, что может привести к непредсказуемым последствиям. Экспериментировать на чистой игре у меня нет ни времени ни желания, но в ТТ2 аномалии нормально создавались и создаются приведенным выше методом. А вот 'zone_mine_field' не пробовал за ненадобностью. Есть уверенность, что нет-пакет у него имеет такую же точно структуру, что и у "традиционных" аномалий? Более того, рекомендую обратить внимание на гравиган из ТТ2 (bind_ggun.script). C его помощью вполне корректно в большинстве случаев удавалось получать всевозможные аномалии. Он содержит собственную функцию чтения/записи нет-пакета (function an_spawn), которая расположена в конце файла. Сравни и проанализируй сходства/отличия, но состав пакета в них обеих должен быть идентичен. Д'Артанъян: - Жизнь пуста, если в ней нет подвигов и приключений! Атос: - Вы правы, мой друг. Но жизнь бессмысленна, даже если в ней есть приключения.
Сообщение отредактировал Dracula - Вторник, 09.10.2012, 17:06