Проблема c функцией стримера
#1

Хаю хай с вами Иван.. Ой не то, хеллоу почаны тут проблемка вышла с функцией стримера никак не могу понять как взять количество(count) объектов с указанной позиции, т.e функция -
PHP код:
Streamer_GetNearbyItems(XYZtypeitems[], sizeof(items), 300.0); 
т.e в тип вбиваю - STREAMER_TYPE_OBJECT
но как то странно мне что в items идет массив, показываю информацию принтом printf(..."", items)
Выводит 1 или вообще 0 что я делаю не так?
Reply
#2

Скорее всего так:

PHP код:
new count;
for(new 
isizeof items && items[i] != 0i++)
{
    
count++;
}
printf("%d"count); 
Странно, конечно, что она просто не возвращает количество найденных предметов.
Reply
#3

Quote:
Originally Posted by stabker
Посмотреть сообщение
Скорее всего так:

PHP код:
new count;
for(new 
isizeof items && items[i] != 0i++)
{
    
count++;
}
printf("%d"count); 
Странно, конечно, что она просто не возвращает количество найденных предметов.
Неа вообще не то, вообще 0 эффекта.
Reply
#4

Кто нибудь поможет, нет?
Reply
#5

Quote:
Originally Posted by Salik
Посмотреть сообщение
Кто нибудь поможет, нет?
PHP код:
for(new isizeof itemsi++)
{
    
printf("%d"items[i]);

Если так сделать, то что выводит?
Reply
#6

Разные вещи и то каждый раз почти рандом
Reply
#7

Только что проверил, все работает как надо.
Reply
#8

Можешь скинуть пример что-бы Объекты ловил.
Reply
#9

Quote:
Originally Posted by Salik
Посмотреть сообщение
Можешь скинуть пример что-бы Объекты ловил.
PHP код:
CreateDynamicObject(1950010000.010000.010000.0000); 
CreateDynamicObject(1950010000.010000.010000.0000); 
CreateDynamicObject(1950010000.010000.010000.0000); 
 
new 
items[10] = { -1, ... }; //массив должен быть заполнен одинаковыми значениями (функция не обнуляет массив!), которые не могут быть идом предмета из стримера 
 
Streamer_GetNearbyItems(10000.010000.010000.0STREAMER_TYPE_OBJECTitemssizeof items10.0); 
new 
amount
printf("Иды найденных объектов:"); 
for(; 
amount sizeof items && items[amount] != -1amount++) //-1 это значение, которым были забиты все ячейки массива 

    
printf("%d"items[amount]); 

 
printf("Всего найдено объектов: %d"amount); 
Примерно так я тестил и все работало.
Reply
#10

Это типа для 500 объектов массив на 500? Жесть получается какая-то...

--

Я хотел сделать функцию фриза с кол-вом объектов т.e (сколько объектов * 2 + пинг + 250) таймером фриз, получается нагруженной функцией для большого онлайна, т.e если в массиве перезапись идет то норм?
Reply
#11

Quote:
Originally Posted by Salik
Посмотреть сообщение
Это типа для 500 объектов массив на 500? Жесть получается какая-то...

--

Я хотел сделать функцию фриза с кол-вом объектов т.e (сколько объектов * 2 + пинг + 250) таймером фриз, получается нагруженной функцией для большого онлайна, т.e если в массиве перезапись идет то норм?
Оказывается, инфа в вики устарела (https://github.com/samp-incognito/sa...gin/issues/225). Функция уже возвращает количество ВСЕХ предметов в радиусе, так что можете делать так:

PHP код:
new items[1];
  
new 
amount Streamer_GetNearbyItems(10000.010000.010000.0STREAMER_TYPE_OBJECTitemssizeof items10.0);
//amount будет хранить количество объектов 
если нужно просто получить их количество.
Reply
#12

Воу воу воу, спасибо, теперь нужно сделать функцию фриза индивидуальной)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)