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

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

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

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

Создание бизнеса "Продажа домов"

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

Dima_Neo

Умник
Здравствуйте ув.юзеры Pawno-info.Сегодня я решил выложить урок по созданию бизнеса "Продажа Домов".
Итак начнем.
Для начала ко всем new добавим

PHP:
new prodhouse[MAX_PLAYERS];
new prodmoney[MAX_PLAYERS];
new prodid[MAX_PLAYERS];
Затем в public OnPlayerConnect(playerid) Добавим
PHP:
prodhouse[playerid] = -1; 
prodmoney[playerid] = -1;
prodid[playerid] = -1;
Затем в команды

PHP:
	if(strcmp(cmd, "/sellhouse", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
			GetPlayerName(playerid, playername, sizeof(playername));
			if(PlayerInfo[playerid][pPhousekey] == 555)
			{
				SendClientMessage(playerid, COLOR_WHITE, "Вам не пренадлежит дом.");
				return 1;
			}
			if(GetPlayerInterior(playerid) == 18 && GetPlayerVirtualWorld(playerid) == 84) // 
			{
			if(PlayerInfo[playerid][pMarried] > 0)
		    {
		        SendClientMessage(playerid, COLOR_GREY, "   Вы жената и поэтому не можете продать свой дом!");
		        return 1;
		    }
   			if(PlayerInfo[playerid][pPhousekey] != 555 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
			{
			    tmp = strtok(cmdtext,idx);
			    if(!strlen(tmp))
			    {
			        SendClientMessage(playerid,COLOR_GREY,"Используйте: /sellhouse [id] [сумма]");
			        return 1;
			    }
			    giveplayerid = strval(tmp);
			    tmp = strtok(cmdtext,idx);
			    if(!strlen(tmp))
			    {
			        SendClientMessage(playerid,COLOR_GREY,"Используйте: /sellhouse [id] [сумма]");
			        return 1;
			    }
			    new money = strval(tmp);
			    if(!IsPlayerConnected(giveplayerid))
			    {
			        SendClientMessage(playerid,COLOR_GREY,"Нет такого игрока");
			        return 1;
			    }
			    if(GetPlayerMoney(giveplayerid) < money)
			    {
			        SendClientMessage(playerid,COLOR_GREY,"У вас нету столько денег");
			        return 1;
			    }
			    if(PlayerInfo[giveplayerid][pPhousekey] != 555)
			    {
			        SendClientMessage(playerid,COLOR_GREY,"У этого игрока уже есть дом");
			        return 1;
			    }
			    GetPlayerName(playerid,sendername,sizeof(sendername));
			    GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
			    prodid[giveplayerid] = playerid;
				prodhouse[giveplayerid] = PlayerInfo[playerid][pPhousekey];
				prodmoney[giveplayerid] = money;
				format(string,sizeof(string),"Вы предложили купить дом %s за %d$",giveplayer,money);
				SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
				format(string,sizeof(string)," %s Предложил вам купить его дом %d$ (/accept house)",sendername,money);
				SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
				return 1;
			}
			else
			{
				SendClientMessage(playerid, COLOR_WHITE, "Вы бомж.");
			}
			}
			else
			{
				SendClientMessage(playerid, COLOR_RED, "** Вы не находитесь в бизнесе продажи домов"); 
			}
		}
		return 1;
	}
PHP:
	 if(strcmp(cmd, "/charityhouse", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
			GetPlayerName(playerid, playername, sizeof(playername));
			if(PlayerInfo[playerid][pPhousekey] == 555)
			{
				SendClientMessage(playerid, COLOR_RED, "** Вы не владелец дома.");
				return 1;
			}
			if(GetPlayerInterior(playerid) == 18 && GetPlayerVirtualWorld(playerid) == 84)
			{
			if(PlayerInfo[playerid][pMarried] > 0)
		    {
		        SendClientMessage(playerid, COLOR_RED, "** Вы женаты и не можете продать дом !");
		        return 1;
		    }
			if(PlayerInfo[playerid][pPhousekey] != 555 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
			{
				new house = PlayerInfo[playerid][pPhousekey];
				HouseInfo[house][hHel] = 0;
				HouseInfo[house][hArm] = 0;
				HouseInfo[house][hHealthx] = 0;
				HouseInfo[house][hHealthy] = 0;
				HouseInfo[house][hHealthz] = 0;
				HouseInfo[house][hArmourx] = 0;
				HouseInfo[house][hArmoury] = 0;
				HouseInfo[house][hArmourz] = 0;
				HouseInfo[house][hLock] = 1;
				HouseInfo[house][hOwned] = 0;
				HouseInfo[house][hVec] = 479;
				HouseInfo[house][hVcol1] = -1;
				HouseInfo[house][hVcol2] = -1;
				GetPlayerName(playerid, sendername, sizeof(sendername));
				strmid(HouseInfo[house][hOwner], "The State", 0, strlen("The State"), 555);
				ConsumingMoney[playerid] = 1;
				nMoney[playerid] += HouseInfo[house][hValue];
				GivePlayerMoney(playerid,HouseInfo[house][hValue]);
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				format(string, sizeof(string), "~w~Congratulations~n~ You have sold your property for ~n~~g~$%d", HouseInfo[house][hValue]);
				GameTextForPlayer(playerid, string, 10000, 3);
				PlayerInfo[playerid][pPhousekey] = 555;
				SBizzInfo[34][sbTill] += 30000;
				ExtortionSBiz(34, 30000);
				if(PlayerInfo[playerid][pLocal] == house)
				{
					SetPlayerInterior(playerid,0);
					SetPlayerPos(playerid,HouseInfo[house][hEntrancex],HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]);
					PlayerInfo[playerid][pInt] = 0;
				}
				OnPropUpdate();
				SavePlayer(playerid);
			//	OnPlayerUpdate(playerid);
				return 1;
			}
			else
			{
				SendClientMessage(playerid, COLOR_RED, "** Вы не владелец дома.");
			}
			}
			else
			{
				SendClientMessage(playerid, COLOR_RED, "*Вы не находитесь в бизнесе продажи домов* "); 
			}
		}
		return 1;
	}
Затем в команду /accept вписываем

PHP:
else if(strcmp(x_job,"house",true) == 0)
			{
			    new house = prodhouse[playerid];
			    new ididpl = prodid[playerid];
			    new moneyy = prodmoney[playerid];
				if(ididpl == -1)
				{
				    SendClientMessage(playerid,COLOR_GREY,"Вам никто не предлогал купить дом");
				    return 1;
				}
				if(!IsPlayerConnected(ididpl))
			    {
			        SendClientMessage(playerid,COLOR_GREY,"Вам никто не предлогал купить дом, или этот человек вышел");
			        return 1;
			    }
			    if(GetPlayerMoney(playerid) < moneyy)
			    {
			        SendClientMessage(playerid,COLOR_GREY,"У вас не хватает денег!");
			        return 1;
			    }
				GetPlayerName(playerid, sendername, sizeof(sendername));
				GetPlayerName(ididpl, giveplayer, sizeof(giveplayer));
				strmid(HouseInfo[house][hOwner], sendername, 0, strlen(sendername), 555);
				ConsumingMoney[ididpl] = 1;
				nMoney[ididpl] += moneyy;
				GivePlayerMoney(ididpl,moneyy);
				ConsumingMoney[playerid] = 1;
				nMoney[playerid] -= moneyy;
				GivePlayerMoney(playerid,-moneyy);
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				GameTextForPlayer(ididpl, string, 10000, 3);
				PlayerInfo[playerid][pPhousekey] = house;
				PlayerInfo[ididpl][pPhousekey] = 555;
				OnPropUpdate();
				SavePlayer(playerid);
				SavePlayer(ididpl);
				format(string,sizeof(string),"");
				SendClientMessage(playerid,COLOR_LIGHTBLUE," Дом успешно продан !");
				SendClientMessage(ididpl,COLOR_LIGHTBLUE," Вы успешно купили дом!");
				format(string,sizeof(string),"");
				SendClientMessage(ididpl,COLOR_LIGHTBLUE,string);
				prodhouse[playerid] = -1;
				prodid[playerid] = -1;
				prodmoney[playerid] = -1;
			}
Затем в команду /enter вставим
PHP:
else if(PlayerToPoint(3.0, playerid, 1726.9163, -1639.1139, 20.2236))
			{
			    if(GetPlayerInterior(playerid) == 18)
			    {
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
					SetPlayerPos(playerid, SBizzInfo[34][sbEntranceX], SBizzInfo[34][sbEntranceY], SBizzInfo[34][sbEntranceZ]);
					SetPlayerFacingAngle(playerid, 0);
					SetCameraBehindPlayer(playerid);
				}
			}
		}
		return 1;
	}
Затем вставим в public OnPlayerKeyStateChange(playerid, newkeys,oldkeys)
PHP:
else if(PlayerToPoint(3.0, playerid, 1726.9163, -1639.1139, 20.2236))
			{
			    if(GetPlayerInterior(playerid) == 18)
			    {
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
					SetPlayerPos(playerid, SBizzInfo[34][sbEntranceX], SBizzInfo[34][sbEntranceY], SBizzInfo[34][sbEntranceZ]);
					SetPlayerFacingAngle(playerid, 0);
					SetCameraBehindPlayer(playerid);
				}
			}
Теперь в файл sbizz.cfg вставим вот это
PHP:
0|The State|House Sell|No-one|1726.937988|-1636.936645|20.217300|1|1|1|240109|0|0|546|100|100
Спасибо за внимание. :df:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу