[Ajuda] Duvida - 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: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Duvida (
/showthread.php?tid=576150)
Duvida -
LucasDias - 01.06.2015
Eu poderia evitar estar formas de hack de dinheiro definindo meu " GivePlayerMoney" "GetPlayerMoney" etc, desta forma ??
pawn Код:
#define GivePlayerGrana(%0,%1) SetPVarInt(%0,"Money",GetPlayerGrana(%0)+%1),GivePlayerMoney(%0,%1)
#define ResetPlayerGrana(%0) SetPVarInt(%0,"Money",0),ResetPlayerMoney(%0)
#define GetPlayerGrana(%0) GetPVarInt(%0,"Money")
Re: Duvida -
Dayvison_ - 01.06.2015
Hmm, isto ajudaria SIM, mas nгo e um anti cheat se quiser hm fala que eu posto aqui, nгo й algo complicado
Re: Duvida -
Bruno13 - 01.06.2015
Basicamente sim, bastaria adicionar esta validaзгo:
pawn Код:
//Exemplo
public OnPlayerConnect(playerid)
{
SetTimerEx("CheckMoney", 1000, true, "i", playerid);
return 1;
}
forward CheckMoney(playerid);
public CheckMoney(playerid)
{
if(!ValidateMoney(playerid)) Ban(playerid);
}
ValidadeMoney(playerid)
{
if(GetPlayerMoney(playerid) != GetPlayerGrana(playerid)) return false;
return true;
}
Mas eu aconselharia mais a estudar e se basear pelo mйtodo hook.
Re: Duvida -
LucasDias - 01.06.2015
Quote:
Originally Posted by Day_
Hmm, isto ajudaria SIM, mas nгo e um anti cheat se quiser hm fala que eu posto aqui, nгo й algo complicado
|
Se puder postar uma base pra eu ter uma ideia agradeзo, pois nisto de anti money hack sou novo :X
Re: Duvida -
Dayvison_ - 01.06.2015
PHP код:
new Money[MAX_PLAYERS];
public OnPlayerUpdate(playerid) // OU TIMER
{
if(Money[playerid] != GetPlayerMoney(playerid))
{
SetPlayerMoney(playerid,Money[playerid]);
}
return true;
}
public OnPlayerConnect(playerid)
{
ResetPlayerMoney(playerid);
return true;
}
stock _GivePlayerMoney(playerid, valor)
{
Money[playerid] += valor;
GivePlayerMoney(playerid, valor);
return true;
}
stock _ResetPlayerMoney(playerid)
{
Money[playerid] = 0;
ResetPlayerMoney(playerid);
return true;
}
stock SetPlayerMoney(playerid,valor)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, valor);
return true;
}
#if defined _ALS_GivePlayerMoney
#undef GivePlayerMoney
#else
#define _ALS_GivePlayerMoney
#endif
#define GivePlayerMoney _GivePlayerMoney
#if defined _ALS_ResetPlayerMoney
#undef ResetPlayerMoney
#else
#define _ALS_ResetPlayerMoney
#endif
#define ResetPlayerMoney _ResetPlayerMoney
Re: Duvida -
LucasDias - 01.06.2015
Quote:
Originally Posted by Day_
PHP код:
new Money[MAX_PLAYERS];
public OnPlayerUpdate(playerid) // OU TIMER
{
if(Money[playerid] != GetPlayerMoney(playerid))
{
SetPlayerMoney(playerid,Money[playerid]);
}
return true;
}
public OnPlayerConnect(playerid)
{
ResetPlayerMoney(playerid);
return true;
}
stock _GivePlayerMoney(playerid, valor)
{
Money[playerid] += valor;
GivePlayerMoney(playerid, valor);
return true;
}
stock _ResetPlayerMoney(playerid)
{
Money[playerid] = 0;
ResetPlayerMoney(playerid);
return true;
}
stock SetPlayerMoney(playerid,valor)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, valor);
return true;
}
#if defined _ALS_GivePlayerMoney
#undef GivePlayerMoney
#else
#define _ALS_GivePlayerMoney
#endif
#define GivePlayerMoney _GivePlayerMoney
#if defined _ALS_ResetPlayerMoney
#undef ResetPlayerMoney
#else
#define _ALS_ResetPlayerMoney
#endif
#define ResetPlayerMoney _ResetPlayerMoney
|
Eu poderia fazer isto como include? mas nгo afetaria minha definiзгo de Giveplayermoney para giveplayercash ?
Re: Duvida -
Dayvison_ - 01.06.2015
Quote:
Originally Posted by LucasDias
Eu poderia fazer isto como include? mas nгo afetaria minha definiзгo de Giveplayermoney para giveplayercash ?
|
Nгo afetaria.. Mas tambйm nao funcionaria com aquela definicao. Vocк pode usar somente este so mudando a variavel para a PVAR que vocк quer...