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

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

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

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

Косяк со стоком PayDay

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

Mant1cora

Начинающий
Пользователь
Регистрация
6 Апр 2016
Сообщения
38
Лучшие ответы
0
Репутация
3
Ребят, помогите пожалуйста, всю голову сломал.
Пейдей проходит только у тех,кто во фракции, может, я упустил какой момент, но не могу найти, проверки,вроде бы, ровные. У гражданских пишет "банковский чек", опыт не зачисляется, а "зарплата:0" не пишется. В моде все указаны зарплаты даже для тех, кто pMember = 0.

PHP:
stock PayDay()
{
    SaveOther();
    new string[128], amount_exp=0;
    for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(!IsPlayerConnected(i)) continue;
	    if(!gPlayerLogged[i]) { SendClientMessage(i, COLOR_GREY, "Вы не авторизированы для получения зарплаты"); continue; }
        if(!pInfo[i][pVip])
		{
		    SendClientMessage(i, COLOR_WHITE, "---------------{FFFF00}[Банковский чек]{FFFFFF}---------------");
			format(string, sizeof(string), "- Зарплата: {FF9900}%d$", Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1]);
			SendClientMessage(i, COLOR_WHITE, string);
			pInfo[i][pBank] += Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1];
			format(string, sizeof(string), "- Текущий баланс счёта: {FF9900}%d$", pInfo[i][pBank]);
			SendClientMessage(i, COLOR_WHITE, string);
			if(pInfo[i][pAdmin])
			{
			    new AdminSalary = 5000*(pInfo[i][pAdmin]+1);
				GiveBankMoney(i, AdminSalary, "AdminSalary");
		    	format(string, sizeof(string), "- Зарплата администратора: {FF9900}%d$", AdminSalary);
				SendClientMessage(i, COLOR_WHITE, string);
			}
			SendClientMessage(i, COLOR_WHITE, "-----------------------------------------------------------");
			if(pInfo[i][pZakon] < 100)
			{
				pInfo[i][pZakon]++;
				MysqlUpdatePlayerInt(i, "zakon", pInfo[i][pZakon]);
			}
			amount_exp += (!doubling_exp)?(1):(2);
		    if(pInfo[i][pVip] && !(pInfo[i][pTime] % 4)) amount_exp++;
			pInfo[i][pExp] += amount_exp;
		    format(string, sizeof(string), "Вы получили %s, теперь у Вас %d из %d опыта", (amount_exp==1)?("1 очко опыта"):(amount_exp==2)?("2 очка опыта"):("3 очка опыта"), pInfo[i][pExp], (pInfo[i][pLevel]+1)*4);
		    SendClientMessage(i, COLOR_ORANGE, string);
		    amount_exp=0;
		    if(pInfo[i][pExp] >= (pInfo[i][pLevel]+1)*4)
		    {
		        SendClientMessage(i, COLOR_ORANGE, "Ваш игровой возраст повысился, вы перешли на следующий уровень!");
			    pInfo[i][pLevel]++;
			    pInfo[i][pAge]++;
			    pInfo[i][pExp] = 0;
			    SetPlayerScore(i, pInfo[i][pLevel]);
		    }
		    if(pInfo[i][pLevel] == 4 && pInfo[i][pExp] == 0)
		    {
		        if(!GetString(pInfo[i][pReferal], "None"))
		        {
		        	new targetid = GetPlayerID(pInfo[i][pReferal]);
					if(targetid != INVALID_PLAYER_ID)
					{
						TransferMoney(-1, targetid, 50000);
					    SendClientMessage(targetid, COLOR_YELLOW, "[Информация] {FFFFFF}Вы получили {63BD4E}50.000$ {FFFFFF}за приглашенного игрока");
					}
					else
					{
					    mysql_query_string[0] = EOS;
					  	format(mysql_query_string, sizeof(mysql_query_string), "SELECT * FROM "T_ACCOUNTS" WHERE name = '%s'", pInfo[i][pReferal]);
					  	mysql_tquery(dbHandle, mysql_query_string, "@OfflineSetReferalMoney", "i", i);
					}
		   		}
		    }
		}
        else if(pInfo[i][pVip])
		{
		    SendClientMessage(i, COLOR_WHITE, "---------------{FFFF00}[Банковский чек]{FFFFFF}---------------");
            format(string, sizeof(string), "- Зарплата: {FF9900}%d$", Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1]);
			SendClientMessage(i, COLOR_WHITE, string);
			pInfo[i][pBank] += Fraction_Pay[pInfo[i][pMember]][pInfo[i][pRank]-1];
			format(string, sizeof(string), "- Текущий баланс счёта: {FF9900}%d$", pInfo[i][pBank]);
			SendClientMessage(i, COLOR_WHITE, string);
			if(pInfo[i][pAdmin])
			{
			    new AdminSalary = 10000*(pInfo[i][pAdmin]+1);
				GiveBankMoney(i, AdminSalary, "AdminSalary");
		    	format(string, sizeof(string), "- Зарплата администратора: {FF9900}%d$", AdminSalary);
				SendClientMessage(i, COLOR_WHITE, string);
			}
			SendClientMessage(i, COLOR_WHITE, "-----------------------------------------------------------");
			pInfo[i][pPayCheck] = 0;
			if(pInfo[i][pZakon] < 100)
			{
				pInfo[i][pZakon]++;
				MysqlUpdatePlayerInt(i, "zakon", pInfo[i][pZakon]);
			}
			amount_exp += (!doubling_exp)?(1):(2);
		    if(pInfo[i][pVip] && !(pInfo[i][pTime] % 4)) amount_exp++;
			pInfo[i][pExp] += amount_exp;
		    format(string, sizeof(string), "Вы получили %s, теперь у Вас %d из %d опыта", (amount_exp==1)?("1 очко опыта"):(amount_exp==2)?("2 очка опыта"):("3 очка опыта"), pInfo[i][pExp], (pInfo[i][pLevel]+1)*4);
		    SendClientMessage(i, COLOR_ORANGE, string);
		    amount_exp=0;
		    if(pInfo[i][pExp] >= (pInfo[i][pLevel]+1)*4)
		    {
		        SendClientMessage(i, COLOR_ORANGE, "Ваш игровой возраст повысился, вы перешли на следующий уровень!");
			    pInfo[i][pLevel]++;
			    pInfo[i][pAge]++;
			    pInfo[i][pExp] = 0;
			    SetPlayerScore(i, pInfo[i][pLevel]);
		    }
		    if(pInfo[i][pLevel] == 4 && pInfo[i][pExp] == 0)
		    {
		        if(!GetString(pInfo[i][pReferal], "None"))
		        {
		        	new targetid = GetPlayerID(pInfo[i][pReferal]);
					if(targetid != INVALID_PLAYER_ID)
					{
						TransferMoney(-1, targetid, 50000);
					    SendClientMessage(targetid, COLOR_YELLOW, "[Информация] {FFFFFF}Вы получили {63BD4E}50.000$ {FFFFFF}за приглашенного игрока");
					}
					else
					{
					    mysql_query_string[0] = EOS;
					  	format(mysql_query_string, sizeof(mysql_query_string), "SELECT * FROM "T_ACCOUNTS" WHERE name = '%s'", pInfo[i][pReferal]);
					  	mysql_tquery(dbHandle, mysql_query_string, "@OfflineSetReferalMoney", "i", i);
					}
		   		}
		    }
		}
		pInfo[i][pTimeHour] = 0;
		if(pInfo[i][pFineAmount] > 0)
		{
		    pInfo[i][pFineTime]++;
		    MysqlUpdatePlayerInt(i, "finetime", pInfo[i][pFineTime]);
		    if(pInfo[i][pFineTime] < 10) SendClientMessage(i, COLOR_YELLOW, "[Полицейский участок] {FFFFFF}У Вас имеются неоплаченные штрафы. Советуем их оплатить, иначе будете объявлены в розыск");
		}
		pInfo[i][pImunitet] -= 10;
		if(pInfo[i][pImunitet] < 0) return pInfo[i][pImunitet] = 0;
		if(pInfo[i][pImunitet] > 100) return pInfo[i][pImunitet] = 100;
		if(pInfo[i][pImunitet] <= 25)
		{
		BoleuZopoi(i);
		}
		else if(pInfo[i][pImunitet] == 0)
		{
		BoleuZopoii(i);
		}
		if(pInfo[i][pImunitet] < 0)
		{
		pInfo[i][pImunitet] = 0;
		}
		if(pInfo[i][pImunitet] > 100)
		{
		pInfo[i][pImunitet] = 100;
		}
		MysqlUpdatePlayerInt(i, "imunitet", pInfo[i][pImunitet]);
		if(pInfo[i][pFineTime] == 10)
		{
		    pInfo[i][pFineTime] = 0;
		    MysqlUpdatePlayerInt(i, "finetime", pInfo[i][pFineTime]);
		    pInfo[i][pWanted]++;
		    if(pInfo[i][pWanted] >= 6) pInfo[i][pWanted] = 6;
		    SetPlayerWantedLevel(i, pInfo[i][pWanted]);
		    SetPlayerCriminal(i, "Неизвестный", "Неуплата штрафов", 1);
		}
		pInfo[i][pRobHouse] = 0;
		SaveAccount(i);
		PlayerPlaySound(i,5203,0.0,0.0,0.0);
	}
    for(new houseid = 1; houseid <= TOTALHOUSE; houseid++)
	{
		if(HouseInfo[houseid][hRob]==true) HouseInfo[houseid][hRob] = false;
	}
	for(new bizid = 1; bizid <= TOTALBIZ; bizid++)
	{
	    if(!GetString(BizInfo[bizid][bOwner], "None"))
	    {
	    	BizPayLastHour[bizid] = BizPay[bizid];
			BizPay[bizid] = 0;
			if(BizInfo[bizid][bLock] == 1 && BizInfo[bizid][bLockTime] >= 24) ClearPlayerBiz(bizid, 1);
		    else
		    {
		       	new playerid = GetPlayerID(BizInfo[bizid][bOwner]);
		        if(BizInfo[bizid][bProduct] <= 0 || BizInfo[bizid][bLic] == 0)
				{
	   				if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
					{
						if(BizInfo[bizid][bLockTime] == 0 && pInfo[playerid][pBiz] != 0)
						{
							SendClientMessage(playerid, COLOR_YELLOW, "[Квитанция] {FFFFFF}Ваш бизнес был закрыт по причине: отсутствие продуктов или отсутствие лицензии");
							SendClientMessage(playerid, COLOR_YELLOW, "[Квитанция] {FFFFFF}Если по истечению {FF9900}24 {FFFFFF}часов бизнес будет закрыт, он будет продан государству");
						}
						BizInfo[bizid][bLock] = 1;
						MysqlUpdateBizInt(bizid, "block", BizInfo[bizid][bLock]);
					}
				}
				if(BizInfo[bizid][bLock] == 1)
				{
					BizInfo[bizid][bLockTime]++;
					MysqlUpdateBizInt(bizid, "locktime", BizInfo[bizid][bLockTime]);
				}
				if(BizInfo[bizid][bLockTime] > 1 && BizInfo[bizid][bLockTime] < 24)
				{
					if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
					{
						if(pInfo[playerid][pBiz] != 0)
						{
						    format(string, sizeof(string), "[Напоминание] {FFFFFF}Ваш бизнес закрыт уже {FF9900}%i {FFFFFF}час(а)", BizInfo[pInfo[playerid][pBiz]][bLockTime]);
							SendClientMessage(playerid, COLOR_YELLOW, string);
							SendClientMessage(playerid, COLOR_YELLOW, "[Напоминание] {FFFFFF}Если по истечению {FF9900}24 {FFFFFF}часов бизнес будет закрыт, он будет продан государству");
						}
					}
				}
				if((BizInfo[bizid][bLockTime] > 1 && BizInfo[bizid][bLockTime] < 24) && BizInfo[bizid][bLock] == 0)
				{
				    BizInfo[bizid][bLockTime] = 0;
				}
		    }
		}
	    if(BizInfo[bizid][bMafia])
	    {
			switch(BizInfo[bizid][bMafia])
			{
				case TEAM_LCN:
				{
					FracBank[6] += BizPay[bizid] / 10;
					MysqlUpdateMafiaInt("lcnbank", FracBank[6]);
				}
		    	case TEAM_YAKUZA:
				{
					FracBank[5] += BizPay[bizid] / 10;
					MysqlUpdateMafiaInt("yakuzabank", FracBank[5]);
				}
				case TEAM_RM:
				{
					FracBank[7] += BizPay[bizid] / 10;
					MysqlUpdateMafiaInt("rmbank", FracBank[7]);
				}
			}
		}
	}
	return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу