Иконка ресурса

Precision Distance Murder 0.1.0

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #1
Пользователь AlmazON разместил новый ресурс:

Precision Distance Murder - Прецизионное Расстояние Убийства

  • Высокоточный определитель дистанции, с которой было произведено убийство для последующего отображения в чате.
f44733524e04.jpg

1330e76a8437.jpg

Узнать больше об этом ресурсе...
 

pracc

Быть, а не казаться.
Сообщения
946
Реакции
541
Никогда не понимал суть подобной информации, зачем это нужно?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #4
Типа того) Кроме игр, где понятие расстояния вообще бессмысленно, например, Dota. Оффтоп
зачем это нужно?
Например, само пресекается нытьё, что игрок - читер и у него нож "длиннее"/"бьёт дальше". Тут сразу можно оценить, так ли это.
 

pracc

Быть, а не казаться.
Сообщения
946
Реакции
541
Например, само пресекается нытьё, что игрок - читер и у него нож "длиннее"/"бьёт дальше". Тут сразу можно оценить, так ли это.

На дальнем расстоянии больше насколько это возможно даже с читом игрок не ударит ножом.
 

MaZa

Участник
Сообщения
1,732
Реакции
980
Сделай чтобы считало правильно удар,просто считает не 1.532 а 0.532
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Более читаемый вид

C-подобный:
#pragma semicolon 1

#include <sdkhooks>
#include <sdktools_engine>

public Plugin:myinfo =
{
    name = "Precision Distance Murder",
    author = "AlmazON FiX",
    description = "Прецизионное Расстояние Убийства",
    version = "0.1.0",
    url = "http://www.hlmod.ru"
}

#define UNIT_MEASURE        0

#if UNIT_MEASURE
#define ADJUSTMENT    UNIT_MEASURE
#else
#tryinclude <smlib/math>
#if defined _smlib_math_included
#define ADJUSTMENT    GAMEUNITS_TO_METERS
#else
#define ADJUSTMENT    0.01905
#endif
#endif

#pragma newdecls required

float fP[MAXPLAYERS+1][3];

public void OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath);
}

public void OnClientPostAdminCheck(int iClient)
{
    SDKHook(iClient, SDKHook_OnTakeDamage, OnTakeDamage);
}

public void OnTakeDamage(int iClient, int iAttaker, int iInflictor, float fDamage, int iDamageType, int iW, const float F[3], const float P[3])
{
    fP[iClient][0] = P[0];
    fP[iClient][1] = P[1];
    fP[iClient][2] = P[2];
}

public void Event_PlayerDeath(Handle hEvent, char[] sName, bool bDontBroadcast)
{
    int iAttaker;
    if((iAttaker = GetClientOfUserId(GetEventInt(hEvent,"attacker"))))
    {
        int iClient;
        if((iClient = GetClientOfUserId(GetEventInt(hEvent,"userid"))) != iAttaker)
        {
            GetClientEyePosition(iAttaker, fP[iAttaker]);
            float fVector;
            PrintToChat(iAttaker, "\x01\04[Дистанция] \x01Убийство произведено с \x05расстояния \x03%.3f ед\x01.", fVector = GetVectorDistance(fP[iAttaker], fP[iClient]) * ADJUSTMENT);
            PrintToChat(iClient, "\x01\04[Дистанция] \x01Убийство произошло с \x05расстояния \x03%.3f ед\x01.", fVector);
        }
    }
}
Сообщения автоматически склеены:

Два бота стояли друг в друге, убиваю с ножа не двигаясь, а он выдаёт

C-подобный:
[Дистанция] Убийство произведено с расстояния 1.456 ед.
[Дистанция] Убийство произведено с расстояния 15.795 ед.

Кто подскажет где ошибка?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@Nekro, так может ты не в одну точку попадаешь (ты же сохраняешь точку, куда нанесён урон, а не позицию игрока, который получил урон)?
Сообщения автоматически склеены:

По сути ты меряешь расстояние между глазами атакующего и точкой куда попал урон в атакуемого.
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
@Nekro, так может ты не в одну точку попадаешь (ты же сохраняешь точку, куда нанесён урон, а не позицию игрока, который получил урон)?
Сообщения автоматически склеены:

По сути ты меряешь расстояние между глазами атакующего и точкой куда попал урон в атакуемого.
Понял, спасибо. Значит надо переделать, что бы чекал позицию жертвы и атакера. А то какую то чушь пишет в расстоянии)
 

SIRIUS

♿___DejaVu
Сообщения
509
Реакции
253
Сверху Снизу