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

[SoC] Ковыряемся в файлах


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

В ‎20‎.‎01‎.‎2019 в 15:17, Dennis_Chikin сказал:

чувствую, пора статью писать.

Вот это правильно. Такая статья была бы полезна.

  • Согласен 2

Сталкер - наше всё!

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

 

Создал очередной смарт-террейн. Но сталкеры ни в какую не хотят выполнять работу. Делал заново, результат один... Есть у кого варианты, что может быть не так?...
Делал так:

 


        if type == "yan_lastday_zavod" then    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)            
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)        
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)             
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)                 
        t = { section = "logic@yan_lastday_zavod_1_walker",
            idle = 0,
            prior = 9, state = {0, 1},
            in_rest = "", out_rest = ""
                }
            table.insert(sj, t)
            t = { section = "logic@yan_lastday_zavod_2_walker",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if type == "yan_lastday_zavod" then
        return function(gulag)
            if db.actor ~= nil then
                if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then
                    return 0  -- день
                else
                    return 1  -- ночь
                end
            else
                return gulag.state
            end
        end
    end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if gulag_type == "yan_lastday_zavod" then
            return npc_community == "lastday"
        end

 


[logic@yan_lastday_zavod_1_kamp]
active = kamp@yan_lastday_zavod_1
 
[kamp@yan_lastday_zavod_1]
center_point = kamp_center
path_walk    = kamp_center_task
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} kamp@yan_lastday_zavod_1_danger

 

[kamp@yan_lastday_zavod_1_danger]
center_point = kamp_center
path_walk    = kamp_center_task

[logic@yan_lastday_zavod_2_kamp]
active = kamp@yan_lastday_zavod_2
 
[kamp@yan_lastday_zavod_2]
center_point = kamp_center_2
path_walk    = kamp_center_2_task
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} kamp@yan_lastday_zavod_2_danger
 

[kamp@yan_lastday_zavod_2_danger]
center_point = kamp_center_2
path_walk    = kamp_center_2_task

[logic@yan_lastday_zavod_1_walker]
active = walker@yan_lastday_zavod_1
 
[walker@yan_lastday_zavod_1]
path_walk         = 1_walk
path_look         = 1_look
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} walker@yan_lastday_zavod_1_danger
 

[walker@yan_lastday_zavod_1_danger]
path_walk         = 1_walk
path_look         = 1_look
 

[logic@yan_lastday_zavod_2_walker]
active = walker@yan_lastday_zavod_2
 
[walker@yan_lastday_zavod_2]
path_walk         = 2_walk
path_look         = 2_look
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} walker@yan_lastday_zavod_2_danger
 

[walker@yan_lastday_zavod_2_danger]
path_walk         = 2_walk
path_look         = 2_look
 

[combat_ignore@lastday]
combat_ignore_cond = always

 

 


[smart_terrain]
cond = {+swa_messer_done}
type = yan_lastday_zavod
capacity = 8

название смарт террейна: yan_lastday_zavod

 

 

[spawner]
cond = {+swa_messer_done}

 

[smart_terrains]
yan_lastday_zavod = true

 

 

yan_lastday_zavod_kamp_center_task
yan_lastday_zavod_kamp_center_2_task

yan_lastday_zavod_kamp_center

yan_lastday_zavod_kamp_center_2

yan_lastday_zavod_1_walk

yan_lastday_zavod_2_walk

yan_lastday_zavod_1_look

yan_lastday_zavod_2_look

 

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

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

Ссылка на комментарий
2 часа назад, Houdini_one сказал:

if type == "yan_lastday_zavod" then    

После последнего table.insert(sj, t)  где end?

 

 

 

2 часа назад, Houdini_one сказал:

if type == "yan_lastday_zavod" then
        return function(gulag)

А здесь вроде один end лишний.

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

Сталкер - наше всё!

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

@AndrewMor, я просто не кидал это. Так всё нормально:



        if type == "yan_lastday_zavod" then    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)            
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)        
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)             
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)                 
        t = { section = "logic@yan_lastday_zavod_1_walker",
            idle = 0,
            prior = 9, state = {0, 1},
            in_rest = "", out_rest = ""
                }
            table.insert(sj, t)
            t = { section = "logic@yan_lastday_zavod_2_walker",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)             
         end

-----
 

function checkStalker(npc_community, gulag_type)
        if gulag_type == "yan_lastday_zavod" then
            return npc_community == "lastday"
        end

    return false
end


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

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

Кто-нибудь в курсе..?

В респавне АМК - в файле отвечающем за место спавна, количество и вид мутантов есть строка:

conditions = {+aes_zabor} 90, 0

Что означают цифры?

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

{условие} вероятность создания при каждом апдейте, вероятность при невыполнении условия.

 

Я вроде эту часть тоже разбирал подробно.

  • Спасибо 1
Ссылка на комментарий
3 часа назад, Houdini_one сказал:

      if type == "yan_lastday_zavod" then
        return function(gulag)
            if db.actor ~= nil then
                if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then
                    return 0  -- день
                else
                    return 1  -- ночь
                end
            else
                return gulag.state
            end
        end
    end

Один end лишний.

Сталкер - наше всё!

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

@lordmuzer, ну если всю функцию брать в расчет, то да. А судя по приведенному куску - end лишний.

Сталкер - наше всё!

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

@AndrewMor, и по приведённому куску end нужный.

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

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

@Houdini_one, ну тогда поршень swa_messer_done выдается? Если нет, то под смарт никто и не пойдет. Попробуй смарт без поршня сделать.

Сталкер - наше всё!

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

@AndrewMor, у меня есть аналогичный смарт с этим же поршнем, там всё ок.
Я пробовал и расширить этот смарт, но попытки тщетны.

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

Так и не могу понять, что не так... Наверное, уберу смарт террейн и поставлю всем walker-ы да kamp-ы...

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

Ссылка на комментарий
52 минуты назад, Houdini_one сказал:

у меня есть аналогичный смарт с этим же поршнем, там всё ок.
Я пробовал и расширить этот смарт, но попытки тщетны.

Странно. Чудес ведь не бывает. А новую игру начинал?

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

Сталкер - наше всё!

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

 

Создал очередной смарт-террейн. Но сталкеры ни в какую не хотят выполнять работу. Делал заново, результат один... Есть у кого варианты, что может быть не так?...
Делал так:

  gulag_yantar.script (Показать)


        if type == "yan_lastday_zavod" then    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
            t = { section = "logic@yan_lastday_zavod_1_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)            
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)        
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)             
            t = { section = "logic@yan_lastday_zavod_2_kamp",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)                 
        t = { section = "logic@yan_lastday_zavod_1_walker",
            idle = 0,
            prior = 9, state = {0, 1},
            in_rest = "", out_rest = ""
                }
            table.insert(sj, t)
            t = { section = "logic@yan_lastday_zavod_2_walker",
                    idle = 0,
                        prior = 9, state = {0, 1},
                    in_rest = "", out_rest = ""
                }
            table.insert(sj, t)    
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if type == "yan_lastday_zavod" then
        return function(gulag)
            if db.actor ~= nil then
                if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then
                    return 0  -- день
                else
                    return 1  -- ночь
                end
            else
                return gulag.state
            end
        end
    end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if gulag_type == "yan_lastday_zavod" then
            return npc_community == "lastday"
        end

  gulag_yantar.ltx (Показать)


[logic@yan_lastday_zavod_1_kamp]
active = kamp@yan_lastday_zavod_1
 
[kamp@yan_lastday_zavod_1]
center_point = kamp_center
path_walk    = kamp_center_task
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} kamp@yan_lastday_zavod_1_danger

 

[kamp@yan_lastday_zavod_1_danger]
center_point = kamp_center
path_walk    = kamp_center_task

[logic@yan_lastday_zavod_2_kamp]
active = kamp@yan_lastday_zavod_2
 
[kamp@yan_lastday_zavod_2]
center_point = kamp_center_2
path_walk    = kamp_center_2_task
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} kamp@yan_lastday_zavod_2_danger
 

[kamp@yan_lastday_zavod_2_danger]
center_point = kamp_center_2
path_walk    = kamp_center_2_task

[logic@yan_lastday_zavod_1_walker]
active = walker@yan_lastday_zavod_1
 
[walker@yan_lastday_zavod_1]
path_walk         = 1_walk
path_look         = 1_look
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} walker@yan_lastday_zavod_1_danger
 

[walker@yan_lastday_zavod_1_danger]
path_walk         = 1_walk
path_look         = 1_look
 

[logic@yan_lastday_zavod_2_walker]
active = walker@yan_lastday_zavod_2
 
[walker@yan_lastday_zavod_2]
path_walk         = 2_walk
path_look         = 2_look
combat_ignore_cond = {=check_fighting(5529)}
on_info = {+yan_lastday_enemy} walker@yan_lastday_zavod_2_danger
 

[walker@yan_lastday_zavod_2_danger]
path_walk         = 2_walk
path_look         = 2_look
 

[combat_ignore@lastday]
combat_ignore_cond = always

 

  настройки смарт террейна (Показать)


[smart_terrain]
cond = {+swa_messer_done}
type = yan_lastday_zavod
capacity = 8

название смарт террейна: yan_lastday_zavod

 

  логика нпс (Показать)

[spawner]
cond = {+swa_messer_done}

 

[smart_terrains]
yan_lastday_zavod = true

 

  way поинты (Показать)

yan_lastday_zavod_kamp_center_task
yan_lastday_zavod_kamp_center_2_task

yan_lastday_zavod_kamp_center

yan_lastday_zavod_kamp_center_2

yan_lastday_zavod_1_walk

yan_lastday_zavod_2_walk

yan_lastday_zavod_1_look

yan_lastday_zavod_2_look

 

У меня не так давно тоже подобная проблема была, тоже отписывался в теме, помогло изменение чисел приоритета на чётное число с ничетного, также НПС под гулаг не садились пока не поменял.)попробуй, может поможет

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

@PseudoWolf, увы, но нет. Остальные гулаги у меня на приоритете 9, для определённого профиля 10.
Для пробы поставил, не помогло. :mebiro_01:

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

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

Всем привет! А возможно ли сделать срабатывание (запуск) определённого инфопоршня при зачистке смарт трейна без вставки в логику нпс или монстра параметра [deadh] ? Пытался на примере АТП с бандитами вникнуть как это делается, но увы ни какого результата так и не получил

Ссылка на комментарий
function rostok_chase3()
    if not rostok_strn3 then rostok_strn3 = alife():object( "bar_freedom_chasers_attack" ) end
    local g = rostok_strn3 and rostok_strn3.gulag
    if g and g.population_comed >= 1 then return false
    elseif actor:dont_has_info( "bar_ambush_dead" ) then
        actor:give_info_portion( "bar_ambush_dead" )
    end

    return true
end

 

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

 

Изменено пользователем Dennis_Chikin
  • Спасибо 1
  • Нравится 3
  • Смешно 3
Ссылка на комментарий

Доброй ночи.

Откопал сегодня команду kEXT_1 в key_bindings. Оказывается, она в сингле используется, только вот не очень пойму, для чего, не силён в с++.. Случайно не через нее назначается кнопка для автонаведения прицела на врагов при виде от третьего лица?

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

naxac.gif

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

@naxac, такое впечатление. Вроде как целится в ближайшего к актору живого моба, которого актора сейчас видит.

 

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

прива. не подскажете насчёт одного дела

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

У меня такая ситуация - после разговора с ГГ на другой локации спавятся (через скрипт) сталкеры. Я туда прихожу, они бегают по локации и мочат всех враждебных. Вопрос - как мне сделать так, чтобы эти боты после получения опр. поршня и его активации, прекратили свободное перемещение и привязывались сразу к нескольким гулагам?

 

Данные в spawn_sections:

 [ros_soldier]:stalker
$spawn             = "respawn\ros_soldier"
character_profile    = ros_soldier
spec_rank         = veteran
community         = soldier
custom_data         = scripts\my\ros_soldier_data.ltx

 

Данные в логике которую я составил

[smart_terrains]
ros_smart_stalker1         = {+bar_rescue_research_done}, {+bar_rescue_research_fail}
ros_smart_stalker3         = {+bar_rescue_research_done}, {+bar_rescue_research_fail}
ros_smart_stalker_bandits1 = {+bar_rescue_research_done}, {+bar_rescue_research_fail}
none                       = {-bar_rescue_research_done -bar_rescue_research_fail}

 

Можно ли вообще так сделать?

 

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

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

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

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

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

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

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

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

Войти

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

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

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