Quantcast
Channel: SA-MP Forums
Viewing all articles
Browse latest Browse all 18226

Hack crash player

$
0
0
My server seems to be hacked crash when the number reaches 70 80 people, sometimes in one area will crash all the players do not in that area someone or let me code against it

Code onplayerweaponshot mine
Code:

public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
    if(hittype == BULLET_HIT_TYPE_PLAYER && !IsPlayerNPC(hitid))
    {
            if(!IsAFK{ hitid } && !CoolDown{ playerid })
            {
            new surf = GetPlayerSurfingVehicleID(playerid), tsurf = GetPlayerSurfingVehicleID(playerid);
            if(surf == INVALID_VEHICLE_ID && tsurf == INVALID_VEHICLE_ID && !IsPlayerInAnyVehicle(hitid))
                {
                        new Float:targetpkl = NetStats_PacketLossPercent(hitid), Float:playerpkl = NetStats_PacketLossPercent(playerid);

                                if(targetpkl < 0.8 && playerpkl < 0.8)
                    {
                              new Float:fOriginXx, Float:fOriginYy, Float:fOriginZz, Float:fHitPosXx, Float:fHitPosYy, Float:fHitPosZz;
                        GetPlayerLastShotVectors(playerid, fOriginXx, fOriginYy, fOriginZz, fHitPosXx, fHitPosYy, fHitPosZz);
                    CheckForAimbot(playerid, fHitPosXx, fHitPosYy, fHitPosZz, hitid);
                      }
                  }

                  new string[128];
                        for(new i = 0; i < GetPlayerPoolSize() + 1; i++)
                        {
                                new epids = CheckEvidence(hitid, playerid);
                                if(epids == -1)
                                {
                                        new epid = GetFreeEvidence(hitid);
                                        if(epid != -1)
                                        {
                                                format(string, sizeof(string), "Evidence_Shoot_%d", epid);
                                                SetPVarInt(hitid, string, playerid);

                                                format(string, sizeof(string), "Evidence_Shoot_SQL_%d", epid);
                                                SetPVarInt(hitid, string, GetPlayerSQLId(playerid));

                                                format(string, sizeof(string), "Evidence_Shoot_Tick_%d", epid);
                                                SetPVarInt(hitid, string, GetTickCount());

                                                format(string, sizeof(string), "Evidence_Shoot_Weapon_%d", epid);
                                                SetPVarInt(hitid, string, weaponid);

                                                new string2[128];
                                                format(string2, sizeof(string2), "Evidence_Shoot_%d", epid);
                                        }
                                }
                                else
                                {
                                        format(string, sizeof(string), "Evidence_Shoot_Tick_%d", epids);
                                        SetPVarInt(hitid, string, GetTickCount());

                                        format(string, sizeof(string), "Evidence_Shoot_Weapon_%d", epids);
                                        SetPVarInt(hitid, string, weaponid);

                                        new string2[128];
                                        format(string2, sizeof(string2), "Evidence_Shoot_%d", epids);
                                }
                        }
            }
    }
    if(!GetPVarInt(playerid, "EventToken"))
        {
                if(GetPVarInt(playerid, "IsInArena") == -1)
            {
                    new weapons[2];
                        GetPlayerWeaponData(playerid, GetWeaponSlot(weaponid), weapons[0], weapons[1]);
                    switch(weaponid)
                        {
                                case 22 .. 34:
                            {
                                if(weapons[1] == PlayerInfo[playerid][pAmmo][GetAmmoSlot(weaponid)])
                                {
                                        if(PlayerInfo[playerid][pAmmo][GetAmmoSlot(weaponid)] > 0 )
                                        {
                                                    PlayerInfo[playerid][pAmmo][GetAmmoSlot(weaponid)]--;
                                                }
                                                else
                                                {
                                                    SetPlayerArmedWeapon(playerid, 0);
                                                    new string[128], wepname[32];
                                                    GetWeaponName(weaponid, wepname, sizeof(wepname));
                                                    format(string, sizeof(string), "He thong: Khau sung %s cua ban da het dan Hay mau di nap dan.", wepname);
                                                    SendClientMessageEx(playerid, COLOR_YELLOW, string);
                                                }
                                        }
                                        else SetPlayerAmmo(playerid, weaponid, PlayerInfo[playerid][pAmmo][GetAmmoSlot(weaponid)]);
                                }
                        }
                }
        }
    if(weaponid==38)
    {
    if(PlayerInfo[playerid][pAdmin]>=2) return 1;
        Kick(playerid);
        }
    new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);

        //Desync weapon IDs that don't fire bullets
        if (weaponid < 22 || weaponid > 38)
        return 0;

        //Desync shots with Z pos out of bounds
        if(!(-20000.0 <= z <= 20000.0))
        return 0;
        return 1;
}


Viewing all articles
Browse latest Browse all 18226

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>