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

Покупка наркотиков

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

Ravil_Scripter

Всем привет, так как я не нашёл нормальных систем покупки наркотиков я решил написать свою...

Может кому надо будет!

new narko_point;
#define drug_one_price 5000

enum p_info{
	money_cash,
	drugs
};
new player[MAX_PLAYERS][p_info];

/*
У меня будет player[playerid][drugs];
Поменяете на своё!
*/

public OnGameModeInit(){
    narko_point = CreatePickup(model, type, Float:X, Float:Y, Float:Z, virtualworld);
    return true;
}

public OnPlayerPickUpPickup(playerid, pickupid){
	if(pickupid == narko_point){
		SendClientMessage(playerid, 0xFFFFFFFF, "Введите нужное Вам количество наркотических веществ в поле ниже:");
	
		ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "{FFFFFF}Покупка наркотических веществ", "{FFFFFF}\
		Пожалуйста, введите нужное Вам количество наркотических веществ ( {FFFF95}1 ед. = 1 гр.{FFFFFF} )\n\
		Тариф: {FFFF50}1 гр. = "drug_one_price" руб.\n\n\
		{FFFFFF}Максимальное 100 гр.", "Далее", "Закрыть");
	}
	return true;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    if(dialogid == 0){
		if(!response) return true;
		if(strval(inputtext) * drug_one_price > player[playerid][money_cash]) return true;
		if(strval(inputtext) < 0 || strval(inputtext) > 100){
			ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "{FFFFFF}Покупка наркотических веществ", "{FFFFFF}\
			Пожалуйста, введите нужное Вам количество наркотических веществ ( {FFFF95}1 ед. = 1 гр.{FFFFFF} )\n\
			Тариф: {FFFF50}1 гр. = "drug_one_price" руб.\n\n\
			{FFFFFF}Максимальное 100 гр.", "Далее", "Закрыть");
			return true;
		}
		new str[500];
		format(str, sizeof(str), "{FFFFFF}Вы успешно преобрели %d гр. наркотических веществ за %d руб.", strval(inputtext), strval(inputtext) * drug_one_price);
		SendClientMessage(playerid, 0xFFFFFFFF, str);
		player[playerid][money_cash] - strval(inputtext) * drug_one_price;
		player[playerid][drugs] + strval(inputtext);
		ResetPlayerMoney(playerid);
		GivePlayerMoney(playerid, player[playerid][money_cash]);
    }
    return 0;
}

 

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


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

Почему бы не использовать switch(dialogid/pickupid) ?

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

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

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

×

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

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