Перейти к содержанию
Авторизация  
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;
	}

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
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;
} 

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


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

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

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


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

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

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


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

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
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-файлов, или продолжить без изменения настроек.