• 06 Juin 2026, 12:24:44


Auteur Sujet: Probleme de paye.  (Lu 792 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Thiibo0w67

  • *
  • Tueur en série
  • Messages: 111
    • Voir le profil
Probleme de paye.
« le: 16 Avril 2010, 21:34:36 »
Bonjour/Bonsoir, j'ai un probléme, sur mon serveur Rôle Play, à chaque Paye, tout le monde crash, ducoup personne gagne le salaire.. Je vois pas d'ou viens ce probléme, quelqu'un pourrais m'aider s'il vous plait ? Merci :)

Cordialement
thib'z
++

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Probleme de paye.
« Réponse #1 le: 16 Avril 2010, 22:35:49 »
Kazikakotroudido,

Peut-tu nous faire voir ta fonction qui donne la paye au joueur stp ? =D

Hors ligne Thiibo0w67

  • *
  • Tueur en série
  • Messages: 111
    • Voir le profil
Re : Probleme de paye.
« Réponse #2 le: 16 Avril 2010, 22:43:09 »
Ce n'est pas le Public PayDay qui bug, mais le public SyncTime.

public SyncTime()
{
   //new string[64];
   new tmphour;
   new tmpminute;
   new tmpsecond;
   gettime(tmphour, tmpminute, tmpsecond);
   FixHour(tmphour);
   tmphour = shifthour;
   if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
   {
      /*format(string, sizeof(string), "SERVER: The time is now %d:00 hours",tmphour);
      BroadCast(COLOR_WHITE,string);*/
      ghour = tmphour;
      PayDay();
      if (realtime)
      {
         SetWorldTime(tmphour);
         if(tmphour == 10)
         {
               new string[256];
               format(string, sizeof(string), "Lotterie : Le tirage du loto est lancé !");
               OOCOff(COLOR_GREEN, string);
               new rand = random(80);
               if(rand < 77) { rand += 3; }
               Lotto(rand);
         }
      }
   }
}



[c=4]Voila le SyncTime, sinon je t'envois quand même le Public PayDay[/c]


public PayDay()
{
   new string[128];
   new account,interest;
   new rent = 0;
   for(new i = 0; i < MAX_PLAYERS; i++)
   {
      if(IsPlayerConnected(i))
      {
          if(PlayerInfo[pLevel] > 0)
          {
             if(MoneyMessage==1)
            {
                SendClientMessage(i, COLOR_LIGHTRED, "Vous n'avez pas payer votre dette, vous avez gagnez le droit d'aller en prison.");
                GameTextForPlayer(i, "~r~Arreter!", 2000, 1);
                SetPlayerInterior(i, 6);
                PlayerInfo[pInt] = 6;
                  SetPlayerPos(i, 264.6288,77.5742,1001.0391);
                  PlayerInfo[pJailed] = 1;
                  SafeResetPlayerWeapons(i);
                  SafeResetPlayerMoney(i);
               WantedPoints = 0;
               PlayerInfo[pJailTime] = 240;
               format(string, sizeof(string), "Vous avez été emprisonner pour %d secondes.   Caution: Imposible", PlayerInfo[pJailTime]);
               SendClientMessage(i, COLOR_WHITE, string);
            }
            new playername2[MAX_PLAYER_NAME];
            GetPlayerName(i, playername2, sizeof(playername2));
            account = PlayerInfo[pAccount];
            new key = PlayerInfo[pPhousekey];
            if(key != 255)
            {
               rent = HouseInfo[key][hRent];
               if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
               {
                  rent = 0;
               }
               else if(rent > GetPlayerMoney(i))
               {
                  PlayerInfo[pPhousekey] = 255;
                  SendClientMessage(i, COLOR_WHITE, "Vous avez été ejecter.");
                  rent = 0;
               }
               HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
            }
            new tmpintrate;
            if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
            {
                if(PlayerInfo[pDonateRank] > 0) { tmpintrate = intrate+4; }
               else { tmpintrate = intrate+2; }//maisonInfo[key][hLevel]
            }
            else
            {
                if(PlayerInfo[pDonateRank] > 0) { tmpintrate = 3; }
               else { tmpintrate = 1; }
            }
            if(PlayerInfo[pPayDay] >= 5)
            {
                Tax += TaxValue;//Should work for every player online
                PlayerInfo[pAccount] -= TaxValue;
               new checks = PlayerInfo[pPayCheck] / 5;
               if(PlayerInfo[pDonateRank] > 0)
               {
                   new bonus = PlayerInfo[pPayCheck] / 10;
                   checks += bonus;
               }
                new ebill = (PlayerInfo[pAccount]/10000)*(PlayerInfo[pLevel]);
                //ConsumingMoney = 1;
                //SafeGivePlayerMoney(i, checks);
                account += checks;
                if(PlayerInfo[pAccount] > 0)
                {
                   PlayerInfo[pAccount] -= ebill;
                   SBizzInfo[4][sbTill] += ebill;
               }
               else
               {
                   ebill = 0;
               }
               interest = (PlayerInfo[pAccount]/1000)*(tmpintrate);
               PlayerInfo[pExp]++;
               PlayerPlayMusic(i);
               PlayerInfo[pAccount] = account+interest;
               SendClientMessage(i, COLOR_GREEN, "|___ Salaire ___|");
               format(string, sizeof(string), "  Salaire HTC : $%d Taxe: -$%d", checks, TaxValue);
               SendClientMessage(i, COLOR_WHITE, string);
               if(PlayerInfo[pPhousekey] != 255 || PlayerInfo[pPbiskey] != 255)
               {
                   format(string, sizeof(string), "Facture d'électricitée: -$%d", ebill);
                  SendClientMessage(i, COLOR_GRAD1, string);
               }
               format(string, sizeof(string), "  Montant sur votre compte: $%d", account - checks);
               SendClientMessage(i, COLOR_WHITE, string);
               format(string, sizeof(string), "  Taux d'interets: 0.%d pourcent",tmpintrate);
               SendClientMessage(i, COLOR_GRAD2, string);
               format(string, sizeof(string), "  Interets perçu $%d", interest);
               SendClientMessage(i, COLOR_GRAD3, string);
               SendClientMessage(i, COLOR_GREEN, "|--------------------------------------|");
               format(string, sizeof(string), "  Nouvelle Balance: $%d", PlayerInfo[pAccount]);
               SendClientMessage(i, COLOR_GRAD5, string);
               format(string, sizeof(string), "  Location: -$%d", rent);
               SendClientMessage(i, COLOR_GRAD5, string);
               format(string, sizeof(string), "~y~Salaire ~n~~w~Votre cheque a ete vire a la banque");
               GameTextForPlayer(i, string, 5000, 1);
               rent = 0;
               PlayerInfo[pPayDay] = 0;
               ArgentGouv += interest;
               SaveStat();
               PlayerInfo[pPayCheck] = 0;
               PlayerInfo[pConnectTime] += 1;
               if(FarmerVar == 0)
               {
                  FarmerPickup[0] = 0;
               }
               if(DrugFarmerVar == 0)
               {
                  DrugFarmerPickup[0] = 0;
               }
               if(SmugglerWork == 0)
               {
                  PayDaySecure = 0;
               }
               if(PlayerInfo[pDonateRank] > 0)
               {
                   PlayerInfo[pPayDayHad] += 1;
                   if(PlayerInfo[pPayDayHad] >= 5)
                   {
                       PlayerInfo[pExp]++;
                       PlayerInfo[pPayDayHad] = 0;
                   }
               }
            }
            else
            {
                SendClientMessage(i, COLOR_WHITE, "* Vous n'avez pas travaillez assez longtemps pour obtenir la paye.");
            }
         }
      }
   }
   SaveAccounts();
   Checkprop();
   return 1;
}