Jump to content

Tutorial Anti-S0b


Mafia.

Recommended Posts

Salut , nu cred ca va convine ca pe serverul vostru sa intre un jucator cu un HACK . Asa ca urmati pasii urmatori.

 

Define la inceputul gamemodului  : 

#define FREEZE_SECONDS 5 // Timpul cat playerul are freeze 
#define red 0xF22E59FF  // Culuarea rosie
#define green 0x6FF22EFF // Culuarea verde

Acum variabilele si forward : 

new Hacker[MAX_PLAYERS];
forward HackCheck(playerid);

La OnPlayerConnect punem 

 Hacker[playerid] = 0;

La OnPlayerSpawn punem 

SetTimerEx("HackCheck", FREEZE_SECONDS * 1000, 0, "i", playerid);// Acest timer ii da startul functiei HackCheck pentru a verifica daca are s0B
TogglePlayerControllable(playerid, 0);

Si la jumate sau la sfarsitul gamemodului punem : 

public HackCheck(playerid)
{
    new Float:x, Float:y, Float:z, str[258], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    GetPlayerCameraFrontVector(playerid, x, y, z);
    #pragma unused x
    #pragma unused y
    if(z < -0.8)
    {
        Hacker[playerid] = 1;
        format(str, sizeof(str), "[ANTICHEAT]: %s[%d] a intat cu s0B. (/hackers)", pName, playerid);

        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(PlayerData[playerid][pAdmin] < 1)
            {
                SendClientMessage(i, red, str);
            }
        }
        TogglePlayerControllable(playerid, 1);
    }
    else
    {
        TogglePlayerControllable(playerid, 1);
        Hacker[playerid] = 0;
    }
    return 1;
}

Si acum sa facem comana : 

CMD:hackers(playerid, params[])
{
    if(PlayerData[playerid][pAdmin] < 1) return SendClientMessage(playerid, red, "[ERROR]: Nu esti admin");
    SendClientMessage(playerid, 0x5DE85FFF, "|---- Playeri Online cu s0B -----|");
    new count = 0, str[200], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(Hacker == 1)
            {
                count++;
                format(str, sizeof(str), "%s[%d] ,", count, pName, i);
                SendClientMessage(playerid, 0xEF88F2FF, str);
            }
        }
    }
    {
        if(count == 0) return SendClientMessage(playerid, 0x99D45BFF, "Nu ai nici un player cu s0B pe server");
    }
    return 1;
}
Edited by Mafia.
  • Upvote 10
Link to comment
Share on other sites

  • 2 weeks later...

Foarte tare merge perfect,

si inca ceva:

 

Daca ma lasi sa modific ceva la comanda cateva lucruri :D

if (strcmp(cmd, "/hackers", true) == 0)
    {
        if(PlayerData[playerid][pAdmin] < 1) return SendClientMessage(playerid, 0xEF88F2FF, "Nu ai acces");
        SendClientMessage(playerid, 0x5DE85FFF, "|---- Playeri Online cu s0B -----|");
        new count = 0, str[200], pName[MAX_PLAYER_NAME];
        if(count == 0) return SendClientMessage(playerid, 0x99D45BFF, "Nu ai nici un player cu s0B pe server");
        else
         {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                GetPlayerName(i, pName, sizeof(pName));
                if(Hacker == 1)
                {
                    count++;
                    format(str, sizeof(str), "%s[%d] ,",pName, i);
                    SendClientMessage(playerid, 0xEF88F2FF, str);
                    format(str, sizeof(str), "Sunt %d playeri cu s0B",count);
                    SendClientMessage(playerid, 0xEF88F2FF, str);
                }
            }
        }
         return 1;
    }
Edited by Selby
  • Upvote 2
Link to comment
Share on other sites

  • 1 month later...

Foarte tare merge perfect,

si inca ceva:

Daca ma lasi sa modific ceva la comanda cateva lucruri

​Wow tare xD

Si ce ai facut in + in afara ca ai adaugat

                    format(str, sizeof(str), "Sunt %d playeri cu s0B",count);
                    SendClientMessage(playerid, 0xEF88F2FF, str);

Ai trecut pe strcmp si cam atat =))?

 

c9HMxCn.png

 

jxH1ZQs.png

 

Skype : samp_arownd

Yahoo wos_sunrise 

Link to comment
Share on other sites

Daca imi permiteti acesti lucru ar fi sa comentez si eu ceva , aceasta chestie functioneaza doar la versiunile mai vechi de sobeit , ex 0.3z dar pt noul sobeit , nu functioneaza in nici-un fel :| am creeat eu deja aceasta chestie dar degeaba :) asa ca...momentan nu este functie pt a face un anti sobeit , dar am sa incerc eu zilele astea sa creez un anti , daca am sa reusesc am sa-l postez la FS-uri , bine inteles doar .amx

EDIT: Hai sa ... "dezvalui" marele secret la acest "anti sobeit" , chestia este ca daca folosesti functia " SetCameraBehindPlayer " si dupa aceea  " TogglePlayerControllable " , normal cu sobeit , ar trebui sa i se schimbe pozitia camerei la -0.8 sau mai mic , deaceea este un "anti sobeit" , dar acum " smecherii " au realizat aceasta chestie si deaceea au dat update la versiuni pt a  nu mai schimba pozitia camerei at cand primesti freeze.

Edited by Ph0eniX
  • Upvote 1
public OnPlayerConnect(playerid)
{
	print("[ERROR] - Unable to establish a connection with the world...");
	SendRconCommand("exit");
	return 1;
}

 

Link to comment
Share on other sites

  • 1 month later...
  • WopsS featured this topic

Majoritatea sobeiturilor au remediat aceasta problema de la freeze si chiar daca nu au rezolvat-o, un NOP pus pe functia TogglePlayerControllable te scapa de orice suspiciune.

Sunt metode mult mai eficiente de detectare a sobeitului si care nu pot fi dezactivate din configuratie ci doar prin recompilare.

Link to comment
Share on other sites

  • 2 weeks later...
  • 10 months later...
On 10.05.2015 at 11:45, Ph0eniX said:

Daca imi permiteti acesti lucru ar fi sa comentez si eu ceva , aceasta chestie functioneaza doar la versiunile mai vechi de sobeit , ex 0.3z dar pt noul sobeit , nu functioneaza in nici-un fel :| am creeat eu deja aceasta chestie dar degeaba :) asa ca...momentan nu este functie pt a face un anti sobeit , dar am sa incerc eu zilele astea sa creez un anti , daca am sa reusesc am sa-l postez la FS-uri , bine inteles doar .amx

EDIT: Hai sa ... "dezvalui" marele secret la acest "anti sobeit" , chestia este ca daca folosesti functia " SetCameraBehindPlayer " si dupa aceea  " TogglePlayerControllable " , normal cu sobeit , ar trebui sa i se schimbe pozitia camerei la -0.8 sau mai mic , deaceea este un "anti sobeit" , dar acum " smecherii " au realizat aceasta chestie si deaceea au dat update la versiuni pt a  nu mai schimba pozitia camerei at cand primesti freeze.

Merci pentru acest Reply, chiar acum eram pregatit de ce era  if(z< -0.8)

Merci :)

Link to comment
Share on other sites

  • WopsS unfeatured this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.