-
Число публикаций
1 970 -
Регистрация
-
Последнее посещение
-
Дней в топе
9 -
AMKoin
4,813 [Подарить AMKoin]
Весь контент пользователя aka_sektor
-
Я не разбираюсь в ошибках конвертера. По ним консультировался у автора, или у тех кто с ними сталкивался. Если сцену сохранило, всё норм. Обращать внимание нужно на ошибки в SDK, когда откроешь декомпилированный уровень. В любом случае, компилировать уровень придется в SDK. То чем ты хочешь заниматься: Предназначено для уже скопилированных уровней. Таковые, ЕМНИП, имеются в различных паках локаций.
-
Чернобыль / Chernobyl (2019)
aka_sektor ответил на тему форума автора Keych в Кино, видео, телепередачи
@rusMAFIA, если насчёт "Игры престолов", то там действительно, 2 пожилых человека обсуждали современнное кино, сделанное не для них. Но что касалось вопросов исторических, там довольно интересные факты выяснялись. К тому же, финал не понравился наверное никому. А вот про Чернобыль, они могут рассказать заметно больше, т.к. жили в СССР. Видели изнутри. Может в Чернобыле и не было тогда, но что в стране было в то время - представляют. К тому же, как Клим Жуков дал понять, система образования в СССР была особенная, лучше наверное всего в то время в мире. Советская номенклатура, ну никак не могла себя так вести. -
Откуда скачивал его? Мож старая версия. Ну раз ты: Прочти вот пошаговые руководства, начиная с: https://modfaq.ru/Декомпиляция_уровня Может пригодится. Это прошлый век. Сейчас так моды, может и не никто, но мало кто делает. Оно и правильнее, как GSC завещали, в SDK надо делать, как они делали.
-
Чернобыль / Chernobyl (2019)
aka_sektor ответил на тему форума автора Keych в Кино, видео, телепередачи
Клим Жуков анонсировал, будет разбор каждой серии на канале Гоблина Пучкова: https://youtu.be/GlyXnXJPs5s?t=43 Интересно посмотреть. -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@WinCap, ну ка поподробнее. Что имеешь ввиду? Собак смотреть ходил к вагончику, где Толик. Они там сталкера догрызают. -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@ed_rez, естественно я начинал новую игру. Что за вопрос. -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@ed_rez, я брал модель из темы: https://www.amk-team.ru/forum/topic/4304-novye-modeli-nps-tch/ А именно: lafugix\Собака-зомби из Resident Evil by lafugix Путь у новой модели: monsters\lafugix\dog Его я и прописывал вместо всех визуалов в файле m_dog.ltx Эффекта - ноль. Поменял название папки monsters\dog\dog Модель заменилась. Потому и спрашиваю, где задаётся визуал собачек на самом деле? -
@naxac, если я правильно понял так: UPD: похоже что нет... UPD2: вот так не вылетает, но затемнение осталось.
-
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Rastaman_vip74, в том и прикол, менял путь к модели в этом файле, а собаки остаются те же. Возможно путь monsters\dog\dog где-то залочен. -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@I am Dead, честно говоря не понял причем тут консольные команды графики. Я дико извиняюсь, а где задаётся визуал собачек? Похоже что не в файле gamedata\config\creatures\m_dog.ltx -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
А вот ещё вопрос: можно ли как-то сделать, чтобы после загрузки сохранения не надо было каждый раз скрывать интерфейс нажатием "-" (минус) на клавиатуре? И ещё, чтобы по умолчанию не был в руках бинокль, и вообще ничего не было? -
Это куда предлагаешь прописать этот код?
-
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@BFG, неа... похоже не оно. Закомментил так: function run_tutorial_if_newbie(actor, npc, p) -- if has_alife_info("esc_trader_newbie") then -- game.start_tutorial(p[1]) -- end end Затухает и дальше. -
@naxac, да, робит. А затемнение экрана эт скриптовое?
-
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
Может это: function run_tutorial_if_newbie(actor, npc, p) if has_alife_info("esc_trader_newbie") then game.start_tutorial(p[1]) end end И че с этим делать? Подозреваю надо как-то has_alife_info менять наоборот. -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@aromatizer, это забавно, похоже всё изменение в файле, это закомментированная строка: [sr_idle@tutorial] ;on_info = {+esc_tutorial_start} sr_idle@tutorial_jump И да, правда отключает. Ещё вопрос: а как бы это "затухание экрана" ещё вначале убрать? -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Капрал Хикс, поставил on_timer = 0 Чет вроде и быстрее, а чет вроде ещё продолжает висеть долго. -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
А где задаётся время их показа? Мож хоть время подсократить. -
[SoC] Ковыряемся в файлах
aka_sektor ответил на тему форума автора Halford в Скрипты / конфиги / движок
Как там отключить текстовые туториалы вначале игры, про отношение, бинокль и т.д. что на экране появляются, не напомните? -
@naxac блин, думал только дверью обойтись, но если её пробежать, голос Сидоровича в башке. Может подскажешь, что в логике Сидоровича изменить, чтобы пропустить туториал? [logic] active = {+esc_trader_hello_played} mob_trader@new_idle1, mob_trader@new_start_wait on_trade = mob_trade@new trade = misc\trade_trader.ltx ; ------------------------------------------------------------------------------------------------------ ; ÑÒÀÐÒ ; ------------------------------------------------------------------------------------------------------ ; Æäåì íåìíîãî [mob_trader@new_start_wait] anim_global = chair_hack_idle on_timer = 5000| mob_trader@new_start_intro1 can_talk = false tip_text = ;Ïîäâèãàåìñÿ ê èãðîêó [mob_trader@new_start_intro1] anim_global = chair_hack_to_desk on_signal = animation_end| mob_trader@new_start_intro2 %+esc_trader_hello_played% can_talk = false tip_text = ;Ïåðâàÿ ôðàçà "ÿ òåáÿ ñïàñ..." [mob_trader@new_start_intro2] anim_global = first_phrase anim_head = first_phrase sound_phrase = trader_monolog1 on_signal = animation_end| mob_trader@new_start_intro3 can_talk = false tip_text = ; Æäåì íåìíîãî, âêëþ÷àåì óïðàâëåíèå [mob_trader@new_start_intro3] anim_global = desk_idle tip = tips_esc_trader_how_to_talk on_info = {=talking} mob_trader@new_idle1 on_timer = 5000 | mob_trader@new_start_intro4 ; Ãîâîðèì âòîðóþ ôðàçó (÷òî ñòîèøü? ïîäõîäè) [mob_trader@new_start_intro4] anim_global = desk_talk anim_head = normal sound_phrase = trader_come_here2 on_signal = sound_phrase_end | mob_trader@new_idle1 ;on_info = {=talking} mob_trader@new_idle1 ; îáðûâàòü ôðàçó on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% ;---------------------------------- ;------------- Idle --------------- ;---------------------------------- ;Îñíîâíîé idle (1) - çà ñòîëîì [mob_trader@new_idle1] anim_global = desk_idle on_signal = animation_end| {~25} mob_trader@new_idle1_to_idle3, {~50} mob_trader@new_idle1_to_idle5, {~75} mob_trader@new_idle1_to_idle2, mob_trader@new_idle1_to_idle1 on_info = {=talking} mob_trader@new_idle1_to_idle3 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (2) - ïî äèàãîíàëè [mob_trader@new_idle2] anim_global = diagonal_idle on_signal = animation_end| {~25} mob_trader@new_idle2_to_idle3, {~50} mob_trader@new_idle2_to_idle4, {~75} mob_trader@new_idle2_to_idle1, mob_trader@new_idle2_to_idle2 on_info = {=talking} mob_trader@new_idle2_to_idle3 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (3) - îòêèíóâøèñü íà ñïèíêó [mob_trader@new_idle3] anim_global = chair_hack_idle on_signal = animation_end| {~30} mob_trader@new_idle3_to_idle2, {~70} mob_trader@new_idle3_to_idle1, mob_trader@new_idle3_to_idle3 on_info = {=talking} mob_trader@new_talking on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (4) - çà êîìïüþòåðîì [mob_trader@new_idle4] anim_global = compute_idle on_signal = animation_end| {~40} mob_trader@new_idle4_to_idle2, mob_trader@new_idle4_to_idle4 on_info = {=talking} mob_trader@new_idle4_to_idle2 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (5) - ÷èòàåò [mob_trader@new_idle5] anim_global = listen_idle on_signal = animation_end| {~45} mob_trader@new_idle5_to_idle1, mob_trader@new_idle5_to_idle5 on_info = {=talking} mob_trader@new_idle5_to_idle1 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ;---------------------------------- ;-------- Àâòîïåðåõîäû -------- ;---------------------------------- ; Ñòîë - ñòîë (ïðîìåæóòî÷íàÿ) [mob_trader@new_idle1_to_idle1] anim_global = desk_idle on_signal = animation_end| mob_trader@new_idle1 ; Äèàãîíàëü - äèàãîíàëü (ïðîìåæóòî÷íàÿ) [mob_trader@new_idle2_to_idle2] anim_global = diagonal_idle on_signal = animation_end| mob_trader@new_idle2 ; Ñïèíêà - ñïèíêà (ïðîìåæóòî÷íàÿ) [mob_trader@new_idle3_to_idle3] anim_global = chair_hack_idle on_signal = animation_end| mob_trader@new_idle3 ; Êîìïüþòåð - êîìïüþòåð (ïðîìåæóòî÷íàÿ) [mob_trader@new_idle4_to_idle4] anim_global = compute_idle on_signal = animation_end| mob_trader@new_idle4 ; ×èòàåò - ÷èòàåò (ïðîìåæóòî÷íàÿ) [mob_trader@new_idle5_to_idle5] anim_global = listen_idle on_signal = animation_end| mob_trader@new_idle5 ;---------------------------------- ;----- Ïåðåõîäû ìåæäó idle-ìè ---- ;---------------------------------- ; Äèàãîíàëü - êîìïüþòåð [mob_trader@new_idle2_to_idle4] anim_global = diagonal_to_compute on_signal = animation_end| mob_trader@new_idle4 ; Êîìïüþòåð - äèàãîíàëü [mob_trader@new_idle4_to_idle2] anim_global = compute_idle_to_diagonal on_signal = animation_end| mob_trader@new_idle2 ; Äèàãîíàëü - ñïèíêà [mob_trader@new_idle2_to_idle3] anim_global = diagonal_to_chair_hack on_signal = animation_end| {=talking} mob_trader@new_talking, mob_trader@new_idle3 ; Ñïèíêà - äèàãîíàëü [mob_trader@new_idle3_to_idle2] anim_global = chair_hack_to_diagonal on_signal = animation_end| mob_trader@new_idle2 ; Ñòîë - ñïèíêà [mob_trader@new_idle1_to_idle3] anim_global = desk_to_chair_hack on_signal = animation_end|{=talking} mob_trader@new_talking, mob_trader@new_idle3 ; Ñïèíêà - ñòîë [mob_trader@new_idle3_to_idle1] anim_global = chair_hack_to_desk on_signal = animation_end| mob_trader@new_idle1 ; Ñòîë - äèàãîíàëü [mob_trader@new_idle1_to_idle2] anim_global = desk_to_diagonal on_signal = animation_end| mob_trader@new_idle2 ; Äèàãîíàëü - ñòîë [mob_trader@new_idle2_to_idle1] anim_global = diagonal_to_desk on_signal = animation_end| mob_trader@new_idle1 ; Ñòîë - ÷èòàåò [mob_trader@new_idle1_to_idle5] anim_global = desk_to_listen on_signal = animation_end| mob_trader@new_idle5 ; ×èòàåò - ñòîë [mob_trader@new_idle5_to_idle1] anim_global = listen_to_desk on_signal = animation_end| mob_trader@new_idle1 ;-------------------------------------- ;------------- Ðàçãîâîð --------------- ;-------------------------------------- [mob_trader@new_talking] anim_global = chair_hack_talk anim_head = normal on_info = {!talking} mob_trader@new_idle3 ;-------------------------------------- ;------------ Òîðãîâëÿ ---------------- ;-------------------------------------- [mob_trade@new] anim_global = chair_hack_idle on_info = {=trading =trade_exchanged} mob_trader@new_trade_exchanged on_info2 = {!trading =trade_exchanged} mob_trader@new_trade_good on_info3 = {!trading !trade_exchanged} mob_trader@new_trade_bad [mob_trader@new_trade_bad] ;anim_global = diagonal_talk anim_global = chair_hack_idle anim_head = angry sound_phrase = trader_bad_trade on_signal = sound_phrase_end | mob_trader@new_idle2 on_actor_dist_ge_nvis = 12 | mob_trader@new_wait [mob_trader@new_trade_exchanged] ;anim_global = diagonal_talk anim_global = chair_hack_idle anim_head = normal sound_phrase = trader_exchanged on_signal = sound_phrase_end | mob_trader@new_idle2 on_actor_dist_ge_nvis = 12 | mob_trader@new_wait [mob_trader@new_trade_good] ;anim_global = diagonal_talk anim_global = chair_hack_idle anim_head = good sound_phrase = trader_good_trade on_signal = sound_phrase_end | mob_trader@new_idle2 on_actor_dist_ge_nvis = 12 | mob_trader@new_wait ;------------------------------------- ;---------- Ïðèâåòñòâèÿ -------------- ;------------------------------------- [mob_trader@new_hello] anim_global = hello anim_head = normal sound_phrase = trader_hello_what_have_you_got on_signal = animation_end | mob_trader@new_idle2 [mob_trader@new_bye] on_actor_dist_ge_nvis = 12 |mob_trader@new_wait anim_global = hello anim_head = normal sound_phrase = trader_bye on_signal = animation_end | mob_trader@new_wait [mob_trader@new_wait] anim_global = diagonal_idle_short on_actor_dist_le_nvis = 3 | {-esc_trader_hello_played} mob_trader@new_hello %+esc_trader_hello_played% on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | %-esc_trader_hello_played -esc_trader_bye_played%
-
Подскажет кто, что нужно изменить в логике дверей бункера Сидоровича, чтобы они изначально были октрыты? [logic] active = ph_door@locked [ph_door@locked] locked = true snd_open_start = trader_door_unlock on_info = {+esc_trader_can_leave} ph_door@closed %=play_snd(device\door_servomotor)% [ph_door@closed] closed = true locked = false on_use = ph_door@open %-esc_close_door% snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop [ph_door@open] closed = false locked = false on_use = ph_door@closed on_info = {+esc_close_door} ph_door@closed snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop
-
Тема только для публикации готовых к использованию моделей NPC / Монстров. По вопросам работы с моделями, обращайтся в соответсвующие темы в разделе: http://www.amk-team.ru/forum/forum/45-shkola-moddinga/ Большая просьба ко всем: Пройдитесь сначала и до конца темы, посмотрите, может какие-то из утраченных в сети моделей, имеются у вас. Опубликуйте их пожалуйста в теме!
- 175 ответов
-
- 10
-
Че за фигня, никак не пойму... артефактит просмотр с X-Ray плагинами Самое прикольное, делаю: Edit -> Refresh Textures Моделька становится нормальной: Но как только шевелю - снова эта хрень.
-
@Desertir, стоило бы не только ссылку, а непосредственно текст из файла в "шапку" под спойлер положить. Немного ненужной лирики. «Золотой век» модостроения для игры S.T.A.L.K.E.R. прошел, не нужно этого отрицать, все великие деятели этой области уже никогда не продолжат писать свои гениальные произведения. Не буду спорить – модострой продолжается, однако многие согласятся, что это уже «не то» и «прежним» никогда не станет. Введение. Эта статья, по моему замыслу, должна помочь читающему в понимании, что такое скрипты игры S.T.A.L.K.E.R. Кто-то, возможно из великих, сказал: «Нельзя научить, можно научиться». Я почти не сомневаюсь, что этот человек имел ввиду программирование. Это искусство мыслить не так, как все. Мыслить как машина и как человек одновременно. Знания уходят на второе место и, как следствие, программирование нельзя выучить или бездумно списать. Это способ понимать одновременно простые и сложные вещи. Но, если вы можете это делать, или хотя бы безумно желаете этого, то вам открывается «мир» поистине безграничных возможностей. К делу. Итак, вам нужно залезть в скрипты, добавить пару строк, и радоваться жизни дальше. В этом случае можете смело закрыть эту статью, открывать форум АМК или идти на Вики и искать ответа там, т.к. для вас следующий текст будет просто горой слов, который никак не пригодиться. Здесь я попытаюсь объяснить, что же такое скрипты, зачем они нужны, и что нужно для их использования. Скрипт – тестовый файл, содержащий необходимые команды для реализации того или иного функционала игры. Это определение лежит в контексте рассматриваемой игры, на Википедии есть страница «Сценарный язык», которая может оказаться полезной для прочтения. С определением понятно, наверное, зачем же это нужно? К сожалению, пока не изобрели телепатию; компьютер может понимать человека только на определенных языках (в конечном итоге, наборе процессорных инструкций, но не будем сгущать краски), так что ответ очевиден, скрипты нужны для того, чтобы игра понимала, что от нее хотят. Пока вроде бы просто? Не совсем, как же игра понимает текст на самом деле? Тут мне придется сказать пару «умных» слов. Игра это программа. Как ваш браузер, как блокнот или проводник Windows. Все это программы, они написаны на неком языке программирования (ЯП). Скрипты так же пишутся на определенном ЯП – в данной игре это Lua. Сама же игра (движок – X-Ray Engine) написана на языке C++. Связь между этими совершенно разными языками осуществляется посредством LuaBind. Это полезно просто иметь ввиду, а что это такое, и как оно непосредственно работает, не так уж и интересно. Важно то, какие возможности эта привязка (bind) дает. Дело в том, что мы не можем использовать движок напрямую. Нельзя сказать «Хей, чувак, скажи как зовут вот этого NPC, если это Волк, то положи ГГ в инвентарь водку». Если бы скриптов не было, такое действие нельзя было бы добавить или как-то выполнить. Готовую программу можно запустить и закрыть, на этом стандартные манипуляции заканчиваются. Однако если программа может прочесть текстовый файл с определенным содержимым, понять это содержимое и что-либо сделать с ним, тогда мы можем повлиять на программу достаточно серьезно. Этим и занимаются скрипты – влияют на игру, задают для нее сценарий (найдите в словаре слово script). Итак, раз скрипт – текстовый файл, тогда его можно открыть любым текстовым редактором и писать в него все, что душе угодно, почти. Понимание чужих и написание своих скриптов – непростая задача, в которой нельзя помочь, разве только предлагать направление, а следовать ему или нет, выбирать вам. Чтобы использовать скрипты нужно несколько вещей: желание это делать, понимать некоторые принципы программирования, понимать язык скриптов, знать, где посмотреть документацию по ним. Заключение. Так или иначе, я ответил на три поставленный вопроса, кто-то из прочитавших (если такие есть) знал ответы, кому-то было просто (не)интересно, а кто-то сделал для себя выводы, что скриптование – штука хитрая и сложная, но интересная.
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды