Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Про тагерт:
misDist - это я так понимаю, максимальная дистанция, или угол до цели...
лучше юзать коллекцию структур. почему не моссив? по тому что число игроков которые будут в комнате заранее угадать затруднительно, а если кто-то выйдет из боя?
в том же мосиве, собирать данные об игроках в стиле
Код:
struct PlayerInfo
{
public float HP;
public float Distance;
}
Далее делаем коллекцию
Код:
List<PlayerInfo> pInfo = new List<PlayerInfo>();
и тут становится ясно, как максимально точно определить максимальную и минимальную дистанцию к игроку.
Код:
float MaxDistance(List<PlayerInfo> pInfo)
{
float[] Distance_to_players = new float[pInfo.Count];
for (int index = 0; index < pInfo.Count; ++index)
Distance_to_players[index] = pInfo[index].Distance;
return Distance_to_players.Max();
}
float MinDistance(List<PlayerInfo> pInfo)
{
float[] Distance_to_players = new float[pInfo.Count];
for (int index = 0; index < pInfo.Count; ++index)
Distance_to_players[index] = pInfo[index].Distance;
return Distance_to_players.Min();
}
Разумеется контейнер pInfo необходимо заполнять и очищать регулярно.
так же можно определить максимальное и минимальное хп и рассчитать в тагерте учет хп, чтобы сперва добивало тех у кого меньше жизни, или аттаковало тех у кого больше по желанию. суть думаю ясна.
Про остальное, в целом, судить нет смысла, можно написать так, можно интересней, но вариант интересней не схавает паблик аудитория, по тому что не поймет как оно работает.
Про тагерт:
misDist - это я так понимаю, максимальная дистанция, или угол до цели...
лучше юзать коллекцию структур. почему не моссив? по тому что число игроков которые будут в комнате заранее угадать затруднительно, а если кто-то выйдет из боя?
в том же мосиве, собирать данные об игроках в стиле
Код:
struct PlayerInfo
{
public float HP;
public float Distance;
}
Далее делаем коллекцию
Код:
List<PlayerInfo> pInfo = new List<PlayerInfo>();
и тут становится ясно, как максимально точно определить максимальную и минимальную дистанцию к игроку.
Код:
float MaxDistance(List<PlayerInfo> pInfo)
{
float[] Distance_to_players = new float[pInfo.Count];
for (int index = 0; index < pInfo.Count; ++index)
Distance_to_players[index] = pInfo[index].Distance;
return Distance_to_players.Max();
}
float MinDistance(List<PlayerInfo> pInfo)
{
float[] Distance_to_players = new float[pInfo.Count];
for (int index = 0; index < pInfo.Count; ++index)
Distance_to_players[index] = pInfo[index].Distance;
return Distance_to_players.Min();
}
Разумеется контейнер pInfo необходимо заполнять и очищать регулярно.
так же можно определить максимальное и минимальное хп и рассчитать в тагерте учет хп, чтобы сперва добивало тех у кого меньше жизни, или аттаковало тех у кого больше по желанию. суть думаю ясна.
Про остальное, в целом, судить нет смысла, можно написать так, можно интересней, но вариант интересней не схавает паблик аудитория, по тому что не поймет как оно работает.
обычно, это происходит, когда тагерт определяет более 1 подходящей цели. в данном случае, математические операции Max и Min, позволят наиболее точно определить конкретную цель для наведения среди всех перечисленных. Вероятно, твоя концепция тагерта, целиком не идеальна.
обычно, таргерт пишут следующим образом:
1) собрать список всех пользователей в бою
2) отсеять из этого списка тимейтов и мертвых игроков
3) при необходимости, отсеять по дистанции к себе
4) отсеять по видимости (видимый / за стеной)
5) Далее выбирать из тех кто остался в списке по любому удобному критерию:
5.1) Min/Max HP - по минимальному или моксимальному хп, чтобы выбрать саму потенциально опасную или уязвимую цель.
5.2) Min/Max Distance - по наиболее ближнему или дальнему, на пример при игре с дробовиком, наиболее эффективно стрелять в первую очередь в наиболее близкую по дистанции цель *(по очевидным причинам)
5.3) Min/Max Angle - по врагу наиболее ближнему/дальнему к твоему прицелу (угол до цели).
5.4) Danger/LOL - по оружию в руках если у тебя выбор между двумя врагами и они в равных условиях, на равной дистанции и стоят чуть ли не друг за другом, можно выбрать: если у одного в руке автомат, а у другого нож - сразу понятно, кто опасней и на кого наводится стоит в первую очередь.
Upd: так же, стоит чуть чуть увеличивать скорость наведения на игроков с ножем в руках, так как с ножем вроде в кс быстрее бегают.
обычно, это происходит, когда тагерт определяет более 1 подходящей цели. в данном случае, математические операции Max и Min, позволят наиболее точно определить конкретную цель для наведения среди всех перечисленных. Вероятно, твоя концепция тагерта, целиком не идеальна.
обычно, таргерт пишут следующим образом:
1) собрать список всех пользователей в бою
2) отсеять из этого списка тимейтов и мертвых игроков
3) при необходимости, отсеять по дистанции к себе
4) отсеять по видимости (видимый / за стеной)
5) Далее выбирать из тех кто остался в списке по любому удобному критерию:
5.1) Min/Max HP - по минимальному или моксимальному хп, чтобы выбрать саму потенциально опасную или уязвимую цель.
5.2) Min/Max Distance - по наиболее ближнему или дальнему, на пример при игре с дробовиком, наиболее эффективно стрелять в первую очередь в наиболее близкую по дистанции цель *(по очевидным причинам)
5.3) Min/Max Angle - по врагу наиболее ближнему/дальнему к твоему прицелу (угол до цели).
5.4) Danger/LOL - по оружию в руках если у тебя выбор между двумя врагами и они в равных условиях, на равной дистанции и стоят чуть ли не друг за другом, можно выбрать: если у одного в руке автомат, а у другого нож - сразу понятно, кто опасней и на кого наводится стоит в первую очередь.
Upd: так же, стоит чуть чуть увеличивать скорость наведения на игроков с ножем в руках, так как с ножем вроде в кс быстрее бегают.
Блин, огромное тебе спасибо, сегодня буду делать и последний вопрос:
Как сделать доводку на противника по расстоянию от прицела (у меня по расстоянию), у меня такая идея (взять центр экрана и перевести положение кости игрока на экран и там уже найти расстояние между ними) так или можно по другому?
Блин, огромное тебе спасибо, сегодня буду делать и последний вопрос:
Как сделать доводку на противника по расстоянию от прицела (у меня по расстоянию), у меня такая идея (взять центр экрана и перевести положение кости игрока на экран и там уже найти расстояние между ними) так или можно по другому?
получить окно игры (FindWindow) далее, проверить, является ли окно игры впереди остальных, т.е смотрит ли на него юзверь if(GetForegroundWindow() == FindWindow(игра, игра)), далее определить размеры окна игры GetWindowRect, как вычислить центр окна, думаю понятно.
далее, определяешь нужного игрока и тянешь позицию нужной кости, далее дергаешь дистанцию до кости обычным алгоритмом получения дистанции, просто считаешь, от центра окна, до кости, по X и Y.
получить окно игры (FindWindow) далее, проверить, является ли окно игры впереди остальных, т.е смотрит ли на него юзверь if(GetForegroundWindow() == FindWindow(игра, игра)), далее определить размеры окна игры GetWindowRect, как вычислить центр окна, думаю понятно.
далее, определяешь нужного игрока и тянешь позицию нужной кости, далее дергаешь дистанцию до кости обычным алгоритмом получения дистанции, просто считаешь, от центра окна, до кости, по X и Y.