[ayuda] hack que mata players (+REP)
#7

Quote:
Originally Posted by Auzen
Посмотреть сообщение
si tengo un antispeed pero imagina si un player cae, entonces lo detecta :/ entonces mi antispeed solo detecta si el player tiene la velocidad 2 en 0 pero el hacker se mueve de arriba a abajo (o eso parece) en todas direcciones
pawn Код:
new Float:VelocidadActual[3][MAX_PLAYERS];
new Float:UltimaPosicion[3][MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    VelocidadActual[1][playerid] = 0; // Reiniciamos la variable.
    return 1;
}

public OnPlayerUpdate(playerid)
{
    ComprobarVelocidad(playerid); // Cada 20 ms vemos si el jugador tiene cheat
    return 1;
}

forward OnPlayerFall(playerid);
public OnPlayerFall(playerid) // Detecta si el jugador estб cayendo, para asн evitar falsas detecciones de hack
{
    if(GetPVarInt(playerid, "Caida")) return 1;
    SetTimerEx("Reactivar", 8000, false, "i", playerid);
    SetPVarInt(playerid, "Caida", 1);
    VelocidadActual[0][playerid] = ObtenerVelocidad(GetPlayerVehicleID(playerid));
    VelocidadActual[1][playerid] = VelocidadActual[0][playerid];
    VelocidadActual[2][playerid] = 0;
    return 1;
}

forward ComprobarVelocidad(playerid);
public ComprobarVelocidad(playerid) // Detecta si el jugador utilizу speed hack
{
    foreach(Player, i)
    {
        if(IsPlayerInAnyVehicle(playerid) && !GetPVarInt(playerid, "Caida") && (!EsUnAvion(GetPlayerVehicleID(playerid)) || !EsUnBote(GetPlayerVehicleID(playerid))))
        {
            VelocidadActual[0][playerid] = ObtenerVelocidad(GetPlayerVehicleID(playerid));
            if(VelocidadActual[0][playerid] > 160)
            {
                VelocidadActual[2][playerid] = VelocidadActual[0][playerid]-VelocidadActual[1][playerid];
                if(VelocidadActual[2][playerid] > 42)
                {
                    new Float:Pos[3];
                    GetPlayerPos(i, Pos[0], Pos[1], Pos[2]);
                    RemovePlayerFromVehicle(i); // Quita al jugador del vehнculo.
                    SetPlayerPos(i, Pos[0], Pos[1], Pos[2]+5); // Le establece su posiciуn pero con mбs altura.
                    break;
                }
            }
            VelocidadActual[1][playerid] = VelocidadActual[0][playerid];
        }
    }
    ComprobarCaida();
    return 1;
}

forward ComprobarCaida();
public ComprobarCaida()
{
    new Float:Pos[4];
    foreach(Player, i)
    {
        GetPlayerPos(i, Pos[0], Pos[1], Pos[2]);
        Pos[3] = floatsqroot((Pos[0]-UltimaPosicion[0][i] * Pos[0]-UltimaPosicion[0][i]) + (Pos[1]-UltimaPosicion[1][i] * Pos[1]-UltimaPosicion[1][i]));
        if(Pos[3] < 10 && (UltimaPosicion[2][i] - Pos[2]) > 5) OnPlayerFall(i);
        UltimaPosicion[0][i] = Pos[0];
        UltimaPosicion[1][i] = Pos[1];
        UltimaPosicion[2][i] = Pos[2];
    }
    return 1;
}

forward Reactivar(playerid);
public Reactivar(playerid)
{
    VelocidadActual[0][playerid] = ObtenerVelocidad(GetPlayerVehicleID(playerid));
    VelocidadActual[1][playerid] = VelocidadActual[0][playerid];
    VelocidadActual[2][playerid] = 0;
    SetPVarInt(playerid, "Caida", 0);
    return 1;
}

stock ObtenerVelocidad(vehicleid) // Obtenemos la velocidad del vehнculo.
{
    new Float:Pos[3], velocidadactual;
    GetVehicleVelocity(vehicleid, Pos[0], Pos[1], Pos[2]);
    velocidadactual = floatround(floatsqroot(Pos[0]*Pos[0] + Pos[1]*Pos[1] + Pos[2]*Pos[2]) * 180);
    return velocidadactual;
}

stock EsUnBote(carid) // Comprobamos si el vehнculo es un bote o un barco.
{
    new M = GetVehicleModel(carid);
    if(M == 472 || M == 473 || M == 493 || M == 595 || M == 484 || M == 430 || M == 453 || M == 452 || M == 446 || M == 454){return 1;}
    return 0;
}

stock EsUnAvion(carid) // Comprobamos si el vehнculo es un aviуn o un helicуptero.
{
    new M = GetVehicleModel(carid);
    if(M == 592 || M == 577 || M == 511 || M == 548 || M == 512 || M == 593 || M == 425 || M == 417 || M == 487 || M == 553){return 1;}
    if(M == 488 || M == 497 || M == 563 || M == 476 || M == 447 || M == 519 || M == 460 || M == 469 || M == 513 || M == 520){return 1;}
    return 0;
}
Se puede mejorar pero eso funcionarб, lo aportй hace un tiempo a Pawno Scripting y funciona muy bien
Reply


Messages In This Thread
[ayuda] hack que mata players (+REP) - by Auzen - 17.02.2015, 22:30
Respuesta: [ayuda] hack que mata players (+REP) - by Goncho28 - 17.02.2015, 22:53
Respuesta: [ayuda] hack que mata players (+REP) - by TodaLaOnda - 17.02.2015, 22:59
Re: Respuesta: [ayuda] hack que mata players (+REP) - by Toolkit - 17.02.2015, 23:10
Re: Respuesta: [ayuda] hack que mata players (+REP) - by Auzen - 18.02.2015, 03:11
Re: [ayuda] hack que mata players (+REP) - by Su37Erich - 19.02.2015, 15:58
Respuesta: Re: Respuesta: [ayuda] hack que mata players (+REP) - by Goncho28 - 19.02.2015, 17:55
Re: Respuesta: Re: Respuesta: [ayuda] hack que mata players (+REP) - by Auzen - 20.02.2015, 00:58
Respuesta: [ayuda] hack que mata players (+REP) - by Goncho28 - 20.02.2015, 03:55

Forum Jump:


Users browsing this thread: 2 Guest(s)