Как получить скорость prop_physics*

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Как получить скорость?
prop_physics_multiplayer или prop_physics_override
Выводит vel = 0:
GetEntPropVector(entity, Prop_Data, "m_vecAbsVelocity", vel);
GetEntPropVector(entity, Prop_Data, "m_vecVelocity", vel);

Установка скорости работает:
TeleportEntity(entity, NULL_VECTOR, NULL_VECTOR, vel);

Хотелось сделать свой транспорт в csgo тк стандартный vehicle_drivable програмисты сломали или работает у кого?
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
[IDA/DHooks]How to get vtable offsets - AlliedModders
Попробую найти текущий номер офсета smoothvelocity этим гайдом

Или я еще придумал раз у машины водитель привязан, почему бы не брать его скорость вместо машины
--- Добавлено позже ---
У клиента тоже чето не получается брать скорость этими значениями
А smoothvelocity даже не нашел в IDA, abcvelocity нашел например а эту нет
 
Последнее редактирование:

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Когда-то я для своего первого Дрона делал функцию определения скорости движения ENT.
Если еще нужна, я могу поискать. Найду - заодно подработаешь, может быть что стоящее получится.
А то я её так и забросил пока, и плагин самого Дрона забросил, занялся намного более интересным проектом.
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Когда-то я для своего первого Дрона делал функцию определения скорости движения ENT.
Если еще нужна, я могу поискать. Найду - заодно подработаешь, может быть что стоящее получится.
А то я её так и забросил пока, и плагин самого Дрона забросил, занялся намного более интересным проектом.
Функция скорости всмысле гипотенуза по векторам? Мне надо что бы векторы были не нулевыми
 

Reg1oxeN

Участник
Сообщения
403
Реакции
319
в сдктулс есть необходимая функция и оффсет, но ее почему-то не включили в апи.
дальше с SDKCall думаю справитесь.
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Функция скорости всмысле гипотенуза по векторам? Мне надо что бы векторы были не нулевыми
Какая такая гипотенуза? Кто она такая?
Если серьёзно, скорость получаешь путем сравнения положения объекта. Старое положение сравниваешь с новым, и исходя из этого получаешь её скорость.

Вообще, зачем тебе получение скорости?
Ты создал ENT. ДЛя его движения тебе нужно знать вектор направления(получаешь трассировкой), нормализуешь его и на полученный единичный вектор уже задаешь скорость (получится вектор скорости). Я к чему это все говорю, если ты сам создал ENT, у тебя по любому есть её вектор скорости. Ты этим вектором уже и управляешь.

Повнимательнее прочитал твой вопрос, ты даже сам отвечаешь на свой же вопрос. У тебя vel и есть скорость. Вектором. Выводи это значение в глобал и всегда сможешь его получить.
 
Последнее редактирование:

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Без названия.jpeg
Повнимательнее прочитал твой вопрос, ты даже сам отвечаешь на свой же вопрос. У тебя vel и есть скорость. Вектором. Выводи это значение в глобал и всегда сможешь его получить.
Да вот оно и 0, вот искал темы а там пишут что была smoothvelocity вектор который работал с prop_physics а я его в ida не смог найти, только vecvelocity и abcvelocity нашел которые уже и так есть их значения в sourcemod а эти вектора скорости всегда по 0 у prop_physics я как бы хотел свою машину сделать на замену prop_vehicle_driveable, конечно простенькую но застопорился считай на самом основном, на счет старого и нового положения это хорошая идея но я уже отказался от реализации машины, хочу подождать пока сами разрабы вдруг исправят, они ведь с добавлением danger zone все сломали а раньше вроде норм все было
 
Последнее редактирование:

Черная вдова

Участник
Сообщения
2,795
Реакции
670
А зачем искать в иде, если можно просто дампнуть все нетпропы и датамапы с их оффсетами и типом данных ?

C-подобный:
sm_dump_netprops
sm_dump_datamaps
Разве там отображаются не только те которые известны sourcemod? Вот например
[CSGO] Как скрыть игрока с радара
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670

Reg1oxeN

Участник
Сообщения
403
Реакции
319

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Посмотреть вложение 38320
Да вот оно и 0, вот искал темы а там пишут что была smoothvelocity вектор который работал с prop_physics а я его в ida не смог найти, только vecvelocity и abcvelocity нашел которые уже и так есть их значения в sourcemod а эти вектора скорости всегда по 0 у prop_physics я как бы хотел свою машину сделать на замену prop_vehicle_driveable, конечно простенькую но застопорился считай на самом основном, на счет старого и нового положения это хорошая идея но я уже отказался от реализации машины, хочу подождать пока сами разрабы вдруг исправят, они ведь с добавлением danger zone все сломали а раньше вроде норм все было

Или я тебя неверно понял, или что-то еще.
Наверно ты как то по другому создаешь свою ENT, задаешь ей движение.
Смотри, ты пишешь:
Как получить скорость?
Установка скорости работает:
TeleportEntity(entity, NULL_VECTOR, NULL_VECTOR, vel);

Давай разберем подробнее:
Как ты задал скорость вот здесь TeleportEntity(entity, NULL_VECTOR, NULL_VECTOR, vel);?
1. зеленое значение - позиция куда сдвинется ENT,
2. синее значение - угол на который повернется ENT,
3. ну и
vel - это уже та скорость, с которой будет двигаться ENT.

Так вот -
vel это та скорость, которую ты сам задаешь. Это либо управление с клавиатуры, либо переменная которую ты задаешь программно. Задается (для sourcepawn) так (в принципе так же и в других языках):
NormalizeVector(FinalVec, FinalVec); нормализуем вектор направления(делаем единичным)
ScaleVector(FinalVec, vel); задаём размер вектора(или проще это и будет скорость), если ты её не задал, как она будет больше 0.0? интересно.

Вот я и не пойму, зачем тебе получать эту скорость (которую ты сам же и задаешь), если она у тебя уже по любому есть? У тебя видимо процесс создания ENT какой то другой, поэтому меня и заинтересовало это обсуждение.

Такой урок, вкратце, получился.
--- Добавлено позже ---
@Черная вдова,
Покажи видео своего замута, что ты там придумываешь. Интересно посмотреть что люди придумывают.
Мало таких, кто с созданием и движением ENT работают, практически нет никого.
 
Последнее редактирование:

Черная вдова

Участник
Сообщения
2,795
Реакции
670
И какого же пропа по твоему там нет ?
Вот ты попробуй найти тот пример что я скинул
--- Добавлено позже ---
Или я тебя неверно понял, или что-то еще.
Наверно ты как то по другому создаешь свою ENT, задаешь ей движение.
Смотри, ты пишешь:


Давай разберем подробнее:
Как ты задал скорость вот здесь TeleportEntity(entity, NULL_VECTOR, NULL_VECTOR, vel);?
1. зеленое значение - позиция куда сдвинется ENT,
2. синее значение - угол на который повернется ENT,
3. ну и
vel - это уже та скорость, с которой будет двигаться ENT.

Так вот -
vel это та скорость, которую ты сам задаешь. Это либо управление с клавиатуры, либо переменная которую ты задаешь программно. Задается (для sourcepawn) так (в принципе так же и в других языках):
NormalizeVector(FinalVec, FinalVec); нормализуем вектор направления(делаем единичным)
ScaleVector(FinalVec, vel); задаём размер вектора(или проще это и будет скорость), если ты её не задал, как она будет больше 0.0? интересно.

Вот я и не пойму, зачем тебе получать эту скорость (которую ты сам же и задаешь), если она у тебя уже по любому есть? У тебя видимо процесс создания ENT какой то другой, поэтому меня и заинтересовало это обсуждение.

Такой урок, вкратце, получился.
--- Добавлено позже ---
@Черная вдова,
Покажи видео своего замута, что ты там придумываешь. Интересно посмотреть что люди придумывают.
Мало таких, кто с созданием и движением ENT работают, практически нет никого.
Scalevector, normalizevector все это не при чем когда сам вектор с котором ты работаешь нулевой
Я через TeleportEntity задал скорость и все никакого разгона как у машин там нет
--- Добавлено позже ---
дампится полностью все актуальное.

GetVelocity через SDKCall не удалось что ли реализовать? это тот же GetSmoothedVelocity.
Покажи как
 
Последнее редактирование:

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Scalevector, normalizevector все это не при чем когда сам вектор с котором ты работаешь нулевой
Я через TeleportEntity задал скорость и все, никакого разгона как у машин там нет
У меня такое чувство, что ты чужой код тяпнул, а как его использовать не знаешь. Без обид. Если этот вектор нулевой, никакого движения просто не будет.
Сама цель получения скорости у тебя какая? Может быть у тебя модель не двигается и ты хочешь задать ей скорость, что бы она начала двигаться?
TeleportEntity это что-то типа фунуции отрисовки и стирания изображения на экране монитора. И тем более, если ты задал скорость линейно(постоянно) зачем её получать?
Интриган. Покажи кусок своего таинственного кода хоть, сразу будет понятно где у тебя косяк.
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
У меня такое чувство, что ты чужой код тяпнул, а как его использовать не знаешь. Без обид. Если этот вектор нулевой, никакого движения просто не будет.
Сама цель получения скорости у тебя какая? Может быть у тебя модель не двигается и ты хочешь задать ей скорость, что бы она начала двигаться?
TeleportEntity это что-то типа фунуции отрисовки и стирания изображения на экране монитора. И тем более, если ты задал скорость линейно(постоянно) зачем её получать?
Интриган. Покажи кусок своего таинственного кода хоть, сразу будет понятно где у тебя косяк.
Скорость не постоянна потому что проп скребется об пол и стукается об стенки
У тебя ксго есть?
 
Сверху Снизу