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

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


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

Наверное потому, что

name = pred_dog

и

[predbannik]
dog = weak
Изменено пользователем dsh
Ссылка на комментарий

dsh, дело в том, что dog - группировка, а pred_dog - имя смарта. И самое главное, они не разбредаются по локации, а как бы под логикой home сидят, только в точку pred_dog_home_1 не идут.

 

Или это не важно, а главное в любом месте локации их заспавнить, они там и будут под домашней логикой сидеть?

 

И еще вдогонку вопрос:

на что практически в секции смарта влияют строчки distance и radius?

Сталкер - наше всё!

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

@AndrewMor,  сделай для проверки так. Вот ты заспаунил их

local sobj = alife():create()

на всякий случай потом сделай

sobj:brain():update()

и выведи в лог sobj:smart_terrain_id()

Вот и поймешь, взял их смарт или нет. А потом уже с остальным будешь разбираться.

 

Про distance и radius не скажу, не знаю. В smart_terrains.script я никакую обработку этих параметров не встречал. Возможно для смартов оно и не используется.

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

dsh, а в какое место сию проверку поместить

 

local sobj = alife():create()

sobj:brain():update()

выведи в лог sobj:smart_terrain_id()

 

в функцию спавна, прямо в тело цикла?

 

for s = 1, 3 do
alife():create("dog_weak",vector():set(128.0493927002,16.724941253662,63.131950378418),1144984,4025)
end

 

Я просто со скриптами на вы, надеюсь, пока.

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

Сталкер - наше всё!

Ссылка на комментарий
@AndrewMor, может, ты забыл указать в точках путей количество мобов, которые будут записаны на работу этого пути? В general_lair это читается из way_point'ов. И еще вроде какие-то параметры туда пишутся. Изменено пользователем naxac

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

naxac.gif

Ссылка на комментарий
  naxac писал(а):
может, ты забыл указать в точках путей количество мобов, которые будут записаны на работу этого пути? В general_lair это читается из way_point'ов. И еще вроде какие-то параметры туда пишутся.

Точку одну указал, совпадающую с центром смарта:

 

  Показать

 

 

Смотрел на примере кровососа у элеватора на Кордоне. Может, их три надо было указать?

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

Сталкер - наше всё!

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

@AndrewMor, capacity в твоем гулаге - 3, а по умолчанию на каждую точку "home" в general_lair назначается 10 работ. Попробуй в точке явно указать количество:

p0:name = name00|count=3

 

Или еще возможно такое, что мобы уходят на более приоритетные работы в другие гулаги. Тогда им в custom_data надо указать конкретный смарт.

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

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

naxac.gif

Ссылка на комментарий
  naxac писал(а):
capacity в твоем гулаге - 3, а по умолчанию на каждую точку "home" в general_lair назначается 10 работ. Попробуй в точке явно указать количество: p0:name = name00|count=3

Попробую.

 

 

 

  naxac писал(а):
Или еще возможно такое, что мобы уходят на более приоритетные работы в другие гулаги. Тогда им в custom_data надо указать конкретный смарт.

Они никуда не уходят. Они сидят в точке спавна. И никакой кастом-даты я им не указывал. Может, неправильно объяснил.

В общем, я создал смарт и хочу, чтобы мобы спавнились в другой точке, но шли бы каждый на свою работу. Как им тогда way-point правильно прописать?

 

И как тогда правильно их спавнить, указав кастом-дату?

Не в первый раз сталкиваюсь с таким вылетом:

 

  Показать

 

 

Возникает редко и в разных ситуациях. Конкретно этот вылет возник при переходе из Припяти на Радар. Причем здесь вообще ph_door.script? Ни в Припяти, ни на Радаре никаких дверей нету.

Изменено пользователем AndrewMor
Добавлено BFG,

На Радаре 1 дверь точно - на развилке.

На Припяти 2 двери есть точно - в гостинице и в детсаду.

Сталкер - наше всё!

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

 

 

  AndrewMor писал(а):
в функцию спавна, прямо в тело цикла?

 

Да, вот так вот

for s = 1, 3 do
  local sobj = alife():create(
    "dog_weak",
    vector():set( 128.0493927002, 16.724941253662, 63.131950378418 ),
    1144984,4025
  )
  sobj:brain():update()
  log2( "XXX: %s: smart_terrain_id = %s", sobj:name(), sobj:smart_terrain_id() )
end

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

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

Всем привет.Кто-нибудь может подсказать как на нового нпс  поставить метку через скрипт, которая после его смерти исчезает. А также как через скрипт поставить метку  на карте в заданных координатах  . Заранее спасибо.

Изменено пользователем нерон
Добавлено  HellRatz,

Перенесено. Надеюсь вопрос был для ТЧ.

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

@нерон

Читай все-же по началу правила разделов форума - твой вопрос в "Скриптование".

Установка метки на объект - ф-ции пространства имен "level"  - map_add_object_spot(....) и map_add_object_spot_ser(....). В чем разница между ними и какие аргументы принимают - читай "Справочник по ф-циям и классам".

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

Добавлено  HellRatz,

Перенесено.

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

dsh, написал, как ты и сказал, только log2 заменил на printf. Вот кусок лога:

 

  Показать

 

 

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

 

Спасибо за наводку!

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

Сталкер - наше всё!

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

@AndrewMor,  ну судя по отладке их не только смарт взял, но и гулаг их на работу назначил. А должны-ли они на эту точку идти? Вроде бы, я не уверен, они должны держаться в определенном радиусе от этой точки. Ты их насколько далеко заспаунил от самого смарта и от этой точки?

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

@dsh, ну мне и надо, чтобы они на работу вышли. А заспавнил примерно метрах в шестидесяти.

 

Но возник еще вопрос: почему при подсчете численности гулага выдается 0? Считал так:

 

  Показать

 

Сталкер - наше всё!

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

 

 

  AndrewMor писал(а):
xr_gulag.getGulagPopulation

 

Не знаю, что у тебя возвращает xr_gulag.getGulagPopulation, кол-во в гулаге или кол-во в гулаге пришедших к месту работы. Сдается мне, что второе, если принимать во внимание отладочный вывод. Значит по мнению xr_gulag, никто из собак на место работы не дошел. Дошедшими на работу считаются те, кто находится в радиусе job_position_threshold от первой точки пути работы. Если у тебя не переделанный каким-то образом xr_gulag.

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

 

 

  dsh писал(а):
Дошедшими на работу считаются те, кто находится в радиусе job_position_threshold от первой точки пути работы. Если у тебя не переделанный каким-то образом xr_gulag.

xr_gulag не переделан никоим образом. А job_position_threshold прописан 120, вроде бы в радиус попадает. Есть еще функция getGulagPopulationComed, считающая только пришедшие персонажи, но и она выдает 0. Почему так?


dsh, ты оказался прав. Функция выдавала количество дошедших до работы мобов, потому и 0. Другая функция выдавала общее население смарта - 3. Но фишка в том, что если всех собак перебить, население смарта все равно 3. А мне надо знать количество живого населения. Как такое сотворить?

Сталкер - наше всё!

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

Добрый день!!!

Не подскажите названия инфопоршней выдаваемых по отключении установок в х-18, х-16 и бункере???

Добавлено BFG,

Это просто издевательский оффтоп.

Строгое предупреждение.

п.2.1.1 правила форума АМК

===================

ПРОЧИТАЙТЕ ВНИМАТЕЛЬНО НАЗВАНИЕ ТЕМЫ И САМЫЙ ПЕРВЫЙ ПОСТ.

Добавлено Вспышка,

Перенёс из темы "Ищу файлы/моды/аддоны"

Жизнь следует измерять поступками, а не временем...

Ссылка на комментарий
@AndrewMor, тут уж я не помогу. Все это надо в живую отлаживать, а не по переписке. А это можешь сделать только ты.
Ссылка на комментарий
  Цитата
Не подскажите названия инфопоршней

 

Глянь у меня в подписи...

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

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

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

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

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

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

Войти

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

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

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