Перейти к содержанию
Авторизация  
Zishka

Не сохраняется владелец бизнеса

Рекомендуемые сообщения

Zishka

Код BuyBizz:

CMD:buybiz(playerid, params[])
{
	if(PlayerLogged[playerid] == 0) return true;
	if(GetPlayerBizz(playerid) == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже владеете бизнесом!");
	new full, full_;
	new string[256];
	for(new idx = 1; idx <= TOTALBIZZ; idx++)
	{
		if(IsPlayerInRangeOfPoint(playerid, 5.0, BizzInfo[idx][bEntrx],BizzInfo[idx][bEntry],BizzInfo[idx][bEntrz]))
		{
		    printf("id = %i",idx);
			full++;
			if(!strcmp(BizzInfo[idx][bOwner],"None",true))
			{
				full_++;
				if(PlayerInfo[playerid][pBank] < GetInflationPrice(BizzInfo[idx][bPrice])) return SendClientMessage(playerid, COLOR_GREY, YouDoNotHaveEnoughMoney);
				else
				{
				    printf("id = %i",idx);
					PlayerInfo[playerid][pBank] -= GetInflationPrice(BizzInfo[idx][bPrice]);
					BizzInfo[idx][bBuyPrice] = GetInflationPrice(BizzInfo[idx][bPrice]);
					BizzInfo[idx][bProduct] = 0;
					BizzInfo[idx][bMoney] = GetInflationPrice(BizzInfo[idx][bPrice]);
					Exchequer+=GetInflationPrice(BizzInfo[idx][bPrice]);
					format(query, 256, "UPDATE "TABLE_MAYOR" SET exchequer = %d", Exchequer);
					GameTextForPlayer(playerid, "The busines was bought", 3000, 5);
					SendMes(playerid, COLOR_WHITE, "Вы купили бизнес %s за %i рублей. Остаток на счете: %i рублей",BizzInfo[idx][bName],BizzInfo[idx][bPrice], PlayerInfo[playerid][pBank]);
					SendClientMessage(playerid, COLOR_LIGHTRED, "Внимание! Не забывайте пополнять счет бизнеса");
					SendClientMessage(playerid, COLOR_WHITE, "Помощь: Используйте /mm > Команды сервера > Бизнес");
					strmid(BizzInfo[idx][bOwner],PlayerInfo[playerid][pSendername], 0, strlen(PlayerInfo[playerid][pSendername]), MAX_PLAYER_NAME);
					printf("id = %i",idx);
					format(string, sizeof(string), "UPDATE "TABLE_BIZZ" SET owner = '%s', buyprice = %i , product = %i, money = %i WHERE id = %d LIMIT 1", BizzInfo[idx][bOwner], BizzInfo[idx][bBuyPrice], BizzInfo[idx][bProduct],BizzInfo[idx][bMoney], idx);
					mysql_query(ConBD, query);
					printf("id = %i",idx);
					UpdateBizz(idx);
				}
			}
			else full_++;
		}
	}
	if(full == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы должны находится рядом с бизнесом!");
	if(full_ == 0) return SendClientMessage(playerid, COLOR_GREY, "Бизнес уже имеет владельца!");
	return true;
}

Таблица в mysql:

--
-- Структура таблицы `bizz`
--

CREATE TABLE `bizz` (
  `id` int(11) NOT NULL,
  `owner` varchar(32) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
  `type` int(11) NOT NULL DEFAULT '1',
  `price` int(11) NOT NULL DEFAULT '100000',
  `buyprice` int(11) NOT NULL DEFAULT '0',
  `money` int(11) NOT NULL DEFAULT '0',
  `lic` int(11) NOT NULL DEFAULT '1',
  `x` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `y` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `z` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `xt` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `yt` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `zt` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `menux` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `menuy` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `menuz` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '0.0',
  `vint` int(11) NOT NULL DEFAULT '0',
  `virt` int(11) NOT NULL DEFAULT '0',
  `icon` int(11) NOT NULL DEFAULT '4',
  `name` varchar(32) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
  `penter` int(11) NOT NULL DEFAULT '100',
  `block` int(11) NOT NULL DEFAULT '0',
  `product` int(11) NOT NULL DEFAULT '0',
  `till` int(11) NOT NULL DEFAULT '50',
  `locktime` int(11) NOT NULL DEFAULT '0',
  `mafia` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

-- --------------------------------------------------------

--
-- Индексы таблицы `bizz`
--
ALTER TABLE `bizz`
  ADD PRIMARY KEY (`id`);

Загрузка бизнесов:

void LoadBizz()
{
    new rows, fields;
    cache_get_data(rows, fields);
    if(!rows) return print("Бизнеса в базе не обнаружено");
    new time = GetTickCount();

    for(new idx = 1; idx <= rows; idx++)
 	{
 	    BizzInfo[idx][id] = cache_get_field_content_int(idx-1, "id");
 	    cache_get_field_content(idx-1, "owner", BizzInfo[idx][bOwner], ConBD, MAX_PLAYER_NAME);

        BizzInfo[idx][bType] = cache_get_field_content_int(idx-1, "type");
        BizzInfo[idx][bPrice] = cache_get_field_content_int(idx-1, "price");
        BizzInfo[idx][bBuyPrice] = cache_get_field_content_int(idx-1, "buyprice");
        BizzInfo[idx][bMoney] = cache_get_field_content_int(idx-1, "money");
        BizzInfo[idx][bLic] = cache_get_field_content_int(idx-1, "lic");
        BizzInfo[idx][bEntrx] = cache_get_field_content_float(idx-1, "x");
        BizzInfo[idx][bEntry] = cache_get_field_content_float(idx-1, "y");
        BizzInfo[idx][bEntrz] = cache_get_field_content_float(idx-1, "z");
        BizzInfo[idx][bExitx] = cache_get_field_content_float(idx-1, "xt");
        BizzInfo[idx][bExity] = cache_get_field_content_float(idx-1, "yt");
        BizzInfo[idx][bExitz] = cache_get_field_content_float(idx-1, "zt");
        BizzInfo[idx][bMenux] = cache_get_field_content_float(idx-1, "menux");
        BizzInfo[idx][bMenuy] = cache_get_field_content_float(idx-1, "menuy");
        BizzInfo[idx][bMenuz] = cache_get_field_content_float(idx-1, "menuz");
        BizzInfo[idx][bInt] = cache_get_field_content_int(idx-1, "vint");
        BizzInfo[idx][bVirtual] = cache_get_field_content_int(idx-1, "virt");
        BizzInfo[idx][bMIcon] = cache_get_field_content_int(idx-1, "icon");
        cache_get_field_content(idx-1, "name", BizzInfo[idx][bName], ConBD, 32);
        BizzInfo[idx][bEnter] = cache_get_field_content_int(idx-1, "penter");
        BizzInfo[idx][bLock] = cache_get_field_content_int(idx-1, "block");
        BizzInfo[idx][bProduct] = cache_get_field_content_int(idx-1, "product");
        BizzInfo[idx][bTill] = cache_get_field_content_int(idx-1, "till");
        BizzInfo[idx][bLockTime] = cache_get_field_content_int(idx-1, "locktime");
        BizzInfo[idx][bMafia] = cache_get_field_content_int(idx-1, "mafia");

		BizzInfo[idx][bIcon] = CreateDynamicMapIcon(BizzInfo[idx][bEntrx],BizzInfo[idx][bEntry],BizzInfo[idx][bEntrz], BizzInfo[idx][bMIcon], 0,-1,-1,-1,200.0);
 		TOTALBIZZ++;

        new string[410];
		if(BizzInfo[idx][bType] == 8)
		{
			BizzInfo[idx][bPickup] = CreatePickup(1582,1, BizzInfo[idx][bEntrx],BizzInfo[idx][bEntry],BizzInfo[idx][bEntrz]);
			if(!strcmp(BizzInfo[idx][bOwner],"None",true))
			{
				format(string, 128, "Ларек продается!\nНазвание: %s", BizzInfo[idx][bName]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
			else
			{
				format(string, 128, "Владелец ларька: %s\nНазвание: %s",  BizzInfo[idx][bOwner], BizzInfo[idx][bName]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
		}
		else if(BizzInfo[idx][bType] == 1)//24/7
		{
			BizzInfo[idx][bPickup] = CreatePickup(19132,1, BizzInfo[idx][bEntrx],BizzInfo[idx][bEntry],BizzInfo[idx][bEntrz]);
			BizzInfo[idx][bPickupExit] = CreateDynamicSphere(BizzInfo[idx][bExitx], BizzInfo[idx][bExity], BizzInfo[idx][bExitz], 2.2, BizzInfo[idx][bVirtual], BizzInfo[idx][bInt]);
			BizzInfo[idx][bPickupEnter] = CreateDynamicSphere(BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz], 2.2, 0, 0);
			BizzInfo[idx][bMenu] = CreatePickup(1274, 23, BizzInfo[idx][bMenux],BizzInfo[idx][bMenuy],BizzInfo[idx][bMenuz],BizzInfo[idx][bVirtual]);
			if(!strcmp(BizzInfo[idx][bOwner],"None",true))
			{
				format(string, 300, "\
							{FF9900}*** 24/7 продается ***\n\n\
							{FFFF00}%s\n\n\
							{FFFFFF}Номер бизнеса: {AFAFAF}%d\n\
							{FFFFFF}Стоимость: {AFAFAF}%i\n", BizzInfo[idx][bName], BizzInfo[idx][id],  BizzInfo[idx][bPrice]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
			else
			{
				format(string, 300, "\
							{FF0000}%s\n\n\
							{FFFFFF}Номер бизнеса: {9ACD32}%d\n\
							{FFFFFF}Владелец: {9ACD32}%s\n", BizzInfo[idx][bName], BizzInfo[idx][id],  BizzInfo[idx][bOwner]);
				//format(string, 128, "Владелец: %s\nНазвание: %s", BizzInfo[idx][bOwner], BizzInfo[idx][bName]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
		}
		else if(BizzInfo[idx][bType] != 2 && BizzInfo[idx][bType] != 7)
		{
			BizzInfo[idx][bPickup] = CreatePickup(19132,1, BizzInfo[idx][bEntrx],BizzInfo[idx][bEntry],BizzInfo[idx][bEntrz]);
			BizzInfo[idx][bPickupExit] = CreateDynamicSphere(BizzInfo[idx][bExitx], BizzInfo[idx][bExity], BizzInfo[idx][bExitz], 2.2, BizzInfo[idx][bVirtual], BizzInfo[idx][bInt]);
			BizzInfo[idx][bPickupEnter] = CreateDynamicSphere(BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz], 2.2, 0, 0);
			BizzInfo[idx][bMenu] = CreateDynamicCP(BizzInfo[idx][bMenux],BizzInfo[idx][bMenuy],BizzInfo[idx][bMenuz], 1.0,BizzInfo[idx][bVirtual],BizzInfo[idx][bInt]);
			CreatePickup(1239, 23, BizzInfo[idx][bMenux],BizzInfo[idx][bMenuy],BizzInfo[idx][bMenuz],BizzInfo[idx][bVirtual]);
			if(!strcmp(BizzInfo[idx][bOwner],"None",true))
			{
				format(string, 300, "\
							{FF9900}*** Бизнес продается ***\n\n\
							{FFFF00}%s\n\n\
							{FFFFFF}Номер бизнеса: {AFAFAF}%d\n\
							{FFFFFF}Стоимость: {AFAFAF}%i\n", BizzInfo[idx][bName], BizzInfo[idx][id],  BizzInfo[idx][bPrice]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
			else
			{
				format(string, 300, "\
							{FF0000}%s\n\n\
							{FFFFFF}Номер бизнеса: {9ACD32}%d\n\
							{FFFFFF}Владелец: {9ACD32}%s\n", BizzInfo[idx][bName], BizzInfo[idx][id],  BizzInfo[idx][bOwner]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
		}
		else if(BizzInfo[idx][bType] == 2)
		{
			if(!strcmp(BizzInfo[idx][bOwner],"None",true))
			{
				format(string, 400, "\
							{FF9900}*** Заправка продается ***\n\n\
							{FFFF00}%s\n\n\
							{FFFFFF}Цена за 1 литр: {AFAFAF}%i\n\
							{FFFFFF}Стоимость: {AFAFAF}%i\nЗаправка: /fill Канистра: /buykan", BizzInfo[idx][bName], BizzInfo[idx][bTill] / 3,  BizzInfo[idx][bPrice]);
				//format(string, 128, "Заправка продается!\nНазвание: %s\nЦена за 1 литр - %i рублей", BizzInfo[idx][bName], BizzInfo[idx][bTill] / 3);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
			else
			{
				format(string, 400, "\
							{FF0000}%s\n\n\
							{FFFFFF}Цена за 1 литр: {9ACD32}%i\n\
							{FFFFFF}Владелец: {9ACD32}%s\nЗаправка: /fill Канистра: /buykan", BizzInfo[idx][bName], BizzInfo[idx][bTill] / 3,  BizzInfo[idx][bOwner]);
				//format(string, 128, "Владелец заправки: %s\nНазвание: %s\nЦена за 1 литр - %i рублей",  BizzInfo[idx][bOwner], BizzInfo[TOTALBIZZ][bName], BizzInfo[idx][bTill] / 3);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
		}
		else
		{
			if(!strcmp(BizzInfo[idx][bOwner],"None",true))
			{
				format(string, 128, "CTO продается!\nНазвание: %s\nЦена за 1 запчасть - %i рублей\nСтоимомсть: %i\nЧто бы тюниться, введите /tuning", BizzInfo[idx][bName], BizzInfo[idx][bTill],BizzInfo[idx][bPrice]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
			else
			{
				format(string, 128, "Владелец СТО: %s\nНазвание: %s\nЦена за 1 запчасть - %i рублей\nЧто бы тюниться, введите /tuning",  BizzInfo[idx][bOwner], BizzInfo[idx][bName], BizzInfo[idx][bTill]);
				LABELBIZZ[idx] = CreateDynamic3DTextLabel(string,COLOR_LIGHTGREEN,BizzInfo[idx][bEntrx], BizzInfo[idx][bEntry], BizzInfo[idx][bEntrz],20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
			}
		}
	}
 	return printf("[SMSG]: Успешная загрузка 'LoadBizz' - загружено %d за %d м.с", TOTALBIZZ, GetTickCount() - time);
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

Up

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

Up

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

Up

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

Up

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.