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

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

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

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

команда /buy

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

Serega575757

Дебютант
Помогите сделать команду /buy в диалоговом окне
Вот сама команда:

HTML:
if(iscmd(cmd,"/buy") || iscmd(cmd,"/fbuy")){
		new /*price, level, */id = GetPlayerVirtualWorld(playerid), gid, f = 0;
		new string[256];
		if(iscmd(cmd,"/fbuy")) f = 1;
		if(pType[id]==prop_biz){
			tmp = strtok(cmdtext,idx);
			if(!strlen(tmp)){
				Message(playerid,"3десь вы можете купить (введите /buy [id товара]):  ",clYellow);
				for(new i=1; i<max_goods; i++) if(pGoods[id][i]){
				format(string, sizeof(string),"%i. %s ($%i)",i,gdsLabel[i],pGPrice[id][i]);
        ShowPlayerDialog(playerid,2012,DIALOG_STYLE_MSGBOX,"{E5DF23}покупка товаров",string,"закрыть","");
				}
				return 1;
			}
			if(pTrash[id]>99){
				Message(playerid,"Вы не можете ничего здесь купить, поскольку уже некуда складывать мусор",clDarkRed);
				return 1;
			}
			if(pWear[id]>99.5){
				Message(playerid,"Вы не можете ничего здесь купить, поскольку бизнес сильно поврежден",clDarkRed);
				return 1;
			}
			gid = strval(tmp);
			if(!pGoods[id][gid] || !gid){
				Message(playerid,"Такого товара здесь нет",clDarkRed);
				return 1;
			}
			if(gdsReq[gid]>pRaw[id]){
				Message(playerid,"К сожалению, запрошенного вами товара в наличии нет",clDarkRed);
				return 1;
			}
			new price = floatround(pGPrice[id][gid]);
			if(PlayerCash[playerid]<price){
				Message(playerid,"У вас недостаточно денег",clDarkRed);
				return 1;
			}
			switch(gdsType[gid]){
				case gds_clothes: SetPlayerModel(playerid,gdsExp[gid]);
				case gds_health: {
					if(f){
						if(PlayerGDSCount[playerid]+gdsReq[gid]>6){
							Message(playerid,"Вы не можете купить более 6кг еды",clDarkRed);
							return 1;
						}
						PlayerGDSCount[playerid] += gdsReq[gid];
					} else ChangePlayerHealth(playerid,gdsExp[gid]/*,gdsExp2[gid]*/);
				}
				case gds_weapon: {
					if(PlayerLevel[playerid]<3){
						Message(playerid,"Покупать оружие разрешается с 3 уровня",clDarkRed);
						return 1;
					}
					GivePlayerWeaponEx(playerid,gdsExp[gid],gdsExp2[gid]);
				}
				case gds_phone: {
					PlayerNumber[playerid] = rand(100000,900000)+random(100000);
					SavePlayer(playerid);
					format(msg,max_line,"Bы купили новый мобильный телефон, ваш номер теперь: %i (на счет зачислено $%i)",PlayerNumber[playerid],price/2);
					Message(playerid,msg,clYellow);
					PlayerAccount[playerid] += price/2;
					return 1;
				}
				case gds_alcahol: {
					ChangePlayerHealth(playerid,gdsExp[gid]/*,100.0*/);
					PlayerAlco[playerid] += gdsExp2[gid];
					GetPlayerFacingAngle(playerid,AlcoRot[playerid]);
					if(PlayerAlco[playerid]>4000) PlayerAlco[playerid] = 4000;
					ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,0,1,1,1,1);
				}
				case gds_tools: {
					if(PlayerTools[playerid]>gdsExp[gid]){
						Message(playerid,"У вас уже есть комплект инструментов более высокого уровня",clDarkRed);
						return 1;
						} else if(PlayerTools[playerid]==gdsExp[gid]){
						Message(playerid,"У вас уже есть точно такой же комплект инструментов",clDarkRed);
						return 1;
					}
					if(PlayerMuscle[playerid]<gdsExp[gid]*2){
						format(msg,max_line,"Bам необходимо иметь %i уровень силы, чтобы использовать этот набор",gdsExp[gid]*2);
						Message(playerid,msg,clDarkRed);
						return 1;
					}
					PlayerTools[playerid] = gdsExp[gid];
					if(gdsExp[gid]>3){
						format(msg,max_line,"%s купил %s набор инструментов",
						name,TSName[gdsExp[gid]]);
						FMessage(2,1,msg,clLightRed,3);
					}
				}
			}
			format(msg,max_line,"Bы купили %s за $%i",gdsLabel[gid],price);
			if(gdsType[gid]==gds_alcahol && gdsExp2[gid]) format(msg,max_line,
			"%s (+%s ê îïüÿíåíèþ)",msg,tformat(gdsExp2[gid]));
			Message(playerid,msg,clYellow);
			SavePlayer(playerid);
			GivePlayerCash(playerid,-price);
			AddWear(id,float(gdsReq[gid])/10.0);
			pRaw[id] -= gdsReq[gid];
			pTrash[id]++;
			pBank[id] += price;
			return 1;
		}
		return 1;
	}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу