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

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

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

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

Бизнесы MYSQL R34

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

Dima_Tushin

Компетентный
бизнесы для new.pwn
Ко всем new
PHP:
new TotalBizz = 0;
ко всем public
PHP:
publics: PrintBizInfo(playerid,targetid)
{
	if(IsPlayerConnected(playerid))
	{
		for(new h = 0; h <= TotalBizz; h++)
		{
			if(BizzInfo[targetid][bMafia] == 6) { mafiatext = "Yakuza"; }
			else if(BizzInfo[targetid][bMafia] == 14) { mafiatext = "RM"; }
			else if(BizzInfo[targetid][bMafia] == 5) { mafiatext = "LCN"; }
			else if(BizzInfo[targetid][bMafia] == 0) { mafiatext = "Нет"; }
			new elektrich = BizzInfo[targetid][bBuyPrice] / 1000;
			new text1[20],text2[20];
			if(BizzInfo[targetid][bLocked]) { text1 = "Закрыт"; } else { text1 = "Открыт"; }
			if(PlayerInfo[playerid][pBizLic]) { text2 = "Есть"; } else { text2 = "Отсутсвует"; }
			new bizinfo[1000];
			format(bizinfo,sizeof(string), "======================[ %s ]======================\nПод контролем: %s\nВсего заработано: %d вирт\tВ этом часу заработано: %d вирт\nПродуктов: %d/100000\nЦена за товар: %d вирт\nЦена входа: %d вирт\nСостояние: %s\nБаланс банка для оплаты энергии: %d вирт\nНалог за электроэнергию: %d вирт\nЛицензия: %s",
			BizzInfo[targetid][bMessage],mafiatext,BizzInfo[targetid][bTill],BizzInfo[targetid][b2Till],BizzInfo[targetid][bProducts],BizzInfo[targetid][bPrice],BizzInfo[targetid][bEntranceCost],text1,BizzInfo[targetid][bTill],elektrich,text2);
			SPD(playerid,10349,DIALOG_STYLE_MSGBOX, "Cостояние бизнеса",bizinfo, "$", "$");
		}
	}
	return 1;
}
Добавим в Response
PHP:
	case 9898://Вход в Бизнес
		{
			if(response)
			{
				for(new i = 0; i <= TotalBizz; i++)
				{
					if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
					{
						if(PlayerInfo[playerid][pCash] < BizzInfo[i][bEntranceCost])
						{
							SendClientMessage(playerid, COLOR_GRAD1, "У вас нет столько денег");
							return true;
						}
						PlayerInfo[playerid][pCash] -=BizzInfo[i][bEntranceCost];
						BizzInfo[i][b2Till] += BizzInfo[i][bEntranceCost];
						SetPlayerInterior(playerid,BizzInfo[i][bInterior]);
						SetPlayerPosAC(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]);
						PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior];
						SetPlayerVirtualWorld(playerid,0);
						OnPlayerUpdateRL(playerid);
						enterbiz[playerid] = 1;
						return true;
					}
				}
			}
			else
			{
				return true;
			}
		}
покупка бизнесы
PHP:
	case 9828:
		{
			if(response)
			{

				new Float:oldposx, Float:oldposy, Float:oldposz;
				GetPlayerName(playerid, playername, sizeof(playername));
				GetPlayerPos(playerid, oldposx, oldposy, oldposz);
				if(PlayerInfo[playerid][pPBiskey] != 255) return SendClientMessage(playerid, COLOR_WHITE, "У вас уже есть бизнес, введите /sellbiz чтобы его продать.");
				if(PlayerInfo[playerid][pAvtomas] != 255) return SendClientMessage(playerid, COLOR_WHITE, "У вас уже есть автомастерская!");
				for(new b = 0; b <= TotalBizz; b++)
				{
					if(PlayerToPoint(2.0, playerid, BizzInfo[b][bEntranceX], BizzInfo[b][bEntranceY], BizzInfo[b][bEntranceZ]) && BizzInfo[b][bOwned] == 0)
					{
						if(PlayerInfo[playerid][pBank] > BizzInfo[b][bBuyPrice])
						{
							PlayerInfo[playerid][pPBiskey] = b;
							BizzInfo[b][bOwned] = 1;
							BizzInfo[b][bLocked] = 0;
							BizzInfo[b][bPrice] = 0;
							BizzInfo[b][bTill] = 0;
							BizzInfo[b][b2Till] = 0;
							PlayerInfo[playerid][pJob] = 0;
							BizzInfo[b][bProducts] = 0;
							BizzInfo[b][bEntranceCost] = 0;
							GetPlayerName(playerid, sendername, sizeof(sendername));
							strmid(BizzInfo[b][bOwner], sendername, 0, strlen(sendername), 255);
							PlayerInfo[playerid][pBank] -= BizzInfo[b][bBuyPrice];
							SetPlayerInterior(playerid, BizzInfo[b][bInterior]);
							PlayerInfo[playerid][pInt] = BizzInfo[b][bInterior];
							SetPlayerPosAC(playerid,BizzInfo[b][bExitX],BizzInfo[b][bExitY],BizzInfo[b][bExitZ]);
							SetPlayerVirtualWorld(playerid, 0);
							PlayerInfo[playerid][pInt] = BizzInfo[b][bInterior];
							PlayerInfo[playerid][pLocal] = b+99;
							SendClientMessage(playerid, COLOR_GREEN, "Бизнес приобретён");
							SendClientMessage(playerid, COLOR_WHITE, "Помощь по бизнесу: /mm - Команды сервера - Бизнес");
							OnPlayerUpdateRL(playerid);
							format(string,sizeof(string), "INSERT INTO `bizz` (bOwned, bLocked, bPrice, bTill, b2Till, bProducts, bEntranceCost, bOwner) VALUES (%d,%d,%d,%d,%d,%d,%d,%s)", 1,0,0,0,0,0,0,Name(playerid));
							mysql_query(MYSQL, string);
							SaveBizz();
							return true;
						}
						else
						{
							SendClientMessage(playerid, COLOR_WHITE, "На Вашем счету в банке нет столько денег!");
							return true;
						}
					}
				}
			}
			else
			{
				return true;
			}
		}
в ongamemodeinit
PHP:
	for(new h = 0; h < TotalBizz; h++)
	{
		if(BizzInfo[h][bOwned] == 0)
		{
			AddStaticPickup(19132, 23, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]);
			pickups++;
			format(string,sizeof(string),"%s\nПродаётся\nЦена: %d", BizzInfo[h][bMessage], BizzInfo[h][bBuyPrice]);
			BizzInfo[h][bLocked] = 1;
			BizzInfo[h][bLabel] = Create3DTextLabel(string, 0xEAC700AA,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],20.0,0,1);
		}
		if(BizzInfo[h][bOwned] == 1)
		{
			AddStaticPickup(19132, 23, BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ]);
			pickups++;
			format(string,sizeof(string), "%s\nВладелец:\n %s", BizzInfo[h][bMessage], BizzInfo[h][bOwner]);
			BizzInfo[h][bLabel] = Create3DTextLabel(string,0x00D900AA,BizzInfo[h][bEntranceX], BizzInfo[h][bEntranceY], BizzInfo[h][bEntranceZ],20.0,0,1);
		}
	}
команда для покупки
PHP:
	else if(strcmp(cmd, "/buybiz", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			new playername[MAX_PLAYER_NAME];
			new Float:oldposx, Float:oldposy, Float:oldposz;
			GetPlayerName(playerid, playername, sizeof(playername));
			GetPlayerPos(playerid, oldposx, oldposy, oldposz);
			if(PlayerInfo[playerid][pPBiskey] != 255) return SendClientMessage(playerid, COLOR_WHITE, "У вас уже есть бизнес");
			for(new bizz = 0; bizz <= TotalBizz; bizz++)
			{
				if(PlayerToPoint(2.0, playerid, BizzInfo[bizz][bEntranceX], BizzInfo[bizz][bEntranceY], BizzInfo[bizz][bEntranceZ]) && BizzInfo[bizz][bOwned] == 0)
				{
					format(string,sizeof(string), "У вас могут забрать бизнес если:\n	1.Он стоит в закрытом состоянии 12 или более часов.\n	2.Продукции менее 10 процентов, 12 или более часов.\n	3.На выделеном счету задолженность на оплату электроэнергии.\n\nПри продаже бизнеса государством, вам нечего не вернется!\nВы согласны с этими условиями?");
					SPD(playerid,9828,DIALOG_STYLE_MSGBOX, "Предуприждение", string, "Согласен", "Отмена");
					return true;
				}
				return 1;
			}
		}
		return 1;
	}
Создадим publics: CustomPickups()
и добавим это если вы встали на чекпоинт входа бизнеса
PHP:
				//*****************************Вход для Бизнесов******************//
				for(new b = 0; b <= TotalBizz; b++)
				{
					if (PlayerToPoint(3, i,BizzInfo[b][bEntranceX], BizzInfo[b][bEntranceY], BizzInfo[b][bEntranceZ]))
					{
						if(BizzInfo[b][bOwned] == 0)
						{
							SetPlayerInterior(i,BizzInfo[b][bInterior]);
							SetPlayerPosAC(i,BizzInfo[b][bExitX],BizzInfo[b][bExitY],BizzInfo[b][bExitZ]);
							PlayerInfo[i][pInt] = BizzInfo[b][bInterior];
							SetPlayerVirtualWorld(i,0);
						}
						if(b == 0 || b == 1 || b == 2|| b == 3 ||b == 4 || b == 5 || b == 6)
						{
							if(enterbiz[i] == 0)
							{
								if(BizzInfo[b][bLocked] == 1) return SendClientMessage(i, COLOR_GRAD1, "Бизнес закрыт");
								format(enters,sizeof(enters), "Цена входа %d вирт\nВы хотите войти?",BizzInfo[b][bEntranceCost]);
								SPD(i,9898,DIALOG_STYLE_MSGBOX, "Вход", enters, "Да", "Отмена");
								return true;
							}
							else
							{
								SetPlayerInterior(i,BizzInfo[b][bInterior]);
								SetPlayerPosAC(i,BizzInfo[b][bExitX],BizzInfo[b][bExitY],BizzInfo[b][bExitZ]);
								PlayerInfo[i][pInt] = BizzInfo[b][bInterior];
								SetPlayerVirtualWorld(i,0);
							}
							if(PlayerInfo[i][pPBiskey] == b)
							{
								if(BizzInfo[b][bLocked] == 1) return SendClientMessage(i, COLOR_GRAD1, "Бизнес закрыт");
								SetPlayerInterior(i,BizzInfo[b][bInterior]);
								SetPlayerPosAC(i,BizzInfo[b][bExitX],BizzInfo[b][bExitY],BizzInfo[b][bExitZ]);
								PlayerInfo[i][pInt] = BizzInfo[b][bInterior];
								SetPlayerVirtualWorld(i, 0);
								return true;
							}
						}
						else
						{
							SetPlayerInterior(i,BizzInfo[b][bInterior]);
							SetPlayerPosAC(i,BizzInfo[b][bExitX],BizzInfo[b][bExitY],BizzInfo[b][bExitZ]);
							PlayerInfo[i][pInt] = BizzInfo[b][bInterior];
							SetPlayerVirtualWorld(i,0);
						}
					}
				}
вот и загрузка и сохранение
PHP:
//****************************Загрузка Бизнеса********************************//
publics: LoadBizz()
{
	new dests[128];
	for(new i = 0; i <= TotalBizz; i++)
	{
		new Cache:BiZzZ = mysql_query(MYSQL, "SELECT * FROM `bizz` ORDER BY  `bizz`.`bID` ASC");
		BizzInfo[i][bID] = cache_get_row_int(0, 0, MYSQL);
		BizzInfo[i][bOwned] = cache_get_row_int(0, 1, MYSQL);
		BizzInfo[i][bOwner] = cache_get_row(0, 2, dests);
		BizzInfo[i][bMessage] = cache_get_row(0, 3, dests);
		BizzInfo[i][bEntranceX] = cache_get_row_float(0, 4, MYSQL);
		BizzInfo[i][bEntranceY] = cache_get_row_float(0, 5, MYSQL);
		BizzInfo[i][bEntranceZ] = cache_get_row_float(0, 6, MYSQL);
		BizzInfo[i][bExitX] = cache_get_row_float(0, 7, MYSQL);
		BizzInfo[i][bExitY] = cache_get_row_float(0, 8, MYSQL);
		BizzInfo[i][bExitZ] = cache_get_row_float(0, 9, MYSQL);
		BizzInfo[i][bBuyPrice] = cache_get_row_int(0, 10, MYSQL);
		BizzInfo[i][bEntranceCost] = cache_get_row_int(0, 11, MYSQL);
		BizzInfo[i][bTill] = cache_get_row_int(0, 12, MYSQL);
		BizzInfo[i][bLocked] = cache_get_row_int(0, 13, MYSQL);
		BizzInfo[i][bInterior] = cache_get_row_int(0, 14, MYSQL);
		BizzInfo[i][bProducts] = cache_get_row_int(0, 15, MYSQL);
		BizzInfo[i][b2Till] = cache_get_row_int(0, 16, MYSQL);
		BizzInfo[i][bPrice] = cache_get_row_int(0, 17, MYSQL);
		BizzInfo[i][bBarX] = cache_get_row_float(0, 18, MYSQL);
		BizzInfo[i][bBarY] = cache_get_row_float(0, 19, MYSQL);
		BizzInfo[i][bBarZ] = cache_get_row_float(0, 20, MYSQL);
		BizzInfo[i][bMafia] = cache_get_row_int(0, 21, MYSQL);
		cache_delete(BiZzZ, MYSQL);
	}
	TotalBizz++;
	printf("Бизнесов загружено: %d",TotalBizz);
	return 1;
}

publics: SaveBizz()
{
	new dests[100];
	for(new i = 0; i <= TotalBizz; i++)
	{
		new Cache:SB = mysql_query(MYSQL,"UPDATE `bizz` SET");
		BizzInfo[i][bID] = cache_get_row_int(0, 0, MYSQL);
		BizzInfo[i][bOwned] = cache_get_row_int(0, 1, MYSQL);
		BizzInfo[i][bOwner] = cache_get_row(0, 2, dests);
		BizzInfo[i][bMessage] = cache_get_row(0, 3, dests);
		BizzInfo[i][bEntranceX] = cache_get_row_float(0, 4, MYSQL);
		BizzInfo[i][bEntranceY] = cache_get_row_float(0, 5, MYSQL);
		BizzInfo[i][bEntranceZ] = cache_get_row_float(0, 6, MYSQL);
		BizzInfo[i][bExitX] = cache_get_row_float(0, 7, MYSQL);
		BizzInfo[i][bExitY] = cache_get_row_float(0, 8, MYSQL);
		BizzInfo[i][bExitZ] = cache_get_row_float(0, 9, MYSQL);
		BizzInfo[i][bBuyPrice] = cache_get_row_int(0, 10, MYSQL);
		BizzInfo[i][bEntranceCost] = cache_get_row_int(0, 11, MYSQL);
		BizzInfo[i][bTill] = cache_get_row_int(0, 12, MYSQL);
		BizzInfo[i][bLocked] = cache_get_row_int(0, 13, MYSQL);
		BizzInfo[i][bInterior] = cache_get_row_int(0, 14, MYSQL);
		BizzInfo[i][bProducts] = cache_get_row_int(0, 15, MYSQL);
		BizzInfo[i][b2Till] = cache_get_row_int(0, 16, MYSQL);
		BizzInfo[i][bPrice] = cache_get_row_int(0, 17, MYSQL);
		BizzInfo[i][bBarX] = cache_get_row_float(0, 18, MYSQL);
		BizzInfo[i][bBarY] = cache_get_row_float(0, 19, MYSQL);
		BizzInfo[i][bBarZ] = cache_get_row_float(0, 20, MYSQL);
		BizzInfo[i][bMafia] = cache_get_row_int(0, 21, MYSQL);
		cache_delete(SB, MYSQL);
	}
	return 1;
}
в ongamemodeinit
PHP:
SetTimer("CustomPickups",1000,1);
вот и все если что-то не дописал пишите добавлю!

---------- Post added at 15:14 ---------- Previous post was at 15:06 ----------

ко всем командам Статистика бизнеса
PHP:
	else if(strcmp(cmd, "/bizstats", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			new bouse = PlayerInfo[playerid][pPBiskey];
			if(bouse == 255) return SendClientMessage(playerid, COLOR_GREY, "У вас нет бизнеса");
			if(bouse >= 100)
			{
				PrintSBizInfo(playerid, bouse-100);
			}
			else
			{
				PrintBizInfo(playerid, bouse);
			}
		}
		return true;
	}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу