Hallo
Ich habe seit längerer Zeit Probleme mit dem Payday, auch User haben gesagt, sie hätten nie den richtigen Payday oder sogar immer verschiedene Paydays. Alles bis auf den Member und Leader-Payday stimmt sonst, nur diese 2 gehen nie wirklich. Ich habe also jetzt jeder Fraktion als Geldbetrag die Fraktionsid gegeben, um das etwas genauer anshauen zu können.
Ich habe es vorhin getestet:
pMember = 6
pLeader= 6
pRank = 6
Was rauskam:
.....
Rank: 600 (stimmt)
Member: 13 (Stimmt nicht)
Leader 7 (Stimmt nicht)
Hier der Code:
new FrakGeld[MAX_FRAKS][2] =
{
{1,1},//Fraktion 1
{2,2},//Fraktion 2
{3,3},//Fraktion 3
{4,4},//Fraktion 4
{5,5},//Fraktion 5
{6,6},//Fraktion 6
{7,7},//Fraktion 7
{8,8},//Fraktion 8
{9,9},//Fraktion 9
{10,10},//Fraktion 10
{11,11},//Fraktion 11
{12,12},//Fraktion 12
{13,13},//Fraktion 13
{14,14},//Fraktion 14
{15,15},//Fraktion 15
{16,16},//Fraktion 16
{17,17} //Fraktion 17
};
public PayDay(i)
{
if(IsPlayerConnected(i))
{
if(PayTime[i] == 1)
{
//New
new str[256];
new zinsa = 1;
new respekt = 1;
new check = 100;
new level = PlayerInfo[i][pLevel];
new extra = (level*100);
new money = ((PlayerInfo[i][pBank]/1000)*zinsa);
new jpoints = (PlayerInfo[i][pJPoints]);
new fpoints = (PlayerInfo[i][pFPoints]);
new gjpoints = jpoints * 10;
new gfpoints = fpoints * 10;
new rank = PlayerInfo[i][pRank] * 100;
//Addition
check += extra;
//Richtiger Payday
format(str, sizeof(str), "--------------------------------------"); //Anfang
SendClientMessage(i, COLOR_GREEN, str);
format(str, sizeof(str), "Lohn: $%d",check); //Lohn
SendClientMessage(i, COLOR_WHITE, str);
format(str, sizeof(str), "Zinsengeld: $%d",money); //Zinsen
SendClientMessage(i, COLOR_WHITE, str);
format(str, sizeof(str), "Punktegeld: Job $%d, Fraktion $%d ",jpoints, fpoints); //Punkte
SendClientMessage(i, COLOR_WHITE, str);
//Job
if(PlayerInfo[i][pJob] != 0)
{
new frak = PlayerInfo[i][pJob];
JB_GivePlayerMoney(i, JobGeld[frak][0]);
format(str,sizeof(str),"Job: $%d", JobGeld[frak][0] );
SendClientMessage(i, COLOR_WHITE, str);
}
//Rank
if(PlayerInfo[i][pMember] != 1)
{
JB_GivePlayerMoney(i, rank);
format(str,sizeof(str),"Fraktions Rank: $%d",rank);
SendClientMessage(i, COLOR_WHITE, str);
}
//Member
if(PlayerInfo[i][pMember] != 0)
{
new frak = PlayerInfo[i][pMember];
JB_GivePlayerMoney(i, FrakGeld[frak][0]);
format(str,sizeof(str),"Fraktions Member: $%d", FrakGeld[frak][0] );
SendClientMessage(i, COLOR_WHITE, str);
}
//Leader
if(PlayerInfo[i][pLeader] != 0)
{
new frak = PlayerInfo[i][pLeader];
JB_GivePlayerMoney(i, FrakGeld[frak][1]);
format(str,sizeof(str),"Fraktions Leader: $%d", FrakGeld[frak][1] );
SendClientMessage(i, COLOR_WHITE, str);
}
format(str, sizeof(str), "--------------------------------------"); //Ende
SendClientMessage(i, COLOR_GREEN, str);
//Auszahlung
JB_GivePlayerMoney(i, check); //Lohn
JB_GivePlayerMoney(i, money); //Zinsen
JB_GivePlayerMoney(i, gjpoints); //Jobpoints
JB_GivePlayerMoney(i, gfpoints), //Fraktionspoints
//Resetten und Count +1
PlayerInfo[i][pJPoints] = 0; //Jobpoints
PlayerInfo[i][pFPoints] = 0; //Fraktionspoints
PayTime[i] = 0;
PlayerInfo[i][pRespekt] += respekt;
//Payday Ausgabe
format(str, sizeof(str), "~g~Pay~w~Day");
GameTextForPlayer(i, str, 5000, 1);
return 1;
}
}
return 0;
}