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

UnLoaded

Жители
  • Число публикаций

    927
  • Регистрация

  • Последнее посещение

  • AMKoin

    10 [Подарить AMKoin]

Весь контент пользователя UnLoaded

  1. UnLoaded

    [SoC] Вопросы по SDK

    За что отвечает пункт "Use smart terrain tasks" в Инспекторе объектов для НПСов ? Похоже на запрет\разрешение работать под гулагами ?
  2. Знаю как убрать метку с непися, который под логикой. А как убрать метку с мертвого непися(изначально мертвого по спавну) ? Ну, например, валяется трупик в туннеле на Свалке, возле перехода на Агро, и его метка видна если идти к переходу. А нужно ее скрыть...
  3. UnLoaded

    Скриптование

    Мне вот кажется, что трабла в самом изначальном решении разряжать оружие в on_item_drop... В чем смысл-то ?
  4. НИ начинал ? После перепаковки all.spawn'а нужно начинать НИ, чтоб увидеть изменения.
  5. Данная ф-ция(если я не ошибаюсь), предназначена для проигрывания зарегистрированных в файле sound_theme.script "звуковых тем". Если надо проиграть одиночный звук из файла, то это все-же проще сделать ф-циями класса sound_object. Насчет битой ссылки - думаю поправят...
  6. Ссылка на описание класса sound_object в шапке темы дохлая. Не плохо-бы восстановить...
  7. Обыкновенно: глянуть в "Справочнике по ф-циям и классам" ф-ции для работы со звуком, глянуть готовые примеры в исходных скриптах ПЫСов, запустить и радоваться...
  8. UnLoaded

    Скриптование

    @нерон Попробую добавить к вышесказанному - ф-цию стоит поправить, добавив пропущенный аргумент и проверку инфо-порции, для блокировки возможного повторного срабатывания ф-ции и спавна дубликата непися: function check_item_and_spawn_npc(item) local actor = db.actor if item:section() == "tol" and actor:dont_has_info("vzial") then local dist = -3 local pos = actor:position() local dir = actor:direction() pos = pos:add(dir:mul(dist)) local npc = alife():create("generic_stalker", pos, actor:level_vertex_id(), actor:game_vertex_id()) actor:give_info_portion("vzial") end end
  9. Сделай у себя вызов этого кода, получишь кол-во всех спавн-объектов: local number = 0 for a=1,65535 do local s_obj = alife():object(a) if s_obj then number = number + 1 end end local text = "Сейчас объектов: "..tostring(number) news_manager.send_tip(db.actor, text, nil, nil, 30000) У меня на чистой ТЧ+чуток правок по смартам+1 новая лока - выдает 17054, до 65535 еще офигенный запас. Что у тебя в моде такого наворочено, чтоб сожрать такой запас ? Может стоит разобраться, что-же ты спавнишь в таком кол-ве ?
  10. Так что-же все-таки кончается ? Story_id'ы или id'ы ?
  11. Не спорю, видимо так оно и есть. Тогда можно попробовать: function se_smart_terrain:get_population() return self.gulag:get_population() -- или get_population_comed() end @AndrewMor Пробуй варианты, смотри в скрипт smart_terrain.script, ищи то, что тебе будет возвращать нужное значение.
  12. Ну чисто так, навскидку: - в smart_terrain.script добавь ф-цию типа: function se_smart_terrain:get_capacity() return self.gulag.capacity end - к примеру нам нужен смарт в Деревне новичков на Кордоне, обзывается он "esc_lager": for a=1,65535 do local s_obj = alife():object(a) if s_obj then if s_obj:section_name() == "smart_terrain" and s_obj:name() == "esc_lager" then local text = "Население: "..tostring(s_obj:get_capacity()).." человек" news_manager.send_tip(db.actor, text, nil, nil, 30000) break end end end У меня выдает 14(у меня в нем действительно 14 душ), вызывал ф-цию на Свалке, т.е. Кордон стопудово офф-лайн, значит это вроде то что тебе нуно... @BFG "Где они появятся ? В координатах смарт-террейна ?" - появятся они в координатах своих точек спавна, которые им в all.spawn'е будут прописаны. "Это случайное распределение ?" - если не будет в назначении работ предикатов(которые будут четко рулить кому куда), то естественно случайно. "Насколько далеко ( в метрах ) можно делать пути мобов от центра смарт_террейна ? " - да хоть на другом конце локации. "Или они появятся каждый на начальных точках своего пути ?" - тут много буков, будет под
  13. Ага, есть. Только возвращает совсем не то, что character_name... Такое вот получилось, с использованием модуля нет-пакетов от Artos'а: local pk = m_netpk.get(серверный_объект) if pk:isOk() then local data = pk:get() if data then npc_name = tostring(data.checked_characters) end end Чтоб получить данные по смарту, находящемуся в офф-лайне, бессмысленно дергать методы "приписанного" к нему гулага - они работают только в он-лайне. Смотри в сторону smart_terrain.script, он как я понимаю обрабатывает смарт и в офф-лайне. Там кстати есть ф-ция se_smart_terrain:stat(), а в ней local pop = self.gulag:get_population() может это то, что тебе нужно.
  14. Ну вообще-то, send_tip ожидает строку, а get_population возвращает число. Попробуй так: send_tip(db.actor, tostring(population), nil, nil, 30000) У меня такой вопрос: есть ф-ция пространства game_object - character_name(). Она естественно только для клиентской части\он-лайна. А какой-то аналог для серверной части\офф-лайна имеется ?
  15. UnLoaded

    [SoC] Вопросы по SDK

    Ну так чего не понятно - для тех двух секций, для которых не указаны собственные $spawn, СДК будет брать их от родителя, и соответственно, несколько одинаковых значений дадут ошибку. Добавь как-то так: [grenade_f1_fake]:explosive_barrel,grenade_f1,fake_grenades_base $spawn = "weapons\explosive\f1_fake" class = II_EXPLO и будет тебе счастье...
  16. Такой вот вопрос: в чем разница между if not has_info(....) then и if dont_has_info(....) then ? Первый вариант повсеместно использован в оригинальных скриптах от ПЫСа, а второй вариант в оригинале кажись вообще не используется. В чем подвох\смысл ?
  17. @нерон Всего 7 постов на форуме, и сразу быка за рога: задать story_id при скриптовом спавне - не самая простая задача... Значится так: найди и скачай модуль для работы с нет-пакетами от Artos'а, там в редми к нему есть описание работы с абстрактной частью нет-пакета, что как раз и позволяет задать story_id. Изучи и пробуй. Еще стоит глянуть этот пост из ковырялки ТЧ...
  18. Уточни - какой из трех способов тебе нужен ?
  19. Если ты объявил нужный story_id в game_story_ids.ltx, а затем прописал его в каком-то задании(task), и метка на объекте не появляется - то скорее всего, ты забыл привязать этот story_id к самому объекту. Сделать это можно несколькими способами: в СДК в свойствах объекта, в соответствующем alife-файле распакованного(декомпилированного) all.spawn'а или нет-пакетом при скриптовом создании непися(это видимо тот вариант, что тебе нужен).
  20. @нерон Читай все-же по началу правила разделов форума - твой вопрос в "Скриптование". Установка метки на объект - ф-ции пространства имен "level" - map_add_object_spot(....) и map_add_object_spot_ser(....). В чем разница между ними и какие аргументы принимают - читай "Справочник по ф-циям и классам". Ф-ции для установки метки по заданным координатам нет в оригинале движка, но можно заспавнить по этим самым координатам любой фейковый объект, а уже на него поставить метку вышеозначенными ф-циями.
  21. Вай, вай... Что-ж Вы так жестоко-то? Это ради одного квеста НА КАЖДОМ апдейте тормошить инвентарь и т.д.? Может лучше воспользоваться ф-цией on_item_take(из bind_stalker.script) ? Которая будет срабатывать только при появлении в инвентаре предметов, что происходит значительно реже, чем апдейт актора... Ну допустим документов для квеста 3 и для каждого своя секция в конфиге. В on_item_take проверяем наличие предметов с этими секциями, как появятся все 3 - запускаем квест, а дальнейшую проверку отсекаем инфо-порцией, которая будет квест запускать.
  22. Если сосычи будут разрешены для Кордона в smart_terrain_presets.ltx, то будет... Такой вопросец(возможно не сюда, но пока не знаю куда правильно): возможность брать предметы через закрытые дверки всяких шкафчиков - это излечимо без правок движка или нет ? Если да, то куда копать ?
  23. У меня есть такое предположение: если в костре стоит граф-поинт(гейм-вертекс), то пока неписи в офф-лайне они стоят на нем. Как только выходят в он-лайн - оказываются в костре...
  24. Ох и говняный(на мой взгляд) это стиль в геймплее\сюжете: откуда заинтересованный персонаж узнает что ГГ, в черт знает скольких километрах от него, нашел какую-то папочку\кейс ? Лучше сделай, после нахождения всех документов, появление соответствующей ветки в диалоге нужного непися.
  25. Это имеет отношение к Сталкеру, или же просто - использование движка для чего-то, совсем к нему не относящегося?
×
×
  • Создать...