payday dialog problem
#1

I maked a payday dialog but if im on ESC ( menu ) i get "* You haven't played long enough to obtain a PayDay."

Код:
public PayDay()
{
	new string[128];
	new account,interest;
	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_1RED, "You failed to pay your debt, Jail time.");
	    			GameTextForPlayer(i, "~r~Busted!", 2000, 1);
	    			SetPlayerInterior(i, 10);
					PlayerInfo[i][pInt] = 10;
   					SetPlayerPos(i, 264.6288,77.5742,1001.0391);
         			PlayerInfo[i][pJailed] = 1;
         			ResetPlayerWeapons(i);
         			ResetPlayerMoney(i);
					WantedPoints[i] = 0;
					PlayerInfo[i][pJailTime] = 300;
					TextDrawShowForPlayer(i, Textdraw1[i]);
					format(string, sizeof(string), "You are jailed for %d seconds.   Bail: Unable", PlayerInfo[i][pJailTime]);
					SendClientMessage(i, COLOR_WHITE, string);
				}
				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, "You have been evicted.");
						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;
				    if(PlayerInfo[i][pDonateRank] > 0)
					{
					    new bonus = PlayerInfo[i][pPayCheck] / 2;
					    PlayerInfo[i][pPayCheck] += bonus;
					}
					new checks = PlayerInfo[i][pPayCheck];
				    new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
				    ConsumingMoney[i] = 1;
				    GivePlayerMoney(i, checks);
				    if(PlayerInfo[i][pAccount] > 0)
				    {
				    	PlayerInfo[i][pAccount] -= ebill;
				    	SBizzInfo[4][sbTill] += ebill;
					}
					else
					{
					    ebill = 0;
					}
					interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
					PlayerInfo[i][pExp]++;
					PlayerPlayMusic(i);
					PlayerInfo[i][pAccount] = account+interest;
					new hour,minuite;
					gettime(hour,minuite);
					FixHour(hour);
					hour = shifthour;
					new str[1024];
 					format(str,1024,""wh"_________|"color_red"STATISTICI BANCA"wh"|_________\n\n");
 					format(str,1024,"%s"wh"Bani primiti: "color_green"%d$\n",str,checks);
 					format(str,1024,"%s"wh"Taxa bani: "color_green"-%d$\n",str,TaxValue);
 					if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255){format(str,1024,"%s"wh"Electicitate Bill: "color_green"-%d$\n",str,ebill);}
                    format(str,1024,"%s"wh"Balanta veche: "color_green"%d$\n",str,account);
                    format(str,1024,"%s"wh"Dobanda: "color_green"0.%d "wh"percent\n",str,tmpintrate);
                    format(str,1024,"%s"wh"Castig "color_green"%d$\n",str , interest);
                    format(str,1024,"%s"wh"Bani cont: "color_green"%d$\n",str , PlayerInfo[i][pAccount]);
                    format(str,1024,"%s"wh"Chirie: "color_green"-%d$\n",str , rent);
                    format(str,1024,"%s"wh"Ora: "color_cyan"%02d:%02d",str,hour, minuite);
                    format(str,1024,"%s\t\t       "color_red"PayDay\n",str);
                    format(str,1024,"%s\t\t\t\t"color_blue"PayCheck",str);
					ShowPlayerDialog( i, 790, DIALOG_STYLE_MSGBOX, " ", str, "Iesi", "" );
					rent = 0;
					PlayerInfo[i][pPayDay] = 0;
					PlayerInfo[i][pPayCheck] = 0;
					PlayerInfo[i][pConnectTime] += 1;
					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_LIGHTRED, "* You haven't played long enough to obtain a PayDay.");
				}
			}
		}
	}
	Checkprop();
	return 1;
}
What is the problem ? Dialog cannot update if im on ESC ?
Reply
#2

up..
Reply
#3

Idk exactily your problem but....
Код:
 new str[1024];
 					format(str,1024,""wh"_________|"color_red"STATISTICI BANCA"wh"|_________\n\n");
... WTF?! You're using 1024 cells for every 'format'...LOL Take from str string the array cuz it's big enough. use sizeof(str) instead 1024.

It might work beeacuse the array is big.
Reply
#4

i changed to 256, same problem ...
Reply
#5

up ...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)