Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.

IEntitySystem* pEntitySystem = gEnv->GetIEntitySystem();
if (!memory::valid(pEntitySystem))
return;
IEntityIt* pEntityIterator = pEntitySystem->GetEntityIterator();
if (!memory::valid(pEntityIterator))
return;
IGameFramework* pGameFrameWork = IGameFramework::Singleton();
if (!memory::valid(pGameFrameWork))
return;
IActorSystem* pActorSystem = pGameFrameWork->GetIActorSystem();
if (!memory::valid(pActorSystem))
return;
IActor* localPlayer;
pGameFrameWork->GetClientActor(&localPlayer);
if (!memory::valid(localPlayer) || !localPlayer->GetEntity() || localPlayer->IsDead())
return;
int32_t entityCount = 0;
for (; IEntity * pEntity = pEntityIterator->Next();)
{
if (!memory::valid(pEntity))
continue;
IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId());
if (targetPlayer && targetPlayer->GetEntity())
{
if (!memory::valid(targetPlayer))
continue;
if (targetPlayer->IsDead())
continue;
IEntity* targetEntity = targetPlayer->GetEntity();
if (!memory::valid(targetEntity))
continue;
auto localId = localPlayer->GetEntity()->GetRawId();
auto targetId = targetEntity->GetRawId();
if (localId == targetId)
continue;
entityCount += 1;
}
}
if (memory::valid(pEntityIterator))
pEntityIterator->Release();
это ты получил не кол-во ентити, а кол-во акторов что не сдохли.
C++:IEntitySystem* pEntitySystem = gEnv->GetIEntitySystem(); if (!memory::valid(pEntitySystem)) return; IEntityIt* pEntityIterator = pEntitySystem->GetEntityIterator(); if (!memory::valid(pEntityIterator)) return; IGameFramework* pGameFrameWork = IGameFramework::Singleton(); if (!memory::valid(pGameFrameWork)) return; IActorSystem* pActorSystem = pGameFrameWork->GetIActorSystem(); if (!memory::valid(pActorSystem)) return; IActor* localPlayer; pGameFrameWork->GetClientActor(&localPlayer); if (!memory::valid(localPlayer) || !localPlayer->GetEntity() || localPlayer->IsDead()) return; int32_t entityCount = 0; for (; IEntity * pEntity = pEntityIterator->Next();) { if (!memory::valid(pEntity) || !pEntity) continue; IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId()); if (targetPlayer && targetPlayer->GetEntity()) { if (!memory::valid(targetPlayer)) continue; if (targetPlayer->IsDead()) continue; IEntity* targetEntity = targetPlayer->GetEntity(); if (!memory::valid(targetEntity)) continue; auto localId = localPlayer->GetEntity()->GetRawId(); auto targetId = targetEntity->GetRawId(); if (localId == targetId) continue; entityCount += 1; } } if (memory::valid(pEntityIterator)) pEntityIterator->Release();
Ты в шары ебешься или у тебя параша в глазах застряла? Нахуя челу количество ентити что сдохло, гений хуев бля, кодецкий работает, верное количество отображает, дабл проверка ток лишняя, показывай свое решение либо съеби в тред по майну плсэто ты получил не кол-во ентити, а кол-во акторов что не сдохли.
ну и кринж
if (!memory::valid(targetEntity)) continue;
if (!targetEntity) continue;
да и твой предложенный код это бесполезный мусор
получить количество ентити на карте
актор != ентитиверное количество отображает
будь умнее чертикentityCount += 1;
entityCount++;
ну да ну да. цикл по твоему не проверяет это? и зачем тебе две одинаковых проверки?if (!memory::valid(pEntity) || !pEntity) continue;
for (; IEntity * pEntity = pEntityIterator->Next();)
while (IEntity * pEntity = pEntityIterator->Next())
for (IEntity * pEntity = pEntityIterator->Next(); pEntity; pEntity = pEntityIterator->Next())
if (!memory::valid(pEntityIterator)) return;
if (!memory::valid(pGameFrameWork)) return;
if (!memory::valid(pActorSystem)) return;
auto localId = localPlayer->GetEntity()->GetRawId(); auto targetId = targetEntity->GetRawId();
localPlayer->GetEntityId()
у тебя наверное вообще нет мозга.if (targetPlayer && targetPlayer->GetEntity()) { if (!memory::valid(targetPlayer)) continue;
int GetCount(IActor* localPlayer)
{
int actorCount = 0;
IEntityIt* pEntityIterator = gEnv->pEntitySystem->GetEntityIterator();
while (IEntity * pEntity = pEntityIterator->Next())
{
if (pEntity->IsHidden()) continue;
if (pEntity->GetId() == localPlayer->GetEntityId()) continue;
IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId());
if (!targetPlayer || targetPlayer->IsDead()) continue;
actorCount++;
}
pEntityIterator->Release();
return actorCount;
}
будь умнее чертик
Код:entityCount++;
++EntityCount
Твои познания супер великиактор != ентити

будь умнее чертик
Код:entityCount++;
чем тебе while не устроил?
Код:while (IEntity * pEntity = pEntityIterator->Next())

И хули? Ты просто убрал чеки на валид птр + убрал лишнюю хуетень с айдишниками тем самым урезав код, суть не поменялась, кол-во ентити один хуй получается, клоунтак уж и быть сокращу твой код, который серавно не соответствует теме. (так как тут нет конкретики чего ему надо)
C++:int GetCount(IActor* localPlayer) { int actorCount = 0; IEntityIt* pEntityIterator = gEnv->pEntitySystem->GetEntityIterator(); while (IEntity * pEntity = pEntityIterator->Next()) { if (pEntity->IsHidden()) continue; if (pEntity->GetId() == localPlayer->GetEntityId()) continue; IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId()); if (!targetPlayer || targetPlayer->IsDead()) continue; actorCount++; } pEntityIterator->Release(); return actorCount; }
и это не кол-во ентити на карте, а кол-во акторов что не сдохли. тут тебе нужен был не entity iterator, а actor iterator
Пиздец ты попкорн...Нужно же получать количество при первом переборе, а то получим первый раз 0. И что мы с ним будем делать?Посмотреть вложение 271479Код:++EntityCount
кол-во ентити? ты уверен? у тебя только ентити что имеют актор!И хули? Ты просто убрал чеки на валид птр + убрал лишнюю хуетень с айдишниками тем самым урезав код, суть не поменялась, кол-во ентити один хуй получается, клоун
Актор это тоже ентити)кол-во ентити? ты уверен? у тебя только ентити что имеют актор!
в твоем использовании это одно и тоже, отличается то что они возвращают. (например: int result = i++;)Нужно же получать количество при первом переборе, а то получим первый раз 0. И что мы с ним будем делать?
скажи ещё че нибудь хуевое, как будто что то понял в программах на твоём скринеНужно же получать количество при первом переборе, а то получим первый раз 0. И что мы с ним будем делать?Посмотреть вложение 271479Код:++EntityCount
Откуда ты вылез? АнриелКдрскажи ещё че нибудь хуевое, как будто что то понял в программах на твоём скрине
Разница есть. Если мы будем использовать I++, то при первом переборе ентити, это переменная будет равна 0. То есть по сути мы убьем 1 бота, а переменная будет равна 0.в твоем использовании это одно и тоже, отличается то что они возвращают. (например: int result = i++;)
ты несешь абсолютную чепуху.Разница есть. Если мы будем использовать I++, то при первом переборе ентити, это переменная будет равна 0. То есть по сути мы убьем 1 бота, а переменная будет равна 0.
Если нам нужно например отключать хиты после 4 убийств, то у некоторых возникнет путанница, так как надо будет писать if(I == 3). Зачем усложнять себе жизнь?
Так же может быть проблема, если например после 1 хита надо будет что то делать, то есть if(I==0). И как ты с этим работать будешь?
int i = 0;
i++;
printf("i %d");//i 1
int i = 0;
++i;
printf("i %d");//i 1
int i = 0;
int y = ++i;
printf("i %d y %d");//i 1 y 1
int i = 0;
int y = i++;
printf("i %d y %d");//i 1 y 0
Так компилятор это все превратит в inc ax, или ты жаваскриптовых давалок насмотрелся и решил что их принципы работают везде ?Разница есть. Если мы будем использовать I++, то при первом переборе ентити, это переменная будет равна 0. То есть по сути мы убьем 1 бота, а переменная будет равна 0.
Если нам нужно например отключать хиты после 4 убийств, то у некоторых возникнет путанница, так как надо будет писать if(I == 3). Зачем усложнять себе жизнь?
Так же может быть проблема, если например после 1 хита надо будет что то делать, то есть if(I==0). И как ты с этим работать будешь?
int i = 0;
int c = 0;
int a = ++i;
int b = c++;
a != b, b = 0, a = 1
У тебя настолько истощились клетки мозга из за читов на Варфейс, что ты не можешь понять, что ++i и i++ отличаются только возвращаемым значением, то естьОткуда ты вылез? АнриелКдр
Так же советую тебе хотя бы включить свои клетки мозга и залезть в интернет, но, видимо, к сожалению, ты не умеешь ими пользоватьсяC++:int i = 0; int c = 0; int a = ++i; int b = c++; a != b, b = 0, a = 1
У тебя настолько истощились клетки мозга из за читов на Варфейс, что ты не можешь понять, что ++i и i++ отличаются только возвращаемым значением, то есть
А я не то же самое написал? Обезьяна ты умственно отсталаяC++:int i = 0; int c = 0; int a = ++i; int b = c++; a != b, b = 0, a = 1
При первом переборе по циклу, у тебя будет i = 0. Ну так вопрос тебе долбоебу. Как мы будем с ним работать? Допустим нам надо при 1 килле отрубить мультик.А я не то же самое написал? Обезьяна ты умственно отсталая
БЛЯТЬ, Я ЩАС СРУ СИЖУ НА ТУАЛЕТЕ ЕБУЧЕМ, И НАСТОЛЬКО ТЫ ТУПОЙ, ЧТО Я ЩАС ГОВНО ЖРАТЬ СТАНУ, ТЫ - ИМБЕЦИЛ ЕБАНЫЙ, ИДИ УБЕЙСЯ ЖИВОТНОЕ ЕБАНОЕ, Я ДЛЯ ТЕБЯ ЩАС СОЧИНЕНИЕ НАПИШУ ХУЙЛАН С ЭТОГО ЕБУЧЕГО ТЕЛЕФОНА.А я не то же самое написал? Обезьяна ты умственно отсталая
При первом переборе по циклу, у тебя будет i = 0. Ну так вопрос тебе долбоебу. Как мы будем с ним работать? Допустим нам надо при 1 килле отрубить мультик.
Но ты же обезьяна доказываешь мне, что хуй разница
int GetCount(IActor* localPlayer)
{
int actorCount = 0;
IEntityIt* pEntityIterator = gEnv->pEntitySystem->GetEntityIterator();
while (IEntity * pEntity = pEntityIterator->Next())
{
if (pEntity->IsHidden()) continue;
if (pEntity->GetId() == localPlayer->GetEntityId()) continue;
IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId());
if (!targetPlayer || targetPlayer->IsDead()) continue;
actorCount++;
}
pEntityIterator->Release();
return actorCount;
}
int GetCount(IActor* localPlayer)
{
int actorCount = 0;
int actorCountInc = 0;
IEntityIt* pEntityIterator = gEnv->pEntitySystem->GetEntityIterator();
while (IEntity * pEntity = pEntityIterator->Next())
{
if (pEntity->IsHidden()) continue;
if (pEntity->GetId() == localPlayer->GetEntityId()) continue;
IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId());
if (!targetPlayer || targetPlayer->IsDead()) continue;
actorCount =
actorCountInc++;
}
pEntityIterator->Release();
return actorCount;
}
Я посрал. В данном случае нет разницы между ++i и i++БЛЯТЬ, Я ЩАС СРУ СИЖУ НА ТУАЛЕТЕ ЕБУЧЕМ, И НАСТОЛЬКО ТЫ ТУПОЙ, ЧТО Я ЩАС ГОВНО ЖРАТЬ СТАНУ, ТЫ - ИМБЕЦИЛ ЕБАНЫЙ, ИДИ УБЕЙСЯ ЖИВОТНОЕ ЕБАНОЕ, Я ДЛЯ ТЕБЯ ЩАС СОЧИНЕНИЕ НАПИШУ ХУЙЛАН С ЭТОГО ЕБУЧЕГО ТЕЛЕФОНА.
Код:int GetCount(IActor* localPlayer) { int actorCount = 0; IEntityIt* pEntityIterator = gEnv->pEntitySystem->GetEntityIterator(); while (IEntity * pEntity = pEntityIterator->Next()) { if (pEntity->IsHidden()) continue; if (pEntity->GetId() == localPlayer->GetEntityId()) continue; IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId()); if (!targetPlayer || targetPlayer->IsDead()) continue; actorCount++; } pEntityIterator->Release(); return actorCount; }
БЕРЕМ ЭТОТ ЕБУЧИЙ КОД И СМОТРИМ СВОИМИ ОБКУРЕННЫМИ ГЛАЗАМИ, ЧТО ТУТ У НАС ПЕРЕМЕННОЙ actorCount НЕ ПРИСВАЕВАЕТСЯ ЗНАЧЕНИЕ ЧЕРЕЗ ЕБУЧИЙ ИНКРЕМЕНТ, ПОНИМАЕШЬ СЛОВА ВООБЩЕ МОИ? Я ОЧЕНЬ НАДЕЮСЬ. ДАЛЬШЕ Я ИЗМЕНЮ ДАННЫЙ КОД, ЧТОБЫ ДО ТВОЕГО ХУЕВОГО УМА ДОШЛО, ЧТО ТЫ ЕБУЧИЙ ДЕБИЛ.
ВОТ ТУТ НАХУЙ, УЖЕ МОЖНО БЛЯТЬ ПОСПОРИТЬ НАСЧЁТ ХУЕВОГО КОДА, ПОЖАЛУЙСТА, БЛЯТЬ, НЕ ПИШИ МНЕ ХУЙНЮ, И ЕСЛИ ЭТО РОФЛ, ТО ОН ХУЕВЫЙКод:int GetCount(IActor* localPlayer) { int actorCount = 0; int actorCountInc = 0; IEntityIt* pEntityIterator = gEnv->pEntitySystem->GetEntityIterator(); while (IEntity * pEntity = pEntityIterator->Next()) { if (pEntity->IsHidden()) continue; if (pEntity->GetId() == localPlayer->GetEntityId()) continue; IActor* targetPlayer = pActorSystem->GetActor(pEntity->GetRawId()); if (!targetPlayer || targetPlayer->IsDead()) continue; actorCount = actorCountInc++; } pEntityIterator->Release(); return actorCount; }
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz