Перейти к содержанию

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

 

b27b2a4837.png

Тема посвящена моддингу на платформе Чистое Небо.

 

Правила темы:

  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть.
  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
  • Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться.
  • Лайк 4
  • Мастер! 3

c01570bf2e07524.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

кто знает, как добавить периодический выброс вместо того, который появляется при входе на локацию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini в ogsm cs вроде был

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

M31 да, знаю

отличие вот в чём:
 

Спойлер

function surge_can_be_started(level)
    if levels_surge_table[level] ~= nil then
        local condlist = xr_logic.parse_condlist(nil, "xr_surge_hide", "condlist", levels_surge_table[level].condlist)
        if db.actor then
            local cond = xr_logic.pick_section_from_condlist(db.actor, db.actor, condlist)
-- Kirgudu
--            if cond == "true" and not surge_activated then
            if cond == "true" and not surge_activated and not start_surge then
                -- если тип выброса - периодический, сразу разрешаем его начать
                if ogsm_options.surge_type == 2 then
                    return math.random(levels_surge_table[level].surge_time-10, levels_surge_table[level].surge_time+10)
                end
                -- если тип выброса - при входе на локацию, считаем вероятность его начала
                local surge = math.random(100)
                if surge <= cur_prop then
                    cur_prop = base_prop
                    return math.random(levels_surge_table[level].surge_time-10, levels_surge_table[level].surge_time+10)
                else
                    cur_prop = cur_prop + add_prop
                end
            end
-- Kirgudu
        end
    end
    return nil
end

Спойлер

function surge_can_be_started(level)
    if levels_surge_table[level] ~= nil then
        local condlist = xr_logic.parse_condlist(nil, "xr_surge_hide", "condlist", levels_surge_table[level].condlist)
        if db.actor then
            local cond = xr_logic.pick_section_from_condlist(db.actor, db.actor, condlist)
            if cond == "true" and not surge_activated then
                local surge = math.random(100)
                if surge <= cur_prop then
                    cur_prop = base_prop
                    return math.random(levels_surge_table[level].surge_time-10, levels_surge_table[level].surge_time+10)
                else
                    cur_prop = cur_prop + add_prop
                end
            end
        end
    end
    return nil
end

Спойлер

-- Опция позволяет настроить выброс в игре
-- 0 - оригинальный тип выброса - с определённой вероятностью наступления при повторном заходе на локацию
-- 1 - полное отключение возможности выброса в игре
-- 2 - новый тип выброса - с настраиваемым периодом наступления без привязки к заходу на локацию (по умолчанию)
surge_type = 2


-- Промежуток между двумя выбросами в игровых часах
-- К этому значению также добавляется случайная поправка от минус четырех до плюс четырёх часов
-- Следует указывать только целое число не меньше 5. Значение по умолчанию - 28 часов
surge_period = 15

при переносе ничего не происходит


Дополнено 25 минуты спустя

хотя ещё вот ищу, там куда больше написано всякого, буду смотреть


Дополнено 55 минуты спустя

M31 вроде перенёс всё, но хз, работает лишь единожды

есть желание, взгляни, вот с моего мода

scripts.7z


Дополнено 56 минуты спустя

а вот с огсм

scripts.7z

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini ищи где стартует таймер "bl2"

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

проблема что и в тч, не считываются анимки помимо into
 

Спойлер

        compas        = {    prop    = { maxidle = 7,
                                    sumidle = 7,
                                    rnd = 100 },
                        into    = {    [0]    = {"metering_anomalys_0_draw_0", {a="af_compass"}, "metering_anomalys_0_draw_1"} },
                        out        = {    [0]    = {"metering_anomalys_0_idle_0", {a="af_compass"}, "metering_anomalys_0_idle_1"} },
                        idle    = {    [0]    = {"metering_anomalys_0_idle_0"},
                                    [1]    = {"metering_anomalys_0_idle_1"},
                                    [2]    = {"metering_anomalys_0_idle_2"},
                                    [3]    = {"metering_anomalys_0_idle_3"},
                                    [4]    = {"metering_anomalys_0_idle_4"},
                                    [5]    = {"metering_anomalys_0_idle_5"},
                                    [6]    = {"metering_anomalys_0_idle_6"}},
                    rnd        = nil},


но если в into прописать то, что в idle, то более двух анимок читать не будет

в чём проблема?


Дополнено 29 минуты спустя

M31 нашёл, добавил, теперь вообще не работает:)

task_objects.script

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
14 часов назад, imcrazyhoudini сказал:

но если в into прописать то, что в idle, то более двух анимок читать не будет

Зацикленность проверял?

14 часов назад, imcrazyhoudini сказал:

нашёл, добавил, теперь вообще не работает

В levels_surge_table кондлисты проверял? У меня с твоими файлами выброс работает, только болота в табличке разрешил

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, M31 сказал:

В levels_surge_table кондлисты проверял?

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

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

Зацикленность проверял?

зацикленности нема

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini в оригинальном файле "metering_anomalys_0_idle_0" зациклен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

M31 убрал у себя

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini попробовал идловые анимки без "metering_anomalys_0_idle_0" - работают нормально. Может не в том файле убрал

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

M31 ля, туплю опять

забыл перенести анимки в into

 

out, похоже, всё же не читается, но вроде там указано скрытие предмета (d="af_compas")

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini скрытие можно в into перенести

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

M31 кстати в зп вроде как всё работает, не смотрел разницу?


Дополнено 2 минуты спустя

Как реализовать постоянное нападение одной группировки на другую?

 

Логика смарта:

Спойлер

[smart_terrain]

targets = yan_base

sim_type = base

important_point = true

squad_capacity = 2

mutant_lair = false

group_id = 3

spawn_point = yan_zombied_spawn_point

att_restr = yan_zombied_rest

def_restr = yan_zombied_rest

sim_avail = true

respawn_sector = zombied

actor_hides =

surge_hide_avaliable = false

Спойлер

[settings]
glory_0 = 0
glory_1 = 0
glory_2 = 0
glory_3 = 0
glory_4 = 0
glory_5 = 0

 


[spawn_by_resource]
0 = sim_default_zombied_1, 1, sim_default_zombied_2, 1, sim_default_zombied_3, 1, sim_default_zombied_4, 1


[spawn_by_level]
l01_yantar    = sim_default_zombied_1, 10, sim_default_zombied_2, 20, sim_default_zombied_3, 30, sim_default_zombied_4, 40

 

 

 

 

[expansion_0]
base_squad_number = 3
respawn_idle_time = 100 ;Время между двумя попытками доспауна отрядов в игровых минутах.
respawn_hours = 0,1,2,3,4,5,6,7,8,9,10,21,22,23 ;Время, в который можно спаунить отряды (задаются времена суток)
sim_prior = prior_0

[prior_0]
base = 100, 0.2
territory = 80, 0

[start_position]
yan_zombied = yan_zombied

Спойлер

[yan_zombied]
faction = zombied
npc = sim_default_zombied_1, sim_default_zombied_2, sim_default_zombied_3, sim_default_zombied_4, sim_default_zombied_1
target_smart = yan_base
attack_power = 400

Атакуют лишь начальные вот эти 5 нпс, те, что респавнятся больше не нападают.

 

Так же если убрать:

[start_position]

yan_zombied = yan_zombied

 

То респавна не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini не, не смотрел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Дошёл до фриплея в моде - Shoker Mod [1.9].

Интересует возможность реализации не начиная новой игры а продолжая  (с возможностью опять проходить сначала сюжет а потом фриплей):

- отключить диалоги в НПС связанных с оригинальным сюжетом;

- дать возможность НПС выдавать циклические задания;

- активировать спавн группировок и мутантов;

- доставить ружьё Эми Суслову как это было реализовано в моде OGSM CS 1.8 CE Fixes.

Изменено пользователем Glomar
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

как рассорить две группировки между собой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini в game_relations.script функция set_factions_community_num (или set_factions_community)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Интересует возможность реализации такой фишки: ГГ одевает костюм враждебной к нему фракции и та становится к нему нейтральной. После снятия брони, группировка опять враждебная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

techpriest мало смыслю, как вызывать то?

группировки - stalker и killer

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

imcrazyhoudini  через скрипт - game_relations.set_factions_community_num("stalker", "killer", -5000) или game_relations.set_factions_community("stalker", "killer", "enemy"). Если через логику -  =set_factions_community(stalker:killer:enemy). Продублировать для killer - stalker вроде тоже надо

Изменено пользователем techpriest
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

каким образом можно почистить инвентарь нпс от всего?

как правильно настроить игнор нпс? тема как в тч не работает, делал так, стори ид актору назначен:
 

Спойлер

[logic]
active = walker

[walker]
path_walk = yan_freedom_2_walk
path_look = yan_freedom_2_look
combat_ignore_cond = {=check_fighting(3:31)}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, techpriest сказал:

на оригинальном движке

А если не оригинальный а правленный с мода - Shoker Mod [1.9]?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, imcrazyhoudini сказал:

каким образом можно почистить инвентарь нпс от всего?

конкретнее, почистить какому-то одному нпс? Всем сразу?

попробуй такую функцию. в motivator на net_spawn. убирает всем сразу, если условия не заполнять.

local iTimer = time_global() + 1
	
local function check_timer()
	return time_global() > iTimer
end
	
local function action_timer()
if условие если надо then
      self.object:iterate_inventory(function (tmp, item)
	if isAmmo(item) or isWeapon(item) then -- типы предметов, уточняется в _g.script
		local sobj = alife():object(item:id())
		alife():release(sobj, true)
	end
end,obj)
   end
end

level.add_call(check_timer, action_timer)

 


76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, ian98 сказал:

какому-то одному нпс?

да, одному

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini так можно ему в профиле ничего не спавнить? Или как это должно выглядеть? 

 


76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу