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

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

 
 
if (math.random() < test_complete) then something_test() return end

Так можно делать? Я имею ввиду при соблюдении условий функция something_test воспроизведется нормально? а все, что под этой строкой не выполнится?

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

76561198152189716.png

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


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

ian98 да

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

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


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

N42 спасибо. я в принципе был уверен на 99.99%, но все-таки далек от темы. уточнил. 


76561198152189716.png

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


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

Можно как-то получить координаты отметки на задание из pda? Отследить по Стори ид? И просто получить координаты через :position()?

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

76561198152189716.png

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


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

ian98 координаты метки на глобальной карте? Координаты объекта, на котором метка? Что именно надо-то? Если координаты метки на карте - никак

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

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


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

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


76561198152189716.png

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


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

ian98 координаты метки или координаты объекта, на котором метка? Если координаты объекта - строго определенный объект или рандомный? Задание определенное? Описывай подробнее, что нужно, и что ты хочешь сделать, если хочешь получить нормальный ответ

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


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

FeeRuMK1NG , у меня вот на уме только OGSR CoP  оружие с  ЗП в принципе норм пак. Но  можешь сообщить если найдёшь что то на подобии STCoP пж

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


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

N42 не знаю как лучше. Где правильнее и удобнее.

Если объектов к метке привязано несколько, то можно и рандомный из них. Тут я тоже не знаю просто как это работает и где почитать об этом. Ну я и не искал пока особо, если честно.

Задание активное, если есть такая возможность.

Координаты метки на карте никак, но на глобальной карте можно? Я не понимаю разницы между картой и глобальной картой.


76561198152189716.png

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


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

ian98 активное задание - оно какое? Строго с определенным идом или разные? Прописанное в task_manager.ltx или просто в gameplay? Про карту уже неважно, уже стало понятно, о чем речь. Разницы между миникартой и глобальной нет, просто изначально вопрос непонятен был, показалось, что речь может быть про координаты метки на картинке карты, а не про координаты объекта с меткой в игре. Поэтому надо подробнее писать, чтобы сразу понятно было, а не растягивать выяснение на кучу сообщений. И здорово ты проигнорил мою просьбу писать подробно что ты хочешь сделать

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


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

N42 Подробнее, вот у нас есть задание, любое, от убить сталкера(сайдквест) до отключить антенны выжигателя(сюжетка). Квесты подобные сопровождаются меткой на карте, чтобы игрок знал куда ему идти. Я хочу, если один из таких квестов активный, получить координаты такой метки. На самом деле, необязательно даже выдавать координаты метки прям активного квеста(в табе), можно одного из активных. Мне кажется второе было бы легче сделать. 

 

Еще, может знаешь, как пользоваться send_event_key_press(number)? Из движка огср функция. Я пробовал так

level.send_event_key_press(28), но ничего в игре не произошло. Возможно я просто не понял как это работает в принципе... Я думал и продолжаю так думать, что функция вместо игрока нажимает на кнопку. Этого бы мне и хотелось изобразить в своих задумках. 

Спойлер

image.png.8abf464230e534fbf1f3ea919a6978d0.png

 


76561198152189716.png

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


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

такой вопрос, как поменять скорость перезарядки? Я сделал новую анимацию перезарядки для оружия, но длительность анимации и не совпадает со дефолтной скоростью перезарядки


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

Здравствуйте. Необходимо проверить наличие нескольких НПС на локации либо по сиду, либо по имени, т.к. по сюжету могут "дойти" до локации как все 6, так может дойти и максимум 2 т.е. от одного до четвех НПС могут "погибнуть по дороге". После диалогов со всеми НПС (диалоги есть у всех, но поскольку 4 могут "не дойти" отработать могут не все) дошедшие телепортируются (т.е. удаляются) и после их удаления необходимо запустить функцию funkciya.

Есть рестриктор (на всю локацию, т.е. ГГ постоянно находится в нем) с логикой:

[logic]
active = sr_idle 
[sr_idle]
on_actor_inside = {+del_telep_vis !est_npc} %=funkciya%

Есть функция est_npc в  xr_conditions

local npc = {
  level_object_by_sid(441),
  level_object_by_sid(442),
  level_object_by_sid(443),
  level_object_by_sid(444),
  level_object_by_sid(445),
  level_object_by_sid(446)
}

function est_npc()
for _, v in ipairs(npc) do
if npc and level.name() == "l02_garbage" then 
 return true 
 else 
 return false 
 end 
 end
end

соответственно в эффект.скрипт есть функция funkciya, но что-то я сделал наверное не так: почему-то моя конструкция работает некорректно. Т.е. при получении инфо del_telep_vis и удаления всех оставшихся НПС с локации, функция funkciya может сработать, может не сработать (сама функция funkciya 100% рабочая), некорректно работает только вся конструкция в сборе..

 

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

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


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

Возможно ли как-нибудь изменить отношение к актору нпс, находящемуся в офлайне на другой локации?

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


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

ian98 тогда будет проще в цикле перебрать объекты и проверять наличие метки level.map_has_object_spot(id, "метка"). Или через биндер на нетспавне нпс, если координаты у нпс в онлайне. Но тоже смотря когда и сколько раз это получается, если часто - надо оптимизировать, а не циклы крутить. Получить цель можно только у квестов, которые прописаны в task_manager.ltx (в task_manager.script создается табличка активных квестов с параметрами). Если задание из xml файлов - цель не получить (или составлять для них конфиг с идами заданий и целями)

В 28.06.2023 в 16:17, ian98 сказал:

может знаешь, как пользоваться send_event_key_press(number)?

Попробуй писать не цифры, а так level.send_event_key_press(DIK_keys.DIK_RETURN). Я за этим движком больше не слежу, хз что там, работает ли вообще

frankenshtayn level_object_by_sid возвращает объект, у тебя таблица с объектами получается. Оставь в таблице сиды или имена, и потом в цикле сравнивай

20 часов назад, frankenshtayn сказал:

for _, v in ipairs(npc) do

if npc and level.name() == "l02_garbage" then

Переменной npc нету, нечего проверять. Точнее, только существование таблицы проверяет. Или есть другая функция с удалением полей таблицы?

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

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


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

Всем доброго времени суток Мододелы!Есть вопрос,"Как сделать написать нормальный сценарий к моду?Насколько я знаю 60% успешного мода,это сценарий,так я задаюсь вопросу,как написать нормальный сценарий?а не фуфло...

 

 

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


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

Stalkervernite в смысле, как? Тебе с технической точки зрения или с художественной?

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


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

Hunter Привет,с точки зрения художественной

 

 

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


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

Переменной npc нету, нечего проверять.

Таблица содержит имена:

local npc = {
  "вася",
  "петя", 
  "саша",
  "дима",
  "федя",
  "коля"
}

В попыхах просто не тот вариант вставил в пост. А вообще с таблицами у меня беда. Как отследить нпс по сиду или имени, это понятно, а вот как отследить отсутствие данных нпс на локации в данном случае? Не, можно конечно обьявить их всех локальными и перебирать "если нету васи и нету пети...", но хотелось бы во первых "красивее", а во вторых понять как.

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


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

frankenshtayn я правильно понял, есть 6 равнозначных нпс, и если осталось 2 любых - они удаляются? Или есть важные среди них? Если они равнозначны - можно сделать счетчик, который сохраняется гг в пстор, добавить каждому нпс в on_death функцию с увеличением счетчика и потом в рестрикторе проверять значение, если == 4 - удалять других нпс

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

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


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

N42 Привет,что такое cond,я знаю что это проверка,в каких случаях она употребляеться,и как пишиться.

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


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

Stalkervernite привет, имя какой-то переменной, а какой - надо в коде смотреть, гадать не буду

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

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


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

Привет всем,знаете как после выдачи инфопоршня нас перебрасывала в титры

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


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

frankenshtayn я правильно понял, есть 6 равнозначных нпс, и если осталось 2 любых - они удаляются? 

Есть 6 нпс, двое из них с увеличенным иммунитетом. По сюжету гг с этими нпс проходит определенный маршрут с несколькими боёвками, затем переходят на другую локацию, затем после дохождения до нужной точки все телепортируются.

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

После того, как все нпс удалены необходимо, запустить функцию. Т.е. отследить, есть ли на локации эти нпс, и если их нет, то запускаем нужную функцию.

В принципе всё это реализовано и работает, но как я уже говорил, хотелось бы сделать проверку отсутствия этих нпс на локации одной функцией.


Дополнено 10 минуты спустя
38 минут назад, Stalkervernite сказал:

Привет всем,знаете как после выдачи инфопоршня нас перебрасывала в титры

Нужно вызвать функцию game_credits из xr_effects.script и запустятся титры

  • Лайк 1

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


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

frankenshtayn В том то и дело,как саму функцию вызвать,можешь скрипт написать

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


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

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

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

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

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

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

Войти

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

Войти

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

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