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

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

 
 
1 час назад, imcrazyhoudini сказал:

попробуй число увеличить, я правда не уверен, что это поможет. допустим с 6001 на 20000

я тоже думал что не поможет. всё верно - не помогло) тут какой-то мегамозг нужен по-моему по этому делу):

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

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


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

Pepel может спавнишь на сохранке, где такой переход уже есть? С новой игры попробуй

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


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

Pepel может спавнишь на сохранке, где такой переход уже есть? С новой игры попробуй

не, с новой игры спавнил.

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


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

Pepel ну лог врать не может, понимаешь)

заспавни через акдк - так будет лучше и не сложно, раз в сдк лезть не хочешь


Дополнено 2 минуты спустя
8 часов назад, Pepel сказал:

l01_escape

а здесь случайно не l08_yantar должен быть?

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


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

Pepel ну лог врать не может, понимаешь)

заспавни через акдк - так будет лучше и не сложно, раз в сдк лезть не хочешь

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

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


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

Pepel так и не написал, в какой момент прошлый вылет был. В диалоге сразу на фразе со спавном? Или при переходе? А щас в какой момент вылет? В диалоге? Вот это убери

8 часов назад, Pepel сказал:

            <phrase id="3">
                <text>new_dialog_buriy_3</text>
                <action>_freeplay_sa.esc_yantar</action>
                <next>2</next>
            </phrase>

 

Изменено пользователем M31
  • Спасибо 1

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


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

Может дублируется спавн из-за такого перенаправления снова на вторую фразу

да. ошибка была в этом. спасибо!

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


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

Всем привет. Мне нужно "узнать" координаты ближайшей поверхности под объектом, который я спавню скриптом высоко в воздухе. Как это сделать, и как узнать координаты точки, на которую смотрит ГГ?

Upd: Кроме того, взрывчатка, которую я спавню по скрипту, не появляется, пока я не подойду достаточно близко (на расстояние в 150м, полагаю). Можно ли её так заспавнить, чтобы она сразу перешла в онлайн?

Спойлер

я делаю скрипт вызова миномётного обстрела по указанным координатам. Собственно, я решил присобачить звук приближающегося снаряда, а проигрывать его нужно на земле, т.к. "снаряд" спавнится на высоте ~20 метров. Скрипт универсальный, потому вручную прописать все места приземления снарядов не выйдет.

P.S: можно просто немного изменить настройки звука, и запускать его в воздухе, но вопрос всё ещё актуален.

 

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

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


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

Мне нужно "узнать" координаты ближайшей поверхности под объектом, который я спавню скриптом высоко в воздухе

Можно попробовать использовать координаты левел вертекса local pos = level.vertex_position(lv)

18 часов назад, Etil сказал:

как узнать координаты точки, на которую смотрит ГГ?

Вроде в ogsr и в x-ray extensions добавили функции для этого, в оригинале без танцев с бубном никак

18 часов назад, Etil сказал:

взрывчатка, которую я спавню по скрипту, не появляется, пока я не подойду достаточно близко

Она просто спавнится или спавнится и сразу взрывается?

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

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


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

M31 

3 часа назад, M31 сказал:

Она просто спавнится или спавнится и сразу взрывается?

Обработчик событий взрывчатки наносит по ней урон (взрывает) на первом binder:update. Сам объект (основанный на секции "explosive_tank") не появляется, пока ГГ не подойдёт достаточно близко.

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


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

Etil ну это же спавн элемент, верно? они спавнятся лишь в зоне алайфа

 

в сдк можно было бы поставить галочку всегда быть в онлайне, может как-то и здесь вышло бы

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


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

imcrazyhoudini Знать бы, как работает механика спавна. Если объект, который я спавню, находится в оффлайне пока не окажется в зоне а-лайфа, то что-то с этим можно сделать. Если спавн просто не происходит пока я не подойду достаточно близко - то решения я не вижу.

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


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

Etil если грубо и вкратце
 

Спойлер

сталкер сам по себе как серверная игра, но сервер и клиент на одном компе. Есть серверные объекты (оффлайновые) и клиентские (онлайновые) - это копии серверного объекта, создаются когда объект попадает в зону алайфа (или всегда в онлайне на текущей локации). Ну, совсем грубо, если какой-то объект находится в онлайне, получается, этот объект "раздвоен" - один основной на сервере и второй как копия у игрока. За радиусом алайфа только серверные объекты (если не выведены принудительно в онлайн). При спавне за радиусом алайфа должен в любом случае заспавниться объект, но он будет серверным. У оффлайновых и онлайновых объектов разные функции, если что-то работает у онлайнового  - может не работать у оффлайнового (или название другое). Хитануть можно только онлайновый. Можно в lua_help.script посмотреть, что у кого (для онлайновых смотри class game_object, остальное для оффлайновых. Тут можно посмотреть описание большинства функций https://www.amk-team.ru/forum/topic/7450-spravochnik-po-funkciyam-i-klassam )

Соответственно, получать серверный объект и клиентский придется по-разному. Например, по id серверный alife():object(id) (сюда еще подойдет name из оллспауна), клиентский level.object_by_id(id) ну т.д. Тот же id объекта по-разному получается, у серверного obj.id, у клиентского obj:id()

Как проверяешь, заспавнился ли объект? По срабатыванию биндера? Биндер работает только у онлайнового объекта, но это не значит, что объект вообще не заспавнился, просто не появилась клиентская "копия"

Для чего ее взрываешь? Если чтобы убить кого-то - смысла держать взрывчатку все время в онлайне нет, все равно все нпс и мутни за радиусом алайфа в оффлайне, и их не зацепит. Или для красивого эффекта?

 

Изменено пользователем M31
  • Мастер! 2

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


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

M31 Взрываю чтобы убить, но выглядит это довольно странно, когда вызываешь минометный обстрел, отходишь на 100-150 метров, и он не происходит. Потом подходишь на метров 30, вызываешь повторно - и всё работает. По поводу функционала соглашусь, большинство НПС в оригинальной игре постоянно в онлайне не находятся, хотя такие есть (или, как минимум, такая функция). С учётом этого, проще будет симулировать взрыв, если ГГ находится за радиусом алайфа (партиклы + звук, что можно без особых проблем реализовать). За информацию спасибо.

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


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

Etil в принципе, можно попробовать убивать оффлайновых нпс и мутней через sobj:on_death(sobj), но тогда придется делать перебор всех объектов и сравнивать расстояние от них до взрывчатки.

В онлайн взрывчатку перевести можно так:

alife():set_switch_offline(id, false)
alife():set_switch_online(id, true)
alife():set_interactive(id, true)

В оффлайн:

alife():set_switch_offline(id, true)
alife():set_switch_online(id, false)
alife():set_interactive(id, false)

В _g.script есть функция для проверки, в онлайне объект или нет - is_object_online, можно через нее проверять и при необходимости переводить в онлайн

Хит лучше перенести в net_spawn, так и будет на каждом апдейте хитовать. Можно взрывать не хитом, а через obj:explode(0)


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

А, в _g.script есть и функция с переводом в онлайн - switch_online

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

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


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

Ребят, а как делать иконки персонажей для инвентаря, типо таких вот?

p1K0xoUqClrfNHIWuB_Zmg.png

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

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


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

vladvexa188 невозможно открыть, если ты о иконке в полон рост - то логично, что скринить нпс в удобном месте (3д редактор, сдк, игра), обрезать в фотошопе и вставлять в игру

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


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

Всем привет! Вопрос такой. Как заставить НПС проигрывать анимации покачивания, разминки, почёсывания, поглядывания в даль и т.д. А так же как увеличить вариации анимаций при ранении, чтобы НПС не только падал, но и садился на колени или, хромая, отходил в кусты ( как в билдах )?

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


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

STaLKeRoc xr_meet.script и xr_wounded.script

 

раз задаёшь такие вопросы, то наверное не разбираешься, проще с олр перенести

 

возможно придётся анимации новые регистрировать, state_lib.script и прочее, а конкретнее state_mgr_animation_list.script, пишу по памяти, могу быть неточным

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


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

братишки, надеюсь я в правильную тему обращаюсь, если нет, то прошу словом не бить. В общем такая тема: куда и как прописывается сам "индикатор" перехода с локации на локацию? хочется его или совсем убрать, или прописать в файлах другую картинку. помогайте.

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


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

Pepel возможно ui_common.dds имеет иконку перехода

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


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

Pepel возможно ui_common.dds имеет иконку перехода

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

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

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


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

Pepel для всех одинаковый индикатор вроде как, а может и в скрипте указывается, не могу взглянуть

но возможно у тебя будут мысли как разнообразить, регистрируются метки в level_tasks.script вроде бы, если не так, то в другом похожем, level_***.script

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


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

Pepel для всех одинаковый индикатор вроде как, а может и в скрипте указывается, не могу взглянуть

но возможно у тебя будут мысли как разнообразить, регистрируются метки в level_tasks.script вроде бы, если не так, то в другом похожем, level_***.script

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

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


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

в каких скриптах/конфигах она прописана? возможно я захочу сделать еще один отдельный индикатор отличающийся от этого (как вариант).

само описание текстуры, и как она прикрепляется к мини-карте в map spots.xml или в ПДА находится в одном из xml файлов что в config/ui, поищи там всё что связано с level_changer.

  • Жму руку 1

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


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

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

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

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

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

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

Войти

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

Войти

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

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