Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
rakovskiy28

Как получить все здание в определенном радиусе?

Задача, определить есть ли нужно здание в радиусе 50 метров.

 

Делаю так:

 

ref array<Object> nearest_objects = new array<Object>;
ref array<CargoBase> proxy_cargos = new array<CargoBase>;
GetGame().GetObjectsAtPosition(player.GetPosition(), 50, nearest_objects, proxy_cargos);
  
for (int i = 0; i < nearest_objects.Count(); ++i){
	string itemName = nearest_objects.Get(i).ToString();
	itemName.ToLower();
                                            
    if (itemName == "land_village_store"){
		return true;                                            
	}
}

 

Но в итоге условие не срабатывает. nearest_objects возвращает массив других объектов, но нужных мне зданий там нет.

Я так понимаю мне нужна другая функция, а не GetObjectsAtPosition?

Изменено пользователем rakovskiy28 (история изменений)

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


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

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

  • 0
1 минуту назад, rakovskiy28 сказал:

Как дебажить результат выполнения функции/переменной? 

nearest_objects.Debug();

 

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


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

Посмотрите что возвращает данная функция, она возвращает объект, а не его класснейм, и поэтому ваше условие (itemName == "land_village_store") никогда не сработает.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
6 минут назад, DrHipson сказал:

Посмотрите что возвращает данная функция, она возвращает объект, а не его класснейм, и поэтому ваше условие (itemName == "land_village_store") никогда не сработает.

Как дебажить результат выполнения функции/переменной? 

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


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

И сразу спрошу, чтобы не создавать новые темы. 
Есть какая-то IDE с автодополнением кода? И где искать документацию ко всем функциям/классам?

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
4 минуты назад, rakovskiy28 сказал:

И сразу спрошу, чтобы не создавать новые темы. 
Есть какая-то IDE с автодополнением кода? И где искать документацию ко всем функциям/классам?

DayZ Tools - Workbench - Script Editor
Инфа о мотодах только в комментах рядом с самим методом(но часто её нет), либо самому изучать код что-бы понять что этот метод делает, иногда понятно по его названию.

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


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

nearest_objects.Debug();


nearest_objects.Debug();

 

Вау, спасибо, проверю. 
Результат в консоли будет? И нужно для дебага какой-то параметр в игру передавать? 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, rakovskiy28 сказал:

Вау, спасибо, проверю. 
Результат в консоли будет? И нужно для дебага какой-то параметр в игру передавать? 

Результат будет в логах, нужно просто включить логирование и все.

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


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

Еще для дебага можно использовать Print(); либо дебагер в Script Editor(он похож на дебаг в визуалке)

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


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

Создайте аккаунт или войдите в него для комментирования

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

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

Зарегистрируйтесь для получения аккаунта. Это просто!

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

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

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

Поддержка