їMejorar esto?
#2

Quote:
Originally Posted by benjas09
Посмотреть сообщение
Buenas, tengo el siguiente codigo que funciona a la perfeccion pero hay un pequeсo problema o bien dicho varios.

pawn Код:
public OnPlayerUpdate(playerid)
{
    if(gIsPlayerLoggedIn[playerid])
    {
        new string[126], zone[126];
        GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
        format(string, sizeof(string), "%s", zone);
        TextDrawSetString(Locationtext[playerid], string);
        if(PlayerData[playerid][AdminLevel] < 3)
        {
            if(IsPlayerInAnyVehicle(playerid))
            {
                    if(GetPlayerSpeed(playerid, true) > 200)
                        {
                            format(string, sizeof(string), "{FFFFFF} %s (%d) esta manejando a %d kmh (speedhack).", GetPlayersName(playerid), playerid, GetPlayerSpeed(playerid, true));
                            SendAdministratorMessage(string);
                        }
            }
            if(GetPlayerSpeed(playerid, true) > 50)
                        {
                            format(string, sizeof(string), "{FFFFFF} %s (%d) esta corriendo a %d kmh (posible cheat de vuelo).", GetPlayersName(playerid), playerid, GetPlayerSpeed(playerid, true));
                            SendAdministratorMessage(string);
                        }
        }
    }
   
   
    return 1;
}
El codigo funciona bien, pero si hay un "cheater" manejando a mas de 200km/h (speedhack) al administrador le floodea todo y me gustaria saber la forma de hacer que envie un mensaje cada 5 minutos u algo asi (configurable).

Otra cosa tambien es si alguien va arriba de un coche y este va a mas de 50km/h es reconocido como cheat, їcomo se podria mejorar eso?

Saludos y gracias
pawn Код:
static bool:Avisado[MAX_PLAYERS] = false;
static RenewTime[MAX_PLAYERS];
public OnPlayerUpdate(playerid)
{
    if(gIsPlayerLoggedIn[playerid])
    {
        new string[126], zone[126];
        GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
        format(string, sizeof(string), "%s", zone);
        TextDrawSetString(Locationtext[playerid], string);
        if(Avisado[playerid] && gettime() > RenewTime[playerid])
        {
            Avisado[playerid] = false;
            RenewTime[playerid] = 0;
        }
        if(PlayerData[playerid][AdminLevel] < 3)
        {
            if(IsPlayerInAnyVehicle(playerid))
            {
                if(GetPlayerSpeed(playerid, true) > 200 && !Avisado[playerid])
                {
                    format(string, sizeof(string), "{FFFFFF} %s (%d) esta manejando a %d kmh (speedhack).", GetPlayersName(playerid), playerid, GetPlayerSpeed(playerid, true));
                    SendAdministratorMessage(string);
                    Avisado[playerid] = true;
                    RenewTime[playerid] = gettime() + (60*5);
                }
            }
            if(GetPlayerSpeed(playerid, true) > 50 && !Avisado[playerid] && GetPlayerSurfingVehicleID(playerid) == INVALID_VEHICLE_ID)
            {
                format(string, sizeof(string), "{FFFFFF} %s (%d) esta corriendo a %d kmh (posible cheat de vuelo).", GetPlayersName(playerid), playerid, GetPlayerSpeed(playerid, true));
                SendAdministratorMessage(string);
                Avisado[playerid] = true;
                RenewTime[playerid] = gettime() + (60*5);
            }
        }
    }
    return 1;
}
Eso deberia funcionar
Reply


Messages In This Thread
їMejorar esto? - by benjas09 - 07.07.2014, 17:48
Respuesta: їMejorar esto? - by JustBored - 07.07.2014, 20:11
Respuesta: їMejorar esto? - by Juance - 07.07.2014, 20:12
Respuesta: їMejorar esto? - by DesingMyCry - 07.07.2014, 22:54
Respuesta: їMejorar esto? - by JustBored - 08.07.2014, 00:21
Respuesta: їMejorar esto? - by Juance - 08.07.2014, 00:23
Respuesta: їMejorar esto? - by benjas09 - 08.07.2014, 15:02
Respuesta: їMejorar esto? - by Juance - 08.07.2014, 15:43

Forum Jump:


Users browsing this thread: 2 Guest(s)