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 раз. Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.