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

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

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

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

Добавление чего-либо к /buy [RLS]

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

aka.Vandal

Умник
Доброго времени суток уважаемые пользователи!
В этом мануале я научу вас добавлять что-либо в список товаров 24/7,в нашем случае это будет сигарета.

Демонстрация:


Начнём,добавим переменную с помощью которой сигарета будет сохраняться и проверяться на наличие у игрока.
В enum pInfo (если в конец,то без запятой):

PHP:
pSigarka,
В public OnPlayerConnect

PHP:
PlayerInfo[playerid][pSigarka] = 0;
Cделаем сохранение сигареты на аккаунте ,в OnPlayerRegister:

PHP:
ini_setInteger(File,"pSigarka",PlayerInfo[playerid][pSigarka]);
В OnPlayerUpdateRL:

PHP:
ini_setInteger(File,"pSigarka",PlayerInfo[playerid][pSigarka]);
В public OnPlayerLogin:

PHP:
ini_getInteger(File,"pSigarka",PlayerInfo[playerid][pSigarka]);
Теперь сделаем команду,с помощью который игрок сможет курить:

PHP:
	else if (strcmp(cmd, "/smoking", true) == 0 || strcmp(cmd, "/smoke", true) == 0)
	{
		if(gPlayerLogged[playerid] == 1)
		{
			if(PlayerInfo[playerid][pSigarka] == 0) return SendClientMessage(playerid, COLOR_GRAD1, "У вас нет сигарет!");
			SetPlayerSpecialAction(playerid,21);
			return true;
		}
	}
Итак,мы создали сигарету,теперь добавим её в /buy:

Вот так выглядит /buy у меня:
PHP:
	else if(strcmp(cmd, "/buy", true) == 0)
	{
		for(new i = 0; i < sizeof(BizzInfo); i++)
		{
			new inter = GetPlayerInterior(playerid);
			new bizinfo[400];
			new cena = BizzInfo[i][bCena];
			new cena2 = BizzInfo[i][bCena] * 2;
			new cena3 = BizzInfo[i][bCena] * 3;
			new cena4 = BizzInfo[i][bCena] * 4;
			new cena5 = BizzInfo[i][bCena] * 5;
			new cena6 = BizzInfo[i][bCena] * 3;
			new cena7 = BizzInfo[i][bCena] * 2;
			new cena8 = BizzInfo[i][bCena] * 2;
			if (PlayerToPoint(10, playerid,BizzInfo[i][bBarX], BizzInfo[i][bBarY], BizzInfo[i][bBarZ]))
			{
				if( inter == 17 ||  inter == 16 ||  inter == 10 ||  inter == 18)
				{
					format(bizinfo,sizeof(bizinfo),"1. Телефонный номер \t{34c924}%d$\n2. Телефонная книга \t{34c924}%d$\n3. Справочник \t\t{34c924}%d$\n4. Аптечки \t\t{34c924}%d$\n5. Фотоаппарат \t{34c924}%d$\n6. Трость \t\t{34c924}%d$\n7. Букет цветов \t{34c924}%d$\n8. Сигарета \t\t{34c924}%d$",cena,cena2,cena3,cena4,cena5,cena6,cena7,cena8);
					ShowPlayerDialog(playerid, 5589, DIALOG_STYLE_LIST, "{1e90ff}Магазин 24/7", bizinfo, "Купить", "Отмена");
				}
			}
		}
		return true;
	}
А теперь разберём изменения:

При добавление обязательно добавляйте:

PHP:
new cena8 = BizzInfo[i][bCena] * 2; // При новых добавлениях new cena9 и так далее,*2 Это ориентация на цену
Далее:

PHP:
format(bizinfo,sizeof(bizinfo),"1. Телефонный номер \t{34c924}%d$\n2. Телефонная книга \t{34c924}%d$\n3. Справочник \t\t{34c924}%d$\n4. Аптечки \t\t{34c924}%d$\n5. Фотоаппарат \t{34c924}%d$\n6. Трость \t\t{34c924}%d$\n7. Букет цветов \t{34c924}%d$\n8. Сигарета \t\t{34c924}%d$",cena,cena2,cena3,cena4,cena5,cena6,cena7,cena8)// В конец добавлено \n8. Сигарета \t\t{34c924}%d$ ,так же после - " - cena8
А теперь добавим действие при выборе нашего варианта:

После else if(listitem == 6)////

PHP:
					else if(listitem == 7)////
					{
						new Float:health;
						GetPlayerHealth(playerid,health);
						if(PlayerToPoint(3, playerid,BizzInfo[h][bBarX], BizzInfo[h][bBarY], BizzInfo[h][bBarZ]))
						{
							if(PlayerInfo[playerid][pCash] < cena8) return SendClientMessage(playerid, COLOR_GREY, "{F36223}[!]{ADAEAD}У вас нет столько денег на руках.");
							BizzInfo[h][b2Till] += cena8;
							BizzInfo[h][bProducts]-=100;
							PlayerInfo[playerid][pCash] -=cena8;
							PlayerInfo[playerid][pSigarka] = 1;// Даём сигарету игроку
							SendClientMessage(playerid, COLOR_BLUE, "Вы купили сигарету,закурить /smoking");
							return true;
						}
					}
Приятного использования!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу