Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Зарплата ExP

Статус
В этой теме нельзя размещать новые ответы.

solider

Дебютант
Такая проблема. Не обнуляются ExP после получения определённого уровня.

public PayDay()
PHP:
public PayDay()
{
	new string[128],infostring[256];
	new account,interest;
	new workpay;
	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_GREY, "Вы были не в состоянии оплатить свой долг, отправляйтесь в тюрьму.");
				    GameTextForPlayer(i, "~r~Busted!", 2000, 1);
				    SetPlayerInterior(i, 6);
			   		SetPlayerPos(i, 264.6288,77.5742,1001.0391);
		            PlayerInfo[i][pJailed] = 1;
		            ResetPlayerWeapons(i);
					PlayerInfo[i][pWanted] = 0;
					PlayerInfo[i][pJailTime] = 240;
					format(string, sizeof(string), "Ты был(а) посажен(а) в тюрьму на %d секунд. Выплата: Невозможна.", PlayerInfo[i][pJailTime]);
					SendClientMessage(i, COLOR_LIGHTBLUE, 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, "Вы не можете оплатить арендную плату, потому Вы выселены.");
						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] >= 1)
				{
    				new exp = PlayerInfo[i][pExp];
					new nxtlevel = PlayerInfo[i][pLevel]++;
					new expamount = nxtlevel*levelexp;
					if(exp >= expamount)
					{
						PlayerInfo[i][pLevel] = PlayerInfo[i][pLevel]++;
						PlayerInfo[i][pExp] = PlayerInfo[i][pExp] -expamount;
						PlayerInfo[i][pAge] += 1;
						SendClientMessage(i, COLOR_GREEN2, "Поздравляем! Вы автоматически перешли на следующий уровень!");
						format(infostring,sizeof(infostring),"Теперь ваш уровень - %d!", PlayerInfo[i][pLevel]);
						SendClientMessage(i, COLOR_GREEN2, infostring);
						PlayerInfo[i][gPupgrade] = PlayerInfo[i][gPupgrade]+2;
						format(infostring, 256, "Вы получили %d очков обновления.",PlayerInfo[i][gPupgrade]);
						SendClientMessage(i, COLOR_RED2, infostring);
						SetPlayerScore(i, PlayerInfo[i][pLevel]);
					}
				    if(PlayerInfo[i][pDonateRank] > 0)
					{
					    new bonus = PlayerInfo[i][pPayCheck] / 10;
					    PlayerInfo[i][pPayCheck] += bonus;
					}
					new checks = PlayerInfo[i][pPayCheck];
				    new ebill = (PlayerInfo[i][pAccount]/1000000)*(PlayerInfo[i][pLevel]);
				    ConsumingMoney[i] = 1;
				    GivePlayerMoney(i, checks);
				    if(PlayerInfo[i][pAccount] > 0)
				    {
				    	PlayerInfo[i][pAccount] -= ebill;
				        SBizzInfo[4][sbTill] += 90;//  Бизнес - Электростанция SF
//				        SBizzInfo[32][sbTill] += 90;// Бизнес - ГидраЭлектроСтанция
//				        SBizzInfo[33][sbTill] += 100;// Бизнес - Нефти-Станция
					}
					else
					{
					    ebill = 0;
					}
	                PlayerInfo[i][pAccount] += workpay;
				    PlayerInfo[i][pAccount] -= Tax;
			    	interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);// 10000000
					PlayerInfo[i][pExp] += 2;
					PlayerInfo[i][pConnectTime] += 1;
					PlayerPlayMusic(i);
					PlayerInfo[i][pAccount] = account+interest;
					SendClientMessage(i, COLOR_GREEN, "|_______________ Зарплата _______________|");
					format(string, sizeof(string), "{FFFFFF}Полученная сумма:{FFFFFF}{6EF83C}$%d{FFFFFF} {FFFFFF}Налоги:{FFFFFF} {6EF83C}-$%d{FFFFFF}", checks, Tax);
					SendClientMessage(i, COLOR_YELLOW2, string);
//------------------------------------------------------------------------------
					if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)					{
				    format(string, sizeof(string), "{FFFFFF}Плата за электричество:{FFFFFF} {6EF83C}-$1500{FFFFFF}", ebill);
					SendClientMessage(i, COLOR_YELLOW2, string);					}
//------------------------------------------------------------------------------
					format(string, sizeof(string), "{FFFFFF}Баланс:{FFFFFF} {6EF83C}$%d{FFFFFF} {FFFFFF}Банковский процент:{FFFFFF} {6EF83C}0.%d{FFFFFF}", account, tmpintrate);
					SendClientMessage(i, COLOR_YELLOW2, string);
//------------------------------------------------------------------------------
					format(string, sizeof(string), "{FFFFFF}Уважение{FFFFFF} {6EF83C}$%d{FFFFFF}", interest);
					SendClientMessage(i, COLOR_WHITE, string);
//------------------------------------------------------------------------------
					format(string, sizeof(string), "{FFFFFF}Сумма в банке:{FFFFFF} {6EF83C}$%d{FFFFFF}", PlayerInfo[i][pAccount]);
					SendClientMessage(i, COLOR_WHITE, string);
//------------------------------------------------------------------------------
					format(string, sizeof(string), "{FFFFFF}Плата за аренду:{FFFFFF} {6EF83C}$%d{FFFFFF}", rent);
					SendClientMessage(i, COLOR_WHITE, string);
					SendClientMessage(i, COLOR_GREEN, "|---------------------------------------------------------------------|");
//------------------------------------------------------------------------------
					/*format(string, sizeof(string), "~y~PayDay~n~~w~Paycheck");
					GameTextForPlayer(i, string, 7000, 1);
					rent = 0;
					PlayerInfo[i][pPayDay] = 0;
					format(string, sizeof(string), "*Новости лотереи: мы начали лотерейную партию.");
                    OOCOff(COLOR_YELLOW, string);
                    new rand = random(80);
	                if(rand < 77) { rand += 3; }
	                Lotto(rand);*/
					PlayerInfo[i][pPayCheck] = 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, "•Dolphin[E]•: Из-за маленького пробывания на сервере ты не получил(а) зарплату.");
				}
			}
		}
	}
	SaveAccounts();//Сохранение акков при зарплате
	Checkprop();
	return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу