Electr0 Опубликовано: 4 июля 2013 Поделиться Опубликовано: 4 июля 2013 Т.к стандартная функция в SourceMod GetEntityCount() по сути гонит, а не указывает реальное число Entity. то для определения этого понадобится что-то по серьезнее например это.. Usage / Использование: PrintToChatAll("%i", GetEntitiesCount()); Source / Код: stock GetEntitiesCount() { new count=0; for(new i=0; i<2048; i++) { if(IsValidEntity(i)) { count++; } } return count; } Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
sheo Опубликовано: 4 августа 2013 Поделиться Опубликовано: 4 августа 2013 GetEntityCount показывает максимальный id энтитей в данный момент. Правильно так: stock GetEntitiesCount() { new count=0; new entcount = GetEntityCount(); for(new i=0; i<=entcount; i++) { if(IsValidEntity(i)) { count++; } } return count; } Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Electr0 Опубликовано: 9 августа 2013 Автор Поделиться Опубликовано: 9 августа 2013 в общем проверил то о чем обсуждали в стиме, чекал так: public Action:CmdTest2(client, agrs) { ReplyToCommand(client, "GetEntityCount: %d \nGetEntityCountMy: %d", GetEntityCount(), GetEntityCountMy()); return Plugin_Handled; } stock GetEntityCountMy() { new max=0; for(new i=0; i<2048; i++) { if(IsValidEntity(i)) { max = i; } } return max; } при любых обстоятельствах функция из SourceMod по значениям уходила от моей на 6-20 чисел в плюс. в принципе при таких обстоятельствах можно переключится на нее, т.к это меньше чем значение по дефайну 2048, но тут встает вопрос если SourceMod так же считает максимальный индекс то смысла в использовании нет, ибо суммарное кол-во проходов будет больше чем просто пройти 2048 раз. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.