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 .