SA-MP Forums Archive
[Tutorial] Stopper l'argent sale - 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: Français/French (https://sampforum.blast.hk/forumdisplay.php?fid=30)
+----- Forum: Showroom (https://sampforum.blast.hk/forumdisplay.php?fid=81)
+----- Thread: [Tutorial] Stopper l'argent sale (/showthread.php?tid=353136)



Stopper l'argent sale - cristab - 14.12.2009

Bonjour qui a deja vu les joueurs avec 9999999999$ en poche tout le monde pourtant si simple a eviter ^^ je vais vous dire comment.

pour commencer nous avont besoin d'une variable

ici je l'appelle argent donc

Code:
new argent[MAX_PLAYERS];
dans la callback OnPlayerConnecet(playerid)

Code:
argent[playerid]=0;
on la met a 0 car sinon on garde les parametre de l'ancien joueurs ce qui serais farfelut

desormer nous allons cree nos fonction

pour ne pas faire complexe je vous les met deja prete tenter juste de les comprendre SVP

Code:
stock donneargent(playerid,montant)
{
  argent[playerid]= argent[playerid] + montant;
  return GivePlayerMoney(playerid,argent[playerid]);
}
stock resetargent(playerid)
{
	argent[playerid] = 0;
	return ResetPlayerMoney(playerid);
}
stock setargent(playerid,montant)
{
	argent[playerid] = montant;
	ResetPlayerMoney(playerid);
	return GivePlayerMoney(playerid,argent[playerid]);
}
stock retireargent(playerid,montant)
{
  argent[playerid]= argent[playerid] - montant;
  return GivePlayerMoney(playerid,argent[playerid]);
}
stock Getargent(playerid)
{
	return argent[playerid];
}
desormer le public qui va empecher le cheat d'argent

Code:
forward ACargent();
public ACargent()
{
  for(new i; i<MAX_PLAYERS; i++)
  {
    new ACmoney=Getargent(i);
    setargent(i,ACmoney);
  }
	return 1;
}
bien entendut sans timer sa auras aucun effet ^^ donc dans le OnGameModeInit

Code:
SetTimer("ACargent",5000,1);
Voila si vous avez des question je pourrait y repondre je suis la pour sa ^^

PS ne bannisser pas ce qui on trop d'argent etant donner que l'argent dans GTA on peu ce le procurer de plusieur faзon et donc bannirer des personne innocente



Re: [TUTO]Stoper l'argent sale - mister-fred - 14.12.2009

Personellement j'ferait plutфt se genre de fonciton:
pawn Code:
#define SetPlayerMoney(%0,%1) ResetPlayerMoney(%0);GivePlayerMoney(%0,%1);argent[%0]=%1
#define GivePlayerMoneyEx(%0,%1) GivePlayerMoney(%0,%1);argent[%0]+=%1
#define GetPlayerMoneyEx(%0) (argent[%0])
Pas besoin de fonction retirerargent suffit d'utiliser GivePlayerMoneyEx(playerid,-XXX);

Bien sur il faut tjr un timer qui verifiera si l'argent qua le joueur est bien l'argent qu'il a eu via le serveur:
pawn Code:
forward ACargent();
public ACargent()
{
  for(new i=0; i<MAX_PLAYERS; i++)
  {
     if(IsPlayerConnected(i))
     {
        if(GetPlayerMoney(i) != GetPlayerMoneyEx(i)) //Si l'argent qua le joueur n'est pas identique a ce que le serveur lui a reelement donnй
        {
            SetPlayerMoney(i,GetPlayerMoneyEx(i)); //On lui remet l'argent qu'il a reelement.
        }
      }
   }
   return 1;
}



Re: [TUTO]Stoper l'argent sale - cristab - 14.12.2009

pas mal avec les define Merci


Re: [TUTO]Stoper l'argent sale - sasuke78200 - 15.12.2009

Ah ouais pas mal penser ca GG ^^


Et vive les $$ propre ^^


sinon j' aime pas trop voir ca xd
Code:
argent[playerid]= argent[playerid] + montant;
c' est mieu comme ca

Code:
argent[playerid] += montant;



Re: [TUTO]Stoper l'argent sale - thegoliathmaster - 15.12.2009

Salut,

je vais essayer de faire une petite include simple а utiliser
dиs que les examens sont terminйs je m'y met :P

++Sim++