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

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

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

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

Делаем подъезды и квартиры как на Samp RP

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

Deluxe

Компетентный
NB! Rezone RP v9.0 by Deluxe : Тыкай bro :3

Сразу предупреждаю, что остался лишь 1 баг с ними и как его решить не знаю, но думаю если сюда зайдут какие нибудь батьки, помогут и подскажут :3
Баг заключается в том, что если человек купит квартиру в подъезде номер 2 или 3, или вообще любой, кроме 1, спавниться будет в 1 подъезде.

И так, начнем.

Дэфайним наш диалог в будущем
PHP:
#define D_POD                   8999
И если у нас нет BYTES_PER_CELL, то тоже добавляем к дэфайнам
PHP:
#define BYTES_PER_CELL 			(cellbits / 8)
Ко всем new

PHP:
new global[MAX_PLAYERS];
new caridkvart[MAX_PLAYERS];
new podeezdi;
enum podInfo//Подъезды
{
Float:podPicX,
Float:podPicY,
Float:podPicZ,
	podEtazi,//Этажи)
	podMir[10],//Макс кол-о этажей (0, 1, 2, 3, 4 ... 10)
	podPic,
Float:carX,
Float:carY,
Float:carZ,
Float:carC,
	podIco
};
new PodeezdInfo[300][podInfo], Allpodeezd;//Если вы собираетесь добавить подъездов более чем 300 - увеличте цифру в скобках ;)
enum kInfo
{
Float:pXpic,
Float:pYpic,
Float:pZpic,
	vladelec[32],
Text3D: dtext,
	lock,
	world,
	aptek,
	plata
};
new kvartinfo[1000][kInfo],ALLKVARTIRI; //Если вы собираетесь добавить подъездов более чем 1000 - увеличте цифру в скобках ;)
Команды которые будут в создании подъездов и квартир.
Внимание ! 2 команды обычные, 2 команды ZMCD, поэтому если у вас мод не распознает ZCMD предпринимаем следующее :
В конец мода
PHP:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
	if(!success) OnPlayerCommandText(playerid,cmdtext);
	return true;
}
А в начало мода
PHP:
#include <zcmd> // естественно, что у нас должен быть этот инклуд в pawno/include
Если в моде у вас не используется sscanf, то он нужен будет здесь, поэтому так же пишем
PHP:
#include <sscanf2> // тоже в начало мода
Если у вас нету sscanf2.inc то можете скачать тут :

Если у вас нету zcmd.inc то можете скачать тут :

Пароль : Pawno-Info.Ru

Сами команды :
PHP:
CMD:podeezd(playerid, params[])
{
	if(PlayerInfo[playerid][pAdmin] >= 8)
	{
	    if(sscanf(params, "i", params[0]))return SendClientMessage(playerid, -1, "Введите: /podeezd [кол-во этажей]");
		new Float:X,Float:Y,Float:Z;
		if(global[playerid] == 0)
		{
		    if(params[0] > 9) return SendClientMessage(playerid, -1, "Можно только от 1 до 9 этажей");
		 	Allpodeezd ++;
			GetPlayerPos(playerid, X,Y,Z);
			new carid = CreateVehicle(560, X,Y,Z, 0.0, 230, 230, 60000);
			PutPlayerInVehicle(playerid, carid, 0), Fuell[carid] = 200;
			PodeezdInfo[Allpodeezd][podEtazi]    =   params[0];
			global[playerid] = 1;
			SendClientMessage(playerid, COLOR_WHITE, "Поставьте машину туда где будет парковка для подъезда и введите /podcrt");
			return true;
		}
	}
	return true;
}
CMD:kvartira(playerid, params[])
{
    ALLKVARTIRI ++;
	new Float:x, Float:y, Float:z;
 	GetPlayerPos(playerid, x, y, z);
	kvartinfo[ALLKVARTIRI][pXpic]		=	x;
 	kvartinfo[ALLKVARTIRI][pYpic]		=	y;
  	kvartinfo[ALLKVARTIRI][pZpic]		=	z;
  	strmid(kvartinfo[ALLKVARTIRI][vladelec], "None", 0, 5, 5);//Владелец
	kvartinfo[ALLKVARTIRI][lock]      	=   0;//Двери
	kvartinfo[ALLKVARTIRI][world]     	=   GetPlayerVirtualWorld(playerid);//Вирт. мир подъезда
	format(stringg, 200,"{0076FC}Комната #%d\nПродаётся: 100000 вирт\nЧтобы войти, нажмите кнопку 'ENTER'",ALLKVARTIRI);
	kvartinfo[ALLKVARTIRI][dtext]     	=	Create3DTextLabel(stringg,0x0076FCFF,x,y,z+1,3.0,GetPlayerVirtualWorld(playerid),1);
	savekvart();
	return true;
}
if(strcmp(cmd,"/podcrt", true)==0)
	{
		new Float:X,Float:Y,Float:Z,Float:Angle;
		if(PlayerInfo[playerid][pAdmin] >= 8)
		{
			if(global[playerid] == 1)
			{
				GetVehiclePos(GetPlayerVehicleID(playerid), X,Y,Z);
				GetPlayerFacingAngle(playerid,Angle);
				DestroyVehicle(GetPlayerVehicleID(playerid));
				PodeezdInfo[Allpodeezd][carX]		=	X;
				PodeezdInfo[Allpodeezd][carY]		=	Y;
				PodeezdInfo[Allpodeezd][carZ]       =   Z;
				PodeezdInfo[Allpodeezd][carC]       =   Angle;
				global[playerid] = 2;
				SendClientMessage(playerid,COLOR_WHITE,"Встаньте туда где будет вход в подъезд и введите /podcreate");
				return true;
			}
		}
	}
	if(strcmp(cmd,"/podcreate", true)==0)
	{
		new Float:X,Float:Y,Float:Z;
		if(PlayerInfo[playerid][pAdmin] >= 8)
		{
			if(global[playerid] == 2)
			{
				global[playerid] = 0;
				GetPlayerPos(playerid, X,Y,Z);
				PodeezdInfo[Allpodeezd][podPicX]		=	X;
				PodeezdInfo[Allpodeezd][podPicY]		=	Y;
				PodeezdInfo[Allpodeezd][podPicZ]		=	Z;
				PodeezdInfo[Allpodeezd][podPic]			=	CreatePickup(1318, 1, X, Y, Z);
				savepodeezd();
				return SendClientMessage(playerid, COLOR_WHITE, "Для правильной работы - перезагрузи сервер!");
			}
		}
	}
В OnPlayerPickupPickup

PHP:
if(pickupid == podeezdi)
	{
		new i = GetPVarInt(playerid, "podeezd");
		SetPlayerPos(playerid, PodeezdInfo[i][podPicX],PodeezdInfo[i][podPicY],PodeezdInfo[i][podPicZ]);
		SetPlayerInterior(playerid,0);
		SetPlayerVirtualWorld(playerid,0);
		DeletePVar(playerid, "podeezd");
		return true;
	}
for(new g = 1; g <= Allpodeezd; g++)
	{
		if(pickupid == PodeezdInfo[g][podPic])
		{
			SetPVarInt(playerid, "podeezd", g);
			new str[8], varv[100];
			strcat(varv,"Парковка\n");
			for(new f = 0; f < PodeezdInfo[g][podEtazi]; f++)
			{
				format(str, 10, "%d Этаж\n", f+1);
				strcat(varv,str);
			}
			return SPD(playerid, D_POD, 2, "Лифт", varv, "Перейти", "Отмена");
		}
	}
В OnGameModeInit

PHP:
podeezdi =  CreatePickup(1318, 1, 2238.9285,-1192.6212,1033.7969, -1);
LoadKvartir();// Загружаем квартиры в подъездах
LoadPodeezd();// Загружаем подъезды
Сами загрузки ( LoadKvartir, LoadPodeezd )

PHP:
stock LoadKvartir()
{
	new
	arrCoords[8][64],
	strFromFile2[500],
	textt[500],
File: file = fopen("logs/kvart.cfg", io_read);
	if(file)
	{
		for(new i = 1; i<= sizeof(kvartinfo); i++)
		{
			fread(file, strFromFile2);
			split(strFromFile2, arrCoords, ',');
			if(floatstr(arrCoords[0]) != 0.000000)
			{
				kvartinfo[i][pXpic]		=	floatstr(arrCoords[0]);//Вход
				kvartinfo[i][pYpic]		=	floatstr(arrCoords[1]);//Вход
				kvartinfo[i][pZpic]		=	floatstr(arrCoords[2]);//Вход
				strmid(kvartinfo[i][vladelec], arrCoords[3], 0, strlen(arrCoords[3]), 32);//Владелец
				kvartinfo[i][lock]      =   strval(arrCoords[4]);//Двери
				kvartinfo[i][world]     =   strval(arrCoords[5]);//Вирт. мир подъезда
				kvartinfo[i][aptek]     =   strval(arrCoords[6]);//Баланс
				kvartinfo[i][plata]     =   strval(arrCoords[7]);//Аптечки
				if(!strcmp(kvartinfo[i][vladelec],"None",true))format(textt, sizeof(textt),"{0076FC}Комната #%d\nПродаётся: 100000 вирт\nЧтобы войти, нажмите кнопку 'ENTER'",i);
				else format(textt, sizeof(textt),"{00FC43}Комната #%d\nВладелец: %s\nЧтобы войти, нажмите кнопку 'ENTER'",i, kvartinfo[i][vladelec]);
				kvartinfo[i][dtext]     =	Create3DTextLabel(textt,0x0076FCFF,kvartinfo[i][pXpic],kvartinfo[i][pYpic],kvartinfo[i][pZpic]+1,5.0,kvartinfo[i][world],1);
				Create3DTextLabel("Чтобы выйти используйте клавишу 'Enter'\nДля входа в меню квартиры 'ALT'",0x0076FCFF,2282.9211,-1140.2861,1050.8984,5.0,i,1);
				ALLKVARTIRI ++;
			}
		}
		fclose(file);
		printf("[ Загрузка ... ]  %d квартир успешно загружено!",ALLKVARTIRI);
	}
}
stock LoadPodeezd()
{
    new arrCoords[8][64];
	new strFromFile2[256];
	new File: file = fopen("logs/podeezdi.cfg", io_read);
	new Mir;
	if(file)
	{
		for(new i = 1; i <= sizeof(PodeezdInfo); i++)
		{
			fread(file, strFromFile2);
			split(strFromFile2, arrCoords, ',');
			if(floatstr(arrCoords[0]) != 0.000000)
			{
				PodeezdInfo[i][podPicX]		=	floatstr(arrCoords[0]);
				PodeezdInfo[i][podPicY]		=	floatstr(arrCoords[1]);
				PodeezdInfo[i][podPicZ]		=	floatstr(arrCoords[2]);
				PodeezdInfo[i][podEtazi]	=	strval(arrCoords[3]);
				PodeezdInfo[i][carX]		=	floatstr(arrCoords[4]);
				PodeezdInfo[i][carY]		=	floatstr(arrCoords[5]);
				PodeezdInfo[i][carZ]		=	floatstr(arrCoords[6]);
				PodeezdInfo[i][carC]		=	floatstr(arrCoords[7]);
				Allpodeezd ++;
				format(stringg, 123,"Многоквартирный дом\nНомер подъезда: %d",Allpodeezd);
				Create3DTextLabel(stringg,0x0076FCFF,PodeezdInfo[i][podPicX],PodeezdInfo[i][podPicY],PodeezdInfo[i][podPicZ]+1,5.0,0,1);
				PodeezdInfo[i][podPic]	=	CreatePickup(1318, 1, PodeezdInfo[i][podPicX], PodeezdInfo[i][podPicY], PodeezdInfo[i][podPicZ]);
				PodeezdInfo[i][podIco] = CreateDynamicMapIcon(PodeezdInfo[i][podPicX], PodeezdInfo[i][podPicY], PodeezdInfo[i][podPicZ], 57, COLOR_YELLOW, 0, -1, -1, 400.0);
				for(new b = 0; b <= PodeezdInfo[i][podEtazi]; b++)//Создаем вирт. миры для каждого этажа в подъезде
				{
					PodeezdInfo[i][podMir][b]   =   Mir, Mir ++;
				}
			}
		}
		fclose(file);
		printf("[ Загрузка ... ]  %d подъездов успешно загружены!",Allpodeezd);
	}
}
А еще создайте в аккаунте pKvartirakey , которая будет отвечать за номер комнаты человека

В SetPlayerSpawn

PHP:
if(PlayerInfo[playerid][pKvartirakey] != 0)
		{
			if(SpawnChange[playerid])
			{
				for(new g = 1; g <= Allpodeezd; g++)
				{
					SetPVarInt(playerid, "podeezd", g);
					SetPlayerPos(playerid,2283.3474,-1139.2313,1050.8984);
					SetPlayerInterior(playerid,11);
					SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pKvartirakey]);
					return true;
				}
			}
		}
А это сохранения квартир и подъездов :

PHP:
stock savepodeezd()
{
	new File: file2, idx = 1;
	while (idx <= Allpodeezd)
	{
		format(stringg, sizeof(stringg), "%f,%f,%f,%d,%f,%f,%f,%f\n",
		PodeezdInfo[idx][podPicX],
		PodeezdInfo[idx][podPicY],
		PodeezdInfo[idx][podPicZ],
		PodeezdInfo[idx][podEtazi],
		PodeezdInfo[idx][carX],
		PodeezdInfo[idx][carY],
		PodeezdInfo[idx][carZ],
		PodeezdInfo[idx][carC]);
		if(idx == 1) { file2 = fopen("logs/podeezdi.cfg", io_write); }
		else { file2 = fopen("logs/podeezdi.cfg", io_append); }
		fwrite(file2, stringg);
		idx++;
		fclose(file2);
	}
}
stock savekvart()
{
	new File: file2, idx = 1;
	while (idx <= ALLKVARTIRI)
	{
		format(stringg, sizeof(stringg), "%f,%f,%f,%s,%d,%d,%d,%d\n",
		kvartinfo[idx][pXpic],
		kvartinfo[idx][pYpic],
		kvartinfo[idx][pZpic],
		kvartinfo[idx][vladelec],
		kvartinfo[idx][lock],
		kvartinfo[idx][world],
		kvartinfo[idx][aptek],
		kvartinfo[idx][plata]);
		if(idx == 1) { file2 = fopen("logs/kvart.cfg", io_write); }
		else { file2 = fopen("logs/kvart.cfg", io_append); }
		fwrite(file2, stringg);
		idx++;
		fclose(file2);
	}
}
Обновление квартир :
PHP:
stock updatekvar(idx)
{
	if(!strcmp(kvartinfo[idx][vladelec],"None",true))format(stringg, 200,"{0076FC}Комната #%d\nПродаётся: 100000 вирт\nЧтобы войти, нажмите кнопку 'ENTER'",idx);
	else format(stringg, 200,"{00FC43}Комната #%d\nВладелец: %s\nЧтобы войти, нажмите кнопку 'ENTER'",idx, kvartinfo[idx][vladelec]);
	Update3DTextLabelText(kvartinfo[idx][dtext],0x0076FCFF,stringg);
}
В OnPlayerKeyStateChange

PHP:
else if(newkeys & 1024)//Alt
	{
		if(IsPlayerInRangeOfPoint(playerid, 5,2283.0381,-1137.9327,1050.8984))return SPD(playerid, 8003, 2, "Меню комнаты","Купить комнату\nПродать комнату\nКвартплата\nДверной замок\nАптечка\nИнформация","Ок","Отмена");
	}
	else if(newkeys & KEY_SECONDARY_ATTACK)//enter
	{
		for(new i = 1; i <= ALLKVARTIRI; i++)
		{
			if(IsPlayerInRangeOfPoint(playerid, 2, kvartinfo[i][pXpic],kvartinfo[i][pYpic],kvartinfo[i][pZpic]) && kvartinfo[i][world] == GetPlayerVirtualWorld(playerid))
			{
				if(kvartinfo[i][lock]   ==  1 && PlayerInfo[playerid][pKvartirakey] != i)return GameTextForPlayer(playerid, "~r~Closed", 5000, 6);
				SetPlayerPos(playerid,2283.3474,-1139.2313,1050.8984);
				SetPlayerInterior(playerid,11);
				SetPlayerVirtualWorld(playerid, i);
				return true;
			}
			else if(IsPlayerInRangeOfPoint(playerid, 3, 2283.3474,-1139.2313,1050.8984))
			{
				new x = GetPlayerVirtualWorld(playerid);
				SetPlayerPos(playerid,	kvartinfo[x][pXpic],kvartinfo[x][pYpic],kvartinfo[x][pZpic]);
				SetPlayerInterior(playerid,15);
				SetPlayerVirtualWorld(playerid, kvartinfo[x][world]);
				return true;
			}
		}
	}
В OnDialogResponse

PHP:
case 8003:
		{
			if(response)
			{
				new i = GetPlayerVirtualWorld(playerid);
				switch(listitem)
				{
				case 0: SPD(playerid, 8008, 0, "Подтверждение", "Вы точно хотите купить квартиру?\nПри продаже вам вернется 50% от стоимости.\nПри выселении вам ничего не вернется!", "Да", "Нет");
				case 1: SPD(playerid, 8009, 0, "Подтверждение", "Вы точно хотите продать квартиру?", "Да", "Нет");
				case 2: SPD(playerid, 8010, 2, "Квартплата", "Остаток\n - На час\n - На 5 часов\n - На сутки\n - На 3 суток\n - На неделю", "Перевести", "Отмена");
				case 3:
					{
						if(i != PlayerInfo[playerid][pKvartirakey])return SendClientMessage(playerid, 0xFFFF00AA, "Вы не владелец данной квартиры!");
						if(kvartinfo[i][lock] == 0) kvartinfo[i][lock] = 1, SendClientMessage(playerid, 0xFFFF00AA, "Дверь закрыта");
						else kvartinfo[i][lock] = 0, SendClientMessage(playerid, 0xFFFF00AA, "Дверь открыта");
					}
				case 4:
					{
						if(kvartinfo[i][aptek] == 0) return SendClientMessage(playerid, COLOR_GREY, "В квартире нет аптечек");
						else
						{
						    kvartinfo[i][aptek] -= 1;
							SetPlayerHealth(playerid, 100);
							SendClientMessage(playerid, 0xFFFF00AA, "Вы вылечены");
						}
					}
				case 5:
					{
						new lockkkk[8];
						if(kvartinfo[i][lock] == 1)lockkkk = "Закрыто";
						else lockkkk = "Открыто";
						format(stringg,200,"{ffffff}Аптек: %d штук\n{ffffff}Дверной замок: %s \n",kvartinfo[i][aptek], lockkkk);
						SPD(playerid,64,DIALOG_STYLE_MSGBOX,"Информация",stringg,"Ок","");
					}
				}
			}
		}
	case 8008:
		{
			if(!response) return true;
			new i = GetPlayerVirtualWorld(playerid);
			if(!strcmp(kvartinfo[i][vladelec],"None",true))
			{
				if(PlayerInfo[playerid][pKvartirakey] != 0)return SendClientMessage(playerid, 0x9ACD32AA, "У вас уже есть квартира!");
				if(PlayerInfo[playerid][pBank] < 100000) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько денег!");
                                new playername[MAX_PLAYER_NAME];
	                        GetPlayerName(playerid, playername, sizeof(playername));
				strmid(kvartinfo[i][vladelec], playername, 0, strlen(playername), 32);
				SendClientMessage(playerid, COLOR_WHITE, "Поздравляем с покупкой!");
				SendClientMessage(playerid, 0xFFFF00AA, "Внимание! Вас могут выселить если квартира не будет вовремя оплачена");
				SendClientMessage(playerid, 0xFFFF00AA, "Стоимость квартплаты: 200 вирт в час");
				PlayerInfo[playerid][pBank] -= 100000;
				PlayerInfo[playerid][pKvartirakey] = i;
				PlayerInfo[playerid][pFuelcar] = 100;
				if(PlayerInfo[playerid][pCar] == 0) { PlayerInfo[playerid][pCar] = 462; }
				updatekvar(i);
				savekvart();
				OnPlayerUpdateRL(playerid);
				return true;
			}
			else return SendClientMessage(playerid, 0xAA3333AA, "Эта квартира уже кем-то куплена");
		}
	case 8009:
		{
			if(!response) return true;
			new i = GetPlayerVirtualWorld(playerid);
			new x = PlayerInfo[playerid][pKvartirakey];
			if(x != i)return SendClientMessage(playerid, COLOR_GREY, "Вы не владелец этой квартиры!");
			strmid(kvartinfo[i][vladelec], "None", 0, strlen("None"), 5);
			PlayerInfo[playerid][pKvartirakey] = 0;
			kvartinfo[i][lock] = 0;
			PlayerInfo[playerid][pBank] += 50000;
			SendClientMessage(playerid, COLOR_WHITE, "Квартира продана");
			SetPlayerPos(playerid,kvartinfo[i][pXpic],kvartinfo[i][pYpic],kvartinfo[i][pZpic]);
			SetPlayerInterior(playerid,15);
			SetPlayerVirtualWorld(playerid, kvartinfo[i][world]);
			updatekvar(i);
			savekvart();
			OnPlayerUpdateRL(playerid);
			return true;
		}
	case 8010:
		{
			if(!response) return true;
			new i = GetPlayerVirtualWorld(playerid), dengi;
			if(PlayerInfo[playerid][pKvartirakey] != i)return SendClientMessage(playerid, 0xAA3333AA, "Ты не у себя в квартире");
			switch(listitem)
			{
			case 0:return SendMes(playerid, 0xFFFF00AA, "Оплачено на: %d вирт",kvartinfo[i][plata]);
			case 1:dengi = 200;
			case 2:dengi = 1000;
			case 3:dengi = 4800;
			case 4:dengi = 14400;
			case 5:dengi = 33600;
			}
			if(kvartinfo[i][plata]+dengi > 35000)return SendClientMessage(playerid,COLOR_WHITE,"Вы не можете заплатить больше чем на неделю!");
			if(PlayerInfo[playerid][pBank] < dengi)return SendClientMessage(playerid, 0xAA3333AA, "Не хватает денег");
			kvartinfo[i][plata] += dengi;
			PlayerInfo[playerid][pBank] -= dengi;
			SendMes(playerid, 0xFFFF00AA,"Вы перевели: %d вирт", dengi);
			return true;
		}
case D_POD:
		{
			if(!response) return true;
			if(listitem == 0)
			{
				if(PlayerInfo[playerid][pKvartirakey] != 0)
				{
					if(PlayerInfo[playerid][pCar] == 462)return SendClientMessage(playerid,COLOR_GRAD1,"У вас нету транспортного средства");
					new hh = GetPVarInt(playerid, "podeezd");
					DestroyVehicle(caridkvart[playerid]);
					caridkvart[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], PodeezdInfo[hh][carX], PodeezdInfo[hh][carY], PodeezdInfo[hh][carZ], PodeezdInfo[hh][carC], PlayerInfo[playerid][pCvet] , PlayerInfo[playerid][pCvet],5600);
					createdcar = caridkvart[playerid];
					Fuell[caridkvart[playerid]] = PlayerInfo[playerid][pFuelcar];
					createdcar ++;
					DeletePVar(playerid, "podeezd");
					PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
					GetPlayerName(playerid,playername,sizeof(playername));
					format(stringg,sizeof(stringg),"accounts/%s.ini",playername);
					RepairVehicle(caridkvart[playerid]);
					SetVehicleNumberPlate(caridkvart[playerid], PlayerInfo[playerid][pNumbercar]);
					AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pVozduho1]);
					AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pVozduho2]);
					AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pKolesocar]);
					AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pNitro]);
					AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pGidra]);
					if(PJ(caridhouse[playerid]))
					{
						ChangeVehiclePaintjob(caridkvart[playerid], PlayerInfo[playerid][pPokraska]);
						AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pSpoiler]);
						AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pBamper1]);
						AddVehicleComponent (caridkvart[playerid], PlayerInfo[playerid][pBamper2]);
					}
				}
				else return SendClientMessage(playerid, COLOR_RED, "У тебя нет квартиры");
			}
			else
			{
				new i = GetPVarInt(playerid, "podeezd");
				SetPlayerPos(playerid, 2240.9590, -1190.6875, 1033.7969);
				SetPlayerVirtualWorld(playerid,	PodeezdInfo[i][podMir][listitem-1]);
				SetPlayerInterior(playerid,15);
			}
			return true;
		}
И последнее в PayDay()

PHP:
new kvartira = PlayerInfo[i][pKvartirakey];
			if(PlayerInfo[i][pKvartirakey] != 0)
			{
				SendClientMessage(i, COLOR_WHITE, "- Плата за электричество квартиры: 200 Вирт");
				if(kvartinfo[kvartira][plata] <= 0)
				{
					kvartinfo[kvartira][aptek] = 0;
					kvartinfo[kvartira][lock] = 0;
					strmid(kvartinfo[kvartira][vladelec], "None", 0, strlen("None"), 10);
					SendClientMessage(i, COLOR_REDD, "Ваша квартира продана, за неуплату электроэнергии!");
					DestroyVehicle(caridkvart[i]);
					kvartinfo[kvartira][plata] = 0;
					PlayerInfo[i][pKvartirakey] = 0;
					savekvart();
					updatekvar(i);
				}
				kvartinfo[kvartira][plata] -= 200;
			}
Ну вот вроде и все, если что то забыл - пишите, потому что уже вечер, путаюсь :D

Не забудьте найти плагин sscanf'a и в plugins (server.cfg и в папку) подключить его, иначе мод может не запускаться.

Благотворительность:
WMR : R391888840984
WMU : U166502154283
WMZ : Z280785601888


Если кому-то надо, то вот :
Ссылки на файлы которые должны присутствовать в scriptfiles/logs



Пароль для скачек :
Pawno-Info.Ru


В них расставлено 12 подъездов и 390 квартир!
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу