-
Публикаций
1 080 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент ian98
-
N42 А вот, ну вопрос немного не по той части серии, я в огср меняю тоже свои статики, рисую их, но они удаляются при сейвлоуде. Их можно как-то отрисовать и удалить только тогда, когда я так скажу скриптам? А то я нашел способ, но это так, вызываю статики по новой на нетспавне актора по инфопоршням...
-
Prostomod я не могу понять что такое виджет в сталкере) Хотя может я уже и понял, виджет это сам статик из допустим ui_custom_msgs.xml? Т.к я очень долго просыпался мой ответ - второй по счёту. Ну и делалось это всё на огср движке, тут думаю проблем не много, но TextControl например я первый раз такое вижу, в том же луа огсра нет такого, как это работает N42 ? Меняет ли имя статику навсегда? Или также до перезагрузки? а дошло, это вместо внд... Ну т.е понятно, что оба варианта можно вызывать на моменте отрисовки статика и вроде не будет проблемы с текстом, просто интересно Значит вот такой например скрипт. назвал я его set_static_text.script function new_static_params(static_name,text) -- меняем ещё и цвет. просто как пример. менять можно любой параметр статика. local a = 255 -- прозрачность. 0 - невидимый. 255 - видят все.. local r = math.random(0,255) local g = math.random(0,255) local b = math.random(0,255) local hud = get_hud() static_to_change = hud:AddCustomStatic(static_name, true) if static_to_change then static_to_change:wnd():SetText(game.translate_string(text)) static_to_change:wnd():SetTextColor(a,r,g,b) end end вызывается вот так из любого удобного места - set_static_text.new_static_params("static_name","any_text") правда в случае перезагрузки игры изменённые параметры статика не сохраняются. он, статик, грузит себя из первого конфига. с этим можно заморочится я думаю, мне уже будет сложновато, надеюсь тебе пойдет и так.
-
практика
-
Gendel нужно по нажатию кнопки выполнить вторички или их провалить, или сделать автоматически раз в сутки например проваливается квесты или выполняются? Если так, то, возможно, есть способ. Нужно смотреть луа хелп. Да и без скриптов, по-моему, есть конфиг, в котором указывается время на выполнение вторичных квестов. Забыл название. Но мне кажется я не так понял, в смысле что проваливать миссию тебе точно не надо, ну а тогда выполнять по халяве? Это ж по халяве будет. Да и бармен от того не перестанет просить убить уже мертвых бандитов. Странно это, что вообще просит, звучит так как будто перед выдачей квеста не проверяется живы ли бандиты. Ну я вообще не работал никогда именно с заданиями и не уверен как это точно работает. Мне самому нужно изучать этот момент. Но выполнить определенные квесты по кнопке сделать можно попробовать. Вроде не сложно это
-
Gendel сделать квестовиков бессмертными? если в зп есть такая штука как invulnerable, то можно по идее на нет спавна в мотиваторе по именам приделать нужным нпс бессмертие. Но амк это не зп. движок там от тч видимо, оригинальный. В оригинальном тч такой фичи нет, можно по примеру сахарова из конфигов(см. оригинальная gamedata\config\creatures\m_stalker по запросу stalker_sakharov) Как один из вариантов обратится к иммунитетам сахарова можно прописав нужного нпс в spawn_section или из all.spawn, возможно.. Можно не парится с конфигами и по имени профиля например апдейтить из биндера хп в 1 при любом хите в оригинальном тч. Но такое бессмертие до фатального хита, например в голову. Может еще способы есть. Надо подумать
-
Hunter бывает. мне столько раз не помогали в моих хотелках. отпускай их или стучись дальше, ищи на других форумах ответы. Бывало я иногда методом тыка что-то находил, было смешно и радостно, но чаще конечно просто забивал и забывал. SoDizzari как один из вариантов костыльных. Меняем название быстрого сохранение на любое удобное. Очевидные минусы: 1. можно забыть про кнопку быстрой загрузки. Она просто не работает. Наверное это движковые какие-то моменты, но очевидно,хотя ето и не точно ето ж сталкер, связано с названием сейва. upd. Я случайно пришел к понимаю из-за чего не загружается последний сейв. Да, это из-за смены имени. Чтобы всё работало как все привыкли, нужно параллельно со сменой имени править user.ltx. Как это сделать. Вроде бы достаточно вбить в консоль load_last_save имя сейва, который хочется грузить. все. править код не стану, ибо его даже и не скачивали. зачем только помогал вопрос... ладно. 2. Статик "игра сохранена: Имя компа - quicksave" никуда не девается. Скрипт связанный с этим статиком я разбирать и править не пытался. Вообще я его сместил за экран этот статик. Лучшее, что мог быстро сообразить. На месте старого можно отрисовать новый, минималистичный. 3. Если при создании кастомного сейва допустить в названии "quicksave", то такое сохранение исчезнет в случае быстрого сохранения Но в целом, может тебе пойдет такое решение. Да, желаемое название быстрого сохранения указывается в скрипте change_quicksave_name. gamedata.rar
-
странный вопрос для конфига с 5 значениями throw_point = throw_dir = правда относительно какой точки сказать сложно. если выставить по нулям, то болт будет справа сверху лететь. если выставить что-то наугад, то действительно болт летит по-другому. Как подобрать не знаю. Возможно в каком-то моде уже подобраны значения. как работает вообще болт непонятно, т.е это анимации, движок и конфиг или просто движок и конфиг. в общем, точно не просто конфиг. можно сделать свой болт, новый, скриптово. будет работать как нужно. достаточно спавнить предмет перед лицом и пихать его в направлении взгляда. ну мне лично лень этим заморачиваться сейчас, но я точно уверен такое работать будет плюс минус как ты хочешь
-
Я ещё старые не заценил
-
Ага
-
Stalkervernite в диалогах есть <action></action> или вроде того. лепи туда че хоч на любую удобную фразу.Paracetamol по скрипту не знаю, я переводил таким, может попробуй если интересно function offline() for a = 1, 65534, 1 do local sobj = alife():object( a ) if sobj and sobj:alive() then alife():set_switch_offline(sobj.id, true) alife():set_switch_online(sobj.id, false) alife():set_interactive(sobj.id, false) end end end Но тоже замечал, что не все сталкеры идут в оффлайн. У кого есть какая-то логика особенная, типо петрухи или толика на кордоне, остаются онлайн.
-
Ты ещё скажи, что скрипты не через блокнот пишешь.
-
serzhant нужен скрипт или прописывать лут через спавн или сдк. При этом оригинальные тайники сверху также останутся. Лутецкого будет на всю трилогию. Если скрипт, то я примерно представляю как он должен выглядеть. Надо перебрать все объекты в игре по клсиду, отфильтровать ящики в лагерях, а то лута ещё больше будет, чем дофигище, ну и по полученным тайникам распихать предметы. Раедомно. Если в каждый определенные предметы совать, то тоже можно скриптом, но возни побольше будет.
-
Крёстный какому делу? Дайрект икс 8 2000 года выпуска. Вот и по делу тебе.
-
Помнится я как-то случайно наклацал подобное в году 2021. Апгрейды-то все, но модом это не совсем предусмотрено. По крайней мере тогда так было. Апгрейды, кстати, сразу все открыты или как п в оригинале надо поставить апгрейд а, чтобы открыть б и с?
- 17 ответов
-
- gunslinger
- gunslinger wp
- (и ещё 2 )
-
разобрался сам случайным образом, на радостях аж поделюсь. Может столкнется кто. В общем, на ОГСР вырезали калбеки на выстрел, их нет, но есть калбеки на нажатие клавиши и если нужен выстрел, то там можно его отследить. Да, корректно отследить так можно лишь одиночный выстрел. В принципе мне этого достаточно, но все-таки решение не универсальное далеко. function actor_binder:on_key(key, bind) -- нажатие клавиши local weapon = db.actor:active_item() if weapon and isWeapon(weapon) then local ammo_in_magazine = weapon:get_ammo_in_magazine() -- обязательно проверять есть ли в пушке патроны local ready = weapon:get_weapon():ready_to_kill() -- нельзя давать срабатывать функции во время доставания оружия из кобуры local wnd = level.get_inventory_wnd() -- окно инвентаря local wnd2 = level.get_car_body_wnd() -- окно обыска трупов и ящиков. Нельзя давать функции работать с этими окнами. if bind == key_bindings.kWPN_FIRE and ready then if (ammo_in_magazine==0) or wnd:IsEnabled() or wnd2:IsEnabled() then return end ... end end end
- 23 ответа
-
- тень чернобыля
- отследить выстрел
- (и ещё 5 )
-
N42 Подробнее, вот у нас есть задание, любое, от убить сталкера(сайдквест) до отключить антенны выжигателя(сюжетка). Квесты подобные сопровождаются меткой на карте, чтобы игрок знал куда ему идти. Я хочу, если один из таких квестов активный, получить координаты такой метки. На самом деле, необязательно даже выдавать координаты метки прям активного квеста(в табе), можно одного из активных. Мне кажется второе было бы легче сделать. Еще, может знаешь, как пользоваться send_event_key_press(number)? Из движка огср функция. Я пробовал так level.send_event_key_press(28), но ничего в игре не произошло. Возможно я просто не понял как это работает в принципе... Я думал и продолжаю так думать, что функция вместо игрока нажимает на кнопку. Этого бы мне и хотелось изобразить в своих задумках.