[CoP] Ковыряемся в файлах - Страница 306 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

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


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

На детекторе сделать светящиеся кнопки, в зависимости от настроек на что он должен реагировать

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

Мне нужно не мигание, а именно то, что кнопка загорается при выполнении какого-то скриптового условия, так что seq не пройдёт. Вариаций условий может быть много, поэтому подменой модели хоть и можно, но на дворе 2016 год, может надо уже делать потехнологичнее?

dukekan, На дворе 2016 год, а двиг 2006 года. Как все - импровизируй, делай как возможно.

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

Народ, в ЗП можно скриптово спавнить рестрикторы и lc? Если да, то просветите, пожалуйста.

Ранее был известен под ником BoBaH_671.

@BoBaH_671, конечно можно, точно так же, как в ТЧ. Но есть одно отличие - запись/чтение здесь приходится принудительно ставить в начало пакета при его создании:

local pk = net_packet() -- создаем пакет
pk:w_begin(0) -- ставим запись на начало и записываем 2 байта
sobj:STATE_Write(pk) -- считываем данные из объекта
pk:r_seek(2) -- ставим чтение на начало с учетом записанных ранее двух байт
Ну а дальше как и в ТЧ.
  • Спасибо 2

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

А кто знает как сделать, чтобы, если условие не выполняется, то действие возвращается в начало функции?

Вот кусок для наглядности:

function zat_give_treasure_to_actor(first_speaker, second_speaker)
       local a = math.random(1,3)
       if a == 1 then
                        if not has_alife_info("zaton_give_treasure1_done") then
                                spawn_treasure.random_spawn_zaton_1()
                                give_info("zaton_give_treasure1_done")
                        else return a
       end
         if a == 2 then
                        if not has_alife_info("zaton_give_treasure2_done") then
                                spawn_treasure.random_spawn_zaton_2()
                                give_info("zaton_give_treasure2_done")
                        else return a
       end
         if a == 3 then
                        if not has_alife_info("zaton_give_treasure3_done") then
                                spawn_treasure.random_spawn_zaton_3()
                                give_info("zaton_give_treasure3_done")
                        else return a
       end
end

Тут "return a" я так понимаю не то, что нужно. 
Изменено пользователем e1_nin0

@e1_nin0, не совсем понятно, что ты хочешь этой функцией сделать. Выдать сразу все три тайника (или чего там)? Так это можно в менее извращенной форме сделать.

А вызов функцией самой себя делается так же, как и обычно. В твоем случае:

else zat_give_treasure_to_actor(first_speaker, second_speaker)
Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

naxac,  я тут "end"ы потерял. Хочу рандомно выдавать разные тайники до тех пор, пока они не закончатся.

function zat_give_treasure_to_actor(first_speaker, second_speaker)

local a = math.random(1,3)

      if a == 1 then

             if not has_alife_info("zaton_give_treasure1_done") then

                   spawn_treasure.random_spawn_zaton_1()

                   give_info("zaton_give_treasure1_done")

             else return a

             end

      end

      if a == 2 then

              if not has_alife_info("zaton_give_treasure2_done") then

                    spawn_treasure.random_spawn_zaton_2()

                    give_info("zaton_give_treasure2_done")

              else return a

              end

       end

       if a == 3 then

              if not has_alife_info("zaton_give_treasure3_done") then

                     spawn_treasure.random_spawn_zaton_3()

                     give_info("zaton_give_treasure3_done")

             else return a

             end

       end

end

 

Вот только return - совсем не то.

____________________________________________________________________________________________________
Все, я понял. Вызов функции самой себя, спасибо :good:

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

@e1_nin0, сначала проверяй выданные по поршням, а потом рандомно выбирай один из невыданных.

Что-то вроде этого:

function zat_give_treasure_to_actor(first_speaker, second_speaker)
    local t = {}
    for i=1, 3 do -- кол-во тайников
        if not has_alife_info("zaton_give_treasure"..i.."_done" then
            t[#t+1] = i
        end
    end
    if #t == 0 then return end -- тайники закончились
    local n = t[math.random(#t)]
    spawn_treasure["random_spawn_zaton_"..n]()
end
Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

naxacА где мне прописать выдачу поршней?


Добавил выдачу поршня в конец функции. Запуск через диалог. Ничего не спавнит.

function zat_give_treasure_to_actor(first_speaker, second_speaker)
    local t = {}
    for i=1, 5 do -- кол-во тайников
        if not has_alife_info("zaton_give_treasure"..i.."_done" then
            t[#t+1] = i
        end
    end
    if #t == 0 then return end -- тайники закончились
    local n = t[math.random(#t)]
    spawn_treasure["random_spawn_zaton_"..n]()
    give_info("zaton_give_treasure"..n.."_done")
end

Скобка потерялась всего-то :)

Изменено пользователем e1_nin0
А как запустить звук через скрипт?

Обыкновенно: глянуть в "Справочнике по ф-циям и классам" ф-ции для работы со звуком, глянуть готовые примеры в исходных скриптах ПЫСов, запустить и радоваться...

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

,

В профиль нужному нпс прописываешь:

    [spawn] \n
    device_torch \n
    wpn_abakan = 1, scope, silencer, launcher \n     - это для примера.

UnLoadedСсылка на "Класс sound_object. (проигрывание звуков в игре в произвольном месте, от произвольного объекта, в голове актора)" битая.

Нашел нужный скрипт xr_sound.script, функция function set_sound_play(npc_id, sound, faction, point).

xr_sound.set_sound_play(db.actor:id(),"нужный_звук").

Изменено пользователем e1_nin0
Нашел нужный скрипт xr_sound.script, функция function set_sound_play

Данная ф-ция(если я не ошибаюсь), предназначена для проигрывания зарегистрированных в файле sound_theme.script "звуковых тем".

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

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

Решил перенести монстров из ЧН в ЗП.

В ЗП были удалены многие анимации, некоторые заменены, а некоторые и вовсе новые.

Да и как-то старый видочек полигонажей у монстров поприятнее\ТСС.

Приходилось через СДК добавлять новые анимации методом копипаста старых и переименовании в новых. Всех монстров адаптировал... Кроме бюрера.

В чём проблема:

Когда Бюрер отбегает, он решает, я так понял, использовать анимацию stand_power_attack_0. 

При этом должен воспроизвести звук... Но беда.

 

В итоге вылет:

 

 

FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : CSoundPlayer::play
[error]File          : D:\prog_repository\sources\trunk\xrGame\sound_player.cpp
[error]Line          : 187
[error]Description   : sound_single.m_bone_id != BI_NONE
 
 
stack trace:

 

 

В конфиге кости другие указал, в capture то-же, в анимациях проблему не заметил.

Есть идеи? :huh:

Всем привет, ребят нужен туторы или уроки по редактированию инвентаря, худа и меню для зова припяти. (желательно видео версии, но их нет) скиньте ссылочки на темы в лс. А то я уже второй час лазаю что тут что на другом сайте и никак ничего путного найти не могу, только для тч нахожу.

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

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

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

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

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

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

Войти

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

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

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