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

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

@AndreySol Нет-спавн, скорее всего, не годится, тк проверку требуется выполнять не в момент загрузки, а несколько раз между загрузками. Перебор только db.storage – похоже, то, что нужно. Единственная непонятка: в заголовке [db.script] сказано "база данных живых онлайновых объектов …", но без проверки obj:alive() трупы тоже считаются активными противниками и приведенная ниже проверка выдает "true". Может, в проверке что-то не учтено?

 

Spoiler

function enemy()
	for id, v in pairs(db.storage) do
		local obj = level.object_by_id(id)
		if obj then
			if obj:alive() and ( obj:relation(act) == game_object.enemy or IsMonster(obj) )
			and obj:position():distance_to( act:position() ) < 40 then
				return true
			end
		end
	end

	return false
end

 

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

Шпаргалка

Ссылка на комментарий
1 час назад, Norman Eisenherz сказал:

сказано "база данных живых онлайновых объектов …"

Ты еще не привык, что в ПЫСовском творении много чего "сказано", да не так в действительности ? Привыкай, меньше непоняток будет.

  • Сочувствую 1
Ссылка на комментарий

@Norman Eisenherz, в db.storage не только живые онлайновые объекты, а вообще все объекты, имеющие логику: ящики, рестрикторы, вертолёты, двери и прочие физ. объекты. Так что надо проверять ещё и по классу (isStalker, isMonster).

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif


Подарки

Ссылка на комментарий

Это сообщение проигнорировали .. 

https://www.amk-team.ru/forum/topic/6185-skriptovanie/?do=findComment&comment=1272641

Ладно, попробую задать вопрос по другому.

Пишу программу для настройки HUD оружия. Настройка будет производиться за пару минут визуально на экране без перезагрузок, вот (это не реклама стороннего ресурса):

http://the-zone.ru/threads/programma-po-nastrojke-hud-oruzhija-proshu-nemnozhko-pomoschi.467/#post-29091

 

Итак, сталкер запускается, считывает параметры orientation = 1,0,0 в память, потом что-то делает со значениями и разбивает каждое значение на два значения да ещё и изменяет на другие (возможно т.к. это координаты, то задаются в ltx  в градусах, а в памяти хранятся в радианах), т.е было = 1,0,0 а в памяти хранится: -0,02 +0,02, 0 0, 0 0

помогите найти в памяти значение те же что и в ltx, либо как узнать по какой формуле игра расчитывает координаты для оружия в руках ГГ?

Изменено пользователем Баба ЯГА

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

Ссылка на комментарий

@Баба ЯГА, Нужно в движке выносить в скрипты смену оринтанции оружия или по смещениям памяти но это дезассемблирование...

Ссылка на комментарий

Как сделать бесконечный цикл?_Хочу сделать так,_чтобы постоянно через какое-то время_(допустим 10 секунд)_давался инфопоршень._Возможно ли такое сделать или нет?_Вот что то придумал,_но что то не работает._Игра не крашится но и код не рабочий._Заранее спасибо!

while true do
   function action_script()
      db.actor.give_infoportion("spawn_enemy")
   end
  function timeri()
     local tim = time_global() + 10000
	
     local function check()
        return time_global() > tim
	end
	
      level.add_call(check, action_script)
    end
  end
  


  

Изменено пользователем W.A.S.P.
пунктуация
Добавлено  Опричник,

Правила форума, п. 2.5 (правописание)

Сутки чтения.

О правописании на форуме - здесь.

Следите за пунктуацией - https://pixelplus.ru/studio/stat/pravila-postanovki-probela-ryadom-so-znakami-prepinaniya/

Ссылка на комментарий
local timer, delta = 0, 10000
local function check_and_execute()
  if timer < time_global() then
    timer = time_global() + delta
    return action_func()
  end
  return false
end

function action_func()
  -- что-то делаем
  -- при необходимости прервать цикл добавляем:
  -- return true
end

-- запуск
level.add_call(check_and_execute, function() end)

 

Изменено пользователем Kirgudu
Ссылка на комментарий

Здравствуйте! Есть такой режим прохождения (Stalker Call of Chernobyl) "Одна жизнь", где игрок может сохранятся до момента первой смерти. Иногда игровой баг, повлёкший смерть ГГ, может уничтожить всё пройденное. Режим "Одна жизнь" или "hardcore_mode" в скрипте - хотелось бы поправить и увеличить до 3-х жизней. По идее решаемо для Скриптёра - в общем нужна ваша помощь.

Изменено пользователем A-P-S
Ссылка на комментарий

Такой вопросец. Вот имеем, к примеру, для некого объекта экспортированную ф-цию, допустим my_function(). Требуется такая штука: в каком то конфиге прописана эта ф-ция:

func_name    = my_function

Надо прочитать(это понятно как сделать) и затем вызвать эту ф-цию для объекта. Т.е. как то так:

local obj = npc:object("наш_объект")

if obj then

     obj:my_function()

end

Подскажите, как такое сделать, если вообще возможно.

 

  • Сомнительно 1
Ссылка на комментарий

@AndreySol, например так:

-- Если функция без аргументов
obj["имя_функции"](obj)

-- Если функция с аргументами a, b, c
obj["имя_функции"](obj, a, b, c)

 

  • Спасибо 1
  • Нравится 1

S.T.A.L.K.E.R. CoP Objects (upd 10.04.24)


Подарки

  • Ссылка на комментарий

    Как добавить бинокль и фонарик на мультиплеер??

    56 минут назад, pass1ve сказал:

    Как добавить бинокль и фонарик на мультиплеер??

    Короче я даун и уже всё сам сделал, просто папку назвал не configs, а config, вот и не видел бинокль и фонарик)

    Лучше подскажите как из главного меню убрать лишние пункты, например сетевая игра.

    В интернете ничего не нашёл.

    Ссылка на комментарий

    Здрасьте.

     

    Укорачивание строки, если она хотя бы на 2 символа больше заданной длины:

            local q_name = string.len(text)
            if q_name > 35 and q_name ~= 36 then
                text = string.sub(text, 1, 35) .. "…"
            end

     

    Вариант "and q_name ~= 36" работает, а вариант "and not q_name == 36" – нет (вылета нет, но строка остается без изменений). Почему?

    • Не нравится 1

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

    Шпаргалка

    Ссылка на комментарий

    @Kirgudu Если так, то не должна ли ни к чему не привязанная часть "== 36" вызывать у компилятора вопрос и вылет?

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

    Шпаргалка

    Ссылка на комментарий

    @Norman Eisenherz, с чего бы это? Выражение «not число» тоже имеет свой результат в Lua (false), который вполне можно сравнить с другим числом. И они естественно не равны друг другу.

    Ссылка на комментарий

    @Kirgudu Не догоняю… Было выражение "and not q_name == 36", которое прочиталось до имени переменной с логическим результатом "q_name == nil". Осталась часть "== 36" – с ней что происходит? Пустое место равно числу и никаких действий по этому поводу?

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

    Шпаргалка

    Ссылка на комментарий

    @Norman Eisenherz,

    См. раздел "logical operators": http://lua-users.org/wiki/OperatorsTutorial

    В переменной q_name находится число. Выражение (not q_name), срабатывающее первым, даёт результат false. Сравнение false с числом 36 также даёт результат false (т. к. ложь не равна тридцати шести). Таким образом, всё, что идёт после "and", имеет результат false, а следовательно, общее условие не срабатывает.

    Настоятельно рекомендую подучить азы языка, чтобы не плавать в простейших вопросах. Шапка темы "Язык Lua. Общие вопросы программирования", вторая ссылка. Wiki по ссылке в начале моего поста также содержит немало полезных сведений.

    Изменено пользователем Kirgudu
    Ссылка на комментарий

    @Kirgudu "Сравнение false с числом" – вот эта часть отсутствовала в моих знаниях. Это такие азы, которые неизвестно, в каком разделе учебника искать.

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

    Шпаргалка

    Ссылка на комментарий

    Господа, прошу Вашей помощи! Экспериментировал я как-то с чем-то скриптовым, вылетов не было, и я успешно для себя завершил процесс дебага, потерев с довольной мордой все бакапы. И теперь у меня пропали статичные спальные места на всей карте сталкера. Куда копать, есть идеи? У меня сейчас глаз дергаться начнет :(

    • Смешно 1

    Подарки

  • Ссылка на комментарий
    6 часов назад, _Sk8_AsTeR_ сказал:

    Экспериментировал я как-то с чем-то скриптовым

    Что именно делал - никому не скажу, на какой части трилогии - Кашпировский вам подскажет... За твой глаз мы все очень переживаем:cray5:.

    Ссылка на комментарий

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

    ×
    ×
    • Создать...