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

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

сначало идет <precondition>...</precondition>

Затем <text>...</text>

А потом <action>...</action>

Совершенно фиолетово, в каком порядке будут идти теги во фразе.

 

Wookie, записывать значение счета Сидора лучше в пстор актора.

У тебя в скрипте есть глобальная переменная, но она будет равна нулю про новой инициализации скрипта (первом вызове любой функции из этого скрипта), т.е. после загрузки игры и непосредственно диалоге с NPC. Поэтому лучше записать значение в пстор, потом его читать. В итоге имеем:

--пополнение счета
function add_money(trader_money, trader)
trader = trader + trader_money
xr_logic.pstor_store(db.actor,"acc_sidor",trader)
end
--снятие со счета
function hate_money(trader_money, trader)
trader = trader - trader_money
xr_logic.pstor_store(db.actor,"acc_sidor",trader)
end
--вызов
function add_mon()
local sidor = xr_logic.pstor_retrieve(db.actor,"acc_sidor")
if sidor == nil then sidor = 0 end
this.add_money(600, sidor)
end

А глобальную переменную sidor убрать.

 

На счет прекондишенов.

Теги has_info, dont_has_info и precondition позволяют задавать условия доступности диалога по наличию/отсутствию инфопорции или скриптовой функцией. Функция должна иметь вид:

function dialog_prec(first_speaker, second_speaker, dlg_id)
    ...
    return true/false
end

здесь:

dlg_id - идентификатор диалога, для которого проверяется предусловие

first_speaker - тот, кто будет говорить первым. Если это стартовый диалог, то это NPC, если диалог актора, то актор.

second_speaker - соответственно, второй собеседник

 

Я бы проверял так

function if_give_art4(first_speaker,second_speaker,dlg_id)
if db.actor:object("af_vyvert") ~= nil then
return true
else
return false
end
end

Возможно примитивно, но работать должно.

И кстати проверка идет не на ломоть мяса, а на выверт.

Именно.

И что за переменные art_task_sidor и booty_task_sidor?

 

Galil, this (этот) - выполнить из этого скрипта. Лично я не пользуюсь, указываю имя явно.

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

return db.actor:object("af_medusa") and art_task_sidor=="af_medusa"

По идее, должно :)

art_task_sidor и booty_task это квесты соответственно на арты и на части монстров, но они не отображаются в инвентаре

Тогда эти флаги тоже придется записывать в пстор, потом проверять их наличие (если true - квест идет, квест выполнился - записываем false или удаляем (записываем nil)).

 

Вообще то мы делаем:

Подходим к Сидору\Бармену и спрашиваем про задание.

Он дает нам задание на конкретный арт\часть тела.

Записываем в пстор что задание активно.

Находим арт\часть тела.

По каллбеку на взятие отслеживаем это дело - выдаем сообщение о выполнении заказа.

Приносим арт\часть тела и отдаем его\ее.

Записываем в пстор, что для конкретного(ой) арта\части тела задание выполнено.

Записываем в пстор надбавку к счету Сидоровича\Бармена.

Вроде все

 

ну он у меня там онулялся и вроде все

Возьми задание, сохранись, выйди, загрузись. В итоге задания не будет, т.к. переменная опять будет nil.

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

saruman_ten, тут в другом дело.

НС 2011 вроде как для ТЧ (если я чтото спутал дальше можно не читать:))? Однако там (в ТЧ) худ ствола и рук вместе, в то время как в ЗП оружие и руки идут отдельно, так что без правки моделей тут не обойтись. Да и смысла нет из-за одной анимки все это перелопатить, и еще не факт, что удачно.

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение
[KAPATICH], ты вылет то все же покажи, а так же покажи как прописываешь модель и худ. В секции ствола худ прописывает как та же секция, а уже в ней нужно менять визуал худа.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

Keng, на сколько я знаю, нет. Это движковая "фича", хотя и она предоставляет немало возможностей.

PS: если бы можно было контролировать через скрипт, мод смены времен года был бы уже сделан :)

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

Keng, ну я же написал, что это все движком обрабатывается. Если есть одноименный текстуре файл *.seq, то движок даже может не вывести выбранную текстуру, а будет менять N текстур в секунду прописанных в *.seq по порядку, где N это число, которое записана в этом же файле в первой строке. Все.

Для модели в руке, будь то пистолет, нож, бинокль да хоть болт, применима только одна текстура, которая, кстати, прописана в самой модели худа. Если подменять модель, то "незаметно" для игрока это не произойдет.

значит остается еще 4 вар-та реализации

Можешь сразу выписывать, чтоб не плодить посты. Я не могу быть уверенным(!), т.к. не знаю, что ты придумал, но скорее всего и это не осуществимо на ТЧ.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

Starter, стандартные ролики делали через майю (учитывая что это "родной" 3д редактор сталкера, думаю делали через него). Я этим не занимался, но сам бы начал с создания видео в максе\майе. В интернете много статей и учебников про создание партиклов да и вообще разных эффектов в сцене, давать конкретную ссылку не имеет смысла. В конце концов захват видео из игры имеет ряд значительных минусов, от банальных лагов до того, что это просто не предназначено для снятия видео (примеры использования знают все - Агропром, ДТ, Припять).

Ну а если тебе нужны ответы по работе в том или ином редакторе - есть целых 3 темы.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение
SnipeR_163, чем тебя запись 255, 255, 255 смущает? Или 1, 1, 1. Это просто отношения сколько какого цвета будет в свечении, а абсолютное значение еще и устанавливает интенсивность, например 1, 0, 0 и 10, 0, 0 будут различаться в интенсивности. Вообще ничего не мешает поэкспериментировать самому. Кстати trail_light_range далеко не радиус свечения в обычном понимании, скорее это что то вроде вектора, а может и есть вектор, а вектор имеет направление, поставь какому нибудь артефакту это значение в -5 (минус пять) например, прям "черная дыра" получится, которая свет поглощает :)

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

Saruman, все таки не стОит говорить того, чего не знаешь. Я бы сам не написал, если бы не был уверен. Опять же, что мешает взять и проверить самому? Я так и делал, и мои выводы сделаны на экспериментах. Так что отрицательное число к вылету не приводит, а изменяет направление свечения, при этом наблюдается освещение объектов с противоположной стороны от артефакта в заданном радиусе, которое уже определяет именно число. Я согласен, что логичнее было бы вылетать, но, то ли разрабы не рассчитывали на отрицательные числа (какой дурак туда поставит минус? есть такие :)), то ли это осталось как баг\фича. Ну а теория, что это псевдовектор просто предположение.

 

SnipeR_163, число 00ССFF разбивается на 3: для красного 00, зеленого CC и синего FF. Они в 16-ричной системе, перевести в 10-тичную поможет виндовский инженерный калькулятор, выходит для красного 0, для зеленого 204, а для синего 255. При нормировке до единицы получаем 0, 0.8, 1. Ну а если захотелось свой цвет, лезть в фотошоп конечно можно, но имхо тот же paint и откроется быстрее, дело вкуса.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение
FANAT, смысл замены, скорее всего, использование своего clsid'a. Больше по твоим скупым данным не скажешь. Если сильно надо, ковыряй скрипты, где регистрируются связки серверный-клинтский классы (поиск по AF_DUMMY в скриптах). От туда найдешь название нового clsid'a и опять же поиском по скриптам узнаешь, где этот ид используется. Ну а там по обстоятельствам. (с)

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

FANAT, в основном, это "сортировка" объектов, точнее один из способов. Так легче понять, что артефакт, это не бинокль, но все это в более общем случае. В данном случае нужно смотреть коды, а как найти, я уже написал.

Швед, с заданиями копаешься? Скажи хоть что сделал то, к экстрасенсам на другой форум...

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

rusya456, искал не там, user.ltx находиться в папке С:\Documents and Settings\All Users\Документы\STALKER-SHOC для Windows XP.

PS: этот файл отвечает за параметры игры, клавиши клавиатуры, он в принципе должен быть.

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение
Daniar299, имена у спейс рестрикторов одинаковые как и у их визуалов, может в этом дело?

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

плащ, во втором objective

<infoportion_complete>sokolov_kvest_have</infoportion_set_complete>

Юзай Notepad++ например, все сразу видно будет.

proger_Dencheek, на это есть правка движка от SkyLoader. Это мод Cut X-Ray mod pack 1, там разные правки, есть возможность заюзать только 3 лицо.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

Dennis_Chikin, единственный такой вылет у меня был с тупо не настроенными костями модели.

Всегда удивлялся, почему его приписывают к другим ситуациям, неужели из-за чего то еще это лезет?

 

Лечение простое, отлов кривой модели сложен, ибо не знаешь, в какой автор накосячил. Достаточно обратно перегнать в СДК, настроить все шейпы, и обратно в огф. Либо, если автор сам (как в моем случае), в исходнике все заделать. Я на этом попался, долго ломал голову, что не доделал, а иногда просто забывал доделать.

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

ColR_iT, посмотрел этот скрипт, нашел где есть вызовы. По факту вызываются только update, money_trade_update, money_quest_update ну и все, по крайней мере notepad++ не нашел. По сути - бесполезный модуль на момент релиза, возможно это недоделка или какой то дебаговый модуль.

Есть локальная таблица, туда заносится информация о ГГ. По названиям функций и собственно самой информации можно понять, что и когда должно заполняться, расписывать построчно как то не вижу смысла. В основном это индификатор данных, позиция актора и игровое время (в формате 00:00:00, вроде бы), остальное - здоровье, радиация, сытость, сколько денег учавствовало в продаже\квесте, инфа о задании и т.п.

Удивило то, что у нас каждую секунду игры в эту таблицу пишутся не хилые данные - функция update.

Единственная передача всех данных идет в функции shutdown (ее вызов идет в нет_дестрой актора, но закомменчена) в функцию printf и собственно все. Зачем это было нужно, черт его знает. Для тестеров этот вывод возможно был нужен, где они что делали на локации.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

gruber, для подсчета рангов и статистики используются другие модули. В скрипте game_stats.script в том виде, в котором он есть сейчас, ничего никуда не передается (кроме printf) и получить от туда нельзя, а какие задумки были у разрабов, помнят только они, и гадать нету смысла. Конечно, можно это исправить, добавить геттеры или вообще объявить таблицу как глобальную, если работа вообще стОит таких трудов.

А по сути да, выкинуть бы его, как и треть остальных скриптов, оставленными GSC из старых билдов и всяких тестов...

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение
В чем еще может быть причина ?

Причина в завышенных\заниженных значениях иммунитетов\вывода радиации\других параметрах из файла actor.ltx

Например стоит бессмертие. Да, при тестах скриптов, не относящихся к параметрам ГГ напрямую, или других файлов игры (например новые локации), удобнее плюнуть на все и сделать ГГ неубивашкой. Однако при тестировании баланса игры это уже недопустимо.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение

nanshakov, есть класс render_device, о котором можно прочесть в справочнике, однако с помощью него нельзя определить левел и гейм вертекс. Но думаю проще будет написать в консоле rs_stats 1, там будут только координаты камеры.

ТЧ 1.0004. SAP и Trans mod

github

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...