Portal SAMP
[Ajuda] Preciso De Ajuda Com GivePlayerMoney - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Preciso De Ajuda Com GivePlayerMoney (/showthread.php?tid=2942)



Preciso De Ajuda Com GivePlayerMoney - BrunoHenriqueC - 30/10/2022

Rapaziada, a um tempo to sofrendo que meu servidor não esta deixando eu setar/retirar dinheiro a partir de um fs

EX: na gm eu posso seta/retirar
No Fs Eu Não Consigo quando eu boto o /teste
Código:
CMD:teste(playerid)
{
GivePlayerMoney(playerid, 20000);
return 1;
}
CMD:teste2(playerid)
{
GivePlayerMoney(playerid, -10000);
return 1;
}
nenhum dos dois funciona, ambos adciona dps volta ao normal (ELE ADCIONA E RETIRA NA HORA) (OU ELE RETIRA E RE-COLOCA NA HORA)

PFVR ME AJUDEM

to achando que é a include foreach mas to em duvida, pode ser ela?


RE: Preciso De Ajuda Com GivePlayerMoney - xbruno1000x - 30/10/2022

Provavelmente tem algum anti-hack de dinheiro. Eles tornam o dinheiro server-side para que o player não possa usar mods cleo de dinheiro.


RE: Preciso De Ajuda Com GivePlayerMoney - White_Blue - 30/10/2022

Sua gamemode não tem algum anti-money hack? Procure, caso tiver aí pode estar o problema.


RE: Preciso De Ajuda Com GivePlayerMoney - Carlos Victor - 30/10/2022

Provavelmente seja um anti-money hack. O que você pode fazer? Procura pela variável onde fica armazenada o dinheiro, geralmente é: pMoney, money, pDinheiro, pGrana... e manipula ela. Evite usar o money do jogo, é possivel injetar valores nele

Código:
//Exemplo:
new playerMoney[MAX_PLAYERS];

GivePlayerMoneyEx(playerid, money)
{
    playerMoney[playerid] += money;

    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, playerMoney[playerid]);
    return 1;
}



RE: Preciso De Ajuda Com GivePlayerMoney - BrunoHenriqueC - 30/10/2022

Vou Ver E Ja Volto, Desde-ja Agradeço


RE: Preciso De Ajuda Com GivePlayerMoney - BrunoHenriqueC - 31/10/2022

Ja Vi De Tudo E Nada Resolvido ainda, parece q o samp ta bloquando as filterscripts de dar dinheiro

Acho que resolvi, desculpem eu n tinha visto uma include que bloqueava os GivePlayerMoney Fora Da Gm, Um Ant-Cheater Bugado, Agora Que eu tirei esse ant-cheat oque eu faço e como arrumo um ant-cheat bom?


RE: Preciso De Ajuda Com GivePlayerMoney - Carlos Victor - 01/11/2022

Eu acho que quando falamos sobre dinheiro, a solução mais viável e que quase todos usam é manipulação de uma variável, isso já resolve qualquer tipo de money-hack, o dinheiro do jogo só deve ser usado visualmente mesmo.


RE: Preciso De Ajuda Com GivePlayerMoney - White_Blue - 01/11/2022

É só criar uma variável que armazene o dinheiro do player e criar uma callback que seja chamada de tempo em tempo ou usar a OnPlayerUpdate e verificar se o dinheiro é igual o valor armazenado na variável.

A princípio, eu faria assim:
Código PHP:
public OnPlayerConnect(playerid) {
     
SetPVarInt(playerid"MoneyUp"SetTimerEx("OnPlayerMoneyUpdate"5000true"i"playerid)); // Chama a callback OnPlayerMoneyUpdate a cada 5s a partir de quando o player conecta.
     
return 1;
}

public 
OnPlayerDisconnect(playeridreason) {
      if(
GetPVarInt(playerid"MoneyUp")) KillTimer(GetPVarInt(playerid"MoneyUp"));
      return 
1;
}

forward OnPlayerMoneyUpdate(i);
public 
OnPlayerMoneyUpdade(i) {
       if(
GetPlayerMoney(i) != GetPVarInt(i"dinheiro")) ResetPlayerMoney(i), GivePlayerMoney(iGetPVarInt(i"dinheiro"));
       return 
1;
}

stock GetPlayerMoneyEx(playerid) return GetPVarInt(playerid"dinheiro"); // Utilize esta stock ao invés da função GetPlayerMoney.
stock GivePlayerMoneyEx(playeridvalue) return GivePlayerMoney(playeridvalue), SetPVarInt(playerid"dinheiro"GetPlayerMoney(playerid)); // Utilize esta stock ao invés da função GivePlayerMoney. 



RE: Preciso De Ajuda Com GivePlayerMoney - LOS_SANTOS - 14/02/2025

(30/10/2022 02:31)BrunoHenriqueC Escreveu: Rapaziada, a um tempo to sofrendo que meu servidor não esta deixando eu setar/retirar dinheiro a partir de um fs

EX: na gm eu posso seta/retirar
No Fs Eu Não Consigo quando eu boto o /teste

CMD:teste(playerid)
{
GivePlayerMoney(playerid, 20000);
return 1;
}
CMD:teste2(playerid)
{
GivePlayerMoney(playerid, -10000);
return 1;
}

nenhum dos dois funciona, ambos adciona dps volta ao normal (ELE ADCIONA E RETIRA NA HORA) (OU ELE RETIRA E RE-COLOCA NA HORA)

PFVR ME AJUDEM

to achando que é a include foreach mas to em duvida, pode ser ela?

Se seu servidor estiver usando a include moneyprotect você só poderá dar grana sem baixar partir de uma filterwcript u
Substituindo o GivePlayerMoney por CallRemoteFunction("__MP_GivePlayerMoney", "dd", playerid,100); no lugar desse 100 você colocar a quantia que deseja assim o dinheiro de dentro da fs para a GM não baixara caso tiver usando o side server e outro tipo de função para o dinheiro não baixar pois essas proteções anula a função nativa do Samp GivePlayerMoney e qualquer que usar a função nativa usando essas includes ou proteções a grana baixa

(30/10/2022 02:31)BrunoHenriqueC Escreveu: Rapaziada, a um tempo to sofrendo que meu servidor não esta deixando eu setar/retirar dinheiro a partir de um fs

EX: na gm eu posso seta/retirar
No Fs Eu Não Consigo quando eu boto o /teste

CMD:teste(playerid)
{
GivePlayerMoney(playerid, 20000);
return 1;
}
CMD:teste2(playerid)
{
GivePlayerMoney(playerid, -10000);
return 1;
}

nenhum dos dois funciona, ambos adciona dps volta ao normal (ELE ADCIONA E RETIRA NA HORA) (OU ELE RETIRA E RE-COLOCA NA HORA)

PFVR ME AJUDEM

to achando que é a include foreach mas to em duvida, pode ser ela?

Veja se no topo da sua Gamemode se existe a include chamada #include <moneyprotect> se tiver você só vai poder dar grana assim

CMD:teste(playerid)
{
//GivePlayerMoney(playerid, 20000);
CallRemoteFunction("__MP_GivePlayerMoney", "dd", playerid,20000);
return 1;
}


RE: Preciso De Ajuda Com GivePlayerMoney - LOS_SANTOS - 14/02/2025

A include moneyprotect usa CallRemoteFunction("__MP_GivePlayerMoney", "dd", playerid,20000); para a grana não baixar
A include servermoneyGM usa GivePlayerMoneyEx(playerid,20000); para a grana não baixar e existem várias outras que os ant xit de grana usa eu não sei qual e a sua mas queira usar alguma dessas duas opções você terá que adicionar a include correta ou procure como está o GivePlayerMoney dentro da sua gm pois certeza tem uma proteção que pode ser diferentes dessas duas que mencionei , elas servem para qualquer grana dado que não esteja dentro da GM retorne , como por exemplo dinheiro dado na filterwcript a grana baixar porq dentro da GM existe umas dessas proteções isso impede q o jogador use Cleo de grana ou qualquer a outra coisa relacionada por isso a grana retorna quando se dar fora da gm