Remplazar una funciуn para detectar la normal como cheat
#1

Hola, vengo a pedirles soporte y ayuda para crear funciones idйnticas pero si no la hacen de la manera correcta los kickee o banee, me explico?

Digamos que quiero crear esta funciуn:
SetPlayerHealthEx(playerid, cantidad);

Y si la saca de otra manera lo kickee, en otras palabras como crear ese tipo de anticheat :/

їalguien me podrнa explicar por favor?
Reply
#2

pawn Код:
new Float:pHealth[MAX_PLAYERS];
stock SetPlayerHealthEx(playerid, Float:cantidad)
{
    pHealth[playerid] = cantidad;
    SetPlayerHealth(playerid, cantidad);
}
stock GetPlayerHealthEx(playerid, &Float:health)
{
    health = pHealth[playerid]);
}

public OnGameModeInit()
{
    SetTimer("AnticheatTimer", 1000, 1);
}

forward AnticheatTimer();
public AnticheatTimer()
{
    new Float:health;
    for(new i;i<MAX_PLAYERS;i++) if(IsPlayerConnected(i))
    {
        GetPlayerHealth(playerid, health);
        if(pHealth[playerid] < health)
        {
            //cheat, usa ban o lo que quieras
        }
        if(pHealth[playerid] > health) pHealth[playerid] = health;
    }
}
Reply
#3

Entendi todo bien pero acб me confundi:
pawn Код:
if(pHealth[playerid] < health)
        {
            //cheat, usa ban o lo que quieras
        }
        if(pHealth[playerid] > health) pHealth[playerid] = health;
Me lo podrнas explicar por favor?
Reply
#4

Quote:
Originally Posted by deryan
Посмотреть сообщение
Entendi todo bien pero acб me confundi:
pawn Код:
if(pHealth[playerid] < health)
        {
            //cheat, usa ban o lo que quieras
        }
        if(pHealth[playerid] > health) pHealth[playerid] = health;
Me lo podrнas explicar por favor?
Hay pones la funciуn para que lo banee o lo expulse del servidor.
Reply
#5

pawn Код:
if(pHealth[playerid] < health)//me refiero a esto
{
//cheat, usa ban o lo que quieras
}
if(pHealth[playerid] > health) pHealth[playerid] = health;//y esto
Reply
#6

Si la vida del servidor es menor a la vida que tiene el jugador, significa que el modifico su vida con algo, osea un mod o cheat. Si la vida del servidor es mayor, significa que su vida real del jugador disminuyo, por un disparo, caida u otra cualquier razon, por lo tanto modificamos la vida del servidor a la del jugador.
Reply
#7

me da errores D:

Quote:

(706) : error 025: function heading differs from prototype
(707) : error 021: symbol already defined: "SetPlayerHealthEx"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.

Linea 706 y 707:
Quote:

stock SetPlayerHealthEx(playerid, Float:cantidad)
{

Reply
#8

Hmmm, esto te puede ayudar.
https://sampforum.blast.hk/showthread.php?tid=418751
Reply
#9

Quote:
Originally Posted by CrossOv3r
Посмотреть сообщение
Tu tutorial no sirve, ya de entrada ya vн un bug:
pawn Код:
stock DarVida(playerid, vida)
{
  SetPlayerHealth(playerid, vida)
  InfoJugador[playerid][pVida] += vida;
}
Le suma indefinidamente a la variable vida, no le asigna valor.
OnPlayerTakeDamage tampoco es confiable cuando hay packetloss, es mejor un timer. Lo del 99.0, es inъtil con el otro sistema.
Reply
#10

Quote:
Originally Posted by MugiwaraNoLuffy
Посмотреть сообщение
Si la vida del servidor es menor a la vida que tiene el jugador, significa que el modifico su vida con algo, osea un mod o cheat. Si la vida del servidor es mayor, significa que su vida real del jugador disminuyo, por un disparo, caida u otra cualquier razon, por lo tanto modificamos la vida del servidor a la del jugador.
Perfecto gracias ъltima duda para que quede resolvido esto:

< mayor o menor?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)