Доступ к готовым решениям

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

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

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

Мануал Контролирование наркопритона. [MySQL R39-2]

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

KatranLife

Компетентный
Доброго времени суток дорогие пользователи и гости портала pawno-info.ru
По названию темы я думаю все понятно.
И так приступим...
Ко всем new добавляем:
PHP:
new DrugsPrice = 5; // Это означает что стартовая цена 1 ед. наркотика равна 5 вирт.
new Text3D: NarkoText; // 3д текст
В начале мода ко всем stock'am добавляем:
PHP:
stock Narkopriton()
{
	new strings[150];
	format(strings,sizeof(strings),"{FFFFFF}НаркоПритон под контролем: {FF7800}%s\n{FFFFFF}Цена за одну ед. наркотика: {FF7800}%i.",GetGangName(GZInfo[64][gFrakVlad]),DrugsPrice);
	Update3DTextLabelText(NarkoText, 0xFF8000AA, strings);
	return 1;
}
Так, давайте разберем что есть что.
DrugsPrice - цена за 1 ед. наркотика.
GetGangName(GZInfo[64][gFrakVlad]) - это кто контролирует территорию.
У кого нету GetGangName, в конец мода. Так же заменяем GZInfo на свою переменную и gFakVlad. 64 - это какая территория находится там где наркопритон. У меня это 64, у вас же будет по другому! Меняйте на свое!
PHP:
stock GetGangName(nnid)
{
	new namegang[24];
	switch(nnid)
	{
		case 12: namegang = "East Side Ballas";
		case 13: namegang = "Los Santos Vagos";
		case 15: namegang = "Grove Street";
		case 17: namegang = "Varios Los Aztecas";
		case 18: namegang = "Rifa Gang";
		default: namegang = "None";
	}
	return namegang;//Я думаю тут все понятно.
}
Теперь в команде /buydrugs или какая там у вас команда.
Заменяем проверку на деньги
PHP:
if(PlayerInfo[playerid][pCash] < params[0]*DrugsPrice) return SCM(playerid, COLOR_GREY, "У вас нет столько денег!");
Теперь заменяем отнимание денег на:
PHP:
PlayerInfo[playerid][pCash]-=params[0]*DrugsPrice;
Создаем паблик
PHP:
forward OnLoadOthersCallback();
public OnLoadOthersCallback()
{
	if (cache_get_row_count(connects) > 0) {
	DrugsPrice = cache_get_field_content_int(0, "DrugsPrice", connects);
	}
	Narkopriton();
	return true;
}
В OnGameModeInit
В начало:
PHP:
Narkopriton();
NarkoText = Create3DTextLabel("",0xFF80FFAA,2166.0767,-1671.3490,15.0757,10.0,0,0);
В конец после mysql_connect.
PHP:
mysql_tquery(connects,"SELECT * FROM `meria`", "OnLoadOthersCallback", "");
Где meria - это название таблицы.
И теперь сама команда для смены стоимости наркотиков:
PHP:
CMD:drugsprice(playerid, params[])//skaa
{
	if(!IsAGang(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Вы не состоите в банде");//Тут понятно
	if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы не лидер банды");//Только лидер может менять цену.
	if(!PlayerToPoint(20.0,playerid,318.1544,1119.0962,1083.8828)) return SendClientMessage(playerid, COLOR_GREY, "Вы не в притоне");//Меняйте на свои координаты если это нужно. 
	if(GZInfo[64][gFrakVlad] != PlayerInfo[playerid][pMember])return SendClientMessage(playerid, COLOR_GREY, "Притон не принадлежит вашей банде");//64-территория на которой находится наркопритон.На свою меняйте. pMember - меняйте на свою переменную. 
	if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "/drugsprice [сумма]");
	if(params[0] > 100 || params[0] < 20) return SendClientMessage(playerid, COLOR_GREY, "Допустимые значения: 20$ - 100$");
	DrugsPrice = params[0];//Цена меняется.
	format(stringer1, sizeof(stringer1), "Вы установили цену за 1 грамм наркотиков в размере %i$", DrugsPrice);//Если нужно перед этим ставим new stringer1[56];
	SendClientMessage(playerid, COLOR_BLUE, stringer1);
	Narkopriton();//Обновляем 3дтекст.
	new query[100];
	format(query, sizeof(query), "UPDATE `meria` SET `DrugsPrice` = '%d'", DrugsPrice);//Сам запрос.
	mysql_empty(connects, query);//У меня стоит #define mysql_empty(%1,%2) mysql_tquery(%1, %2, "", ""), з.ы делайте кому надо mysql_tquery(connects, query, "", "");
	return true;
}
Вот и все. Система готова, теперь нужно сделать таблицу в бд.
Заходим в phpmyadmin, открываем бд. Создаем таблицу с именем "meria" с 1 столбцом.
Теперь открывается вам панелька, пишем там где Имя "DrugsPrice". Дальше там идёт строчка "По умолчанию", нажимаем на него и выбираем "Как определено:" и пишем 5. Сохраняем.
Вот и все, если что-то не так то пишите, это моя вторая работа. Не судите строго.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу