25.02.2013, 21:37
Muy buen tutorial, tienes un error en la funciуn dar vida:
Si usted pone = sin sumar el valor que ya contiene la variable entonces se setearб el valor puesto en la funciуn DarVida.
Yo prefiero hacer algo asi:
Modo de uso:
Usted puede utilizar la funciуn GivePlayerMoney sin necesidad de utilizar otra.
No lo testee pero deberia funcionar.
Muy buйn tutorial.
Un saludo.
pawn Код:
stock DarVida(playerid, vida)
{
SetPlayerHealth(playerid, vida)
InfoJugador[playerid][pVida] += vida;
}
Yo prefiero hacer algo asi:
pawn Код:
#include <a_samp>
enum
{
PLAYER_MONEY_HACK
};
static gFHACK[1];
public OnPlayerUpdate(playerid)
{
if(playerid != INVALID_PLAYER_ID)
{
if(GetPlayerMoney(playerid) != GetPVarInt(playerid, "FAntiMoneyHack"))
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, GetPVarInt(playerid, "FAntiMoneyHack"));
CallLocalFunction("OnPlayerHack", "ii", playerid, PLAYER_MONEY_HACK);
}
}
return 1;
}
stock AntiMoneyHack(playerid, dinero)
{
switch(dinero)
{
case '-':
{
SetPVarInt(playerid, "FAntiMoneyHack", GetPVarInt(playerid, "FAntiMoneyHack")-dinero);
MONEY: GivePlayerMoney(playerid, GetPVarInt(playerid, "FAntiMoneyHack"));
}
default:
{
SetPVarInt(playerid, "FAntiMoneyHack", GetPVarInt(playerid, "FAntiMoneyHack")+dinero);
goto MONEY;
}
}
return 1;
}
#if defined _FHACK_GivePlayerMoney
#undef GivePlayerMoney
#else
#define _FHACK_GivePlayerMoney
#endif
#define GivePlayerMoney AntiMoneyHack
forward OnPlayerHack(playerid, hackid);
public OnGameModeInit()
{
gFHACK[0] = funcidx("FHACK_GivePlayerMoney") != -1;
if (funcidx("FHACK_OnGameModeInit") != -1)
{
return CallLocalFunction("FHACK_OnGameModeInit", "");
}
return 1;
}
#if defined _FHACK_OnGameModeInit
#undef OnGameModeInit
#else
#define _FHACK_OnGameModeInit
#endif
#define OnGameModeInit FHACK_OnGameModeInit
forward FHACK_OnGameModeInit();
pawn Код:
CMD:dinero(playerid, params[])
{
GivePlayerMoney(playerid, 100);
return 1;
}
pawn Код:
public OnPlayerHack(playerid, hackid)
{
if(hackid == PLAYER_MONEY_HACK)
{
SendClientMessage(playerid, -1, "El AntiCheat detect[o que usaste un MoneyHack.");
}
return 1;
}
Muy buйn tutorial.
Un saludo.

