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

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

 
 

imcrazyhoudini в чистом ТЧ всё двигается. Проверяй там.

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


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

macron действительно, всё двигается... 

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


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

Теперь вопрос от меня: как заспавнить аномалию скриптом?
Не простую аномалию, а аномалию с файлом anm

А для чего? В рандомном месте ее не заспавнить - координаты, по которым летает такая аномалия, четко прописываются в anm файле. Если нужно просто на месте другой раз за игру - лучше как обычно прописать в оллспавн и спавнить когда нужно, чем ковыряться с нет-пакетами (если вообще получится в нет-пакете прописать, не факт)

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

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


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

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

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


Внимание! Ищу любые фиксы/исправления для оригинального ТЧ.

Спойлер

Или людей, которые желают помочь с этим делом.

 

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


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

oleg19966 удаляй в начале игры и потом спавни

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


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

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

Возможно, есть ещё способ перевести аномалию в оффлайн, а потом обратно - в онлайн.
Только я очень сильно сомневаюсь что такое сработает на оригинальном движке.

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

Внимание! Ищу любые фиксы/исправления для оригинального ТЧ.

Спойлер

Или людей, которые желают помочь с этим делом.

 

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


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

oleg19966 удаляй по story_id и спавни по spawn_story id

  • Мастер! 1

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


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

imcrazyhoudini пример пожалуйста.


Внимание! Ищу любые фиксы/исправления для оригинального ТЧ.

Спойлер

Или людей, которые желают помочь с этим делом.

 

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


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

oleg19966 

Спойлер

function delete_pribor()
   local lc = alife():story_object(story_ids.dead_zapiska)
   alife():release(lc, true)
end

function spawn_pribor()
   local spawn_id = alife():spawn_id(spawn_story_ids.zapiska)
   alife():create(spawn_id)
end

 


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

подскажите, как заставить НПС отыграть все анимации указанные в idle:
 

Спойлер

        compas        = {    prop    = { maxidle = 1,
                                    sumidle = 1,
                                    rnd = 100 },
                        into    = {    [0]    = {"metering_anomalys_0_draw_0", {a="af_compass"}, "metering_anomalys_0_draw_1"} },
                        out        = {    [0]    = {"metering_anomalys_0_hide_0", {d="af_compass"}, "metering_anomalys_0_hide_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 },

 

  • Спасибо 1

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


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

Подскажите пожалуйста, как реализована система подстройки прицельной сетки под экран? По типу ЗП.

На движке OGSR engine.

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


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

imcrazyhoudini можно попробовать в state_mgr_animation.script где if state_mgr_animation_list.animations[id].idle ~= nil then... перенести с того же ....into код с проверкой на таблицу (где if type(anima) == "table" then и ниже), и прописывать как в into или out через запятую [0] = {"1", "2", "3"}

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

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


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

M31 ля... честно ничего не понял

я просто делал как в оригинале, например вот:
 

Спойлер

        cr_raciya        = {    prop    = { maxidle = 1,
                                    sumidle = 1,
                                    rnd = 100 },
                        into    = {    [0]    = {"cr_raciya_0_draw_0", {a="hand_radio"}, "cr_raciya_0_draw_1"},
                                    [1]    = {"cr_raciya_1_draw_0", {a="hand_radio"}, "cr_raciya_1_draw_1"},
                                    [2]    = {"cr_raciya_2_draw_0", {a="hand_radio"}, "cr_raciya_2_draw_1"},
                                    [3]    = {"cr_raciya_3_draw_0", {a="hand_radio"}, "cr_raciya_3_draw_1"},
                                    [4]    = {"cr_raciya_4_draw_0", {a="hand_radio"}, "cr_raciya_4_draw_1"},
                                    [8]    = {"cr_raciya_8_draw_0", {a="hand_radio"}, "cr_raciya_8_draw_1"},
                                    [9]    = {"cr_raciya_9_draw_0", {a="hand_radio"}, "cr_raciya_9_draw_1"},
                                    [10]= {"cr_raciya_10_draw_0",{a="hand_radio"},"cr_raciya_10_draw_1"} },
                        out        = {    [0]    = {"cr_raciya_0_hide_0", {d="hand_radio"}, "cr_raciya_0_hide_1"},
                                    [1]    = {"cr_raciya_1_hide_0", {d="hand_radio"}, "cr_raciya_1_hide_1"},
                                    [2]    = {"cr_raciya_2_hide_0", {d="hand_radio"}, "cr_raciya_2_hide_1"},
                                    [3]    = {"cr_raciya_3_hide_0", {d="hand_radio"}, "cr_raciya_3_hide_1"},
                                    [4]    = {"cr_raciya_4_hide_0", {d="hand_radio"}, "cr_raciya_4_hide_1"},
                                    [8]    = {"cr_raciya_8_hide_0", {d="hand_radio"}, "cr_raciya_8_hide_1"},
                                    [9]    = {"cr_raciya_9_hide_0", {d="hand_radio"}, "cr_raciya_9_hide_1"},
                                    [10]= {"cr_raciya_10_hide_0",{d="hand_radio"},"cr_raciya_10_hide_1"} },
                        idle    = {    [0]    = "cr_raciya_0_idle_0",
                                    [1]    = "cr_raciya_1_idle_0",
                                    [2]    = "cr_raciya_2_idle_0",
                                    [3]    = "cr_raciya_3_idle_0",
                                    [4]    = "cr_raciya_4_idle_0",
                                    [8]    = "cr_raciya_8_idle_0",
                                    [9]    = "cr_raciya_9_idle_0",
                                    [10]= "cr_raciya_10_idle_0" },
                        rnd        = {    [0]    = {"cr_raciya_0_talk_0"},
                                    [1]    = {"cr_raciya_1_talk_0"},
                                    [2]    = {"cr_raciya_2_talk_0"},
                                    [3]    = {"cr_raciya_3_talk_0"},
                                    [4]    = {"cr_raciya_4_talk_0"},
                                    [8]    = {"cr_raciya_8_talk_0"},
                                    [9]    = {"cr_raciya_9_talk_0"},
                                    [10]= {"cr_raciya_10_talk_0"} } },


там вроде всё работало

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


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

imcrazyhoudini даже в приведенном примере всего одна анимка на анимслот. В оригинале либо одна анимка либо nil, если видел где-то несколько анимаций - наверняка там state_mgr_animation.script правленый


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

Попробуй этот кусок

Спойлер

        if state_mgr_animation_list.animations[id].idle ~= nil then
            anima = self:anim_for_slot(wpn_slot,state_mgr_animation_list.animations[id].idle)
            if anima then
                add_anim(self.npc, anima, true)
            end
            nn = nn + 1
        else
            -- Для политкорректности просим анимстейт отыграть свою айдловую анимацию
            self.mgr.animstate:add_idle_animation()
        end

поменять на этот

Спойлер

         if state_mgr_animation_list.animations[id].idle ~= nil then
            anima = self:anim_for_slot(wpn_slot,state_mgr_animation_list.animations[id].idle)
            if anima then
                if type(anima) == "table" then
                    for k,v in pairs(anima) do
                        if type(v) == "table" then
                            self:set_anim_callback(v)
                        else
                            add_anim(self.npc, v, true)
                        end
                    end
                else
                    add_anim(self.npc, anima, true)
                end
            end
            nn = nn + 1
        else
            -- Для политкорректности просим анимстейт отыграть свою айдловую анимацию
            self.mgr.animstate:add_idle_animation()
        end

И пропиши анимации в строчку как в into или out. И смотри чтобы не зацикленные были. Либо возьми правленый файл там, где видел несколько идловых анимок

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

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


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

По какой причине лайты могут просвечивать сквозь геометрию на статике?
spacer.png
spacer.png

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

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


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

M31 не переходит в следующую часть анимации, анимация точно имеет конец
код:
 

Спойлер

        local a = state_mgr_animation_list.animations[id]
        if a.idle ~= nil then
            anima = self:anim_for_slot(wpn_slot,state_mgr_animation_list.animations[id].idle)
            if anima then
                if type(anima) == "table" then
                    for k,v in pairs(anima) do
                        if type(v) == "table" then
                            self:set_anim_callback(v)
                        else
                            add_anim(self.npc, v, true)
                        end
                    end
                else
                    add_anim(self.npc, anima, true)
                end
            end
            nn = nn + 1
        else
            -- Для политкорректности просим анимстейт отыграть свою айдловую анимацию
            self.mgr.animstate:add_idle_animation()
        end

Спойлер

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

 

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


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

imcrazyhoudini таблицей оформлять надо, у тебя же есть into и out для примера

 idle    = {    [0]    = {"metering_anomalys_0_idle_0", "metering_anomalys_0_idle_1", "metering_anomalys_0_idle_2", "metering_anomalys_0_idle_3", "metering_anomalys_0_idle_4", "metering_anomalys_0_idle_5", "metering_anomalys_0_idle_6"}},

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


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

M31 не помогло

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


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

        local a = state_mgr_animation_list.animations[id]
        if a.idle ~= nil then

Это что и откуда? У меня как-бы про другое написано

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

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


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

M31 это стоит state_mgr_animation.script от bak (ai пак от него стоит).

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


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

imcrazyhoudini какая несущественная мелочь, о которой совсем не нужно писать, да

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


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

M31 ну я так же и подумал

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


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

imcrazyhoudini скачал последний ai additions с амк, открыл state_mgr_animation.script, никаких результатов по поиску a.idle не выдало

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

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


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

M31 ну я хз откуда его взял тогда) у меня хлама хватает

посмотри вот

state_mgr_animation.script

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


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

imcrazyhoudini это уже правленый?


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

Изначальный скинь

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


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

M31 ща найду бэкап


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

state_mgr_animation.script

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


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

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

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

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

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

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

Войти

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

Войти

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

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