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

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

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

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

[C.M.D] Делаем рабочую команду /addhouse для RLS

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

Chuvashin

Ученик
Здравствуйте дорогие пользователи Pawno Info сегодня я хочу вам рассказать о том как правильно вшить в свой мод команду /addhouse
Для начала добавляем ко всем new

Код:
new AllHouse;
Далее в case вставляем

Код:
		case 3728:
		{
			if(response)
			{
				switch(listitem)
				{
					case 0:
					{
					    HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 4;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = -261.9759;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1456.8844;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1084.3672;
					}
					case 1:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 6;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 234.1571;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1064.9569;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1084.2104;
				    }
				    case 2:
				    {
					    HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 5;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 140.9131;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1367.9713;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1083.8621;
					}
					case 3:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 5;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 22.7783;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1404.9600;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1084.4297;
					}
					case 4:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 10;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 23.8334;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1340.4812;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] =1084.3750;
					}
					case 5:
					{
					    HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 4;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 261.0654;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1284.2991;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] =1080.2578;
					}
					case 6:
					{
					    HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 2;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 491.0190;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1399.0691;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] =1080.2578;
					}
					case 7:
					{
					    HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 2;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 225.9761;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= 1239.9126;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] =1082.1406;
					}
					case 8:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 10;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 2261.3103;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity]= -1136.4467;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] =1050.6328;
					}
					case 9:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 15;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 295.138977;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity] = 1474.469971;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1080.519897;
					}
					case 10:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 15;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 328.493988;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity] = 1480.589966;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1084.449951;
					}
					case 11:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 15;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 385.803986;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity] = 1471.769897;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1080.209961;
					}
					case 12:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 2;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 447.734985;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity] = 1400.439941;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1084.339966;
					}
					case 13:
					{
					    HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 5;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 227.722992;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity] = 1114.389893;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1081.189941;
					}
					case 14:
					{
						HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 15;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = -285.548981;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity] = 1470.979980;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1084.449951;
					}
					case 15:
					{
					        HouseInfo[GetPVarInt(playerid, "addhouse")][hInt] = 12;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitx] = 446.622986;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExity] = 509.318970;
						HouseInfo[GetPVarInt(playerid, "addhouse")][hExitz] = 1001.419983;
					}
				}
				SPD(playerid, 3729, DIALOG_STYLE_INPUT, "Создание дома","Введите цену для дома", "Ок", "Отмена");
				return true;
			}
			return true;
		}
		case 3729:
		{
			if(response)
			{
				new cena = strval(inputtext);
				HouseInfo[GetPVarInt(playerid, "addhouse")][hValue] = cena;
				SPD(playerid, 3730, 2, "Выберите класс дома", "Эконом\nЭконом (+)\nСредний\nЛюкс\nДе Люкс", "Принять", "Отмена");
				return true;
			}
			else return true;
		}
		case 3730:
		{
			if(response)
			{
				switch(listitem)
				{
					case 0: HouseInfo[GetPVarInt(playerid, "addhouse")][hKlass] = 0;
					case 1: HouseInfo[GetPVarInt(playerid, "addhouse")][hKlass] = 1;
					case 2: HouseInfo[GetPVarInt(playerid, "addhouse")][hKlass] = 2;
					case 3: HouseInfo[GetPVarInt(playerid, "addhouse")][hKlass] = 3;
				}
				DeletePVar(playerid, "addhouse");
			}
			return true;
		}
Далее в public OnPlayerCommandText вставляем

Код:
else if(strcmp(cmd, "/addhouse", true) == 0)
	{
		if(PlayerInfo[playerid][pAdmin] >= 6)
		{
		    AllHouse++;
			new Float:X,Float:Y,Float:Z;
			GetPlayerPos(playerid, X,Y,Z);
			createdvehicles[createdvehs] = CreateVehicle(411, X,Y,Z, 0.0, 0, 0, 60000);
			PutPlayerInVehicle(playerid, createdvehicles[createdvehs], 0);
			SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
			SpawnedCar ++;
			createdvehs ++ ;
			Fuell[createdvehs] = 300;
			zavodis[createdvehs] = true;
			UnLockCar(createdvehicles[createdvehs]);
			RepairVehicle(GetPlayerVehicleID(playerid));
			SetPVarInt(playerid, "addhouse", AllHouse);
			SendClientMessage(playerid, COLOR_GREY, "Поставьте машину в нужное место и введите /tpc");
		}
		return true;
	}
	else if(strcmp(cmd, "/tpc", true) == 0)
	{
		if(PlayerInfo[playerid][pAdmin] >= 6)
		{
			new Float:X,Float:Y,Float:Z,Float:Angle; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
			HouseInfo[GetPVarInt(playerid, "addhouse")][hCarx] = X;
			HouseInfo[GetPVarInt(playerid, "addhouse")][hCary]= Y;
			HouseInfo[GetPVarInt(playerid, "addhouse")][hCarz] = Z;
			HouseInfo[GetPVarInt(playerid, "addhouse")][hCarc] = Angle;
			SpawnedCar --;
			createdvehs --;
			DestroyVehicle(GetPlayerVehicleID(playerid));
			SendClientMessage(playerid, COLOR_GREY, "Координаты машины установлены!  Подойдите к дому и введите /tpd");
		}
		return true;
	}
	else if(strcmp(cmd, "/tpd", true) == 0)
	{
		if(PlayerInfo[playerid][pAdmin] >= 6)
		{
			new Float: lwx, Float:lwy, Float:lwz;
			GetPlayerPos(playerid, lwx, lwy, lwz);
			HouseInfo[GetPVarInt(playerid, "addhouse")][hEntrancex] = lwx;
			HouseInfo[GetPVarInt(playerid, "addhouse")][hEntrancey]= lwy;
			HouseInfo[GetPVarInt(playerid, "addhouse")][hEntrancez] = lwz;
			SPD(playerid, 3728, DIALOG_STYLE_LIST, "Интерьер", "Nope Коричневый (№1)\nМраморный\nДворец\nСредний №1\nЖёлтые стены\nУзкий\nФиолетовый\nСредний №2\nNope №2\nРозовый\nNope №3\nЗелёные стены\nСредний №3\nПозитивный\nЯркий HDR\nУэтный", "Ок", "Закрыть");
			BuyHouse();
		}
		return true;
	}
И теперь заменяем строку

Код:
if(PlayerToPoint(0.5, i, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
на эту

Код:
if(PlayerToPoint(0.2, i, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && GetPVarInt(i,"addhouse") == 0)
В конец добавить еще надо

Код:
stock savehouses()
{
    new File: file2;
    new idx;
if(floatstr(arrCoords[0]) != 0.000000)
            {
                HouseInfo[idx][hEntrancex] = floatstr(arrCoords[0]);
                HouseInfo[idx][hEntrancey] = floatstr(arrCoords[1]);
                HouseInfo[idx][hEntrancez] = floatstr(arrCoords[2]);
                HouseInfo[idx][hExitx] = floatstr(arrCoords[3]);
                HouseInfo[idx][hExity] = floatstr(arrCoords[4]);
                HouseInfo[idx][hExitz] = floatstr(arrCoords[5]);
                strmid(HouseInfo[idx][hOwner], arrCoords[6], 0, strlen(arrCoords[6]), 255);
                HouseInfo[idx][hValue] = strval(arrCoords[7]);
                HouseInfo[idx][hHel] = strval(arrCoords[8]);
                HouseInfo[idx][hInt] = strval(arrCoords[9]);
                HouseInfo[idx][hLock] = strval(arrCoords[10]);
                HouseInfo[idx][hOwned] = strval(arrCoords[11]);
                HouseInfo[idx][hTakings] = strval(arrCoords[12]);
                HouseInfo[idx][hVec] = strval(arrCoords[13]);
                HouseInfo[idx][hVcol1] = strval(arrCoords[14]);
                HouseInfo[idx][hVcol2] = strval(arrCoords[15]);
                HouseInfo[idx][hKlass] = strval(arrCoords[16]);
                HouseInfo[idx][hVehSost] = strval(arrCoords[17]);
                HouseInfo[idx][hCarx] = floatstr(arrCoords[18]);
                HouseInfo[idx][hCary] = floatstr(arrCoords[19]);
                HouseInfo[idx][hCarz] = floatstr(arrCoords[20]);
                HouseInfo[idx][hCarc] = floatstr(arrCoords[21]);
                HouseInfo[idx][hKeysafe] = strval(arrCoords[22]);
                HouseInfo[idx][hNarko] = strval(arrCoords[23]);
                HouseInfo[idx][hMoney] = strval(arrCoords[24]);
                AllHouse++;
            }
	while (idx < AllHouse)
	{
		new coordsstring[256];
		format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%f,%f,%f,%f,%d,%d,%d\n",
		HouseInfo[idx][hEntrancex],
		HouseInfo[idx][hEntrancey],
		HouseInfo[idx][hEntrancez],
		HouseInfo[idx][hExitx],
		HouseInfo[idx][hExity],
		HouseInfo[idx][hExitz],
		HouseInfo[idx][hOwner],
		HouseInfo[idx][hValue],
		HouseInfo[idx][hHel],
		HouseInfo[idx][hInt],
		HouseInfo[idx][hLock],
		HouseInfo[idx][hOwned],
		HouseInfo[idx][hTakings],
		HouseInfo[idx][hVec],
		HouseInfo[idx][hVcol1],
		HouseInfo[idx][hVcol2],
		HouseInfo[idx][hKlass],
		HouseInfo[idx][hVehSost],
		HouseInfo[idx][hCarx],
		HouseInfo[idx][hCary],
		HouseInfo[idx][hCarz],
		HouseInfo[idx][hCarc],
		HouseInfo[idx][hKeysafe],
		HouseInfo[idx][hNarko],
		HouseInfo[idx][hMoney]);
		if(idx == 0)
		{
			file2 = fopen("logs/houses.cfg", io_write);
		}
		else
		{
			file2 = fopen("logs/houses.cfg", io_append);
		}
		fwrite(file2, coordsstring);
		idx++;
		fclose(file2);
	}
}
Команда рабочая полностью сам испытал, успешно создал дом!
Кому помог ставьте "+" кнопочка спасибо под сообщением.

---------- Post added at 17:01 ---------- Previous post was at 15:27 ----------

Если у кого-то вылазиет ошибка например неизвестный символ "SPD", то замените SPD на ShowPlayerDialog
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу