SA-MP Forums Archive
revisar codigo antimoneyhack - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: revisar codigo antimoneyhack (/showthread.php?tid=555985)



revisar codigo antimoneyhack - mcreed - 09.01.2015

buena amigos, estube intentando hacer un anti money hack , un amigo lo testeo y dijo que si le quito el dinero hackeado, pero es un codigo que creo que podria bugearse facilmente, y quiero pedirles ayuda para que me ayuden a revisar y asi evitar problemas futuros.

Codigo:
pawn Код:
forward GivePlayerCash(playerid,dinero);
public GivePlayerCash(playerid,dinero)
{
    SetPVarInt(playerid, "MoneyP", GetPlayerMoney(playerid)+dinero);
return GivePlayerMoney(playerid,dinero);
}

public OnPlayerMoneyChange(playerid, amount, totalamount)
{
    if(GetPlayerMoney(playerid) >= GetPVarInt(playerid, "MoneyP"))
    {
        ResetPlayerMoney(playerid);
        GivePlayerCash(playerid,GetPVarInt(playerid, "MoneyP"));
    }
    return 1;
}
quiero aclarar que use el include OnPlayerMoneyChange, para no complicarme tanto.

gracias.


Respuesta: revisar codigo antimoneyhack - jotajeda - 09.01.2015

Sin include serнa asн:
pawn Код:
public OnGameModeInit()
{
    SetTimer("Anticheat",1000,true);
    return 1;
}



forward GivePlayerCash(playerid,dinero);
public GivePlayerCash(playerid,dinero)
{
    SetPVarInt(playerid, "MoneyP", GetPlayerMoney(playerid)+dinero);
    GetPVarInt(playerid,"MoneyP");
return GivePlayerMoney(playerid,dinero);
}

forward Anticheat();
public Anticheat()
{
    for(new Todos = 0; Todos < 500; Todos++)
    {
        if(IsPlayerConnected(playerid))
        {
            if(GetPlayerMoney(Todos) != GetPVarInt(playerid, "MoneyP"))
            {
                ResetPlayerMoney(playerid);
                GivePlayerCash(playerid,GetPVarInt(playerid, "MoneyP"));
            }
        }
    }
    return 1;
}



Respuesta: revisar codigo antimoneyhack - mcreed - 09.01.2015

la verdad pregunto por que yo nose mucho de pawn, quiero evitar bugs, ї crees que esta bien el codigo ?.


Respuesta: revisar codigo antimoneyhack - jotajeda - 09.01.2015

Quote:
Originally Posted by mcreed
Посмотреть сообщение
la verdad pregunto por que yo nose mucho de pawn, quiero evitar bugs, ї crees que esta bien el codigo ?.
No lo he probado pero en teoria si debe funcionar. Pruebalo y si tienes problemas entonces avisanos para ayudarte.


Respuesta: revisar codigo antimoneyhack - Zume - 09.01.2015

El cуdigo estб bien, pero no es necesario utilizar el include OnPlayerMoneyChange, de todos modos utiliza OnPlayerUpdate.

pawn Код:
public OnPlayerUpdate(playerid)
{
    if(!IsPlayerConnected(playerid) || !IsPlayerNPC(playerid)) return 0;
    if (GetPlayerMoney(playerid) != GetPVarInt(playerid, "MoneyP"))
    {
        ResetPlayerMoney(playerid);
        GivePlayerMoney(playerid,GetPVarInt(playerid, "MoneyP"));
    }
    return 1;
}