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

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


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

qwqwqw, В скрипте диалога -посмотри к примеру диалог Акима там при сдаче квеста он станвится другом ,замени френд на энэми и все

--' отдадим арт шахтёру и он друг
function pda_shaxt_strelok_naity_done(first_speaker, second_speaker)
sak.out_item_namber("af_armor_4",1)
second_speaker:set_relation(game_object.enemy, first_speaker)
end

вот так к примеру

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

qwqwqw, gruber

Вообще то разрабы все уже сделали для этого случая.

Нужно просто вызвать функцию xr_effects.actor_enemy из диалога.

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

Привет всем. Вопрос.

Можно ли привязать к детекторам худ? Допустим имеется у меня модель с худом. В конфиге детектора добавил ему:

hud                            = det_artefact_indy_hud

[det_artefact_indy_hud]
shell_point                    = 0.0, 0.0, 0.0
fire_point                  = 0.05, 0.0, 0.1
fire_bone                   = bip01_neck

orientation                 = 0,0,0
position                    = 0,0,0
visual                      = equipments\detector_indy_hud.ogf

anim_idle                    = idle
anim_draw                    = draw
anim_hide                    = holster
anim_shoot1_start            = idle
anim_shoot2_start            = idle
anim_shoot1_end                = idle
anim_shoot2_end                = idle
anim_idle_sprint            = idle
anim_play            = idle
anim_prepare        = idle
anim_eat            = idle

(Анимации все подряд всунул, потому что незнаю какие нужны точно).

В моде, котором я приделываю худ, детекторы ставятся в слот пистолета.

 

В итоге в игре ничего не произошло, на худе ничего нет, вылета тоже...

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

Shadows,

в ТЧ у детекторов движком худ не заложен.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
alex210192, только скриптом. И то это будет только имитация слота. Слоты и управление ими - все в движке.

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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

@Vergas

 

Ну да, насчёт имитации ты конечно прав.Но если назначить шлемам максимально 2х2 клеток а костюмам минимально 3х2?Тогда может и не глупо будет выглядеть или?

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

Вот вопрос:распаковывал всегда ACDCом all.spawn,но вот недавно сменил винду и перестало распаковыватся,все запускается но стоит на месте без изменений

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

Башка,Актив перл не забыл поставить?

гопыч, Нужно в папке саунд/диалог создать файл с id одинаковым с id диалога(или фразы) ну и кажется в саунд тем скрипт его прописать

Pihan13, Насколько я знаю -в свойсвах респавнера прописываются условия(респавн по рестрикту например,поставь такой в месте которое ГГ точно не пройдет например там где появляешься на локе и респавн будет каждый раз при заходе).Но это про те респавнеры которые в аллспавне,а скриптовые не знаю тем более в АМК они кажется особенные)Еще есть респавн гулагов

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

Ребята, помогайте.

Слздал на новой локации респавнер для монстров. Вопрос: нужно ли куда нибудь его прописывать, чтобы он САМ срабатывал время от времени?

З.Ы. принудительный вызов респавнера функцией срабатывает нормально.

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

А что делает эта функция (по-детальней):

 

-- переключает камеру на монстра или на актёра
function alien_control( actor, npc, p )
printf( "alien_control(%s)", p[1] )
npc:set_alien_control( p[1] == "true" )
end

 

И при обращении к этой функции, что надо писать в аргумент P (что в таблицу пихать?)?

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

Подскажите, кто знает. Что может вызывать такой вылет:

Expression    : assertion failed
Function      : CSE_Abstract::Spawn_Read
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_Object_Base.cpp
Line          : 236
Description   : M_SPAWN==dummy16

Вопрос в "Ошибках", но я помочь не могу. Проверил, с данным мне сейвом на свежеустановленном чистом АМК такой вот вылет.

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

gruber, спасибо с диалогами разобрался.

Еще вопрос: как сделать чтобы НПС говорили ГГ при приходе и уходе оного (Как Сидорович при приветствии говорит здорово Меченный а когда ГГ уходит говорит Удачной охоты сталкер) Звуки из ЧН перегнал но не знаю куда что вставлять. Подскажите пожалуйста.

Ссылка на комментарий
гопыч, это вообщето азы логики -как у Сидора кстати не получится у него логика монстра.В соседней теме логика НПС предпоследний пост как раз пример такой логики как ты спрашиваешь и если хочешь как у кого то(у Сидора или кого еще)-логичней посмотреть как в игре сделано
Ссылка на комментарий

kokkai,

Подскажите, кто знает. Что может вызывать такой вылет:

Function      : CSE_Abstract::Spawn_Read
Description   : M_SPAWN==dummy16

Странно, даже не знаю, как такую ошибку можно скриптом вызвать. Суть этой проверки в том, что первое значение нетпакета для CSE_Abstract всегда должно быть 1. Но до этой части нетпакета скриптами не добраться никак. Соответственно и испортить там не получиться. Разве что можно грешить на фатально битый сейв.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
malandrinus, любопытно другое. Если погуглить на M_SPAWN==dummy16, то видно, что такой лог уже встречался, но только в связи с ошибками модостроения.
Ссылка на комментарий

Я недавно нашел такую инфу, может кто хочет сыграть с вырезанным монстром - зомби-блевуном (Ставим на апдейт монстера):

    if self.object:section()=="zombie_beee" and time_global()>(self.charge_time or 0)+5000 and 3>(self.charges_done or 0) and not is_fake and self.object.health>0.1 then
        local target = self.object:get_enemy() or db.actor
        local dist = target:position():distance_to(self.object:position())
        if dist < 10 and self.object:see(target) then
            local dir=self.object:direction()
            local delta=vector():set(self.object:position()):sub(target:position())
            local scalarmul=(delta.x*dir.x+delta.z*dir.z)/math.sqrt(delta.x*delta.x+delta.z*delta.z) 
            if scalarmul < -0.8 then
                bind_monster.play_particle(self.object,
                {
                    obj=self.object,
                    particle="amk\\zomb_beee",
                    pos=self.object:bone_position("bip01_head"),
                    dir=amk.sub(target:bone_position("bip01_head"),self.object:bone_position("bip01_head")),
                    gravity=vector():set(0,-0.01,0),
                    len=10,
                    life_time=2000,
                    give_dmg=true,
                    target=target,
                    sound="monsters\\zombie\\zombie_take_damage_3"
                })
                self.charge_time=time_global()
                self.charges_done=(self.charges_done or 0) + 1
            end
        end
    end

 

-------------------

Garry_Galler, malandrinus, ясно, спс

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

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

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

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

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

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

Войти

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

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

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