[Ajuda] Ajuste Anti money hack
#1

Olб,

O [Full]Garfield[XDB] me passou um script para os anti money do mod s0rvete, so que ao identificar o money hack, ao inves dele remover a quantia que ele adcionou com o hack, ele faz o inverso, alem do hack ele tambem adciona aquele valor para o jogador,

Exemplo: tenho 0, coloco 500 com o hack e o script tb adciona mais 500,

pawn Код:
new ChegarDinheiro[MAX_PLAYERS];

stock GivePlayerMoneyEx(pid, Y_money)
{
    GivePlayerMoney(pid, Y_money);
    ChegarDinheiro[pid] = Y_money;
    return 1;
}
stock ResetPlayerMoneyEx(pid)
{
    ResetPlayerMoney(pid);
    ChegarDinheiro[pid] = 0x0;
    return 1;
}

public OnPlayerUpdate(playerid)
{
    if(ChegarDinheiro[playerid] < GetPlayerMoney(playerid))
    {
        GivePlayerMoneyEx(playerid,GetPlayerMoney(playerid) - ChegarDinheiro[playerid]);
        ChegarDinheiro[playerid] = GetPlayerMoney(playerid);
    }
    return 1;
}
Reply
#2

pawn Код:
public OnPlayerUpdate(playerid)
{
    if(ChegarDinheiro[playerid]!=0 && ChegarDinheiro[playerid] < GetPlayerMoney(playerid))
    {
        GivePlayerMoneyEx(playerid,GetPlayerMoney(playerid) - ChegarDinheiro[playerid]);
        ChegarDinheiro[playerid] = GetPlayerMoney(playerid);
    }
    return 1;
}
Reply
#3

Thanks Garfield
Reply
#4

UP:

Quando й identificado o uso do hacker, invйs de diminuir o valor, faz й almentar o mesmo, e quando uso a GivePlayerMoneyEx, acontece o mesmo =/

pawn Код:
new ChegarDinheiro[MAX_PLAYERS];

public OnPlayerUpdate(playerid)
{
    if(ChegarDinheiro[playerid]!=0 && ChegarDinheiro[playerid] < GetPlayerMoney(playerid))
    {
        GivePlayerMoneyEx(playerid,GetPlayerMoney(playerid) - ChegarDinheiro[playerid]);
        ChegarDinheiro[playerid] = GetPlayerMoney(playerid);
    }
    return 1;
}

stock GivePlayerMoneyEx(pid, Y_money)
{
    GivePlayerMoney(pid, Y_money);
    ChegarDinheiro[pid] = Y_money;
    return 1;
}
stock ResetPlayerMoneyEx(pid)
{
    ResetPlayerMoney(pid);
    ChegarDinheiro[pid] = 0x0;
    return 1;
}
Reply
#5

pawn Код:
new ChegarDinheiro[MAX_PLAYERS];

public OnPlayerUpdate(playerid)
{
    if(ChegarDinheiro[playerid] && ChegarDinheiro[playerid] < GetPlayerMoney(playerid)) ResetPlayerMoneyEx(playerid), GivePlayerMoneyEx(playerid, ChegarDinheiro[playerid]);
    else ChegarDinheiro[playerid] = GetPlayerMoney(playerid);
    return 1;
}

stock GivePlayerMoneyEx(pid, Y_money)
{
    GivePlayerMoney(pid, Y_money);
    ChegarDinheiro[pid] = Y_money;
    return 1;
}
stock ResetPlayerMoneyEx(pid)
{
    ResetPlayerMoney(pid);
    ChegarDinheiro[pid] = 0x0;
    return 1;
}
Reply
#6

Quote:
Originally Posted by paulor
Посмотреть сообщение
pawn Код:
new ChegarDinheiro[MAX_PLAYERS];

public OnPlayerUpdate(playerid)
{
    if(ChegarDinheiro[playerid] && ChegarDinheiro[playerid] < GetPlayerMoney(playerid)) ResetPlayerMoneyEx(playerid), GivePlayerMoneyEx(playerid, ChegarDinheiro[playerid]);
    else ChegarDinheiro[playerid] = GetPlayerMoney(playerid);
    return 1;
}

stock GivePlayerMoneyEx(pid, Y_money)
{
    GivePlayerMoney(pid, Y_money);
    ChegarDinheiro[pid] = Y_money;
    return 1;
}
stock ResetPlayerMoneyEx(pid)
{
    ResetPlayerMoney(pid);
    ChegarDinheiro[pid] = 0x0;
    return 1;
}
Quando dou grana 1 vez: OK
Quando dou grana 2 vezes: e resetado o dinheiro a 0

Usando hacker: Quando injeto dinheiro 1 vez: Ok
Quando injeto dinheiro 2 vezes: й resetado a 0

:/
Reply
#7

pawn Код:
new ChegarDinheiro[MAX_PLAYERS];

public OnPlayerUpdate(playerid)
{
    if(ChegarDinheiro[playerid] && ChegarDinheiro[playerid] < GetPlayerMoney(playerid)) GivePlayerMoneyEx(playerid, (~(GetPlayerMoney(playerid) - ChegarDinheiro[playerid]) + 1));
    ChegarDinheiro[playerid] = GetPlayerMoney(playerid);
    return 1;
}

stock GivePlayerMoneyEx(pid, Y_money)
{
    GivePlayerMoney(pid, Y_money);
    ChegarDinheiro[pid] += Y_money;
    return 1;
}
stock ResetPlayerMoneyEx(pid)
{
    ResetPlayerMoney(pid);
    ChegarDinheiro[pid] = 0x0;
    return 1;
}
Agora funciona..
Reply
#8

Quote:
Originally Posted by paulor
Посмотреть сообщение
pawn Код:
new ChegarDinheiro[MAX_PLAYERS];

public OnPlayerUpdate(playerid)
{
    if(ChegarDinheiro[playerid] && ChegarDinheiro[playerid] < GetPlayerMoney(playerid)) GivePlayerMoneyEx(playerid, (~(GetPlayerMoney(playerid) - ChegarDinheiro[playerid]) + 1));
    ChegarDinheiro[playerid] = GetPlayerMoney(playerid);
    return 1;
}

stock GivePlayerMoneyEx(pid, Y_money)
{
    GivePlayerMoney(pid, Y_money);
    ChegarDinheiro[pid] += Y_money;
    return 1;
}
stock ResetPlayerMoneyEx(pid)
{
    ResetPlayerMoney(pid);
    ChegarDinheiro[pid] = 0x0;
    return 1;
}
Agora funciona..
Testado e funcional, thanks paulor
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)