GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: TheAlex86 le 15 Juillet 2010, 00:23:20

Titre: probleme de pay day
Posté par: TheAlex86 le 15 Juillet 2010, 00:23:20
Bonsoir à tous, voila j'ai un probleme avec ma payday, au debut nous étions 2 scripteurs et l'autre avais commencer un truc mais il s'est barrer de samp et je ne comprend pas ce bug.

Mon but: que a la paye, un civil gagne +- 300 $ (voir plus selon le lvl etc (mais pas 3000 quoi) et que ceux qui on un job gagne plus aussi et que ceux qui on une faction gagne plus aussi et gagne plus selon le rang de la faction.

donc en résumer le mieu serait 
* Civil : 300 $
* Job : 500 $
* Faction : entre 600 $ et 800 $ (variation selon les rang)

Le probleme la j'ai l'impression que parfois quand on est dans une faction on gagne moin que civil :s

quelqun pourai m'aider? voici mon code.

public PayDay()
{
new string[128];
for (new i=0; i<MAX_POINTS; i++)
{
Points[i][Announced] = 0;
if (Points[i][Vulnerable] > 0)
{
Points[i][Vulnerable]--;
UpdatePoints();
}
}
new account,interest;
new rent = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    if(PlayerInfo[i][pLevel] >= 0)
    {
if(PlayerInfo[i][pJailed] < 1)
{
if(MoneyMessage[i]==1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Vous n'avez pas remboursé votre dette, direction la prison.");
GameTextForPlayer(i, "~r~NIKER !", 2000, 1);
SetPlayerInterior(i, 6);
SetPlayerPos(i, 264.6288,77.5742,1001.0391);
    PlayerInfo[i][pJailed] = 1;
    PlayerInfo[i][pArrested] += 1;
    WantLawyer[i] = 1;
    ResetPlayerWeapons(i);
if(PlayerInfo[i][pWantedLevel] < 8)
{
PlayerInfo[i][pWantedLevel]++;
}
PlayerInfo[i][pJailTime] = (((PlayerInfo[i][pWantedLevel])*(300))+300);
JailPrice[i] = (((PlayerInfo[i][pWantedLevel])*(50))+150);
format(string, sizeof(string), "Vous etes en prison pour %d secondes.   Caution: $%d", PlayerInfo[i][pJailTime],JailPrice[i]);
                SendClientMessage(i, COLOR_LIGHTRED, "* Tapez /caution pour payer votre caution.");
SendClientMessage(i, COLOR_LIGHTBLUE, string);
PlayerInfo[i][pWantedLevel] = 0;
}
}
new level = PlayerInfo[i][pLevel];
new ojob = PlayerInfo[i][pRank];
new Job = PlayerInfo[i][pJob];
if(level == 1) { PlayerInfo[i][pPayCheck] += 50; }
else if(level == 2) { PlayerInfo[i][pPayCheck] += 60; }
else if(level == 3) { PlayerInfo[i][pPayCheck] += 70; }
else if(level == 4) { PlayerInfo[i][pPayCheck] += 80; }
else if(level == 5) { PlayerInfo[i][pPayCheck] += 90; }
else if(level == 6) { PlayerInfo[i][pPayCheck] += 100; }
else if(level == 7) { PlayerInfo[i][pPayCheck] += 110; }
else if(level == 8) { PlayerInfo[i][pPayCheck] += 120; }
if((PlayerInfo[i][pMember] > 0 || PlayerInfo[i][pLeader] > 0 ))
{
if(ojob == 1) { PlayerInfo[i][pPayCheck] += 90; }
else if(ojob == 2) { PlayerInfo[i][pPayCheck] += 100; }
else if(ojob == 3) { PlayerInfo[i][pPayCheck] += 110; }
else if(ojob == 4) { PlayerInfo[i][pPayCheck] += 115; }
else if(ojob == 5) { PlayerInfo[i][pPayCheck] += 116; }
else if(ojob == 6) { PlayerInfo[i][pPayCheck] += 117; }
else if(ojob == 7) { PlayerInfo[i][pPayCheck] += 118; }
else if(ojob == 8) { PlayerInfo[i][pPayCheck] += 119; }
else if(ojob == 9) { PlayerInfo[i][pPayCheck] += 120; }
else if(ojob == 10) { PlayerInfo[i][pPayCheck] += 121; }
else if(ojob == 11) { PlayerInfo[i][pPayCheck] += 122; }
else if(ojob == 12) { PlayerInfo[i][pPayCheck] += 123; }
else if(ojob == 13) { PlayerInfo[i][pPayCheck] += 124; }
else if(ojob == 14) { PlayerInfo[i][pPayCheck] += 125; }
else if(ojob == 15) { PlayerInfo[i][pPayCheck] += 226; }
else if(ojob == 16) { PlayerInfo[i][pPayCheck] += 227; }
else if(ojob == 17) { PlayerInfo[i][pPayCheck] += 228; }
else if(ojob == 18) { PlayerInfo[i][pPayCheck] += 229; }
else if(ojob == 19) { PlayerInfo[i][pPayCheck] += 230; }
else if(ojob == 20) { PlayerInfo[i][pPayCheck] += 231; }
else if(ojob == 21) { PlayerInfo[i][pPayCheck] += 232; }

}
if((PlayerInfo[i][pJob] > 0 || PlayerInfo[i][pMember] == 0 ))
{
if(Job == 1) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 2) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 3) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 4) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 5) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 6) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 7) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 8) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 9) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 10) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 11) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 12) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 13) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 14) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 15) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 16) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 17) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 18) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 19) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 20) { PlayerInfo[i][pPayCheck] += 40; }
else if(Job == 21) { PlayerInfo[i][pPayCheck] += 40; }
}
               
if((PlayerInfo[i][pJob] == 0 ))
{
PlayerInfo[i][pPayCheck] += 200;
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
account = PlayerInfo[i][pAccount];
new key = PlayerInfo[i][pPhousekey];
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(i))
{
PlayerInfo[i][pPhousekey] = 255;
SendClientMessage(i, COLOR_WHITE, "Vous avez été expulsé.");
                        rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = intrate+2; }
else { tmpintrate = intrate+1; }//HouseInfo[key][hLevel]
}
else
{
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 2; }
else { tmpintrate = 1; }
}
if(PlayerInfo[i][pPayDay] >= 5)
{
    if(PlayerInfo[i][pDonateRank] > 0)
{
    new bonus = PlayerInfo[i][pPayCheck] / 50;
    PlayerInfo[i][pPayCheck] += bonus;
}
new checks = PlayerInfo[i][pPayCheck];
            ConsumingMoney[i] = 1;
switch(PlayerInfo[i][pDonateRank])
{
case 0: { GivePlayerMoney(i, checks); }
case 1: { GivePlayerMoney(i, checks+5); }
case 2: { GivePlayerMoney(i, checks+6); }
case 3: { GivePlayerMoney(i, checks+7); }
case 4: { GivePlayerMoney(i, checks+8); }
case 5: { GivePlayerMoney(i, checks+9); }
case 6: { GivePlayerMoney(i, checks+10); }
}
    if(PlayerInfo[i][pAccount] > 0)
{
interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
}
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pAccount] = account+interest;



SendClientMessage(i, COLOR_WHITE, "|===========[ JOUR DE PAIE ]===========|");
format(string, sizeof(string), "  Paye: $%d   Taxe: -$5", checks);
SendClientMessage(i, COLOR_GRAD1, string);
if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
    new ebill = 10;
    if(PlayerInfo[i][pAccount] > 0)
    {
    PlayerInfo[i][pAccount] -= ebill;
    SBizzInfo[4][sbTill] += ebill;
}
else
{
    ebill = 0;
}
format(string, sizeof(string), "  Facture d'électricité: -$%d", ebill);
SendClientMessage(i, COLOR_GRAD1, string);
}
SendClientMessage(i, COLOR_GRAD4, "|=================================|");
format(string, sizeof(string), "  Balance: $%d", account);
SendClientMessage(i, COLOR_GRAD1, string);
format(string, sizeof(string), "  Taux d'intérêt: 0.%d pourcent(s)",tmpintrate);
SendClientMessage(i, COLOR_GRAD2, string);
format(string, sizeof(string), "  Intérets perçus $%d", interest);
SendClientMessage(i, COLOR_GRAD3, string);
SendClientMessage(i, COLOR_GRAD4, "|=================================|");
format(string, sizeof(string), "  Nouvelle balance: $%d", PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_GRAD5, string);
format(string, sizeof(string), "  Loyer: -$%d", rent);
SendClientMessage(i, COLOR_GRAD5, string);
// SendClientMessage(i, COLOR_WHITE, "** CONSEIL: Vous avez reçu 3 Point de Respect");
                    // SendClientMessageToAll(COLOR_YELLOW, " ** Les territoire des gangs sont réinitialisé  ");
                  RacketsTime = 1;
format(string, sizeof(string), "~g~Jour de paye");
GameTextForPlayer(i, string, 5000, 6);
rent = 0;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
PlayerInfo[i][pPayDonate]++;
PlayerInfo[i][pRepHandOut] += 3;
PlayerInfo[i][pRepAllowed] = 1;
if(PlayerInfo[i][pDonateRank] > 0)
{
    PlayerInfo[i][pPayDayHad] += 1;
    if(PlayerInfo[i][pPayDayHad] >= 5)
    {
        PlayerInfo[i][pExp]++;
        PlayerInfo[i][pPayDayHad] = 0;
    }
}
if(PlayerInfo[i][pDonateRank]>0)
{
if(PlayerInfo[i][pDonateRank]==1)
{
    if(PlayerInfo[i][pPayDonate]>=40)
    {
        PlayerInfo[i][pPayDonate] = 0;
        PlayerInfo[i][pDonateRank] = 0;
}
}
if(PlayerInfo[i][pDonateRank]==2)
{
    if(PlayerInfo[i][pPayDonate]>=10)
    {
        PlayerInfo[i][pPayDonate] = 0;
        PlayerInfo[i][pDonateRank] = 0;
}
}
if(PlayerInfo[i][pDonateRank]==3)
{
    if(PlayerInfo[i][pPayDonate]>=15)
    {
        PlayerInfo[i][pPayDonate] = 0;
        PlayerInfo[i][pDonateRank] = 0;
}
}
if(PlayerInfo[i][pDonateRank]==4)
{
    if(PlayerInfo[i][pPayDonate]>=18)
    {
        PlayerInfo[i][pPayDonate] = 0;
        PlayerInfo[i][pDonateRank] = 0;
}
}
if(PlayerInfo[i][pDonateRank]==5)
{
    if(PlayerInfo[i][pPayDonate]>=30)
    {
        PlayerInfo[i][pPayDonate] = 0;
        PlayerInfo[i][pDonateRank] = 0;
}
}
}
}
else
{
    SendClientMessage(i, COLOR_LIGHTRED, "* Vous n'avez pas joué assez longtemps pour obtenir votre paye.");
}
}
}
}

return 1;
}

merci d'avance .
Titre: Re : probleme de pay day
Posté par: TheAlex86 le 15 Juillet 2010, 01:05:20
certaine partie oui certaine partire non, comme dis précedement c'est mon collegeue qui a arreter qui a crée ça.
Titre: Re : probleme de pay day
Posté par: TheAlex86 le 15 Juillet 2010, 01:16:51
ok fin ça aide pas lol
Titre: Re : probleme de pay day
Posté par: TheAlex86 le 15 Juillet 2010, 02:04:14
"si tu comprenais" pas comprendrai, je trouve en fait que ton intervention ne sert à rien sur ce post, si je post ici c'est justement car je ne comprend pas, et pour obtenir de l'aide pas pour me faire entendre dire que je suis naze par quelqun qui ne fait pas lui même des pharses dans une bonne syntaxe et grammaire. Merci  >:(
Titre: Re : probleme de pay day
Posté par: TheAlex86 le 15 Juillet 2010, 02:29:54
déso de ma réaction c'ets juste que je suis a cran car mon second as quitter et y a des joueur qui se plaigne
Titre: Re : probleme de pay day
Posté par: cristab le 15 Juillet 2010, 21:37:29
tu as des job payer 40$ regarde vers le bas
Titre: Re : probleme de pay day
Posté par: TheAlex86 le 16 Juillet 2010, 01:26:27
ouais j'ai vu mais un coup ça donne 500 un coup 900 sans rien changer cher pas pq :(
Titre: Re : probleme de pay day
Posté par: TheAlex86 le 16 Juillet 2010, 13:24:28
comment faire pour que ça donne toujorus plus ?

comment faire pour que ça donne d'office une somme et ue si y  un job ouune faction çadonne la somme + qque chose? svp
Titre: Re : probleme de pay day
Posté par: D0os-Nox le 16 Juillet 2010, 13:57:36
Bonjour, Je te conseille d'aller voir la callback : PayCheckTime  (( Les problème vienne sûrement de là  ;) ))


 :ohmy D0os-Nox  :-[


Titre: Re : probleme de pay day
Posté par: TheAlex86 le 16 Juillet 2010, 19:49:27
merci D0os-Nox  ;)