Получение скорости и угла (Velocity и Angles) у летящих гранат.

GT34M

Участник
Сообщения
79
Реакции
48
Всем привет. Переписываю этот плагин под скилл для WCS. В нём не устраивает то, что гранаты летят чуть ниже оригинальной, т.к берётся уровень глаз игрока, а скорость высчитывается суммой 1250 и скоростью игрока.
Можно ли как-то напрямую получить вектор скорости и угол полёта гранаты, зная её entity id?
Заранее спасибо :)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
можно
C-подобный:
public void OnEntityCreated(int ent, const char[] cls)
{
    if(StrContains(cls[5], "_projectile", false) != -1) SDKHook(ent, SDKHook_SpawnPost, OnEntitySpawned);
}

public void OnEntitySpawned(int nade)
{
    RequestFrame(RequestFrame_Callback, nade);
}

public void RequestFrame_Callback(any nade)
{
    if(!IsValidEntity(nade))
        return;

    // вот тут получаешь инфу о гранате
}
 

GT34M

Участник
Сообщения
79
Реакции
48
Благодарю, заработало! Появился ещё вопрос, как указать владельца гранаты? В оригинале указано через это.
C++:
SetEntPropEnt(iEntity, Prop_Data, "m_hThrower", iClient);
SetEntPropEnt(iEntity, Prop_Data, "m_hOwnerEntity", iClient);
SetEntProp(iEntity, Prop_Send, "m_iTeamNum", GetClientTeam(iClient));
Но при смерти от такой гранаты засчитывается, как самоубийство, а так-же можно наносить урон союзникам. Но самому себе почему-то урон не проходит..
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Попробуй, используя мой код, получить эти значения у любой обычной гранаты, тогда будет понятно что и как менять
Не бойся эксперементировать (лучше на каком-то тестовом сервере, даже можно локальном, т.к. осторожность никто не отменял).

Или ты это всё и так получаешь сначала в RequestFrame_Callback()?
 

GT34M

Участник
Сообщения
79
Реакции
48
У стандартной гранаты они равны id владельца и его команде, как ни странно ) Просто похоже есть ещё какие-то значения, от которых зависит, от чьего лица наносится урон.
лучше на каком-то тестовом сервере, даже можно локальном, т.к. осторожность никто не отменял
Так и делаю.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
последний раз когда я имел дело с этим плагином, то моя версия кода выглядела вот так:
Сообщения автоматически склеены:

И как я понимаю она была принята изначальным автором и больше никаких изменений не происходило
 

GT34M

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

Вложения

  • Counter-strike  Global Offensive Screenshot 2022.03.12 - 17.16.39.63.png
    Counter-strike Global Offensive Screenshot 2022.03.12 - 17.16.39.63.png
    6.1 КБ · Просмотры: 22

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@GT34M, ну попробуй такую версию (компилится даже под SM1.11)
 

Вложения

  • ClusterGrenade 2.3.1 12.03.2022.sp
    5.7 КБ · Просмотры: 4

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Я думаю, самым оптимальным вариантом будет при создании гранаты записать ей в класснейм(имя класса) данные, т.е. id гранаты, ну и можно еще что нибудь туда закатать, потом может пригодиться. При убийстве, я уже не помню какая там фу-я, получаешь класнейм оружия, сопоставляешь, если оно то вот и оружие убийства.
Работает отлично.
Я сейчас в командировке, не до тонкостей программирования, но сама суть такая.
 
Сверху Снизу