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

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


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

@Hind 

Ошибку читай: не найден модуль "dmb". У тебя должен быть в папке скриптов файл dmb.script, а в нем ф-ция use_item(obj).

@Hind очень крутая штука - script syntax checker.

Строка 15, dmb.script

function muzika

После muzika должны стоять ()

  • Спасибо 1
  • Согласен 1
  • Полезно 1

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

Работает)
Ещё подскажите, как сделать задержку в скриптах? Типа..
Вот юзанул я аптеку и через 5 секунд она появляется снова

1 час назад, Hind сказал:

и через 5 секунд она появляется снова

Поищи, где-то тут были скриптовые модули таймеров. Ну или сам сделай таймер...

@Hind Если не требуется перенос через сейв/загрузку, короткую отсрочку можно сделать через level.add_call(проверка, действие).

Spoiler
local t = time_global()

local function delay()
	return time_global() > t + dt
end

level.add_call(delay, fx)

 

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

26 минут назад, Norman Eisenherz сказал:

Если не требуется перенос через сейв/загрузку, короткую отсрочку можно сделать через level.add_call(проверка, действие).

Загрузка может случиться в самый неподходящий момент. Не самый правильный подход.

Сталкер - наше всё!

@AndrewMor "Если не требуется". Действия с короткой отсрочкой, которые после бесполезны после смерти ГГ (основная причина загрузки), вполне можно обрабатывать и так.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

20 часов назад, Hind сказал:

где то видел модуль wait(nое время), он рабочий?

Знать бы точно, что за модуль...

9 часов назад, Norman Eisenherz сказал:

"Если не требуется". Действия с короткой отсрочкой, которые после бесполезны после смерти ГГ (основная причина загрузки), вполне можно обрабатывать и так.

В таком случае - да, согласен

Сталкер - наше всё!

Всем привет. Хочу убрать выдачу тайников с трупов. В каких файлах нужно ковырять? Или может у кого есть уже готовый пример?

1 минуту назад, Colder сказал:

В каких файлах нужно ковырять

treasure_manager.script

Что бы всё не "ломать", думаю, править только осмотр трупа CTreasure:use(npc)

  • Спасибо 1
  • Согласен 1

Здесь могла быть ваша реклама.

Здравствуйте. Подскажите функцию:
ГГ получает инфопоршень, после чего у него опускается уровень ПСИ-здоровья до 50% и больше может подняться выше (останавливается так же по инфопоршню).

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

@Houdini_one  Я бы сделал что-то типо:

Скрытый текст

Выдаеться инфопорция ГГ. Срабатывает финкция

 

local timer1 = 0

function функция()
    if has_alife_info("инфопорция") then
    local timer2 = time_global()
        if timer1 < timer2 then
        db.actor.psy_health = - 0.05
            timer1 = timer2 + 1000
        end
    end
end

 

Удаляем инфопорцию когда нужно.

 

 

Изменено пользователем Colder
18 часов назад, mole venomous сказал:

Что бы всё не "ломать", думаю, править только осмотр трупа CTreasure:use(npc)

Можно в treasure_manager.ltx прописать каждому тайнику заведомо невыполнимое условие для выдачи.

  • Полезно 1

Сталкер - наше всё!

48 минут назад, AndrewMor сказал:

Можно в treasure_manager.ltx

Для классических тайников. Для случайных и редких, по типу АМК-шных, генерация содержимого, вроде, не зависит от этого кондлиста (если ручками не добавлять). :unknw: А вообще, если нужно полностью исключить возможность получать тайники с трупов, думаю, стоит сразу обрубить это в самом начале, при обыске жмурика, что бы ничего не обрабатывать зря.

Изменено пользователем mole venomous
  • Полезно 1

Здесь могла быть ваша реклама.

Не уверен, что есть что-то подобное, но, подскажите такой скрипт, если он есть:
Оцениваем стоимость инвентаря главного героя (исключения это ПДА, болт), удаляем его и взамен выдаём деньги.

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

@Houdini_one 

Скрытый текст

function get_cost()
	local t_cost = 0
	local objects = {}
	db.actor:iterate_inventory(function(d, o)
		local sect = o:section()
		if sect ~= "bolt" and sect ~= "device_pda" then
			t_cost = t_cost + o:cost()
			table.insert(objects, o)
		end
	end)
	for _, obj in pairs(objects) do
		local sobj = alife():object(obj:id())
		if sobj then
			alife():release(sobj, true)
		end
	end
	dialogs.relocate_money(db.actor, t_cost, "in")
end

 

 

  • Спасибо 1

@Colder к сожалению не силён в скриптах, но проверив функцию хочу сообщить, что данная функция уменьшает пси-хп игроку вплоть до его гибели.

@Houdini_one возможно я выразился неправильно:
Нужно чтобы ПСИ-хп убавилось до 50% и не могло подняться ни выше, ни ниже.

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

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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