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
-
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 .
-
certaine partie oui certaine partire non, comme dis précedement c'est mon collegeue qui a arreter qui a crée ça.
-
ok fin ça aide pas lol
-
"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 >:(
-
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
-
tu as des job payer 40$ regarde vers le bas
-
ouais j'ai vu mais un coup ça donne 500 un coup 900 sans rien changer cher pas pq :(
-
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
-
Bonjour, Je te conseille d'aller voir la callback : PayCheckTime (( Les problème vienne sûrement de là ;) ))
:ohmy D0os-Nox :-[
-
merci D0os-Nox ;)