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

Слет бизнеса.

Вопрос

Denis2131

Добрый день, у меня такая проблема, когда покупаю бизнес, все хорошо он мой и на бизнесе три де текстом пишет владельца, но как только я сделаю рестарт, то бизнес пропадает, его уже может купить другой игрок, но если буду покупать его я, то мне пишет, что я им владею. 

if(strcmp(cmd,"/buyatm",true) == 0)
	{
		if(PlayerInfo[playerid][pAtm] != 255) return SendClientMessage(playerid, COLOR_WHITE, "У вас уже есть банкомат.");
		for(new b = 0; b < sizeof(Atm); b++)
		{
			if(PlayerToPoint(5.0, playerid, Atm[b][atmX], Atm[b][atmY], Atm[b][atmZ]) && Atm[b][atmOwned] == 0)
			{
				if(PlayerInfo[playerid][pCash] < Atm[b][atmCena]) return SendClientMessage(playerid, COLOR_WHITE, "На Вашем счету нет столько денег!");
				if(PlayerInfo[playerid][pLevel] < Atm[b][atmLevel])
				{
					SFCM(playerid, -1, "У вас недостаточный уровен, нужен: %i", Atm[b][atmLevel]);
					return 1;
				}
				PlayerInfo[playerid][pAtm] = b;
				Atm[b][atmOwned] = 1; Atm[b][atmMoney] = 100; Atm[b][atmLock] = 0;
				strmid(Atm[b][atmOwner], NamePlayer[playerid], 0, strlen(NamePlayer[playerid]), 255);
				GivePlayerMoney(playerid, -Atm[b][atmCena]), PlayerInfo[playerid][pCash] -= Atm[b][atmCena];
				SendClientMessage(playerid, COLOR_LIGHTGREEN, "Поздравляем с успешной покупкой.");
				SendClientMessage(playerid, COLOR_GREEN, "Каждый час с вашего банкомата будет взыматься плата за электричество.");
				SendClientMessage(playerid, COLOR_WHITE, "(( Помощь по банкомата: /atmenu ))");
				UpdateAtm(b);
				mysql_function(MySQLGo,128,"UPDATE `accounts` SET `pAtm` = '%i' WHERE `id` = '%d' LIMIT 1",false,"","", PlayerInfo[playerid][pAtm],PlayerInfo[playerid][pID]);
			}
		}
		return true;
	}

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


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

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

  • 0
DENAKEMPS

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

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


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

@DENAKEMPS,только вот это есть, обновление сохранение нет. 

// Система банкоматов
stock UpdateAtm(idx)
{
	glob_str = "";
	format(glob_str, sizeof(glob_str), "UPDATE `atm` SET `owner` = '%s',`cena` = '%i',`money` = '%i',`lvl` = '%i',`lock` = '%i' WHERE `ID` = '%i'", Atm[idx][atmOwner],Atm[idx][atmCena],Atm[idx][atmMoney],Atm[idx][atmLevel],Atm[idx][atmLock],Atm[idx][atmID]);
	mysql_tquery(MySQLGo, glob_str);
	glob_str = "";
	format(glob_str, sizeof(glob_str), "UPDATE `atm` SET `x` = '%f',`y` = '%f',`z` = '%f',`owned` = '%i' WHERE `ID` = '%i'", Atm[idx][atmX],Atm[idx][atmY],Atm[idx][atmZ],Atm[idx][atmOwned],Atm[idx][atmID]);
	mysql_tquery(MySQLGo, glob_str);
	glob_str = "";
	if(mysql_errno()) printf("Ошибка сохранения банкомата: [%d]", Atm[idx][atmID]);
	else printf("Успешно сохранение банкомата: [%d]", Atm[idx][atmID]);

	//
	DestroyDynamic3DTextLabel(Atm[idx][atmText]);
	if(!strcmp(Atm[idx][atmOwner],"None",true))
	{
		format(glob_str, sizeof(glob_str), "{008cf0}Банкомат №{FFFFFF}%i {008cf0}продается!\n\n{008cf0}Стоимость: {FFFFFF}%d рублей\n{008cf0}Уровень: {FFFFFF}%d", idx, Atm[idx][atmCena], Atm[idx][atmLevel]);
		Atm[idx][atmText] = CreateDynamic3DTextLabel(glob_str,-1, Atm[idx][atmX],Atm[idx][atmY],Atm[idx][atmZ], 10.0);
		glob_str = "";
	}
	else
	{
		format(glob_str, sizeof(glob_str), "{008cf0}Банкомат №{FFFFFF}%i\n\n{008cf0}Владелец: {FFFFFF}%s", idx, Atm[idx][atmOwner]);
		Atm[idx][atmText] = CreateDynamic3DTextLabel(glob_str,-1, Atm[idx][atmX],Atm[idx][atmY],Atm[idx][atmZ], 10.0);
		glob_str = "";
	}
	return true;
} 

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


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

И зачем ты создаешь переменную и присваиваешь ее к пустой ячейке, и потом пытаешься отформатировать запрос отталкиваясь от длины этой ячейки? Понятно, что у тебя ничего работать не будет

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


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

@DENAKEMPS,ну и как будет правильно ?  

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


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

@DENAKEMPS, а где ты здесь объявление переменной увидел? Все здесь нормально, не наводи лишний шорох.

@Denis2131, наверняка не Вы автор данного кода, но на будущее скажу, что лучше отправлять SQL запрос длиной в 500 символов, чем отправлять 5 таких запросов длиной по 100. По крайней мере в данном случае, где отправка осуществляется посредством вызова нативных функций. По сути на 3D тексте тупо не пишет владельца?

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


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

Ошибку нашел было 

cache_get_field_content(idx, "owner", Atm[idx][atmOwner], MySQLGo, strlen(Atm[idx][atmOwner]));

сделал

cache_get_field_content(idx, "owner", Atm[idx][atmOwner], MySQLGo,24));

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


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

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

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

×

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

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