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

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

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

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

Уровень

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

DIMASIK

Ученик
Вот такой у меня баг, сделал чтобы уровень довался после 25очков опыта, а вот как насчитало 25очков - лвл не дается.
Код:
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)
		    {
				PlayerInfo[i][pRabotalLopatoy] = 0;
		        DengiTime[i] = 15;
				new playername2[MAX_PLAYER_NAME];
				GetPlayerName(i, playername2, sizeof(playername2));
				account = PlayerInfo[i][pAccount];
				new key = PlayerInfo[i][pPhousekey];
				new ebill = SBizzInfo[4][sbPriceProd];
				new interestp = interest/100;
				new workpay;
				new oldm;
				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;
				}
				if(PlayerInfo[i][pPayDay] >= 5)
				{
	 				if(PlayerInfo[i][pMember] == 1)
	 				{
	 				    workpay = CopSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 80;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 2)
	 				{
	 				    workpay = FbiSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 60;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 3)
	 				{
	 				    workpay = NGSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 4)
	 				{
	 				    workpay = MedSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;

  					}
  					else if(PlayerInfo[i][pMember] == 7)
	 				{
	 				    workpay = PolSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 9)
	 				{
	 				    workpay = ReportSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 11)
	 				{
	 				    workpay = LicSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 20)
	 				{
	 				    workpay = SwatSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 21)
	 				{
	 				    workpay = FermaSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 12)
	 				{
	 				    workpay = GroovSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
                    else if(PlayerInfo[i][pMember] == 13)
	 				{
	 				    workpay = BallazSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 14)
	 				{
	 				    workpay = StreetDogsSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 15)
	 				{
	 				    workpay = VagosSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 16)
	 				{
	 				    workpay = CoronosSal * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 17)
	 				{
	 				    workpay = BaikerSal  * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 18)
	 				{
	 				    workpay = TriadaSal  * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pMember] == 19)
	 				{
	 				    workpay = RMSal  * PlayerInfo[i][pRank];
	 				    new Taxx = workpay * Tax / 50;
  				    	PlayerInfo[i][pAccount] -= Taxx;
  				    	Treasury += Taxx;
  				    	Treasury -= workpay;
  					}
                    else if(PlayerInfo[i][pPensija] == 1)
  					{
  					    workpay += (CopSal * PlayerInfo[i][pRank]) / 2;
  					    Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pPensija] == 2)
  					{
  					    workpay += (FbiSal * PlayerInfo[i][pRank]) / 2;
  					    Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pPensija] == 3)
  					{
  					    workpay += (PolSal * PlayerInfo[i][pRank]) / 2;
  					    Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pPensija] == 4)
  					{
  					    workpay += (MedSal * PlayerInfo[i][pRank]) / 2;
  					    Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pPensija] == 5)
  					{
  					    workpay += (ReportSal * PlayerInfo[i][pRank]) / 2;
  					    Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pPensija] == 5)
  					{
  					    workpay += (LicSal * PlayerInfo[i][pRank]) / 2;
  					    Treasury -= workpay;
  					}
  					else if(PlayerInfo[i][pPensija] == 8)
  					{
  					    workpay += (NGSal * PlayerInfo[i][pRank]) / 2;
  					    Treasury -= workpay;
  					}
  					else
  					{
  					    workpay = NonJobSal;
	   				}
	   				//Сбрасываем время работ
	   				if(PlayerInfo[i][pOtkRabota1] > 0)
					{
						PlayerInfo[i][pOtkRabota1] -- ;
					}
					if(PlayerInfo[i][pOtkRabota2] > 0)
					{
					    PlayerInfo[i][pOtkRabota2] -- ;
					}
					if(PlayerInfo[i][pOtkRabota3] > 0)
					{
					    PlayerInfo[i][pOtkRabota3] -- ;
					}
					if(PlayerInfo[i][pOtkRabota7] > 0)
					{
					    PlayerInfo[i][pOtkRabota7] -- ;
					}
					if(PlayerInfo[i][pOtkRabota8] > 0)
					{
					    PlayerInfo[i][pOtkRabota8] -- ;
					}
					if(PlayerInfo[i][pOtkRabota12] > 0)
					{
					    PlayerInfo[i][pOtkRabota12] -- ;
					}
					if(PlayerInfo[i][pOtkRabota14] > 0)
					{
                        PlayerInfo[i][pOtkRabota14] -- ;
					}
					if(PlayerInfo[i][pOtkRabota15] > 0)
					{
					   PlayerInfo[i][pOtkRabota15] -- ;
					}
					if(PlayerInfo[i][pOtkRabota16] > 0)
					{
					    PlayerInfo[i][pOtkRabota16] -- ;
					}
					if(PlayerInfo[i][pOtkRabota22] > 0)
					{
					    PlayerInfo[i][pOtkRabota22] -- ;
					}
         			if(PlayerInfo[i][pOtkRabota24] > 0)
					{
             			PlayerInfo[i][pOtkRabota24] -- ;
					}

				    PlayerInfo[i][pAccount] += workpay;
				    PlayerInfo[i][pAccount] -= Tax;
			    	PlayerInfo[i][pAccount] += interest;
					interest = PlayerInfo[i][pAccount]/1000;
					PlayerInfo[i][pExp]++;
					PlayerPlayMusic(i);
					new premia = 0;
   					if(PlayerInfo[i][pJob] == 1 || PlayerInfo[i][pJob] == 2 || PlayerInfo[i][pJob] == 7 || PlayerInfo[i][pJob] == 8 || PlayerInfo[i][pJob] == 12
					|| PlayerInfo[i][pJob] == 14 || PlayerInfo[i][pJob] == 15 || PlayerInfo[i][pJob] == 16 || PlayerInfo[i][pJob] == 22 || PlayerInfo[i][pJob] == 24)
					{
						premia = 50 + random(150);
						ServerGivePlayerMoney(i,premia);
					}
   					SendClientMessage(i, COLOR_WHITE, "|_______Расчёт_______|");
					if(IsAWorkGroup(i))
					{
						format(string, sizeof(string), "* Зарплата: $%d   Налоги: -$%d  Премия: $%d", workpay, Tax,premia);
						SendClientMessage(i, COLOR_GRAD1, string);
	 				}
	 				else
	 				{
	 				    format(string, sizeof(string), "* Пособие: $%d   Налоги: -$%d  Премия: $%d", workpay, Tax,premia);
						SendClientMessage(i, COLOR_GRAD1, string);
	 				}

	 				if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pMember] == 2||PlayerInfo[i][pMember] == 20)
					{
					    if(qperc[i] > 0)
					    {
					        new quality;
					    	quality = qperc[i] * 50;
					    	PlayerInfo[i][pAccount] += quality;
					    	format(string, sizeof(string), "* Надбавка: $%d", quality);
							SendClientMessage(i, COLOR_GRAD1, string);
							qperc[i] = 0;
						}
	 				}
	 				if(PlayerInfo[i][pLevel] > 10)
					{
					    oldm = 10 * PlayerInfo[i][pLevel];
						PlayerInfo[i][pAccount] += oldm;
					    format(string, sizeof(string), "* Выплаты от Гос-ва: $%d", oldm);
						SendClientMessage(i, COLOR_GRAD2, string);
	 				}
					if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255 ||PlayerInfo[i][pPapptkey] != 255)
					{
					    PlayerInfo[i][pAccount] -= ebill;
						SBizzInfo[4][sbTill] += ebill;
					    format(string, sizeof(string), "* Эл. энергия: -$%d", ebill);
						SendClientMessage(i, COLOR_GRAD1, string);
					}
					if(PlayerInfo[i][pPbiskey] != 255)
					{
					    format(string, sizeof(string), "* Подоходный налог: -$%d", biztax);
						SendClientMessage(i, COLOR_GRAD1, string);
						PlayerInfo[i][pAccount] -= biztax;
					}
	 				SendClientMessage(i, COLOR_GRAD4, "|---------- Cчёт в банке ----------|");
					format(string, sizeof(string), "* Старый баланс: $%d", account);
					SendClientMessage(i, COLOR_GRAD1, string);
					format(string, sizeof(string), "  Новый счет: $%d", PlayerInfo[i][pAccount]);
                    SendClientMessage(i, COLOR_GRAD5, string);
					format(string, sizeof(string), "* Доход: $%d", interestp);
					SendClientMessage(i, COLOR_GRAD3, string);
					SendClientMessage(i, COLOR_GRAD4, "|----------------------------------|");
					format(string, sizeof(string), "* За квартиру: -$%d", rent);
					SendClientMessage(i, COLOR_GRAD5, string);
					format(string, sizeof(string), "~y~€APЊ‡A¦A~n~~w~O—®A‹‡E® ЌE®");
					GameTextForPlayer(i, string, 5000, 1);
					rent = 0;
					PlayerInfo[i][pPayDay] = 0;
					PlayerInfo[i][pPayCheck] = 0;
					PlayerInfo[i][pConnectTime] += 1;
                    adlimit[i] = 0;
					if(PlayerInfo[i][pExp] == levelexp*(PlayerInfo[i][pLevel]+1))
					{
					    PlayerInfo[i][pExp] = 0;
					    PlayerInfo[i][pLevel]++;
					    PlayerInfo[i][gPupgrade] += 2;
					    format(string, sizeof(string), "Bы достигли %d уровня.", PlayerInfo[i][pLevel]);
						SendClientMessage(i, COLOR_LIGHTBLUE , string);
					    PlayerInfo[i][pAge]++;
                    	format(string, sizeof(string), " С Днём Рождения! Вы постарели на 1 год, и теперь Вам %d.", PlayerInfo[i][pAge]);
                        SendClientMessage(i, COLOR_LIGHTBLUE , string);
	 				}
//------------------------------------------------------------------------------
		    		format(string, sizeof(string), "* У вас %d оч./оп.", PlayerInfo[i][pExp]);
					SendClientMessage(i, COLOR_LIGHTBLUE , string);
					if(PlayerInfo[i][pNeSdal] == 1)
					{
					    PlayerInfo[i][pNeSdal] = 0;
					}
					if(PlayerInfo[i][pAge] == 45)
                    {
                        SendClientMessage(i, COLOR_WHITE, "Ну вот, Вам уже 45 лет. Теперь Вы больше не работаете, а только получаете пенсию.");
                        SendClientMessage(i, COLOR_WHITE, "Не знаю, поздравлять Вас или нет, решать Вам. В общем удачи.");
                        SendClientMessage(i, COLOR_WHITE, "Когда Вам исполнится 50 лет. Вы с каждым годом можете умереть от старости.");
                        PlayerInfo[i][pPensija] = PlayerInfo[i][pMember];
                        PlayerInfo[i][pMember] = 0;
                    }
					if(PlayerInfo[i][pAge] >= 50)
                    {
                        new chance = random(50);
                        if(chance > 0 && chance < 9)
                        {
                            return 1;
                        }
                        else
                        {
                            SendClientMessage(i, COLOR_WHITE, "Ну вот, Ваше время пришло. Вы умерли от старости.");
                            SendClientMessage(i, COLOR_WHITE, "Земля вам будет пухом.");
                            PlayerInfo[i][pRPD] = 1;
                        }
                    }
				}
				else
				{
			    	SendClientMessage(i, COLOR_LIGHTRED, "* Вы слишком мало играли, чтобы получить чек.");
				}
			}
		}
	}
	Checkprop();
	return 1;
}

strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
Код:
		new level = PlayerInfo[targetid][pLevel];
		new exp = PlayerInfo[targetid][pExp];
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу