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

Jekyll

Проверенные
  • Число публикаций

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

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

  • AMKoin

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

Сообщения опубликованы Jekyll

  1. @Капрал Хикс, ты пробовал просто перенести параметры газировки (партиклы, тип урона) в копию конфига ТЧшного трамплина?
    Может, и в скриптовом способе спавна проблема. Я пользовался таким кодом:

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

    ----------------------------------------------------------------------------------------------
    -- спавн аномалии
    ----------------------------------------------------------------------------------------------
    function get_story_id_not_replay()
    local ST
    ST = xr_logic.pstor_retrieve(act, "ScriptAnomId", 0)
    if type(ST) ~= "number" or ST == nil then
    ST = 9000
    xr_logic.pstor_store(act, "ScriptAnomId", ST)
    end
    if type(ST) == "number" or ST ~= nil then
    ST = ST + 1
    xr_logic.pstor_store(act, "ScriptAnomId", ST)
    end
    return tonumber(ST)
    end

    function create_anom(name_anom, posit_anom, lvid_anom, gvid_anom, radius_anom, power_anom)
    local obj = alife():create(name_anom, posit_anom, lvid_anom, gvid_anom)

    -----------------------write----------------------
    local packet = net_packet()
    obj:STATE_Write(packet)

    -----------------------load-----------------------
    -- cse_alife_object
    local game_vertex_id = packet:r_u16()
    local distance = packet:r_float()
    local direct_control = packet:r_u32()
    local level_vertex_id = packet:r_u32()
    local object_flags = packet:r_u32()
    local custom_data = packet:r_stringZ()
    local story_id = packet:r_u32()
    local spawn_story_id = packet:r_u32()

    -- cse_shape
    local shape_count = packet:r_u8()
    for i=1,shape_count do
    local shape_type = packet:r_u8()
    if shape_type == 0 then
    -- sphere
    local center = packet:r_vec3()
    local radius = packet:r_float()
    else
    -- box
    local box = packet:r_matrix()
    end
    end

    -- cse_alife_space_restrictor
    local restrictor_type = packet:r_u8()

    -- cse_alife_custom_zone
    local max_power = packet:r_float()
    local owner_id = packet:r_u32()
    local enabled_time = packet:r_u32()
    local disabled_time = packet:r_u32()
    local start_time_shift = packet:r_u32()

    -- cse_alife_anomalous_zone
    local offline_interactive_radius = packet:r_float()
    local artefact_spawn_count = packet:r_u16()
    local artefact_position_offset = packet:r_u32()

    -- se_zone_anom
    local last_spawn_time_present = packet:r_u8()

    if (string.find (name_anom, 'zone_zharka_static') ~= nil
    or string.find (name_anom, 'zone_witches_galantine') ~= nil
    or string.find (name_anom, 'zone_mosquito_bald') ~= nil
    or string.find (name_anom, 'zone_mincer') ~= nil
    or string.find (name_anom, 'zone_gravi_zone') ~= nil
    or string.find (name_anom, 'zone_buzz') ~= nil )
    and packet:r_elapsed() ~= 0 then
    abort("left=%d", left)
    end

    ---------------------------save--------------------
    -- cse_alife_object
    packet:w_begin(game_vertex_id)
    packet:w_float(distance)
    packet:w_u32(direct_control)
    packet:w_u32(level_vertex_id)
    object_flags = bit_not(193)
    packet:w_u32(object_flags)
    packet:w_stringZ(custom_data)
    packet:w_u32(get_story_id_not_replay())
    packet:w_u32(get_story_id_not_replay())

    -- cse_shape
    packet:w_u8(1) -- количество фигур
    packet:w_u8(0) -- тип фигуры: сфера
    packet:w_vec3(vector():set(0, 0, 0))
    if radius_anom ~= nil then
    packet:w_float(radius_anom)
    else
    packet:w_float(1.0)
    end

    -- cse_alife_space_restrictor
    packet:w_u8(restrictor_type)

    -- cse_alife_custom_zone
    if power_anom ~= nil then
    packet:w_float(power_anom)
    else
    packet:w_float(max_power)
    end
    packet:w_u32(owner_id)
    packet:w_u32(enabled_time)
    packet:w_u32(disabled_time)
    packet:w_u32(start_time_shift)

    -- cse_alife_anomalous_zone
    packet:w_float(offline_interactive_radius)
    packet:w_u16(artefact_spawn_count)
    packet:w_u32(artefact_position_offset)

    -- se_zone_anom
    packet:w_u8(last_spawn_time_present)

    ------------------------read------------------------
    packet:r_seek(0)
    obj:STATE_Read (packet, packet:w_tell())

    end

     

  2. Как заставить math.max обратиться к таблице?


    math.max(1,2,3,4,5) - работает, но таблица предполагается динамичной, способ не подходит

    local table = {1,2,3,4,5} (условно)

    math.max(table) - не работает (вылет - number expected, got table)

    Искал ответ в справочниках по луа и здесь на форуме - не нашел. Полагаю, нужно использовать какой-то метод, но какой - не знаю. table.concat выдает строку, следовательно - вылет (number expected, got string).

  3. 05.09.2021 в 17:38, Nerdman сказал:

    Где взять воды?

    Если без всяких примочек с экономикой и т.п. играешь, то почти на каждом 3-4 трупе должна быть вода. В чем-чем, а в воде у меня лично недостатка никогда не было... Даже на Кордоне (с него начинал всегда).

    Вообще, тут от удачи все зависит - лут рандомный абсолютно. У меня в первый раз спустя 3 или 4 часа игры - на Кордоне, из заурядного бандита - выпала рубиновая душа бенгала...

    • Нравится 3
  4. @НаноБот , вот, склепал тебе простенький пример. Если нужен именно хвост (для снарядов), то смотри партикл "particle_hvost_1_1". Сам пример представляет собой группу, состоящую из эмиттера и хвоста к нему (для аномалий и т.п.).

    В основном нужно играться с такими параметрами как: макс. количество партиклов (Max Particles), время их жизни (Killold-> Age Limit), частота их появления (Source -> Rate). Чем больше Rate, тем плотнее будет хвост, но тогда надо и Max Particles ставить больше.

    Также плотность хвоста будет зависеть от скорости движения эмиттера (снаряда).

    Надеюсь, я тебя правильно понял.

    24.07.2021 в 17:38, НаноБот сказал:

    искрящийся хвост

    Используй как основу оригинальные партиклы взрывов, просто замени текстуры своими, уменьши их и увеличь Max Particles.

    • Полезно 1
  5. Здравствуйте. Подобный вопрос уже когда-то задавался в этой теме, но с тех пор много воды утекло.

    Кто-нибудь проверял соотношения свойств артефактов ТЧ и ЗП? Например, ожог +10% (в ТЧ) равен термозащите +10 в ЗП? То же самое касается "восстановительно-накопительных" свойств.

  6. 08.04.2021 в 20:55, rex44 сказал(а):

    Нда..Как там у Толкиена

    Нда... Как там в поговорке... "Правильно поставленный вопрос - это уже половина ответа".

    08.04.2021 в 20:55, rex44 сказал(а):

    Есть кто нибудь,кто умеет делать и при этом знает,что он делает

    Еще было неплохо, если бы вопрошающий понимал, о чём именно он вопрошает:)

    • Нравится 1
    • Согласен 1
  7. 24.03.2021 в 17:06, rex44 сказал(а):

    эффекты свечения могно реализовать ?

    Слабое - можно попробовать. Смотри как сделаны партиклы с "_glow" в названии и экспериментируй. А реальное свечение, как у аномалий или артефактов (свет), сделать вряд ли получится.

     

    24.03.2021 в 17:06, rex44 сказал(а):

    создать свои партиклы (ващпе с нуля) ?

    Конечно. Particle Editor в SDK для этого и создан.

  8. Считать какой-либо параметр в секции монстра можно через system_ini():r_string(секция,"параметр"), но как установить новое значение нужного параметра скриптом?

    На некоторые параметры есть свои функции (например, eye_range - set_range()). А как быть с остальными? Только править движок?

  9. Здравствуйте! Возможно, вопрос не совсем в тему.

    Сейчас, наверное, в каждом моде реализована вампирская способность кровососа. Пока что мне попадались моды, где это работает только против ГГ. Есть ли какие-нибудь моды, где данная фича реализована по отношению и к неписям (а то и другим монстрам)? Меня интересует не то, как это сделать, а то, сделано ли такое на данный момент хоть где-нибудь.

  10. 2 часа назад, AndrewMor сказал(а):

    panic_threshold в конфигах равен 0,1, только у слепышей - 0,01, у котов - 0,02, а у тушканов - вообще 0,0

    Это во всех секциях (_weak, _normal, _strong etc.) одни и те же цифры? Или только в базовой для каждого монстра? Я точно знаю, что в оригинальном ТЧ чем выше panic_threshold, тем более трусливые монстры. Только что проверил на псах. При 0.0 ни один не удрал в бою, при 0.7 удирают едва завидев ГГ.

    Кроме того, паника зависит и от тяжести ранения монстра. Возможно есть какая-то логика у "стайных" монстров типа тех же собак, но мне к ней прибегать не приходилось - хватало конфигов.

    • Согласен 1
  11. 3 часа назад, naxac сказал(а):

    При записи пакета параметр max_power пропущен.

    И правда... Вернул на место - все заработало как надо... Не представлял даже, что отсутствие этого параметра так важно и может сломать нанесение хита неписям... Урок усвоен.

AMK-Team.ru

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