S.T.A.L.K.E.R. 2: Новый трейлер <<<>>> S.T.A.L.K.E.R.: Global War <<<>>> Инструмент - теперь и для ТЧ!
-
Число публикаций
4 084 -
Регистрация
-
Последнее посещение
-
Дней в топе
19 -
AMKoin
29,439 [Подарить AMKoin]
Весь контент пользователя dsh
-
@Zander_driver, то, что там 6 строчек - это ничего не значит. Вот тот же trade_manager прекрасно может битый сейв сделать. Из свежих воспоминаний. Соляночный Седой на АТП. Из-за наличия легкого бреда в конфиге торговли, сейв с ним в онлайне получался битый. Ну почему не оживить. По тому, что ты показывал, у тебя не записалась онлайновая часть для Сахарова. Ну и бог бы с ним. Убери в скрипте для него abort, загрузись и переспаунь инвалида.
-
@AndrewMor, сильно сомневаюсь. Эта секция обрабатывается из custom_data движком, насколько я помню. Мне кажется, можно с имитировать, если использовать логику юзания.
-
Язык Lua. Общие вопросы программирования
dsh ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
@naxac, подозреваю, в глобальном пространстве имен оно будет, т.е. в G. Хорошая, кстати, грабля. Ошибиться достаточно легко, а причину глюков потом искать у-у-у... -
@HellRatz, вроде же недавно тут обсуждали. У тебя "combat_ignore = combat_ignore" есть? Без указания combat_ignore combat_ignore_cond не используется.
-
А с котами-баюнами я предпочитаю не пересекаться. Их слышно издалека и я туда не иду. Либо у поста Чистого Неба забираюсь под крышу сарая, выманиваю паршивцев и все вместе с ними разбираемся. Они тогда чистонебовцами заняты и меня не усыпляют. В других местах, если уж не обойти, стараюсь разобраться с максимального расстояния, что бы перестрелять их до того, как они начнут меня усыплять. Ну если уж совсем никак, то выманиваю их в какое-нибудь узкое место, что бы я мог перестрелять их в лоб и, опять-таки, заранее. И все это я предпочитаю делать с глушителем. Чем меньшее кол-во баюнов обо мне будет знать, тем легче. В общем, нелегко и не радостно. Шутка. На Болотах достаточно весело.
-
@HellRatz, насколько я понимаю, список фраз для выбора ГГ задается в диалоге, с ограничением с помощью скриптовых функций/поршней, а список заданий выводится функций из <action></action>, через (например): db.actor:give_talk_message("Я тебе за это дам вот что:", "ui\\ui_iconstotal", Frect():set(0,0,10,10), "simple_answer_item") db.actor:give_talk_message(reward_text, task_texture, task_rect,"iconed_trade_info")
-
@HellRatz, ты про циклические задания, типа принеси хвостов-копыт, или про сюжетные? Если про первые, то это в дебрях task_manager.script, а если про вторые, то это в диалогах. Они в этом случае ограничены инфопоршнями. Ну вот, например, первый попавшийся: <dialog id="emb_sak1"> <has_info>embt_sak1_start</has_info> <dont_has_info>embt_sak1_have</dont_has_info> <phrase_list> Этот диалог станет доступным только при наличии "embt_sak1_start" и отсутствии "embt_sak1_have". Вместо инфопоршней могут использоваться скриптовые функции, для ограничения.
-
На тех расстояних, что ты указываешь, даже пуля, выпущенная со скоростью 910 м/с, не попадет в собаку, бегущую перпендикулярным курсом. Упреждение надо брать, а ты про прямой выстрел. И хит пули тоже снижается заметно. Это, естественно, все об игровом мире.
-
Возможно перепутаны second_speaker и first_speaker. Никогда не понимал, зачем так делать. Если предмет отнимается у ГГ, то почему бы просто и не делать dialogs.relocate_item_section(db.actor, "item", "out")
-
Знаю я все это. Я подумал, может появилась какая-то отдельная программка.
-
Подскажите пожалуйста, существует-ли какая-нибудь программка, что бы include-ы в ogf поправить?
-
@Generaator, через некоторое время пройдет. У меня такое периодически бывает, потом проходит, потом снова бывает. Не могу понять, что это. Но сдается мне, связано это как-то с системой, а не игрой.
-
@kenchi, satiety_restore_speed не работает без скриптовой поддержки или модификации движка.
-
@PTB, на кусок от level_changer-а похоже
-
Объединенный Пак 2 (ОП-2)
dsh ответил на тему форума автора Murarius в Объединенный Пак (ОП, ОП-2, ООП)
@RazoRRR, у Седого на АТП дикая ошибка в конфиге. Ни в коем случае не сохраняйся, когда он в онлайне, а то получишь битый сейв. -
@AndrewMor, ты в spawn_item_in_inv() серверный объект передал, как минимум. А эта функция ожидает клиентский объект в качестве npc. Вот так вот делай, тогда уж: function spawn_card() local sobj = alife():object("pred_inventory_box") if sobj then local obj = level.object_by_id( sobj.id ) if obj then spawn_item_in_inv("access_card", obj) end end end А если у тебя ящик вообще в оффлайне, так и не заморачивайся, сразу создавай в нем через alife():create()
-
@HellRatz, у тебя эта проблема давно тянется. Там надо плотно сидеть и отлаживать строчку за строчкой, в поисках причины, по которой теряется активная секция логики, при загрузке. Мне в голову ничего не приходит.
-
Ну конечно же должен быть. А после смерти ГГ мод должен удаляться с компьютера навсегда, без возможности повторного запуска. Если уж желать реализма.
- 14 001 ответ
-
- 3
-
- мод
- s.t.a.l.k.e.r.
-
(и еще 5 )
Отмечено тегом:
-
@HellRatz, добрался до компьютера и теперь могу уточнить. Дополнительная запись и сохранение параметров текущей логики происходит в xr_logic.script, в save_logic_online() и load_logic_online(). Увидишь там манипуляции с sobj.s_storage - это оно и есть. Сам sobj.s_storage сохраняется в сейв и читается уже в se_stalker.script. Если тебе это поможет.
-
@AndrewMor, вот тебе ссылка на рюкзаки-нычки именно это и реализующие: https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/dsh_rukzak.script Разберешься - используй. На конкретные вопросы отвечу. Но только на конкретные.
-
Вот вы путаете все. Пулестойкость костюмов была всегда. Меньшая или большая - не важно. Просто циферки в описании не имели с ней ничего общего. Вот и все.
-
Насколько я помню, в OGSE параметры текущей логики дополнительно сохраняются в серверном объекте. Ткнуть пальцем сейчас не могу, ибо на планшете.
-
Я бы посоветовал, всем, никогда не удалять из таблицы изнутри цикла по ipairs. Во избежание граблей. Очень, очень плохая практика. Да, я знаю, что я Капитан Очевидность.
-
И чего? esc_wolf сидит в all.spawn, поэтому его можно достать по имени. А вот если ты его скриптово заспаунишь по секции, то имя у него будет не "esc_wolf", а какое-нибудь "esc_wolf12345".
-
Не подойдет. Что бы подошло, нужно после создания, ручками, назначить объекту story_id. А так, перебирать все объекты в цикле и встретив подходящую секцию, удалять и прерывать цикл. Самый простой вариант.