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

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


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

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

А можно ли заспавнить в ящик/инвентарь один патрон?

Да, можно!

П.С какой вопрос такой ответ

 

  • Нравится 3
Ссылка на комментарий

Подскажите, чего нужно прописать в логике мутанта, чтобы он был дружелюбен только к одному человеку, а к остальным был агрессивен?

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

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

@HellRatz, отрабатывать, конечно, будет. Вопрос в том, зачем разрабы делали через gulag.ltx и gulag.script? Если это помогает оптимизации или еще чему, я попробую тоже заморочиться, если нет - то зачем? Итак все работает.

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

Подскажите как реализовать что бы торговцы не покупали испорченное оружие.

--

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

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

а сидел у костра

Сделать из него kamper-а с логикой тех, что у костра, будет плохой идеей. Остаётся делать аналог "logic@esc_lager_kamp1", но с нюансами логики Волка или экспериментировать с точками и анимациями "logic@esc_lager_volk".

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

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

Вообщем сделал вот так:

 

---------------------------/ Волк, собственной персоной.
        t = { section = "logic@esc_lager_kamp1",
            idle = 0,
            prior = 6, state = {0},
            in_rest = "", out_rest = "esc_lager_guard_kill_zone",
            predicate = function(obj_info)
                            return obj_info.profile_name == "esc_wolf"
                        end
        }
        table.insert(sj, t)

Он сидит у костра но не выдаются нужные поршни

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

сделал вот так

Ну ещё бы! Нужно другого kamp делать, у ребят из "logic@esc_lager_kamp1" своя тусовка.

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

Ссылка на комментарий
03.09.2020 в 18:03, Muzafir сказал:

Есть ли смысл мне теперь писать gulag.ltx и gulag.script и переносить всю эту логику туда?

Все зависит от сюжетных целей, для которых моб используется. Весь нюанс в том, что при переходе в офф-лайн клиентская "часть" объекта уничтожается, а при выходе в он-лайн создается и персональная логика "перезапускается" с начала. А в гулаге моб в любом состоянии рулится работой, на которой он в данный момент находится. И получается, что к примеру, под персональной логикой: Шустрый после освобождения из плена на АТП добирается до Деревни новичков и там дрыхнет на матрасе. При уходе ГГ за он-лайн радиус движок Шустрика изничтожит, а при возврате в этот радиус создаст заново, и в соответствии с его персональной логикой перекинет на АТП и потом заставит галопом мчаться в ДН на матрасик, что не есть красиво? А если эту же логику прописать как работу в гулаге, то там схема и скрипты гулага будут Шустрика держать у матрасика и никаких пробежек. Хотя можно мобу запретить перемещение в офф-лайне и тогда Шустрика не будет перебрасывать обратно на АТП, но тут могут возникнуть проблемы с тем, что он может и не добежать до ДН, если быстро попадет в офф-лайн еще на выходе с АТП.

По этому мое мнение, что персональная логика есть очень неудобное дело, особенно если мобу планируется интенсивное перемещение по локации\локациям.

05.09.2020 в 16:34, Libery сказал:

ну что бы он не стоял а сидел у костра

Ну так есть соответствующая анимация, а делать из него примитивного "сидельщика у костра" не обязательно.

  • Нравится 1
  • Согласен 2
Ссылка на комментарий

Хочу проиграть анимацию одевания брони в 6 слоте. Куда подключать use(obj) или item_take(obj)? Может есть у кого функция на использование 6 слота по подробнее?

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

персональная логика есть очень неудобное дело, особенно если мобу планируется интенсивное перемещение по локации\локациям.

Я как раз, наоборот, думал через гулаг раздать работы "рядовым" НПС (охрана лагеря, "сидельцы" у костра и т.д.). Ну а квестовым - персональную. Так, вроде, и разрабы делали.

Но спасибо, за совет, твоя логика понятна.

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

и в соответствии с его персональной логикой перекинет на АТП и потом заставит галопом мчаться в ДН на матрасик, что не есть красиво

Вот здесь не понял... Мне пришлось вышвырнуть Шустрика из гулага, что бы заработал кондлист на его спавн. Повесил на него персональную логику, Шустрый спаунится по условию и вдобавок не "перемещается" больше на АТП, т.е. всё наоборот. Что я упустил?

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

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

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

при использование 6 слота происходило то или иное действие!

Это надо на апдейт актерского биндера вешать проверку.

 

@Libery

Цитата

Шустрый спаунится по условию и вдобавок не "перемещается" больше на АТП, т.е. всё наоборот. Что я упустил?

Я же не виддел, что у тебя там в логике Шустрого, да и честно давно уже не помню, как у него там в оригинале было - персоналка или работа в гулаге?

  • Нравится 1
Ссылка на комментарий
1 минуту назад, AndreySol сказал:

Я же не виддел, что у тебя там

В оригинале работа в гулаге. Я почти точно копировал её в персональную логику. Делал наугад, только что бы работал [spawner]. Тогда вообще думал, что ремарк конфликтует с работой из гулага...

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

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

@AndreySol, кстати, а в сдк напротив каких строк нужно поставить галочку, чтобы нпс не двигался в оффлайне?

По поводу того, что НПС в гулагах возвращаются на изначальную работу.В ЛА проблема решена так, в xr_gulag изменена вот эта функция (показываю прямиком из ЛА):

function cfg_get_condlist(ini, section, field, npc)
local str = utils.cfg_get_string(ini, section, field, npc, false, "")
if not str then
return nil
end

local par = utils.parse_params(str)
if not par[1] then
abort_syntax_error_in_cond(npc, section, field)
end

local t = {}

t.name = field
t.condlist = parse_condlist(npc, section, field, par[1])

return t
end

— получить имя пути места работы
function gulag:get_job_path_name( job )
local section = job.section

if not self.ltx:line_exist(section, "active") then
log("(%s):get_job_path_name: Wrong section=[%s] :<%s>", self.name, section, "Error!")
table.print(job, sModule..":job|"..self.name)
if self.ltx:section_exist(section) then
abort("%s: ltx=[%s] no 'active' in section=[%s]", sModule, self.ltx_name, section, "")
else
abort("%s: ltx=[%s] no section=[%s]", sModule, self.ltx_name, section, "")
end
end

local active_section = xr_logic.determine_section_to_activate(self, self.ltx, section, db.actor)
—local active_section = self.ltx:r_string(section, "active")
local path_field = nil
for _,v in ipairs(path_fields) do
if self.ltx:line_exist(active_section, v) then
path_field = v
break
end
end
if not path_field then
abort("%s: ltx=[%s], there is no path in section=[%s]", sModule, self.ltx_name, active_section, "")
end
—/ check for mismatching paths
local path_name = self.name .. "_" .. self.ltx:r_string(active_section, path_field)
if path_field == "center_point" then
—/ fix for npcs respawning in firebins!
if level.patrol_path_exists(path_name .. "_task") then
return path_name .. "_task" —/>
end
end
if not level.patrol_path_exists(path_name) then
if not validate_patrol_path(path_name) then
abort("%s: gulag=[%s] section=[%s] field=[%s] path=[%s]~doesn't exist!", sModule, self.name, active_section, path_field, path_name, "")
end
end
—/ logging for specified "gulag_name" logic
—if self.name == "esc_village_lager" then
— log("(%s):get_job_path_name:logic=[%s],active=[%s],path=[%s]", self.name, section, active_section, self.ltx:r_string(active_section, path_field))
—end
return path_name —/>
end

После этого если в поле active прописать что-то типо такого:

active = {+cond} walker@2 {-cond} walker@1

то НПС перестанет возвращаться на первую работу в оффлайне.

Я когда-то добавлял эту функцию в свой мод и всё работало, а когда пришла надобность добавить в другой мод, то без вылета уже не обошлось.

Так что кто сможет адаптировать эту функцию - отпишите пожалуйста.

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

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

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

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

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

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

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

Войти

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

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

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