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

Overfirst

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

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

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

  • AMKoin

    1,812 [Подарить AMKoin]

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

  1. @BFG юзай всё тот же коллбек на дроп итема. Код такой: if obj:section() == "af_kamen_udachy" then alife():release(alife():object(obj:id())) end Вставлять во всё то же место - после function actor_binder:on_item_drop (obj).
  2. @BFG он используется компилятором, СДК его создаёт. Игрой он используется только на МП картах.
  3. Короче, предлагаю еще вариант, немного переделанный, очень удобно, если такие вещи за игру надо выполнить несколько раз с разными предметами и рестрикторами. Вставляем таблицу такого вида перед function actor_binder:on_item_drop (obj): local drop_tbl = { {zone = "restrictor_1", item_sect = "item_section_1", info = "infoportion_1"}, {zone = "restrictor_2", item_sect = "item_section_2", info = "infoportion_2"} } После function actor_binder:on_item_drop (obj) вставляем: for k,v in pairs(drop_tbl) do if utils.npc_in_zone(db.actor, db.zone_by_name[v.zone]) and obj:section() == v.item_sect and not has_alife_info(v.info) then db.actor:give_info_portion(v.info) end end Пояснения излишни. Для каждого нового предмета с нужным рестриктором через запятую дописываем в таблицу строки такого вида: {zone = "имя_рестриктора", item_sect = "секция_предмета", info = "инфопоршень"} И всё это сделано на оригинале, никаких солей у меня нету, поэтому предлагаю что могу. Работает.
  4. @BFG Петрович, могу предложить такой вариант - использование коллбека на выбрасывание предмета из инвентаря, там проверять наличие ГГ в нужном рестрикторе. Какая разница, кого проверям в зоне - ГГ или итем? Расстоянием в ~0,5 м можно пренебречь, согласись. Тогда в bind_stalker.script, после actor_binder:on_item_drop (obj) помещаем такой код: if xr_conditions.actor_in_zone(nil, nil, {"your_restr"}) and obj:section() == "medkit" and not has_alife_info("your_info") then db.actor:give_info_portion("your_info") end Расшифровываю: your_restr - имя рестриктора, в котором должен быть ГГ, medkit - секция нужного тебе предмета (в данном случае аптечка), your_info - выдаваемый инфопоршень при выполнении всех условий.
  5. удалено по просьбе юзера. bfg
  6. Overfirst

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

    @Vlador поставь ему выкл через какое-то время: shutdown.exe -s -t 72000 В данном случае выключится через 20 часов.
  7. @UriZzz скинь мне функцию proceed_spawn. Найди поиском: function proceed_spawn(). Мне уже человек сообщил. Вот в общем виде: function proceed_spawn(p_name, p_vector, p_lv, p_gv, p_count, p_portion, p_logic) p_count - количество, p_portion - инфопоршень (не очень понял принцип его использования, что-то там для учёта, где заспавнено), p_logic - кастом дата (необязательно, судя по всему), записывается как-то так: "[logic]\ncfg = scripts\file.ltx".
  8. @UriZzz level_vertex_id и game_vertex_id.
  9. @UriZzz я всегда оставлял три цифры после запятой (точки), остальными пренебрегал, это не столь важно. Можно даже целые писать. Система координат такая же. Что касается самих функций и передаваемых в них аргументов, то не скажу, мода нету, но с координатами вопрос закрыли.
  10. Overfirst

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

    Платформа какая? В ютубе есть урок по созданию перехода на ЗП.
  11. Overfirst

    True Stalker (CoP)

    Если вкратце, у нас всё хорошо. Недавно к нам присоединился @Charsi, очень здорово всё стало с движковымм правками.
  12. Overfirst

    True Stalker (CoP)

    Разработка проекта движется семимильными шагами! Уже совсем скоро мы покажем трейлер в честь первой годовщины анонса! Пока что готовы продемонстрировать несколько скриншотов:
  13. Overfirst

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

    @sv6o6o9a рад за тебя. В ЗП никаких АМК меток нету. Так что дальше твой косяк.
  14. Overfirst

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

    @Kirgudu достаточно как раз вычистить этот самый simulation.ltx. Еще можно пройтись поиском и убрать из кастом даты смартов респавн сквадов неписей и мобов или же просто потереть эти смарты из спавна. В любом случае, simulation.ltx чистить нужно.
  15. Платформа-то какая? Вот код под 1.6: function spawn_object_with_direction(actor, obj, p) --' p[1] - секция кого спаунить --' p[2] - имя патрульного пути где спаунить. --' p[3] - direction_x в радианах --' p[4] - direction_y в радианах --' p[5] - direction_z в радианах if p then local spawn_sect = p[1] local path_name = p[2] if path_name == nil then abort("Wrong path_name for 'spawn_object_with_direction' function %s. For object %s", tostring( path_name ), obj:name() ) end if not level.patrol_path_exists( path_name ) then abort("Path %s doesnt exist. Function 'spawn_object_with_direction' for object %s ", tostring( path_name ), obj:name() ) end local ptr = patrol( path_name ) local direction_x = tonumber(p[3]) or 0 local direction_y = tonumber(p[4]) or 0 local direction_z = tonumber(p[5]) or 0 local se_obj = alife():create(spawn_sect, ptr:point(0), ptr:level_vertex_id(0), ptr:game_vertex_id(0)) se_obj.angle = vector():set( direction_x, direction_y, direction_z ) end end %=spawn_object_with_direction(ammo_7.62x54_7h1:ammo_pos_on_bunker:0:1.57:0)%
  16. Overfirst

    Общее фото

    Добавлен @StasssiK. Добавлен @Шжелезяка.
  17. Ты темой ошибся. Что касается вопроса, приблизительно так: function spawn_item_actor(item, count) if item then if count == nil then count = 1 end for i = 1, count do alife():create(item, db.actor:position(), 0, 0, 0) end end end local level_1 = { af_vyvert = 3, af_blood = 2, wpn_bm16 = 1, antirad = 2 } function give_reward() for k,v in pairs(level_1) do spawn_item_actor(k, v) end end
  18. Overfirst

    Общее фото

    У меня пока лежат 2-3 фото. Скоро добавлю, не сегодня точно, дел по горло. @Шжелезяка там есть, да.
  19. Overfirst

    X-Ray Oxygen (CoP)

    На нем пока что оригинал ЗП с некоторыми трудностями работает. Не знаю как сейчас, но с месяц назад было так. Юзаю другой репо.
  20. Я извиняюсь за оффтоп, но что человек такого спросил, что ему три диза накинули на пост? Странный вы люд.
  21. Overfirst

    Музыка III

    Stalker OST - Dirge for the Planet (Gingertail Cover)
  22. Overfirst

    Ищу файлы / моды / аддоны

    @Jurok есть у мну такая, вроде она. Держи.
  23. Попробуй: function spawn_weapon_ammo_clear(weapon) local function set_ammo_clear(k, v, obj) if obj ~= nil then obj:set_ammo_elapsed(0) end end if weapon then local obj = alife():create(weapon, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) level.client_spawn_manager():add(obj.id, 0, set_ammo_clear, 0) end end Вызывать так: spawn_weapon_ammo_clear("wpn_ak74")
  24. Overfirst

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

    Выдача инфопоршня в кастом дате: [logic] active = nil known_info = known_info [known_info] info_portion Как ты мне в скайпе говорил, у тебя труп спавнится из логики рестриктора (spawn_corpse). Так пропиши в секцию непися: custom_data = scripts\tatata\corpse.ltx Создавай этот файл и пиши вышепоказанное. При открытии окна обыска получишь свой инфо.
  25. Overfirst

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

    Без функции сортировки, но с индексацией: for i = 1, #params do for k,v in pairs(params[i]) do if v ~= nil then -- // -- end end end Пашет.

AMK-Team.ru

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