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

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

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

03.10.2022 в 17:15, alex5773 сказал:

А как исправить файлы ,в которых всё сплошником идёт?

Оказывается у меня всё на диске есть, вот только там очень много всего, искать нужно.

Вот случайно сейчас нашёл папку с плагинами для нотепада.

TextFX.v0.26.unicode.bin и Xml Tools 2.4.9.2 x64 Unicode, сейчас буду разбираться что к чему и для чего. И как этим пользоваться. А самое главное как и куда ставить.

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

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

Набросал следующую схему логики непися

Это всё в спавне прописано?

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

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

@Hind ну и зачем ты прописал что он принадлежит к определённому смарту?
Смарт выше стоит приоритетом нежели логика, поэтому он её выполнять не будет.

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

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

@Hind если ты пишешь 

6 минут назад, Hind сказал:

[smart_terrains]
esc_blokpost = true 

в ltx файле, то оно НЕ будет читаться, он читается лишь в алл спавне.

Ну а в том примере, что ты кинул, то ты после этого ниже написал ещё и логику - оно не будет читаться, поскольку читается смарт, а одиночная логика игнорируется.
p.s. скорее всего он не читается ибо в ltx файле написан.

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

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

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

@Hind , добавляя в смарт новые работы и НПС, не забывай соответственно увеличивать вместительность территории:

capacity = 10

 

Если добавляешь соседей, делай сразу это в all.spawn, т.к. всё равно настраивать сам смарт там же. И добавляя НПС, указывай в кастом дате принадлежность к нужному смарту, а [logic] там не нужен:

[smart_terrains]
esc_csky = true

 

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

В скрипте добавляешь новую работу и ссылку на её логику:

bYqTpbOi.jpg?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2014-10-2022%2017:59:00.jpg

 

Ну и саму логику в .ltx файл:

0W5YvxBl.jpg?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2014-10-2022%2018:00:29.jpg

И никогда не спеши сразу добавлять с десяток новых работ за раз. Особенно с кучей точек путей. Особенно, если только начинаешь этим заниматься. Больше времени потратишь, пока найдёшь ошибку, которую, скорее всего, допустишь.

 

Изменено пользователем mole venomous
  • Полезно 1

Здесь могла быть ваша реклама.

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

@mole venomous в общем, скидываю свои приколы сюда.. При зачислении непися в гулаг (esc_blokpost), он начинает идти куда хочет
 

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

--' Escape blockpost
    if type == "esc_blokpost" then
        -- t = { section = "logic@esc_blockpost_patrol1",
        --     idle = 0,
        --     prior = 8, state = {0},
        --     position_threshold = 100,
        --     online = true,
        --     in_rest = "", out_rest = "esc_blockpost_patrol_restrictor"
        -- }
        -- table.insert(sj, t)
        -- t = { section = "logic@esc_blockpost_follower1",
        --     idle = 0,
        --     prior = 7, state = {0},
        --     position_threshold = 100,
        --     online = true,
        --     in_rest = "", out_rest = "esc_blockpost_patrol_restrictor"
        -- }
        -- table.insert(sj, t)
        -- t = { section = "logic@esc_blockpost_follower2",
        --     idle = 0,
        --     prior = 7, state = {0},
        --     position_threshold = 100,
        --     online = true,
            in_rest = "", out_rest = "esc_blockpost_patrol_restrictor"
        }-- 
        -- table.insert(sj, t)
        -- t = { section = "logic@esc_blockpost_commander_day",
        --     idle = 0,
        --     prior = 100, state = {0,2},
        --     position_threshold = 100,
        --     online = true,
        -- in_rest = "", out_rest = "escape_blockpost_zone",
        -- predicate = function(obj_info)
                        return obj_info.name == "esc_blokpost_commander"
           --          end
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_post1",
    --     idle = 0,
    --     prior = 8, state = {0,1,2},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_post2",
    --     idle = 0,
        prior = 8, state = {0,1,2},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_camper_day",
        idle = 0,
        prior = 6, state = {0,2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_patrol_yard",
    --     idle = 0,
    --     prior = 5, state = {0,1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_watch_tv1",
        idle = 0,
        prior =5, state = {0},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_watch_tv2",
        idle = 0,
        prior = 4, state = {0},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_kamp1",
        idle = 0,
        prior = 3, state = {1},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_kamp1",
        idle = 0,
        prior = 2, state = {1},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_kamp2",
        idle = 0,
        prior = 1, state = {1},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone",
        predicate = function(obj_info)
                        return obj_info.name == "esc_blokpost_commander"
                    end
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep1",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep2",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep3",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    -- table.insert(sj, t)
    -- t = { section = "logic@esc_blockpost_sleep4",
    --     idle = 0,
    --     prior = 2, state = {1},
    --     position_threshold = 100,
    --         online = true,
    --     in_rest = "", out_rest = "escape_blockpost_zone"
    -- }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_comander_guard1",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_comander_guard2",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_camper1",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_camper2",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_alarm_patrol1",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.insert(sj, t)
    t = { section = "logic@esc_blockpost_alarm_patrol2",
        idle = 0,
        prior = 6, state = {2},
        position_threshold = 100,
            online = true,
        in_rest = "", out_rest = "escape_blockpost_zone"
    }
    table.in
sert(sj, t)
end



Что мне не надо было - закоментил таким (--) образом. 

 

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

Что мне не надо было - закоментил таким (--) образом. 

Это так не работает, поскольку есть ещё куда НПС которые принадлежат данному смарту.

А зачем его ты в смарт и пихаешь собственно?

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

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

UPD: в общем, такой прикол - неписи не сидят у костра, не смотрят телек, и т.д. Они тупо следуют  по вейпойнтам.

Некоторые ошибки в коде я устранил. Логику прописал так:

В SDK в custom_data я вписал

[smart_terrains]
esc_blokpost = true

[logic]
cfg = scripts\dmb\esc_kobelcev.ltx

@Houdini_oneмне нужно их пихать в смарт, чтобы было ощущение живности. Чтобы пацаны стояли на посту, двигались, сидели у костра и тд. Проще говоря чтобы они не были статичными, и меняли свои позиции 
 

А как работает то? Просто убрать работу? Именно это и надо сделать, тк мне не нужно чтобы неписи спали и ходили в патруль.

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

[logic]
cfg = scripts\dmb\esc_kobelcev.ltx

Что в файле находится?

2 минуты назад, Hind сказал:

Просто убрать работу?

Убрать работу и лишних НПС.

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

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

@Houdini_oneничего. Пустота.

По поводу лишних НПС - я не догоняю, как понять что они - лишние? :31:

Типа, если есть 10 работ, и 14 нпс, значит 4 из них - лишние, и их надо убрать?

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

@Hind , если нет опыта создания смартов, лучше начни с того, что создай свой первый смарт. Небольшой смарт с 2-3 несложными работами, что бы понимать, что ты делаешь. Поищи где-нибудь тутор.

Изменено пользователем mole venomous
  • Согласен 1
  • Полезно 1

Здесь могла быть ваша реклама.

Ссылка на комментарий
Только что, Hind сказал:

значит 4 из них - лишние, и их надо убрать?

Да, ибо в них же идёт вызов смарта.

У меня вылетала игра когда я уходит за действие их зоны онлайна, а при заходе обратно был вылет.

 

2 минуты назад, Hind сказал:

ничего. Пустота.

А зачем ты пишешь?

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

  • Спасибо 1

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

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

@Houdini_oneво блин, о как... 

А ежели мне надо чтобы после получения инфы непись шёл куда мне конкретно надо? Если логика не читается, то получается, со смартом такое не выйдет сделать...

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

@андрей дронав 

Во втором варианте некролога несколько лишних end или не до конца "обернутая" часть обработчика – подсветка синтаксиса в помощь, ну или хотя бы табуляция "ёлочкой" для отслеживания начала и конца каждого блока.

 

Первый вариант работает как есть – проверял через битву на АТП. Может, вызов не добавлен в [xr_motivator.script] death_callback?

 

Еще в первом варианте сильно "ленивый" код:
• вместо повторяющейся проверки is victim можно сразу сделать выход if not victim then return end
• варианты killer можно сгруппировать так: по умолчанию "data error", дальше проверка на суицид, сталкера и мутанта (с дополнительной группировкой "общая часть условия > вариант / остаток > итог"), в конце проверка по таблице "если в строке найден ключ часть секции аномалии, подставить значение перевод названия"
• по-хорошему, переведенные названия мутантов и аномалий надо не прописывать в скрипте вручную, а читать из конфигов по ссылке who:section()

• ну и еще первую таблицу желательно вынести за обработчик, чтобы она заносилась в память один раз при подгрузке скрипта, а не при каждом вызове обработчика

  • Согласен 1
  • Полезно 3

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Hind читается логика которая в смарте.
SoC. Смартеррейны и гулаги и

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

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

@Norman Eisenherz Похоже второй вариант рассчитан на старшие платформы. 

Должно быть что то типо:


...
        local task_texture, task_rect = get_texture_info("ui_iconsTotal_weapons")
        local news_text = news_caption .. "%c[230,255,128,64]" .. m_text_kill_string

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

Попробую проанализировать на ошибки. 

 

Изменено пользователем андрей дронав
Ссылка на комментарий

Проблема следующая: дал логику чувакам, хочу чтобы они И ТОЛЬКО ОНИ выполняли схему камп (т.е сидели у костра и отдыхали)

 

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

[logic]
active = kamp
danger = danger_condition 
 
[kamp]
center_point = esc_blokpost_kamp
def_state_moving = run



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

Логика одного из "нежелательных" гостей костра:
 

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

 

[smart_terrains]
none = true

[logic]
active = remark@base 
danger = danger_condition 
meet = meet
 
[remark@base]
anim = guard
no_move = true
meet = meet
 
[meet] 
victim = 10|actor
victim_wpn = 10|actor
use = true
use_wpn = true

 



Что делать? Как "оградить" незванных гостей от костра?

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

[smart_terrains]
none = true

Это прописано в ltx файле?

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

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

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

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

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

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

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

Войти

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

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

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

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