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

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

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

  Информация (Показать)

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

  Читать рекомендуется. (Показать)

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий
  01.10.2019 в 01:51, naxac сказал:

for i = 1, count do

хорошо, а COUNT - сколько ставить? Если больше 300000 - вылет

upd: попробуй сам перебрать вертексы и сам всё увидишь, не работает такой перебор, он всё не перебирает.

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

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

@Баба ЯГА, вот так только что попробовал, всё работает:

  Код (Показать)

вот что получил:

  Лог (Показать)

 

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@naxac, точно, проверил, всё работает! Ты меня просто спас :159:

Ничего не пойму, а чего у меня вылетало тогда? Я же вроде всё тоже-самое делал... :russian_ru:

  01.10.2019 в 01:38, naxac сказал:

с помощью, например, Graph Viewer

где его взять? Чтобы каждую локацию не декомпилировать для LE?

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

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

@naxac, спасибо! :drinks:

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

Ссылка на комментарий
  01.10.2019 в 02:30, Баба ЯГА сказал:

Я же вроде всё тоже-самое делал... :russian_ru:

Вообще не то же самое. Ты перебирал game-вертексы, game-вертексы объединены в game_graph, у game-вертекса есть game_vertex_id. Соответствуют graph_point в СДК. Их на локацию в среднем по 250 штук, ну и на всю игру тысяч 5.

А есть level-вертексы с level_vertex_id. Соотвествуют аи-нодам в СДК, на каждой локации по 500к.

 

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

Интересует вопрос навигации НПС в оффлайне и на другие локации. Для того чтобы отправить куда-то НПС (он может уходить в оффлайн и переходить на другие локации) используется метод что-то вроде :set_move_path(). Я писал схемы логики без патч и лук поинтов, НПС передвигаются/стоят на основе данных левел вертексов, по сути задаем НПС поворот и заставляем идти пока дистанция до левел вертекса будет достаточно мала, это всё работает на онлайновском НПС и в пределах локации. Меня интересует вопрос можно ли скриптово без использования патч поинтов заставить НПС ходить в оффлайне и на другие локации?

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

@Баба ЯГА, обрати внимание на модуль lua_helper. В нём есть уже готовые функции как для поиска минимальных и максимальных game- и level-вертексов на локации, так и для определения ближайшего вертекса к заданным координатам ( а также куча других полезных функций). Если нет желания интегрировать весь модуль в свой мод, можно как минимум изучить реализацию.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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

@abramcumner, начинаю вникать потихоньку...

@Kirgudu, обязательно посмотрю.

 

Ребята, как поставить метку на карту по заданным координатам? Не на объект, а просто в нужную точку на карте?

upd:  есть идея поставить пустой рестриктор и на него поставить метку, но возникает вопрос - можно ли ставить пустой рестриктор и будет ли это большая нагрузка на ресурсы если таких рестрикторов и меток будет скажем - 500 штук?

upd2: где-то видел не могу найти - как заспавнить пустой рестриктор через скрипт?

Нашёл, вот так можно?

local sobj = alife():create( "space_restrictor", pos, lv, gv )

upd3: и ещё. можно ли поставить метку на level_vertex?

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

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

@Баба ЯГА,

initial, upd: никак, можно, не будет.

upd2: сам же спрашивал и уже получал ответ здесь.

upd3: только на объект.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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

@Kirgudu, понял, спасибо. Возник вопрос: 

как узнать gv вертекса. если я знаю ID и позицию (координаты)?

local lvid = 30087
local vpos = level.vertex_position( lvid )
local sobj = alife():create( "space_restrictor", vpos, lvid, gv ) -- КАК УЗНАТЬ gv ???

 

Как узнать gv ?? :russian_ru:

  01.10.2019 в 13:14, Kirgudu сказал:

сам же спрашивал и уже получал ответ здесь.

я помню что спрашивал уже это, искал тут, но не нашёл, пришлось спросить ещё раз... :blush:

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

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

@Баба ЯГА, навскидку на ум приходит только перебор вертексов вокруг твоих координат и определение вертекса с минимальным расстоянием. См. комментарии выше и lua_helper.

И прекрати флудить, задавая те же вопросы другими словами.

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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

 @Kirgudu, ты не понял, это всё мне уже @naxac выше подсказал, это всё готово уже - нахожнение веретексов вокруг ГГ, в итоге я знаю веретексы вокруг ГГ и их координаты, но не знаю как получить game_vertex - для level вертекс, ну я не знаю как ещё объяснить. Вот я ж выше писал:

local sobj = alife():create( "space_restrictor", ЭТО ЕСТЬ, ЭТО ЕСТЬ, ЭТО КАК УЗНАТЬ??? )

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

Ссылка на комментарий
  01.10.2019 в 08:41, Graff46 сказал:

можно ли скриптово без использования патч поинтов заставить НПС ходить в оффлайне и на другие локации?

В пределах локации можно и проще, по координатам - npc:set_dest_level_vertex_id(lvid)

Для перемещения же на другие локации вроде надо работать с привязкой НПС к смартам. Что-то подобное обсуждали давно здесь.

 

@Баба ЯГА, я-то всё прекрасно понял, а тебе все необходимые подсказки уже дали.

У тебя есть level-вертекс и его координаты. Для поиска game-вертекса можно воспользоваться перебором, аналогичным тому, который предложил @naxac для level-вертексов. Например:

  код (Показать)

 

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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

@Kirgudu, попробую объяснить ещё раз что мне нужно, курил я твой код никуда его не смог прикрутить...

Итак:

1) перебираю вокруг ГГ все вертексы в радиусе 20 метров

2) заношу их в таблицу вида = id вертекса, координаты вертекса

3) спавню пустые рестрикторы по координатам найденных вертексов и на них ставлю метки. НО. чтобы заспавнить рестриктор, мне нужен ГЕЙМ ВЕРТЕКС, вот ты перебираешь гейм вертексы. а как мне определить к какому ЛЕВЕЛ вертексу подходит ГЕЙМ вертекс которые ты перебираешь? Ещё не понял? Ну нашёл я в радиусе 20 метров по твоему скрипту 4 гейм вертекса и что мне с ними делать? У меня таблица, в ней, для примера:

t = { 30087 = { -120.00,-18.00,-200.00 } }

вот из твоего скрипта нашло 4 гейм вертекса = 47, 22,17,44 - и как мне узнать какой именно ГЕЙМ ВЕРТЕКС нужен для спавна -> 30087 = { -120.00,-18.00,-200.00 }?  

t = { 30087 = { -120.00,-18.00,-200.00 } }

вот мне нужно заспавнить рестриктор:
local sobj = alife():create( "space_restrictor", 30087-120.00,-18.00,-200.00 ,  а сюда какой из твоих геймвертексов ставить??? их четыре - какой сюда? )

@Kirgudu ???

  01.10.2019 в 13:39, Kirgudu сказал:

for i = gvid_min, gvid_max do -- gvid_min, gvid_max - минимальный и максимальный game-вертексы для данной локации

И откуда мне знать какой минимальный гейм вертекс на локации вертекс а какой максимальный.

Изменено пользователем W.A.S.P.
красный цвет
Добавлено  Опричник,

Правила форума, п. 2.3 (красный цвет в постах)

Предупреждение.

Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... ©

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

@Баба ЯГА, полегче, полегче. Красным цветом и прописными буквами пиши в другом месте. Надо разжевать и в рот положить, да? Извини, не по адресу обратился. Предпочитаю дать пищу для самостоятельных размышлений, хотя бы минимальных.

  01.10.2019 в 16:27, Баба ЯГА сказал:

Ну нашёл я в радиусе 20 метров по твоему скрипту 4 гейм вертекса и что мне с ними делать?

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

 

  01.10.2019 в 16:27, Баба ЯГА сказал:

И откуда мне знать какой минимальный гейм вертекс на локации вертекс а какой максимальный.

 

  01.10.2019 в 09:18, Kirgudu сказал:

обрати внимание на модуль lua_helper. В нём есть уже готовые функции как для поиска минимальных и максимальных game- и level-вертексов на локации, так и для определения ближайшего вертекса к заданным координатам ( а также куча других полезных функций)

 

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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

Времени доброго! А подскажите пожалуйста, куда ковырнуть, чтобы навыки по обходу аномалий у NPC откорректировать? Только я в них влетаю, ни одного трупа НПС от аномалий :|

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

@Graff46, Совсем не лишне бы было указать версию/патч, и допустим с Кругловым могут возникнуть неполадки (правится), да и зомбарям как нить отрезать (бреду себе).:)

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

@Graff46, а в солянке та же схема интегрирована от товарища Ред?

Просто поведение НПС  несколько отличается - соляночной от этого мода.

В солянке НПС плавно обходят аномалии, а в моде они начинают впадать в режим "готов стрелять" и с пушкой в руках оббегают аномалию по маленькому шагу, выглядит очень странно

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

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

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

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

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

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

Войти

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

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

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