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

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

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

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

Мануал Система Наркотиков

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

Dima_Tushin

Компетентный
Обновлено!
1) Добавлен таймер +60 сек использование
2) исправлены баги
3) теперь чтобы купить надо подойди к наркотикам и нажать на "Y"

enum pinfo
PHP:
pNarko,//Простые наркотики
pGeroin,//Героин
pMakSolom,//маковая соломка
pAchetil,//Ацетилированный опий
pOpshiu,//Опий-сырец
Добавим Кнопку "Y"

PHP:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if(newkeys == KEY_YES)
{
	if(PlayerToPoint(0.5, playerid, 329.5166,1129.5209,1083.8828))
	{
		SPD(playerid, 16, DIALOG_STYLE_MSGBOX,"Наркотики","{FFFFFF}Наркотик:\t{2F00FF}Героин{FFFFFF}\nЦена: 1г\t{FF0000}50 Вирт{FFFFFF}\nВремя:\t В разработке\nЖизни:\t20 HP","купить","Отмена");
		return 1;
	}
	else if(PlayerToPoint(0.5, playerid,330.5517,1129.5193,1083.8828))
	{
		SPD(playerid, 18, DIALOG_STYLE_MSGBOX,"Наркотики","{FFFFFF}Наркотик:\t{2F00FF}Маковая соломка{FFFFFF}\nЦена: 1г\t{FF0000}60 Вирт{FFFFFF}\nВремя:\t В разработке\nЖизни:\t30 HP","купить","Отмена");
		return 1;
	}
	else if(PlayerToPoint(0.5, playerid,331.5670,1129.5201,1083.8828))
	{
		SPD(playerid, 20, DIALOG_STYLE_MSGBOX,"Наркотики","{FFFFFF}Наркотик:\t{2F00FF}Ацетилированный опий{FFFFFF}\nЦена: 1г\t{FF0000}100 Вирт{FFFFFF}\nВремя:\t В разработке\nЖизни:\t45 HP","купить","Отмена");
		return 1;
	}
	else if(PlayerToPoint(0.5, playerid,332.5732,1129.5128,1083.8828))
	{
		SPD(playerid, 22, DIALOG_STYLE_MSGBOX,"Наркотики","{FFFFFF}Наркотик:\t{2F00FF}Опий-сырец{FFFFFF}\nЦена: 1г\t{FF0000}120 Вирт{FFFFFF}\nВремя:\t В разработке\nЖизни:\t70 HP","купить","Отмена");
		return 1;
	}
	return 1;
}
Диалоги
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
case 16:
{
	if(response)//купить
	{
		SPD(playerid,17,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
	}
	else return 1;
}
case 17:
{
	if(response)
	{
		new string[128];
		new narko = strval(inputtext);
		if(!strval(inputtext)) return SPD(playerid,17,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
		if(narko > 100 || narko < 1) return SendClientMessage(playerid,COLOR_REDD,"Нельзя Покупать Больше 1 грамма и больше 100 грамм");
		if(PlayerInfo[playerid][pCash] < strval(inputtext)*50) return SendClientMessage(playerid,COLOR_REDD,"Не достаточно денег");
		if(PlayerInfo[playerid][pGeroin] > 100) return SendClientMessage(playerid,COLOR_REDD,"У вас уже есть Героин");
		PlayerInfo[playerid][pCash] -= strval(inputtext)*50;
		PlayerInfo[playerid][pGeroin] += narko;
		format(string,sizeof(string),"Вы купили наркотик Героин Кол-во: %d. Цена: %d",narko,strval(inputtext)*50);
		SendClientMessage(playerid,COLOR_REDD,string);
	}
	else return 1;
}
case 18:
{
	if(response)//купить
	{
		SPD(playerid,19,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
	}
	else return 1;
}
case 19:
{
	if(response)
	{
		new string[128];
		new narko = strval(inputtext);
		if(!strval(inputtext)) return SPD(playerid,17,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
		if(narko > 100 || narko < 1) return SendClientMessage(playerid,COLOR_REDD,"Нельзя Покупать Больше 1 грамма и больше 100 грамм");
		if(PlayerInfo[playerid][pCash] < strval(inputtext)*60) return SendClientMessage(playerid,COLOR_REDD,"Не достаточно денег");
		if(PlayerInfo[playerid][pMakSolom] > 100) return SendClientMessage(playerid,COLOR_REDD,"У вас уже есть наркотики");
		PlayerInfo[playerid][pCash] -= strval(inputtext)*60;
		PlayerInfo[playerid][pMakSolom] += narko;
		format(string,sizeof(string),"Вы купили наркотик Маковая соломка Кол-во: %d. Цена: %d",narko,strval(inputtext)*60);
		SendClientMessage(playerid,COLOR_REDD,string);
	}
	else return 1;
}
case 20:
{
	if(response)//купить
	{
		SPD(playerid,21,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
	}
	else return 1;
}
case 21:
{
	if(response)
	{
		new string[128];
		new narko = strval(inputtext);
		if(!strval(inputtext)) return SPD(playerid,17,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
		if(narko > 100 || narko < 1) return SendClientMessage(playerid,COLOR_REDD,"Нельзя Покупать Больше 1 грамма и больше 100 грамм");
		if(PlayerInfo[playerid][pCash] < strval(inputtext)*100) return SendClientMessage(playerid,COLOR_REDD,"Не достаточно денег");
		if(PlayerInfo[playerid][pAchetil] > 100) return SendClientMessage(playerid,COLOR_REDD,"У вас уже есть наркотики");
		PlayerInfo[playerid][pCash] -= strval(inputtext)*100;
		PlayerInfo[playerid][pAchetil] += narko;
		format(string,sizeof(string),"Вы купили наркотик Ацетилированный опий Кол-во: %d. Цена: %d",narko,strval(inputtext)*100);
		SendClientMessage(playerid,COLOR_REDD,string);
	}
	else return 1;
}
case 22:
{
	if(response)//купить
	{
		SPD(playerid,23,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
	}
	else return 1;
}
case 23:
{
	if(response)
	{
		new string[128];
		new narko = strval(inputtext);
		if(!strval(inputtext)) return SPD(playerid,17,DIALOG_STYLE_INPUT, "Наркотики","Введите кол-во наркотиков","Далее","Отмена");
		if(narko > 100 || narko < 1) return SendClientMessage(playerid,COLOR_REDD,"Нельзя Покупать Больше 1 грамма и больше 100 грамм");
		if(PlayerInfo[playerid][pCash] < strval(inputtext)*120) return SendClientMessage(playerid,COLOR_REDD,"Не достаточно денег");
		if(PlayerInfo[playerid][pOpshiu] > 100) return SendClientMessage(playerid,COLOR_REDD,"У вас уже есть наркотики");
		PlayerInfo[playerid][pCash] -= strval(inputtext)*120;
		PlayerInfo[playerid][pOpshiu] += narko;
		format(string,sizeof(string),"Вы купили наркотик Опий-сырец Кол-во: %d. Цена: %d",narko,strval(inputtext)*120);
		SendClientMessage(playerid,COLOR_REDD,string);
	}
	else return 1;
}
команды
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
PHP:
if(strcmp(cmd, "/usedrugs", true) == 0)
{
	SPD(playerid,25,DIALOG_STYLE_LIST,"Выбор Наркотиков","[1]Простые наркотики\n[2] Героин\n[3] маковая соломка\n[4] Ацетилированный опий\n[5] Опий-сырец","Употребить","Отмена");
	return 1;
}
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
case 25:
{
if(!response) return 1;
new string[128];
new Float: HP;
switch(listitem)
{
case 0://Простые наркотики
{
if(GetPVarInt(playerid,"messagetime") < gettime())
{
GetPlayerHealth(playerid, HP);
PlayerInfo[playerid][pNarko] -= 1;//Употребили -1 нарко
PlayerInfo[playerid]
PHP:
 += 10;//Употребили + 10 ХП
				SetPlayerHealme(playerid, HP + 10);//Употребили + 10 ХП
				if(PlayerInfo[playerid][pNarko] < 0) return SendClientMessage(playerid,COLOR_REDD,"У вас нет наркотиков");
				format(string,sizeof(string),"(( Здоровье Пополнено на: %d ед ))",PlayerInfo[playerid][pHP]);
				SendClientMessage(playerid, COLOR_REDD, string);
				ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);
				format(string,sizeof(string), "употребил(a) наркотики");
				SetPlayerChatBubble(playerid,string,Dima_Tushin,30.0,10000);
				SetPVarInt(playerid,"messagetime",gettime()+60);
			}
			else return SendClientMessage(playerid,COLOR_REDD,"Употре***ть наркотики можно раз в 60секунд");
		}
	case 1://Героин
		{
			if(GetPVarInt(playerid,"messagetime") < gettime())
			{
				GetPlayerHealth(playerid, HP);
				PlayerInfo[playerid][pGeroin] -= 1;//Употребили -1 нарко
				PlayerInfo[playerid][pHP] += 20;//Употребили + 10 ХП
				SetPlayerHealme(playerid, HP + 20);//Употребили + 10 ХП
				if(PlayerInfo[playerid][pGeroin] < 0) return SendClientMessage(playerid,COLOR_REDD,"У вас нет наркотиков");
				format(string,sizeof(string),"(( Здоровье Пополнено на: %d ед ))",PlayerInfo[playerid][pHP]);
				SendClientMessage(playerid,COLOR_REDD,string);
				ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);
				format(string,sizeof(string), "употребил(a) наркотики");
				SetPlayerChatBubble(playerid,string,Dima_Tushin,30.0,10000);
				SetPVarInt(playerid,"messagetime",gettime()+60);
			}
			else return SendClientMessage(playerid,COLOR_REDD,"Употре***ть наркотики можно раз в 60секунд");
		}
	case 2://маковая соломка
		{
			if(GetPVarInt(playerid,"messagetime") < gettime())
			{
				GetPlayerHealth(playerid, HP);
				PlayerInfo[playerid][pMakSolom] -= 1;//Употребили -1 нарко
				PlayerInfo[playerid][pHP] += 30;//Употребили + 10 ХП
				SetPlayerHealme(playerid, HP + 30);//Употребили + 10 ХП
				if(PlayerInfo[playerid][pMakSolom] < 0) return SendClientMessage(playerid,COLOR_REDD,"У вас нет наркотиков");
				format(string,sizeof(string),"(( Здоровье Пополнено на: %d ед ))",PlayerInfo[playerid][pHP]);
				SendClientMessage(playerid,COLOR_REDD,string);
				ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);
				format(string,sizeof(string), "употребил(a) наркотики");
				SetPlayerChatBubble(playerid,string,Dima_Tushin,30.0,10000);
				SetPVarInt(playerid,"messagetime",gettime()+60);
			}
			else return SendClientMessage(playerid,COLOR_REDD,"Употре***ть наркотики можно раз в 60секунд");
		}
	case 3://Ацетилированный опий
		{
			if(GetPVarInt(playerid,"messagetime") < gettime())
			{
				if(PlayerInfo[playerid][pAchetil] < 0) return SendClientMessage(playerid,COLOR_REDD,"У вас нет наркотиков");
				GetPlayerHealth(playerid, HP);
				PlayerInfo[playerid][pAchetil] -= 1;//Употребили -1 нарко
				PlayerInfo[playerid][pHP] += 45;//Употребили + 10 ХП
				SetPlayerHealme(playerid, HP + 45);//Употребили + 10 ХП
				format(string,sizeof(string),"(( Здоровье Пополнено на: %d ед ))",PlayerInfo[playerid][pHP]);
				SendClientMessage(playerid,COLOR_REDD,string);
				ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);
				format(string,sizeof(string), "употребил(a) наркотики");
				SetPlayerChatBubble(playerid,string,Dima_Tushin,30.0,10000);
				SetPVarInt(playerid,"messagetime",gettime()+60);
			}
			else return SendClientMessage(playerid,COLOR_REDD,"Употре***ть наркотики можно раз в 60секунд");
		}
	case 4://Опий-сырец
		{
			if(GetPVarInt(playerid,"messagetime") < gettime())
			{
				if(PlayerInfo[playerid][pOpshiu] < 0) SendClientMessage(playerid,COLOR_REDD,"У вас нет наркотиков");
				GetPlayerHealth(playerid, HP);
				PlayerInfo[playerid][pOpshiu] -= 1;//Употребили -1 нарко
				PlayerInfo[playerid][pHP] += 70;//Употребили + 10 ХП
				SetPlayerHealme(playerid, HP + 70);//Употребили + 10 ХП
				format(string,sizeof(string),"(( Здоровье Пополнено на: %d ед ))",PlayerInfo[playerid][pHP]);
				SendClientMessage(playerid,COLOR_REDD,string);
				ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);
				format(string,sizeof(string), "употребил(a) наркотики");
				SetPlayerChatBubble(playerid,string,Dima_Tushin,30.0,10000);
				SetPVarInt(playerid,"messagetime",gettime()+60);
			}
			else return SendClientMessage(playerid,COLOR_REDD,"Употре***ть наркотики можно раз в 60секунд");
		}
	}
	return 1;
}[/SPOILER]
Удалите Старую Системку. Обновите! (Без Багов)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу