Bonjours
J'ai un gros problème avec mon gm ( une 2eme chance) je l'ai modifié etc...
Le seul problème qui pérsiste est que le payday n'es donné qu'a l'ID 0 !
Voici le code :
public PayDay()
{
new string[256];
new account,interest,tribute;
new rent = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLevel] > 0)
{
if(MoneyMessage[i]==1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Vous n'avez pas payé vos dettes, vous allez en prison.");
SetPlayerInterior(i, 6);
PlayerInfo[i][pInt] = 6;
SetPlayerPos(i, 264.6288,77.5742,1001.0391);
PlayerInfo[i][pJailed] = 1;
SafeResetPlayerWeapons(i);
SafeResetPlayerMoney(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 240;
format(string, sizeof(string), "Vous êtes en prisons pour %d secondes. Caution: Aucune", PlayerInfo[i][pJailTime]);
SendClientMessage(i, COLOR_WHITE, string);
}
new infostring[256];
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é éjecté.");
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+4; }
else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
}
else
{
if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 3; }
else { tmpintrate = 1; }
}
if(PlayerInfo[i][pPayDay] >= 5)
{
Tax += TaxValue;//Should work for every player online
PlayerInfo[i][pAccount] -= TaxValue;
new checks = PlayerInfo[i][pPayCheck] / 5;
checks += (random(1)+600) + PlayerInfo[i][pLevel]*(75);
new member = PlayerInfo[i][pMember],leader = PlayerInfo[i][pLeader],rank = PlayerInfo[i][pRank];
if(member == 1 || leader == 1) // LSPD
{
if(rank == 1)
checks += 575+random(150);
else if(rank == 2)
checks += 590+random(150);
else if(rank == 3)
checks += 610+random(150);
else if(rank == 4)
checks += 640+random(150);
else if(rank == 5)
checks += 660+random(150);
else if(rank == 6)
checks += 700+random(150);
}
else if(member == 2 || leader == 2) // FBI
{
if(rank == 1)
checks += 525+random(150);
else if(rank == 2)
checks += 530+random(150);
else if(rank == 3)
checks += 570+random(150);
else if(rank == 4)
checks += 605+random(150);
else if(rank == 5)
checks += 635+random(150);
else if(rank == 6)
checks += 675+random(150);
}
else if(member == 3 || leader == 3)// Armée
{
if(rank == 1 || rank == 2 || rank == 3 || rank == 4)
checks += 555+random(150);
else if(rank == 5)
checks += 605+random(150);
else if(rank == 6)
checks += 660+random(150);
}
else if(member == 4 || leader == 4) // Hospital
{
if(rank == 1)
checks += 505+random(150);
else if(rank == 2)
checks += 555+random(150);
else if(rank == 3)
checks += 585+random(150);
else if(rank == 4)
checks += 600+random(150);
else if(rank == 5)
checks += 650+random(150);
else if(rank == 6)
checks += 690+random(150);
}
else if(member == 7 || leader == 7) // Governement
{
if(rank == 1)
checks += 535+random(150);
else if(rank == 2)
checks += 560+random(150);
else if(rank == 3)
checks += 590+random(150);
else if(rank == 4)
checks += 615+random(150);
else if(rank == 5)
checks += 655+random(150);
else if(rank == 6)
checks += 735+random(150);
}
else if(member == 9 || leader == 9) // News
{
if(rank == 1)
checks += 535+random(150);
else if(rank == 2)
checks += 550+random(150);
else if(rank == 3)
checks += 580+random(150);
else if(rank == 4)
checks += 600+random(150);
else if(rank == 5)
checks += 630+random(150);
else if(rank == 6)
checks += 660+random(150);
}
else if(member == 18 || leader == 18) // CIA
{
if(rank == 1)
checks += 525+random(150);
else if(rank == 2)
checks += 530+random(150);
else if(rank == 3)
checks += 570+random(150);
else if(rank == 4)
checks += 605+random(150);
else if(rank == 5)
checks += 635+random(150);
else if(rank == 6)
checks += 675+random(150);
}
new job = PlayerInfo[i][pJob];
if(job != 0)
{
if(job == 1 || job == 2) { checks += 600+random(100); }// Bons Jobs : Métiers Libéraux
else if(job == 16 || job == 13) { checks += 550+random(10); }// Jobs pas mal
else if(job == 7 || job == 14 || job == 15) { checks += 525+random(100); } // Jobs normaux
else if(job == 17 || job == 21 || job == 6 || job == 18 || job == 12 || job == 8 || job == 26 || job == 25) { checks += 395+random(200); } // Jobs pas térrible
}
if(PlayerInfo[i][pDonateRank] > 0)
{
new bonus = PlayerInfo[i][pPayCheck] / 10;
checks += bonus;
}
new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
//ConsumingMoney[i] = 1;
//SafeGivePlayerMoney(i, checks);
account += checks;
if(PlayerInfo[i][pAccount] > 0)
{
PlayerInfo[i][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
// family tribute
if (PlayerInfo[i][pFMember] < MAX_FAMILY)
{
new fam = PlayerInfo[i][pFMember];
new tax = FamilyInfo[fam][FamilyTax];
if (tax > 0 && tax <= 25)
{
tribute = checks / (100 / tax);
PlayerInfo[i][pAccount] -= tribute;
FamilyInfo[fam][FamilyCash] += tribute;
}
}
interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pAccount] = account+interest;
PlayerPlaySound(i, 1097, 0.0, 0.0, 0.0);
SendClientMessage(i, COLOR_YELLOW, "|________________ Extrait de Compte ________________|");
format(string, sizeof(string), " Salaire Hors Taxe : $%d Taxe : -$%d", checks, TaxValue);
SendClientMessage(i, COLOR_WHITE, string);
if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
format(string, sizeof(string), " Facture d'Electrécité : -$%d", ebill);
SendClientMessage(i, COLOR_WHITE, string);
}
format(string, sizeof(string), " Argent sur le compte avant la Paye : $%d", account - checks);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), " Taux d'înterêt: 0.%d Pourcent => Interêt Gagné : %d$",tmpintrate, interest);
SendClientMessage(i, COLOR_WHITE, string);
if (PlayerInfo[i][pFMember] < MAX_FAMILY && FamilyInfo[PlayerInfo[i][pFMember]][FamilySafe] == 1)
{
format(string, sizeof(string), " FNO Taxe: $%d", tribute);
SendClientMessage(i, COLOR_WHITE, string);
}
format(string, sizeof(string), " Location: -$%d", rent);
SendClientMessage(i, COLOR_WHITE, string);
SendClientMessage(i, COLOR_YELLOW, "|---------------------------------------------------------------------|");
format(string, sizeof(string), " Argent sur le compte après la paye : $%d", PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_WHITE, string);
if(PlayerInfo[i][pHotel] == 1)
{
new hotelcost = BizzInfo[6][bEntranceCost];
format(string, sizeof(string), " Hotel: -$%d", hotelcost);
SendClientMessage(i, COLOR_WHITE, string);
BizzInfo[6][bTill] += BizzInfo[6][bEntranceCost];
ExtortionBiz(6, BizzInfo[6][bEntranceCost]);
BizzInfo[6][bProducts]--;
PlayerInfo[i][pAccount] -= hotelcost;
OnPropUpdate();
}
if(PlayerInfo[i][pJob] == 0 && PlayerInfo[i][pMember] == 0 && PlayerInfo[i][pLeader] == 0 && PlayerInfo[i][pRank] == 0)
{
SendClientMessage(i, COLOR_WHITE, "Vous n'avez pas de travail. Vous touchez le RSA.");
}
format(string, sizeof(string), "~y~PayDay~n~~w~L'argent a ete depose sur votre compte bancaire");
GameTextForPlayer(i, string, 5000, 1);
rent = 0;
Masturber[i] = 0;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
PlayerInfo[i][pWork] = 0;
new nxtlevel = PlayerInfo[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(PlayerInfo[i][pExp] >= expamount)
{
format(string, sizeof(string), "~g~Niveau Superieur Atteint~n~~w~Vous etes maintenant niveau %d", nxtlevel);
PlayerPlaySound(i, 1052, 0.0, 0.0, 0.0);
PlayerPlayMusic(i);
PlayerInfo[i][pLevel]++;
PlayerInfo[i][pExp] = 0;
PlayerInfo[i][gPupgrade] = PlayerInfo[i][gPupgrade]+2;
GameTextForPlayer(i, string, 5000, 1);
format(infostring, 256, " Niveau supérieur atteint ! Tapez /upgrade");
SendClientMessage(i, COLOR_GRAD1, infostring);
format(infostring, 256, "Vous avez %d points d'amélioration non utilisé.",PlayerInfo[i][gPupgrade]);
SendClientMessage(i, COLOR_GRAD2, infostring);
}
if (PlayerInfo[i][pExp] < expamount)
{
format(infostring, 256, "Vous avez besoin de %d points de respect pour passer au niveau suivant, vous en avez %d.",expamount,PlayerInfo[i][pExp]);
SendClientMessage(i, COLOR_GRAD1, infostring);
return 1;
}
if(FarmerVar[i] == 0)
{
FarmerPickup[i][0] = 0;
}
if(DrugFarmerVar[i] == 0)
{
DrugFarmerPickup[i][0] = 0;
}
if(SmugglerWork[i] == 0)
{
PayDaySecure[i] = 0;
}
if(PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pPayDayHad] += 1;
if(PlayerInfo[i][pPayDayHad] >= 5)
{
PlayerInfo[i][pExp]++;
PlayerInfo[i][pPayDayHad] = 0;
}
}
}
else
{
SendClientMessage(i, COLOR_WHITE, "* Vous n'avez pas joué assez longtemps pour obtenir votre paye.");
}
}
}
}
SaveFamilies();
SaveAccounts();
Checkprop();
return 1;
}
Merci