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

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

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

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

payday и changename

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

clifich

Новичок
по payday не могу понять почему когда игрок AFK ему дается зарплата, помогите плиз
PHP:
public PayDay()
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(PlayerInfo[i][pLevel] > 0)
		{
			new checks = 20 * (32 + random(2));
			//			new rent = HouseInfo[PlayerInfo[i][pPhousekey]][hRent];
			new electrichestvo = 5 * (32 + random(2));
			new string[65],tmphour;
			gettime(tmphour);
			/*			if(PlayerInfo[i][pPhousekey] != 255)
			{
				if(strcmp(PlayerInfo[i][pName], HouseInfo[PlayerInfo[i][pPhousekey]][hOwner], true) == 0) { rent = 0; }
				else if(rent > GetPlayerMoney(i))
				{
					PlayerInfo[i][pPhousekey] = 255;
					send(i, COLOR_YELLOW, "Вы не можете платить за аренду, поэтому Вы выселены!");
					rent = 0;
				}
				HouseInfo[PlayerInfo[i][pPhousekey]][hTakings] = HouseInfo[PlayerInfo[i][pPhousekey]][hTakings]+rent;
				NormMoney[i] = 2,AntiMoney[i] = AntiMoney[i] - rent,GiveMoney(i,checks - rent);
			}*/
			if(GetPlayerMoney(i) < 0)
			{
				send(i, COLOR_YELLOW, "Вас посадили за денежный долг штату на 120 секунд");
				PlayerInfo[i][pJailed] = 1;
				PlayerInfo[i][pJailTime] = 120;
				SetPlayerPosServer(i,2143.9041,1615.3523,993.6882);
				SetPlayerWorldBounds(i,337.5694,101.5826,1940.9759,1798.7453);
			}
			if(PlayerInfo[i][pPayDay] >= 5)
			{
				Tax += TaxValue;
				PlayerInfo[i][pAccount] -= TaxValue;
				if(PlayerInfo[i][pTaxDost] < 500000) PlayerInfo[i][pTaxDost] += TaxValue;
				if(PlayerInfo[i][pTaxDost] > 500000) PlayerInfo[i][pTaxDost] = 500000;
				if(PlayerInfo[i][pDonate] >= 2)
				{
					PlayerInfo[i][pExp]++;
				}
				ConsumingMoney[i] = 1;
				PlayerInfo[i][pExp]++;
				PlayerInfo[i][pStatus]++;
				PlayerInfo[i][pAccount] = PlayerInfo[i][pAccount];
				NormMoney[i] = 2,AntiMoney[i] = AntiMoney[i] + (checks + PlayerInfo[i][pPayCheck]),GiveMoney(i,checks + PlayerInfo[i][pPayCheck]);
				format(string,sizeof(string), "~ Чек: {b3f9b0}%d$", checks+PlayerInfo[i][pPayCheck]); send(i, COLOR_WHITE, string);
				format(string,sizeof(string), "~ Налог мэрии: {b3f9b0}%d$", TaxValue); send(i, COLOR_WHITE, string);
				format(string,sizeof(string), "~ Баланс: {b3f9b0}%d$", PlayerInfo[i][pAccount]+PlayerInfo[i][pCash]); send(i, COLOR_WHITE, string);
				format(string,sizeof(string), "~ Плата за аренду: {b3f9b0}%d$", 0); send(i, COLOR_WHITE, string);
				format(string,sizeof(string), "~ Банковский счет: {b3f9b0}%d$", PlayerInfo[i][pAccount]); send(i, COLOR_WHITE, string);
				if(PlayerInfo[i][pPhousekey] != 255)
				{
					format(string, sizeof(string), "~ Плата за электричество: {b3f9b0}%d$", electrichestvo); send(i, COLOR_WHITE, string);
					NormMoney[i] = 2,AntiMoney[i] = AntiMoney[i] - electrichestvo,GiveMoney(i, - electrichestvo);
					SBizzInfo[4][sbTill] += electrichestvo;
				}
				format(string, sizeof(string), "~r~Pay Day");
				GameTextForPlayer(i, string, 7000, 1);
			}
			else
			{
				send(i, COLOR_YELLOW, "EmpireBay RPG: Вы не получили зарплату за прошлый час, так как слишком мало играли.");
			}
			if(tmphour == 20)
			{
				new max_lhelper[2];
				if(!lhelper[i]) continue;
				else
				{
					if(max_lhelper[0] < lhelper[i])
					{
						max_lhelper[0] = lhelper[i]; // записываем максимальное Количество
						max_lhelper[1] = i; // записываем ID
					}
				}
				format(string, sizeof(string), "Лучший хелпер за день: "#accept"%s",PlayerInfo[i][pName]);
				sendAll(COLOR_WHITE, string);
				DayTax += 1;
				SaveStuff();
			}
			if(tmphour == 8)
			{
				Checkprop();
			}
			PlayerInfo[i][pPayDay] = 0;
			PlayerInfo[i][pPayCheck] = 0;
			PlayerPlayMusic(i);
		}
	}
	GZProfitMoney();
	return true;
}
а по changename не сверяется с базой, то есть можно дать одно и тоже имя нескольким игрокам
PHP:
	if(strcmp(cmd, "/changename", true) == 0)
	{
		new newname[23];
		if (PlayerInfo[playerid][pAdmin] >= 1)
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				send(playerid, COLOR_WHITE, "Используйте: /changename [ID игрока/Часть имени] [Новое имя]");
				return true;
			}
			giveplayerid = ReturnUser(tmp);
			if(giveplayerid != INVALID_PLAYER_ID)
			{
				new length = strlen(cmdtext);
				while ((idx < length) && (cmdtext[idx] <= ' '))
				{
					idx++;
				}
				new offset = idx;
				while ((idx < length) && ((idx - offset) < (sizeof(newname) - 1)))
				{
					newname[idx - offset] = cmdtext[idx];
					idx++;
				}
				newname[idx - offset] = EOS;
				if(!strlen(newname))
				{
					send(playerid, COLOR_WHITE, "Используйте: /changename [ID игрока/Часть имени] [Новое имя]");
					return true;
				}
				else
				{
				   
					new query[75];
					format(query,200,"UPDATE `users` SET `Name` = '%s' WHERE `Id` = '%i'",newname,PlayerInfo[giveplayerid][pId]);
					mysql_query(query);
     				if(fexist(query))
					{
						send(giveplayerid,COLOR_GRAD1,"Такое имя уже есть на сервере");
						return true;
					}
					format(newname,sizeof(newname),"%s",newname);
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					send(giveplayerid,COLOR_WHITE,"");
					format(string, sizeof(string), "Ваш новый ник [ %s ] не забудте сменить его в окне мультиплеера", newname);
					send(giveplayerid, COLOR_YELLOW, string);
					send(giveplayerid,COLOR_YELLOW,"Обязательно сделайте скриншот с этим сообщением (Клавиша F8)");
					namechan[giveplayerid] = 3;
					new nameold[24];
					GetPlayerName(giveplayerid, nameold, sizeof(nameold));
					strmid(namechannew[giveplayerid], newname, 0, strlen(newname), 255);
					strmid(namechanold[giveplayerid], nameold, 0, strlen(nameold), 255);
				}
			}
			else if(giveplayerid == INVALID_PLAYER_ID)
			{
				send(playerid, COLOR_GRAD1, "Нет такого игрока!");
			}
		}
		return true;
	}
с меня плюсик всем)) спасибо заранее
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу